Так, можливо, ми можемо генерувати регулярні вирази з прикладів (текст -> бажані витяги). Це діючий онлайн-інструмент, який виконує цю роботу: http://regex.inginf.units.it/
Інтернет-інструмент Regex Generator ++ генерує регулярний вираз із наведених прикладів за допомогою алгоритму пошуку GP. Алгоритм GP керується багатооб'єктивною придатністю, що призводить до вищої продуктивності та спрощення структури рішень (Razor Occam). Цей інструмент є демонстративним додатком лабораторії Machine Lerning, Трієстський університет (Університет університету в Трієсті). Будь ласка, перегляньте відеоурок тут .
Це дослідницький проект, тому ви можете прочитати про використовувані алгоритми тут .
Ось! :-)
Пошук значущого регулярного виразу / рішення на прикладах можливий тоді і лише тоді, коли надані приклади добре описують проблему. Розглянемо ці приклади, що описують завдання видобутку, ми шукаємо конкретні коди предметів; прикладами є пари текст / витяг:
"The product code is 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"
Ви повинні надати інші приклади, щоб краще описати, що таке збіг, а що не бажаний збіг: --ie:
"My phone is +39-128-3905 , and the phone product id is 966-347Z" -> "966-347Z"
Номер телефону не є ідентифікатором товару, це може бути важливим доказом.