Minería de Datos en Twitter aplicando técnicas de Lenguaje
NaturalPropuesta Memoria Título
Alumno: Franco Figueroa C.Profesor Guía: Daniel Campos D.
TemarioIntroducciónFundamentos y RelevanciaRevisión BibliográficaObjetivosMaterial y Métodos
Recursos Requeridos Grupos Involucrados Riesgos Metodología de Trabajo Hitos y Entregables Plan de Trabajo
Avance del ProyectoBibliografía
• El propósito de este proyecto es aportar en el desarrollo de una tecnología que nos permita analizar la información disponible en Twitter con el fin de encontrar información en común entre los usuarios para identificar oportunidades y/o amenazas que nos permitan aprovechar las primeras y prevenir las segundas. Este proyecto se inserta dentro de una de las líneas de investigación de la Escuela de Informática de la Universidad Andrés Bello en el ámbito de Minería de Redes Sociales.
Introducción
• Estudios Realizados:
▫ En Twitter existen varios estudios realizados por diferentes entidades para conocer a los usuarios, o también en apoyo a situaciones de catástrofe. En esta ultima existe una investigación realizada por la Universidad de Colorado la cual se adopto en Chile para mejorar la comunicación entre las personas afectadas por el terremoto en Febrero de 2010, la cual consiste en proponer una forma de escribir mensajes en Twitter utilizando HashTags(2). Existe también otro estudio el cual mide el estado de ánimo de las personas en un determinado país o cuidad, lo cual nos puede indicar que día de la semana es donde las personas sienten mayor stress o que ciudad es la más feliz.(3)
Introducción
•Este proyecto se inserta dentro de una línea de investigación de la Escuela de Informática de la Universidad Andrés Bello.
•Enfrenta el problema del procesamiento y análisis de textos en lenguaje Castellano escritos en la red social Twitter.
•Nos abre una gama de oportunidades de negocio, ya que podemos conocer a los usuarios. Ej: Saber que lugar de vacaciones prefieren.
Fundamentación y Relevancia
Procesamiento del Lenguaje Natural
• El lenguaje natural se utiliza como medio de comunicación entre los humanos, el cual puede ser en forma escrita o hablada. • Uno de los grandes retos dentro de la informática es la creación de computadores que puedan comprender el lenguaje natural. Es así como nace un área
de la informática conocida con el nombre de Procesamiento del Lenguaje Natural (PLN), que estudia la interacción de los computadores con el lenguaje humano.(4)
• El Procesamiento del Lenguaje Natural, a través de los sistemas informáticos, reconoce y utiliza la información expresada en lenguaje natural con el objetivo de desarrollar sistemas que permitan una comunicación eficiente entre los computadores y las personas. Para este efecto, se identifican los siguientes niveles de análisis:
• Análisis morfológicoSu función consiste en detectar la relación que se establece entre las unidades mínimas que forman una palabra, como puede ser el reconocimiento de sufijos o prefijos. Este nivel de análisis mantiene una estrecha relación con el léxico.
• Análisis sintáctico
Tiene como objetivo verificar que un conjunto de palabras expresadas en una frase u oración estén bien coordinadas y unidas, y correspondan a las formas gramaticales correctas.
• Análisis semántico
Su función es tratar de establecer el significado de las oraciones de un texto, y también resolver problemas de ambigüedades léxicas y estructurales. • Análisis Pragmático
Tiene como función agregar información al análisis del significado de una oración de acuerdo al contexto en que se encuentre.
• DificultadesLograr que el computador analice y entienda el lenguaje natural tiene varias dificultades, algunos de los problemas principales se debe a la ambigüedad en los distintos planos:
Plano Léxico: Existencia de significados diferentes para una misma palabra.Plano Sintáctico-semántico: Una frase puede significar lo mismo que otra y estar escritas de diferente manera.Plano Pragmático: El significado de una frase no siempre es su significado literal. Un ejemplo de ésto es la ironía. Otras dificultades son la separación de las palabras, ya que no todas las palabras son separadas por espacios en blanco, sino que también están separadas por guiones. En lenguajes distintos al castellano, tales como el chino mandarín, japonés y tailandés, las palabras no están separadas entre sí.También otra dificultad dentro del procesamiento del lenguaje natural es el uso de tildes, ya que esto podría cambiar el significado de una frase, y el uso de caracteres especiales, mayúsculas y minúsculas.
• Investigaciones Existen Investigaciones previas por miembros del Equipo de Investigación que pueden aportar al desarrollo de este proyecto, se posee una gramática del
lenguaje español la cual tiene varios años de trabajo, la cual nos puede apoyar en la definición de una propia gramática para los tweets.
Revisión Bibliográfica
Representación del Conocimiento
• La representación del conocimiento es una forma de resolver problemas de manera eficaz y potente. La elección de una adecuada representación de conocimiento nos puede simplificar la tarea de resolver un problema.(5)
• Existen distintas formas de representación del conocimiento, una de ellas son las redes semánticas propuestas por Quillan y Collins (1968).
• En las redes semánticas, la información se representa mediante nodos interconectados unos con otros a través de un conjunto de arcos etiquetados que representan las relaciones entre los nodos.
• Investigaciones
Existe una investigación realizada por Stuart C. Shapiro sobre como representar las situaciones mediante una estructura base. Esta forma de representación del conocimiento a través de redes semánticas se encuentra incluida en el sistema SNePs, Syntax and Semantics of Cassie.(6)
Revisión Bibliográfica
Twitter(7)
Twitter es una aplicación Web gratuita de microblogging que reúne las ventajas de los blogs, las redes sociales y la mensajería instantánea. Permitiendo a sus usuarios estar en contacto en tiempo real con personas de su interés a través de mensajes breves de texto los que se denominan “tweets”, que responden a una sencilla pregunta: ¿Qué estás haciendo?
Existen diferentes tipos de tweets, como se muestran a continuación:
Tweet Básico: Es un mensaje abierto a todo el mundo. Tweet Reply: Es una respuesta a un mensaje escrito por otro usuario y parte con @ seguido por el nombre de usuario.ReTweet: Es la retransmisión de un mensaje, se utiliza básicamente para difundir un mensaje interesante a sus seguidores.
Twitter nos proporciona 3 APIs: Streaming API, REST API y Search API, las cuales nos proporcionan diferentes servicios dependiendo de las necesidades decada uno. A continuación se explican cada una de las APIs.(8)
• Streaming API
Nos proporciona un flujo constante de tweets en tiempo real. Se pueden extraer tweets de manera aleatoria o también se pueden obtener por palabrasclave o por usuarios. La limitante de esta API es que la cantidad de datos y la velocidad de la recepción dependerán del tráfico con el que cuenten losservidores de Twitter.
• REST API
Nos permite tener acceso al core de los datos de Twitter. Se puede realizar todas las operaciones que se pueden hacer vía web, dependiendo si se está autentificado o no.
• Search API
Proporciona tweets escritos hasta de 7 días, permite buscar por cliente utilizado, lenguaje y localización. No requiereautenticación de usuario. La limitante en las otras dos APIs es que solo pueden hacer 150 peticiones por hora (por usuario o por IP en caso de no estarautentificado).
Revisión Bibliográfica
SNePs
• SNePs es un sistema desarrollado por Stuart Shapiro y sus colaboradores del Grupo de Investigación de SNePs (SNeRG), del Departamento de Ciencias de la Computación de la Universidad de Estatal de New York en Buffalo.(9)
• SNePs es un sistema que fue diseñado para representar las creencias, utilizando el lenguaje natural. En el manual de SNePs se muestra el uso de las funciones para el procesamiento de lenguaje natural, el cual consiste en un analizador morfológico, y un intérprete de gramáticas representadas por una red de transiciones aumentada o GATN.(10)
• SNePs además cuenta con una API(11) la cual nos provee de algunas funciones como: ▫ Ask▫ Tell▫ Askifnot▫ Askwh▫ Askwhnot
Revisión Bibliográfica
•Objetivos Generales:
Este proyecto tiene como objetivo contribuir al desarrollo de una tecnología que permita analizar la información disponible en las distintas redes sociales con el fin de identificar posibles amenazas y/o oportunidades relevantes y facilitar la toma de decisiones que permitan evitar las primeras y aprovechar las segundas
Objetivos
•Objetivos Específicos:
▫ Aplicar de técnicas de procesamiento lingüístico para el análisis de los textos escritos en la red social de Twitter.
▫ Representar el resultado del procesamiento lingüístico como redes semánticas proposicionales.
▫ Identificar patrones comunes en un conjunto de textos escritos en la red social Twitter.
Objetivos
ResultadosResultado Métrica CriterioUna propuesta de Lexicón y Gramática que permita el parsing de los tweets en español.
Capacidad de procesar los textos de los tweet bajo análisis
60% debe ser procesado por el lexicón y por la gramática
Una propuesta de representación de los tweets bajo análisis.
Capacidad de Representar los Tweets bajo análisis
30% debe ser representado por la estructura
Un conjunto de patrones representados como redes semánticas que reflejan similitudes entre los tweets bajo análisis
Grado de Similitud del resultado de los patrones encontrados por el sistema en comparación a los encontrados por una persona
70% de Similitud
Un sistema de software que permita extraer y analizar lingüísticamente la información de Twitter, de modo tal de identificar patrones que reflejen similitud entre los tweets bajo análisis.
Capacidad de Proceso del sistema
50% debe procesar la muestra.
•Recursos Humanos
▫Profesor de la Universidad Andrés Bello Daniel Campos D. que actuará de Profesor Guía del Alumno Memorista
▫Alumno Memorista encargado de realizar el proyecto completo
Recursos Requeridos
Recursos Requeridos•Recursos Materiales
▫Hardware
▫Software Microsoft Office 2007 Profesional Microsoft Project 2007 Microsoft Visio 2007 SNePS 2.7 Tortoise SVN 1.6.8 Foxit PDF Reader 3.2.0 NetBeans IDE 6.8
Hardware Especificaciones
Notebook Dell Inspiron 1420
Procesador Intel Core 2 Duo T5450 1.66GHz
Sistema Operativo Windows 7 Home Basic
Memoria RAM2 GB
Disco Duro320 GB (5400 rpm)
Grupos Involucrados
•La Escuela de Informática de la Universidad Andrés Bello.
•Contacto con grupo de investigación en IA (SNeRG)
•Contacto con centro de investigación en Data/Information Fusion en USA (CMIF)
• Se utilizará Scrum
• Se realizarán 9 Sprint de 8 días cada uno
• Roles:
▫Propietario del Producto: Franco Figueroa Canales y Daniel Campos Domínguez
▫Equipo de desarrollo: Franco Figueroa Canales.
▫Scrum Manager: Franco Figueroa Canales.
Metodología
Metodología1.Analisis
de los Tweets
2.Generar un
incremento en el
Lexicón
3.Generar un
incremento en la
Gramática
4.Definir una meta-estructura
5.Proponer una
Estructura para
representar el
conocimiento
6.Identificar Elementos
Lingüísticos
7.Definir e implementar método
de identificació
n de patrones
8.Incremento en el
Prototipo del
Software
Duración de 8 días
•Después de cada Sprint se evaluarán los riesgos y se planificará el siguiente Sprint, para luego tomar las medidas necesarias.
•Se tendrá una reunión con el propietario del producto donde se analizará el avance del proyecto.
Metodología
Hitos y Entregables
Hitos y Entregables
Plan de Trabajo
Plan de Trabajo
Plan de Trabajo
RiesgosNombre Impacto Probabilidad Mitigación Contingencia
Falta de Conocimiento
en el uso de la
Herramienta SNePs
Medio 35% Solicitar el apoyo del
Profesor Daniel Campos
D. el cual posee
conocimientos en el uso
de la herramienta
Contactarse con el Grupo
de Investigación SNeRG
para mayor información
en el uso de la
herramienta
Perdida de la
Información del proyecto
Alto 15% Mantener un respaldo de
la información en un
dispositivo de
almacenamiento portable
Creación de un
repositorio con todos los
archivos del proyecto.
Extender los plazos del
proyecto mas allá del
plazo limite
Alto 20% Realizar un seguimiento
a las actividades de la
carta Gantt y apoyar esta
con una herramienta de
control de proyectos
Solicitar formalmente
una extensión el plazo de
entrega del proyecto
justificando la razón de
esta solicitud
Plan de Trabajo
•
Conclusiones
• (1) “ Twitter’s Developer Conference”, http://es.justin.tv/twitterchirp#r=eXDPqdM~, Abril 2010
• (2) “Tweak the Tweet: New Twitter HashTag Syntax for Sharing Information During Catastrophes”, http://epic.cs.colorado.edu/tweak-the-tweet/helping_haiti_tweak_the_twe.html, Junio 2010
• (3) “Pulse of the Nation: U.S. Mood Throughout the Day inferred from Twitter”, http://www.ccs.neu.edu/home/amislove/twittermood/, Julio 2010
• (4) Nils J. Nilsson, Inteligencia Artificial – Una nueva síntesis, Mc-Graw Hill, 2001• (5) Rich Elaine, Knight Kevin , Inteligencia Artificial – Segunda Edición, Mc-Graw Hill,
1994 • (6) Stuart Shapiro, The Knowledge Frontier – Essays in the Representation of
Knowledge • (7) “Twitter ", http://twitter.com, Mayo 2010• (8) “APIs de Twitter”, http://apiwiki.twitter.com, Julio 2010• (9) SNePs, http://www.cse.buffalo.edu/sneps, Julio 2010 • (10) Stuart Shapiro and The SNePs Implementation Group , SNePs 2.7 User’s Manual,
2008 • (11) Java-SNePs API, http://www.cse.buffalo.edu/sneps/Docs/javadocs, Julio 2010
Bibliografía
Minería de Datos en Twitter aplicando técnicas de Lenguaje
NaturalPropuesta Memoria Título
Alumno: Franco Figueroa C.Profesor Guía: Daniel Campos D.