2017-06-23 3 views
1

Je travaille sur un projet PNL et j'ai besoin des fonctionnalités suivantes illustrées par un exemple. Dites qu'il y a une phraseRecherche de relations entre les pronoms et les noms dans les phrases

Dites à Sam qu'il devra partir sans Arthur, car il est malade.

Dans cette déclaration, la première he doit être étiquetée à Sam et le second he à Arthur. Je travaille en Python. Des suggestions sur ce que je peux utiliser pour obtenir les fonctionnalités suivantes?

+0

Vous demandant d'ajouter du code que vous avez essayé. –

+0

Je n'ai pas encore écrit de code car je ne comprends pas exactement ce que je dois utiliser. J'ai regardé nltk-chunkers pour essayer de grouper les pronoms plus près des noms en utilisant l'expression régulière <*> qui correspondra à un nom suivi d'un pronom. Mais cela ne fonctionnera pas dans tous les cas. –

Répondre

2

Cette tâche est appelée résolution de coréférence. Afin d'analyser des cas complexes comme celui que vous mentionnez, vous devez utiliser un système de résolution de coréférence, dont la plupart (gratuit/OOS) sont développés en Java. Il y a plusieurs façons de les utiliser facilement depuis Python. L'un des plus connus est ce wrapper Standford CoreNLP: https://github.com/dasmith/stanford-corenlp-python