NLTK et Détection de la langue
Comment puis-je détecter la langue dans laquelle 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 trouve pas ce paquet.
3 réponses
avez-vous trouvé le code suivant?
english_vocab = set(w.lower() for w in nltk.corpus.words.words())
text_vocab = set(w.lower() for w in text if w.lower().isalpha())
unusual = text_vocab.difference(english_vocab)
à partir de http://groups.google.com/group/nltk-users/browse_thread/thread/a5f52af2cbc4cfeb?pli=1&safe=active
ou le fichier de démonstration suivant?
cette bibliothèque n'est pas de NLTK non plus, mais aide certainement.
$ sudo pip install langdetect
prise en charge les versions de Python 2.6, 2.7, 3.x.
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> detect("Ein, zwei, drei, vier")
'de'
https://pypi.python.org/pypi/langdetect?
>>> detect("today is a good day")
'so'
>>> detect("today is a good day.")
'so'
>>> detect("la vita e bella!")
'it'
>>> detect("khoobi? khoshi?")
'so'
>>> detect("wow")
'pl'
>>> detect("what a day")
'en'
>>> detect("yay!")
'so'
bien que ce ne soit pas dans le NLTK, j'ai eu de bons résultats avec une autre bibliothèque basée sur Python :
https://github.com/saffsd/langid.py
C'est très simple d'importer et comprend un grand nombre de langues dans son modèle.