Artículos de matemáticas aplicadas

Diseño de un espacio semántico sobre la base de la Wikipedia



Luis Javier Álvarez, Igor Barahona y Dalina Aidee Villa
$ \newcommand{\menorque}{\mathrel{<}}$ $ \newcommand{\mayorque}{\mathrel{>}}$ $ \newcommand{\rango}{\mathop{\rm rango}}$

Resumen

El análisis de semántica latente (LSA, por sus siglas en inglés) fue concebido inicialmente desde el área de la psicología cognitiva. Desde su aparición en la década de los noventa, el LSA ha sido utilizado para modelar procesos cognitivos, corregir textos académicos, comparar obras literarias y analizar discursos, entre otras. Sobre la base de métodos estadísticos multivariados de reducción de dimensionalidad, aplicados a la Wikipedia en texto plano, este trabajo propone la construcción de un espacio semántico (diccionario) para el idioma español. Nuestros resultados incluyen una matriz documentos-palabras (con dimensiones de $1.3 \times10^{6} $renglones y $5.9 \times10^{6} $ columnas). Los valores singulares de tal matriz, son utilizados para comparar semánticamente dos o más textos.

  • Palabras clave: análisis semántico, espacio semántico, reducción de dimensiones, valores singulares, estadística multivariada

Introducción

La humanidad siempre ha mostrado una necesidad imperiosa por comunicarse, siendo el lenguaje el instrumento más efectivo. Una interpretación correcta del lenguaje es un requisito indispensable dentro del proceso de comunicación efectivo. Los campos semánticos, los cuales están basados en métodos estadísticos multivariados, han resultado una poderosa herramienta para lograr una interpretación correcta de las palabras de un idioma.

Contexto

El análisis de la semántica latente (LSA, por sus siglas en inglés) fue concebido inicialmente desde el área de la psicología cognitiva, como una técnica que fuera capaz de adquirir y recuperar el conocimiento humano [7]. Desde sus primeras apariciones en la década de los noventa, el LSA ha sido utilizado en diferentes áreas del conocimiento, entre las que se pueden destacar: la modelación de procesos cognitivos, corrección de textos académicos, análisis del discurso, obtención de medidas de cohesión textual y comparación otras literarias, entre otras [12-14,16, 20]. En el campo del análisis estadístico de textos, el LSA ha demostrado su precisión para describir correctamente las relaciones que mantienen unas palabras con otras en diferentes contextos. Las medidas cuantitativas de las relaciones de palabras similares, utilizadas en diferentes contextos, nos permiten crear conceptos o significados semánticos. Además, tales medidas sientan las bases para la creación de tópicos y redes temáticas. Es decir, a través de la aplicación de métodos estadísticos multivariados, el LSA pone de manifiesto una propiedad que se cumple en los lenguajes naturales: aquellas palabras con valores semánticos similares aparecerán en contextos parecidos.

La idea central que soporta el análisis semántico latente es relativamente sencilla: cualquier texto, sin importar el tamaño, puede ser representado por un sistema de ecuaciones lineales. En este sistema, el significado de alguna palabra en particular estará representado por la suma de los documentos (contextos) donde es utilizada. De lo anterior, se desprende que dos o más palabras tendrán un significado semántico similar que tendrá relación directa con sus respectivas sumas. La técnica de descomposición de valores singulares es utilizada como un método de reducción de dimensionalidad que permite crear un espacio semántico de menores dimensiones que tendrá representación de las palabras en función de sus eigenvectores. Este procedimiento será explicado con mayor detalle en las siguientes páginas.

Objetivo

El objetivo de este trabajo es proponer un campo semántico para el español, tomando como punto de partida la Wikipedia en este idioma. Tal campo semántico deberá incluir las relaciones latentes que existen entre todas las palabras que componen el español o al menos aquellas representadas en la Wikipedia. Las razones para seleccionar esta base de datos y no otra, es que la Wikipedia al ser un proyecto colaborativo hace posible que todas las personas con acceso a internet e hispanoparlantes sean potenciales colaboradores. Lo anterior nos permite cumplir en forma parcial con el supuesto de que un campo semántico deberá ser construido con textos en lenguaje natural. Se espera que este trabajo haga una aportación original a las ciencias sociales, en el sentido de proponer herramientas con rigor matemático, las cuales facilitan los procesos de toma de decisiones.

