• No se han encontrado resultados

Obtención de tendencias a partir del análisis de textos cortos extraídos de redes microblogging.

N/A
N/A
Protected

Academic year: 2020

Share "Obtención de tendencias a partir del análisis de textos cortos extraídos de redes microblogging."

Copied!
119
0
0

Texto completo

(1)

Universidad Nacional del Centro de la 

Provincia de Buenos Aires

  

 

Facultad de Ciencias Exactas

  

 

    

Obtención de tendencias a partir 

del análisis de textos cortos 

extraídos de redes microblogging 

 

Trabajo Final de la Carrera de Ingeniería de 

Sistemas

  

 

Alumnos

  

Lautaro Emmanuel Bertuzzi

  

Daniel Alberto Suarez

  

 

Directores

  

Dr. Álvaro Soria 

(2)

Dedicatorias 

 

Al hombre que me dio la vida, el forjador de mi camino, a mi padre 

celestial el cual a pesar de haber perdido a muy temprana edad, ha estado  siempre cuidándome,  guiándome desde el cielo y siempre me levanta en  mis continuos tropiezos. Gracias por siempre desear y anhelar lo mejor  para mi vida, por cada consejo y por cada una de sus palabras que me  guiaron, guían y guiarán durante mi vida. 

A mi madre, tus esfuerzos  son impresionantes y tu amor para mi 

invaluable. Sos una mujer que sencillamente me hace llenar de orgullo, te  amo y no va a haber manera de devolverte tanto que me has ofrecido  desde que incluso no hubiera nacido. Esta tesis es un logro mas  que llevó  a cabo, y sin lugar a dudas ha sido en gran parte gracias a vos, no se en  donde me encontraría de no ser por tus ayudas tu compañía y tu amor. Te  doy mis sinceras gracias. 

Lautaro. 

 

 

(3)

Agradecimientos 

  El amor recibido, la dedicación y la paciencia con la que cada dia se 

preocupan nuestros padres, por nuestros avances y desarrollo de esta tesis,  es simplemente único y se refleja en la vida de sus hijos. 

Gracias a nuestros padres por ser los principales promotores de nuestros  sueños, gracias a ellos por cada día confiar y creer en nosotros y en nuestras  espectativas. Gracias de corazón a nuestros jefes de tesis por la paciencia,  dedicación y motivación, criterio y aliento. Ha sido un privilegio poder contar  con su guía y ayuda. 

Gracias a nuestros amigos porque siempre estuvieron pendientes de nuestro  progreso universitario día con día y nos dieron su apoyo cuando lo 

necesitamos sin pedir nada a cambio. Ustedes nos acompañaron a lo largo  de este proceso estuvieron pendientes de que todas las cosas nos salieran  bien y de que no tomaramos una mala decisión, les agradecemos la 

confianza que depositaron en nosotros para poder estar siempre en las  buenas y las malas juntos. Gracias por confiar, creer y haber hecho de esta  etapa universitaria un trayecto de vivencia que nunca vamos a olvidar.  ¡A todos muchas gracias! 

 

 

(4)
(5)

4.7 Interfaz de usuario  4.8 Resumen 

5. Resultados experimentales  5.1 Estructura del Experimento 

5.2 Pruebas con y sin temas candidatos  5.3 Pruebas completas con validación cruzada 

5.3.1 Medidas de precisión 

5.3.2 Medidas de tiempos de entrenamiento y deducción  5.4 Resumen 

6. Conclusiones  6.1 Contribuciones 

6.2 Limitaciones y trabajos futuros  6.3 Resumen 

7. Anexos y referencias   

 

 

 

(6)

 

Índice de Ilustraciones 

Ilustración 1.1: Esquema conceptual de la solución propuesta  Ilustración 2.1: Esquema conceptual del algoritmo KNN  Ilustración 2.2: Ejemplo de las funciones kernel  Ilustración 2.3: Esquema conceptual del funcionamiento de SVM  Ilustración 2.4: Esquema conceptual del algoritmo ID3  Ilustración 2.5: Logotipo de la herramienta SocialMention  Ilustración 2.6: Logotipo de la herramienta WhosTalkin  Ilustración 2.7: Logotipo de la herramienta Addictomatic  Ilustración 2.8: Logotipo de la herramienta SocialSearch  Ilustración 2.9: Logotipo de la herramienta Smashfuse  Ilustración 3.1: Esquema conceptual de la solución propuesta  Ilustración 3.2 : Árbol de temas candidatos  Ilustración 3.3 : Clasificación de algoritmo SVM  Ilustración 3.4 : Grafico de barras  Ilustración 3.5 : Grafico de radar  Ilustración 3.6 : Grafico de línea 

Ilustración 4.1. Diagrama de componentes de la arquitectura implementada  Ilustración 4.2. Diseño general del sistema 

Ilustración 4.3. Diagrama de clases del paquete Recepción y simplificación de publicaciones  Ilustración 4.4. Diagrama de secuencias del proceso de recepción y simplificación de 

(7)

Ilustración 5.4 : Precisión de los algoritmos tras la validación cruzada  Ilustración 5.5 : Tiempo de entrenamiento y clasificación, algoritmo SVM 

Ilustración 5.6 : Tiempo de entrenamiento y clasificación, algoritmo Naive Bayes  Ilustración 5.7 : Tiempo de entrenamiento y clasificación, algoritmo KNN 

 

Índice de Formulas

 

Fórmula 2.1: Fórmula para determinar el peso según su distancia  Fórmula 2.2: Fórmula para determinar la distancia entre dos vecinos  Fórmula 2.3: Fórmula general del Teorema de Bayes 

Fórmula 2.4: Fórmula de la probabilidad de un documento 

Fórmula 2.5: Fórmula de la probabilidad de un documento dada su clase 

Fórmula 2.6: Fórmula de la probabilidad de un documento dada su clase, utilizando el Teorema        de Bayes 

Fórmula 2.7: Fórmula de la entropía del algoritmo ID3 

Fórmula 2.8: Ejemplo fórmula de la entropía del algoritmo ID3 

Fórmula 2.9: Fórmula de la ganancia de información del algoritmo ID3  Fórmula 5.1: Fórmula para determinar la precisión resultante de una prueba 

 

 

(8)
(9)

Tabla 7.25 : Distribución de tuits  Tabla 7.26: Conectores en ingles 

 

 

(10)

 

 

 

 

 

(11)

 

CAPÍTULO 1 

(12)

1. Introduccion 

 

Históricamente, el manejo de la información ha sido una de las principales        causas de la innovación en las TIC, principalmente por la importancia del        conocimiento se puede extraer. Hace unos años no se pensaba en        conocimiento oculto dentro de la información. Sin embargo, con el arribo de        las nuevas tecnologías y el desarrollo del area de informatica, un nuevo        sector dentro de la ciencia de la información surgió. Dicho sector        denominado Minería de datos (Data Mining en inglés) ha sido el precursor de        un nuevo interés por parte del área de inteligencia de negocios, relacionado        con la extracción de información a partir de grandes volúmenes de datos        para distintos fines. [1] 

 

