funciones léxicas en español utilizando embeddings

61
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN Funciones léxicas en español utilizando embeddings TESIS Que para obtener el grado de: MAESTRÍA EN CIENCIAS DE LA COMPUTACIÓN P R E S E N T A: ACT.ARTURO HERNÁNDEZ MIRANDA DIRECTORES DE TESIS: DRA.OLGA KOLESNIKOVA DR.ALEXANDER GELBUKH Ciudad de México Enero 2019

Upload: others

Post on 01-Aug-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Funciones léxicas en español utilizando embeddings

INSTITUTO POLITÉCNICO NACIONAL

CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN

Funciones léxicas en español utilizando embeddings

T E S I S

Que para obtener el grado de:

MAESTRÍA EN CIENCIAS DE LA COMPUTACIÓN

P R E S E N T A:

ACT. ARTURO HERNÁNDEZ MIRANDA

DIRECTORES DE TESIS:

DRA. OLGA KOLESNIKOVA

DR. ALEXANDER GELBUKH

Ciudad de México Enero 2019

Page 2: Funciones léxicas en español utilizando embeddings

I

Page 3: Funciones léxicas en español utilizando embeddings

II

Page 4: Funciones léxicas en español utilizando embeddings

III

ResumenEl lenguaje humano es ampliamente ambiguo como variable, los seres humanos somos ca-

paces de producir y entender el lenguaje, sin embargo existe muy poca formalidad para

comprender y describir las reglas que lo rigen; a ello se suma la diversidad de lenguajes y la

amplia disponibilidad de información existente a través de los medios de difusión formales

e informales, por lo que, entender y producir lenguaje a través de una computadora es un

reto de grandes proporciones.

Las funciones léxicas son un formalismo lingüístico para realizar de forma automática, el

análisis semántico de la información en forma de lenguaje humano.En este trabajo se aborda

de forma particular las estructuras del lenguaje llamadas colocaciones verbales, cuyo signi-

ficado no puede predecirse mediante el significado de sus elementos.

Para abatir el problema de depurar una gran cantidad de información, se hace uso del

aprenzaje máquina, en especial de la arquitectura "word embeddings", que parte del modelo

de bolsa de palabras y mediante el uso de algoritmos de aprendizaje no supervisado produce

un vector denso que permite recuperar información semántica.

El método de aprendizaje máquina empleado en el presente trabajo, se basa en tensores,

como alternativa a los métodos tradicionales basados en kernel. Lamentablemente los resul-

tados obtenidos con éste método se encuentran por debajo de los métodos tradicionales, ya

que por ahora, el diseño de este tipo de arquitecturas es a prueba y error, por lo que es muy

probable que con algunas modificaciones se obtengan mejores resultados.

Page 5: Funciones léxicas en español utilizando embeddings

AbstractHuman language is widely ambiguous as a variable, human beings are able to produce

and understand language, however there is very little formality to understand and describe

the rules that govern it; to this is added the diversity of languages and the wide availability

of existing information through formal and informal media, so understanding and produ-

cing language through a computer is a challenge of great proportions.

The lexical functions are a linguistic formalism to carry out automatically, the semantic

analysis of information in the form of human language. In this work we deal in a particular

way with the structures of language called verbal collocations, whose meaning can not be

predicted by the meaning of its elements.

To tackle the problem of debugging a large amount of information, we use machine lear-

ning algorithms, especially the "word embeddings.architecture, which starts from the word

bag model and through the use of unsupervised learning algorithms produces a dense vec-

tor that allows to recover semantic information.

The machine learning method used in the present work is based on tensors, as an al-

ternative to traditional kernel-based methods. Unfortunately the results obtained with this

method are below traditional methods, because for now, the design of this type of architec-

ture is trial and error, so it is very likely that with some modifications can get better results.

Page 6: Funciones léxicas en español utilizando embeddings

V

Dedicatoria

...para mi mamá Araceli...

porque en cada paso que doy recibo su apoyo incondicional.

...para Daniela...porque verla crecer es una inspiración para levantarme y seguir

adelante.

Page 7: Funciones léxicas en español utilizando embeddings

VI

AgradecimientosA Dios, por guiar mi camino.

A la Dra. Olga Kolesnikova y al Dr. Alexander Gelbukh, porque aunque su grandeza

como investigadores y docentes podría convertirlos en tiranos, son personas que de verdad

se interesan por cada uno de sus alumnos y alumnas.

A los miembros de mi comité tutorial, la Dra. Sofía Natalia Galicia Haro, el Dr. Ildar

Batyrshin, el Dr. Sergio Suárez Guerra, el Dr. Grigori Sidorov, porque su destacada trayec-

toria es una inspiración y su amable trato es un incentivo para perseverar.

Al Instituto Politécnico Nacional, por abrir espacios de oportunidad para el aprendizaje

de alto nivel, que de otra forma sería, para muchas personas como yo, imposible de obtener.

Al Consejo Nacional de Ciencia y Tecnología, por el apoyo económico otorgado durante

la mayor parte de mis estudios.

Page 8: Funciones léxicas en español utilizando embeddings

VII

Índice general

Resumen III

Dedicatoria V

Agradecimientos VI

1. Introducción 1

1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Conceptos básicos 5

2.1. Lenguaje natural y Procesamiento de Lenguaje Natural . . . . . . . . . . . . . 5

2.2. El modelo BOW (”bolsa de palabras”) . . . . . . . . . . . . . . . . . . . . . . . 6

2.3. Redes Neuronales Artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.1. Reseña histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.2. Perceptrón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3. Estado del arte 14

Page 9: Funciones léxicas en español utilizando embeddings

VIII

3.1. Representación de las palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2. El modelo de espacio vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3. Representación distribucional de palabras . . . . . . . . . . . . . . . . . . . . . 15

3.4. Representación distribuida de palabras . . . . . . . . . . . . . . . . . . . . . . 15

3.5. Representación atómica de las palabras (1H) . . . . . . . . . . . . . . . . . . . 16

3.6. Word embeddings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.6.1. Modelo de lenguaje neuronal probabilístico . . . . . . . . . . . . . . . . 18

3.6.2. El algoritmo Word2Vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.6.3. La arquitectura CBOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.6.4. La arquitectura Skip-Gram . . . . . . . . . . . . . . . . . . . . . . . . . 22

4. Materiales y métodos 25

4.1. Modelo de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.1. Definición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.2. Recolección de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.3. Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.4. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2. Marco teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2.1. La teoría del Significado-Texto . . . . . . . . . . . . . . . . . . . . . . . 27