Materiales y métodos

En el contexto del análisis semántico latente, resulta de especial importancia que los textos utilizados se compongan de lenguaje natural. Las bases de datos bajo análisis se deben componer del idioma español escrito, el cual es utilizado para propósitos generales de comunicación. Otra característica por observar en los textos analizados es que deben ser tan extensos como sea posible. Tal como se mencionó anteriormente, un inconveniente en el análisis semántico latente (LSA) es que la precisión de los resultados a obtener se encuentra en función del tamaño del texto investigado. Tal como lo mencionan algunos autores, la lógica detrás del LSA es que, mientras mayor es el tamaño de las bases de datos utilizadas, mayor es la precisión de los resultados [10]. La Wikipedia ofrece algunos beneficios en esa dirección, tal como lo ilustramos a continuación.

La Wikipedia es una enciclopedia libre, editada de forma colaborativa en más de trecientos idiomas. Es administrada por la Fundación Wikipedia, una organización sin fines de lucro y cuya financiación se basa en las donaciones de los usuarios [28]. A la fecha de elaboración del presente documento, se estima que la Wikipedia en español tenía aproximadamente cuarenta y ocho millones de artículos, los cuales son redactados por voluntarios alrededor del mundo. Desde su creación en el año 2001, el proyecto ha recibido cerca de dos mil millones de ediciones. Un factor crítico para el éxito de la Wikipedia es que cualquier persona con una computadora y acceso a internet puede sumarse al proyecto, realizando ediciones, cambios, aportaciones, etcétera. Por lo anterior, consideramos que la Wikipedia cumplía con las características necesarias para realizar LSA. En primer lugar, al ser editada por muchos usuarios con diferentes perfiles sociodemográficos, se cumple parcialmente el requisito del lenguaje natural. Aun cuando tiene sesgos importantes sobre la forma y uso del lenguaje, la Wikipedia es uno de los proyectos digitales más destacados que existen para el idioma español. Esto último representa una ventaja al momento de construir el campo semántico, porque se evitan procesos de digitalización que quedan fuera del alcance de este trabajo. Para sopesar las limitantes antes mencionadas, un trabajo futuro tomará como punto de partida bibliotecas más extensas que la Wikipedia, pero que no están totalmente digitalizadas.

La metodología implementada en este trabajo se compone de siete pasos, comenzando con la descarga de la Wikipedia en texto plano y finalizando con una ilustración de la comparación semántica de textos (figura 1). En los siguientes renglones se explica cada uno de ellos.

Diagrama de flujo de la metodología

Descargar la Wikipedia

El punto de partida es descargar del sitio https://www.wikipedia.org/ la Wikipedia en texto plano y sin imágenes. El archivo descargado tiene un formato XML y un peso de 2.5 GB. De acuerdo con Wikipedia estos documentos son actualizados mensualmente y para fines de este trabajo hemos tomado la versión de octubre del año 2018 [26]. Para este propósito se utilizó la librería WikiExtractor, un script en Python que estrae y limpia el texto desde un archivo de Wikipedia tipo dump, fue utilizado para este propósito [25]. Mediante este algoritmo, un total de 7 793 289 documentos que corresponden al mismo número de páginas fueron almacenados en el disco local.

Limpieza y depuración de bases de datos

A diferencia de otras bases de datos digitales, los contenidos tipo texto de la Wikipedia se distribuyen bajo la licencia Creative Commons Attribution-ShareAlike 3.0 https://creativecommons.org. Lo anterior permite utilizarla para copias de seguridad, consultas, uso personal o proyectos académicos. Una copia en formato XML y en idioma español fue descargada de la página de Wikipedia y posteriormente realizamos tareas de limpieza y depuración [26]. Específicamente, se aplicó el procedimiento sugerido en [2], el que consiste en remover hipervínculos, caracteres especiales, puntuación y signos especiales. Con lo anterior obtuvimos un conjunto de datos con 1 336 063 renglones y tres columnas. Estas últimas hacen referencia al identificador del documento, la palabra clave y su respectiva definición.