La investigación de la Minería de datos tiene como objetivo principal el        diseño y la implementación de sistemas de software para descubrir patrones        en grandes conjuntos de datos. Para ello utiliza los métodos de la        inteligencia artificial como aprendizaje automático, estadística y sistemas de        bases de datos. [2] 

 

Observando el avance a lo largo del tiempo, ya desde el año 1970 los        estadísticos manejaban términos como Data Fishing, Data Mining (DM) o        Data Archaeology con la idea de encontrar correlaciones sin una hipótesis        previa en bases de datos con ruido. A principios de los años ochenta, Rakesh        Agrawal, Gio Wiederhold, Robert Blum y Gregory Piatetsky­Shapiro entre        otros, empezaron a consolidar los términos de Minería de Datos y KDD.        Desde entonces esta tecnología ha sido un buen punto de encuentro entre        personas pertenecientes al ámbito académico y al de los negocios, por lo        que el interés en esta nueva área se intensificó y nuevos intereses se        despertaron en búsqueda de software capaces de llevar a cabo la tarea de        análisis. [3] 

 

(13)

que buscan los usuarios en un momento determinado para ejecutar acciones        en consecuencia. [4] 

 

En general, la detección de tendencias temáticas realiza un conjunto de        procesos intermedios para realizar detecciones de temas y a partir de los        mismos detectan tendencias bajo una idea particular del usuario. Entre tales        procesos tenemos la obtención de la información, el pre procesamiento, la        detección de temas candidatos, algoritmos de clasificación, visualización de        la información, etc. Haciendo énfasis en esto último, la detección de        tendencias temáticas es uno de los campos de la informática contemplado        por la Minería de Datos y es este paradigma en el que nos enfocaremos a lo        largo del trabajo.  

 

1.1 Motivación 

 

Hoy en dia vivimos en un mundo donde la información está en todos lados;        esta en la televisión, radio, revistas, diarios, productos, pero sobre todas las        cosas, la información se encuentra en la red. La información es algo social        que compartimos y generamos, esta es una cita perfecta cuando hablamos        de redes sociales. Los seres humanos somos un motor de generación de        información de manera casi constante. En este contexto, resulta        significativamente útil poder interpretar esta información para poder        determinar temas populares y relevantes para la sociedad. 

 

Con la masificación de las redes sociales, tanto la ciudadanía como distintas        empresas, se han volcado a las mismas para publicar opiniones o publicitar        sus productos. Usualmente, este tipo de publicación representa información        que puede ser útil para empresarios o asesores, ya que a partir de la misma,        es posible determinar el punto de vista hacia cierto producto o personalidad.        La utilidad de esta información está dada a partir de la cantidad de        publicaciones que referencian a un determinado tema, ya que eso determina        la importancia del mismo. Usualmente los temas más referenciados se        conocen como tendencias. 

   

(14)

Sin embargo, el uso de los sitios de redes sociales con el fin de detectar        tendencias de temas importantes para cierto grupo de personas, presenta        una serie de complicaciones. En primer lugar, la gran dispersión de los        datos. Los usuarios de las redes sociales hablan de muchos temas distintos,        por lo que la puesta en común se vuelve una tarea dificil. En segundo lugar,        la complejidad que implica analizar textos que se escriben en un lenguaje        natural. Esto puede producir errores de interpretación en los mecanismos de        detección, por lo que dichos métodos deben pasar por alto errores de        escritura, o conocer los significados de las abreviaciones. En tercer y último        lugar, dentro de dichos canales existe mucha información poco formada o        inútil, es decir muchas personas expresan poca informacion o informacion        que no posee una relevancia aceptable. 

 

Dentro de este contexto, nuestro objetivo a lo largo del desarrollo de esta        tesis, será la detección de tendencias temáticas partir de redes sociales. Por        la naturaleza del problema, utilizaremos técnicas de minería de datos, ya        que el problema a resolver está relacionado con la deducción de datos a        través de otros datos, siendo esto, parte de dicha rama de estudio      .  El  proceso comienza con la obtención de temas candidatos mediante técnicas        de minería de datos. Posteriormente, por medio de agrupamientos y técnicas        de machine learning, se determinarán las tendencias. En particular el        enfoque será sobre una red del tipo microblogging llamada Twitter la cual        provee a sus usuarios la posibilidad de realizar un post, llamado       tuit que    posee como máximo un largo de 140 caracteres. 

 

 

(15)

1.2 Objetivos 

 

En este contexto, la idea principal de esta tesis se basó en aplicar distintos        mecanismos para extraer información relevante (temas de los cuales se        habla) de la fuente de información. En este caso se aplican sobre textos        cortos (tuits) obtenidos del canal público de la red social Twitter. Una vez        extraído los datos, se utilizarán para realizar relaciones entre temas        particulares y crear una serie de representaciones gráficas de las tendencias        a las cuales apunta la información extraída. 

 

Para alcanzar este objetivo se desarrolló a      TweetAnalyser  como  herramienta para el reconocimiento de tendencias temáticas a partir del        análisis de tuits. En la ilustración 1.1 se muestra el esquema conceptual del        enfoque propuesto. 

   

   

Ilustración 1.1: Esquema conceptual de la solución propuesta  

 

(16)

desea. Para llevar a cabo esta tarea,       TweetAnalyser provee una interfaz      gráfica sencilla con el objetivo de simplificar la tarea de configuración. Luego        la herramienta comienza su proceso de captura de información a partir de la        red social Twitter, siguiendo la configuración realizada por el analista en el        paso anterior. Esta captura obtiene tuits del canal público. 

Por cada tuit capturado se realiza el análisis del texto, determinando        posibles temáticas, para detectar tendencias. Finalmente, cuando se ha        obtenido una cantidad de información suficiente para tener en cuenta,        TweetAnalyser a través de su interfaz gráfica, provee un conjunto de        gráficos que muestran una representación visual de los datos analizados.        Estos gráficos son representaciones visuales que permiten al analista        observar la información desde distintos ángulos. 

A modo de conclusión       TweetAnalyser es una herramienta que provee al        usuario final un conjunto de herramientas, centralizadas en una sola        aplicación. Las mismas facilitan el análisis de tendencias temáticas sin tener        que acudir a herramientas externas. La ventaja que esto aporta es la        posibilidad de realizar análisis sobre un gran número de usuarios de forma        fácil, completa y rapida. 

 

(17)

1.3 Estructura de la tesis

 

Hasta aquí se presenta un resumen del campo de aplicación del trabajo        dentro del area de Mineria de Datos. Se prestó especial énfasis en el análisis        de texto libre para determinar temas con los cuales inferir temáticas ya que        es el enfoque utilizado en la tesis. Por otro lado se analizó cuál es la        problemática que un desarrollador debe afrontar a la hora de hacer una        aplicación que pueda realizar estos procesos. Finalmente, se describió el        objetivo del enfoque propuesto que busca crear una aplicación que permita        realizar reconocimiento de tendencias temáticas a partir de una red        microblogging. 

 

