Si su principal preocupación es la cantidad de idiomas admitidos, entonces no debe usar NLTK ni construir nada desde cero para esto. La mayoría de las herramientas de análisis de sentimientos están centradas en el inglés, o potencialmente solo tienen un par de otros idiomas compatibles.
Las opciones que verá para admitir otros idiomas son:
- Agregue una capa de traducción sobre sus modelos
- Usar modelos basados en morfemas y léxicos
- Recopilar conjuntos de datos específicos del idioma
El primero no es ideal en gran medida porque el sentimiento es exactamente el tipo de información que se pierde en la traducción y, aunque la traducción es buena, todavía está lejos de ser perfecta.
- ¿Se aplica Occam's Razor en el aprendizaje automático?
- ¿Qué campos están siendo afectados por el progreso de la investigación en el procesamiento del lenguaje natural?
- ¿Qué papel jugará la ciencia de datos en las elecciones presidenciales de 2012?
- Cómo aplicar ConvNet en el análisis de sentimientos
- ¿Cuáles son las ideas principales detrás de los principales algoritmos de clasificación de búsqueda?
El segundo no es ideal en gran medida porque significa que está utilizando una tecnología de análisis de sentimientos muy antigua e inexacta. Hace que sea mucho más fácil mover cosas a través de los idiomas porque solo puede crear un nuevo diccionario, pero especialmente para el texto informal, esto funciona muy mal.
El tercer enfoque no es ideal porque es extremadamente laborioso. Recopilar un conjunto de datos para cada idioma (que es lo que tendría que hacer para construirlos desde cero) es extremadamente laborioso.
Basis Tech es generalmente bastante bueno para soporte y búsqueda de idiomas grandes, pero sus ofertas de análisis de sentimientos aún son muy inmaduras y actualmente solo admiten tres idiomas. Están utilizando el método # 2 para la mayoría de sus técnicos.
IBM Watson es obviamente el gigante en el espacio, y tienen soporte para ocho idiomas. No está claro qué métodos están usando. AlchemyAPI normalmente dependería del n. ° 3, pero nunca se expandieron tanto, e IBM Watson generalmente es un fanático del enfoque n. ° 2 para sus otros modelos.
indico.io es la solución con la que estoy más familiarizado y de todas las soluciones que he visto, actualmente tenemos el soporte de idiomas más amplio. Como beneficio, puedo asegurarle que utilizamos el enfoque n. ° 3 (identifiqué y reuní los conjuntos de datos yo mismo). Nuestra lista actual de idiomas es árabe, mandarín, holandés, inglés, francés, alemán, italiano, japonés, coreano, portugués, ruso y español. También hemos mantenido el estado del arte en análisis de sentimientos en el corpus de IMDB desde 2015 (Indico establece un nuevo récord para el análisis de sentimientos, anuncia una nueva asociación)
Obviamente soy parcial, pero por lo que puedo decir, Indico es tu mejor opción.