Minería de Opinión = Sentimental Analysis

El análisis de sentimiento se refiere a los diferentes métodos de lingüística computacional que ayudan a identificar y extraer información subjetiva del contenido existente en el mundo digital (redes sociales, foros, webs, etc.). Gracias al análisis del sentimiento, podemos ser capaces de extraer un valor tangible y directo, como puede ser determinar si un texto extraído de la red Internet contiene connotaciones positivas o negativas.
El análisis de sentimientos, también conocido como minería de opinión, se trata de una tarea de clasificación masiva de documentos de manera automática, que se centra en catalogar los documentos en función de la connotación positiva o negativa del lenguaje ocupado en el mismo.
Con las redes sociales, los usuarios tienen hoy en día todo tipo de facilidades para mostrar sus opiniones sobre cualquier tema que deseen. Tener constancia sobre las opiniones referentes a una marca o producto y medir su impacto es actualmente de vital importancia para todas las empresas, ya que es tu imagen lo que está en juego.
A toda la información que se recopila de esta forma se le denomina minería de opinión (opinión mining) y gracias a ella, las empresas  tienen una inmediata disponibilidad de la información deseada. Además, la minería de opinión no solo permite responder “qué opinan los internautas sobre su propia marca o producto” sino que facilita,  mediante los medios adecuados, obtener ventajas competitivas en diferentes ámbitos.
Gracias al análisis de sentimiento o minería de opinión podemos recopilar información suficiente para conocer qué piensa o qué opinan los usuarios (o target) en la red Internet.
¿Qué es el análisis de sentimiento?¿qué es minería de opinión?
En las redes sociales y en la red en general se encuentran multitud de textos, en los cuales deben aplicarse subjetividad y no únicamente clasificarlos según su naturaleza o procedencia. Existen dos formas de enfrentarse al análisis de sentimientos: aplicando un enfoque semántica o aplicando un aprendizaje automático (Eugenio Martínez Cámara, Mª Teresa Martín Valdivia, L. Alfonso Ureña).
Análisis del sentimiento_itelligent
Cómo funciona el análisis de sentimiento
  1. Mediante el análisis del sentimiento, queremos lograr entender cuál es la intención exacta de una frase. Saber si se refiere a una marca, a un producto en concreto o a cualquier otro aspecto.
  2. Posteriormente queremos conocer que valoración tiene dicha frase, y para ello se le aplica la denominada polaridad, a través de la cual se clasifica el mensaje en función de la intención que tenga el autor al realizarlo, pudiendo ser este positivo, neutro o negativo. Esto permite controlar el sentimiento de los usuarios respecto a una marca o producto, con lo que obtendremos los puntos fuertes y débiles sobre ello fácilmente.
  3. Para aplicar esta polaridad y posteriormente poder obtener datos concluyentes y predecir comportamientos futuros.
  4. Existen básicamente dos formas de procesar la información obtenida tal como mencionábamos en el punto anterior:
  • El análisis manual suele darse en casos en los que las palabras claves sobre las que se quiere obtener información pueden representar diferentes significados en diferentes ámbitos, por lo que habrá que estar atento e ir clasificando cada texto en su lugar correspondiente. Un buen ejemplo sería una marca o el nombre de una empresa que se llama igual que una ciudad, de este modo se recopilarían multitud de datos que no tienen nada que ver con lo que de verdad se pretende obtener.
  • El análisis de sentimiento automático. Este comienza con el establecimiento de una serie de palabras clave para que cualquier texto que contenga esa palabra o combinación de ellas, quede automáticamente encuadrado en una categoría de una forma previamente definida o descartado directamente. Por ejemplo, mensajes que contengan “No me gusta”, “odio” o “no recomiendo” se clasificarán automáticamente cómo datos negativos. Mientras que, aquellos mensajes que incluyan un “excelente”, “genial” o “perfecto”, quedarán clasificados cómo positivos.