En el capítulo 2 se presentan los conceptos de Minería de datos aplicados.        Luego se hace una explicación teórica de los algoritmos de machine learning        que fueron implementados. Por último se concluye el capítulo con un        relevamiento acerca de los trabajos relacionados y una tabla comparativa        resaltando las ventajas y desventajas de cada uno. 

 

El capítulo 3 muestra la solución al enfoque propuesto desde un punto de        vista abstracto. Aquí se detalla principalmente el funcionamiento de la        aplicación y los aspectos principales del enfoque propuesto. 

 

En el capítulo 4 se especifican todas aquellas particularidades de        implementación que fueron realizadas en el desarrollo de       TweetAnalyser.  Para esto se incluyeron diversos diagramas UML (del inglés Unified modeling        language) tales como diagramas de paquetes, diagramas de secuencia y        diagramas de clases. También se presentan diferentes capturas de pantalla        de la interfaz gráfica de la herramienta explicando el funcionamiento de cada        componente presente. 

 

(18)

 

En el capítulo 6 se finaliza el informe de la tesis con las conclusiones del        trabajo realizado junto con las limitaciones de la herramienta y se adicionan        también algunos trabajos futuros. 

(19)

CAPÍTULO 2 

 

(20)

2. Estado del arte

 

La masificación de la internet y el constante uso de la misma para distintos        fines como comunicación, comercio, medicina, etc. producen día a día una        gran cantidad de datos. La gente no dispone de tiempo de observar toda        esta información, por lo que la atención se ha vuelto un recurso valioso. A        partir de esto, surge un nuevo campo de aplicación para el análisis de textos        a partir de grandes volúmenes de datos denominada Minería de Datos.[5]   

La Minería de Datos posee posee dos tipos de enfoques. El enfoque puede        ser descriptivo, (descubrir temas recurrentes interesantes o relaciones        describiendo los datos), o predictivo (clasificar nuevos datos basándose en        los  anteriormente disponibles). En otras palabras, es un campo        interdisciplinar con el objetivo general de predecir las salidas y revelar        relaciones en los datos.[6]  

 

En este contexto, el objetivo de este trabajo es definir de qué se está        hablando en primer lugar y bajo ese descubrimiento ser capaces de capturar        una tendencia temática. Una tendencia temática es un término que se        encuentra cada vez de manera más frecuente en el área de Minería de        datos. Su definición formal es: “Es una corriente o preferencia hacia        determinados fines o temas”.  

 

Este reconocimiento puede ser visto como una manera de comenzar a        entender cual es la preferencia de un grupo de individuos en un momento        específico del tiempo hacia ciertos temas específicos.[7]  

 

Existen una variedad de procesos utilizados para realizar la obtención de las        temáticas [8], entidades y palabras claves de un texto, que posteriormente        se utilizaran para categorizar ese texto particular y posteriormente parte de        una tendencia. Diversos metodos matematicos y estadisticos son aplicados        para interpretar la información recibida y de esta forma encontrar algún        significado válido en forma de personalidades u objetos relevantes        denominados entidades, palabras claves y temas. 

 

(21)

definitivos son temas particularmente deducidos por un algoritmo de        clasificación supervisada que utiliza como base de razonamiento dichos        temas junto con las entidades y las palabras clave. 

   

2.1 Algoritmos de clasificación supervisada

 

A continuación se muestra un relevamiento de las técnicas aplicadas. Se        explican brevemente cada una y se citan algunos autores científicos que han        hecho uso de las mismas para el reconocimiento de tendencias temáticas. 

2.1.1 K­Nearest Neighbors (KNN)

 

El método k­nn pertenece al grupo de métodos para tareas de clasificación        de datos que se pueden encontrar dentro de minería de datos. Más        específicamente, KNN es un método de vecindad basado en casos o        instancias. Se asume que el conjunto completo de entrenamiento incluye no        sólo los datos sino también la clasificación deseada. Los datos de        entrenamiento son entonces el modelo. [9] 

 

El algoritmo funciona como sigue:   

Primeramente se definen los modelos presentes en el espacio solución del        algoritmo y un valor resultado. 

 

(22)

En la ilustración 2.1 se puede visualizar un ejemplo de como quedaria un        espacio de relación dentro del algoritmo. Cada figura representa a un        modelo y su forma y color representa el tema principal. 

 

Para realizar una deducción se debe definir un K. Este K representa a la        cantidad de vecinos que se tendrán en cuenta para realizar la clasificación.        Siguiendo con el ejemplo de la ilustración, para K = 2, se tomarán en cuenta        solamente los dos triángulos rojos, dado que son los 2 vecinos más        cercanos. Por otro lado, para K = 5, se toman 3 cuadrados azules y dos        triángulos rojos. En este caso el círculo verde se vería relacionado con el        color y forma del modelo con mayor representatividad dentro del conjunto        de modelos alcanzados por el K. Para el caso del ejemplo, el círculo verde        se clasifica como un cuadrado azul.  

 

Para la clasificacion con KNN, la tupla (punto) desconocida es asignado a la        clase mas común de los K vecinos mas proximos. KNN pierde precisión si se        utilizan datos ruidosos o con atributos irrelevantes. Si k es demasiado        pequeño, entonces el resultado es muy sensible a puntos ruidosos. Por otro        lado si k es demasiado grande, la vecindad del punto desconocido incluirá        muchos puntos de otras clases lejanas. 

  Es interesante sopesar los vecinos con la distancia que lo separa de la tupla        desconocida, weighted k­nearest neighbors  

 

Fórmula 2.1: Fórmula para determinar el peso según su distancia 

 

La elección de la métrica de la distancia es crıtica para el rendimiento del        algoritmo.  

       

 

Fórmula 2.2: Fórmula para determinar la distancia entre dos vecinos 

 

(23)

2.1.2 Support vector machine (SVM)

 

Las máquinas de vectores soporte (SVM, del inglés Support Vector        Machines) aunque originariamente fueron pensadas para resolver problemas        de clasificación binaria, actualmente se utilizan para resolver otros tipos de        problemas (regresión, agrupamiento, multi­clasificación).  

Son diversos los campos en los que han sido utilizadas con éxito, tales como        visión artificial, reconocimiento de caracteres, categorización de texto e        hipertexto, clasificación de proteínas, procesamiento de lenguaje natural,        análisis de series temporales, etc. De hecho, desde su introducción, han ido        ganando un merecido reconocimiento gracias a sus sólidos fundamentos        teóricos.  [10] 

 

Los SVM pertenecen a la familia de clasificadores lineales puesto que        inducen separadores lineales o hiperplanos en espacios de características de        muy alta dimensionalidad (introducidos por funciones núcleo o kernel) con        un sesgo inductivo muy particular. Derivan de la Teoría del aprendizaje        estadístico, según la cual un sistema con aprendizaje debe, a partir de un        conjunto de información acerca de un proceso computacional, construir un        modelo que permita predecir nuevos fenómenos asociados a él. De manera        general para clasificación, las Máquinas de Vectores de Soporte buscan un        hiperplano que separe de forma óptima los puntos de una clase de la otra.  Las funciones kernel, también conocidas como núcleo, realizan la separación        y traslado de las muestras a un espacio de características de mayor        dimensión, el cual aumenta la capacidad computacional de la máquinas de        aprendizaje lineal, como se muestra en la figura. 

(24)

 

Ilustración 2.2: Ejemplo de las funciones kernel 

       

 

En la figura que se muestra a continuación se puede ver un ejemplo visual        del funcionamiento de SVM en R en el que se obtiene un buen        comportamiento predictor de las diferentes clases clasificadas.  

(25)

 

Ilustración 2.3: Esquema conceptual del funcionamiento de SVM 

 

Dentro de la clasificación SVM multiclase, hay dos filosofías para resolver el        problema de querer clasificar los datos en más de dos categorías:

 

a) One­against­one (1A1). Se construyen k(k­1)/2 modelos donde k es el        número de 

categorías. En esta categoría el clasificador es entrenado entre cada par de       

clases.  

   

b)  One­against­all (1AA). Consiste en dividir cada categoría en otras y        combinarlas todas. En esta aproximación se entrena un clasificador entre        una clase y las k­1 otras clases (donde k es el número total de clases). Cada        discriminante k representa la decisión de que k pertenezca o no a esa clase.   

(26)

2.1.3 Multinomial Naive Bayes

 

Clasificador Naive Bayes 

El clasificador Naive Bayes es un término de estadística, que consiste en un        simple clasificador probabilístico basado en el teorema de Bayes con        supuestos de independencia entre datos. Un término más descriptivo para        este sería “Modelo de características independientes”.[12] 

 

 

Fórmula 2.3: Fórmula general del Teorema de Bayes 

 

En términos simples, Naive Bayes asume que la presencia (o ausencia) de        una característica particular no tiene ninguna relación a la presencia (o        ausencia) de cualquier otra característica. 

Por ejemplo, una fruta puede ser considerada como una manzana si es roja,        redonda y con un diámetro de 4 pulgadas. A pesar de que estas        características dependen de la existencia de otras características, un        clasificador Naive Bayes considera que todas estas características        contribuyen independientemente a la probabilidad de que esta fruta es una        manzana. 

Para otros modelos de probabilidad, los clasificadores de Bayes se pueden        entrenar de manera muy eficiente en un entorno de      aprendizaje  supervisado. En muchas aplicaciones prácticas, la estimación de parámetros        para los modelos Bayes utiliza el método de       máxima verosimilitud  , es decir,      se puede trabajar con el modelo de Bayes sin aceptar probabilidad bayesiana        o cualquiera de los métodos bayesianos. 

Una ventaja del clasificador de Bayes es que solo se requiere una pequeña        cantidad de datos de entrenamiento para estimar los parámetros (las medias        y las varianzas de las variables) necesarias para la clasificación. Como las        variables independientes se asumen, solo es necesario determinar las        varianzas de las variables de cada clase y no toda la matriz de covarianza.   

(27)

vida real y puede explicar sus decisiones como la suma de las ganacias de        información. Ahora bien,      su ingenuidad puede resultar en un bajo        rendimiento en dominios con fuertes dependencias entre atributos. 

 

Framework Naive Bayes 

Se considera   que los documentos de texto se generan por un modelo de        mezcla parametrizado por θ. El modelo de mezcla consiste en una mezcla de        componentes c(j) pertenecientes a C = { c(1), …, c(j) }. Cada componente        es parametrizado por un conjunto disjunto de θ. Por lo tanto, es posible        caracterizar la probabilidad de un documento como la suma de la        probabilidad total sobre todos los componentes.[8] 

 

 

Fórmula 2.4: Fórmula de la probabilidad de un documento 

 

Cada documento tiene una etiqueta de clase. Se asume que hay una        correspondencia uno a uno entre las clases y los modelos mixtos de        componentes y por lo tanto es posible usar c(j) para indicar ambas cosas (la        clase y el modelo) 

 

Naive Bayes Multinomial 

El modelo multinomial captura la frecuencia de la palabras en un documento.        Un documento es una secuencia ordenada de palabras escritas en un        vocabulario V. Se asume que que la longitud del documento es        independiente de clase, aquí se hace una suposición similar a la de naive        Bayes: la probabilidad de que aparezca una palabra en el documento es        independiente del contexto de la palabra y de su posición en el documento.        Así, cada documento d(i) puede ser descrito a partir de una distribución        multinomial de palabras con tantos intentos independientes como la longitud        de d(i). A partir de aquí, surge la representación de documentos        denominada “bolsa de palabras”. 

Se define como N(it) al número de veces que la palabra wt aparece en el        documento di. 

(28)

 

Fórmula 2.5: Fórmula de la probabilidad de un documento dada su clase 

 

Los parámetros de los parámetros generativos para cada clase son        probabilidades para cada palabra θ(wt |cj) = P(wt|cj; θ), donde 0 < θ(wt        |cj) ≤ 1 y  SUMt θwt |cj = 1. 

   

Clasificación 

Dadas las estimaciones de los parámetros calculados del entrenamiento, la        clasificación puede ser realizada calculando la probabilidad a posterior de        cada clase dada la evidencia del documento de prueba, para finalmente        seleccionar la clase con mayor probabilidad. Realizando el reemplazo en la        fórmula general del teorema de Bayes la función queda: 

 

 

Fórmula 2.6: Fórmula de la probabilidad de un documento dada su clase,  utilizando el Teorema de Bayes 

   

 

(29)

2.1.4 ID3 Tree

 

Los algoritmos basados en árboles de decisiones son métodos de        aproximación de valores discretos donde la función de aprendizaje está        representada en un árbol de decisión. Este tipo de algoritmos son famosos        en el aprendizaje inductivo y han sido utilizados en una amplia gama de        tareas. 

Los árboles de decisiones clasifican instancias ordenando las instancias        desde la raíz hasta las hojas. Cada nodo en el árbol especifica una prueba de        algún atributo de la instancia y cada rama por debajo de esta, corresponde a        un posible valor para dicho atributo. Por ejemplo en la siguiente figura se        muestra un árbol de decisión basado en un atributo llamado Outlook. [13]   

 

Ilustración 2.4: Esquema conceptual del algoritmo ID3 

   

En la figura anterior, la instancia con el valor “overcast” para el atributo        Outlook es positivo. Para las demás opciones “Sunny” y “Rain” se arman        sub­árboles particulares.  

 

(30)

Algoritmo ID3 

ID3 es un algoritmo de decisión desarrollado por J. Ross Quinlan (1986). ID3        construye un árbol de decisión utilizando una búsqueda greedy de arriba        hacia abajo a través de los conjuntos de entrenamiento para poner a prueba        los atributos de cada nodo. El algoritmo utiliza una propiedad estadística        llamada ganancia de información para seleccionar cual atributo probar de        cada nodo del árbol. La ganancia de información mide el grado de        separación que produce la utilización de dicho atributo para clasificar los        datos de entrenamiento. 

 

Entropía 

Es una medida de información que indica la impureza de un conjunto        arbitrario de ejemplos. Si el atributo candidato puede tomar       c distintos  valores, entonces la entropía S se define como: 

 

Fórmula 2.7: Fórmula de la entropía del algoritmo ID3 

 

donde       p es la probabilidad de que       S pertenezca a la clase i           . El logaritmo en    base dos es necesario ya que la entropía es una medida de la codificación        esperada, medida en bits. 

Por ejemplo, si el conjunto de entrenamiento dispone de 14 instancias, 6        positivas y 8 negativas, la entropía se calcula como:  

 

 

Fórmula 2.8: Ejemplo fórmula de la entropía del algoritmo ID3 

   

Ganancia de Información 

Mide la reducción esperada en la entropía a partir de la partición de los        ejemplos de acuerdo a atributo seleccionado. La ganancia de información        Gain(S, A) de un atributo           A, relativa a la colección de ejemplos       S, se define   como: 

 

Fórmula 2.9: Fórmula de la ganancia de información del algoritmo ID3 

(31)

Donde Values(A) es el conjunto de todos los posibles valores para el atributo        A, y   S(v) es el subconjunto de       S para los que el atributo       A tiene el valor        V. Esta medida se puede utilizar para ordenar los atributos y así formar el árbol        de decisión donde en cada nodo se encuentra el atributo con el valor más        alto de ganancia de información entre los atributos en el camino desde la        raíz. 

 

2.2. Trabajos relacionados

 

La exploración de tendencias temáticas es un tópico que se ha explotado en        los últimos años con el avenimiento de las nuevas tecnologías y la        masificación de las redes sociales. A continuación se presentan distintos        trabajos realizados por empresas que permiten la detección de tendencias a        partir de diferentes fuentes de información. 

2.2.1 Social Mention

 

SocialMention es una herramienta web que permite monitorear publicaciones        relacionadas a un tema particular en más de 80 sitios, entre ellos: Twitter,        Facebook, LinkedIn, Google, Youtube, etc. Entre las características        principales de SocialMention podemos encontrar: visualización en tiempo        real de la influencia de un tema u evento, capacidad de crear seguimientos        particulares, API para desarrollo y fácil integración a sitios web por medios        de widgets, entre muchas otras. 

 

El funcionamiento básico se basa en cuatro parámetros 

● Pasión: cantidad de autores que hablan sobre un tema.  ● Alcance: influencia del tema. 

● Sentimiento: menciones positivas y negativas. 

● Fuerza: número de publicaciones sobre el tema en cuestión en las        últimas 24 horas. 

Socialmention permite además, ver cuáles son las palabras claves más        utilizadas para referir a un tema. Muestra los Hashtags asociados, los        usuarios que realizaron una mención al tema y las fuentes de dichas        menciones. 

(32)

 

Ilustración 2.5: Logotipo de la herramienta SocialMention 

 

2.2.2 WhosTalkin

 

WhosTalkin es un herramienta de búsqueda social que brinda la posibilidad a        los usuarios de encontrar conversaciones acerca de aquellos temas de        interés. 

El servicio funciona gracias a una combinación de algoritmos de búsqueda        junto con información obtenida de más de 60 de los más populares puentes        de comunicación social, añadiendo algo de AJAX para presentar al usuario        una interfaz prolija y organizada. 

Trabaja con sitios como Twitter, WordPress, YouTube, MySpace, Google        News, Flickr, entre muchos otros. 

Los resultados son ordenados según su fecha de publicación, ubicando en los        primeros lugares a aquellas conversaciones más actuales. 

WhosTalkin tiene como objetivo poner al alcance del colectivo, las        conversaciones más relevantes y actuales que están teniendo lugar en el        mundo social acerca de aquellos tópicos que resultan de interés. 

 

 

Ilustración 2.6: Logotipo de la herramienta WhosTalkin 

   

2.2.3 Addictomatic

 

(33)

Addictomatic dispone de dos mecanismos de investigación. El primero,        consiste en el filtrado de información por medio de palabras clave. Esto        permite al usuario obtener las últimas noticias de un tema particular. Por        otro lado el segundo método se encuentra en su página de inicio la cual        muestra un orden de las últimas noticias y da un rápido vistazo de la        actualidad en general.  

 

 

Ilustración 2.7: Logotipo de la herramienta Addictomatic 

 

2.2.4 SocialSearch.com

 

SocialSearch brinda múltiples resultados provenientes de varias redes        sociales como son son Twitter, Facebook, Instagram, etc. La herramienta        provee un campo de texto para búsquedas personalizadas en todas las redes        y herramientas para cada una en particular. Por ejemplo para la red social        Twitter, la herramienta provee un visor de hashtags más utilizados en el        momento. 

 

   

Ilustración 2.8: Logotipo de la herramienta SocialSearch 

(34)

 

2.2.5 Smashfuse

 

Smashfuse captura gran parte de la información online mediante la        exploración de casi todos los principales sitios web de medios sociales. Dicha        información es presentada como un mosaico de imágenes que viene a        representar un árbol de exploración. Haciendo click en cada de estas la        herramienta redirige a fotos, videos , o tweets relacionados con el tema en        cuestión. Las búsquedas se pueden actualizar para captar el pulso más        actual de la información. 

El gran problema que adolece es que al tener tanta información, una        búsqueda en general sobre un tema puede ser tediosa ya que obliga al        usuario a scrollear entre grandes volúmenes de  información relacionada.   

   

Ilustración 2.9: Logotipo de la herramienta Smashfuse 

2.2.6 Comparación de algoritmos 

En esta sección se realiza una comparativa de los distintos trabajos con        TweetAnalyser   y entre ellos a partir de distintos aspectos que se detallan a        continuación: 

 

● Búsquedas personalizadas: Poseer este atributo indica que la        herramienta  provee  alguna  forma  de  realizar  búsquedas  personalizadas sobre el análisis. 

 

● Extensibilidad: este atributo indica si la herramienta permite añadir        nueva funcionalidad a futuro. 

 

(35)

 

● Análisis de información: este atributo indica si la herramienta          provee distintos mecanismos de análisis de la información, como por        ejemplo gráficos comparativos, etc. 

   

   Búsquedas 

personaliza das 

Extensibilidad  Obtención de    tendencias 

Análisis de    información 

Social Mention  Si  No  No  No 

WhosTalkin  Si  No  No  No 

Addicctomatic  Si  No  No  No 

SocialSearch.com  Si  No  Si  No 

Smashfuse  Si  No  Si  No 

TweetAnalyser  Si  Si  Si  Si 

Tabla 2.1: Tabla comparativa de los trabajos relacionados 

 

