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.