View
1.674
Download
1
Embed Size (px)
DESCRIPTION
En está presentación cubrimos algunas de las ideas básicas de como hacen el análisis del sentimiento (sentir) de la gente en las redes sociales y sitios web las aplicaciones existentes
Citation preview
Análisis del «sentimiento»
Marzo 2013
¿Qué es?
Es el utilizar un software que automáticamente extrae opiniones, emociones y el sentir de la gente en un texto.
Nos permite rastrear actitudes y sentimiento en el web. Ya sea en blogs, comentarios, foros, twitter etc.
Se pueden rastrear productos, marcas o personas para determinar si son bien o mal vistos en la red.
Podemos analizar…
• Hechos
– «Esa pintura costó más que un Monet»
• Opiniones
– «El Monet no me gustó, Pollock es un mejor artista»
Varias áreas de la computación se mezclan
• Procesamiento de lenguaje natural– Transforma el texto en un formato que la máquina puede
comprender• Big Data– Se recaban una gran cantidad de datos (minería de datos,
minería de opiniones) para mejorar el desempeño de los algoritmos
• Inteligencia artificial– Utiliza la información que le da el PLN y muchas
matemáticas para determinar si algo es positivo o negativo
El problema tiene varias dimensiones
• ¿Cómo define el algoritmo la subjetividad y el sentir?
• ¿Cómo analizamos la polaridad (positivo/negativo)?
• ¿Cómo lidiamos con oraciones con palabras subjetivas?
• ¿Cómo asignamos un valor a una opinión?
• ¿Cómo podemos saber la intensidad de un sentimiento?
HE y ML• Human Engineering– Sistemas expertos con listas de palabras buenas y malas
hechas a mano• Machine Learning– NLP: Procesamiento natural del lenguaje y
entendimiento del habla, se utilizan modelos estadísticos y sets de entrenamiento
– Tipos:• Supervisado y directo• Sin supervisar y sin datos• Semisupervisado
¿Qué es una opinión para una máquina?
Es un «quintuple» o sea un objeto hecho de 5 cosas distintas
O -> el objeto en cuestiónf-> alguna característica del objetoso->el valor del sentir de la opinión de la persona h en cuanto a la característica f del objeto o al tiempo t
Estos 5 elementos los tiene que identificar el software(definido por Bing Liu en el NLP Handbook)
El lenguaje es demasiado ambiguo para la máquina
«El reloj no es resistente al agua» - Es negativo en una
reseña pero neutral en la descripción del producto
«tan útil como una trampa en un bote salvavidas» –Es
negativo pero no lo entiende la máquina
«lol estuvo increeeeeibleeeeee» - lenguaje común en
redes muy difícil de procesar
Obtenemos «Social Data»
El proceso inicial…Etiquetar parte del discurso pero también la posición y más:
Las palabras en un texto son etiquetadas usando un POStagger (Petra tagger en español) para asignarle una etiqueta a cada palabra, permitiendo así que el algoritmo las pueda procesar, esto se ve algo así:
Revisamos como están orientado el sentimiento (so) de los patrones que extrajimos:Increíble + TeléfonoLo cual es:[JJ] + [NN] (adjetivo seguido por un sustantivo)
Lo opuesto sería terrible, en este paso el algoritmo trata de situar en una escala emotiva por así decirlo
Los efectos de la negación
«la comida no estuvo buena»
Hay que seguir el negativo hasta el término de la oración o algún signo de puntuación para determinar el sentimiento
El efecto de la negación depende del términoPor ejemplo:
Doble negativo mediano -> no está mal = bienDoble negativo extremo -> no está horrible = regular
Parcialidad del aprendizaje• Si revisamos IMDB encontramos que la palabra «bad» se repite
mucho más veces en las críticas con 10 estrellas que en las de 2 estrellas
• Por lo tanto tenemos que normalizar usando las frecuencias relativas
Sentimiento en redes• Emoticons
– ;( :/– Con expresiones regulares podemos detectar el 95% de estos – Ignoramos los complejos
• Longitud– «La presentación estuvo geniaaaaaaaaaaaal! David es el mejoooooor!
Ahhhhhhhh!»– No hay palabras con 3 vocales seguidas – Fácil de normalizar por lo común que son
El ruidio lo podemos quitar con más datos, usamos la idea de Big Data y limpiamos los datos
Incluimos muchos modelos de entrenamiento
Clasificando los «sentimientos»
• Naive Bayes (usamos el teoréma de Bayes)• Entropía máxima (usa distribuciones de probabilidad
con base a conocimiento parcial)• Support Vector Machine (los datos los convertimos a
vectores en un espacio 2D)• Relevance Vector Machine ( similar a SVM pero asigna
probabilidades usando Sparse Bayesian Learning para ARD)
SVM y RVM tienen un 80% de mejor desempeño que los otros
Herremientas• Part-of-speech (POS) taggers
– Petra a POS tagger en español• Parsers
– Enju — A deep syntactic parser for English– CFG Parser — A fast CFG parser for English
• Named entitities/terms– Named-entity Recognizer — Part of the GENIA Tagger– ACELA — Tool for efficient annotation of named entitites– Smart dictionary lookup — machine learning-based gene/protein name lookup– Term Normalization Tool — Normalizes terms with string rewriting rules automatically generated based
on a dictionary.• Other tools
– EventMine — A machine learning-based event extraction system.– brat — A free, open-source, web-based tool for text annotation visualisation and editing.– Cafetiere — An easy-to-use text mining system for carrying text mining on your own document collection– Sentence and paragraph breaker — An accurate sentence and paragraph detector based on heuristic
rules– Clinical Document Classification — automatic document classification demo– Sentiment Analysis Tool — Analyses sentiment of input text.– Rapid Miner - Professional open source data mining made easy: Analytical ETL, Data Mining, and
Predictive Reporting with a single solution