Inicio > Business Analytics > Oracle Endeca – Text Enrichment y Sentiment Analysis

Oracle Endeca – Text Enrichment y Sentiment Analysis

img tags

Hace un par de semanas avanttic organizó en Barcelona un workshop sobre Oracle Endeca Information Discovery (EID).

Uno de los temas que más despertó la curiosidad de los asistentes, y que de hecho es uno de los puntos fuertes de Endeca, es el Sentiment Analysis, o sea, la capacidad de tratar no solo contenido no estructurado sino de establecer si este contenido tiene una connotación positiva o negativa.

Hoy en día, casi cada entidad, tanto comercial como pública, tiene su presencia en las redes sociales (ej. Facebook, Twitter, etc.) y tener una buena reputación es de vital y estratégica importancia.

Debido a la gran cantidad de información no estructurada que se produce a diario, es necesario disponer de algoritmos que sean capaces de analizar este contenido y extraer la estructura y el significado que “se esconde” en este gran volumen de datos.

Sentiment Analysis es parte de lo que se conoce como Text Analytics, un conjunto de técnicas lingüísticas (sintácticas y semánticas),  analíticas y predictivas para extraer contenido a partir de documentos no estructurados.

Como seres humanos, la tarea de decodificar el significado de una frase es automática y lo hacemos sin darnos cuenta, pero el lenguaje tiene muchas trampas para las maquinas.

Básicamente porque el lenguaje es ambiguo. La misma palabra puede referirse a conceptos distintos según el contexto. Sin mencionar los infinitos matices relacionados con la sensación que se quiere transmitir al receptor (sarcasmo, ironía, critica, ira, agradecimiento, etc.).

Imagen1Hay muchísima literatura sobre las técnicas de NLP (Natural Language Processing). La mayoría se basan en un proceso de “tokenización”. Para poder analizar un texto hay que dividir cada frase en “tokens”, o sea, en sus partes mínimas y aplicar un análisis gramatical y sintáctico para detectar cada uno de los elementos de la frase (sujeto, verbo, preposición, etc.). Este proceso es conocido también como POS (Part of Speech) tagging y consiste en asignar un tag a cada una de las parte del discurso. Si pensamos en la palabra “como”, por ejemplo, resulta evidente que no significa lo mismo en “Me como una manzana” que en “Me gustan los deportes, como el futbol y el tenis”. Además hay que detectar donde empieza y termina una frase, y el simple punto puede no ser un separador suficiente (ej. “<Alea iacta est.> dijo Cesar”). Combinando varias técnicas es posible determinar la “estructura” de un documento (o de un conjunto de documentos) y utilizarla para analizar su contenido.

Otro aspecto importante es la Entity Detection, que indica la capacidad de detectar entidades (ej. localidades geográficas, nombres de empresas, etc.) en un texto. El sistema más simple se basa en un listado de términos que el programa buscará en los textos a analizar, mientras los sistemas más complejos pueden ser “entrenados” para reconocer las entidades automáticamente e identificar, por ejemplo, “NY”, “NYC” y “New York” como entidad única.

Entity Detection es una de las características del modulo Text Enrichment. Este modulo utiliza el motor de Salience, un producto propiedad de la empresa Lexalytics (licenciado aparte). Lexalytics es líder del software NLP desde hace varios años y lo mejora continuamente.

El módulo, a través de la feature Names and Entities es capaz de detectar:

  • Compañías (ej. nombres de empresas)
  • Personas
  • Localidades geográficas
  • Productos
  • Deportes
  • Títulos
  • Entidades ad-hoc (“White-list”, listado proporcionado por el usuario)

textenrich_graph

Además el modulo detecta los temas principales tratados en el texto (Themes), el texto entre comillas (Quotations) y crea automáticamente un resumen del texto (Document Summary).

emotionEn la web de Lexalytics es posible probar cada una de estas features (http://www.lexalytics.com/web-demo) y evaluar la eficacia del Sentiment Analysis. A cada elemento del texto se le asigna una puntuación (sentiment score) entre -1: negativo y +1: positivo, siendo 0: neutro, que valora el grado de positividad/negatividad que conlleva cada término. ¿Cómo se determina el sentiment score? A partir de una “red semántica” se generan listados de términos positivos y negativos, con distintos grados de “positividad” y “negatividad”. Por ejemplo, “excelente” se considerará “más positivo” que “bueno”. La proximidad de una palabra con cada uno de estos “indicadores de sentimiento” determinará el sentiment score. Por lo tanto la expresión “excelentes previsiones” tendrá una puntuación positiva bastante superior a “buenas previsiones”. Lexalytics ha elaborado un algoritmo para combinar las puntuaciones de cada elemento detectado y devolver el “sentimiento” general del texto.

La parte de Sentiment Analysis está implementada en el módulo Text Enrichment with Sentiment Analysis, un add-on para Endeca que utiliza los algoritmos de Lexalytics. Actualmente soporta 10 idiomas, entre los cuales están el castellano, el alemán, el francés y el italiano.

Resumiendo, Endeca incorpora unas herramientas NLP que permiten analizar y clasificar texto no estructurado. En empresas de retail o con mucha presencia en las redes sociales es fundamental poder aprovechar la información que estos medios proveen. Detectar una queja a tiempo o una demanda insatisfecha de un cliente, expresada a través de un post o un tweet, son una ventaja competitiva que Endeca nos permite capitalizar en nuestro beneficio.

  1. Miriam Valdez
    octubre 9, 2015 en 01:34

    Hola, me gusto mucho su explicación sobre esta parte del análisis de sentimiento, me gustaría profundizar un poco más sobre el tema, es decir saber como las reglas que me permitan afinar el diccionario ya que me estoy enfrentando a situaciones de evaluación como: No es amable y la oración No es se encuentra dentro de los negadores con -1 y amable en mi diccionario con un valor de 1, sin embargo la frase me la deja como positiva. Me podrían dar un contacto con el que me pueda comunicar, me interesan sus servicios.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: