proyecto: aplicaci´on de algoritmos de inteligencia

18
Proyecto: Aplicaci´ on de Algoritmos de Inteligencia Artificial, Caso de Estudio: An´ alisis de Sentimientos para Seguimiento a Personajes de Relevancia Social Daniel A. Cervantes Cabrera INFOTEC-CDMX Octubre 2020

Upload: others

Post on 01-Aug-2022

7 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Proyecto: Aplicacion de Algoritmos de InteligenciaArtificial, Caso de Estudio: Analisis de Sentimientospara Seguimiento a Personajes de Relevancia Social

Daniel A. Cervantes Cabrera

INFOTEC-CDMXOctubre 2020

Page 2: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Resumen

Este proyecto tiene como objetivo estudiar, probar y programar algoritmosen el estado del arte de la Inteligencia Artificial, que sean utiles y de aplicaciondirecta en diferente productos desarrollados por INFOTEC. Implantando unabiblioteca orientada a objetos en el lenguaje de programacion Python que searobusta, optimizada y que aproveche el hardware de los equipos de ejecucion(multi-nucleos CPU o GPUs). De tal manera que sea posible contar con unaherramienta, facil de incorporar en diferentes aplicaciones que requieran estetipo de analisis de informacion y respuestas inteligentes, para la solucion demultiples problematicas en diferentes areas, tanto de la administracion publi-ca, privada e industrial. Como etapa inicial se considerara abordar tecnicasen areas tales como Analisis de Sentimientos, Sistemas de Recomendacion,Deteccion de Fraudes Financieros y en Aplicaciones Industriales.

En este reporte hacemos una descripcion las tecnicas mas comunes y avan-ces obtenidos en caso del Analisis de Sentimientos, el cual es un campo deinvestigacion dentro del Procesamiento de Lenguaje Natural que realiza laextraccion automatica de informacion subjetiva expresada en un texto dadoacerca de un determinado tema, permitiendo saber si un texto presenta conno-taciones positivas o negativas. Esta area ha tenido un crecimiento exponencialdebido principalmente a la popularizacion de las redes sociales (principalmenteTwitter) y el creciente interes por explotar esta gran cantidad de informacion.A partir de la cual es posible obtener valoraciones por parte de los usuariosque interactuan en temas tan variados como productos, servicios o personajesrelevantes, salud publica etc..

Page 3: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Indice1. Introduccion 1

2. Extraccion de datos en Twitter 2

3. Preprocesamiento de la informacion 2

4. Aprendizaje automatico para el analisis de sentimientos 34.1. Metodos no supervisados . . . . . . . . . . . . . . . . . . . . . . 44.2. Metodos supervisados . . . . . . . . . . . . . . . . . . . . . . . . 6

4.2.1. Caracterısticas . . . . . . . . . . . . . . . . . . . . . . . 64.2.2. Clasificadores . . . . . . . . . . . . . . . . . . . . . . . . 9

5. Informe de avances y evidencia 13

6. Trabajo futuro 14

7. Bibliografıa 15

1. IntroduccionEl analisis de sentimientos (SA por su siglas del ingles Sentiment Analysis)

es un campo de investigacion dentro del Procesamiento de Lenguaje Naturalque tiene como objetivo la extraccion automatica de informacion subjetivaexpresada en un texto dado acerca de un determinado tema. Ası medianteeste analisis podemos saber si un texto presenta connotaciones positivas onegativas. En la ultima decada, esta area ha tenido un crecimiento exponencialdebido principalmente a la popularizacion de las redes sociales (principalmenteTwitter) y el creciente interes por explotar esta gran cantidad de informacion.A partir de la cual es posible obtener valoraciones por parte de los usuariosque interactuan en temas tan variados como productos, servicios o personajesrelevantes (polıticos, figuras del medio del espectaculo), salud publica etc. [1,2, 3]. Tambien en el ambito economico-financiero se ha convertido en unaherramienta importante ya que como se ha reportado en [6,7,8,9,10], este tipode analisis permite mejorar los metodos de prediccion de agentes, corredores debolsa, especuladores etc., sobre comportamiento de los mercados bursatiles loscuales pueden oscilar ante determinados acontecimientos expresados a travesde las redes sociales.

