Oui, c'est possible, nous pouvons générer des expressions rationnelles à partir d'exemples (texte -> extractions souhaitées). Ceci est un outil en ligne fonctionnel qui fait le travail: http://regex.inginf.units.it/
L'outil en ligne Regex Generator ++ génère une expression régulière à partir d'exemples fournis à l'aide d'un algorithme de recherche GP. L'algorithme GP est piloté par une forme multi-objectifs qui conduit à des performances plus élevées et à une structure de solution plus simple (Rasoir d'Occam). Cet outil est une application de démonstration du Machine Lerning Lab, Université de Trieste (Università degli studi di Trieste). Veuillez regarder le didacticiel vidéo ici .
Ceci est un projet de recherche afin que vous puissiez en savoir plus sur les algorithmes utilisés ici .
Voir! :-)
Trouver une expression régulière / une solution significative à partir d'exemples est possible si et seulement si les exemples fournis décrivent bien le problème. Considérez ces exemples qui décrivent une tâche d'extraction, nous recherchons des codes d'article particuliers; les exemples sont des paires texte / extraction:
"The product code is 467-345A" -> "467-345A"
"The item 789-345B is broken" -> "789-345B"
Un gars (humain), en regardant les exemples, peut dire: "les codes d'article sont des choses comme \ d ++ - 345 [AB]"
Lorsque le code article est plus permissif mais que nous n'avons pas fourni d'autres exemples, nous n'avons pas de preuves pour bien comprendre le problème. Lors de l'application de la solution générée par l'homme \ d ++ - 345 [AB] au texte suivant, elle échoue:
"On the back of the item there is a code: 966-347Z"
Vous devez fournir d'autres exemples, afin de mieux décrire ce qu'est une correspondance et ce qui n'est pas une correspondance souhaitée: --ie:
"My phone is +39-128-3905 , and the phone product id is 966-347Z" -> "966-347Z"
Le numéro de téléphone n'est pas un identifiant de produit, cela peut être une preuve importante.