2012-09-06 21 views
13

por primera vez lo siento por mi Inglés no tan perfecto ... Soy de Alemania;)Lista de herramientas de procesamiento del lenguaje natural en cuanto a Sentiment Analysis - ¿Cuál te recomiendas

Así, para un proyecto de investigación de la mina (Tesis de licenciatura) Necesito analizar el sentimiento de los tweets sobre ciertas compañías y marcas. Para este fin, tendré que crear un script de mi propio programa/usar algún tipo de código fuente abierto modificado (sin API '- Necesito entender qué está pasando).

A continuación encontrará una lista de algunas de las aplicaciones NLP que encontré. Mi pregunta ahora es ¿cuál y qué enfoque recomendaría? ¿Y cuál no requiere largas noches ajustando el código?

Por ejemplo: Cuando selecciono Twitter para el reproductor de música> iPod < y alguien escribe: "Es un día terrible pero al menos mi iPod me hace feliz" o incluso más difícil: "Es un día terrible pero al menos mi iPod lo compensa "

¿Qué software es lo suficientemente inteligente como para entender que el enfoque está en el iPod y no en el clima?

¿Qué software es escalable/eficiente en recursos (quiero analizar varios tweets y no quiero gastar miles de dólares)?

aprendizaje automático y minería de datos

Weka - es una colección de algoritmos de aprendizaje automático para la minería de datos. Es uno de los marcos de clasificación de texto más populares. Contiene implementaciones de una amplia variedad de algoritmos que incluyen Naive Bayes y Support Vector Machines (SVM, enumerados bajo SMO) [Nota: Otras implementaciones de SVM que no son Java de uso común son SVM-Light, LibSVM y SVMTorch]. Un proyecto relacionado es Kea (Keyphrase Extraction Algorithm) un algoritmo para extraer frases clave de documentos de texto.

Apache Lucene Mahout - Un proyecto de incubadora para crear implementaciones distribuidas altamente escalables de algoritmos comunes de aprendizaje automático en la parte superior del marco Hadoop map-reduce.

Herramientas de PNL

LingPipe - (técnicamente no 'de código abierto, ver más abajo) de Alias-I LingPipe es un conjunto de herramientas Java para el procesamiento lingüístico del texto, incluyendo la extracción de entidades, el discurso de marcado (POS), clustering, clasificación, etc. Es uno de los kits de herramientas de código abierto NLP más maduros y ampliamente utilizados en la industria. Es conocido por su velocidad, estabilidad y escalabilidad. Una de sus mejores características es la extensa colección de tutoriales bien escritos para ayudarlo a comenzar. Tienen una lista de enlaces a la competencia, tanto herramientas académicas como industriales. Asegúrate de revisar su blog. LingPipe se lanza bajo una licencia comercial libre de regalías que incluye el código fuente, pero técnicamente no es de código abierto.

OpenNLP - alberga una variedad de herramientas de PLN basada en Java que realizan detección frase, tokenización, etiquetado gramatical, fragmentación y análisis, detección-entidad llamada, y el análisis de co-referencia utilizando el aprendizaje de máquina Maxent paquete.

Stanford Parser y Part of Speech (POS) Tagger - Paquetes Java para el análisis sintáctico y parte del etiquetado de voz del grupo Stanford NLP.Tiene implementaciones de analizadores probabilísticos de lenguaje natural, PCFG altamente optimizados y analizadores de dependencia lexicalizados, y un analizador de PCFG lexicalizado. Tiene una licencia completa de GNU GPL.

OpenFST - Un paquete para manipular el autómata de estado finito ponderado. A menudo se usan para representar un modelo probabilístico. Se utilizan para modelar texto para reconocimiento de voz, corrección de errores de OCR, traducción automática y una variedad de otras tareas. La biblioteca fue desarrollada por colaboradores de Google Research y NYU. Es una biblioteca C++ que pretende ser rápida y escalable.

NTLK - El kit de herramientas de lenguaje natural es una herramienta para la enseñanza y la investigación de la clasificación, agrupación, el etiquetado del habla y el análisis, y mucho más. Contiene un conjunto de tutoriales y conjuntos de datos para la experimentación. Está escrito por Steven Bird, de la Universidad de Melbourne.

Opinion Finder - Un sistema que realiza análisis de subjetividad, identifica automáticamente cuando las opiniones, sentimientos, especulaciones y otros estados privados están presentes en el texto. Específicamente, OpinionFinder busca identificar oraciones subjetivas y marcar varios aspectos de la subjetividad en estas oraciones, incluida la fuente (titular) de la subjetividad y las palabras que se incluyen en frases que expresan sentimientos positivos o negativos.

Tawlk/osae - Una biblioteca de Python para la clasificación del sentimiento en el texto social. El objetivo final es tener una biblioteca simple que "simplemente funcione". Debe tener una barrera de entrada fácil y estar completamente documentado. Hemos acheived mejor precisión usando palabras vacías de filtrado con los tweets recogidos en negwords.txt y poswords.txt

GATE - GATE es más de 15 años de edad y está en uso para todo tipo de tarea computacional que incluyan el lenguaje humano. GATE sobresale en el análisis de texto de todas las formas y tamaños. Desde grandes corporaciones hasta pequeñas startups, desde € millones de consorcios de investigación hasta proyectos de pregrado, nuestra comunidad de usuarios es el sistema más grande y más diverso de este tipo, y está distribuido en todos menos uno de los continentes1.

textir - Un conjunto de herramientas para minería de texto y opinión. Esto incluye la función 'mnlm', para la regresión logística multinomial dispersa, 'pls', una rutina concisa de mínimos cuadrados parciales y la función 'topics' para una estimación eficiente y selección de dimensiones en modelos de temas latentes.

NLP Toolsuite - El JULIE Lab aquí ofrece una suite completa de herramientas NLP para la aplicación de búsqueda semántica, extracción de información y minería de texto. La mayoría de nuestro conjunto de herramientas en constante expansión se basa en métodos de aprendizaje automático y, por lo tanto, es independiente del dominio y del lenguaje.

...

En una nota: ¿Recomendado por la transmisión en Twitter o la API de conseguir?

En cuanto a mí, yo soy un fan de Python y Java;)

muchas gracias por su ayuda !!!

Respuesta

3

No estoy seguro de cuánto puedo ayudar, pero he trabajado con NLP a mano antes. Me vienen a la mente un par de cuestiones: no todos los productos son independientes del idioma (el lenguaje humano es, no el lenguaje informático). Si planea analizar tweets alemanes, será importante que su producto seleccionado sea capaz de manejar el idioma alemán. Obvio lo sé, pero es fácil de olvidar.Luego está el hecho de que es Twitter, donde abundan las contracciones y los acrónimos, y la estructura del lenguaje está limitada por el límite de caracteres, lo que significa que la gramática no siempre coincidirá con la estructura esperada del idioma.

En inglés, extraer sustantivos de una oración se puede simplificar un poco si alguna vez tiene que escribir su propio código. Los nombres propios tienen mayúsculas iniciales y una cadena de tales palabras (posiblemente incluyendo "de") es un ejemplo de una frase nominal. Una palabra precedida por "a/an/my/his/hers/the/this/these/those" va a ser un adjetivo o un sustantivo. Se vuelve más difícil después de eso, lamentablemente.

Existen reglas que ayudan a identificar plurales, pero también hay muchas excepciones. Estoy hablando de inglés aquí por supuesto, mi muy mal hablado alemán no me ayuda a entender esa gramática, me temo.

Cuestiones relacionadas