Construir una matriz documentos-palabras

Un elemento de gran importancia en el análisis semántico es la matriz ${M}$ o matriz documentos-palabras. Se dice que ${M}$ tiene dimensiones $n\times p$, donde $i=1,\dots,n$ representa el número total de páginas de las que se compone la Wikipedia y $j=1,\dots,p$ hace referencia al total de palabras únicas. Además $x_{i,j}$ denota el número de veces que la palabra $i$ aparece en el documento $j$, por lo tanto, ${M}$ también puede ser considerada una matriz de frecuencias. Las librerías tm, matrix y lsa, creadas bajo el ambiente de R fueron utilizadas durante la construcción de la matriz documentos-palabras. Adicionalmente, se concatenaron las variables ID, ID-familia y letra del abecedario como suplementarias al estudio, tal como se ilustra en la figura 2.

Matriz documentos-palabras

Dentro de la carga de información se obtuvo la representación de la información.


load("mi.lsaV2.rda")

El procesamiento de los datos se dio en el software R.

Descomposición Singular

Sea ${M}$ una matriz de orden $n\times p$ con $n\geq p$. Se llama descomposición de valores singulares de ${M}$ a:

\begin{equation} {M}=UDV^{T} \end{equation}

Donde $U$ es la matriz de $n\times p$ cuyas columnas son vectores ortogonales, $D$ es una matriz diagonal $p\times p$. Además $V$ es una matriz de $p\times p$ ortogonal.

Se verifica que:

  1. El rango de ${M}$ es el número $r$ de valores singulares positivos.
  2. $U$ contiene a los vectores propios de ${M}M^{T}$, siendo igual ${M}{M}^{T}$.
  3. $V$ contiene los vectores propios de $MM^{T}$, siendo $V^{T}V= VV^{T}=I$.
  4. Si $n=p$ y ${M}$ es simétrica, entonces $U=V$ y ${M} = UDU^{T}$ es la descomposición espectral de ${M}$. Los valores singulares son los valores propios de ${M}$.

La matriz obtenida en el punto anterior es una matriz dispersa. De acuerdo con [6], se considera una matriz dispersa aquella de gran tamaño, y en donde la mayor parte de sus elementos son igual a 0. El número de elementos igual a 0 requeridos para considerar a una matriz como dispersa depende de su propia estructura, así como de las operaciones que se realizarán con la misma. El algoritmo propuesto en [15] y posteriormente revisado en [4] fue utilizado para hacer la descomposición de valores singulares (SVD) en la matriz dispersa ${M}$. Básicamente, este procedimiento genera una secuencia de $T_{,j}$ matrices tri-diagonales, las cuales tienen la propiedad de que los valores propios extremos de cada matriz $T_{,j}$, con dimensiones ${j} \times {j}$ son las mejores estimaciones de los valores propios de la matriz original. Por ejemplo, la matriz original ${M}$ puede expresarse de acuerdo con la siguiente formulación:

\begin{equation} {M}= \begin{pmatrix}0&A\\A^{T}&0\end{pmatrix} \end{equation}

En donde la matriz ${A}$ es simétrica con dimensiones (${n} \times {p}) \times ( {n} \times {p}$) y además ${n}\mayorque {p}$. Entonces, si el $\rango({A})={n}$, se puede observar que los valores propios de ${M}$ están dados por los ${n}$ pares, $\pm\sigma_{i}$, donde $\sigma_{i}$ es un valor singular de ${A}$, con $({p}-{n})$ valores singulares igual a 0. Además, la multiplicidad de los valores singulares igual a 0 en la matriz original ${M}$ es igual a ${n}+{p}-2{r}$, donde ${r}=\rango({A})$. Posteriormente, en [22] se implemento tal procedimiento en la librería de R sparsesvd, esta última utilizada para obtener los resultados que explicamos en la siguiente sección.