A partir de este análisis, podemos interpretar que las herramientas de        procesamiento de datos provenientes de redes sociales no permiten        extender su funcionalidad ni brindan mecanismos de análisis de información        como pueden ser gráficos o tablas. Esto último se debe a que la mayoría se        dedican a obtener información de múltiples redes sociales y no se detienen        en formalizar dichos datos en gráficos. 

 

A su vez, se puede notar que casi ninguna aplicación permite realizar        detección de tendencias. Solo SocialSearch y Smashfuse presentan de forma        simple las tendencias a través de un panel en la página principal que        muestra las temáticas actuales. Ante esta circunstancia, es posible observar        cómo las organizaciones que usen este tipo de herramientas están limitadas        al análisis de la información.  

(36)

2.3.  Resumen

 

En este capítulo se analizaron los conceptos básicos aplicados. Dichos        conceptos pertenecen al área de Data Mining la cual, junto con el área de        Machine Learning, son áreas claves en el desarrollo de este trabajo. 

 

Por otra parte fueron presentados, de forma teórica, los distintos algoritmos        de Machine Learning que fueron implementados para la deducción de tópicos        principales. 

 

(37)

CAPÍTULO 3 

 

(38)

3. Enfoque de detección de tendencias 

temáticas

 

 

La utilización de mecanismos para detectar tendencias temáticas ha        facilitado la forma en la cual los analistas de información pueden trabajar        para detectar patrones. Hoy en dia, es muy importante poder detectar este        tipo de información, dado que las estrategias de mercadeo desde hace unos        años han cambiado drásticamente. Actualmente, el mercado trata de        adaptarse dinámicamente al gusto de los usuarios, dándole la posibilidad        cargar opiniones por medio de comentarios o utilizando mecanismos de        observación que monitorean las preferencias de cada uno. Gracias a todo        esto, resulta posible analizar la información que genera un grupo de        personas. 

 

Muchas empresas utilizan este tipo de procesos, para buscar información y        luego venderla a otras que se dedican a manejarla. Un ejemplo de esto es        Google, ya que a partir de su conocido buscador obtiene grandes volúmenes        de información de múltiples usuarios, la cual posteriormente analiza y vende        a empresas como Mercadolibre, para que esta publique ofertas o publicite en        base a los datos recopilados.  

 

Existen otro tipo de estrategia, en la cual la misma empresa que realiza el        análisis es la que utiliza dicha información como pie para realizar ventas. Un        ejemplo puntual de esto también es Mercadolibre. La estrategia detrás de        Mercadolibre consiste en, además de lo enunciado anteriormente con        Google, analizar las búsquedas dentro de su propio sitio y a partir de ahí,        realizar recomendaciones. Dichas recomendaciones siguen patrones del        estilo, aquellos usuarios que buscaron cierto tipo de producto, también        buscaron de este otro tipo. Dada esta tendencia, Mercadolibre genera        publicaciones para atraer potenciales compradores. Es normal que un        usuario registrado del portal luego de realizar una búsqueda por cierto tipo        de objetos reciba al otro dia un mail de mercadolibre con ofertas        relacionadas.  

 

(39)

poseer una gran cantidad de usuarios interactuando todo el tiempo y        hablando de temas aleatorios. Las redes sociales podrían ser un lugar muy        fructífero para explotar, pero la información administrada muchas veces no        tiene coherencia o es muy variable como para capturar un patrón. Este        inconveniente está dado por la falta de estandarización, lo que genera que el        conjunto de temas deducible, a partir de dicha información, sea        inmanejable. Todo esto, junto a que la sintaxis con la cual los usuarios de        las redes   sociales se manejan no es necesariamente correcta ni completa, genera        que el análisis sea dificultoso. 

 

(40)

 

 

Ilustración 3.1: Esquema conceptual de la solución propuesta    

La  ilustración  anterior  muestra  una  representación  completa  de  TweetAnalyser. Como se puede observar, el enfoque consiste en dos        fases: fase de reconocimiento y fase de entrenamiento. 

 

El primer paso del enfoque consiste en la fase de entrenamiento. El objetivo        de esta fase es preparar los algoritmos de clasificación para el        reconocimiento del tema principal de un tweet. Para esto, el desarrollador        debe proveer de un conjunto de tuits de entrenamiento. Cada tuit de        entrenamiento posee el tema principal que se quiere reconocer. 

 

Con este conjunto de tuits clasificados manualmente, el desarrollador inicia        la etapa de entrenamiento. En este punto, el enfoque toma un tuit y realiza        una  simplificación  que  remueve  información  irrelevante  para  el  reconocimiento. Es decir, se analiza el texto del tuit y se eliminan conectores        (Ej: “also”, “due”, “also”,etc.)y stop­words (Ej: “the”, “this”, “from”, “to”,        “meanwhile”, etc.) ya que estas palabras no aportan contenido a la hora de        deducir la temática. Este paso busca facilitar la tarea de reconocimiento del        enfoque ya que utilizaran solo información relevante al problema en        cuestión. (Vease anexo 3.1 y 3.2) 

(41)

Una vez que el tuit contiene sólo información relevante, el siguiente paso        consiste en la extracción de entidades y palabras claves. Las entidades son        personas u objetos que dentro de la frase tienen una gran relevancia. Por        ejemplo, para la frase “Lionel Messi is the best football player”, la entidad        sería “Messi” ya que se consideran entidades a aquellos sustantivos propios        los cuales poseen una considerada popularidad, como por ejemplo personas        físicas famosas, nombres de compañías, etc. Para la extracción de        entidades, el enfoque se basa en la detección de secuencias de palabras en        mayúscula, mediante lo que se consigue tener en cuenta nombres, como por        ejemplo “Messi”. Además, a modo de verificación, los nombres son cruzados        con la información guardada en un diccionario de entidades. Cabe destacar,        que además de las entidades anteriormente descritas, también se        consideran como entidades a aquellos usuarios de la red citados en los tuits        que dentro de la red social sean populares, como por ejemplo: cantantes,        futbolistas, actores,etc.  

 

Por otro lado, las palabras claves son las palabras que definen el texto. Es        decir, son las palabras más importantes del mismo. Siguiendo con en el        ejemplo anterior,    la palabra clave sería “football” ya que esta palabra        describe al texto en cuestión. Para la extracción de palabras clave se        seleccionan todas las palabras que componen al tuit como candidatas. Luego        cada una de estas, es enviada a un buscador para calcular un valor de        referencia y asì para poder discernir la importancia entre ellas. Este valor de        referencia, se calcula por medio de la cantidad de ocurrencias y la        importancia cada palabras. Por último se ordenan todas las palabras por el        valor de referencia y se toman las primeras tres como relevantes. 

 

(42)

subir por el árbol encontrar los temas.La utilización de temas candidatos        como parte del entrenamiento de los algoritmos se realizó para aumentar la        precisión de los mismos. (ver sección 5.2 capítulo 5 para más detalle.) 

  

