Mot sens de désambiguïsation dans NLTK Python
Je suis nouveau sur NLTK Python et je suis à la recherche de quelques exemples d'application qui peut faire de mot sens de désambiguïsation. J'ai obtenu un grand nombre d'algorithmes dans les résultats de recherche, mais pas un exemple d'application. Je veux juste passer une phrase et vous souhaitez connaître le sens de chaque mot en se référant à wordnet bibliothèque.
Grâce
J'ai trouvé un module semblable en PERL. http://marimba.d.umn.edu/allwords/allwords.html
Est-il un tel module est présent dans NLTK Python?
- voici un python de mise en œuvre: github.com/alvations/pywsd
Vous devez vous connecter pour publier un commentaire.
Récemment, une partie de la
pywsd
code a été porté dans le saignement de la pointe de la version deNLTK
" dans lewsd.py
module, essayez:Pour mieux WSD les performances, utilisez le
pywsd
de la bibliothèque au lieu de laNLTK
module. En général,simple_lesk()
depywsd
fait mieux quelesk
deNLTK
. Je vais essayer de mettre à jour leNLTK
module comme beaucoup que possible quand je suis libre.En répond à Chris Spencer commentaire, veuillez noter les limites de Lesk algorithmes. Je suis tout simplement en donnant un précis de la mise en œuvre des algorithmes. Ce n'est pas une solution miracle, http://en.wikipedia.org/wiki/Lesk_algorithm
Aussi s'il vous plaît noter que, bien qu':
ne pas vous donner la bonne réponse, vous pouvez utiliser
pywsd
mise en œuvre demax_similarity()
:@Chris, si tu veux un python setup.py , il suffit de faire une demande polie, je vais l'écrire...
lesk("My cat likes to eat mice.", "cat", "n")
=>Synset('computerized_tomography.n.01')
. Et pywsd ne dispose même pas d'un script d'installation...simple_lesk()
ouadapted_lesk
? L'original de lesk est connu pour avoir des problèmes, d'où l'autre des solutions qui sont disponibles dans le package. en.wikipedia.org/wiki/Lesk_algorithm. Aussi, je suis le maintien pendant mon temps libre, et ce n'est pas ce que je fais pour vivre...Reportez-vous http://jaganadhg.freeflux.net/blog/archive/2010/10/16/wordnet-sense-similarity-with-nltk-some-basics.html
Oui, en fait, il n'y a un livre que le NLTK équipe a écrit plusieurs chapitres sur la classification et ils couvrir explicitement comment utiliser WordNet. Vous pouvez également acheter une version physique de l'ouvrage à partir de Safari.
FYI: NLTK est écrit en langage naturel de la programmation des universitaires pour une utilisation dans leur introduction la programmation des cours.
Comme une réponse pratique à la demande du commettant, voici un python de mise en œuvre de plusieurs WSD méthodes qui retourne les sens en forme de NLTK du synset(s), https://github.com/alvations/pywsd
Il comprend
Il peut être utilisé en tant que tel:
[out]:
NLTK a des api pour accéder à Wordnet. Wordnet lieux des mots comme des synsets. Ce serait vous donner quelques informations sur la parole, son hypernyms, hyponyms, racine du mot etc.
"Python Traitement de Texte avec NLTK 2.0 Cookbook" est un bon livre pour vous aider à démarrer sur les différentes fonctionnalités de NLTK. Il est facile à lire, à comprendre et à mettre en œuvre.
Aussi, vous pouvez regarder d'autres documents(en dehors du domaine de NLTK), qui parle de l'aide de wikipédia pour le mot sens de désambiguïsation.
Oui c'est possible avec l'wordnet module dans NLTK.
Les mesures de similarité utilisée dans l'outil mentionné dans ton post existe dans NLTK wordnet module de trop.