Por último, previo a la descomposición en valores singulares de la matriz ${M}$, se requiere restar importancia a las palabras con una frecuencia muy alta, y al mismo tiempo aumentar este valor para aquellas con frecuencias muy bajas. De acuerdo con algunos autores, aquellas palabras con las frecuencias más altas en la matriz ${M}$, resultan inservibles para discriminar con precisión el valor semántico proporcionado en cada documento ${i}$, mientras usar aquellas con valores en sus frecuencias cercanos a la media resultan en mayores niveles de precisión [20].

En [3] se menciona que la técnica de SVD es una generalización del análisis de componentes principales y una variante del bien conocido análisis factorial que consiste en descomponer la matriz ${M}$ en tres elementos, tal como se muestra a continuación:

\begin{equation} M_{d}= UDV^{T} \end{equation}

De acuerdo con la formulación (3) $M_{d}$ es un ajuste obtenido a partir de la matriz original ${M}$. Además $U$ es una matriz ortogonal con dimensiones $j\times {r}$; $V^{T}$ es también una matriz ortogonal con dimensiones $i\times {r}$. Por último, $D$ representa la matriz diagonal. Nótese que $r$ está dado por el orden la matriz original ${M}$. Ahora realizamos una reducción de las dimensiones en $U$ y $V^{T}$. Es decir, si ambas matrices son del orden $r$, entonces son reducidas a $k$ dimensiones, donde $k \menorque r$. En [17] se afirma que el número $k$ es arbitrario y su valor dependerá del conjunto de datos iniciales. Estudios empíricos sugieren valores para $k$ de alrededor de 300 [3,6,17].

El algoritmo explicado anteriormente nos permite representar documentos y palabras a través de promedios obtenidos por los $k$ vectores retenidos de la matriz $M_{d}$. De esta manera, dos palabras tendrán un significado semántico parecido si las medias de sus vectores son similares. Para realizar comparaciones entre documentos y palabras, calculamos el coseno del ángulo entre los vectores de interés. Por ejemplo, un coseno igual a 0 entre dos palabras nos indicará ortogonalidad, y por lo tanto, una diferencia semántica importante entre ambas. Por el contrario, entre más cercano a 1 sea el coseno entre vectores, nos indicará una similitud semántica mayor. Este tipo de investigaciones son bien conocidas para inglés, francés, alemán y serbio y en el contexto latinoamericano este trabajo resulta una aportación novedosa.

Obtención del campo semántico

Debido a que los documentos analizados son de diferentes extensiones, resulta interesante hacer una comparación de dos campos semánticos. El primero obtenido a partir una matriz de frecuencias ${M}$, con dimensiones $n\times p$, donde $i=1,\dots,n$ hace referencia al número de documentos y $j=1,\dots,p$ al total de palabras consideradas en el análisis. Por lo tanto $x_{i,j}$ representa la frecuencia con la que aparece la palabra $p$ en el documento $n$. El segundo obtenido a partir de una matriz binaria con las mismas dimensiones, en la cual cada elemento $x_{i,j}$ es igual 0 en los casos en que la palabra $p$ aparece cero veces en el documento $n$, en caso contrario es igual a 1. En ambos casos de retuvieron 300 dimensiones, tal como se sugiere en la literatura.

Como resultado de tal comparación, se encontraron diferencias importantes entre ambos campos semánticos. Las matrices diagonales de ambos campos tienden a ser muy diferentes en los extremos y similares en la parte central, presentando el primero valores superiores en contraste con el segundo. De lo anterior se deduce que el campo semántico construido a partir de la matriz de frecuencias es más sensible a variaciones semánticas, en contraste con el elaborado a partir de la matriz binaria.

Durante el proceso antes descrito, utilizamos la librería sparsesvd [22], la cual está diseñada sobre la base del algoritmo propuesto en [15] para realizar el SVD en matrices dispersas. Así también, con la finalidad de ponderar la matriz documentos-palabras, seguimos el algoritmo sugerido en [10]. La ejecución numérica de esta ponderación se realizó a través de la librería lsa [29].

Comparación semántica de palabras

Tomando en cuenta que cada palabra es identificada con un vector único dentro del campo semántico, la similitud entre dos o más palabras estará dada por el coseno de sus respectivos vectores. Por ejemplo, el coseno entre los vectores de palabras que tienen una similitud semántica importante será cercana a 1. De lo anterior se deduce que tales vectores ocupan posiciones cercanas dentro del campo semántico. Por el contrario, el coseno entre los vectores de palabras muy diferentes será cercano a 0, indicando una distancia considerable entre ellos, y por lo tanto una diferencia semántica importante entre ellas.