Qué limitaciones posee el análisis de sentimiento automatizado
Exactamente no hay ningún método de combinar correctamente las diferentes palabras a utilizar para que el anáisis de sentimiento sea 100% fiable.
Los sistemas que se limitan a la configuración y extracción de contenido con palabras clave son incapaces de generar resultados satisfactorios de análisis de sentimiento en su totalidad. Esto viene dado por la complejidad del idioma humano. Por ejemplo, ¿cómo le inculcas a un robot la capacidad de definir si una frase es realizada con sarcasmo o no?
Anteriormente hemos mencionado el término “perfecto” cómo un adjetivo positivo pero, dependiendo del contexto, este podría cambiar todo el significado de la frase. De esta manera, podría surgir un mensaje que dijera lo siguiente: “Perfecto mensaje a favor del machismo, os habéis lucido”. Este mensaje debería ir entonces clasificado como negativo.
Por este motivo, muchos algoritmos cometen errores, encontrándose con la imposibilidad de fijar una longitud exacta del comentario o la intención real que lleva una determinada palabra. Es decir, no son capaces de inferir de una valoración exacta de las diferentes relaciones semánticas, y se puede afirmar que actualmente es imposible conseguir un 100% de éxito en este campo.
Sin embargo,  los sistemas de análisis del sentimiento más avanzados son capaces de luchar con estos posibles errores y ofrecer resultados más ajustados.
Cómo son las plataformas para análisis del sentimiento
Es aquí donde entra en juego el aprendizaje automático (machine learning). Este término hace referencia a la creación de sistemas a través de la Inteligencia Artificial,  donde lo que realmente aprende es un algoritmo, el cual supervisa los datos con la intención anteriormente mencionada: poder predecir comportamientos futuros.
Machine learning y análisis de sentimiento, juntos en el camino
Esa cantidad ingente de datos son imposibles de analizar por una persona para sacar conclusiones y menos todavía para hacer predicciones. Los algoritmos, correctamente utilizados, en cambio, sí pueden detectar patrones de comportamiento.
Existen herramientas de monitorización de las redes sociales como NetOpinion que hacen de esta tarea sea sumamente fácil y rápida, por su capacidad de monitorizar en tiempo real y su gestión y procedimientos en la supervisión de los datos.
Análisis de sentimiento con NetOpinion
Normalmente, la estructura utilizada para la organización adecuada de los datos son los árboles binarios, a través de los cuales se pueden establecer los tres patrones de comportamiento ya comentados (positivo, neutro y negativo).  Con esta estructura se van observando comportamientos, y cuando ya se han recopilado una cantidad de datos importante, el algoritmo ofrecerá un tanto por ciento de posibilidad de predecir un comportamiento u otro.
La cantidad de datos que se generan actualmente en las empresas está creciendo a un ritmo impresionante, y obtener información útil y valiosa de ellos supone una ventaja competitiva muy importante respecto a los competidores. Pero, ¿cómo es realmente el proceso?
Se realizan los siguientes pasos:
  1. Filtración de datos. En primer lugar se utilizan las palabras claves para descartar contenido no deseado, y posteriormente se establecen palabras para obtener categorías según su polaridad o su procedencia.
  2. Extracción del contenido. Una vez que pasen el filtro, se elimina el contenido no deseado y se comenzará a trabajar con el contenido de calidad.
  3. Análisis de contenido. Este proceso lo puede realizar el algoritmo o una persona física en sí. Aquí el contenido útil y de calidad quedará encuadrado en la categoría que le corresponda.
  4. Limpieza del contenido. Quizás se haya colado contenido erróneamente, y este es el momento de enviarlo a su categoría correcta o descartarlo directamente.
  5. Revisión. Se gestionaran en este apartado todos los posibles aspectos a mejorar. Tal vez encontremos una nueva palabra a incluir para descartar contenido, o nos demos cuenta que una palabra considerada positiva se utiliza a modo negativo en determinados momentos.
Para qué sirve el análisis de sentimiento
  • Gracias a este proceso se consigue obtener datos de calidad,
  • Se evita tener multitud de datos que carecen de valor para la toma de decisiones
  • Hacer también, tomar decisiones en tiempo real, como por ejemplo: para apaciguar una crisis de reputación online.
  • Gracias al análisis de sentimiento, se consigue desarrollar mejores estrategias empresariales.
  • Facilita la gestión de la reputación online y ayuda a saber qué acciones llevar a cabo en el plan estratégico de marketing online.

