with spanish natural language python nlp nltk detection

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?

https://web.archive.org/web/20120202055535/http://code.google.com/p/nltk/source/browse/trunk/nltk_contrib/nltk_contrib/misc/langid.py


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''