Comparación semántica de textos

En [10] se propone una extensión del presente algoritmo, la cual se utiliza para la comparación de textos compuestos por dos o más palabras. Lo anterior a través calcular los vectores propios promedios correspondientes a cada párrafo que se desea contrastar. Es decir, sean $\vec{x}_{1},\dots,\vec{x}_{p}$ los vectores propios de cada una de las palabras que componen el párrafo A, entonces su vector promedio está dado por $\overline{x}_{A}= \frac{\sum_1^p \vec{x}_{i}}{p}$. Por otra parte, el vector promedio de los valores propios del párrafo B se define como $\bar{y}_{B}= \frac{\sum_1^n \vec{y}_{i}}{n}$ para $\vec{y}_{1},\dots,\vec{y}_{n}$. De esta manera, dos párrafos tendrán un significado semántico parecido en función de la cercanía entre los vectores $\vec{x}_{A}$ y $\vec{y}_{B}$. Así también, obtenemos el coseno del ángulo entre los vectores de interés. Un coseno igual a 0 entre dos palabras nos indicará ortogonalidad, y por lo tanto, una diferencia semántica importante entre ambas. Por el contrario, entre más cercano a 1 sea el coseno entre vectores, nos indicará una similitud semántica mayor.

Paquetes para implementar el LSA

El paquete semantics vectors propuesto en [24] fue creado en el ambiente de Java y utiliza la técnica de proyecciones aleatorias para construir espacios semánticos. Este paquete tiene funciones básicas para calcular cosenos entre palabras individuales o párrafos. El paquete DISSECT (Distributional Semantics Composition Toolkit) se está diseñado sobre el lenguaje de programación Python y permite crear espacios semánticos a partir de matrices documentos-palabras. Así también, puede ser utilizado para calcular similitudes semánticas entre palabras, listas de palabras o párrafos http://clic.cimec.unitn.it/composes/toolkit/.

El campo semántico que se presenta en este trabajo fue realizado con el paquete LSA, el cual fue realizado dentro del ambiente de programación R [29].

Resultados

En esta sección se presentan los resultados obtenidos a través de la implementación de la metodología explicada en la sección anterior. Es importante considerar que la visualización correspondiente a la figura 3 fue obtenida a partir de la técnica de K-Vecinos Cercanos (KNN, por sus siglas en inglés). Fue propuesta por Aha y colaboradores en 1991, como una forma sencilla de predecir o clasificar nuevos datos, con base en observaciones pasadas o conocidas [1,19]. Lo anterior en función a dos tipos de distancias: euclidiana y de mahalanobis, tal como se ilustra en las siguientes formulaciones:

\begin{equation} D_{euclideana}\big(\vec{x},\vec{y}\big)=\sqrt{(\vec{x}-\vec{y})^{T}(\vec{x}-\vec{y})} \end{equation} \begin{equation} D_{mahalanobis}\big(\vec{x},\vec{y}\big)= \sqrt{(\vec{x}-\vec{y})^{T} \sum\nolimits_{-1}^{}(\vec{x}-\vec{y})} \end{equation}

Está fuera del alcance de este trabajo profundizar en este tema y una explicación detallada sobre la técnica de KNN se puede consultar en [1,19,23]. La siguiente parte de esta sección se enfoca en ilustrar un par de ejemplos numéricos. El primer ejemplo consiste en contrastar la similitud semántica entre las palabras “ciencia” y “matemáticas”, la cual es igual a 0.5988, así también las palabras “imaginación” y “poesía” registraron una similitud de 0.5528. Por otra parte, se reporta una similitud igual a 0.0063 entre las palabras “vaca” y “matemáticas”. Este valor es igual a 0.03810 para las palabras “toro” y “matemáticas”. Nótese que la combinación “toro-matemáticas” es seis veces mayor que “vaca-matemáticas”. Lo anterior se explica porque la palabra toro, si bien denota a un mamífero rumiante masculino del grupo de los bovinos, también hace referencia a la superficie generada por una circunferencia que gira alrededor de una recta exterior coplanaria. Con estos ejemplos se ilustra la forma de cuantificar similitudes y diferencias semánticas entre palabras, las cuales pueden aparentar no tener ningún tipo de relación a primera vista, pero existen de forma latente, como es el caso de las palabras “toro-matemáticas”.


