¿Cómo construir un programa Python de análisis de sentimiento de Twitter? [Tutorial paso a paso]

Publicado: 2020-08-07

Fuente

A medida que las empresas se basan cada vez más en los datos, una técnica de aprendizaje automático llamada "Análisis de sentimientos" está ganando una inmensa popularidad día a día. Analiza los datos/texto digital a través del procesamiento del lenguaje natural (NLP) para encontrar la polaridad (positiva, negativa, neutra), los sentimientos y las emociones (enojado, feliz, triste, etc.) expresados ​​en el texto.

Dado que Twitter es una de las fuentes más completas de conversaciones públicas en vivo en todo el mundo, las empresas comerciales, los grupos políticos, etc. están interesados ​​en realizar un "Análisis de sentimiento" de los tweets para comprender las emociones/opiniones del mercado objetivo o para estudiar el mercado de los competidores. . Aunque están listos para usar programas con el propósito de lograr predicciones con un alto nivel de precisión, específicas para criterios y dominios particulares, la mejor manera es crear un modelo o programa personalizado de Twitter Sentiment Analysis Python .

Tabla de contenido

Tutorial paso a paso: crear un programa de análisis de sentimiento de Twitter usando Python

Este tutorial tiene como objetivo crear un programa de análisis de sentimiento de Twitter usando Python. El programa resultante debe ser capaz de analizar los tweets obtenidos de Twitter y comprender los sentimientos del texto, como su polaridad y subjetividad.

los privilegios

1. Lo más importante es el conocimiento básico de codificación/programación de Python.

2. Herramientas a instalar en su computadora:

  • Pitón
  • Bibliotecas: Tweepy, blob de texto, nube de palabras, pandas, NumPy, matplotlib

(Tweepy es la biblioteca oficial de Python para la API de Twitter que permite que Python se comunique con la plataforma de Twitter)

3. Una cuenta de Twitter

4. Una aplicación de Twitter debe ser creada y autenticada por Twitter: esto es necesario para obtener la 'Clave de consumidor y los tokens de acceso' que necesitará en su programación.

Si aún no tiene una aplicación de Twitter creada para este propósito, aquí le mostramos cómo crearla.

Leer más: Tutorial de Python NumPy: aprenda Python Numpy con ejemplos

¿Cómo crear una aplicación de Twitter?

  • Vaya al sitio para desarrolladores de Twitter: dev.twitter.com.
  • Inicia sesión con tu cuenta de Twitter
  • Ir a 'Mis aplicaciones'
  • Haga clic en 'Crear una nueva aplicación'.
  • A continuación, debe completar un formulario, como se muestra a continuación.

Fuente

  • A continuación, haga clic en 'Crear mi token de acceso'.
  • En la página siguiente, elija la opción 'Leer y escribir' en la columna 'Tipo de aplicación'.

Se le proporcionará la configuración de OAuth de su aplicación de Twitter, que incluye todos los detalles necesarios relacionados con su clave de consumidor, secreto de consumidor, token de acceso, secreto de token de acceso, etc. Debe tener en cuenta estos detalles, ya que estas credenciales de API le permitirán obtener tweets. de twitter Es mejor guardarlo en un archivo CSV en su computadora, luego puede cargar directamente el archivo CSV en su programa para leer las credenciales de API

Comience a crear el programa Python de análisis de sentimiento de Twitter

1. Importe las bibliotecas : Tweepy, blob de texto, nube de palabras, pandas, NumPy, matplotlib

2. Autentique la aplicación de Twitter: a continuación, debe autenticar su aplicación de Twitter utilizando las credenciales de configuración de OAuth de la aplicación de Twitter, también conocidas como credenciales de la API de Twitter. Para esto, debe crear un objeto de autenticación, utilizando los códigos como se muestra en la imagen a continuación.

Fuente

Para completar las credenciales de la API de Twitter, puede cargar el archivo CSV o copiar y pegar manualmente los detalles de la credencial.