En el último paso, el tuit con entidades, palabras claves y temas candidatos,        es utilizado para entrenar el algoritmo seleccionado. La selección de un        algoritmo depende del contexto de utilización del enfoque. En el caso en que        el conjunto de datos para entrenar el algoritmo contiene menos de 300        elementos, se utiliza el algoritmo de clasificación SVM (Support Vector        Machine). Este algoritmo es muy eficiente para conjuntos de datos de estas        características, dado que la precisión obtenida en las deducciones es muy        alta a pesar del poco entrenamiento recibido. Cuando el conjunto de        entrenamiento es de mas de 300 se recomienda utilizar el algoritmo Naive        Bayes, ya que es el algoritmo más eficiente en la generalidad de los casos        en cuanto a precisión y tiempo. SVM es descartado en estos casos, dado que        el tiempo de entrenamiento es muy alto, a menos que se considere        re­entrenar el algoritmo con poca frecuencia. Por último el algoritmo KNN se        presenta como una opción ligera temporalmente para conjuntos de datos        altos ya que no requiere entrenamiento y alcanza una precisión aceptable.        Solamente es recomendado para casos en los cuales se tengan conjuntos de        datos de mas de 5000 elementos y el re­entrenamiento sea muy frecuente        (KNN no entrena). 

 

Luego de seleccionar el algoritmo adecuado a la problemática, se realiza el        entrenamiento del algoritmo seleccionado. 

Una vez que se realiza la fase de entrenamiento, el siguiente paso del        enfoque consiste es la fase de reconocimiento. El objetivo de esta fase        consiste en realizar la deducción del tema principal de los tuits provenientes        de Twitter. 

Esta fase comienza con la llegada de un tuit a       TweetAnalyser. En este      punto, el tuit sigue el mismo proceso que en la etapa de entrenamiento. Al        ingresar a   TweetAnalyser, el tuit pasa al proceso de simplificación, donde        se elimina la información irrelevante. Luego se extraen palabras claves,        entidades y temas candidatos. En este punto, se reutiliza el proceso        explicado en la anterior fase. Por último, en el paso de clasificación se utiliza        el algoritmo de clasificación entrenado. Este clasificador deduce la temática        principal de un tuit utilizando la información del mismo.  

(43)

3.1 Fase de entrenamiento

 

El objetivo de esta fase es preparar los algoritmos de clasificación para el        reconocimiento del tema principal de un tweet. Para clarificar la explicación        de nuestro enfoque seguiremos un ejemplo conductor. Supongamos que un        usuario quiere identificar temas relacionados al mundo del fútbol. Este        provee al enfoque un training set con un conjunto de tuits con su tema        principal deducido manualmente. La siguiente tabla muestra una pequeña        lista de ejemplos que forman parte del training set, en la columna “      Texto  se muestra el texto original del tuit y en la columna “      Tema principal  ” se    encuentra la etiqueta deducida manualmente por el desarrollador: 

 

Texto  Tema Principal 

“Lewy fired #FCBayern to victory in  Cologne ­ check out the match gallery 

here: http://fcb.de/KOEAlbum2003” 

Football 

“Messi playing like Xavi? whaaaat! 

Messi plays like God”  Football  “Ivan Rakitić & Neymar on target as 

Liga leaders Barcelona go 9 points clear  despite being held to a 2­2 draw” 

Football 

“HALF­TIME Man City 0­1 Man Utd. It's  advantage United at the break thanks 

to Marcus Rashford's cool finish  #MCIMUN” 

Football 

Tabla 3.1 : Conjunto de tuits de entrenamiento  1

   

       

 

(44)

3.1.1 Simplificación

 

Teniendo el training­set,      el primer paso de la fase de entrenamiento        consiste en la extracción de información relevante de los tuits. En este        punto, se realiza el proceso de simplificación, el cual consiste en analizar,        detectar y eliminar conectores, stop­words y signos de puntuación. Para esto        se recorre el texto del tuit, verificando por cada palabra si es un conector o        un stop word. Esta verificación se realiza buscando la palabra en cuestión en        un diccionario de palabras claves y stop words. Tomando como ejemplo el        primer tuit del dataset “Lewy fired #FCBayern to victory in Cologne ­ check        out the match gallery here:         http://fcb.de/KOEAlbum2003” se recorre palabra        por palabra y se verifica si es un conector o stop word. (véase anexo 3.1 y        3.2). Como resultado, se quita del tuit las palabras       to, in, out , the,  here  dejando como resultado “Lewy fired #FCBayern victory Cologne check match        gallery: http://fcb.de/KOEAlbum2003” 

 

En la siguiente tabla se muestra el resultado de la simplificación de todos los        tuits del dataset, en la columna “      Reducción de texto    ” se observa las        palabras a eliminar en negrita tachadas y en la columna “      Texto  simplificado” el texto resultante de la eliminación de dichas palabras:   

Reducción de texto  Texto simplificado 

“Lewy fired #FCBayern to victory in 

Cologne ­ check out the match gallery 

here: http://fcb.de/KOEAlbum2003” 

“Lewy fired #FCBayern victory Cologne  check match gallery 

http://fcb.de/KOEAlbum2003”  “Messi playing like Xavi? whaaaat! 

Messi plays like God”  “Messi playing Xavi Messi plays God”  “Ivan Rakitić & Neymar on target as 

Liga leaders Barcelona go 9 points 

clear despite being held to a 2­2  draw” 

“Ivan Rakitić Neymar target Liga  leaders Barcelona 9 points despite held 

2­2 draw” 

“HALF­TIME Man City 0­1 Man Utd. It's 

advantage United at the break thanks 

to Marcus Rashford's cool finish  #MCIMUN” 

“HALF TIME Man City 0 1 Man Utd.  advantage United break thanks Marcus 

Rashford's cool finish #MCIMUN” 

Tabla 3.2 : Conjunto de tuits de entrenamiento 

(45)

Este paso busca aumentar la precisión de deducción ya que al eliminar        conectores y stop­words se eliminan palabras que no aportan ningun        contenido para los siguientes procesos de análisis. Es decir, al simplificar el        texto en este paso, se trata de eliminar todo lo que pueda hacer perder        precisión a los algoritmos (Menos palabras a ser evaluadas como entidades o        palabras clave). 

3.1.2 Extracción de entidades

 

A continuación se procede a realizar la extracción de entidades, palabras        clave y temas candidatos del texto reducido. En el proceso de extracción de        entidades se extraen aquellas palabras que comienzan con mayúsculas. El        motivo de esto es que una palabra con esas características refieren a        sustantivos propios. Adicionalmente, también se incluyen aquellas palabras        que comienzan con un arroba. Estos últimos son los usuarios de la red social        Twitter y se incluyen ya que generalmente cuando se cita a un usuario        relevante de la red no se lo hace por su nombre, si no que se usa el nombre        que utiliza en la red. Estas palabras extraídas son consideradas posibles        entidades.  

En la tabla siguiente en la columna “      Texto simplificado  ”, se observa el        resultado del paso anterior resaltando en negrita las entidades candidatas        detectadas y en la columna “      Entidades candidatas  ” se listan las mismas          individualmente: 

 