Minería de Datos

¿Qué es la minería de datos?
La minería de datos es la ciencia o metodología que permite explotar los datos con el objetivo de generar modelos que posibiliten describir, encontrar patrones, establecer agrupaciones, clasificar, segmentar o asociar productos, clientes o cualquier otra entidad objeto de obtener conocimiento y ser aplicados a otros nuevos obteniendo respuestas de acción inmediata.
Repaso a ciertos conceptos
En el mundo analítico existe la necesidad de realizar algunas diferenciaciones sobre ciertos términos donde hoy en día existe cierta confusión.
Cada uno de ellos ofrece y requiere cosas diferentes o responde a necesidades distintas.​​​​​​
  • Business Intelligence
Por Inteligencia de negocio se pueden entender el conjunto de metodologías, prácticas o capacidades orientadas a la generación y gestión de la información que permite la toma de decisiones a los usuarios de una organización.
Con la siguiente cita podemos interpretar la idea que la inteligencia de negocio pretende promover:

“Lo que no se define no se puede medir. Lo que no se puede medir, no se puede mejorar. Lo que no se mejora, se degrada siempre”

— William Thomson Kelvin

Algunas tecnologías que forman parte del business intelligence son:
  1. Data warehouse.
  2. Reporting.
  3. Análisis OLAP.
  4. Cuadros de Mando.
Se puede entender que la inteligencia de negocio permite responder a preguntas tales como:
  • ¿Qué paso?
  • ¿Cómo pasó?
  • ¿Con qué frecuencia?
  • ¿Cuál es el problema?
  • ¿Qué debemos hacer?
Por lo tanto, nos permite entender la situación pasada y presente de la organización.
Existen procesos previos de tratamiento que permiten dotarlos de mayor estructura y que sean aptos para su explotación.
Esta es una diferencia con las bases de datos de los sistemas operacionales donde estos pueden presentar una forma menos estructurada.
Es por ello, que los procesos ETL (Extract, Transform and Load) se encargan de organizarlos desde los sistemas operacionales hasta su almacenamiento en el Almacén de Datos (Datawarehouse).
Hoy en día, existen organizaciones que no los tratan y que carecen de la capacidad de analizar lo que está pasando en su organización y, por lo tanto, qué medidas implementar.
  • Business Analytics
En este caso, podemos entender el análisis de negocio como la metodología, técnica o sistemas que a partir del pasado permiten predecir conductas o eventos futuros mediante el descubrimiento de patrones.
Los datos utilizados pueden ser estructurados o semiestructurados con una complejidad mayor y el tratamiento previo a su explotación requerirá mayor atención.
  • Big Data
Finalmente, el Big Data proporciona un entorno adaptado para hacer frente a las 3 «Vs»:
  1. Volumen.
  2. Velocidad.
  3. Variedad.
Vemos cada uno de ellos.
1.- Volumen
Nos encontramos con tecnologías de almacenamiento con capacidad de sharding o gestión de almacenamiento distribuido para poder dar cabida a un gran volumen, o con sistemas de ficheros como HDFS (Hadoop Distributed File System) para la clusterización y aplicación del método MapReduce.
2.- Velocidad
Como hemos comentado anteriormente, las tasas de generación de datos son cada vez más elevadas y, por lo tanto, debemos disponer de un entorno con gran velocidad de carga y procesamiento.
3.- Variedad
Por último, nuestros «protagonistas» pueden presentarse de forma estructurada, donde muestran formas atómicas elementales; no estructurada, tales como texto, imágenes, audios o vídeos; o finalmente, encontrarse a medio camino presentando formas semiestructuradas.
Existe cierto consenso acerca de la existencia de una cuarta V, de Veracidad, que consistiría en comprobar y asegurar la verdad y la confianza de los datos que estamos consumiendo y que se considera una exigencia para obtener información adecuada.
Modelo de madurez de una empresa respecto al dato
Existen diversos modelos para evaluar la situación de una empresa referente a sus competencias analíticas.
En caso de centrarnos más en la Inteligencia de negocio tenemos el modelo BIMM definido en el framework COBIT.
También tenemos el modelo DELTA de Thomas Davenport donde pueden encontrarse numerosas referencias.
El modelo menciona tres capacidades que toda organización debe considerar:
  1. Organización de los procesos para la consecución de los objetivos e implantación de los procesos.
  2. Capacidades humanas en búsqueda de habilidades para la promoción de las actividades y la cultura analítica.
  3. Y tecnología que permita obtener datos de calidad y aplicaciones integradas.
