La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Extracción y Almacenamiento de Datos para Análisis de Sentimientos

Presentaciones similares


Presentación del tema: "Extracción y Almacenamiento de Datos para Análisis de Sentimientos"— Transcripción de la presentación:

1 Extracción y Almacenamiento de Datos para Análisis de Sentimientos

2 Extracción y Almacenamiento de Datos para Análisis de Sentimientos
1) Extraer datos en tiempo real de Twitter usando Tweepy ( API de Twitter para Python ) captura.py 2) Almacenar en Mongo DB los datos obtenidos al usar Tweepy almacenar.py 3) Usar el API de MeaningCloud para analizar el sentimiento de cada tweet almacenado previamente analisis.py

3 Análisis de Sentimientos
Estudio computacional de opiniones, sentimientos, y emociones expresadas en textos. Objetivo principal: determinar la actitud de un escritor ante determinados productos, situaciones, personas u organizaciones. El tipo de información que puede obtenerse empleando AS incluye: Emoción del mensaje (positivo, negativo, neutro). Subjetividad del mensaje. Confianza. Determinación de la ironía. Bo Pang and Lilian Lee: Opinion Mining and Sentiment Analysis. Department of Computer Science, Cornell University (2008)

4 Aplicaciones del Análisis de Sentimientos
Enormes oportunidades pues puede ser aplicada a diversos temas: Analizar o cuantificar el éxito de un partido político o una asociación. Conocer la opinión de los usuarios de cierta marca, producto o personaje público. Realizar predicciones de lo que puede ocurrir en un futuro a partir de comentarios de usuarios. Realizar estudios de tendencia de mercado.

5 Uso del API de Twitter para Extraer Datos
El Stream API de Twitter permite obtener datos en tiempo real. Permite descargar un gran volumen de datos. Sigue temas y usuarios específicos. Descarga de datos sin límite. Existe implementación para un gran número de lenguajes.

6 Uso del API de Twitter para Extraer Datos
Tweepy Es una librería escrita en Python. Permite un fácil uso del Stream API de twitter. Ofrece una documentación clara y completa, dispponible en:

7 Uso de MongoDB para Almacenar Datos
Desarrollado por la compañía 10gen, iniciando el desarrollo de MongoDB en 2007. Es un una base de datos orientada a documentos. Es de tipo no-SQL. Es de uso libre y de código abierto. Presenta una estructura JSON (Mongo la denomina BSON).

8 Uso de Meaning Cloud para Analizar Datos
Es una compañía que brinda productos Saas (Software as Service) enfocados en el análisis semántico de texto, permitiendo a usuarios embeber el procesamiento en cualquier aplicación o sistema. Análisis de sentimientos: Analiza un texto e indica su polaridad, subjetividad, ironía y expresión de desacuerdo. Extracción de tema: Extrae información relevante de los textos e identifica apariciones de entidades nombradas y conceptos. Clasificación de texto: Realiza una clasificación de texto, basado en una categorización jerárquica o taxonomía.

9 Extracción y Almacenamiento de Datos para Análisis de Sentimientos
1) Extraer datos en tiempo real de Twitter usando Tweepy ( API de Twitter para Python ) captura.py 2) Almacenar en Mongo DB los datos obtenidos al usar Tweepy almacenar.py 3) Usar el API de MeaningCloud para analizar el sentimiento de cada tweet almacenado previamente analisis.py

10 Uso de Tweepy – Entorno de trabajo
Requerimientos iniciales: instalar librerías en nuevo directorio: AnálisisSentimientos Instalar librería Tweepy. Instalar librería Demjson. Instalar librería Pymongo.

11 Uso de Tweepy – Entorno de trabajo
Abrir un nuevo espacio de trabajo para almacenar los archivos que serán creados, en una carpeta llamada “AnalisisSentimientos”.

12 Uso de Tweepy – entorno de trabajo
Para instalar librería Tweepy: Abrir una ventana de línea de comandos: Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Instalar la librería: Windows: Ejecutar “python –m pip install tweepy” MacOSX: Ejecutar “sudo python –m pip install tweepy” Ejecución en MacOSX. Ejecución en Windows.