4.2.2. Funciones Léxicas(FL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3. Herramientas de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.1. El lenguaje Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.2. Natural Language Toolkit (NLTK) . . . . . . . . . . . . . . . . . . . . . 32

4.3.3. Gensim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.4. Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.5. TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4. Medidas de desempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Page 10: Funciones léxicas en español utilizando embeddings

IX

4.4.1. Matriz de confusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4.2. Indicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4.3. Método propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5. Experimentos y resultados 43

6. Conclusiones y trabajo futuro 45

6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Glosario 48

Bibliografía 49

Page 11: Funciones léxicas en español utilizando embeddings

X

Índice de figuras

2.1. El PLN como área interdisciplinaria . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. La neurona de McCulloch-Pitts . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3. Conjunto P ∈ R2 linealmente separable . . . . . . . . . . . . . . . . . . . . . . 10

2.4. Algunos hiperplanos para clasificar P ∈ R2 . . . . . . . . . . . . . . . . . . . . 10

2.5. Representación gráfica de un perceptrón . . . . . . . . . . . . . . . . . . . . . . 11

2.6. Puntos linealmente separables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1. Histogramas de frecuencia de la palabra ”tener” con relación a otras palabras 16

3.2. Arquitectura neuronal: f (i, wt−1, ..., wt−n+1) = g(i, C(wt−1), ...C(wt−n+1)) don-

de g es la red neuronal y C(i) es el í-esimo vector de características. Imagen

tomada de (Bengio y col., 2003) y adaptada al español . . . . . . . . . . . . . . 20

3.3. Arquitectura CBOW con una sola palabra de contexto . . . . . . . . . . . . . . 21

3.4. Modelo CBOW generalizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5. Modelo SkipGram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.1. Modelo de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2. Modelo de preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.3. Modelo multinivel MTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.4. Matriz de confusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.5. Modelo MP-FL1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.6. Modelo CP-FL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.7. Modelo EXA-FL3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 12: Funciones léxicas en español utilizando embeddings

1

Capítulo 1

Introducción

Actualmente la comunicación es más amplia y diversa debido al avance de las tecnologías

de conexión en red. Una de las ventajas de dicho avance tecnológico, es la conexión global

(World Wide Web), la cual permite un intercambio intelectual y cultural limitado únicamen-

te por cuestiones políticas o ideológicas. Este vasto intercambio, lleva consigo el gran reto

de hacer que toda la información sea accesible de forma eficiente, es decir, lograr un manejo

“inteligente” de la información; sin embargo, esta tarea no es sencilla, pues la cantidad de

información generada supera la capacidad humana de análisis, es decir, para este problema,

solo existe una única solución, desarrollar aplicaciones automatizadas que “comprendan” el

significado de la información; en otras palabras, aplicaciones que sean capaces de realizar

análisis semánticos complejos de la información expresada a través del lenguaje humano o

lenguaje natural.

Un estudio de la Universidad de Berkeley del año 2000, reveló que se producían aproxi-

madamente 800 megabytes de nueva información por cada ser humano en el planeta, lo que

representaba un poco más de 5 Exabytes de nueva información cada año (Bhuiyan, 2013),

para enero de 2017, la red social Twitter reportaba 500 millones de Tweets enviados por día

(Aslam, 2018), lo que nos habla de un enorme crecimiento de la información en internet lla-

mada por muchos la explosión de información.

Page 13: Funciones léxicas en español utilizando embeddings

Capítulo 1. Introducción 2

"La explosión de la información es un conjunto de relaciones recíprocas entre la expansión de la

ciencia, el apego de esa ciencia a una nueva tecnología y la creciente demanda de noticias, entreteni-

miento y conocimiento instrumental, todo en el contexto de una población en rápido crecimiento, más

alfabetizada y más educada, viviendo en un mundo enormemente ampliado que ahora está atado, casi

en tiempo real, por cable, teléfono y satélite internacional, cuyos habitantes se conocen entre sí por las

vívidas imágenes pictóricas de la televisión, y que tiene a su disposición grandes bancos de datos e

información computarizada." (Duff, 2013)

El objetivo del procesamiento de lenguaje natural, es diseñar algoritmos que permitan

a las computadoras ”comprender” el lenguaje humano, a fin de llevar a cabo algunas ta-

reas generalmente repetitivas, o cuya complejidad supera la capacidad humana de revisión

o análisis.

La representación de palabras es un problema de modelado de texto utilizando objetos

matemáticos. Existen dos formas principales para representar una palabra, la representación

1H (representación atómica), y la representación distribuida (word embeddings).

1.1. Antecedentes

El proceso cognitivo humano está estrechamente ligado al lenguaje, la forma en que los

humanos adquirimos, producimos y comprendemos el lenguaje es uno de los sucesos que

aún no podemos entender o interpretar de una forma sistemática. Una de las formas de

comprender este proceso cognitivo es mediante la identificación de reglas para formar ex-

presiones lingüísticas correctamente estructuradas.

Page 14: Funciones léxicas en español utilizando embeddings

Capítulo 1. Introducción 3

1.2. Justificación

Es evidente que a mayor cantidad de información disponible(haciendo particular refe-

rencia a la que puede accederse a través de la World Wide Web), mayor será la necesidad

de almacenamiento requerido, adicionalmente, con respecto a la información textual, mayor

tiempo de procesamiento y revisión harán falta para encontrar en ella aquello que resulte de

nuestro interés.

1.3. Hipótesis

Las relaciones semánticas entre elementos léxicos se pueden representar y sistematizar e

identificar, utilizando el modelo distribuido de palabras.

1.4. Objetivos

1.4.1. Objetivo general

Plantear una arquitectura utilizando Word Embeddings para la clasificación e identifica-

ción de funciones léxicas en español para un corpus regionalizado.

1.4.2. Objetivos específicos

Exponer por lo menos tres diferentes algoritmos de Word Embeddings que puedan ser

utilizados para la tarea a realizar.

Aplicar por lo menos dos algoritmos de Word Embeddings para la tarea de clasificación

de funciones léxicas.

Revisar algunas medidas de similitud apropiadas para las colocaciones verbales.

Page 15: Funciones léxicas en español utilizando embeddings

Capítulo 1. Introducción 4

Explorar de forma geométrica las características de las funciones léxicas.

Crear un corpus marcado que sea adecuado para la identificación de las funciones lé-

xicas.

1.5. Contribuciones

Resulta ingenuo pensar que el presente trabajo es una contribución novedosa, ya que

desde mi punto de vista, esta etapa, es formativa dentro de la investigación, es decir, es la

antesala de una larga labor en la investigación, sin embargo, mi deseo es que el presente

trabajo sirva como texto de consulta para quienes como yo, somos principiantes en el vasto

y complejo mundo del Procesamiento de Lenguaje Natural. Dicho lo anterior, es posible

destacar las siguientes contribuciones:

1. La depuración de un corpus de un formato HTML a un formato de lectura para una

base de datos NoSQL.

2. La elaboración de un corpus marcado con 500 ejemplos de distintas funciones léxicas

en español

3. La identificación de 10 nuevas colocaciones adicionales a las identificadas en (Gelbukh

y Kolesnikova, 2012).

Page 16: Funciones léxicas en español utilizando embeddings

5

Capítulo 2

Conceptos básicos

2.1. Lenguaje natural y Procesamiento de Lenguaje Natural

Los lenguajes naturales son aquellos que están involucrados y son utilizados de forma

natural por los seres humanos, para propósitos de comunicación, por ejemplo, Inglés, Fran-

cés, Alemán, etc. El Procesamiento de Lenguaje Natural (PLN o NLP1), también llamado

Lingüística Computacional, es el estudio científico de los lenguajes desde una perspectiva

computacional, es decir, un campo de las Ciencias de la Computación y la lingüística, intere-

sado en las interacciones entre computadoras y lenguajes humanos(naturales)(Kumar, 2011),

y es considerado una rama de la inteligencia artificial.

Las técnicas de PLN se desarrollaron con la finalidad de que las computadoras compren-

dieran los comandos establecidos en lenguaje natural, y responder acorde a tal solicitud;

muchas de las tareas dentro del PLN utilizan tanto la comprensión como la generación del

lenguaje.

El PLN ha surgido como un área interdisciplinaria, entre la lingüística computacional y

la inteligencia artificial (particularmente en el área de Aprendizaje Máquina figura 2.1), uti-

lizando herramientas tales como algortimos, estructuras de datos, modelos de represetación

de conocimiento, etc.1Por sus siglas en inglés Natural Language Processing

Page 17: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 6

Procesamiento deLenguaje Natural

LingüisticaComputacional

AprendizajeMáquina

Herramientas

•análisis léxico•Estructura del enunciado•Análisis gramatical•Extracción manual de

características

•Aprendizaje supervisado•Aprendizaje no

supervisado•Aprendizaje

semi-supervisado•Aprendizaje por refuerzo

•Gensim•NLTK•Scikit-learn•TensorFlow

FIGURA 2.1: El PLN como área interdisciplinaria

2.2. El modelo BOW (”bolsa de palabras”)

En este modelo, los datos están representados como texto(enunciados o documentos ), y

se denomina bolsa de palabras, debido a una analogía en la que los elementos contenidos

en dicha bolsa, no tienen un orden específico, y en la cual, no se considera o se pierde cierta

información; en este caso, información sintáctica (Sidorov, 2013). Véase el siguiente ejemplo:

Documento 1:Me gusta hacer ejercicio con la bicicleta.

Page 18: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 7

Documento 2:A Daniela le gusta jugar con la pelota.

Bolsa de palabras= [”Me”, ”gusta”, ”hacer”, ”ejercicio”, ”con”, ”la”,”bicicleta”,”A”,

”Daniela”,”le”,”jugar”,”pelota” ]

Algunas de las principales características que describen este modelo, son las siguientes:

El orden de cada palabra dentro de una oración o enunciado no es importante.

Al definir un vector de características, las medidas se toman con respecto a la frecuencia

de las palabras.

Se discrimina la posición local de todos los elementos (no se preserva el significado).

El objetivo es maximizar la información y reducir el tamaño del vocabulario común.

2.3. Redes Neuronales Artificiales

2.3.1. Reseña histórica

El concepto de Redes Neuronales Artificiales ha estado presente por mas de 50 años, sin

embargo, fue hace apenas unos años cuando ganó relevancia, debido al actual poder compu-

tacional, eficiencia de los algoritmos y disponibilidad de datos, ha sido posible por ejemplo,

realizar entrenamientos de grandes redes o redes profundas (Deep Learning).

El origen de las Redes Neuronales Artificiales, data de año 1943, cuando el primer modelo

matemático de una neurona biológica fue publicado por el neuro-psicólogo Warren Sturgis

McCulloch y el lógico-matemático Walter Harry Pitts, cuya publicación ”A logical calculus

of the ideas immanent un nervous activity”, describe el funcionamiento del cerebro de manera

formal, como una red neuronal consistente en neuronas binarias interconectadas (Mumford,

Page 19: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 8

2009). En su trabajo, muestran que las redes neuronales artificiales, pueden en principio, rea-

lizar cualquier operación aritmética o lógica.

Un aspecto fundamental del trabajo de McCulloch-Pitts fue la formulación de la propie-

dad todo-nada de una neurona (un impulso está presente o ausente en cierto nervio, en cierto

tiempo), dicha propiedad puede verse como una proposición lógica (el enunciado es falso o

verdadero), es decir, el modelo puede describirse utilizando Álgebra Booleana (el álgebra de

clases) (Scott, 2002), por lo que, de su trabajo se obtuvieron dos resultados principales:

1. El modelo podía representar los tres circuitos fundamentales (las compuertas AND,

OR y NOT).

2. Utilizando el álgebra de clases mostraron que cualquier función Boolena podía ser mo-

delada por una o mas de sus redes, y cada red correspondía a una o mas funciones

Booleanas.

E1

E2

...

En

I1

I2

...

Im

YT

FIGURA 2.2: La neurona de McCulloch-Pitts

Page 20: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 9

En la figura 2.2, se muestra el diagrama de la neurona de McCulloch-Pitts, la cual tiene

entradas de estimulación Ei, asi como entradas de inhibición Ij.

Las entradas de estimulación ocasionan que la neurona pase a un estado activo, contra-

riamente las entradas de inhibición previenen que la neurona entre a un estado activo. En

términos matemáticos:

Y = 1 si:

n

∑i=1

Ii = 0,m

∑j=1

Ej ≥ T

Y = 0 en otro caso

En otras palabras, si alguna de las entradas inhibitorias está activa (es decir, que tenga un

valor igual a 1), la salida Y, será inactiva (es decir su valor será cero). Alternativamente, si

todas las entradas inhibitorias son cero, y la suma de las entradas de estimulación es mayor

que el límite(T), entonces el valor de la salida será igual a 1 (Picton, 2001).

2.3.2. Perceptrón

Supóngase un conjunto P de puntos en el espacio, de tal forma que pi ∈ Rn, ∀pi ∈ P,

dicho conjunto P tiene la característica de que sus elementos son linealmente separables, es

decir, es posible utilizar un hiperplano para separarlos en dos clases.

Supongamos también un conjunto de etiquetas yi = {−1, 1} para cada clase en el con-

junto P, es decir, todos los puntos que se encuentren de un lado del hiperplano, serán clasifi-

cados con la etiqueta −1 y los puntos que queden del lado contrario, con la etiqueta 1, dicho

hiperplano se denominará frontera de decisión.

Page 21: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 10

FIGURA 2.3: Conjunto P ∈ R2 linealmente separable

Sabemos que existen una infinidad de planos que pueden clasificar nuestro conjunto de

puntos.

W1

W2 W3

FIGURA 2.4: Algunos hiperplanos para clasificar P ∈ R2

Considérese al perceptrón como la unidad básica de clasificación lineal, que puede repre-

sentarse gráficamente como se muestra en la siguiente figura:

Sea W un hiperplano en un espacio n-dimensional(si hablamos de un espacio de dos

dimensiones, dicho hiperplano sería una recta), con la siguiente ecuación:

WTX + W0 = 0

Page 22: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 11

xn

·

x3

x2

x1

∑ f

wn

·

w3

w2

w1

entradas

pesos

FIGURA 2.5: Representación gráfica de un perceptrón

Se busca que dicho hiperplano funcione como frontera de decisión, para el conjunto de

puntos que son linealmente separables.

Page 23: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 12

W

x1

x2

y

FIGURA 2.6: Puntos linealmente separables

−10 −8 −6 −4 −2 0 2 4 6 8 10−2

−1

0

1

2Funciones de activación (suaves)

SigmoideTangente hiperbólica

Softsign

Page 24: Funciones léxicas en español utilizando embeddings

Capítulo 2. Conceptos básicos 13

−10 −8 −6 −4 −2 0 2 4 6 8 10

0

2

4

6

Funciones de activación

SoftplusReLU

ReLU6ELU

Page 25: Funciones léxicas en español utilizando embeddings

14

Capítulo 3

Estado del arte

En este capítulo se hace una revisión de los elementos generales que dan origen a la

propuesta realizada en el presente trabajo, iniciando con los conceptos básicos que permiten

comprender aquellos más abstractos que se abordan más adelante.

3.1. Representación de las palabras

La representación de palabras es un problema de modelado de texto utilizando objetos

matemáticos. Existen dos formas principales para representar una palabra, la representación

1H (representación atómica), y la representación distribuida (word embeddings).

En la representación 1H, cada palabra tiene una representación discreta. Se construye un

vector con una dimensión que corresponda al vocabulario del corpus de interés, y cada com-

ponente del vector corresponde a la existencia de una palabra dentro de dicho corpus.

3.2. El modelo de espacio vectorial

El modelo de espacio vectorial(VSM1)) propuesto en el año de 1975(modelo que continúa

vigente)(Salton, Wong y Yang, 1975), inicialmente para la recuperación de información tex-

