Sentiment Analysis
El análisis de sentimientos clasifica la opinión expresada en un texto como positiva, negativa o neutra. Incluye métodos basados en léxicos y Transformer, aspectos y sesgos.
El análisis de sentimientos, también llamado minería de opiniones, es la tarea de procesamiento del lenguaje natural (NLP) que identifica la actitud expresada por un texto, normalmente como positiva, negativa o neutra, y a veces como una puntuación, una valoración por estrellas o una emoción, como la ira o la alegría. Las empresas lo aplican a reseñas de productos, tickets de soporte, respuestas a encuestas y publicaciones en redes sociales para medir la opinión de los clientes sobre un producto o una marca en más textos de los que cualquier equipo podría leer; además, los chatbots de soporte lo usan para derivar primero a las personas enfadadas a un agente humano.
Niveles de análisis#
El análisis a nivel de documento asigna una etiqueta a una reseña completa, mientras que el análisis a nivel de oración etiqueta cada oración. El análisis de sentimientos basado en aspectos (ABSA) va más allá e identifica la opinión sobre cada característica que menciona un texto: «La pantalla es preciosa, pero la batería apenas dura una mañana» expresa una opinión positiva sobre la pantalla y negativa sobre la batería. La tarea compartida SemEval-2014 sobre ABSA estandarizó este enfoque con reseñas de portátiles y restaurantes, y la extracción de aspectos se solapa con el reconocimiento de entidades con nombre (NER), ya que ambos identifican las cosas de las que habla una oración.
De los léxicos a los Transformers#
Los métodos basados en léxicos cuentan palabras de un léxico de sentimientos, una lista de palabras con puntuaciones positivas o negativas, y añaden reglas para las negaciones («no está bien») y los intensificadores («muy bien»). El método no supervisado de Peter Turney (2002) puntuaba frases según la frecuencia con que aparecían cerca de «excelente» o «deficiente» en la web, y VADER (2014) ajustó un léxico y unas reglas para las redes sociales, incluidos emoticonos, mayúsculas y signos de exclamación. También en 2002, Bo Pang, Lillian Lee y Shivakumar Vaithyanathan entrenaron clasificadores Naive Bayes, de máxima entropía y de máquinas de vectores de soporte (SVM) con reseñas de películas y descubrieron que superaban a las listas de palabras clave redactadas por humanos, pero clasificaban peor los sentimientos que los temas.
El Stanford Sentiment Treebank (2013) etiquetó 215 154 frases de 11 855 oraciones de reseñas de películas, lo que permitió a los modelos aprender cómo palabras como «no» y «pero» cambian el sentimiento de lo que viene después; su versión binaria, SST-2, pasó a formar parte del benchmark GLUE. Hoy, la mayoría de los clasificadores ajustan con fine-tuning un Transformer preentrenado, como BERT, con ejemplos etiquetados y convierten las puntuaciones de salida en probabilidades de clase con una softmax. DistilBERT ajustado con fine-tuning en SST-2 alcanza una precisión del 91,3 % en su conjunto de validación:
from transformers import pipeline
# DistilBERT fine-tuned on the Stanford Sentiment Treebank (SST-2)
classifier = pipeline("sentiment-analysis", model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
reviews = [
"The battery life is not bad at all.",
"Oh great, it crashed again five minutes after the update.",
"The screen is gorgeous, but the battery barely lasts a morning.",
]
for review, result in zip(reviews, classifier(reviews)):
print(f"{result['label']:<8} {result['score']:.3f} {review}")El clasificador interpreta «no está nada mal» como POSITIVO (0,997) y la reseña sarcástica «Oh, genial» como NEGATIVO (0,998). La tercera reseña elogia la pantalla y critica la batería, pero un modelo a nivel de documento solo puede devolver una etiqueta, NEGATIVO con 0,966, y el elogio desaparece del resultado. Los modelos de lenguaje grandes (LLM) también pueden clasificar sentimientos sin ejemplos (zero-shot) a partir de una instrucción y devolver una etiqueta por aspecto, pero el coste por reseña es mucho mayor que el de un clasificador de 66 millones de parámetros.
Análisis de sentimientos multimodal#
Las personas expresan sus opiniones mediante el tono de voz y las expresiones faciales, además de las palabras; a menudo, el sarcasmo solo se aprecia en el tono. CMU-MOSEI (2018), el mayor conjunto de datos para este ámbito en el momento de su publicación, etiqueta el sentimiento de 23 453 segmentos de vídeo de 1000 hablantes; los modelos de aprendizaje multimodal combinan la transcripción, el audio y el rostro del hablante para predecirlo, un objetivo que comparte con la computación afectiva. El canal facial plantea un problema de clasificación de imágenes: un modelo de clasificación de Ultralytics YOLO26 entrenado con recortes de rostros organizados en una carpeta por expresión devuelve una probabilidad para cada expresión en result.probs, el mismo tipo de salida softmax que produce el clasificador de texto anterior.
Retos#
El sarcasmo, la ironía y las comparaciones («mejor que el anterior, que tampoco era difícil») siguen siendo difíciles de detectar. El significado de las palabras relacionadas con sentimientos depende del dominio: «impredecible» elogia la trama de una película y critica la dirección de un coche, así que un modelo entrenado con reseñas de películas pierde precisión con las reseñas de productos si no dispone de nuevos datos de entrenamiento. Los modelos también heredan sesgos de sus datos. En 2018, Svetlana Kiritchenko y Saif Mohammad probaron 219 sistemas de análisis de sentimientos con oraciones que solo diferían en un nombre o una palabra que indicaba el género, como «él» o «ella», y varios daban sistemáticamente puntuaciones más altas o más bajas según el género o la raza que sugería el nombre.
Análisis de sentimientos y términos relacionados#
- Clasificación de texto: Tarea general de asignar etiquetas a un texto, como el tema o si es spam. El análisis de sentimientos es una clasificación de texto con etiquetas de opinión.
- Reconocimiento de emociones: Detecta emociones concretas a partir de texto, rostros, voz o señales fisiológicas. El análisis de sentimientos suele reducir la opinión a una polaridad.
- Reconocimiento de entidades con nombre: Detecta qué menciona un texto, y ABSA vincula cada mención con la opinión expresada sobre ella.