13 Uso de Tweepy – entorno de trabajo
Para instalar librería Demjson Abrir una ventana de línea de comandos: Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Instalar la librería: Windows: Ejecutar “python –m pip install demjson” MacOSX: Ejecutar “sudo python –m pip install demjson” Ejecución en MacOSX Ejecución en Windows

14 Uso de Tweepy – entorno de trabajo
Instalar librería Pymongo: Abrir una ventana de línea de comandos: Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Instalar la librería: Windows: Ejecutar “python –m pip install pymongo” MacOSX: Ejecutar “sudo python –m pip install pymongo” Ejecución en MacOSX Ejecución en Windows

15 Uso de Tweepy – Recuperar Tokens
Ingresar a la aplicación creada previamente.

16 Uso de Tweepy – Recuperar Tokens
Siempre puede recuperar sus Tokens de API Twitter: Ingresar a la pestaña “Keys and Access Tokens” Copiar “API key, API secret, Access Token, Access Token Secret”

17 El script en Python que invoca el API de Tweepy para capturar datos debe:
Crear una clase heredando de la clase “StreamListener”. Autenticar con credenciales de la aplicación Twitter. Crear un objeto “Stream” Iniciar el Stream. Guardar script. Ejecutar script. Para luego poderlo ejecutar con:

18 Contenido del script captura.py
Crear una clase heredando de la clase “StreamListener”.

19 Contenido del script captura.py
2. Autenticar con credenciales de la aplicación Twitter.

20 Contenido del script captura.py
Crear un objeto “Stream”. Iniciar el Stream - … separar cadenas con coma ! ATENCION !! Colocar las palabras y/o usuarios de los cuales se desea bajar tweets !!!

21 Contenido del script captura.py
Guardar script – parte 1

22 Contenido del script captura.py
Guardar script – parte 2 Seleccionar la carpeta “AnalisisSentimientos”. Nombrar al archivo “captura.py”

23 Una vez creado el archivo … ejecutarlo !
Ejecutar código: Abrir una ventana de línea de comandos. Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Acceder al directorio “AnalisisSentimiento” Ejecutar el comando “python captura.py”

24 Estructura de los Tweets
Atributos de cada tweet obtenido con Tweepy: text: Texto del tweet created_at: Timestamp de la creación del tweet. user: Datos del usuario que lo publica. id: identificador numerico del usuario en Twitter. screen_name: Nombre de usuario. description: Descripción del usuario followers_count: Número de seguidores. friends_count: Número de amigos. profile_image_url: Imagen de perfil. source: Utilidad empleada para publicar el tweet retweeted_status: Información de retweet. Solo está disponible si es un retweet.

25 Estructura de Tweets Datos de un tweet

26 Estructura de Tweets Datos de un retweet

27 Extracción y Almacenamiento de Datos para Análisis de Sentimientos
1) Extraer datos en tiempo real de Twitter usando Tweepy ( API de Twitter para Python ) captura.py 2) Almacenar en Mongo DB los datos obtenidos al usar Tweepy almacenar.py 3) Usar el API de MeaningCloud para analizar el sentimiento de cada tweet almacenado previamente analisis.py

28 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

29 Almacenamiento en MongoDB
Proceso para bajar e instalar MongoDB: Descargar el instalador. Ejecutar el instalador. Activar el Servicio MongoDB El servidor de MongoDB no es iniciado automáticamente por lo que es necesario ejecutarlo de forma manual. Inicio… Fin

30 Almacenamiento en MongoDB
Descargar el instalador (Windows). Acceder a página de descarga: Seleccionar Community Server. Seleccionar plataforma Windows. Seleccionar la arquitectura de la maquina destino (32/64 bits). Presionar “Download”.

31 Almacenamiento en MongoDB
2. Ejecutar el instalador (Windows). Entrar al directorio de descargas. Instalar el ejecutable descargado (lo colocará en Program Files) Aceptar a licencia. Seleccionar instalación completa. Presionar instalar.

32 Almacenamiento en MongoDB
Activar el servicio de MongoDB - Windows Crear en C: una carpeta denominada data y al interior que contenga otra carpeta denominada db. Estas carpetas las usará MongoDB para guardar los datos. Abrir una ventana de línea de comandos. Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. Acceder al directorio “bin” de “MongoDB” para iniciar el servicio: “C:\Program Files\MongoDB\Server\3.2\bin ” Y ejecutar el comando que instalará el servidor de MongoDB > mongod