tual, buscaba que la representación de las palabras fuese general, es decir, independiente del

1Por sus siglas en inglés Vector Space Model

Page 26: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 15

lenguaje del que se tratara.

En este modelo, los documentos se representan como vectores de características, donde

las características corresponden a las diferentes palabras en la colección de documentos. Las

componentes de cada vector pueden ser binarias, indicando la presencia o ausencia de la

palabra, o también pueden ser podenradores fraccionarios, indicando la relativa importancia

de la palabra dentro del documento.

3.3. Representación distribucional de palabras

Uno de los esfuerzos por entender y sistematizar el proceso del lenguaje humano fue el

denominado procesamiento estadístico de lenguaje natural (Manning y col., 1999), término

que hace referencia al trabajo no-simbólico y no lógico dentro del procesamiento de lenguaje

natural (PLN o NLP2). Esta forma de entender el lenguaje está basada en la hipótesis de

distribucionalidad, la cual establece de forma general que, los elementos lingüísticos con

distribución similar tienen significados similares (figura 3.1).

3.4. Representación distribuida de palabras

Actualmente, los algoritmos (mayormente empleados en el aprendizaje máquina) utili-

zan tanto como entrada y salida, datos en forma de vectores y/o matrices, debido a que el

manejo de estos elementos abstractos se encuentra firmemente sustentado en el Álgebra Li-

