INTRODUCCIÓN
Dentro de la lingüística computacional, y más precisamente en lo concerniente al PLN (Procesamiento del Lenguaje Natural), existen varios fenómenos que han sido estudiados y que en la actualidad merecen nuestra atención, tanto a nivel lingüístico como informático. Se trata entre otros de: el reconocimiento de entidades nombradas (Named Entity Recognition - NER, por su sigla en inglés), el análisis de sentimientos (sentiment analysis) y, muy particularmente, el estudio de la anáfora. El primer tema y el último se encuentran muy ligados, ya que para que se puedan reconocer y analizar las anáforas, un buen sistema deberá, en gran medida, poder reconocer las llamadas “entidades nombradas”, además de pronombres y otras unidades que funcionen como referentes en las llamadas “cadenas correferenciales”. Este último tema, el del reconocimiento automático de las anáforas, el cual vendrá de la mano de la llamada “resolución anafórica” (anaphora resolution), es el que trataremos a lo largo de este artículo.
Podemos constatar, en primer lugar, que, en lenguas como el inglés y el francés, el tema ha sido bastante estudiado, de tal forma que en la actualidad existen muchos trabajos que abordan el problema del reconocimiento de unidades anafóricas de forma automática. En este sentido, tenemos los trabajos para el inglés de Liddy (1990), Garside, Fligestone y Botley (1997), Denber (1998), Mitkov (1999, 2001, 2002), Mitkov, Evans, Orasan, Ha y Pekar (2007), entre los más importantes. En lo que respecta al campo del francés, existen los trabajos de Depain-Delmotte (1997), Salmon-Alt (2002), Amsili, Denis y Roussarie (2005), Longo y Todiraşcu (2010) y Landragin (2011, 2014, 2018), entre otros. La mayor parte de estos trabajos se enfrentan a los diversos problemas que implican el reconocimiento automático de los correferentes textuales, como es el caso de la anáfora. Entre estos problemas podemos encontrar el de la ambigüedad del lenguaje, el de la falta de reconocimiento de algunas entidades nombradas y la ausencia o no reconocimiento de muchos pronombres, etc.
En lo que concierne al español, hemos podido constatar que son varios los trabajos que abordan esta problemática, teniendo, entre otros, las tesis doctorales de Ferrández (1998) “Aproximación computacional al tratamiento de la anáfora pronominal y de tipo adjetivo mediante gramáticas de unificación de huecos”, Martínez-Barco (2001) “Resolución computacional de la anáfora en diálogos: estructura del discurso y conocimiento lingüístico”, Morales (2004) “Resolución automática de la anáfora indirecta en el español”, y Tordera (2010) “Lingüística computacional y anáfora”. También la tesis de maestría de Olivas (2006) “Sistema de construcción de redes semánticas con detección de anáfora”. Tenemos, por otra parte, los artículos de Salguero y Soler (2010), Carrión (2014), entre otros. Todos estos trabajos, como lo veremos más adelante (cf. “Lingüística computacional y resolución de la anáfora” y “metodología”), propenden por el estudio de la anáfora desde diversas perspectivas y proponen diferentes soluciones ante su posible resolución.
El objetivo primordial del presente artículo consiste en identificar y analizar los diferentes problemas existentes en el tratamiento computacional de la anáfora en español, utilizando para ello herramientas de uso libre. Para tal fin, se partió del estudio de un analizador automático del lenguaje natural ya construido. Se trata del etiquetador morfosintáctico FreeLing 4.13, y para efectuar el análisis se empleó un corpus dedicado al aprendizaje de ELE (Español Lengua Extranjera). El estudio de este analizador se realizó por medio de la comparación de las etiquetas que arroja el sistema con las nuestras realizadas en un etiquetado manual.
Con el fin de lograr el objetivo antes señalado partiremos del trabajo de Grajales (2019), trabajo en el cual el autor tuvo que considerar el diseño de una nueva tipología de anáforas. Este trabajo surge dentro del marco del proyecto DICEELE (Molina, Grajales y Pemberty, 2019), y busca ayudar en la solución al etiquetado correferencial del corpus para la enseñanza de ELE de este proyecto. Del trabajo de Grajales (2019) se retomarán aquí la tipología por él creada, el análisis de la herramienta FreeLing 4.1, y algunos elementos de programación, como lo es el caso de un algoritmo desarrollado a partir del lenguaje Python, que sirvió durante el proceso de etiquetado semiautomático de las anáforas del corpus de muestra (cf.anexo A). No obstante, en el presente artículo no se incluirán los resultados de dicha problemática, puesto que nos centraremos de manera más específica en el análisis de las anáforas a partir de la herramienta antes mencionada.
Anáfora
En un principio, es importante que definamos la concepción de anáfora con la cual hemos trabajado en este proyecto. Como es común en el ámbito de la lingüística, especialmente en la que trabaja el texto y el discurso, aún no existe un consenso a partir del cual podamos definir lo que puede ser o no una anáfora dentro de un corpus4. Con base en diferentes autores que abordan el fenómeno anafórico (Cuenca, 2010; Ferrari, 2014; Peña, 2006; Saiz, 2002), consideramos anáfora al mecanismo que se utiliza para retomar un elemento que ha sido mencionado con anterioridad en un texto. Esto significa que la anáfora solo se presenta cuando el referente está dentro del contexto lingüístico (endofórico) y no fuera de él (exofórico). Dentro de las relaciones endofóricas también encontramos la catáfora, que se diferencia de la anáfora en que el elemento fórico se conecta con un elemento del contexto subsiguiente. Sin embargo, para el análisis del tratamiento computacional no tuvimos en cuenta la catáfora, a pesar de que sí hace parte del proyecto DICEELE.
Utilizamos esta definición debido a que en el proceso de identificación de anáforas de nuestro corpus nos dimos cuenta de que no podíamos partir de una sola concepción sobre este fenómeno, pues muchos casos que usaban el mecanismo no se tomarían en cuenta. Por ejemplo, con base en Cuenca (2010), no consideraríamos como anáforas los casos de pronombres de primera persona, pues estos pertenecerían a la deixis y no a la correferencia textual. Igualmente, las anáforas adjetivales que mencionan Saiz (2002) y Olivas (2006) no se tomarían en cuenta si nos restringimos a las definiciones que las consideran tipos de elipsis, tal como aparece en Cuenca (2010).
Suele hacerse, además, la distinción entre anáfora directa y asociativa. Por un lado, las anáforas directas son aquellas que toman un referente específico del texto. Por otro lado, en las anáforas asociativas el referente es generado por el contexto, sea por asociación semántica del léxico o por el conocimiento del mundo (Ferrari, 2014). En los siguientes ejemplos5, se observan ambos casos. En el primero, el pronombre ‘la’ directamente se relaciona con ‘la película’ (lo cual aporta a la cohesión del texto), mientras que, en el segundo, el sintagma ‘los espectadores’ se relaciona con ‘la película’ por medio de un campo semántico (aportando a la coherencia textual):
La película está en proceso de filmación. La veremos en cartelera para el próximo año.
La película está en proceso de filmación. Los espectadores serán testigos de algo único.
Dicho esto, a partir de los datos encontrados en el corpus sobre la anáfora y de autores que la clasificaran (Ferrari, 2014; Olivas, 2006; Saiz, 2002), construimos una tipología que nos permitió clasificar y tener nuestra propia concepción sobre lo que podíamos considerar en el proyecto6 como elementos anafóricos. La Tabla 1 resume esta concepción en los tipos de elementos gramaticales que pueden ser considerados, por una parte, como antecedente anafórico, es decir, a lo que puede referirse una anáfora y, por otra parte, los elementos que pueden ser una anáfora:
Tipos de antecedente | Subtipo | Tipos de anáfora | Subtipo |
---|---|---|---|
Nominal | Sintagma nominal (SN) Nombre propio (NP) | Pronominal | Sujeto implícito (imp), pronombre personal (PP), posesivo (pos), relativo (rel), demostrativo (dem), indefinido (ind) |
Verbal | Sintagma verbal (SV) | Nominal | Nombre propio (NP), nombre común (NC), sintagma nominal (SN) |
Enunciado | Frase(fras), oración (orac), secuencia de oraciones (sec-orac) | Verbal | Proverbo |
Adverbial | Adverbio temporal (temp), locativo (loc), de modo (mod) | ||
Adjetival | Adjetivo (adj), superficial numérica (num), posesivo (pos), elipsis (elip) | ||
Encapsuladora | (resumativa) |
Lingüística computacional y resolución de la anáfora
Como se ha dicho en la introducción de este artículo, el interés de la lingüística computacional y del PLN en lo que respecta a la resolución de la anáfora es de suma importancia. Esto se debe, principalmente, al hecho de que las anáforas hacen parte de aquellos elementos que permiten que un determinado texto escrito posea o no claridad, en términos de cohesión textual (Adam, 2011; Mitkov, 2001) y/o discursiva (Lundquist, 2013); evitando, además, las posibles repeticiones de una palabra o grupo de palabras, como lo vimos en el apartado anterior.
El interés de la lingüística computacional por este fenómeno de índole textual se halla, por lo tanto, en su reconocimiento y posible marcado de manera automática; para ello, se deben confrontar varios de los problemas que implica dicho reconocimiento. Por lo cual, el análisis de la resolución de la anáfora, de manera informática, se hace indispensable antes de abordar cualquier posible etiquetado correferencial en un corpus determinado.
Para algunos autores como Mitkov (2001), por ejemplo, la anáfora es un elemento de suma importancia dentro de la lingüística computacional y el PLN. Según este autor, “la resolución de la anáfora es una tarea esencial para las interfaces en lengua natural, la traducción automática, la generación automática de resúmenes, la extracción de información y en otro gran número de aplicaciones del PLN” (p. 110)7. También se pueden aplicar, por ejemplo, a los sistemas informáticos para el ALAC (Aprendizaje de Lenguas Asistido por Computadora), para el diseño de actividades didácticas (Molina, 2015). Pero a su vez, autores como Mitkov (2001), Landragin (2011) consideran que se trata de un elemento que presenta una serie de dificultades en lo que respecta a su resolución a nivel informático.
Según Mitkov (2001), la resolución de la anáfora necesita de extensos corpus etiquetados de manera manual que sirvan para el aprendizaje de máquina, lo que implica una fuerte demanda de recursos tanto de expertos con conocimientos lingüísticos como en el campo del texto escrito (o ambos a la vez); en otros términos, esto conlleva a contar con un considerable esfuerzo humano en el reconocimiento de este tipo de unidades textuales. No obstante, como lo indica el mismo Mitkov (2001), el costo que esto implica ha llevado a muchos investigadores a optar por soluciones menos precisas desde el punto de vista del lenguaje; lo que ha conducido irremediablemente a lo que el autor considera como “knowledge-poor anaphora resolution strategies” (p. 110)8.
En el caso de Landragin (2014), este autor propone la idea de que, en lo que tiene que ver con el procesamiento informático de la anáfora y de las cadenas correferenciales, estas demandan, en primer lugar, estructuras de datos complejas que permitan cubrir textos enteros; y, en segundo lugar, la necesidad de construir todo un complejo entramado de redes correferenciales (anáforas y catáforas), lo que implica, para el autor, la modelización de los lazos establecidos entre referentes y correferentes. En este sentido, se hace necesario un trabajo manual o semiautomático, en los términos de Mitkov (2001), con el fin de tener corpus anotados que permitan el posterior entrenamiento de un sistema de reconocimiento anafórico.
En lo que respecta al estudio de la anáfora en español, y de su posible resolución, como lo pudimos observar en la introducción, existen diversos trabajos que se interesan por esta problemática. De estos estudios cabe destacar, en primer lugar, una tesis doctoral que aborda el tema y que tiene más de veinte años de haber sido presentada; se trata del trabajo elaborado por Ferrández (1998), y cuyo análisis se enmarca en el tratamiento computacional de las anáforas pronominales y de tipo adjetival, empleando, para ello, gramáticas de unificación de huecos. Por su parte, Morales (2004) nos presenta otra tesis doctoral que estudia el tema de la resolución automática de la anáfora indirecta en el español; y, finalmente, Tordera (2010) presenta su tesis en la que trata de manera global el tema de la anáfora dentro de la lingüística computacional. Tenemos, por otra parte, los artículos de Salguero y Soler (2010), y Carrión (2014), que se interesan, el primero en la resolución de anáforas pronominales por medio de procedimientos abductivos (es decir, que necesitan de un razonamiento de tipo explicativo). En el segundo caso, tenemos el trabajo de Carrión (2014), que propone la utilización de una herramienta (FunGramKB)9 que ha sido enriquecida con conocimientos de índole cultural. Lo que permitiría, según la autora, mejorar el reconocimiento de los referentes textuales y, por ende, del reconocimiento anafórico subsecuente.
Para terminar esta sección, tenemos el caso de algunos diseñadores de herramientas, como el Stanford Parser (etiquetador de la Universidad de Stanford) (Manning et al., 2014), que se han preocupado por poder permitir el reconocimiento de entidades nombradas, de pronombres y de sus respectivas redes de correferencia textual, a partir de un análisis anafórico (Figura 1). Con el fin de realizar dicho proceso, el mencionado analizador permite el reconocimiento de nombres simples y compuestos (comunes y propios), de pronombres personales y complementos, etc. El análisis de dichas unidades lingüísticas es generado a partir de un proceso de etiquetado que proviene del verbo y de las relaciones establecidas alrededor de este; esto se logra gracias a la fundamentación de este sistema en la gramática de dependencias10. En este sentido, el sistema permite el reconocimiento y desambiguado de estas unidades, lo que permite reconocer de manera más fiable las posibles anáforas, como puede observarse en la Figura 1.
Otras herramientas, como es el caso de FreeLing, para el español, serán presentadas en la siguiente sección. En este sentido, nos dedicaremos a analizar los diferentes problemas que presenta esta herramienta en lo relativo a la resolución de las anáforas, así como otros aspectos metodológicos concernientes a nuestro estudio.
METODOLOGÍA
Freeling 4.1
Recordemos que el objetivo principal de este trabajo fue identificar los problemas que podemos encontrar hoy en día a la hora de procesar computacionalmente la anáfora. Consideramos que el conocimiento que tuviésemos sobre la anáfora no sería suficiente para definir las dificultades que tendría un ordenador para procesarla. Por tal razón, decidimos buscar un software que analizara el lenguaje natural y que fuera capaz de procesar relaciones anafóricas en español. En el proceso de revisión bibliográfica nos dimos cuenta de que muchos eran los trabajos relacionados con la resolución de la anáfora (por ejemplo, Martínez-Barco, 2001; Morales, 2004; Olivas, 2006), pero eran pocos los que desembocan en el desarrollo de software, por lo cual se vio entorpecida nuestra búsqueda. Por último, debíamos ser cuidadosos con la elección del programa, pues la problemática que surgiese de nuestro análisis dependería del software que escogiéramos, puesto que cada uno analiza la información con diferentes recursos11.
Teniendo esto en cuenta, para este análisis seleccionamos el analizador de lenguaje FreeLing y su herramienta para analizar correferencias. Este programa es una librería de uso libre que puede ser utilizada fácilmente desde diferentes sistemas operativos y es capaz de procesar correferencias para el español, lo cual dio fin a nuestra búsqueda. Además de esto, la versión 4.1 de FreeLing trabaja con un sistema llamado RelaxCor (Sapena, Padró y Turmo, 2013), el cual se implementó en su programación para mejorar el análisis de correferencias. Este software, también desarrollado por el grupo TALP, ha participado en competencias para evaluar su efectividad en el procesamiento de correferencias en las cuales ha alcanzado muy buenos resultados12. Por estas razones decidimos seleccionar estas herramientas para el análisis, pues resultaron ser las más adecuadas y accesibles y con ellas procesamos nuestra muestra del corpus.
El corpus DICEELE
Como lo hemos mencionado anteriormente, el proyecto DICEELE se basa en el procesamiento de corpus para identificar los fenómenos textuales que pueden trabajarse en un curso de ELE. El corpus está constituido por 150 textos cortos clasificados en los niveles B1, B2 y C1 del Marco Común Europeo de Referencia (MCER) para la lengua española (50 textos por cada nivel). La recopilación de los diferentes textos estuvo guiada por ciertos criterios específicos, teniendo en cuenta que se trata de un corpus especializado para la enseñanza de ELE en el cual se trabajarán actividades de lingüística textual. Se definió que las características que debían tener los textos serían las siguientes:
Textos auténticos: El corpus DICEELE se rige por brindar material para la enseñanza y el aprendizaje de la lengua que represente el uso real de esta, según los lineamientos de la lingüística de corpus. Por lo tanto, no posee textos adaptados o didactizados por profesores.
Textos clasificados según el MCER dentro de los niveles B1, B2 y C1: Consideramos que a partir del nivel B1 los textos dejan de estar limitados a situaciones inmediatas y campos semánticos desconectados y comienzan a hacer referencia a discursos más complejos (Molina et al., 2019). Se procuró que los textos estuvieran previamente clasificados o que hubieran sido utilizados para la enseñanza en instituciones o portales en línea de ELE .
Textos cortos de diferentes géneros: Cada nivel del MCER trabajado debía poseer una cantidad similar de textos informativos, narrativos, argumentativos y explicativos. Al mismo tiempo, cada género tendría también variedad en cuanto al tipo de texto. Es decir, los textos narrativos del nivel C1, por ejemplo, no debían ser exclusivamente cuentos sino también fábulas, mitos, relatos, etc. La extensión de estos también debía ser similar.
Textos de distintas fuentes: También se procuró que los textos no fueran extraídos de una misma página web o de un solo libro de texto, por ejemplo, para privilegiar su variedad. Así mismo, se recolectó material de distintos países hispanohablantes con el fin de no centralizar una sola variedad del español. Cabe aclarar que se seleccionaron textos que no infringieran los derechos de autoría.
Otra de las características del corpus DICEELE es que posee un etiquetado morfosintáctico (PoS-tagging) efectuado con el etiquetador de FreeLing. Este consiste en la asignación de una etiqueta que contiene información acerca de la categoría gramatical, las flexiones, las conjugaciones, etc., de cada palabra del texto. Para ser más exactos, inicialmente, el PoS-tagging divide el texto en unidades de análisis llamadas tokens. En este sentido, algunos autores como Baker, Hardie y McEnery (2006) definen los tokens como “una sola unidad lingüística, la mayoría de las veces una palabra, aunque dependiendo del sistema de codificación utilizado, una sola palabra se puede dividir en más de un token, por ejemplo, he’s (he + ‘s)” (p. 159)13; además de las palabras, también se incluyen, en muchos sistemas, los signos de puntuación (Brezina, 2018). Otros autores consideran, por su parte, que dentro de la frecuencia de tokens también se incluyen secuencias de unidades multipalabra (multiword sequences) (McEnery y Hardie, 2011). Posteriormente, el sistema se encarga de asignar a cada uno de los token una etiqueta de carácter morfosintáctico. En términos computacionales, este proceso de tokenización facilita en cierta medida el PLN puesto que separa cada uno de los elementos de un texto y les asigna un identificador único o id, el cual utilizamos para el posterior etiquetado manual de anáforas. El formato de este etiquetado se presenta en XML, como podemos observar en la Figura 2 para los tokens t3.7 y t3.8:
De esta manera, para el análisis del tratamiento que FreeLing realizaría de nuestro corpus, seleccionamos una muestra que respetara la variedad y las características del corpus. La muestra que se conformó para esta investigación se halla compuesta por 15 textos clasificados en los niveles B1, B2 y C1 del MCER (5 textos por cada nivel), los cuales representan todos los géneros discursivos presentes en el corpus DICEELE. Así mismo, entre los tipos de textos podemos encontrar el relato cotidiano, el cuento, la columna de opinión, la reseña, la entrevista, la noticia y la receta. La extensión de dichos textos varía entre 300 y 800 palabras y, en total, la muestra está compuesta por 6094 palabras y 120 párrafos. Con el fin de poder obtener un mejor manejo de los datos, los archivos que contienen los textos fueron nombrados con información codificada acerca del nivel, el género y el tipo de texto, su país de origen y la ubicación dentro del corpus DICEELE. De esta manera, por ejemplo, una columna de opinión chilena del nivel B1 sería nombrada así: B1_ACOL_chi_015.
Etiquetado manual de anáforas
Con la intención de comparar el procesamiento de la correferencia por parte del software, debíamos realizar un etiquetado manual de todas las anáforas presentes en la muestra seleccionada. Este debía garantizar la correcta identificación de los elementos con el fin de poder responder a nuestras intenciones investigativas. Para ello, usamos como base los principios expuestos por Navarro (2007) que permiten realizar un etiquetado efectivo: rapidez, consistencia y profundidad. Con base en esto, la anotación de anáforas debía ser lo más simple posible: procurar la ayuda del ordenador, crear un acuerdo entre anotadores (en caso de ser varios) y reflejar datos relevantes de la lengua a partir de la teoría, “con el objetivo de desarrollar una representación de la información lingüística fundamentada en los conocimientos científicos actuales sobre las lenguas” (Navarro, 2007, p. 4). Así, a partir de lo investigado sobre la anáfora, identificamos y seleccionamos esta noción dentro del corpus. Utilizamos como fundamento la tipología expuesta anteriormente tanto para la selección de anáforas por etiquetar como para su correcta clasificación.
El proceso consistió en una primera fase de identificación, en la cual se iban buscando las relaciones entre posibles anáforas y antecedentes. Una vez ubicado el antecedente que correspondía con una anáfora, revisábamos si las expresiones anafóricas subsiguientes también se referían al mismo antecedente; en caso de que no fuera así, buscábamos otro posible antecedente para esta. Cada vez que hallábamos una nueva relación entre anáfora y antecedente, la marcábamos con un nuevo color, con el fin de poder diferenciarla de las demás. De esta manera, constituimos las cadenas de correferencia de cada uno de los textos. Recordemos que estas cadenas son el conjunto de anáforas que correfieren con un mismo referente (Sapena et al., 2013). Por ejemplo, en la Figura 3, el primer elemento que encontramos resaltado con color amarillo ‘Santa Fe de Antioquia’ es el referente de los siguientes elementos del mismo color, los cuales corresponden a expresiones anafóricas:
Finalmente, con el fin de ayudar en la representación de las relaciones anafóricas presentes en el corpus, empleamos el lenguaje de balizado XML. El lenguaje XML resulta muy útil para este tipo de tareas pues permite anotar cualquier noción y convertirla en información explotable para una computadora. El primer paso para etiquetar las anáforas en XML era localizar los ids que identificaban los elementos marcados como correferentes en la fase anterior. De esta forma, se podía utilizar la información ya anotada para apoyar la construcción de las nuevas etiquetas correferenciales. En otras palabras, buscamos los atributos tag y form del etiquetado morfosintáctico previo (véase Figura 2) para extraer las etiquetas morfosintácticas y las palabras correspondientes a cada correferencia según el id, con el fin de ahorrar tiempo en la anotación manual mediante un algoritmo desarrollado en lenguaje Python que reescribiera dicha información (ver anexo A).
El diseño del etiquetado anafórico en XML fue desarrollado con base en los trabajos de Molina (2015) y Navarro (2007), los cuales utilizan un esquema de anotación similar al empleado en la Message Understanding Conference (MUC), como lo muestra Mitkov (2002). Estas etiquetas usan una estructura en la cual <REF> se corresponde con los antecedentes y <COREF> con las anáforas. Además, estos autores etiquetan las correferencias en el cuerpo del texto. Por otra parte, también nos basamos en el esquema de anotación de FreeLing que establece otro tipo de etiquetado agrupando las cadenas de correferencia y reescribiendo la información a partir de los ids (Figura 4). Esto facilitó, en gran medida, el trabajo de comparación de etiquetado, pues poseían la misma estructura:
De esta manera, una vez etiquetadas todas las relaciones anafóricas de nuestra muestra, podríamos compararlas con la anotación del software que escogimos. Además, estas etiquetas también nos permitieron caracterizar el corpus a partir de los tipos y cantidades de correferentes. En total, trabajamos con 788 expresiones anafóricas que se referían a 202 referentes, constituyendo así 198 cadenas de correferencia. La totalidad de estos elementos representaría un 20 % de todas las palabras de la muestra, teniendo en cuenta que muchas de las unidades correferenciales se componen por multiword tokens o secuencias con más de una palabra (locuciones, sintagmas, enunciados, párrafos, etc.)14. Estos datos generales sugieren la importancia de estos elementos en la cohesión de los textos y la posibilidad de revisarlos detalladamente con el fin de comprender su aplicación en el PLN y en las clases de ELE.
PROBLEMAS ENCONTRADOS EN EL PROCESAMIENTO
El primer paso para identificar los errores automáticos fue procesar todos nuestros textos por el software FreeLing 4.1 y su análisis de correferencias. Seguidamente, basados en la previa anotación manual de las relaciones anafóricas, señalamos cada uno de los errores y aciertos que cometía el sistema, tal como lo sugiere Navarro (2007): “comparar las anáforas detectadas y anotadas automáticamente con las anáforas detectadas, anotadas y validadas por humanos” (p. 166)15. Finalmente, consignamos esta información en nuevas etiquetas de los archivos XML, donde ya teníamos las anáforas clasificadas, con el fin de reunir los datos, por medio del software AntConc versión 3.5.8 (Anthony, 2018), sobre los errores en cada tipo de anáfora.
Así pues, examinamos los resultados de errores del tratamiento correferencial por medio de FreeLing, describiendo tanto los casos más representativos de problemas como los más particulares, pues todos ellos representan la imposibilidad de procesar la anáfora correctamente con la tecnología actual. A continuación, referiremos las causas que provocan los errores en el procesamiento de la anáfora y los porcentajes de error para cada tipo y subtipo de esta. También explicaremos algunos casos para ejemplificar el comportamiento del sistema que lo llevó a no identificar correctamente una unidad.
En primer lugar, observemos la Tabla 2, que resume los resultados de comparar la anotación manual con la automática y muestra sus porcentajes:
Unidades reconocidas | Porcentaje de acierto | Porcentaje de error | |
---|---|---|---|
Referentes | 123/202 | 60.9 % | 39.1 % |
Correferentes | 395/788 | 50.1 % | 49.9 % |
Unidades en total | 518/990 | 52.3 % | 47.7 % |
A partir de estos datos, nos damos cuenta de que el porcentaje de error, en general, es bastante elevado, por lo cual podemos inferir, a primera vista, que vale la pena profundizar en las razones de estos resultados. Por otra parte, observamos que los resultados son mejores para los referentes/antecedentes que para los correferentes/anáforas. Creemos que esto se debe a que la mayoría de los referentes en la muestra son de tipo nominal (92 %), los cuales, por un lado, son semánticamente más plenos, pero, por otro lado, estos sistemas suelen basarse en el reconocimiento de entidades nombradas (NER), estas últimas se contraponen a los hechos o ideas, como veremos a continuación.
Reconocimiento de referentes
En cuanto al tratamiento de referentes/antecedentes, hallamos que es evidentemente más efectivo para el tipo nominal que para los otros dos, como observamos en la Tabla 3.
Tipo de antecedente | Subtipo | Unidades reconocidas | Porcentaje de acierto |
---|---|---|---|
Enunciado | Orac | 0/5 | 0 % |
Sec-orac | 0/8 | 0 % | |
Total | 0/13 | 0 % | |
Verbal | SV | 0/4 | 0 % |
Total | 0/4 | 0 % | |
Nominal | NC | 4/6 | 67 % |
NP | 28/37 | 75 % | |
SN | 87/142 | 61 % | |
Total | 119/185 | 64 % |
Esto puede explicarse desde la construcción del sistema RelaxCor, con el cual funciona FreeLing 4.1. Una anáfora suele referirse a una entidad o a un hecho, como se ve en los tipos de antecedentes que expusimos anteriormente. Los hechos o ideas -que corresponden a los enunciados y antecedentes verbales- son unidades que no poseen una estructura sintáctica fija y que solemos delimitar por la comprensión del contexto, por lo cual, estas unidades son más difíciles de identificar que las entidades nominales. Además, la lectura de un artículo que explica el funcionamiento de RelaxCor (Sapena et al., 2013) nos sugiere que este sistema no está programado para buscar este tipo de referentes: “en este artículo no nos ocupamos de la correferencia que involucra hechos y solo nos enfocamos en la correferencia entre entidades”16 (p. 848). Por lo tanto, con base en los datos, concluimos que RelaxCor solo reconoce entidades nombradas.
Por último, aunque nuestro objeto de estudio sea la anáfora, no podemos dejar a un lado el análisis del antecedente, pues de su correcta identificación depende buena parte de la resolución anafórica. Por ejemplo, las anáforas por repetición (las cuales utilizan las mismas palabras que el antecedente) presentan un porcentaje de acierto del 98 %, puesto que el sistema los relaciona directamente.
En lo siguiente, observaremos la frecuencia de error por cada tipo y subtipo de anáfora y comentaremos algunos ejemplos de casos que no fueron resueltos por FreeLing, a partir de los cuales deducimos y resumimos la problemática para el tratamiento anafórico.
Reconocimiento de anáforas pronominales
El tipo de anáfora pronominal17 se considera el más común en español, además se le atribuye la dificultad de su resolución a que posee poca carga semántica (Saiz, 2002). En general, la cantidad de anáforas pronominales que logró reconocer y relacionar el sistema (218/491) se acerca al porcentaje general de reconocimiento de anáfora (Tabla 4). Sin embargo, entre los subtipos de estas unidades, gran parte de estas fueron poco reconocidas. Es decir, las anáforas de pronombre personal (la más común) y de relativo presentan valores más altos que las otras categorías. Esto puede deberse a que fue más común encontrarlas muy cerca de su antecedente o del correferente anterior en la cadena correspondiente. De esta manera, el pronombre se le asigna al posible antecedente más cercano, según su sistema de reglas.
Subtipo de anáfora pronominal | Porcentaje de acierto | Porcentaje de error |
---|---|---|
Demostrativa | 30 % | 70 % |
Implícita | 36 % | 64 % |
Indirecta | 30 % | 70 % |
Posesiva | 28 % | 72 % |
Pronombre Personal | 57 % | 43 % |
Relativa | 55 % | 45 % |
Pronominales en total | 47 % | 53 % |
Otra de las razones por las que la anáfora de pronombre personal resultó ser más identificada que las demás fue porque, frecuentemente, los mismos PP solían repetirse. Esto es, por ejemplo, una vez se utilizaba el pronombre ‘él’ para un referente, el mismo volvía a usarse varias veces en el texto, por lo que el sistema los relacionaba por simple repetición. Sin embargo, esto también genera un problema de identificación, dado que si aparece un nuevo referente al cual también se le aplica este pronombre, se genera un caso de ambigüedad para la máquina. Por otro lado, el alto porcentaje de acierto del pronombre relativo ‘que’ se puede atribuir a que la mayoría de las veces aparece junto a su antecedente; cuando no lo está, el sistema se lo asigna a otra unidad más cercana.
Dicho lo anterior, revisemos el siguiente ejemplo en el cual no fue reconocida una anáfora pronominal por medio del software. El siguiente caso fue seleccionado porque representa uno de los problemas más comunes para la identificación de la anáfora pronominal. Por límites de extensión, en este artículo no expondremos ejemplos de todos los problemas que encontramos, sino los más representativos o complejos. Al final, resumiremos la problemática que surgió de nuestro proyecto.
Ahora mismo nos hacen los presupuestos en Alemania y la ropa en China. La ropa nos cae bien, pero […] Nos daría igual que los presupuestos nos los hiciera Merkel si ella pusiera también la pasta …18
El fragmento anterior parece un caso de sencilla resolución para el lector humano, pues el referente y el correferente están prácticamente contiguos y el PP ‘ella’ indica, la mayoría de las veces, la presencia de una anáfora. No obstante, el análisis automático falló en esta identificación y relacionó el pronombre con otra unidad anterior con la cual encontraba más posibilidades de concordancia de género: ‘la ropa’. Dado esto, realizamos una prueba en la cual etiquetábamos solamente esta oración: la resolución fue efectiva ya que no tenía otra opción. Lo que deducimos de este caso, es que era necesario conocer que ‘Merkel’ pertenece al apellido de la canciller alemana Angela Merkel, por lo cual es un nombre femenino y puede correferir con el PP femenino ‘ella’. Es probable que FreeLing no posea exactamente esta información de tipo cultural en su base de datos para resolver la correferencia19.
Reconocimiento de anáforas nominales
En cuanto al tipo de anáfora nominal, en comparación con los resultados para la anáfora pronominal, el tratamiento de este fue más acertado, como puede apreciarse en la Tabla 5 20.
Subtipo de anáfora nominal | Porcentaje de acierto | Porcentaje de error |
---|---|---|
Nombre común | 27 % | 73 % |
Nombre propio | 91 % | 9 % |
Sintagma nominal | 60 % | 40 % |
Nominales en Total | 66 % | 34 % |
En primer lugar, destaca que el porcentaje de nombres propios identificados es el más alto de todos los subtipos de la muestra, no solo de los nominales. Esto puede explicarse porque la mayoría de correferentes como nombres propios se hacen por medio de repetición (parcial y exhaustiva). Es decir, cuando nos encontramos con una anáfora de nombre propio es bastante probable que sea el mismo NP utilizado en el referente (repetición exhaustiva), o una parte de este (repetición parcial). En segundo lugar, el porcentaje de SN identificados por el sistema también presenta buenos resultados. Este resultado también puede deberse a que gran parte de los elementos nominales de nuestra muestra utilizaban palabras del referente.
A continuación, exponemos un ejemplo de cadena etiquetada en XML. Observemos las unidades anafóricas resaltadas en negrita dentro del atributo words:
<chain id="1">
<REF ANT="nom" type="NP" id="2" words="Santa Fe de Antioquia"/>
<COREF ANA="nom" type="SN" id="4" words="Este municipio"/>
<COREF ANA="nom" type="SN" id="9words="este hermoso pueblo"/>
<COREF ANA="nom" type="SN" id="10" words="este lugar"/>
<COREF ANA="nom" type="SN" id="11" words="esta población"/>
<COREFANA="nom" type="NP" id="13" words="Santa Fe de Antioquia"/>
<COREF ANA="nom" type="SN" id="17" words="El pueblo"/>
</chain>21
En este ejemplo, los elementos que destacamos no fueron reconocidos por el analizador computacional. El único elemento identificado correctamente en esta cadena fue el que correspondía con el mismo referente ‘Santa Fe de Antioquia’ por repetición. Para darse una resolución efectiva de los demás elementos, el sistema tendría que tener acceso a la información semántica y cultural que se relaciona con ‘Santa Fe de Antioquia’ como municipio, o pueblo de Antioquia, el cual puede relacionarse de manera hiponímica con lugar y sinonímicamente con población, poblado o localidad, por ejemplo. En nuestra lectura como hablantes de la lengua, esta es la información que nos permite relacionar el referente de tales anáforas. Por el contrario, la ausencia de esta información representa un obstáculo para el software.
El caso del ejemplo anterior representa el principal problema para la resolución de correferencia nominal. Identificamos muchos casos similares en los que la información de este tipo era necesaria para que fueran reconocidas debidamente. Pongamos algunos ejemplos de elementos nominales que no fueron debidamente identificados por el sistema: ‘el rey de copas’ y ‘el verde paisa’ como epítetos para ‘Atlético Nacional de Medellín’22, los cuales precisarían de conocimiento cultural para su resolución. De igual manera, con ‘el jefe de estado’ para ‘Nicolas Maduro’, ‘el país’ para ‘Venezuela’23, ‘la novela’ para ‘La Metamorfosis’ y ‘el libro’, usado como sinónimo para ‘la novela’24, ‘esos juguetes’ como hiperónimo para ‘las canicas, el camión y la pistola de hojalata’25, fueron casos en los que se necesitaba de información semántica y contextual para su resolución. También, sucedía algo similar con el procesamiento correferencial de siglas como, por ejemplo, ‘EE. UU.’ para ‘Estados Unidos’26.
Reconocimiento de otros tipos de anáfora
Encontramos en nuestra muestra que la cantidad de casos de anáforas nominales y pronominales (entre ambas, el 95 % de las unidades) era mucho más grande que el resto de los tipos de correferencia. Por lo tanto, revisaremos en general los problemas de resolución que se relacionaron con anáforas adjetivales, verbales y adverbiales (los cuales solo representan el 5 % de anáforas en la muestra). Este grupo de anáforas representa un alto grado de dificultad para su procesamiento, como se puede observar en la Tabla 6:
Tipo de anáfora | Subtipo | Porcentaje de acierto | Porcentaje de error |
---|---|---|---|
Adjetivales | Numérica | 16 % | 84 % |
Adjetiva | 0 % | 100 % | |
Elipsis | 16 % | 84 % | |
Posesiva | 0 % | 100 % | |
Adjetivales en total | 22 % | 78 % | |
Verbal | Con verbo hacer | 0 % | 100 % |
Con verbo estar | 0 % | 100 % | |
Verbales en total | 0 % | 0 % | |
Adverbiales | Locativas | 0 % | 100 % |
De modo | 0 % | 100 % | |
Adverbiales en total | 0 % | 100 % |
En primer lugar, estos datos nos llevan a sugerir que, debido a su poca frecuencia27, no se le prestó mucha atención a la resolución de estos elementos desde la programación inicial del sistema. Como lo mencionamos anteriormente, es probable que la construcción de RelaxCor solamente toma como anáforas aquellas que se refieran a entidades nominales, como vimos en la identificación de antecedentes. Así pues, la anáfora verbal, que se relaciona directamente con hechos y no con entidades, ni siquiera se tomaría en cuenta como un tipo de anáfora. En segundo lugar, ninguna de las anáforas adverbiales pudo ser reconocida. De la misma manera que con los antecedentes relacionados con hechos, el cero en porcentaje de acierto nos indica que el sistema tampoco fue diseñado para identificar adverbios como anáfora, por lo cual fueron descartados.
Por último, observamos que existe un pequeño porcentaje de acierto para la anáfora adjetival. Cabe aclarar aquí en qué consiste este tipo de anáfora. Según Olivas (2006), esta anáfora se da cuando a un referente nominal se le omite el núcleo nominal y solo permanece un adjetivo haciendo este la relación anafórica: “Wendy no [le] dio a ningún niño una camisa verde de manga corta, pero a Sue le dio una roja” (p. 27). Sin embargo, podemos observar que podría considerarse más bien como un tipo de elipsis, por lo cual el desempeño y el interés en la resolución de este tipo de anáfora tampoco debió haber sido muy alto. El pequeño porcentaje de acierto en este tipo de anáfora nos sugiere que la noción de anáfora adjetival no se tomó en cuenta, al igual que las dos anteriores. Esto se demuestra al revisar los casos en los que aparentemente se dio resolución:
<chain id="6">
<REF ANT="nom" type="SN" id="18" words="un público "/>
<COREF ANA="adj" type="elip" id="19" words="parte de "/>
<COREF ANA="adj" type="elip" id="22" words="otra parte "/>
</chain>28
En esta cadena, el último elemento ‘otra parte’ fue identificado por el procesador y relacionado con el elemento anterior ‘parte de’. Sin embargo, podemos deducir que esta relación solo se realizó por el hecho de utilizar la misma palabra ‘parte’, como lo hemos visto anteriormente. Además, el primer elemento ‘un público’ no fue reconocido debidamente como un referente (dado que no detectaba elementos que pudieran correferir con él), por lo que la anáfora adjetival ‘parte de’ no se relaciona con este y la cadena correferencial no es efectiva. Por lo tanto, es muy probable que los autores del software consideraran estos como casos de elipsis.
En conclusión, podemos inferir que la teoría lingüística que se adopta antes de la programación del sistema influye notablemente en la identificación de lo que puede o no considerarse como anáfora. Como hemos visto, los verbos anafóricos se remiten a hechos, los cuales no son tomados en cuenta por el sistema como antecedentes; los adverbios no se incluyeron como tipos de anáfora, probablemente, porque estos no se refieren a entidades nominales, sino, más bien, a otros adverbios o a complementos circunstanciales (Olivas, 2006; Saiz, 2002); por último, la anáfora adjetival puede considerarse como un tipo de elipsis.
CONCLUSIONES
La revisión de todos estos tipos de problemas y su clasificación nos llevó a recapitularlos en una problemática más general que recoge las principales dificultades para el tratamiento computacional de la anáfora. Debemos tener en cuenta que solo se tomó como referencia el procesamiento correferencial de un software y que estos problemas podrían no aplicarse por completo a otros sistemas, como por ejemplo FunGramKB (Carrión, 2014; Ruiz, 2012). Por otra parte, los textos analizados fueron extraídos de un corpus especializado y representativo, por lo cual podríamos hacer algunas consideraciones sobre el tratamiento de la anáfora en español.
Tenemos, en primer lugar, como hemos destacado frecuentemente, que la programación inicial del sistema influye en gran medida en la concepción de lo que puede considerarse como anáfora en el análisis computacional. Esta programación descarta categorías gramaticales de difícil resolución o que, simplemente, no fueron tomadas como anáfora desde la teoría por su poca frecuencia. Vemos que también un factor relevante para la correcta resolución anafórica es la necesidad de utilizar información enciclopédica o cultura, que muchas veces no posee el sistema, como observamos en el ejemplo de Merkel, con los epítetos o con las siglas. Por último, observamos que el acierto en categorías como pronombres personales y nombres propios era más alto que la media general. En cuanto a los pronombres personales, vale la pena mencionar que, en la mayoría de los casos, estos debían estar muy cerca para su debida resolución. Cuando se encontraban otros elementos entre el pronombre y el referente, el sistema solía equivocarse con más frecuencia, ya que, debido a la poca carga semántica del pronombre, la resolución debe basarse en otra información, ya sea contextual o, incluso, pragmática. En lo que respecta a los nombres propios, notamos que su identificación se debía a los muchos casos de repetición. Estos casos nos indican otro problema: el sistema se basa, en gran parte, en la repetición de unidades, lo cual entorpece muchas veces el análisis correferencial.
Al mismo tiempo, se hallaron en el análisis de nuestro proyecto otros problemas que no pudimos ejemplificar en el cuerpo de este artículo. Primeramente, observamos que para resolver cadenas de correferencia hace falta mucha información de diferente tipo (morfosintáctica, sintáctica, semántica, cultural, etc.). Sin embargo, notamos que, a pesar de que el sistema tiene acceso a cierta información, en algunos casos puede ser errada o incompleta. Tal suceso puede provocar errores en la identificación anafórica. Por ejemplo, si un pronombre personal ha sido etiquetado morfosintácticamente por el sistema como un artículo, este automáticamente se descarta como posible anáfora. Por lo tanto, los errores en etiquetados previos desembocan en dificultades para el procesamiento anafórico.
Por último, se hallaron en nuestro análisis otras causas de error menos frecuentes, pero especiales por su misma particularidad. Así, tenemos los casos en los que un elemento anafórico reúne dos o más referentes; por ejemplo, cuando un pronombre plural (ellos, nosotros, etc.) recoge referentes que han sido mencionados anteriormente (Andrés, Jorge, el niño). Este comportamiento anafórico no ha sido identificado por la máquina y probablemente no se tuvo en cuenta desde el modelo computacional. Ocurrieron otros casos similares, sobre todo en textos narrativos, en los cuales se suele cambiar la voz del enunciador, por lo cual, por ejemplo, una primera persona pasa a ser una tercera. Estos, al igual que la ambigüedad léxico/sintáctica del lenguaje natural, aunque representan un pequeño porcentaje entre todos los casos problemáticos, impiden que se procese la anáfora de una manera completamente correcta con la tecnología actual.