En el modelo se distinguen los siguientes tipos de empresas:
  • Organizaciones que no consideran el análisis
En este caso, no existe organización de procesos analíticos y los conocimientos de los clientes, mercados y competidores es limitado.
Referente a la tecnología, carecen de procesos integrados y los datos son de poca calidad.
Por último, no disponen de factor humano con capacidades o aspiraciones analíticas tanto a nivel de diseño como a nivel de dirección y la toma de decisiones se hace basándose en la intuición y la experiencia.
  • Organizaciones con actividad analítica aislada
En este caso, existen silos de información donde se disponen de procesos analíticos pero desconocidos por el resto de la organización.
Existe cierta tecnología poco desarrollada basada en bases de datos relacionales, pero con un modelo inconexo y con ausencia de información relevante.
Existen personas con curiosidades analíticas que adquieren conocimientos y experiencia a medida que se implementan algunos procesos.
En ocasiones, los resultados de algunas iniciativas despiertan el interés de otras áreas de la organización.
  • Aspirantes analíticos
Existe una coordinación de la organización y se han empezado a definir métricas de interés y procesos de análisis de la calidad del dato.
Los procesos analíticos muestran cierta separación respecto a otras áreas, pero la conciencia a nivel empresarial es completa.
Tecnológicamente, se invierte en la expansión y desarrollo de almacenes de datos.
A nivel personal, existen habilidades analíticas en la mayoría de los departamentos, pero con cierta falta de integración.
Los mandos intermedios empiezan a explotarlos y su toma de decisiones empieza a estar fundamentada en los hechos.
A nivel general, existe personal con ciertas reticencias a aceptar el cambio en la toma de decisiones con menor peso de la intuición.
  • Organización analítica
Existe una integración de muchos de los procesos y de las capacidades analíticas.
Además son de gran calidad y existe una hoja de ruta para la evolución de los sistemas de almacenamiento.
Existe un «Gobierno del dato» en búsqueda del control del ciclo de vida del mismo.
Nos encontramos en una organización comprometida y existen capacidades analíticas y procesos de mejora continua.
  • Competidor analítico
Nos encontramos con un conocimiento estratégico profundo.
Existe un desarrollo y renovaciones continuas, los procesos están completamente integrados, y la tecnología representa un soporte para el completo de la organización para la práctica de la inteligencia de negocio y del análisis de negocio.
Cuentan con perfiles profesionales dentro de la organización con grandes capacidades analíticas, la dirección está plenamente involucrada, existiendo incluso un comité de gestión.
Es una cultura de toma de decisiones basadas en hechos y aprendizaje continuo.
Ciclo de vida del dato
Vemos de forma breve pero visual el ciclo de vida y sus correspondientes fases.Minería de datos - Ciclo de vida del dato
Metodología de implantación CRISP-DM
Analizamos ahora en profundidad esta metodología y todo lo que conlleva.
  • Comprensión del negocio
Como todo proyecto es importante conocer el objetivo que se trata de alcanzar para la culminación de este.
Para ello, debemos establecer los objetivos del negocio, evaluar la situación actual, detectar los objetivos buscados en la minería de datos y los hitos del proyecto.
  • Compresión de los datos
Esta fase se centra en conocer y analizar la captura de los mismos y sus fuentes, conocer la información que los describe y las relaciones establecidas entre los diferentes atributos.
En el análisis exploratorio se utilizarán gráficas y cálculos para determinar la necesidad de transformaciones de los datos capturados.
Así mismo, evaluaremos la calidad asegurando su idoneidad para el correcto modelado.
En la comprensión, deberemos verificar los objetivos planteados en la fase anterior.
  • Preparación
