in

Análisis de sentimiento de Twitter en Python

Análisis de sentimiento de Twitter en Python

Cálculo de la puntuación de subjetividad y polaridad de una cuenta de Twitter

Przemyslaw Jarzynski

12 de oct de 2020·8 min de lectura

Foto de Luke Chesser en Unsplash

El análisis de sentimientos es una de las tareas más comunes en la ciencia de datos y la inteligencia artificial. En este artículo, usaremos Python, Tweepy y TextBlob para realizar un análisis de sentimientos de una cuenta de Twitter seleccionada usando la API de Twitter y el procesamiento del lenguaje natural.

Introducción

Usaremos Twitter para realizar un análisis de sentimiento del writdiez texto. Usaremos Twitter en este ejemplo, pero esto también se puede usar en un contexto comercial para analizar diferentes cuentas de redes sociales, reseñas de su empresa, reseñas de sus productos y servicios, análisis de tickets de soporte, correos electrónicos o texto libre de encuestas para tener una idea. del estado de ánimo que proviene de las personas que interactúan con usted y su empresa en línea.

¿Que aprenderás?

Aprenderá a realizar un análisis de sentimiento básico utilizando TextBlob; poderoso Procesamiento natural del lenguaje biblioteca para Pitón. También usaremos el WordCloud biblioteca para visualizar algunos de nuestros hallazgos y también trabajaremos con una API de Twitter. Familiarizarse con las API es una habilidad útil para los científicos de datos. Es un método muy común para obtener datos de Internet.

Definición del problema

Nuestra tarea es analizar los Tweets de una cuenta de Twitter individual en términos de Subjetividad y Polaridad. Identificaremos tweets individuales como positivo, negativo y neutral y calcular el porcentaje de tweets positivos. Usaremos el WordCloud biblioteca para mostrar una nube de palabras de las palabras más positivas de los tweets.

Solución paso-a-paso

Creando un entorno virtual

Queremos separar las bibliotecas Python específicas de Twitter de otras bibliotecas en nuestra computadora. Por eso crearemos un entorno virtual para este proyecto.

Debería tener una carpeta en su computadora donde tendría todos sus entornos virtuales almacenados. No debe haber nada más en esta carpeta, ningún archivo de proyecto, etc., solo diferentes entornos virtuales. Puede llamar a esta carpeta «virtualenvironments».

Una vez que tenga esa carpeta, cree su entorno virtual:

$ virtualenv twitter_venv

luego actívalo:

$ source twitter_venv/bin/activate

luego instalar Tweepy y otras bibliotecas:

(twitter_venv) $ conda install tweepy(twitter_venv) $ conda install textblob(twitter_venv) $ conda install wordcloud

Una vez que la biblioteca se haya instalado correctamente, puede desactivarla:

(twitter_venv) $ deactivate

Luego, debe agregar este entorno virtual a la configuración de su computadora portátil jupyter:

$ python -m ipykernel install — user — name=twitter_venv

Una vez que haya completado este paso, estará listo para continuar con el proyecto.

Crea una carpeta de proyecto

Cree una carpeta para un proyecto en su computadora llamada «Twitter-Sentiment-Analysis»:

$ mkdir “Twitter-Sentiment-Analysis”

Creación de claves de aplicaciones de Twitter

Para este proyecto, accederemos a información de Twitter usando API de Twitter. Para hacer esto, necesitamos una cuenta de desarrollador de Twitter.

Twitter ha introducido algunos requisitos nuevos para los desarrolladores y hay algunos pasos para completar este proceso.

Primero, debes ir a developer.twitter.com. Si no tiene una cuenta de Twitter estándar, debe crear una e iniciar sesión.

La cuenta estándar de Twitter le permitirá iniciar sesión, pero no le permitirá hacer nada más y debe solicitar el acceso de desarrollador yendo a esta dirección. developer.twitter.com/en/apply-for-access y haga clic en Solicitar una cuenta de desarrollador.

Tendrá que responder algunas preguntas. Por el motivo de utilizar las herramientas de desarrollo de Twitter, puede seleccionar Explorando la API.

Tendrá que responder algunas preguntas más sobre cómo utilizará la API de Twitter. Puede responder explicando que aprenderá ciencia de datos y que no planea construir ningún producto usando API (sujeto a que solo está creando una cuenta de desarrollador de Twitter para el propósito de este ejercicio, si planea usar una cuenta de desarrollador de Twitter para cualquier otra cosa, debe proporcionar más detalles).

Al final, debe aceptar el Acuerdo y la política del desarrollador y puede enviar su solicitud.

Una vez enviada la solicitud, deberá confirmar su dirección de correo electrónico haciendo clic en el enlace que Twitter le enviará. Después de confirmar su dirección de correo electrónico, su acceso a la cuenta de desarrollador de Twitter debería otorgarse casi de inmediato. En caso de que reciba un correo electrónico de Twitter solicitando información adicional o aclaración sobre su aplicación, debe proporcionar toda la información necesaria.

Una vez que se le conceda el acceso, vaya a esta url https://developer.twitter.com/en/apps y Crea una aplicación.

Deberá proporcionar un nombre, descripción, URL y la razón por la que está creando la aplicación.

Una vez que se crea su aplicación, vaya a Llaves y tokens pestaña. Usted tendrá Clave API y Clave secreta de API ya creado allí y necesita generar un Token de acceso y Secreto del token de acceso. Puedes hacerlo haciendo clic en Generar botón. Necesitará los cuatro valores para su proyecto de Análisis de opinión de Twitter. Cópielos todos ahora y guárdelos en algún lugar seguro del archivo. Los usaremos más tarde.

Iniciar un nuevo cuaderno