33 Almacenamiento en MongoDB
Descargar el instalador (MacOSX). Acceder a página de descarga: Seleccionar Community Server. Seleccionar plataforma Mac OSX. Presionar “Download”.

34 Almacenamiento en MongoDB
2. Descomprimir, reubicar el instalador (MacOSX). Acceder al directorio de descargas. Mover el archivo descargado y descomprimido hacia la carpeta “AnalisisSentimientos”. Carpeta descomprimida

35 Almacenamiento en MongoDB
3. Para activar el servicio de Mongo (el mongod) en MacOSX . Abrir una ventana de línea de comandos. Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Emplear el comando “cd” y posicionarse en la carpeta de MongoDB. Importar una variable de entorno. Iniciar el servicio de MondoDB (mongod).

36 Antes de activar el servicio en MongoDB
Verificar que antes de levantar el servicio usando el mongod, NO exista un servicio corriendo en el puerto Para revisar usar: Comando para Windows: netstat –tan | findstr 27017 Comando para MacOSX/Linux netstat –tan | grep 27017 Si existiera, cambiar el no. Puerto en cada script de Python y al activar el servicio mongod, agregando –port <nuevo no. puerto> No existe un servicio corriendo Existe un servicio corriendo

37 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

38 Almacenamiento en MongoDB
Para crear base de datos, primero ubicarse en directorio adecuado Abrir una nueva ventana de línea de comandos. Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Acceder al directorio de “MongoDB”. Acceder al directorio “bin”. Directorio Mongodb en MacOSX. Directorio Mongodb en Windows.

39 Almacenamiento en MongoDB
2. Para crear la base de datos, usando el programa cliente denominado mongo Ejecutar el cliente de mongodb: Windows: mongo.exe Mac OSX: ./mongo Así se estará ejecutando el cliente de MongoDB y atenderá peticiones, como la de crear una base de datos Para crear la base de datos, escribir en la línea de comandos “use <schema>”.

40 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

41 Almacenamiento de los tweets en MongoDB
3. Escribir script en Python para conectarse con MongoDB Importar librería pymongo. Configurar conexión. Seleccionar el esquema. Inicializar la colección de tweets. from pymongo import MongoClient#Libreria Mongodb #Conexion a MongoDB cliente = MongoClient()#Inicializar objeto cliente = MongoClient(' ', 27017)#Indicar parametros del servidor bd = cliente.twitter#Seleccionar Schema tweets = bd.tweets#Seleccionar Coleccion

42 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

43 Almacenamiento en MongoDB
4. Extraer los tweets en Python usando Tweepy: tauth = tweepy.OAuthHandler(consumer_key, consumer_secret)#Autenticar tauth.set_access_token(access_token, access_secret)#Autenticar streamListen = MyStreamListener()#Instanciar clase "MyStreamListener" twStream = tweepy.Stream(auth = tauth, listener = streamListen )#Crear stream

44 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

45 Almacenamiento en MongoDB
5. Almacenar los tweets en MongoDB: Modificar el método “on_status”.

46 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Escribir script para conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

47 Almacenamiento en MongoDB
6. Guardar el código generado:

48 Almacenamiento en MongoDB
6. Guardar el código generado: Seleccionar la carpeta “AnalisisSentimientos”. Nombrar al archivo “almacenar.py” Seleccionar en tipo “Todos los archivos (*.*)”

49 Almacenamiento de los tweets en MongoDB
Instalar MongoDB. Crear base de datos. Conectar con Mongodb desde Python. Extraer datos usando Tweepy Almacenar tweets. Guardar código. Ejecutar código.

50 Almacenamiento en MongoDB
7. Ejecutar código: Abrir una nueva ventana de línea de comandos. Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Acceder al directorio “AnalisisSentimientos” Ejecutar el comando “python almacenar.py”

51 Extracción y Almacenamiento de Datos para Análisis de Sentimientos
1) Extraer datos en tiempo real de Twitter usando Tweepy ( API de Twitter para Python ) captura.py 2) Almacenar en Mongo DB los datos obtenidos al usar Tweepy almacenar.py 3) Usar el API de MeaningCloud para analizar el sentimiento de cada tweet almacenado previamente analisis.py