Esta fase requiere del mayor consumo de tiempo en el proyecto.
Tras las dos fases anteriores realizaremos las tareas necesarias para seleccionar, limpiar, integrar y construir nuestros juegos de datos para su modelado.
Algunas actividades de esta fase son:
  1. Escalados de variables numéricas para desplazar dichas variables a rangos equivalentes.
  2. Balanceado de registros de la variable objetivo en el caso de algoritmos de clasificación.
  3. Eliminación de outliers o valores atípicos de una observación por distorsionar el modelo.
  4. Eliminación o rellanado de valores nulos o vacíos.
  5. Llegado el caso, eliminado de variables de entrada por presentar correlaciones con otras variables o con aquellos de baja calidad.
  6. Agrupación, creación de intervalos u otras transformaciones de las variables de entrada.
  • Modelado
Tomaremos decisiones sobre la técnica de modelado buscando que su comportamiento sea el más eficiente.
Para ello, definiremos las métricas convenientes que permitan comparar la calidad entre los diferentes algoritmos, siendo habitualmente la tasa de acierto, de error o de matrices de confusión.
Cada modelo permite ajustar un conjunto de parámetros para modular su comportamiento.
La evaluación reiterada de los resultados permitirá definir el valor de dichos parámetros para encontrar el comportamiento óptimo.
Pudiera ser necesario volver a la fase anterior para realizar transformaciones adicionales en la fase de preparación.
  • Evaluación
Tras el modelado realizaremos una evaluación de los objetivos de negocio, preferiblemente de manera cuantificada, contrastando las diferentes opciones.
Se pueden obtener descubrimientos adicionales a los planteados inicialmente y pueden abrir nuevas líneas de exploración.
Se realizarán revisiones globales del proceso introduciendo cambios en las fases relacionadas, documentando las conclusiones y resultados obtenidos.
  • Despliegue
Llegados a este punto, la organización dispone del modelado apto para su explotación y procederá al despliegue de la solución.
Para conseguirlo, deberá realizarse un plan de puesta en producción, realizar el seguimiento y mantenimiento, así como documentarlo apropiadamente.
Descubriendo el conocimiento oculto
Para el modelado es necesario combinar diferentes técnicas y tecnologías.
La elección de un determinado lenguaje de programación, un determinado algoritmo o fuentes determinarán el resultado final.
El proceso de obtención de conocimiento se basa en la elección como variable objetivo de una variable categórica o numérica de nuestro juego de datos.
El resto serán nuestras variables de entrada y a partir de la cuales trataremos de determinar el valor de nuestra variable objetivo para futuros registros de nuestras fuentes.
A continuación, realizaremos una clasificación de los algoritmos y mostraremos algunas funcionalidades.
  • Supervisados, no supervisados…
Los algoritmos supervisados disponen de datos cuyo valor de la variable objetivo es conocido.
Esto nos permite entrenar y comprobar nuestro modelo para realizar los ajustes necesarios para su correcto funcionamiento.
De esta forma, podemos decir que el algoritmo aprende de situaciones anteriores.
Por el contrario, existen ocasiones donde no se disponen de juegos de datos cuya variable objetivo esté debidamente etiquetada o cuantificada y utilizamos los de entrada para clasificar, segmentar o agrupar nuestros registros.
Actualmente, se han definido los algoritmos de aprendizaje por refuerzo o Reinforcement Learning donde además de los de entrada se evalúa el estado presente para el cálculo de la acción a tomar, buscando la mayor recompensa del procesado.
  • ​​​​​​​Algoritmos según el objetivo
