LENGUAJES FORMALES “Análisis de Sentimientos”
Enviado por Samir Sosa Guerra • 19 de Mayo de 2017 • Trabajo • 1.314 Palabras (6 Páginas) • 222 Visitas
INUNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO[pic 1][pic 2]
FACULTAD DE CIENCIAS QUIMICAS, FISICAS Y MATEMATICAS
CARRERA PROFESIONAL DE INGENIERIA
INFORMATICA Y DE SISTEMAS
[pic 3][pic 4]
ASIGNATURA:
LENGUAJES FORMALES
DOCENTE:
Mg. CARBAJAL LUNA, Julio Cesar
ALUMNOS:
SOSA GUERRA, Samir 091621
CUSCO-PERÙ
2014
INTRODUCCION
El análisis de sentimientos implica la clasificación de opiniones en el texto en categorías como "positivo" o "negativo", a menudo con una categoría implícita de "neutral". Una aplicación sentimiento clásico sería el seguimiento de lo que los bloggers están diciendo acerca de una marca como Toyota. El análisis de sentimientos también se llama minería de opiniones o voz del cliente.Hay un montón de nuevas empresas en esta área y conferencias.
Existen dos tipos de problema de clasificación
- Subjetivo (opinión) vs Objetivo (informativas) frases
- Positivos vs (desfavorables) reseñas de películas negativos (favorables)
PLANTEAMIENTO DEL PROBLEMA
Existe una diversidad de aplicaciones para realizar el “Análisis de Sentimientos”. Asimismo se cuenta con gran variedad de librerías de distintas empresas, las cuales a través de su uso nos facilitaran la tarea de analizar los sentimientos y obtener medidas de estas.
En esta oportunidad se utilizara la librería denominada LingPipe, específicificamente las clases pertenecientes a Classify, Classified y DynamicLMCClassifier.
El problema reside en la ejecución de la clase principal PolarityBasic, esta misma es la que hace uso de las demás clases antes mencionadas pertenecientes a la librería Lingpipe
La idea de alto nivel es utilizar el lenguaje del marco de clasificación LingPipe hacer dos tareas de clasificación: separar subjetiva de frases objetivas, y la separación de positivos de críticas de películas negativas.
Cada archivo de datos debe ser descargado y luego descomprimido. Se distribuyen en / formato gzip asfaltada.Por ejemplo, aquí está el resultado de desempaquetar los datos de revisión de polaridad que se descargan en el directorio en el que se realiza desempaquetarlo:
Uno de los requisitos necesarios para el funcionamiento de la librería LingPipe es la instalación de la aplicación Ant. Esta aplicación será descargada e instalada, posteriormente será configurada para su uso correspondiente. Esta configuración será realizada a través del Intérprete de Comandos (Cmd).
[pic 5]
Luego de configurar la aplicación Ant, podremos ejecutar la versión demo de “Sentiment”, que viene a ser el análisis de sentimientos. Para esto, tal como indica el tutorial descargamos el corpus de entrenamiento, el corpus a utilizar será Polarity v2.0, el cual consta de 1000 revisiones negativas, 1000 revisiones positivas de texto de cine. Este corpus se ha extraido de IMDB. Luego de descargar el corpus, este tiene que ser descomprimido, una vez hecho esto ha de ser posible su uso
[pic 6]
Utilizaremos el lenguaje jGRASP para la ejecución de la clase PolarityBasic. La solución, es básicamente la modificación de una pequeña parte del código:
Para poder utilizar la librería LingPipe en el lenguaje jGRASP es necesario especificar la ruta donde se encuentra dicho archivo, de esta manera se podrá utilizarla.
[pic 7]
Implementación de la solución (Según la solución diseñada como se implementó en el lenguaje de programación)
[pic 8]
Diagrama UML en jGRAS
[pic 9]
Funcionamiento (Verificación de la solución, pruebas y resultados de salida *Pantallazos)
Funcionamiento desde el Intérprete de Comandos.
[pic 10]
Funcionamiento desde NetBeans.
[pic 11]
Funcionamiento desde jGRASP.
[pic 12]
PRINCIPAL PARA EJECUTAR
Como de costumbre, nuestro principal método crea una instancia utilizando los argumentos de línea de comandos, a continuación, lo ejecuta. Si se tiran los errores, imprime su seguimientos de pila.
[pic 13]
CONSTRUCTOR AL MARISCAL ARGUMENTOS
También siguiendo nuestro procedimiento operativo estándar (SOP), el constructor establece la variable miembro utilizando los argumentos de la línea de comandos:
[pic 14]
En primer lugar, el directorio se acaba de establecer que es el directorio llamado txt_sentoken relativa al directorio de datos de la polaridad de nivel superior dado como primer argumento de línea de comandos. La matriz de la categoría se inicializa utilizando los nombres de los directorios bajo txt_sentoken, que en este caso son “pos" y "neg”. Establecemos la longitud de n-gramas a la constante de 8; esto, obviamente, se podría establecer con un argumento de línea de comandos, si lo desea. Utilizamos la fábrica para construir una acotada clasificadora de n-gramas con las categorías especificadas y el tamaño de n-gramas. Recordemos que los modelos de procesos están normalizados para una longitud de entrada dado y no modelan límites de las cadenas de forma diferente a otras posiciones.
...