# similitud semantica entre ciencia y matematicas 
> Cosine('ciencia','matematicas',tvectors=D)
[1] 0.5988701
# similitud semantica entre imaginacion y poesia 
> Cosine('imaginacion','poesia',tvectors=D)
[1] 0.5528838
# similitud semantica entre matematicas y toro 
> Cosine('matematicas','toro',tvectors=D)
[1] 0.03810167
# similitud semantica entre matematicas y vaca 
> Cosine('matematicas','vaca',tvectors=D)
[1] 0.00632693

El segundo caso se enfoca en comparar grupos de palabras. Partiendo de un vector específico es posible identificar a sus $ {n} $ vecinos más cercanos dentro del campo semántico. Es decir, estos vecinos estarán dados por aquellos $ {n} $ vectores que tienen la menor distancia con respecto al vector de referencia. La interpretación es la siguiente: la similitud semántica entre el grupo de $ {n} $ vectores (o palabras) es inversamente proporcional a su distancia dentro del campo semántico. En la figura 3 aparecen los veintinueve vecinos más cercanos a la palabra “matemáticas”. En este caso, las distancias están dadas por las primeras dos dimensiones del campo semántico, las cuales a su vez corresponden a los mayores valores propios. Nótese que “matemáticas” aparece en el origen del plano cartesiano y las palabras más próximas son “geometría”, “computacional”, “formulación” y “teoría”.

Vecinos más cercanos a “matemáticas”.

En la última parte de los resultados se ilustran las comparaciones semánticas entre textos. Para tal propósito, hemos tomado tres párrafos con contextos aparentemente parecidos. El primero de ellos hace referencia al Artículo I de la Constitución Política de los Estados Unidos Mexicanos (EUM). En segundo lugar, la Declaración Universal de los Derechos Humanos (DUDH) tomada del sitio de internet de las Organización de las Naciones Unidas [21] y, por último, la definición de derechos humanos (DH.Wiki) según la Wikipedia [27]. A diferencia del ejemplo anterior, la comparación entre textos está dada por el promedio del grupo de palabras de los integran. En primer lugar, el promedio de las distancias entre los vectores (palabras) que componen el primer texto (la constitución) es obtenido, seguido del promedio del segundo texto (Declaración Universal). Posteriormente, se calcula el coseno entre los vectores resultantes de ambos grupos de palabras. Este último representa el grado de similitud semántica entre los dos textos. La similitud semántica entre el Artículo I de la Constitución Política de los Estados Unidos Mexicanos y la Declaración Universal de los Derechos Humanos es igual a 0.1523. Lo anterior contrasta con el valor obtenido entre la definición de derechos humanos de la Wikipedia, por una parte, y nuevamente el Artículo I de la Constitución por la otra, el cual fue igual a 0.3315. Además, comparación entre la Declaración Universal y la definición de derechos humanos de la Wikipedia es igual a 0.3090.


# Comparacion de texto entre EUM y DUDH 
> Costring(EUM,DUDH,tvectors=D)
[1] 0.1523499
# Comparacion de texto entre EUM y DH.wiki
> Costring(EUM,DH.wiki,tvectors=D)
[1] 0.3363329
# Comparacion de texto entre DUDH y DH.wiki 
> Costring(DUDH,DH.wiki,tvectors=D)
[1] 0.3090089

Estos resultados tienen interpretaciones interesantes. En primer lugar, los textos EUM y DH.wiki presentan la mayor similitud (0.336). Por el contrario, la diferencia más importante se registró entre los textos EUM y DUDH (0.152). Si bien la similitud semántica entre ambos documentos oficiales, por una parte, y la definición genérica de la Wikipedia por la otra, es relativamente similar (0.336 y 0.309), llama la atención que este valor baje hasta 0.152 para la comparación entre ellos EUM y DUDH. Hemos encontrado que el Artículo I de la Constitución Política de los EUM es semánticamente más parecido a la definición de derechos humanos de Wikipekia que la Declaración Universal de los Derechos Humanos de las Naciones Unidas. De esta forma, podemos identificar diferencias semánticas entre dos más textos, los cuales principio están tocando el mismo tema.