3. Obtenga los tweets del usuario de Twitter: ahora, para obtener los tweets, primero debe elegir un usuario de Twitter cuyos tweets desee analizar para comprender el sentimiento expresado en él. Digamos; desea ver si los tweets de 'UserXYZ' son positivos, negativos o neutrales realizando un análisis de sentimiento de los 100 tweets del UserXYZ.

Código para obtener los tweets

publicaciones = api.user_timeline(screen_name = ”UserXYZ”, count= 100, Lang =”en”, tweet_mode=“extended”)

Ejecutar el comando anterior mostrará los tweets.

4. Crear marco de datos: ahora, debe crear un marco de datos para los tweets que ha obtenido. Supongamos que nombra la primera columna de su df como 'Tweets', y contendrá todos los tweets distribuidos en 100 filas ya que está analizando 100 tweets.

Df = pd.dataframe([tweet.full_text for tweet in posts], column=[ 'Tweet'])

5. Limpie el texto: La limpieza del texto de los tweets es importante para el éxito de su programa Python de análisis de sentimientos de Twitter, ya que habrá muchos símbolos no deseados como @, #, re-tweets, hipervínculos en las URL, etc. Aquí su La biblioteca de python se pone en uso.

Obtenga la subjetividad y la polaridad: una vez que haya limpiado el texto, debe crear dos funciones utilizando la biblioteca de Python TextBlob para obtener la subjetividad y la polaridad de los tweets. La subjetividad muestra cuán obstinado es el texto, y la polaridad describe la positividad o negatividad del texto. Sería mejor escribir el script de python para crear dos columnas más en su marco de datos para alojar Subjetividad y Polaridad. Entonces, ahora su marco de datos tendrá tres columnas (primero para los tweets, segundo para la subjetividad, tercero para la polaridad)

Los códigos para crear funciones de subjetividad y polaridad son los siguientes:

Fuente

Después de ejecutar el código, verá las puntuaciones de subjetividad y polaridad de cada tweet que se muestran en las columnas respectivas. TextBlob describe la polaridad dentro de una escala de 1 a -1. Entonces, si un tweet tiene una polaridad de -0.4 significa que es ligeramente negativo, y si tiene una subjetividad de 0.6, entonces es bastante subjetivo.

6. A continuación, puede optar por incluir una nube de palabras en su programa Python de análisis de sentimientos de Twitter , ya que las nubes de palabras también son populares como técnica de visualización de datos utilizada para el análisis de sentimientos, donde el tamaño de las palabras indica su importancia.

Ejemplo de una nube de palabras:

Fuente

Entrarán en acción las bibliotecas matplotlib, Pandas y WordCloud que ya ha importado. Para trazar una nube de palabras primero, debe crear una variable; llamémoslo 'todas las palabras' para representar todos los tweets en la columna 'Tweets' del marco de datos.

Código para crear WordCloud

allwords = ' '.join( [twts para twts en df [ 'Tweets']] )