Texto simplificado  Posibles Entidades 

Lewy fired #FCBayern victory 

Cologne check match gallery  http://fcb.de/KOEAlbum2003” 

“Lewy”, “FCBayern”, “Cologne” 

Messi playing Xavi Messi plays God”  “Messi”, “Xavi”, “God” Ivan Rakitić Neymar target Liga 

leaders Barcelona 9 points despite  held 2­2 draw” 

“Ivan”, “Rakitić, “Neymar”, “Liga”,  “Barcelona” 

HALF TIME Man City 0 1 Man Utd.  advantage United break thanks 

Marcus Rashford's cool finish  #MCIMUN” 

“HALF”, “TIME”, “Man”, “City”, “Man”,  “Utd” “United”, “Rashford's”, “MCIMUN” 

(46)

Cada palabra del conjunto de posibles entidades es cruzada con la        información provista por un servicio que ratifica que son entidades       [14].  Este servicio dispone para su uso un repositorio de entidades que es        alimentado por servicios de consultoría de IBM. Estos servicios se encargan        de buscar por la red personas u objetos relevantes para nutrir este        repositorio central    [10]. A continuación se presenta una tabla con el        resultado del proceso. La columna “      Posibles Entidades  ” contiene la lista de          palabras del paso anterior, remarcando con negrita y tachado a aquellas que        no serán consideradas por no pertenecer al diccionario de entidades. Por        otro lado, la columna “Entidades” se encuentran aquellas que sí lo fueron.   

Posibles Entidades  Entidades 

“Lewy”, “FCBayern”, “Cologne”  “FCBayern”, “Cologne”  “Messi”, “Xavi”, “God”  “Messi”, “Xavi”, “God” 

“Ivan”, “Rakitić, “Neymar”, “Liga”

“Barcelona”  “Rakitić, “Neymar”, “Barcelona” 

“HALF”“TIME”“Man”“City”

“Utd” “United”, “Rashford's”, 

MCIMUN” 

“United”, “Rashford's” 

Tabla 3.4 : Conjunto de entidades elegidas 

3.1.3 Extracción de palabras clave

 

En el proceso de extracción de palabras clave se toman a todas las palabras        del texto reducido para evaluar. Con el conjunto de palabras y el texto        reducido, TweetAnalyser envía dichos datos a un servicio que calcula un        valor de referencia para cada una de las palabras. Este se calcula por medio        de la cantidad de sitios donde dicha palabra aparece y la importancia de los        mismos. A partir de este valor se priorizan las palabras ordenandolas de        mayor a menor. Por último la herramienta toma las primeras tres como        relevantes, bajo la consideración de que esta es un número óptimo. [15]   

(47)

referencia y se resaltan en negrita las 3 primeras palabras, que serán las        que se van a utilizar. 

 

Texto simplificado  Palabras clave 

“Lewy fired #FCBayern victory Cologne  check match gallery 

http://fcb.de/KOEAlbum2003” 

“Match” ­ 0.84  FCBayern” ­ 0.82 

“Cologne” ­ 0.7  “Victory” ­ 0.4  “Lewy” ­ 0.34  “Gallery” ­ 0.26  “Fired” ­ 0.24  “Check” ­ 0.2  “Messi playing Xavi Messi plays God”  “Messi” ­ 0.92  “God” ­ 0.6  “plays” ­ 0.5  “Xavi” ­ 0.42  “playing” ­ 0.24  “Ivan Rakitić Neymar target Liga  leaders Barcelona 9 points despite held  2­2 draw”  “Barcelona” ­ 0.82  “Neymar” ­ 0.8  “Despite” ­ 0.4   “Rakitić” ­ 0.4  “Draw” ­ 0.32  “Leaders” ­ 0.3  “Target” ­ 0.2  “Liga” ­ 0.2  “Ivan” ­ 0.2  “Points” ­ 0.2  “Held” ­ 0.1  “HALF TIME Man City 0 1 Man Utd.  advantage United break thanks Marcus  Rashford's cool finish #MCIMUN” 

“United” ­ 0.82  “Rashford's” ­ 0.5  “Cool” ­ 0.4  “Utd” ­ 0.4  “Marcus” ­ 0.4  “Break” ­ 0.4  “Advantage” ­ 0.3  “TIME” ­ 0.3  “Thanks” ­ 0.3  “Finish” ­ 0.3  “MCIMUN” ­ 0.3 

“Man” ­ 0.2  “HALF” ­ 0.2 

(48)

3.1.4 Extracción de temas candidatos

 

Para este proceso se utiliza un servicio que identifica temas candidatos de un        texto. La representación que utiliza dicho servicio para generar un espacio        con el conjunto de posibles temáticas de un texto es un árbol de temas.        Estos temas se encuentran ordenados desde la raíz hasta sus hojas desde        los temas más generalizadores en la raíz hasta los más específicos en las        hojas. Los temas más específicos están descritos por un conjunto de        entidades y palabras clave [16]

Con esto, el proceso de detección de temas candidatos consiste en ubicar las        palabras claves y entidades en las hojas para luego al subir a través del        árbol ir encontrando los temas candidatos. Por ejemplo para el tuit “Messi        playing like Xavi? whaaaat! Messi plays like God” con las entidades: “Messi”        y “Xavi”, “God”, y las palabras clave: “Messi”, “God” y “Xavi” se obtiene el        siguiente árbol: 

 

   

Ilustración 3.2 : Árbol de temas candidatos 

 

(49)

spiritualism”) se determinan los temas candidatos: “Football”, “Religion”,        “Sports”, “Art and Entertainment” y “Religion and spiritualism” para el tuit        elegido. Realizando el mismo procedimiento para todos los tuits de ejemplo        se obtiene la siguiente tabla. La cual muestra un resumen de los datos        anteriormente deducidos y la columna “Temas candidatos” muestra los        temas deducidos por el árbol de temas : 

   

Texto 

simplificado  Entidades  Palabras clave  candidatos Temas 

“Lewy fired  #FCBayern victory 

Cologne check  match gallery  http://fcb.de/KOE

Album2003” 

“FCBayern”, 

“Cologne”  “FCBayern“Match”, ”,  “Cologne”    “Football”,  “Sports”, “Art and  entertainment”  “Messi playing  Xavi Messi plays  God”  “Messi”, “Xavi”, 

“God”  “Messi”, “God”, “plays”  “Football”,”Religion”, “Sports”, “Art  and  entertainment”,  “Religion and  Spiritualism”  “Ivan Rakitić  Neymar target  Liga leaders  Barcelona 9 points  despite held 2­2  draw”  “Rakitić,  “Neymar”,  “Barcelona”  “Barcelona”,  “Neymar”,  “Despite”  “Football”,  “Sports”, “Art and  entertainment”  “HALF TIME Man  City 0 1 Man Utd.  advantage United  break thanks  Marcus Rashford's  cool finish  #MCIMUN” 

Referencias

Documento similar