neal, razón por la cual, su manejo no resulta desconocido. En este sentido, la representación

distribuida de una palabra, puede entenderse de tal forma que, dicha palabra se encuentra

2Por sus siglas en inglés Natural Language Processing

Page 27: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 16

−4 −2 0 2 40

20

40

60

80

(A) ”tener” vs ”intención”d = −1.15, s = .067

−4 −2 0 2 40

20

40

60

80

(B) ”tener” vs ”sensación”d = −1.45 s = .067

FIGURA 3.1: Histogramas de frecuencia de la palabra ”tener” con relación a otraspalabras

distribuida a lo largo de múltiples dimensiones (componentes del vector o matriz). La repre-

sentación distribuida, permite que los algoritmos de aprendizaje tengan un mejor desempe-

ño al realizar las tareas propias del procesamiento de lenguaje natural.

3.5. Representación atómica de las palabras (1H)

Sea T una colección de textos con un vocabulario de tamaño V, y sea wn la n-ésima pala-

bra del vocabulario V, entonces, ∀wn ∈ V,

Page 28: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 17

wn =

x1,1

x2,1

x3,1

...

xn,1

...

xV,1

=

0

0

0...

1...

0

(3.1)

Esta representación es conocida como 1H 3, y de forma general, se trata de un vector de di-

mensión V, con valor cero en todas las componentes, excepto en aquella que corresponde a

la palabra, misma que tiene un valor igual a 1, esta forma de representación de texto es la

mas usual para la representación de palabras, sin embargo, existen algunos inconvenientes:

Si tenemos un vocabulario V demasiado grande 4 (por ejemplo en inglés hay un estimado

de 13 millones de tokens), lo cual implicaría el procesamiento de vectores de 13 millones de

componentes. Como un ejemplo, consideremos la siguiente oración

”No hay mal que dure cien años.”

La representación 1H para cada palabra, sería de la siguiente forma:

No:[

1 0 0 0 0 0 0

]

hay:[

0 1 0 0 0 0 0

]

3Del inglés One-Hot.4Las palabras en un lenguaje no tienen un número fijo, pero es posible estimar las palabras que se usan de

forma regular (Baker, 2012).

Page 29: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 18

mal:[

0 0 1 0 0 0 0

]

que:[

0 0 0 1 0 0 0

]

dure:[

0 0 0 0 1 0 0

]

cien:[

0 0 0 0 0 1 0

]

años:[

0 0 0 0 0 0 1

]

Como puede suponerse, la representación 1H tiene algunas deficiencias fundamentales:

El costo computacional de procesar vectores con tantas componentes, es muy elevado.

No considera el contexto en el que se encuentran las palabras.

Dada una medida de similitud, todas las palabras tienen la misma distancia.

3.6. Word embeddings

3.6.1. Modelo de lenguaje neuronal probabilístico

El NLPM5, es una arquitectura propuesta en el año 2003 (Bengio y col., 2003), donde se

pretende abatir el problema de la dimensionalidad de las palabras, es decir la existencia de

secuencias de palabras en la etapa de prueba, que no son compatibles con las secuencias de

palabras utilizadas para el entrenamiento del modelo. Para ello se diseñó un aprendizaje ba-

sado en la representación distribuida de las palabras, lo cual, le permitiría al modelo, conocer

un número exponencial de secuencias semánticamente cercanas a cada palabra.

5Por sus siglas en inglés, Neural Probabilistic Language Model

Page 30: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 19

Un modelo estadístico de lenguaje, basado en la probabilidad condicional de que la pala-

bra t-ésima ocurra, dadas las anteriores palabras, se puede expresar de la siguiente forma:

P(wT1 ) =

T

∏t=1

P(wt|wt−11 )

donde: wji = (wi, wi+1, ..., wj−1, wj)

Para reducir la dificultad en este modelo, se utilizó el hecho de que la relativa cerca-

nía entre palabras en una secuencia dada, es estadísticamente dependiente, por lo tanto, se

construyen tablas de probabilidades condicionales para la palabra siguiente (wt), en un gran

número de contextos, es decir combinaciones de las anteriores (n-1) palabras, por lo que se

tiene:

P(wt|wt−11 ) ≈ P(wt|wt−1

t−n+1)

De forma general en este modelo se propone lo siguiente (figura:3.2):

1. Asociar con un vector de características (v ∈ Rn), cada palabra del vocabulario.

2. Expresar la probabilidad conjunta de secuencias de palabras, en términos de los vecto-

res de características de las palabras en la secuencia.

3. Aprender simultáneamente los vectores de características de las palabras y los paráme-

tros de la función de distribución.

3.6.2. El algoritmo Word2Vec

Como su nombre lo indica, este algoritmo transforma palabras en vectores utilizando dos

arquitecturas:

Arquitectura CBOW6

6Por sus siglas en inglés Continuos Bag of Words.

Page 31: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 20

. . . . . .mayor cómputo aquí

. . .tanh

C(wt−n+1) C(wt−n+1)C(wt−n+1)

índice para wt−n+1

. . .

índice para wt−2

. . .

índice para wt−1

. . .

i−ésima salida

Matriz Cparámetros compartidosentre palabras

FIGURA 3.2: Arquitectura neuronal: f (i, wt−1, ..., wt−n+1) =g(i, C(wt−1), ...C(wt−n+1)) donde g es la red neuronal y C(i) es el í-esimovector de características. Imagen tomada de (Bengio y col., 2003) y adaptada al

español

Arquitectura SkipGram.

Fue propuesto en el año 2013 (Mikolov y col., 2013) que está basado en el modelo de

lenguaje neuronal probabilístico.

3.6.3. La arquitectura CBOW

El objetivo de la arquitectura CBOW (bolsa de palabras continua), es, en su diseño simple,

predecir una palabra y = [y1, y2, y3, ..., yV ], dada una palabra contextual x = [x1, x2, x3, ..., xV ].

En este caso el objetivo del modelo es predecir una palabra objetivo dada una palabra de con-

texto (figura:3.3).

En este caso el vocabulario tiene tamaño V y la capa oculta tiene N neuronas, las unidades

adyacentes están completamente conectadas. La entrada es un vector de tipo 1H. Los pesos

Page 32: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 21

...

...

x1

x2

x3

xk

xv

WV xN = wki

...

...

h1

h2

hi

hN

...

...

y1

y2

y3

yj

yv

W ′NxV = w′ij

Capa de entrada Capa oculta Capa de salida

FIGURA 3.3: Arquitectura CBOW con una sola palabra de contexto

entre la capa de entrada y la capa oculta pueden representarse como la matriz WV×N, donde

cada fila de W es un vector N-dimensional (vw) que representa la palabra asociada a la capa

de entrada.

Formalmente, la fila i de W es vTw. Dada una palabra contextual, y asumiendo que xk = 1

y xk′ = 0 para k′ 6= k, se tiene que:

h = WTx = WTk,· := vT

wI (3.2)

que esencialmente es copiar la k-ésima fila de W en h. vTwI es la representación vectorial

de la palabra de entrada wI . Esto implica que la función de activación de las unidades de

la capa oculta es simplemente lineal (es decir, pasa directamente la suma ponderada de las

entradas a la siguiente capa).

Desde la capa oculta a la capa de salida, hay una matriz de pesos diferente W ′ = {w′ij},

que es una matriz N × V. Usando estos pesos, podemos calcular uj para cada palabra en el

vocabulario,

Page 33: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 22

uj = v′Twj

h (3.3)

donde v′wj es la j-ésima columna de la matriz W ′, entonces es posible aplicar la función de

activación softmax, como un modelo de clasificación log-linear, para obtener la distribución

a posteriori de las palabras, la cual es una distribución multinomial.

P(wj|wI) = yj =exp(uj)

∑Vj′=1 exp(uj′)

(3.4)

donde yj es la j-ésima unidad de la capa de salida. Sustituyendo (3.2) y (3.3) en (3.4), se

obtiene:

P(wj|wI) =exp(v

′Twj

vwI)

∑Vj′=1 exp(uj′)

En su modelo generalizado, el objetivo es predecir una palabra y = [y1, y2, y3, ..., yV ],

dadas C palabras contextuales, siendo y la palabra central; es decir, se tomanC2

palabras

antes yC2

palabras después de y (figura:3.4).

3.6.4. La arquitectura Skip-Gram

La arquitectura Skip-Gram es lo opuesto a la arquitectura CBOW, la palabra objetivo se

encuentra ahora como entrada y las palabras contextuales se encuentran en la capa de salida

(figura:3.5).

Page 34: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 23

...

...X1k

WV xN

...

...X2k

WV xN

...

...XCk

WV xN

...

...hi

...

...

W ′NxV

Capa de entrada

Capa oculta

Capa de salida

FIGURA 3.4: Modelo CBOW generalizado

Page 35: Funciones léxicas en español utilizando embeddings

Capítulo 3. Estado del arte 24

...

...y1k

W ′NxV

...

...y2k

W ′NxV

...

...

...

yCk

W ′NxV

C×V − dim

...

...hi

N − dim

...

...

xj WV xN

V − dim

Capa de salida

Capa oculta

Capa de entrada

FIGURA 3.5: Modelo SkipGram

Page 36: Funciones léxicas en español utilizando embeddings

25

Capítulo 4

Materiales y métodos

4.1. Modelo de desarrollo

En el presente trabajo se realizó bajo el esquema del modelo básico de desarrollo de un

sistema de Procesamiento de Lenguaje Natural.

Comprenderel problema

Recolectar losdatos(corpus) Análisis Preprocesamiento

Extracción decaracterísticas

Identificarlas técnicas

coputacionalesa utilizar

Aplicarlas técnicas

coputacionales

Evaluarlos resultados

del sistema

Ajustarlos parámetros(optimización)

Resultadossatisfactorios

Presentarresultados nosi

FIGURA 4.1: Modelo de Desarrollo

Page 37: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 26

4.1.1. Definición del problema

Realizar análisis semántico de información de manera automática, basado en el concepto

formal de función léxica, para un corpus en español, utilizando aprendizaje máquina a través

del enfoque de tensores.

4.1.2. Recolección de datos

El conjunto de datos corresponde a diferentes artículos del periódico Excelsior, de los

años 1996,1997,1998,1999, el cual, después de las gestiones administrativas necesarias, será

publicado con fines académicos y de investigación.

4.1.3. Análisis

Una vez que se ha realizado el proceso de recolección de datos, se realizó un breve análisis

cuantitativo y cualitativo del corpus y con base en los resultados obtenidos se optó elegir un

modelo de preprocesamiento que se describe a continuación.

4.1.4. Preprocesamiento

En general, el preprocesamiento del texto que se siguió en el presente trabajo se describe

en la (figura:4.2)

4.2. Marco teórico

El objetivo general de este trabajo, es el estudio de las funciones léxicas bajo la aplicación

de métodos de aprendizaje basados en tensores (embeddings), sin embargo, es importante

revisar el marco teórico, como base de lo que se pretende realizar en el presente estudio.

Page 38: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 27

Formar corpus único

Tokenización

Remoción de stopwords

Aplicar stemming

Formar vocabulario común

Vectorización de documentos

11

2

3

4

5

6

FIGURA 4.2: Modelo de preprocesamiento

4.2.1. La teoría del Significado-Texto

En la lingüística teórica, la teoría del Significado-Texto (MTT 1), fue propuesta como un

marco teórico universal, aplicable a cualquier lenguaje humano. Como concepto, la función

léxica fue introducida dentro de la MTT, como una forma de describir las restricciones o

preferencias léxicas de las palabras para elegir su ”compañía” al expresar cierto significado

dentro del texto.

La MTT describe al lenguaje natural como un sistema de reglas que permiten a los ha-

blantes transmitir significado dentro del texto (hablando o construcción de texto), así como

texto en significado (comprensión o interpretación de texto) (Gelbukh y Kolesnikova, 2012) .

1Por sus siglas en inglés Meaning-Text Theory

Page 39: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 28

El modelo de lenguaje de la MTT es multinivel (figura:4.3), esto quiere decir que la trans-

ferencia de significado-texto se realiza en una serie de transformaciones consecutivas en va-

rios niveles; así, a partir del nivel de significado, o representación semántica, primero se

ejecutan algunas operaciones para expresar el significado deseado en el nivel de sintaxis

profunda, después se pasa al nivel sintáctico superficial, posteriormente al nivel morfológi-

co profundo, después al nivel morfológico superficial, y finalmente al nivel fonológico donde

se puede hablar y escuchar el texto (texto oral o discurso). Otra opción es el texto escrito, que

en realidad es un discurso representado por un sistema ortográfico para facilitar la comuni-

cación humana. En este caso, cada nivel posee su propio alfabeto o unidades, y reglas para

el arreglo entre unidades, así como para la trasferencia de un nivel a otro.

Representación semántica

Sintáctico profundo

Sintáctico superficial

Morfológico profundo

Morfológico superficial

Fonológico

Niv

el

FIGURA 4.3: Modelo multinivel MTT

La representación semántica es una red o sistema de elementos semánticos interconec-

tados, las representaciones sintácticas se describen mediante árboles de dependencia; las

representaciones morfológicas y fonológicas son lineales.

Page 40: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 29

4.2.2. Funciones Léxicas(FL)

Uno de los propósitos de la teoría de las funciones léxicas, es su aplicación en la clasi-

ficación de colocaciones, bajo este contexto, solo las relaciones léxicas sintagmáticas son de

relevancia. Las relaciones léxicas sintagmáticas, se dan dentro de un texto, entre una uni-

dad léxica y otras unidades que la rodean, por ejemplo: tender-cama, lograr-objetivo, hacer-

referencia, etc.

La relación léxico-semántica entre las dos unidades léxicas, es abstracta y estándar, en-

tre las cuales una de las unidades (la Base) controla la elección léxica de la otra unidad (el

valor).”Estándar” significa que esta relación es suficientemente común; y, ”abstracto” que

dicha relación es lo suficientemente genérica para agrupar todas las relaciones que poseen el

mismo núcleo semántico.

Una herramienta eficiente para el procesamiento semántico de las colocaciones es la fun-

ción léxica. Este formalismo lingüístico permite representar el significado de las colocaciones

de manera exacta, concisa y original, para explicar y formalizar de forma explícita, la asocia-

ción entre un significado particular y una estructura sintáctica específica.

Las relaciones léxico-semánticas que se abordan en el presente trabajo, son del tipo verbo-

