2010-09-23 28 views
2

Nous avons travaillé avec la bibliothèque NLTK dans un projet récent où nous sommes principalement intéressés par la partie entités nommées.Amélioration de la dénomination d'entité avec le fichier/code personnalisé en NLTK

En général, nous obtenons de bons résultats en utilisant la classe NEChunkParser. Cependant, nous essayons de trouver un moyen de fournir nos propres termes à l'analyseur , sans succès. Par exemple, nous avons un document de test où mon nom (Shay) apparaît dans plusieurs endroits. La bibliothèque me trouve comme GPE pendant que je voudrais qu'il me trouver comme PERSONNE ...

est-il un moyen de fournir une sorte d'un fichier personnalisé/ code de sorte que l'analyseur sera en mesure d'interpréter le nom entité que je veux ?

Merci!

+0

Hey Shay, avez-vous fait des progrès à ce sujet? J'aimerais voir ce que vous avez trouvé parce que je traverse un problème similaire. – user3314418

Répondre

3

La solution facile consiste à compiler une liste d'entités dont vous savez qu'elles sont mal classées, puis filtrer la sortie NEChunkParser dans un module de post-traitement et remplacer les balises de ces entités par les balises que vous voulez qu'elles aient.

La solution appropriée consiste à recycler le taggeur NE. Si vous regardez le source code pour NLTK, vous verrez que le NEChunkParser est basé sur un classificateur MaxEnt, c'est-à-dire un algorithme d'apprentissage automatique. Vous devrez compiler et annoter un corpus (ensemble de données) représentatif du type de données que vous voulez utiliser, puis recycler le tagueur NE sur ce corpus. (C'est difficile, long et potentiellement cher.)