WordCloud = WordCloud (ancho = xxx, alto = xxx, randon_state = xxx, max_font_size = xxx. generar (todas las palabras)

plt.imshow (nube de palabras)

plt.eje(“apagado”)

plt.mostrar()

7. Como tiene los puntajes de polaridad para cada tweet, puede comenzar a calcular el análisis positivo, negativo y neutral de los tweets. Para esto, necesita crear una función, llamémosla 'Análisis', en la que puede asignar la puntuación 0 a neutral, <0 a negativo y >0 a positivo.

Análisis de definición (puntuación):

Si puntuación < 0

devuelve 'Negativo'.

puntuación elif == 0

volver 'neutro

demás,

devuelve 'positivo'.

A continuación, para alojar los resultados del análisis de sentimiento de los tweets, cree una nueva columna en su marco de datos, asígnele el nombre 'TwtAnalysis' y luego escriba el siguiente código:

df [ 'TwtAnalysis' ] = df [ 'Polaridad' ]. aplicar (Análisis)

8. El nuevo marco de datos tendrá la columna añadida denominada 'TwtAnalysis' y se referirá a cada tweet como positivo, negativo o neutral según su puntaje de polaridad. Un ejemplo se muestra a continuación en la imagen:

Fuente

9. Una vez que tenga la clasificación de los tweets como positivos, negativos y neutrales, puede continuar con la construcción de su programa Twitter Sentiment Analysis Python para representar los datos en diferentes formatos tales como:

  • Obtenga el porcentaje de tweets positivos, negativos o neutrales.
  • Imprima todos los comentarios positivos o tweets negativos o neutrales por separado
  • Cree un gráfico de análisis de sentimiento visual de los tweets positivos, negativos y neutrales, y mucho más.

Lea también: Las 9 principales bibliotecas de Python para el aprendizaje automático

Conclusión

El programa Twitter Sentiment Analysis Python , explicado en este articulo, es solo uno manera de crear un programa de este tipo. El desarrollador puede personalizar el programa de muchas maneras para que coincida con las especificaciones para lograr la máxima precisión en la lectura de datos, esa es la belleza de programarlo a través de Python, que es un gran lenguaje, respaldado por una comunidad activa de desarrolladores y demasiadas bibliotecas.

Python tiene un alcance inmenso en el espacio del aprendizaje automático y la ciencia de datos. Los que llevan tiempo programando saben bien que Machine Learning seguirá siendo uno de los avances en el futuro de la programación.

Si desea obtener una experiencia de aprendizaje integral y estructurada, también si está interesado en obtener más información sobre el aprendizaje automático, consulte el Diploma PG de IIIT-B y upGrad en Aprendizaje automático e IA, que está diseñado para profesionales que trabajan y ofrece más de 450 horas. de capacitación rigurosa, más de 30 estudios de casos y asignaciones, estado de ex alumno de IIIT-B, más de 5 proyectos prácticos finales y asistencia laboral con las mejores empresas.

¿Cuál es la importancia funcional del análisis de sentimientos en las redes sociales?

En esta era de las redes sociales, las opiniones de los consumidores tienen un poder infinito para hacer o deshacer una marca. El análisis de sentimientos es la mejor manera de comprender con precisión los factores impulsores detrás de las opiniones y emociones de los consumidores. Con los datos disponibles del análisis de sentimientos, las empresas pueden encontrar su público objetivo, identificar personas influyentes en las redes sociales para su marca y detectar tendencias de mercados emergentes. Además, el análisis de sentimientos en las plataformas de redes sociales también ofrece una idea completa de la salud de su marca; las empresas pueden recibir comentarios honestos de los consumidores sobre sus productos y servicios recién lanzados para mejorarlos. También es eficaz en el manejo de la reputación en línea al identificar mejor los ámbitos de mejora y la resolución de problemas.

¿Puedes aprender Python por tu cuenta?

Si tiene algún nivel de experiencia con la programación, ciertamente puede comenzar a aprender Python por su cuenta. Python viene con una estructura sintáctica comparativamente simple y también es intuitivo, lo que lo hace fácil de entender incluso para principiantes. Además, es fácil instalar el paquete y ejecutarlo en su máquina desde cualquier lugar. Puede acelerar su aprendizaje inscribiéndose en cursos de Python, asistiendo a bootcamps de codificación. Con una comunidad de desarrolladores activa que siempre está dispuesta a brindar soporte, una gran cantidad de recursos de aprendizaje y documentación, los principiantes pueden aprender los fundamentos de Python en aproximadamente 7 u 8 semanas.

¿Qué es más difícil de aprender entre Python y C++?

Python y C++ son lenguajes de programación completamente diferentes con comportamiento y características completamente diferentes. Sin embargo, ambos soportan fuertemente la programación orientada a objetos. Pero considerando el marco general de Python, es sencillo, mucho más fácil y rápido de aprender que C++. De hecho, muchas personas aprenden Python para experimentar cómo se siente la codificación simple. Python es de código abierto, gratuito y ofrece una gran confiabilidad y facilidad cuando se trata de desarrollar aplicaciones complejas de aprendizaje automático. Si bien C ++ es más eficiente en términos de rendimiento, no se considera adecuado sobre Python para proyectos de aprendizaje automático.