Да,
это возможно,
мы можем генерировать регулярные выражения из примеров (текст -> желаемые извлечения).
Это рабочий онлайн-инструмент, который выполняет свою работу: http://regex.inginf.units.it/
Regex Generator ++ онлайн инструмент генерирует регулярное выражение из предоставленных примеров, используя алгоритм поиска GP.
Алгоритм GP основан на мультиобъективной пригодности, которая приводит к более высокой производительности и более простой структуре решения (Razor Оккама).
Этот инструмент является демонстрационным приложением Лаборатории машинного обучения, Университет Триеста (Università degli studi di Trieste).
Пожалуйста, посмотрите видеоурок здесь .
Это исследовательский проект, поэтому вы можете прочитать об используемых алгоритмах здесь .
Вот! : -)
Нахождение значимого регулярного выражения / решения из примеров возможно тогда и только тогда, когда предоставленные примеры хорошо описывают проблему.
Рассмотрим эти примеры, которые описывают задачу извлечения, мы ищем конкретные коды предметов; примеры пар текста / извлечения:
"The product code il 467-345A" -> "467-345A"
"The item 789-345B is broken" -> "789-345B"
Парень (человек), глядя на примеры, может сказать: «Коды элементов - это что-то вроде \ d ++ - 345 [AB]»
Когда код товара более разрешительный, но мы не предоставили других примеров, у нас нет доказательств, чтобы хорошо понять проблему.
При применении созданного человеком решения \ d ++ - 345 [AB] к следующему тексту происходит сбой:
"On the back of the item there is a code: 966-347Z"
Вы должны предоставить другие примеры, чтобы лучше описать, что соответствует, а что нет:
--i.e:
"My phone is +39-128-3905 , and the phone product id is 966-347Z" -> "966-347Z"
Номер телефона не является идентификатором продукта, это может быть важным доказательством.