¿Cómo puedo detectar en qué idioma está escrito un texto utilizando NLTK?NLTK y detección de idioma
Los ejemplos que he visto usan nltk.detect
, pero cuando lo he instalado en mi mac, no puedo encontrar este paquete.
¿Cómo puedo detectar en qué idioma está escrito un texto utilizando NLTK?NLTK y detección de idioma
Los ejemplos que he visto usan nltk.detect
, pero cuando lo he instalado 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 la NLTK, he tenido grandes resultados con otra biblioteca basado en Python:
https://github.com/saffsd/langid.py
Esto es muy simple para importar e incluye un gran número de idiomas en su modelo.
Esta biblioteca no es de NLTK tampoco, pero sin duda ayuda.
$ sudo PIP instalar langdetect
versiones soportadas 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?
P.S .: No hay que esperar 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'
Gracias por señalar que no siempre funciona. 'detectar (" ¡Lo hiciste en casa! ")' me está dando "fr". Me pregunto si hay algo mejor. –
Aquí hay otra observación divertida: no parece dar la misma respuesta cada vez. '>>> detect_langs (" Hola, soy christiane amanpour. ") [it: 0.8571401485770536, es: 0.14285811674731527] >>> detect_langs (" Hola, soy christiane amanpour. ") [it: 0.8571403121803622, fr: 0.14285888197332486] >>> detect_langs ("Hola, soy christiane amanpour.") [it: 0.999995562246093] ' –
PS, todavía se basó en nltk.detect, sin embargo. ¿Alguna idea sobre cómo instalar eso en una Mac? – niklassaers
No creo que la detección sea un módulo nativo para nltk. Aquí está el código: http://docs.huihoo.com/nltk/0.9.5/api/nltk.detect-pysrc.html Probablemente pueda descargarlo y ponerlo en su biblioteca de Python, que puede estar en : /Library/Python/2.x/site-packages/nltk ... –
Mira esto ... http://blog.alejandronolla.com/2013/05/15/detecting-text-language-with-python -and-nltk/ –