NLTK et de détection de la langue
Comment puis-je détecter la langue d'un texte est écrit en utilisant NLTK?
Les exemples que j'ai vu utiliser nltk.detect
, mais quand je l'ai installé sur mon mac, je ne peux pas trouver ce paquet.
- Le
langid
etlangdetect
bibliothèques de l'affaire et sont super facile à utiliser: github.com/hb20007/hands-on-nltk-tutorial/blob/master/... langdetect
n'est pas très fiable (p. ex. vérifier github.com/Mimino666/langdetect/issues/51 par exemple) etlangid
étouffé sur un test de la chaîne Japonaise quand je l'ai testé. YMMV. En 2019, si vous n'êtes pas lié à NLTK, je vous recommande de prendre un coup d'oeil àcld2
,cld3
oufastText
à la place.
Vous devez vous connecter pour publier un commentaire.
Avez-vous trouver l'extrait de code suivant?
de http://groups.google.com/group/nltk-users/browse_thread/thread/a5f52af2cbc4cfeb?pli=1&safe=active
Ou la démonstration suivante fichier?
https://web.archive.org/web/20120202055535/http://code.google.com/p/nltk/source/browse/trunk/nltk_contrib/nltk_contrib/misc/langid.py
Cette bibliothèque n'est pas de NLTK soit, mais y contribue certainement.
Pris en charge les versions de Python 2.6, 2.7, 3.x.
https://pypi.python.org/pypi/langdetect?
P. S.: Ne vous attendez pas que cela fonctionne correctement, toujours:
detect("You made it home!")
est de me donner "fr". Je me demandais si il n'y a rien de mieux.>>> detect_langs("Hello, I'm christiane amanpour.") [it:0.8571401485770536, en:0.14285811674731527] >>> detect_langs("Hello, I'm christiane amanpour.") [it:0.8571403121803622, fr:0.14285888197332486] >>> detect_langs("Hello, I'm christiane amanpour.") [it:0.999995562246093]
import DetectorFactory DetectorFactory.seed = 0
Bien que ce n'est pas dans le NLTK, j'ai eu d'excellents résultats avec un autre basé sur Python library :
https://github.com/saffsd/langid.py
C'est très simple à l'importation et comprend un grand nombre de langues dans son modèle.