Ingrese a la carpeta del proyecto e inicie Jupyter Notebook escribiendo un comando en la Terminal / Símbolo del sistema:

$ cd “Twitter-Sentiment-Analysis”

luego

$ jupyter notebook

Haga clic en nuevo en la esquina superior derecha y seleccione twitter_venv ambiente virtual.

0* k2hZHlboEIY25Vd

Imagen del autor

Esto abrirá un nuevo cuaderno de jupyter en su navegador. Cambiar el nombre del Intitulado nombre del proyecto al nombre de su proyecto y ya está listo para comenzar.

Imagen del autor

Si está utilizando Google Colab, abra un nuevo cuaderno.

Cargando bibliotecas

Importando Tweepy, TextBlob, WordCloud, Pandas, Numpy y Matplotlib.

Carguemos el archivo de configuración (asegúrese de editar el archivo de configuración e ingresar su Detalles de la API de Twitter como se describe en la introducción).

Archivo de configuración config.csv tiene el siguiente formato:

twitterApiKey,twitterApiSecret,twitterApiAccessToken,twitterApiAccessTokenSecret
enter-your-value,enter-your-value,enter-your-value,enter-your-value

Y puedes encontrar un ejemplo de ello aquí.

Ahora necesitamos establecer todos los valores de configuración de la API de Twitter necesarios para la autenticación con Tweepy. Estos valores se leerán del config.csv archivo a las variables de Python.

Estamos haciendo una llamada de autenticación con Tweepy por lo que podemos llamar a una función para recuperar los últimos tweets de la cuenta de Twitter especificada.

Estamos usando Elon Musk Cuenta de Twitter como ejemplo, pero siéntase libre de cambiar la cuenta de Tweeter a otra diferente; incluso tu propia cuenta de Twitter.

Ahora vamos a recuperar el último 50 tweets y respuestas desde la cuenta de Twitter especificada.

Y vamos a crear Marco de datos de Pandas de eso.

Veamos qué hay en el marco de datos llamando al cabeza() función.

Imagen del autor

Antes de comenzar nuestro análisis de sentimientos, es una buena idea limpiar primero cada tweet de los datos innecesarios.

Vamos a crear un cleanUpTweet función que:

  • eliminar menciones
  • eliminar hashtags
  • eliminar retweets
  • eliminar URL

Y ahora lo aplicaremos para todos los Tweets en nuestro marco de datos Pandas.

También vamos a construir un par de funciones más para calcular la subjetividad y polaridad de nuestros tweets usando TextBlob.

Y ahora vamos a aplicar estas funciones a nuestro marco de datos y crear dos nuevas funciones en nuestro marco de datos. Subjetividad y Polaridad.

Ahora, veamos cómo se ve nuestro marco de datos ahora.

1*s9feWK3ZUKovNYbqG4zrCg

Imagen del autor

Tenemos algunas filas vacías aquí, así que antes de continuar con el procesamiento, eliminemos esas.

El siguiente comando eliminará todas las filas con la columna Tweet igual a «».

1*14vfUVBhQQ8dB0D3V MVAg

Imagen del autor

Podemos ver que hemos calculado la puntuación para la subjetividad y la polaridad en nuestro marco de datos.

Ahora creemos una función y categoricemos nuestros tweets como Negativo, Neutro y Positivo.

Imagen del autor

Y aplique esta función y cree otra característica en nuestro marco de datos llamada Puntaje.

Aquí está nuestro marco de datos con nuestros tweets, subjetividad, polaridad y puntuación para todos nuestros tweets.

1*KJB4TJNqt1

Imagen del autor

Tomemos ahora todos los tweets positivos y calculemos el porcentaje de tweets positivos de todos los tweets en nuestro marco de datos.

57.446808510638306 % of positive tweets

Ahora podemos visualizar tweets positivos, negativos y neutrales usando Matplotlib.

Imagen del autor

Podemos ver cómo los tweets Negativos, Neutrales y Positivos se difunden en esta cuenta.

También podemos visualizar la misma información mostrando los valores exactos de subjetividad y polaridad en el gráfico.

También podemos calcular el porcentaje de tweets objetivos.

27.659574468085108 % of objective tweets

Al final, también podemos generar una nube de palabras para ver los temas y las palabras más comunes utilizadas en los tweets que estábamos analizando.

Imagen del autor

El análisis de sentimientos de los tweets nos permitió calcular valores numéricos de subjetividad y polaridad.

Esto podría ayudarnos a comprender mejor esta cuenta de Twitter en términos del idioma que se está utilizando.

Combinar esto con información adicional sobre me gusta y comentarios puede ser muy útil desde el punto de vista del marketing y puede permitirnos encontrar alguna correlación entre la subjetividad, la polaridad y el compromiso de nuestros usuarios con una cuenta de Twitter específica.

Le recomendamos que experimente más con este ejemplo y que presente algunas ideas más sobre cómo se puede utilizar en la práctica.

Si desea obtener más información y experimentar con Python y la ciencia de datos, puede consultar otro de mis artículos Analizando datos de ventas farmacéuticas en Python, Introducción a la visión por computadora con MNIST y Reconocimiento facial de imágenes en Python.

Para consolidar su conocimiento, considere completar la tarea nuevamente desde el principio sin mirar los ejemplos de código y ver qué resultados obtendrá. Esto es algo excelente que puede hacer para solidificar su conocimiento.

El código completo de Python en Jupyter Notebook está disponible en GitHub:
https://github.com/pjonline/Basic-Data-Science-Projects/tree/master/8-Twitter-Sentiment-Analysis

¡Feliz codificación!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Gandalfs Windows 10PE Escritorio

Windows 10PE de Gandalf, un Windows portátil para llevar su llave USB

Instalación de JDK autoextraíble de 64 bits