La minería de datos puede buscar diferentes objetivos con clientes, productos, personas o cualquier otro elemento con interés de ser analizado.
Para ello, empleará algoritmos distintos según la necesidad, pudiendo ser estos supervisados o no supervisados.
El abanico de opciones es extenso, así como los algoritmos derivados buscando contrarrestar algunos de sus efectos adversos.
A continuación, se hace una breve pincelada.
Problemas de regresión
En ocasiones, nos encontramos con variables objetivo numéricas para las cuales queremos predecir o determinar valores futuros.
Para ellos, establecemos funciones de regresión de la variable de entrada con la variable objetivo.
Por ejemplo, podríamos querer predecir la venta futura del año de un determinado cliente a partir de sus atributos.​​​​​​
Minería de datos - Ejemplo de regresión
Clusterización o segmentación
Existen situaciones donde es necesario segmentar o agrupar un conjunto de elementos, como por ejemplo clientes, en función de sus atributos.
De este modo, se pueden definir estrategias comerciales en función del segmento en el que un determinado cliente se ubica.
Sus atributos pueden ser tanto de carácter personal (como la edad) o, según la relación con la organización (como el volumen de compras o el tipo de productos consumidos).
Ejemplos de este tipo de algortimos son Kmeans o agrupaciones jerárquicas.
El objetivo en este caso es obtener clústeres donde los elementos de un mismo clúster tengan la mínima distancia posible y la máxima distancia respecto a elementos de los que sean distintos.​​​​​​​
Minería de datos - Ejemplo de clusterización
Clasificación
Comúnmente los algoritmos de clasificación funcionan entrenando el modelo previamente, es por ello, que estaríamos hablando de algoritmos supervisados.
Ejemplos de este tipo de algoritmos serían las la Maquinas de Soporte Vectorial (SVM, Support Vector Machine) o los Árboles de Decisión (como, por ejemplo, módulo Rpart del código Ro clasificación por árboles múltiples Random Forest).
Los algoritmos de clasificación nos permiten clasificar en un determinado grupo nuevas entradas en función del modelo entrenado previamente.
A continuación, podemos ver la clasificación mediante árboles de decisión de tres comerciales de una empresa en función de los kilómetros realizados, las visitas, los ingresos y el margen y la comparación de aciertos con los datos de test.​​​​​​​
Minería de datos: cómo aplicarlo al análisis predictivo. Imagen 3
Asociación
​​​​​​​En ocasiones buscamos encontrar la existencia de asociaciones entre elementos.
Por ejemplo, en un supermercado se puede observar qué productos son comprados conjuntamente con otros, buscando reubicar los productos para favorecer un incremento de las ventas aprovechando la palanca que algunos productos o grupo de ellos ofrecen respecto a los «afines».
Como ejemplo de estos algoritmos tenemos apriori y eclat.
Estos algoritmos hacen uso de la probabilidad condicionada mediante su soporte, confianza y su elevación (lift) mostrando si un producto o productos son comprados conjuntamente con uno o varios productos con una mayor probabilidad de la que cabría esperar.​​​​​​​
Otros
Existen multitud de aplicaciones adicionales donde aplicar la minería de datos.
A veces, únicamente queremos reducir la dimensionalidad de las variables de entrada para estimar, clasificar o segmentar una variable objetivo mediante el estudio de la variabilidad o la ganancia de información que estas variables de entrada ofrecen.
A nivel numérico podemos nombrar los algoritmos ANOVA y PCA.
Otras veces, podemos utilizar algoritmos con un rendimiento mayor cuyo volumen de variables de entrada y registros es elevado.
En este caso, podemos utilizar redes neuronales (Deep Learning) para clasificar o establecer una regresión.
También podemos utilizar redes convolucionales para la clasificación de textos manuscritos e interpretación de imágenes, interpretación del lenguaje humano o NLP.
El campo de las redes neuronales ofrece un salto en un campo de aplicación más complejo.
Existen aplicaciones donde nos gustaría clasificar textos en función de una temática para poder favorecer los motores de búsqueda o abrir nuevos sectores.
Mediante la minería de texto se puede aprender la frecuencia de ciertas palabras en función de su temática y clasificar texto según su contenido.
Resumen
La minería de datos ofrece un salto cualitativo para cualquier organización que busque incrementar su capacidad competitiva.
El dominio de la minería de datos permite obtener conocimiento y facilita la toma de decisiones de una manera más rápida y certera