EUM DUDHDH.wiki
EUM 1 0.1523 0.3363
DUDH 0.1523 1 0.3090
DH.wiki 0.3363 0.3090 1
Comparación semántica de los textos:
Art. 1 Constitución Política de los Estados Unidos Mexicanos (EUM)
Declaración Universal de los Derechos Humanos (DUDH)
Definición de los Derechos Humanos en la Wikipedia (DH.wiki)

Discusión

En este trabajo se aplica un tipo de método estadístico multivariante denominado descomposición en valores singulares, con la finalidad de construir un campo semántico. De acuerdo con [8], partiendo de un dominio textual de gran envergadura, un campo semántico consiste en conceptualizar cada palabra de este dominio como un vector. En este arreglo de alta dimensionalidad, aquellas palabras con significado similar ocuparán espacios cercanos dentro del espacio. Debido a que es necesario procesar bases de datos de gran tamaño para que se cumpla la hipótesis distribucional descrita en [11], la demostración numérica de tal hipótesis se realizó recientemente, en parte como consecuencia del incremento de la capacidad procesamiento que experimentaron las computadoras en los últimos años. Si bien los campos semánticos han sido ampliamente estudiados para el idioma inglés, para el español el número de estudios es limitado. De esta forma, al proponer un campo semántico que describe las relaciones entre la mayoría de las palabras que componen el español, buscamos hacer una contribución novedosa.

El campo semántico aquí propuesto puede ser utilizado eficientemente en comparar palabras o textos tomando como referencia el significado de cada unidad lingüística. De acuerdo con [9], la forma en que los seres humanos pueden utilizar y ordenar las palabras es un fenómeno complejo y este trabajo está limitado en tal dirección. El trabajo Efficient discovery of new information in large text databases de Bradford propone una versión revisada del análisis semántico basada en índices, hace una contribución para sopesar esta limitante [5]. Desde la perspectiva de la psicología se menciona que una persona, desde su niñez hasta su vida adulta, se expone a cientos de millones de palabras [18]. Éstas serían las dimensiones de la matriz necesaria para poder construir un campo semántico, el cual pudiera describir realmente cómo los humanos utilizan el lenguaje. Es posible que veamos computadoras capaces de procesar estos volúmenes de información en un futuro cercano.

Referencias