En las siguientes secciones se describiremos mas a detalladamente las es-trategias mas comunes para abordar el problema de analisis de sentimientoutilizando textos de Twitter.

1

Page 4: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

2. Extraccion de datos en TwitterEl estudio se realizo utilizando texto de la red social Twitter, el cual permite

enviar mensajes cortos de hasta 140 caracteres comunmente llamados tweets.Twitter cuenta a la fecha con mas de 340 millones de usuarios, que generan masde 500 millones de tweets al dıa compartiendo sus puntos de vista y opinionescon sus familiares, conocidos y seguidores. Los usuarios pueden agrupar tweetspor tema o por tipo utilizando hashtags palabras o frases con el prefijo #. Elsımbolo “@” acompanado del nombre de un usuario es utilizado para mencionaro responder a dicho usuario.

Para la extraccion de corpus de texto, se utilizo la biblioteca computacionalTweepy[16] que permite utilizar el search API de Twitter a traves de la cual,es posible descargar Tweets por usuario, hashtag (#), fecha, region, idiomaetc.. Sin embargo esta API tiene ciertas limitaciones debido a que solamentepermite realizar hasta 450 peticiones cada 15 minutos, ademas se tiene quetener en cuenta que filtra gran cantidad de tweets publicados, por lo que latotalidad de las estas no esta disponible sino aquellas que Twitter consideramas relevantes para el usuario.

3. Preprocesamiento de la informacionDebido a la jerga o lenguaje coloquial que por su naturaleza generan la

mayorıa de los usuarios de Twitter, es necesario realizar un preprocesamientodel texto de tal manera que el corpus resultante pueda estar los mas limpio ynormalizado posible. Para esto generalmente se realizan los siguientes pasos:

Normalizacion de mayusculas y minusculas.

Tratamiento de la duplicidad de caracteres.

Eliminacion de tildes.

Eliminacion de numeros.

Eliminacion de retweets.

Eliminacion de retornos de carro.

Normalizacion de risas (jajaja, ja, jejeje por ja).

Eliminacion Enlaces, hashTags.

Normalizacion de jerga.

A continuacion se muestra un ejemplo de un Tweet antes y despues delpreprocesamiento.

2

Page 5: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

{"created_at": "03-02-2020 07:02:32","full_text": "Que le preguntaran hoy a los reporteros que van

a la conferencia presidente #ConferenciaPresidentehttps://t.co/g9PiothbIp que temas se abordaranen ningun lugar del mundo se hace un ejerciciode comunicacion como el que hace @lopez_obrador en mexicohay que aprovecharlo feliz lunes",

"location": "Ciudad de Mexico",}

{"created_at": "03-02-2020 07:02:32","full_text": "preguntaran hoy reporteros van

conferencia presidente temas se abordaranningun lugar mundo se hace ejerciciocomunicacion como hace mexicohay que aprovecharlo feliz lunes",

"location": "Ciudad de Mexico","score": 1,"scoreFR":1

}

4. Aprendizaje automatico para el analisis desentimientos

Uno de los procedimientos mas comunes con los que se aborda el analisisde sentimiento, son los metodos de aprendizaje automatico tanto de esque-mas supervisados como no supervisados. Los no supervisados, tratan deinferir la polaridad del sentimiento global de un documento a partir de laorientacion semantica de las palabras o frases que lo conforman, principalmen-te existen dos enfoques: metodos basados en diccionarios y metodos basadosen relaciones linguısticas. En el caso de los supervisados, se necesita de ungrupo de documentos de ejemplo previamente etiquetados (llamado conjuntode entrenamiento) para generar un modelo que sera usado posteriormente paraclasificar nuevos textos. Destaca por sus buenos resultados aquellos basadosen esquemas de maquinas de vectores de soporte y de la familia de algoritmosllamados Naive Bayes [17].

Un conjunto de entrenamiento esta formado por corpus con una polaridad(o calificacion) previamente asignada de preferencia por expertos de acuerdoal tema que se este tratando. A pesar de existen una gran cantidad base dedatos disponibles de conjuntos de este tipo, para diferentes tematicas no siem-pre se puede contar con ellos. Una posibilidad es realizar la construccion deeste conjunto de a traves de metodos basados en diccionarios (no supervisado)

3

Page 6: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

y una vez obtenido utilizarlo para el entrenamiento de algun clasificador (su-pervisado). Este procedimiento se utilizo para nuestros experimentos como sedescribe a continuacion.

4.1. Metodos no supervisadosComo se menciono en la seccion anterior, uno de los metodos no super-

visados mas comunmente utilizados (principalmente por su simplicidad) sonaquellos basados en diccionarios o los llamados lexicos, los cuales ofrecen unalista de palabras o lemas polarizados (i.e. calificados como positivos o negati-vos) con las que se puede determinar la polaridad de todo mensaje o texto. Ennuestro caso se formo un lexico utilizando una mezcla de los siguientes:

Learning Sentiment Lexicons in Spanish (Perez Rosas et al. 2012)

ElhPolar (Saralegi & San Vicente 2013)

Multilingual Sentiment Lexicons at Synset and Lemma Levels (Cruz etal. 2014)

Ademas fue necesario enriquecerlos con terminos coloquiales mexicanos quepermitieran incrementar el porcentaje de exactitud de nuestras calificaciones.Por ejemplo a continuacion se muestran varias palabras que forman nuestrolexico resultante:

{ {"word": "adorable", "word": "que chido","sentiment": "positive" "score": "positive"

} }{ {"word": "agitador", "word": "que chafa","sentiment": "negative" "score": "negative"

} }

Una vez definido el Lexico, la calificacion de cada corpus requiere unatokenizacion y extraccion de caracterısticas. Estos proceso se definen en lasiguiente manera:

Tokenizacion. Los textos se dividen en unidades mas pequenas llamadastokens los cuales normalmente corresponden con las palabras de cadatexto.

Extraccion de caracterısticas. Representacion de texto utilizando unmodelo de bolsa de palabras formado por unigramas, bigramas etc., detokens. Por ejemplo los Unigrama y Bigramas de la porcion del corpussiguiente:

4

Page 7: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

...preguntaran hoy reporteros van...

Unigrama:{preguntaran, hoy, reporteros, van}

Bigrama:

{preguntaran hoy, hoy reporteros, reporteros van}

A continuacion, cada elementos de las bolsas de palabras (unigramas obigramas) que coinciden con algun termino del Lexico, recibira un -1 si esnegativa y 1 si es positiva. Finalmente se asigna una puntuacion de polaridadmediante la suma de valores y de un “bonus” en funcion de los favoritos yretweets que contenga cada comentario. Es decir, si definimos

pos := numero de palabras positivas en el corpus.

neg := numero de palabras positivas en el corpus.

La calificacion esta dada por:

scoreBase := pos− neg

Ademas si,

fav := numero de etiquetas de favorito

ret := numero de retweets

La calificacion final esta dada por:

score =

scoreBase+ fav + α ∗ ret si scoreBase > 00 si scoreBase = 0scoreBase− fav − α ∗ ret si scoreBase < 0

con α ∈ (0, 1) factor de ponderacion de retweets.Este procedimiento ademas permite agrupar en niveles de intensidad de la

polaridad estableciendo por ejemplo:

sentimient =

Exceptional si score ≥ 6V ery good si 1 < score < 6Good si 0 < score ≤ 1Neutral si score = 0Bad si − 1 ≤ score < 0V ery bad si − 6 < score < −1Horrible si score ≤ −6

5

Page 8: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

4.2. Metodos supervisadosLos algoritmos de aprendizaje supervisado se pueden dividir principalmente

en dos grandes grupos: de regresion y de clasificacion. Los primeros permiteninferir un valor numerico a partir de una serie de datos de entrada, por ejemplo,las ventas que tendra una determinada empresa. En cambio, los de clasificacionse utilizan para deducir a que grupo pertenece un ejemplo dado de entre losgrupos disponibles. Aunque ambos tipos de algoritmos pueden ser usados en elanalisis de sentimientos, nos centraremos en cuatro algoritmos de clasificacionmuy populares y que ya han sido utilizados en multiples ocasiones para estatarea: Naive Bayes, maquinas de vectores de soporte, k-vecinos mas cercanosy arboles de decision.

4.2.1. Caracterısticas

Como se menciono anteriormente, este tipo de esquemas requieren un con-junto de corpus previamente etiquetado (i.e. tiene asignada una polaridad) apartir del cual el clasificador sera entrenado para posteriormente realizar pre-dicciones. La primera etapa de este proceso es similar al esquema supervisadodescrito en la seccion anterior, ya que es necesaria una subdivision del tex-to en tokens y la extraccion de caracterısticas, sin embargo generalmente serealiza ademas una par de pasos adicionales (lematizacion y steamming) queayudan a la representacion vectorial de estas bolsas de palabras. Esta vecto-rizacion es un paso muy importante y dependiendo del clasificador se utilizandiferentes estrategias las cuales se describiran mas adelante. Finalmente losvectores ya etiquetados representa los objetos que “alimenta” a los clasifica-dores. Ası los siguientes tres puntos representan el procesamiento del corpuspre-vectorizacion:

Tokenizacion. Los textos se dividen en unidades mas pequenas llamadastokens los cuales normalmente corresponden con las palabras de cadatexto.

Extraccion de caracterısticas. Representacion de texto utilizando unmodelo de bolsa de palabras formado por unigramas, bigramas etc., detokens.

Reduccion de caracterısticas

• Eliminacion de stopwords. Conjunto de palabras que, aunque sonnecesarias para construir oraciones con sentido, carecen de informa-cion que ayude a determinar la polaridad de los textos en los quese encuentran. En espanol, estas palabras son las preposiciones, lospronombres, las conjunciones y las distintas formas del verbo haber,entre otras. Mediante esta tecnica, todos los terminos pertenecien-tes a la lista de stopwords seran eliminadas del modelo antes delentrenamiento de los algoritmos.

6

Page 9: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

• Lemmatization. Este es un proceso de normalizacion morfologicaque transforma cada palabra en su lema mediante el uso de diccio-narios y de un proceso de analisis morfologico. A modo de ejemplo,la lematizacion convertirıa la palabra “guapas” a su lema “guapo”.Por tanto, muchas caracterısticas tomarıan la misma forma, redu-ciendo ası su variabilidad.• Steamming. Se trata de otro metodo de normalizacion morfologica

pero mas agresivo que la lematizacion. En este caso, una palabrase transforma a su raız por medio de la supresion de sus sufijos einflexiones. Siguiendo el ejemplo anterior, la palabra “guapas” seconvertirıa a su raız, “guap”.

Ponderacion de caracterısticas (vectorizacion)Ahora supongamos que C representa al conjunto de todos los corpusque se desea analizar, B sus respectivas bolsas de palabras obtenidas enproceso anterior y T = {t1, . . . , tT} todos los terminos diferentes de B.Entonces notemos que a cada ci ∈ C y bi ∈ B le corresponde de formanatural un vector de pesos ci = (wi1, . . . , wiT ) de dimension T, en dondecada wij corresponde al peso del termino tj ∈ T en la bolsa de palabrasbi documento ci. A continuacion describiremos diferentes metodos parala seleccion de estos pesos.

• Ponderacion binaria. La manera mas simple de seleccionar elpeso wij, es usando la llamada ponderacion binaria o Booleana, endonde cada wij = 1 si tj aparece en bi y 0 en otro caso. Ası porejemplo en la figura 1, se tiene que:

T = {at, bat, can, door, echolocation, elephant, of,open, potato, see, she, sight, sneeze, studio, the, to, via, wonder},

bi = {the, elephant, sneezed, at, the, shing, of, potatoes}

yci = (1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0)

• Frecuencia absoluta. Cada caracterıstica tendra un peso igual alnumero de veces que aparece en un mensaje dado. Es decir,

wij = fij

en donde fij representa la frecuencia del termino tj en bi. Como semuestra en la figura 2.• Frecuencia relativa. Este modelo de ponderacion es igual al an-

terior, pero al valor de cada caracterıstica se le aplica un proceso de

7

Page 10: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Figura 1: Ponderacion Binaria. Figura tomada de O’Reilly

Figura 2: Frecuencia Absoluta. Figura tomada de O’Reilly

normalizacion Euclidiana que tiene en cuenta el numero de carac-terısticas del mensaje al que pertenecen y sus frecuencias absolutas.Es decir,

wij = fij/ni

con ni el numero de elementos de bi.• Esquema TF-IDF. Este metodo otorga una mayor importancia a

aquellas caracterısticas que aparecen un mayor numero de veces enel corpus, pero en pocos mensajes del mismo. Estos terminos sonlos que suelen ayudar a identificar con mayor facilidad las distintasclases existentes. De esta forma, se evitan los problemas que implicael uso la frecuencia absoluta o relativa en donde las caracterısticasmas repetidas son las que tienen mayor importancia independien-temente del tipo de mensajes en el que aparezca (ver figura 3). Asıen este esquema wij se calcula como:

wij = fij · logN

dfj

8

Page 11: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

donde fij es la frecuencia del termino tj en bi, dfj es el numero debolsas de palabras en el cual el termino tj aparece, y N el numerototal de bolsas.

Figura 3: Esquema TF-IDF. Figura tomada de O’Reilly

4.2.2. Clasificadores

Naive Bayes. La familia de algoritmos Naive Bayes estan basados en elcelebre Teorema de Bayes, el cual establece lo siguiente:Sea {A1, A2, . . . , An} un conjunto de sucesos mutuamente excluyentes yexhaustivos, y tales que la probabilidad de cada uno de ellos es distintade cero. Sea B un suceso cualquiera del que se conocen las probabilidadescondicionales P (B|Ai). Entonces, la probabilidad de P (Ai|B) esta dadapor la expresion:

P (Ai|B) = P (B|Ai) ∗ P (Ai)P (B)

En el caso concreto de la clasificacion de textos, los sucesos excluyentes yexhaustivos son las diferentes clases que se pueden asignar a un mensaje,de manera que no es posible asignar mas de una simultaneamente (ex-cluyentes) y esas clases son todos los tipos que existen (exhaustivos). Losalgoritmos Naive Bayes suelen recibir el apelativo de “ingenuos” debidoa que en sus calculos las caracterısticas seleccionadas para representara los ejemplos de entrenamiento son estadısticamente independientes ycontribuyen por igual en el proceso de clasificacion. Dicho de otro modoy en el caso concreto de la clasificacion de textos, se considera que laspalabras de un mismo mensaje no mantienen ningun tipo de relacionentre sı y es indiferente la posicion que tienen dentro del texto al quepertenecen.

k-vecinos mas cercanos. El algoritmo k-vecinos mas cercanos (delingles, k-nearest neighbors o k-nn) hace uso de una funcion de simili-

9

Page 12: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

tud para la clasificacion de los elementos que se le proporcionan una vezel algoritmo haya sido entrenado. De esta forma, cuando se quiere pre-decir la clase de un nuevo ejemplo, se buscan los k ejemplos con los quela funcion de similitud sea maxima y se le asigna la clase mayoritariade entre los seleccionados. Este clasificador se dice “retardado” o “vago”debido a que no crea ningun modelo estadıstico a partir de los datos deentrenamiento, sino que los memoriza y los utiliza cada vez que tieneque predecir a que grupo pertenece un nuevo elemento. Su exito dependeen gran medida del parametro k, es decir, de la cantidad de ejemplosvecinos que el algoritmo utiliza para determinar a que clase pertenece unejemplo dado (ver figura 4).

Figura 4: K-vecinos mas cercanos

Arboles de decision. Los arboles de decision forman uno de los gru-pos de algoritmos mas reconocidos y utilizados dentro del campo de laInteligencia Artificial y del aprendizaje automatico. Su estructura es lade un grafo dirigido en forma de arbol compuesto por un conjunto dereglas extraıdas a partir de las caracterısticas de los datos de entrena-miento y que se aplican de manera sucesiva a la hora de predecir a queclase pertenece un nuevo ejemplo. En general, un arbol de decision estaformado por nodos y lıneas que unen dichos nodos, comenzando en unoraız y terminando en varios con las posibles clasificaciones que se puedenestablecer a una muestra dada. Partiendo de la raız, el paso entre losdistintos nodos del arbol se lleva a cabo mediante la evaluacion de alguntipo de condicion y que determina el recorrido que seguira la muestrahasta encontrar la clase que le corresponde en un nodo terminal.

Maquinas de soporte vectorial.Las maquinas de vectores de soporte (del ingles, Support Vector Ma-

10

Page 13: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Figura 5: Arboles de decision.

chine o SVM) son un grupo de algoritmos de aprendizaje supervisadodesarrollados por (Vapnik, 1982) en los laboratorios AT&T. Debido ala precision y flexibilidad de estos metodos, se han utilizado para losresultados preliminares que hemos obtenido. A continuacion se describebrevemente la idea detras de este. Sea un conjunto de entrenamiento,{xi, yi}N

i=1 con xi ∈ Rd con d > 1 y yi = ±1, es decir, los vectores estanetiquetados con 1 o −1, diremos que son de clase H1 o H2 respectivamen-te. Ademas se supondra que son linealmente separables, que significa quees posible encontrar una recta (o hiperplano en d > 2 dimensiones) quelos separe en dos grupos (por ejemplo en el caso bidimensional d = 2,en la figura 6 los puntos negros y blancos). Este hiperplano puede serdescrito por la ecuacion,

w · x + b = 0

donde w es el vector normal a este y b‖w‖ es la distancia perpendicular

al origen. Los puntos llamados de soporte son aquellos mas cercanosal hiperplano (encerrados en cırculos figura 2), y permiten ubicarlo detal manera que su distancia a este sea la mayor posible. Es decir, sicaracterizamos los puntos de H1 y H2 de tal manera que:

xi ·w + b = 1 ∀xi ∈ H1

xi ·w + b = −1 ∀xi ∈ H2

Entonces se busca w y b tal que,

xi ·w + b ≥ 1 si yi = 1 (1)xi ·w + b ≤ 1 si yi = −1 (2)

11

Page 14: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Figura 6: Hiperplano que separa las clase H1 y H2. Figura tomada de [13]

y que el “margen” formado por d1 + d2 = 2‖w‖ (ver figura 2) sea el mas

grande posible. Ası, un SVM busca encontrar un hiperplano que maximi-ce la distancia de separacion entre dos conjuntos de vectores previamenteetiquetados. Para obtener w y b es necesario notar que 1 y 2 se puedeescribir como,

yi(xi ·w + b) ≥ 0 ∀iy que maximizar el margen implica minimizar el valor ‖w‖ o equivalente-mente 1

2‖w‖2. Ası el problema se pueda plantear de la siguiente manera,

mın 12‖w‖

2 siempre que yi(xi ·w + b)− 1 ≥ 0 ∀i (3)

El cual puede ser resuelto utilizando la tecnica de multiplicadores deLagrange, ası se toma α tal que αi ≥ 0 ∀i, y se define el siguientefuncional,

Lp(w, b, α) ≡ 12‖w‖

2 −α [yi(xi ·w + b) ∀i]

calculando sus respectivas ecuaciones Euler-Lagrange (∂Lp

∂w = 0 y ∂Lp

∂b=

0), es posible probar que el problema 3 es equivalente al llamado problemadual siguiente,

maxα

[N∑

i=1−1

2αTHα

]siempre que αi ≥ 0 ∀i y

N∑i=1

αiyi = 0 (4)

en donde Hij = yiyjxi · xj, por lo que H(x, y) representa una funcionde producto interior. Notemos que 4 es un problema de optimizacioncuadratica convexa, el cual generalmente es resuelto utilizando la me-todologıa estandar de problemas cuadraticos [14, 15]. Esta formulacion

12

Page 15: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Figura 7: Analisis de sentimientos para hashTag #AMLO.

dual, ademas permite abordar el problema conjuntos de entrenamientoque no sean linealmente separables, ya que en estos casos es posible rea-lizar una transformacion a un espacio de dimension mas alta a traves defunciones llamadas kernels, los cuales definen un productor interior en elespacio transformado y dependiendo del tipo de kernel y sus respectivosparametros permiten obtener la caracterıstica de separacion lineal en losvectores [11, 12] y la construccion de sus respectivas SMV.

5. Informe de avances y evidenciaActualmente se ha desarrollado programas para la extraccion automati-

ca de Tweets dado intervalo de tiempo, usuario o hashtag. Tambien se tieneimplantado el metodo de aprendizaje automatico no supervisado descrito enla seccion 4.1 y supervisado utilizando el esquema de maquinas de vectoresde soporte con la biblioteca scikit-learn. Se han hecho pruebas de Analisis de

13

Page 16: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

Figura 8: Repositorio del proyecto de Analisis de Sentimiento.

Sentimiento para seguimiento de temas y personales relevantes utilizando di-ferentes hashTag, en la figura 7 se muestra graficos de polaridades positivasy negativas para el hashTag #AMLO. Todos los codigos se encuentra en elrepositorio de gitlab (ver figura 8):

https://gitlab.com/dcchivela/sentimentanalysis

6. Trabajo futuroPara el caso de Analisis de Sentimientos es necesario realizar una mayor

cantidad de pruebas, ası como validar nuestros resultados con matrices deconfusion y sus metricas. Se planea continuar con el desarrollo de la bibliotecapara abordar tecnicas para Sistemas de Recomendacion, Deteccion de FraudesFinancieros y en Aplicaciones Industriales.

En este trabajo participo el becario pasante de Ingenierıa Uriel Rodriguez,el cual termino su periodo en Julio del 2020, para obtener resultados de formamas rapida es necesario contar con uno o dos becarios que apoyen en el desa-rrollo de la biblioteca y la realizacion de pruebas unitarias y de integracion congitlab ci/cd.

14

Page 17: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

7. Bibliografıa

Referencias[1] Handbook of Financial Data and Risk Information. Eds. Margarita S.

BroseMark D. FloodDilip Krishna, Deloitte & Touche, LLPBill Nichols,Cambridge University Press (2014)Lin, T. C.: The New investor. UCLAL. Rev., vol. 60, p. 678 (2012)

[2] Lin, T. C.: The New investor. UCLA L. Rev., vol. 60, p. 678 (2012)

[3] Turney, P. D. (2002, July). Thumbs up or thumbs down?: semantic orien-tation applied to unsupervised classification of reviews. In Proceedings ofthe 40th annual meeting on association for computational linguistics (pp.417-424). Association for Computational Linguistics

[4] Pang, B., Lee, L., & Vaithyanathan, S. . Thumbs up?: sentiment classifi-cation using machine learning techniques. In Proceedings of the ACL-02conference on Empirical methods in natural language processing-Volume10 (pp. 79-86). Association for Computational Linguistics (2002, July).

[5] Pak, A., & Paroubek, P. (2010). Twitter as a corpus for sentiment analysisand opinion mining. In LREc (Vol. 10, No. 2010).

[6] Pang, B., Lee, L.: Opinion Mining and Sentiment Analysis. Foundationsand Trends in Information Retrieval, vol. 2, pp. 1-135 (2008)

[7] Sidorov, G., Miranda-Jimenez, S., Viveros-Jimenez, F., Gelbukh, A.,Castro-Sanchez, N.,Velasquez, F., Dıaz-Rangel, I., Suarez-Guerra, S., Tre-vino, A., Gordon, J.: Empirical Study of Machine Learning Based Ap-proach for Opinion Mining in Tweets. LNAI 7630, pp. 1-13 (2012)

[8] T. O. Sprenger, A. Tumasjan, P. G. Sandner y I. M.Welpe: Tweets andtrades: The information content of stock microblogs. European FinancialManagement, vol. 20 (5), pp. 926-957 (2014)

[9] Viveros-Jimenez, F., Sidorov, G., Castillo Velasquez, F., Castro- Sanchez,N., Miranda-Jimenez, S., Trevino, A., Gordon, J.: Sondeos automatizadosen las redes sociales a traves de la minerıa de opinion. Komputer Sapiens,vol. 2 (2012)

[10] Z. Chen, X. Du.: Study of stock prediction based on social network. In:International Conference on Social Computing (SocialCom), IEEE, pp.913-916 (2013)

[11] N. Cristianini, J. Shawe-Taylor, An introduction to support Vector Ma-chines: and other kernel-based learning methods. Cambridge UniversityPress, New York, NY, USA (2000).

15

Page 18: Proyecto: Aplicaci´on de Algoritmos de Inteligencia

[12] J. Shawe-Taylor, N. Cristianini, Kernel Methods for Pattern Analysis.Cambridge University Press, New York, NY, USA (2004).

[13] Support Vector Machines Explained Tristan Fletcher.

[14] Boyd, Stephen and Vandenberghe, Lieven, Convex Optimization Cam-bridge University Press, 2004.

[15] Jorge Nocedal and Stephen J. Wright, Numerical Optimization New York,NY, USA, 2006.

[16] https://www.tweepy.org/

[17] Christopher D. Manning, Prabhakar Raghavan and Hinrich Schutze, In-troduction to Information Retrieval, Cambridge University Press. 2008.

16