52 Análisis de Sentimientos
Crear cuenta de desarrollador en MeaningCloud. Obtener clave de acceso al API de MeaningCloud. Analizar tweets almacenados previamente en MongoDB

53 Análisis de Sentimientos
Crear cuenta de desarrollador – datos generales Ingresar a la dirección: Llenar el formulario. Presionar “Create account”

54 Análisis de Sentimientos
Crear cuenta de desarrollador - confirmar registro: Acceder a la cuenta de correo. Ingresar al correo de Meaning Cloud. Ingresar al enlace de confirmación.

55 Análisis de Sentimientos
Obtener clave de acceso al API, para usarla después en el script de Python: Ingresar a la dirección:

56 Análisis de Sentimientos
Listos para analizar tweets ! Crear función que realice petición http. Insertar clave de acceso. Petición http Ejemplo de la respuesta http desde la consola de MeaningCloud

57 Estructura del análisis de los datos generados por MeaningCloud.
Al analizar tweets: status: Contiene información acerca del proceso de extracción. code: Número que indica el estado del proceso. msg: Una cadena de texto que describe el estado del proceso. credits: Número que indica los créditos consumidos en la petición. remaining_credits: Número de créditos restantes. model: modelo utilizado para la evaluación. score_tag: Indica la polaridad encontrada en el texto. P+: strong positive P: positive NEU: neutral N: negative N+: strong negative NONE: without sentiment

58 Estructura del análisis de los datos generados por MeaningCloud.
Al analizar tweets: agreement: Este campo indica el acuerdo entre los sentimientos detectados en el texto. AGREEMENT: Los elementos tienen la misma polaridad. DISAGREEMENT: Existe desacuerdo entre la polaridad de los elementos. subjectivity: Indica la subjetividad en el texto. OBJECTIVE: El texto no tiene marcas de subjetividad. SUBJECTIVE: El texto tiene marcas subjetivas. confidence: Representa la confianza asociada con el análisis de sentimientos realizada al texto. Su valor es un numero entero en el rango de irony: Indica la ironía en el texto. NONIRONIC: El texto no tiene marcas de ironía. IRONIC: El texto tiene marcas de ironía.

59 Análisis de Sentimientos
Para analizar los tweets almacenados en MongoDB:  Iterar sobre la colección: Tweets Realizar conexión con MongoDB. Iterar Tweets no analizados.

60 Análisis de Sentimientos
Enviar a MeaningCloud, para procesar uno por uno: Analizar cada Tweet con MeaningCloud. Decodificar la respuesta Http. Almacenar el análisis de sentimiento.

61 Análisis de Sentimientos
Hemos terminado el script analisis.py Ahora, solo falta guardar el script que hemos creado:

62 Análisis de Sentimientos
Para terminar, guardemos el script denominado analisis.py en la carpeta de Analisis Sentimientos: Seleccionar la carpeta “AnalisisSentimientos”. Nombrar al archivo “analisis.py”

63 Análisis de Sentimientos – Tweets en Mongo
Para analizar los tweets, con el script analisis.py: Abrir una nueva ventana de línea de comandos. Windows: Presionar la combinación de teclas “Windows+R” e Ingresar la palabra “cmd” y presionar enter. MacOSX: Presionar la combinación de teclas “CMD+Espacio” e Ingresar la palabra “terminal” y presionar enter. Acceder al directorio “AnalisisSentimientos” Ejecutar el comando “python analisis.py” !Recuerde que tiene que tener corriendo el servidor de MongoDB (mongod)

64 Resumen Aprendimos a: Extraer tweets usando Tweppy (API para Python)
Almacenar los tweets en MongoDB Analizar cada tweet almacenado en MongoDB, usando MeaningCloud

65 Información útil Twitter API – Error Codes: Tweet Structure: Products - Meaning Cloud : Sentiment analysis en consola – Meaning Cloud: Code Errors – Meaning Cloud:

66


Descargar ppt "Extracción y Almacenamiento de Datos para Análisis de Sentimientos"

Presentaciones similares


Anuncios Google