sustantivo, los ejemplos típicos de éstas relaciones son: ’realizar o llevar a cabo’ (como por

ejemplo: dar y presentación, hacer y sugerencia, tomar y decisión, etc.), dichas relaciones o

patrones semántico-sintácticos se denominan funciones léxicas, es decir, las funciones léxicas

son una representación explícita y clara de las preferencias de selección entre palabras. Para

ilustrar el concepto de las funciones léxicas se tiene el siguiente ejemplo multilingüe:

Español: té cargado

Inglés: strong tea (té fuerte)

Alemán: starker Tee (té poderoso)

Francés: thé fort (té vigoroso)

Ruso: krepkiy chay (té firme)

Page 41: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 30

En el ejemplo anterior, las co-ocurrencias léxicas de ciertas combinaciones de palabras en

un lenguaje, son normales, mientras que en otro resultan incoherentes, por lo que, la selec-

ción adecuada del verbo para usarse de forma conjunta con un sustantivo dado, no puede

hacerse basándose únicamente en el significado de dicho sustantivo, este tipo de restricciones

de co-ocurrencias léxicas, es uno de los principales objetivos de la descripción lexicográfica.

Como ha tratado de mostrarse, la noción de funciones léxicas está estrechamente relacio-

nada con la de las colocaciones. Las colocaciones son difíciles de analizar o generar por una

computadora, debido a que su significado no puede inferirse automáticamente, por medio

del significado de los elementos que la constituyen, sin embargo, esta dificultad puede re-

solverse si a cada colocación se le asigna su respectiva función léxica, pues ésta representa el

significado de la colocación.

Se han identificado más de 70 funciones léxicas elementales. Cada función léxica repre-

senta un grupo de combinaciones de palabras que poseen el mismo contenido semántico y

la misma estructura sintáctica.

Las aplicaciones de las funciones léxicas son diversas:

Recursos léxicos: Una base de datos de combinaciones de palabras anotadas con datos

semánticos y sintácticos en forma de funciones léxicas, podría mejorar el desempeño de los

sistemas de procesamiento de lenguaje natural.

4.3. Herramientas de software

4.3.1. El lenguaje Python

El lenguaje de prugramación Python fue creado a finales de los ochenta, por Guido Van

Rossum, con una primera versión publicada en 1991 y presentado como un proyecto para

enseñanza de la programación en colaboración con Agencia de Proyectos de Investigación

Page 42: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 31

Avanzados en Defensa (DARPA2). Después de un cambio en el equipo de colaboración de

desarrollo, su creador realiza cambios estructurales en el lenguaje (soporte para unicode, ca-

pacidad de trabajo con listas, nuevo recolector de basura, entre otros), con lo que se da origen

a la versión 2.0. El lenguaje ha continuado evolucionando y a la fecha de realización de es-

te trabajo se encuentra disponible la versión 3.7.1. Cabe mencionar que actualmente existen

dos corrientes de usuarios del lenguaje aquellos adeptos a las versiones 2.X y quienes usa-

mos las versiones 3.X. Aunque han existido dificultades de compatibilidad entre versiones,

el objetivo es facilitar la transición de las versiones 2.X a la 3.x, por ello, además de las ca-

racterísticas que se describen a continuación, en el presente trabajo se utiliza la versión 3.5.6,

versión estable actualmente:

Fácil de aprender.

Multipropósito y multiplataforma.

Código de fácil lectura y escritura.

Integrado con otros lenguajes (p. ej. C y Java).

Puede utilizarse bajo tres paradigmas (modular, orientado a objetos y funcional)

Expresivo (con unas pocas líneas de código se puede realizar una aplicación completa).

Integrado con una completa variedad de librerías.

Gran variedad de librerías adicionales, proporcionadas por una creciente comunidad

de usuarios.2Por sus siglas en inglés Defense Advanced Research Projects Agency

Page 43: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 32

4.3.2. Natural Language Toolkit (NLTK)

Es una librería, especializada en el Procesamiento de Lenguaje Natural y análisis de texto.

Originalmente diseñada para la enseñanza, ha sido adoptada por la industria, para investi-

gación y desarrollo, debido a su utilidad y amplia cobertura.

4.3.3. Gensim

Gensim es una librería Pyhton, de código abierto, para el procesamiento de texto en bruto

(sin estructurar), esta librería fue creado por Radim Rehurek (Ph.D. in Computer Science).

Algunas de las características con las que cuenta Gensim son:

Distintos formatos de entrada: Soporta una variedad de formatos de entrada como UTF-

8, ademas de conversores entre formatos.

Variedad de algoritmos : Tiene implementaciones eficientes de distintos algoritmos para

Word Embeddings como por ejemplo Word2Vec y fastText.

Independencia de memoria: Dado que no utilza la memoria RAM para almacenar los do-

cumentos (corpus) que sirven para entrenar los distintos algoritmos implementados, puede

procesar documentos que son significativamente mas grandes que la memoria de la compu-

tadora donde se utilice.

4.3.4. Keras

Keras es una librería de nivel de modelado, que proporciona bloques de código de alto

nivel, para el desarrollo de modelos de aprendizaje profundo. El objetivo de Keras es permi-

tir al usuario el desarrollo de modelos de alto nivel, omitiendo las operaciones de bajo nivel,

como son los productos entre tensores, convoluciones, etc. Dichas operaciones se realizan a

través de librerías especializadas y optimizadas para el manejo de tensores, que actúan como

un motor oculto del usuario (backend). Actualmente Keras puede implemetarse utilizando

tres backends que son: TensorFlow, Theano y Microsoft Cognitive Toolkit (CNTK).

Page 44: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 33

4.3.5. TensorFlow

TensorFlow es un software para cómputo numérico de código abierto, que utiliza grafos

computacionales para el uso de algoritmos de aprendizaje máquina, proporcionando una

implementación robusta que permite el uso de algoritmos de aprendizaje profundo. Su nom-

bre se deriva del modelo de datos representado por tensores, y por el flujo de datos en grafos.

Los nodos en el grafo representan las operaciones matemáticas y las aristas tensores, las

cuales sirven de comunicación con los nodos. Asimismo ofrece una arquitectura flexible que

permite desarrollar cómputo en más de una CPU o GPU (Zaccone, Karim y Menshawy, 2017),

para una computadora de escritorio, servidor, o dispositivo móvil mediante una sencilla API.

Fue desarrollado en 2011 por el equipo ”Brain” de Google, para uso interno, con la finali-

dad de conducir una investigación sobre aprendizaje máquina y redes neuronales profundas,

sin embargo, en noviembre de 2015 Google hizo a TensorFlow de código abierto y puso toda

la referencia de su implementación en GitHub a disposición del público en general, con la

regulación de una licencia Apache 2.0.

Algunas de las características de TensorFlow son las siguientes:

Flexibilidad: Además de ser un software para la implementación de modelos de apren-

dizaje máquina y aprendizaje profundo, TensorFlow puede emplearse para resolver

distintos problemas que involucran funciones matemáticas. El modelo de flujo de da-

tos en grafos permite construir modelos complejos de otros modelos más simples (sub-

modelos).

Portabilidad: TensorFlow puede ejecutarse en plataformas Windows, Linux Mac y mó-

viles (como Android).

Page 45: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 34

Extensibilidad: Aunque TensorFlow es relativamente una nueva tecnología, su desarro-

llo continúa, además de que cualquier elemento que quiera ser añadido puede desarro-

llarse por cualquier persona en código C++ y añadirse al framework.

Código de fácil depuración: TensorFlow proporciona una herramienta denominada

TensorBoard, para el análisis y desarrollo de modelos.

4.4. Medidas de desempeño

4.4.1. Matriz de confusión

