2017-09-08 6 views
1

J'ai une liste prédéfinie d'objets tels quetexte brut et Parsing objet l'extraction et la mentionne « et », « ou » relation entre eux étant donné un ensemble prédéfini d'objets

["pop", "pizza", "orange juice", "apple juice", "pasta", "taco", ...] 

Je me donne une première texte demandant ces objets tels que

Buy a pizza for me and a pasta for my friend. Also buy me a pop, an orange juice, or an apple juice. 

Je voudrais extraire les objets mentionnés dans le texte, ainsi que le « et », « ou » relation entre eux. Par exemple, pour l'exemple ci-dessus, je dois la sortie pour être quelque chose comme:

[["pizza"], ["pasta"], ["pop", "orange juice", "apple juice"]] 

montrant le texte demande pour la pizza, les pâtes, et au moins un objet à partir de (pop, jus d'orange, jus de pomme). c'est-à-dire que le texte est à la recherche (pizza ET pâtes ET (boisson gazeuse OU jus d'orange OU jus de pomme)). Il peut y avoir plusieurs variantes dans le texte brut. Je regardais les techniques d'analyse syntaxique et nlp, mais je n'ai rien trouvé d'utile. J'apprécie toute aide ou pointeur.

+0

Avez-vous pensé à utiliser l'arbre d'analyse [dependency]? – Daniel

+0

Oui, mais un arbre d'analyse ne détermine que les verbes, les noms, les expressions nominales, ... Comment puis-je passer d'un arbre d'analyse à la sortie dont j'ai besoin? Spécialement pour une phrase telle que "J'ai besoin d'au moins un de ceux-ci: pop, jus de pomme, jus d'orange". – Mehran

Répondre

1

J'utilisant une combinaison de verbe-SRL et d'autres annotations:

Voici les annotations de sortie pour vos phrases d'entrée: enter image description here

Comme vous pouvez le voir, les choses que vous voulez apparaissent souvent label "A1":

  • A1.thing nécessaire: au moins l'un de ces: pop, jus de pomme, jus d'orange
  • A1.thing acheté: une pizza
  • A1.thing acheté: pop, un jus d'orange ou un jus de pomme

Et il manque "pasta". Au sein de "A1" span, il est souvent facile de diviser en différents éléments, disons en séparant les virgules.

Notez que cela vous indique également qui le veut; par exemple: A0.neader: Je

vous pouvez jouer avec Btw la démo vous ici: http://deagol.cs.illinois.edu:8080/

Si vous voulez vous connecter « I » à « moi », etc, vous pouvez bien sûr utiliser co-référence .

+0

Merci pour la réponse et la démo que vous avez partagé. Comme j'ai une liste de toutes les choses que je recherche (par exemple, pizza, pop, ...), trouver ces choses dans le texte n'est pas un problème. Le problème est de savoir s'il existe une relation «ET» ou «OU» entre eux. Y a-t-il un moyen de trouver cette relation entre les éléments de l'arbre verbe-SRL? – Mehran