python - natural - nltk spanish
NLTK y detección de lenguaje (3)
¿Cómo detecto en qué idioma está escrito un texto usando NLTK?
Los ejemplos que he visto usan nltk.detect
, pero cuando lo instalé en mi mac, no puedo encontrar este paquete.
¿Has encontrado el siguiente fragmento de código?
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)
de http://groups.google.com/group/nltk-users/browse_thread/thread/a5f52af2cbc4cfeb?pli=1&safe=active
¿O el siguiente archivo de demostración?
Aunque esto no está en el NLTK, he tenido excelentes resultados con otra biblioteca basada en Python:
https://github.com/saffsd/langid.py
Esto es muy sencillo de importar e incluye una gran cantidad de idiomas en su modelo.
Esta biblioteca tampoco es de NLTK pero ciertamente ayuda.
$ sudo pip install langdetect
Versiones compatibles 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?
PD: No esperes que esto funcione correctamente siempre:
>>> 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''