La matriz de confusión es una matriz de N × N donde N es el número de etiquetas o

clases, puede considerarse una forma de resumir las respuestas correctas e incorrectas obte-

nidas con el modelo de aprendizaje máquina a evaluar, en comparación con las respuestas

actuales (valores objetivo 3).

Las entradas en la matriz de confusión son las frecuencias de cada respuesta particular.

Las entradas a lo largo de la diagonal principal de la matriz de confusión, corresponden a

respuestas correctas, mientras que las entradas fuera de la diagonal describen los diferentes

tipos de errores. Después de construir la matriz de confusión, se elabora la tabla de confusión

para cada clase, donde las filas en la matriz corresponden a la clasificación actual, es decir,

todos aquellos elementos que en realidad pertenecen (∑ P) o no pertenecen (∑ N) a la clase.

Las columnas son las clasificaciones predichas por el modelo, es decir, los elementos que el

modelo predijo como pertenecientes a la clase (∑ P) o no pertenecientes a la clase (∑ N).

En la figura 4.4 se ilustra el concepto anterior, donde se tienen las siguientes definiciones:

TP: El número de clasificaciones correctas de los elementos que pertenecen a la clase.

FN: El número de clasificaciones incorrectas de los elementos que pertenecen a la clase.

3Target values (en inglés)

Page 46: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 35

FP: El número de clasificaciones incorrectas de los elementos que no pertenecen a la

clase.

TN: El número de clasificaciones correctas de los elementos que no pertenecen a la

clase.

Clase

Predicción

P N Total

P TP FN ∑ P

N FP TN ∑ N

Total ∑ P ∑ N

FIGURA 4.4: Matriz de confusión

Para mostrar los conceptos anteriores, se tiene el siguiente ejemplo:

Supóngase que se planteó un modelo para clasificar frutas en función de una regla de

clasificación h(x), los resultados son los siguientes:

Predicción

Uvas Moras Cerezas

Clase

Uvas 4 3 0

Moras 2 5 1

Cerezas 0 1 8

En este modelo, de las 8 uvas, 3 fueron clasificadas como moras. De las 8 moras, 2 fueron

clasificadas como uvas, y 1 como cereza. De las 9 cerezas, 1 se clasificó como mora. Ahora se

Page 47: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 36

ClaseUva

Predicción

P N Total

P 4 2 ∑ P

N 3 15 ∑ N

Total ∑ P ∑ N

construye la tabla de confusión para la clase uva y se tiene: De la tabla anterior se obtiene la

siguiente información:

(TP = 4): El número de clasificaciones correctas que pertenecen a la clase uva.

(FN = 3): El número de clasificaciones incorrectas de elementos de la clase uva.

(FP = 2): El número de clasificaciones incorrectas de elementos que no pertenecen a la

clase uva.

(TN = 15): El número de clasificaciones correctas de los elementos que no pertenecen a

la clase uva.

4.4.2. Indicadores

Asimismo, de la tabla de confusión es posible obtener los siguientes indicadores:

Exactitud (Accuracy): Es la proporción del número total de predicciones que fueron

correctamente clasificadas.

A =TP + TN

TP + FP + FN + TN

Page 48: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 37

Precisión (Precision): Es la proporción de los ejemplos positivos que fueron correcta-

mente clasificados, con respecto al total de ejemplos positivos clasificados, en otras

palabras, el número de elementos relevantes seleccionados.

P =TP

TP + FP

Recuperación o Sensibilidad (Recall or Sensitivity): Es la proporción de los ejemplos

positivos clasificados, con respecto al número total de ejemplos positivos en el conjun-

to de prueba, o en otras palabras, el número de elementos relevantes correctamente

seleccionados.

R =TP

TP + FN

Especificidad (Specificity): Es la proporción de los negativos reales, que fueron correc-

tamente identificados.

S =TN

FP + TN

F1: Mide la exactitud de la prueba mediante una media armónica.

F1 =2(P)(R)

P + R

Page 49: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 38

...

...

...

...

...

...

...

...

Wk−1 Wk

Base

Wk+1 Perceptrón

Embeddings Promedio aritmético LF(Base)=valor

FIGURA 4.5: Modelo MP-FL1

Page 50: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 39

4.4.3. Método propuesto

Algoritmo 1: Modelo MP-FL1

1 for O in Oraciones do

2 i=0

3 Ejemplos = []

4 Targets = []

5 ListaTokens[] = Tokenization(O)

6 for token in ListaTokens[] do

7 K=1

8 if token == Base then

9 Wk−1=ListaTokens[K-1]

10 Wk=ListaTokens[K]

11 Wk+1=ListaTokens[K+1]

12 if Wk−1 == Valor then

13 Wk−1=ListaTokens[K-2]

14 else if Wk+1 == Valor then

15 Wk+1=ListaTokens[K+2]

16 end if

17 end

18 end

19 W1,W2,W3,V= RecuperaEmbedding(Wk−1, Wk, Wk+1, Valor)

20 P=Promedio(W1,W2,W3)

21 Ejemplos[i]=P

22 Targets[i]=V

23 i=i+1

24 Perceptron(P,V)

25 end

Page 51: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 40

...

... Wk−1

...

...

Wk=base

...

...

Wk+1

...

...

...

...

...

...

EmbeddingsConcatenación Perceptrón

valor

LF(base)=valor

FIGURA 4.6: Modelo CP-FL2

Page 52: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 41

Algoritmo 2: Modelo CP-FL2

1 for O in Oraciones do

2 i=0

3 Ejemplos = []

4 Targets = []

5 ListaTokens[] = Tokenization(O)

6 for token in ListaTokens[] do

7 K=1

8 if token == Base then

9 Wk−1=ListaTokens[K-1]

10 Wk=ListaTokens[K]

11 Wk+1=ListaTokens[K+1]

12 if Wk−1 == Valor then

13 Wk−1=ListaTokens[K-2]

14 else if Wk+1 == Valor then

15 Wk+1=ListaTokens[K+2]

16 end if

17 end

18 end

19 W1,W2,W3,V= RecuperaEmbedding(Wk−1, Wk, Wk+1, Valor)

20 C=Concatena(W1,W2,W3)

21 Ejemplos[i]=P

22 Targets[i]=V

23 i=i+1

24 Perceptron(C,V)

25 end

Page 53: Funciones léxicas en español utilizando embeddings

Capítulo 4. Materiales y métodos 42

...

...

ruido

...

...

Wk

Base

...

...

ruido

Concatenación

Valor

Concatenación

...

...

Wk−1

...

...

Base

...

...

Wk+1

FIGURA 4.7: Modelo EXA-FL3

Page 54: Funciones léxicas en español utilizando embeddings

43

Capítulo 5

Experimentos y resultados

En este capítulo se presentarán los principales resultados derivados de los modelos pro-

puestos

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

50

60

70

80

Épocas

Porc

enta

je

PrecisiónMP-FL1CP-FL2

EXA-FL3SoA-UPSoA-DW

Page 55: Funciones léxicas en español utilizando embeddings

Capítulo 5. Experimentos y resultados 44

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

50

60

70

80

Épocas

Porc

enta

je

Recuperación

MP-FL1CP-FL2

EXA-FL3SoA-UPSoA-DW

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

50

60

70

80

Épocas

Porc

enta

je

F1MP-FL1CP-FL2

EXA-FL3SoA-UPSoA-DW

Page 56: Funciones léxicas en español utilizando embeddings

45

Capítulo 6

Conclusiones y trabajo futuro

6.1. Conclusiones

En este trabajo, se presentó el problema del análisis léxico bajo un esquema de clasifica-

ción, considerando al verbo en una oración como la parte fundamental de su estructura y co-