1
Aha, D. W., Kibler, D., $\&$ Albert, M. K. (1991). Instance-based learning algorithms. Machine Learning, 6(1), 37-66. DOI: 10.1007/bf00153759
2
Attardi, G., Cozza, V., $\&$ Sartiano, D. (2015). Annotation and Extraction of Relations from Italian Medical Records. IIR.
3
Barahona, I. (2018). Poverty in Mexico: Its relationship to social and cultural indicators. Social Indicators Research . 135(2), 599-627. DOI: 1007/s11205-016-1510-3
4
Berry, M. W. (1992). Large-scale sparse singular value computations. The International Journal of Supercomputing Applications, 6(1), 13-49.
5
Bradford, R. (2005). Efficient discovery of new information in large text databases. In International Conference on Intelligence and Security Informatics (pp. 374-380). Springer, Berlin, Heidelberg.
6
Cuadras, C. M. (2014). Nuevos Métodos De Análisis Multivariante. CMC Editions, 304.
7
Deerwester, S., Dumais, S. T., Furnas, G. W., Landauer, T. K., $ \& $ Harshman, R. (1990). Indexing by latent semantic analysis. Journal of the American society for information science, 41(6), 391-407.
8
Dumais S. (2005). Latent Semantic Analysis. Annual Review of Information Science and Technology. 38: 188–230.
9
Furnas, W., Landauer, K., Gomez, M., Dumais, S. (1987). The vocabulary problem in human-system communication. Communications of the ACM. 30 (11): 964–971.
10
Günther, F., Dudschig, C., $ \& $ Kaup, B. (2015). LSAfun-An R package for computations based on Latent Semantic Analysis. Behavior research methods, 47(4), 930-944.
11
Hofmann T. (1999). Probabilistic Latent Semantic Analysis. Uncertainty in Artificial Intelligence.
12
Kintsch W $\&$ Bowles A. (2002) Metaphor Comprehension: What Makes a Metaphor Difficult to Understand?, Metaphor and Symbol, 17:4, 249-262, DOI: 10.1207/S15327868MS1704_1
13
Kintsch W .(1998) The Representation of Knowledge in Minds and Machines, International Journal of Psychology, 33:6, 411-420, DOI: 10.1080/002075998400169
14
Kintsch, W. (2001). Predication. Cognitive science, 25(2), 173-202.
15
Lanczos, C. (1950). An iteration method for the solution of the eigenvalue problem of linear differential and integral operators. Los Angeles, CA: United States Governm. Press Office.
16
Landauer T .(1999) Latent semantic analysis: A theory of the psychology of language and mind, Discourse Processes, 27:3, 303-310, DOI: 10.1080/01638539909545065
17
Landauer, T. K.,$ \&$ Dumais, S. T. (1997). A solution to Plato's problem: The latent semantic analysis theory of acquisition, induction, and representation of knowledge. Psychological review, 104(2), 211.
18
Landauer, T., et al., Handbook of Latent Semantic Analysis, Lawrence Erlbaum Associates, 2007.
19
Muja, M., $\&$ Lowe, D. G. (2009). Fast approximate nearest neighbors with automatic algorithm configuration. VISAPP (1), 2(331-340), 2.
20
Nakov, P., Popova, A., $ \&$ Mateev, P. (2001). Weight functions impact on LSA performance. EuroConference RANLP, 187-193.
21
Organización de las Naciones Unicas (ONU). (2018). Declaración Universal de los Derechos Humanos. Accesado el 10 de octubre de 2018 de: http://www.un.org/es/sections/what-we-do/protect-human-rights/
22
Rohde D,. Berry M,. Do, T,. O'Brien, G,. Krishna V, Varadhan, S,. $ \&$ Evert S,. (2018). sparsesvd: Sparse Truncated Singular Value Decomposition (from 'SVDLIBC'). R package version 0.1-4. https://CRAN.R-project.org/package=sparsesvd
23
Weinberger, K. Q., $\&$ Saul, L. K. (2009). Distance metric learning for large margin nearest neighbor classification. Journal of Machine Learning Research, 10(Feb), 207-244.
24
Widdows, D.,$ \&$ Cohen, T. (2010, September). The semantic vectors package: New algorithms and public tools for distributional semantics. In Semantic computing (icsc), 2010 ieee fourth international conference on (pp. 9-15). IEEE.
25
Wikiextracto .(2018). Extracts and cleans text from a Wikipedia database dump. Retrieved from https://github.com/attardi/wikiextractor
26
Wikipedia. (2018). Descargar Wikipedia Español. Retrieved from https://es.wikipedia.org/wiki/Wikipedia:Descargas, September 20th, 2017
27
Wikipedia. (2018). Definición de derechos humanos. Retrieved 2018, from https://es.wikipedia.org/wiki/Derechos_humanos., October, 11th, 2018
28
Wikipedia. (2018). Free online encyclopedia. Retrieved from https://es.wikipedia.org/wiki/Wikipedia, December 3rd, 2018
29
Wild F. (2015). lsa: Latent Semantic Analysis. R package version 0.73.1. https://CRAN.R-project.org/package=lsa
Luis Javier Álvarez
Instituto de Matemáticas, Unidad Cuernavaca, Universidad Nacional Autónoma de México (UNAM)
Igor Barahona
Instituto de Matemáticas, Unidad Cuernavaca, Universidad Nacional Autónoma de México (UNAM)
Dalina Aidee Villa
Facultad de Ciencias, Universidad Nacional Autónoma de México (UNAM)
Motivos Matemáticos es una publicación electrónica del Instituto de Matemáticas, UNAM
© 2017