• No se han encontrado resultados

Figura 3.4: Interfaz web de la API de Twitter [https://developer.twitter.com]

En resumen, la llegada de las redes sociales ha traído consigo la aparición de nuevos formatos y tipos de información escrita; lo que ha revolucionado la forma de hacertext mining. Uno de los estudios contemporáneos que mejor refleja este cambio en cuánto a la metodología y el objeto de estudio en este campo esIdentifying sarcasm in Twitter: A closer look. Elaborado por tres investigadores de la Universidad de New Jersey durante el año 2011 [24], en este estudio los autores buscan inferir un corpus capaz de identificar el sarcasmo en Twitter. Este enfoque es particularmente esencial a tener en cuenta durante el desarrollo de este trabajo; pues untweet que en principio podría pasar como positivo a ojos de un algoritmo de Text Mining también podría ser un sarcasmo de su autor; lo que cambia radicalmente el el sentimiento del mismo.

En definitiva, la aparición de Twitter ha condicionado para siempre la manera de realizar análisis

de sentimientos y análisis de contenido debido a su inmediatez y volumen de datos; aunque en ningún momento deben obviarse fuentes tradicionales de documentos para Text Mining como periódicos u otros medios tradicionales escritos [25].

3.3 ANÁLISIS DE DATOS: APRENDIZAJE AUTOMÁTICO

En la actualidad, más y más datos son generados continuamente en el marco de los negocios, las

redes sociales, internet, aplicaciones móviles, y un largo etcétera. Sería interesante que los ordenadores que procesan estos datos fueran capaces de aprender por sí mismos como mejorar sus tiempos de ejecución o eficacia de sus análisis. Esta tarea la cubre elMachine Learning, o aprendizaje automático en castellano, que se refiere al proceso de automatización de la detección de patrones en los datos.

Antes de proceder con una definición más formal del Aprendizaje Automático me gustaría recalcar

la importancia del mismo y el gran cambio que supone en cualquier proyecto relacionado con el análisis de datos y la automatización de procesos. Cuándo se escribe un programa y se ejecuta, no importa el número de veces el resultado siempre debe ser el mismo. La máquina no aprende, y

reproduce una y otra vez las mismas asignaciones, evaluaciones y operaciones por redundantes que sean. Cómo el lector puede intuir, esto es altamente ineficiente y cuándo se trabaja con grandes volúmenes de datos esta ineficiencia se acentúa exponencialmente.

CAPÍTULO 3. ANTECEDENTES 37

sistemas que aprenden, pero ¿qué significa esto realmente? ¿En qué consiste este aprendizaje? En

este contexto,aprender realmente significa que el sistema sea capaz de identificar patrones complejos en los millones de datos que analiza. La máquina en realidad no aprende, sino que es un algoritmo el que revisa los datos y es capaz de predecir comportamientos futuros basándose en los patrones que

haaprendido durante sus múltiples ejecuciones.

En este punto ya hemos identificado perfectamente el concepto del aprendizaje; no obstante, aún se ha de profundizar en el segundo atributo de este campo, lo “automático”. No hemos de pasar por

alto este concepto pues es de especial importancia. Que el aprendizaje sea automático implica que el sistema realiza el aprendizaje que se trató con anterioridad sin necesidad de intervención humana. Esto tiene una importante implicación, y es que estos sistemas mejoran de forma autónoma con el

tiempo lo que permite a los ingenieros centrarse en otros ámbitos de los proyectos sin necesidad de revisar su código y algoritmos periódicamente.

En resumen, el aprendizaje automático es el dominio relacionado con los modelos matemáticos y prácticos aplicados a la adaptación de máquinas para su automatización. En definitiva, no podemos dar una definición más formal, dado que que dicha definición siempre estará sujeta al tipo de aprendizaje que realizaría la máquina, sus objetivos y por su puesto, los tipos de datos que procesa [26].

En los siguientes apartados se profundiza y explora en detalle los tipos de algoritmos utilizados durante la elaboración de este trabajo.

3.3.1 Aprendizaje no supervisado

Ahora que tenemos claro el concepto de aprendizaje automático, podemos proceder a tratar los

dos tipos de algoritmos que se aplican en este campo; junto con sus atributos y escenarios ideales de aplicación.

Comenzamos con el aprendizaje no supervisado ya que en la inmensa mayoría de proyectos relacionados con la minería de datos, como es el caso de este trabajo, este tipo de algoritmos y aprendizaje suele preceder al aprendizaje supervisado. Esta situación no es coincidencia, y tiene

relación con la propia definición de aprendizaje no supervisado. En esencia, los algoritmos de aprendizaje no supervisado infieren patrones de un conjunto de datos sin tener una referencia o una salida esperada [27].

Dada esta definición y función, no es de extrañar la importancia de la aplicación de esta clase de algoritmos al comienzo del proyecto. En el proceso de construcción delData Lake se recopilan datos de múltiples formatos, tamaños y procedencia. Este conjunto de datos es, por ende, no categorizable

en una primera instancia de análisis. Aquí es donde entran en juego los algoritmos de aprendizaje no supervisado; pues nos permiten descubir la estructura y los patrones “escondidos” de los datos recopilados.

Una característica importante y que no se debe pasar por alto de este tipo de algoritmos es que no hay forma de determinar la precisión de los mismos. El hecho de que se apliquen al comienzo del

análisis de datos donde no se puede estimar una salida, estructura o patrones los hace ideales para su aplicación en casos del mundo real. Más concretamente, en este trabajo se tratan datos recopilados de redes sociales que contienen opiniones reales de personas. No deseamos una salida determinada,

ni podríamos decir que unas opiniones son mejores o peores que otras; esto crea la situación ideal para la aplicación de aprendizaje no supervisado.

El aprendizaje no supervisado tiene, por tanto, muchas aplicaciones. Algunas de las más notorias

son:

• Clustering: es el proceso que permite dividir automáticamente el conjunto de datos o dataset en grupos basándose en la similitud de los datos pertenecientes a cada grupo. Esta similitud

38 3.3. ANÁLISIS DE DATOS: APRENDIZAJE AUTOMÁTICO

depende del algorimo de clustering aplicado, pudíendo ser distintos tipos de distancia entre

puntos, similitud en la media de los datos u otro tipo de valor asociado a los datos. Aunque útil en primera instancia, el clustering es un proceso que suele tratar los datos en grupo y no de forma individual, por lo que no es recomendable para procesos como la segmentación del

grupo de clientes de una empresa, por ejemplo [28].

• Detección de patrones / Anomalías: es el uso por excelencia de los algoritmos de aprendizaje no supervisado. Consiste en la búsqueda y descubrimiento de patrones en los datos así como de valores extraños. Es especialmente útil para encontrar fraudes en los datos, errores humanos en

la introducción de los datos, o en el caso de este trabajo encontrar similitudes y discrepancias entre las opiniones de las personas.

• Association Mining: consiste en la identificación de conjuntos de elementos que aparecen con frecuencia juntos en el conjunto de datos analizado. En este trabajo es especialmente aplicable, debido a que conocer que palabras suelen aparecer juntas al expresar un sentimiento u opinión puede conducir a una predicción más precisa sobre la sensación que produciría la

ocurrencia de un evento similar [29].

• Construcción de modelos de variables latentes: Una variable latente es aquella que no se observa directamente, sino que es inferida a partir de otras variables observadas. Por ende, la

construcción de modelos de variables latentes se utiliza sobretodo en la fase de preproceso de los datos. Son buenos ejemplos la reducción del número de características de un conjunto de datos (reducción dimensional) o la descomposición del conjunto de datos en múltiples

componentes.

Cómo ya se ha hecho incapié, durante este trabajo se han utilizado algoritmos de aprendizaje no supervisado para todas las aplicaciones mencionadas. Cómo consecuencia, se ha obtenido una idea mucho más clara de la estructura de los datos, lo que ha facilitado en gran medida la toma de

decisiones en cuanto al tratamiento que han recibido.

3.3.2 Aprendizaje supervisado

En contraposición a los algoritmos de aprendizaje no supervisado, los algoritmos de aprendizaje supervisado se utilizan cuándo se tieneground truth o, en otras palabras, cuándo existe un conoci- miento previo de los valores de salida que deberían producir nuestros datos. Esta característica es la

que delimita la función principal de los algoritmos de aprendizaje supervisado; que no es otra que aprender una función que, dado un conjunto de datos y un conjunto de salidas esperadas o deseables, aproxime con el máximo detalle posible la relación entre la entrada y la salida en los datos provistos.

En esencia, utilizando aprendizaje supervisado se busca que dado un cojunto de datos a los que llamaremos “variables predictoras” el sistema sea capaz de crear una función que las asocie a una

“variable objetivo”. Para comprender mejor este concepto basta con un sencillo ejemplo. Cada día recibimos decenas de emails; pongamos que cada uno de estos emails tiene dos variables predictoras: el emisor, y el contenido. Un ejemplo de algoritmo de aprendizaje supervisado sería construir un

filtro despam que dadas dichas variables predictivas, y una variable objetivo (un correo considerado spam) al recibir un nuevo correo pudiera clasificarlo como spam o no.

CAPÍTULO 3. ANTECEDENTES 39

Figura 3.5: Clasificación VS Regresión [https://www.medium.com]

Normalmente, los algoritmos de aprendizaje supervisado se utilizan en dos marcos:

• Clasificación: La variable objetivo consiste en dos categorías binarias, como en el ejemplo anterior.Spam o no spam, seta venenosa o no venenosa, buen estudiante o mal estudiante, etc.

• Regresión: La variable objetivo es contínua, lo que significa que puede tomar varios valores en el tiempo. Por ejemplo, el valor de una vivienda o el sobrecalentamiento en un motor.

Tanto en la regresión como en la clasificación, el objetivo es encontrar relaciones específicas en los datos de entrada que nos permitan producir datos de salida correctos. En cualquier caso, es de vital importancia entender que el resultado“correcto” se determina en su totalidad a partir de los datos de

entrenamiento, y en la vida real puede que estos resultados no puedan aplicarse directamente a los datos, algo que ocurre especialmente en este trabajo debido a la naturaleza de los mismos. Es decir, la presencia deoutliers en los datos reducirá claramente la eficacia del modelo diseñado.