mo núcleo del significado de la misma, con base en un recurso lingüístico formal y emplean-

do herramientas novedosas pero simples del aprendizaje automático o aprendizaje máquina.

Prescindir de elementos lingüísticos adicionales, no es una necedad aunque así lo parez-

ca, sencillamente se buscó desde un inicio crear un entorno de ”aprendizaje” similar al del

ser humano en sus primeros años de vida, pues nadie aprende a estructurar una oración que

transmita un mensaje entendible utilizando un diccionario, más bien se trata de imitar un

proceso mental que no es claro aún.

Es evidente que con respecto a la tarea realizada el corpus utilizado resultó escaso, pues,

la frecuencia de verbo-sustantivo es, en muchos casos menor al 25 %, en comparación con

el método base; esto resulta evidente en la evaluación de las medidas de desempeño para

predicción y recuperación, que se encuentran 18 puntos por debajo del mismo.

Page 57: Funciones léxicas en español utilizando embeddings

Capítulo 6. Conclusiones y trabajo futuro 46

Con respecto al objetivo general del presente trabajo, se presentaron tres arquitecturas

distintas para la clasificación y predicción de funciones léxicas, y aunque simples en su con-

cepción, no pueden ser descartadas en su totalidad, ya que existió una limitación con respec-

to a recursos de entrada (corpus anotado, mayor frecuencia de colocaciones, etc.)

En cuanto a los objetivos específicos, se estudiaron tres algoritmos de Word Embeddings

y sus posibles aplicaciones para la tarea de la identificación de funciones léxicas en español,

se consiguió la meta de crear un corpus anotado, regionalizado para el lenguaje español en

México, logrando un total de 1000 ejemplos de oraciones que contienen diferentes funciones

léxicas.

6.2. Trabajo futuro

Como se ha mencionado anteriormente, el proceso de construcción y comprensión del

lenguaje humano no está completamente identificado, y por ello, las arquitecturas de apren-

dizaje automático empleadas para imitar dicho proceso son también un amplio campo aún

sin una definición exacta.

Si se trata de mejorar el desempeño de las arquitecturas presentadas, seguramente se al-

canzaría por lo menos una mejora del 10 % utilizando recursos léxicos disponibles para el

lenguaje español, externos al corpus utilizado.Asimismo, combinando la visión de la tarea

de un enfoque completamente de clasificación, a uno que adicione el enfoque de agrupa-

miento(clustering), de aquellos elementos que asemejen el significado del sustantivo dentro

de la función léxica.

Dada la gran variedad de arquitecturas empleadas para distintas tareas del aprendizaje

Page 58: Funciones léxicas en español utilizando embeddings

Capítulo 6. Conclusiones y trabajo futuro 47

automático, tanto para aquellas que pertenecen al procesamiento de lenguaje natural co-

mo para aquellas utilizadas en otras tareas (clasificación de imágenes, reconocimiento facial,

etc.), sería posible combinar múltiples arquitecturas que puedan aplicarse a esta tarea.

Como paso inmediato, podría sugerirse el uso de una arquitectura de red neuronal recu-

rrente(RNN), de tipo LSTM, aplicándolo como un modelo asociador, bajo el mismo esquema

aquí presentado, es decir, construyendo sentidos de las palabras a través de concatenación

de vectores de palabras o n-gramas, pero ampliando el campo semántico que proporciona

una arquitectura robusta como los son las RNN.

Page 59: Funciones léxicas en español utilizando embeddings

48

Glosario

análisis léxico : Proceso de determinación de las características léxicas de cada una de las

palabras que componen un texto. 6

API : Interfaz de programación de aplicaciones (del inglés application programming inter-

face), es una pieza de software que sirve como contrato entre proveedor y consumidor,

que permite a colegas, socios o desarrolladores externos acceder a datos y servicios

para crear aplicaciones(Jacobson, Woods y Brail, 2011). 33

corpus : Es una colección de material escrito o hablado en lenguaje natural, almacenado en

una computadora y utilizado para descubrir cómo se utiliza el lenguaje (Gibbon, Moore

y Winski, 2013). 14

stopword : En español, palabra vacía, son palabras comunes que generalmente no contribu-

yen al significado de la oración o texto. La remoción de stopwords es una práctica co-

mún, típicamente se clasifican como stopwords artículos y pronombres (Perkins, 2010).

27

token : Elemento con significado, que se genera mediante el uso de técnicas de análisis léxi-

co. 17

Page 60: Funciones léxicas en español utilizando embeddings

49

Bibliografía

Aslam, Salman (ene. de 2018). «Twitter by the Numbers: Stats, Demographics & Fun Facts».

En:

Baker, P. (2012). Contemporary Corpus Linguistics. Contemporary Studies in Linguistics. Con-

tinuum International Publishing. ISBN: 9781441181336.

Bengio, Yoshua y col. (mar. de 2003). «A Neural Probabilistic Language Model». En: J. Mach.

Learn. Res. 3, págs. 1137-1155. ISSN: 1532-4435.

Bhuiyan, T. (2013). Trust for Intelligent Recommendation. SpringerBriefs in Electrical and Com-

puter Engineering. Springer New York. ISBN: 9781461468950.

Duff, A.S. (2013). Information Society Studies. Routledge Research in Information Technology

and Society. Taylor & Francis. ISBN: 9781317797982.

Gelbukh, A. y O. Kolesnikova (2012). Semantic Analysis of Verbal Collocations with Lexical Fun-

ctions. Studies in Computational Intelligence. Springer Berlin Heidelberg. ISBN: 9783642287718.

Gibbon, D., R. Moore y R. Winski (2013). Spoken Language System and Corpus Design. Gib-

bon, Dafydd; Moore, Roger; Winski, Richard: Handbook of Standards and Resources for

Spoken Language Systems. De Gruyter. ISBN: 9783110809817.

Jacobson, D., D. Woods y G. Brail (2011). APIs: A Strategy Guide. Oreilly and Associate Series.

O’Reilly Media. ISBN: 9781449308926.

Kumar, E. (2011). Natural Language Processing. I.K. International Publishing House Pvt. Limi-

ted. ISBN: 9789380578774.

Manning, C.D. y col. (1999). Foundations of Statistical Natural Language Processing. Mit Press.

MIT Press. ISBN: 9780262133609.

Page 61: Funciones léxicas en español utilizando embeddings

Bibliografía 50

Mikolov, Tomas y col. (2013). «Efficient Estimation of Word Representations in Vector Space».

En: CoRR abs/1301.3781. arXiv: 1301.3781.

Mumford, C.L. (2009). Computational Intelligence: Collaboration, Fusion and Emergence. Intelli-

gent Systems Reference Library. Springer Berlin Heidelberg. ISBN: 9783642017995.

Perkins, J. (2010). Python Text Processing with NLTK 2.0 Cookbook. Open source - Community

experience distilled. PACKT Publishing. ISBN: 9781849513616.

Picton, P. (2001). Neural Networks. Palgrave Macmillan. ISBN: 9780333948996.

Salton, G., A. Wong y C. S. Yang (nov. de 1975). «A Vector Space Model for Automatic In-

dexing». En: Commun. ACM 18.11, págs. 613-620. ISSN: 0001-0782. DOI: 10.1145/361219.

361220.

Scott, A. (2002). Neuroscience: A Mathematical Primer. Springer New York. ISBN: 9780387954035.

Sidorov, Grigori (2013). Construcción no lineal de n-gramas en la lingüística computacional. Socie-

dad Mexicana de Inteligencia Artificial. ISBN: 978-607-95367-9-4.

Zaccone, G., M.R. Karim y A. Menshawy (2017). Deep Learning with TensorFlow. Packt Publis-

hing. ISBN: 9781786460127.