python nltk extraction de mot-clé de la phrase
"La première chose que nous faisons, nous allons tuer tous les avocats." - William Shakespeare
Compte tenu de la citation ci-dessus, je voudrais sortir "kill"
et "lawyers"
que les deux éminents mots-clés pour décrire le sens global de la phrase. J'ai extrait les suivantes nom/verbe POS tags:
[["First", "NNP"], ["thing", "NN"], ["do", "VBP"], ["lets", "NNS"], ["kill", "VB"], ["lawyers", "NNS"]]
Le problème plus général j'essaye de résoudre est de distiller une phrase "la plus importante"* les mots/les balises de résumer l'ensemble de la "signification"* d'une phrase.
*notez les guillemets. Je reconnais que ce n'est un problème très difficile et il n'y a probablement pas de solution parfaite à ce point dans le temps. Néanmoins, je suis intéressé pour voir, pour essayer de résoudre le problème spécifique de l'extraction de "kill"
et "lawyers"
) et le problème général (résumant le sens global d'une phrase en mots-clés/tags)
non, je suis de filtrage sur ces POS tags:'NN','NSS','NNP','NNPS','JJ','VB','VBP','VBG', 'VBD'
OriginalL'auteur waigani | 2012-07-10
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que theres aucune réponse parfaite à cette question, car il n'y a pas d'or-jeu de l'entrée/sortie des mappages de laquelle tout le monde sera d'accord. Vous pensez que les mots les plus importants pour que la sentence ("tuer", "avocats"), quelqu'un d'autre pourrait argumenter la réponse correcte doit être ("first", "tuer", "avocats"). Si vous êtes en mesure de très précisément et complètement clairement décrire exactement ce que vous voulez de votre système, votre problème sera plus qu'à moitié résolu.
Jusqu'alors, je peux vous suggérer quelques autres heuristiques pour vous aider à obtenir ce que vous voulez.
Construire un idf dictionnaire à l'aide de vos données, c'est à dire construire une cartographie de chaque mot pour un certain nombre qui est en corrélation avec la rareté de ce mot. Les points de Bonus pour le faire pour les grandes n-grammes.
Par la combinaison de l'idf valeurs de chaque mot dans votre entrée phrase avec les bons tags, vous répondez aux questions de la forme " Ce qui est le plus rare verbe dans cette phrase?', "Ce qui est le plus rare substantif dans cette phrase", etc. Dans la mesure du raisonnable corpus, "tuer" doit être plus rare que le "faire", et des "avocats", plus rare que la "chose", alors peut-être en essayant de trouver le plus rare des noms et des plus rares verbe dans une phrase et de retour juste ces deux fera l'affaire pour la plupart de votre cas d'utilisation. Si pas, vous pouvez toujours faire votre algorithme un peu plus compliqué et voir si cela semble faire le travail mieux.
Les moyens d'élargir ce, notamment, de tenter d'identifier les grandes phrases à l'aide de n-gramme de tsahal, l'élaboration d'un analyser-arbre de la phrase (en utilisant peut-être la stanford parser) et à l'identification de quelques modèles au sein de ces arbres afin de vous aider à comprendre quelles parties de l'arbre faire des choses importantes ont tendance à être basé, etc.
OriginalL'auteur Aditya Mukherji
Une approche simple serait de garder arrêter de mot listes pour NN, VB, etc. Celles-ci seraient à haute fréquence de mots qui, généralement, ne pas ajouter beaucoup de contenu sémantique d'une phrase.
L'extrait de code ci-dessous montre des listes distinctes pour chaque type de mot jeton, mais vous pourriez tout aussi bien employer un seul arrêt de la liste de mots pour les noms et les verbes (comme cette).
OriginalL'auteur ChrisGuest
dans votre cas, vous pouvez simplement utiliser Râteau (merci à Fabian) pour python pour obtenir ce dont vous avez besoin:
le chemin d'accès peut être par exemple cette fichier.
mais en général, il vaut mieux utiliser NLTK forfait pour la PNL usages
OriginalL'auteur Mehdi Khademloo