Hace poco, mientras compraba en Amazon una funda para un ordenador portátil, me topé con una crítica de un cliente bastante divertida:
“Esta es la mejor funda para portátil de la historia. Es tan buena que en los dos meses que llevo usándola, es digna de ser utilizado como una bolsa de supermercado”.
El sarcasmo innato en la revisión es evidente ya que el usuario no está contento con la calidad de la funda. Sin embargo, como la oración contiene palabras como ‘mejor’, ‘bueno’ y ‘digno’, la crítica puede confundirse fácilmente con una positiva. Es un fenómeno común que dichas críticas humorísticas, aunque crípticas, se vuelvan virales en las redes sociales. Si tales respuestas no se detectan y se actúa sobre ellas, pueden resultar perjudiciales para la reputación de una empresa, especialmente si están planeando realizar un nuevo lanzamiento. La detección del sarcasmo en las revisiones es un caso de uso importante del procesamiento del lenguaje natural, y veremos cómo el aprendizaje automático puede ser de ayuda en este sentido.
Tabla de contenidos
Análisis de sentimientos: obtener información vital de datos no estructurados
Antes de entrar en el meollo de la detección del sarcasmo, intentemos tener una visión global del análisis de sentimientos.
El análisis de sentimientos, también conocido como “opinion mining”, es un subcampo del procesamiento del lenguaje natural (PLN) que intenta identificar y extraer opiniones de un texto dado.
Anteriormente, las empresas confiaban en métodos tradicionales como encuestas y estudios de grupos objetivos para obtener los comentarios de los consumidores. Sin embargo, las tecnologías respaldadas por el aprendizaje automático y la inteligencia artificial han permitido analizar texto de una amplia variedad de fuentes con mucha más precisión. No es necesario decir que la capacidad de extraer emociones del texto es una herramienta muy valiosa que tiene el potencial de mejorar el ROI de muchas empresas, de manera espectacular.
Importancia del análisis de sentimientos
Paul Hoffman, el CTO de Space-Time Insight, dijo una vez: “Si deseas comprender a las personas, especialmente a tus clientes … entonces debes ser capaz de poseer una gran capacidad para analizar textos “. No podríamos estar más de acuerdo con Paul, ya que el poder que el análisis de texto brinda a las empresas ha sido bastante evidente en los últimos años. Con un aumento en las actividades de las redes sociales, las emociones son vistas como productos valiosos desde una perspectiva comercial. Al evaluar cuidadosamente la opinión y los sentimientos de las personas, las empresas pueden averiguar razonablemente qué piensan las personas sobre un producto y, en consecuencia, incorporar retroalimentaciones.
Sarcasmo: el sentimiento negativo que usa palabras positivas
El análisis de sentimientos no es una tarea fácil de realizar. Los datos de texto a menudo vienen precargados con mucho ruido. El sarcasmo es uno de esos tipos de ruido presente de forma innata en las redes sociales y las opiniones de productos que pueden interferir con los resultados.
Los textos sarcásticos demuestran un comportamiento único. A diferencia de una simple negación, una oración sarcástica transmite un sentimiento negativo utilizando solo una connotación positiva de las palabras. Aquí hay algunos ejemplos donde el sarcasmo es bastante evidente.
El análisis de sentimientos puede confundirse fácilmente con la presencia de palabras tan sarcásticas y, por lo tanto, la detección de sarcasmo es un paso de preprocesamiento vital en muchas tareas de PLN. Es útil identificar y eliminar las muestras ruidosas antes de entrenar modelos para aplicaciones de PLN.
Detección de sarcasmo Driverless AI (DAI)
Driverless AI es un producto de machine learning deH2O.ai. Viene equipado con guías de procesamiento del lenguaje natural (PLN) para la clasificación de texto y problemas de regresión. La plataforma admite texto independiente y texto con otros valores numéricos como características predictivas. Las siguientes guías y modelos se han implementado en DAI:
La plataforma convierte automáticamente las cadenas de texto en características utilizando técnicas potentes como TFIDF, CNN y GRU. Con TensorFlow, Driverless AI también puedes procesar bloques de texto más grandes y construir modelos utilizando todos los datos disponibles para resolver problemas comerciales. Driverless AI tiene capacidades de PLN de última generación para el análisis de sentimientos, y la utilizaremos para construir un clasificador de detección de sarcasmo.
Conjunto de datos
El conjunto de datos consta de 1.3 millones de comentarios sarcásticos del sitio web de comentarios de Internet Reddit, etiquetados como sarcásticos y no sarcásticos. La fuente del conjunto de datos es un documento titulado: “A Large Self-Annotated Corpus for Sarcasm”. También se puede encontrar una versión procesada del conjunto de datos en Kaggle . Exploremos el conjunto de datos antes de ejecutar los diversos algoritmos de clasificación.
Importando los datos
El conjunto de datos consta de un millón de filas y cada registro consta de diez atributos:
A nosotros nos interesa especialmente dos columnas:
label
:0
para el comentario sarcásticoy1
para el que no lo es.comment
: la columna de texto que será usada para llevar a cabo el experimento.
Análisis exploratorio de datos
El conjunto de datos está perfectamente equilibrado, con un número igual de tweets sarcásticos y no sarcásticos.
La distribución de longitudes para comentarios sarcásticos y normales también es casi la misma.
Dado que el conjunto de datos se ha convertido a un formato tabular, está listo para incluirse en Driverless AI. Ten en cuenta que las características de texto se generarán y evaluarán automáticamente durante el proceso de ingeniería de características.
Lanzando el Experimento
Lanzaremos nuestro experimento en tres partes para obtener los mejores resultados posibles.
- Con guías incorporadas TF / IDF NLP
En la primera parte, utilizaremos las capacidades incorporadas TF / IDF de DAI.
En caso de que desees actualizar tus conocimientos sobre cómo comenzar con Driverless AI, no dudes en realizar una Prueba de funcionamiento. La Prueba de funcionamiento es el DriverlessAI de H2O en la nube de AWS, donde puedes explorar todas sus características sin tener que descargarla.
Comienza una nueva instancia de DAI. Luego, divide el conjunto de datos en conjuntos de entrenamiento y prueba en una proporción de 70:30 y unalabel
especifica como la columna objetivo. También deseleccionaremos todas las otras columnas y retendremos solo la columna comment
n nuestro conjunto de datos. Finalmente, seleccionaLogLoss
como anotador manteniendo todos los demás parámetros como predeterminados e inicia el experimento. La pantalla debería quedarse de la siguiente manera:
Con guías incorporadas TF / IDF NLP
- Con guías integradas de Tensorflow NPL
Como alternativa, lanzaremos otra instancia del mismo experimento, pero con los modelos Tensorflow. Esto se hace ya que TextCNN se basa en los modelos TensorFlow. Haz click en la pestaña ‘Expert Settings’
y conecta ‘TensorFlow Models’
. El resto del proceso sigue siendo el mismo.
Con guías integradas de Tensorflow NPL
- Con guías de sentimientos personalizados
Si los built-in recipes no son suficientes, puede valer la pena construir nuestro propio recipe centrado en nuestro caso de uso específico. La última versión (1.7.0) de DAI implementa una característica clave llamada BYOR que significa Bring Your Own Recipes . Esta característica ha sido diseñada para permitir que los científicos de datos personalicen el DAI según sus necesidades comerciales. Puedes leer más sobre esta característica aquí .
Para cargar una guía personalizada, ve a la configuración experta y carga la guía deseada. H2O ha creado y abierto más de 80 guías que pueden usarse como plantillas. Se puede acceder a estas guías desde https://github.com/h2oai/driverlessai-recipes . Para este experimento, usaremos la siguiente:
text_sentiment_transformer.py
que extrae el sentimiento del texto usando modelos previamente entrenados de TextBlob.
TextBlob es una biblioteca de Python y ofrece una API simple para acceder a sus métodos y realizar tareas básicas de PLN. Puede realizar muchas tareas de PLN como análisis de sentimientos, revisión ortográfica, creación de resúmenes, traducción, etc. Haz clic en la pestaña expert settings y navega driverlessai-recipes > transformers > nlp
y selecciónala (driverlessai-recipes > transformers > nlp). Haz clic en save para guardar la configuración.
A continuación, también puedes seleccionar transformadores específicos y deseleccionar el resto.
Resumen de los resultados del experimento
La siguiente captura de pantalla muestra la comparación entre las tres instancias de DAI con diferentes guías. La inclusión de una guía personalizada redujo el componente Logloss de 0,54 a 0,50, que, cuando se traduce a un dominio comercial, puede tener un valor inmenso.
Una vez que se realiza el experimento, los usuarios pueden hacer nuevas predicciones y descargar la scoring pipeline, como cualquier otro experimento de Driverless AI.
Conclusión
El análisis de sentimientos puede desempeñar un papel crucial en el dominio de marketing. Puede ayudar a crear mensajes de marca específicos y ayudar a una empresa a comprender las preferencias del consumidor. Estas ideas podrían ser críticas para que una empresa aumente su alcance e influencia en una variedad de sectores.