Persona en construcción

Generador automático de palabras-clave
Carlos Jiménez Romera
Madrid (España), junio de 2004.

Índice General

 
  • 1 Objetivos
  • 2 Palabras-clave
  • 3 Descodificación Lingüística
  • 3.1 Módulo morfológico
  • 3.2 Módulo semántico
  • 3.3 Módulo sintáctico
  • 3.4 Módulo pragmático
  • 3.5 Ejemplos
  • 4 Primera Aplicación Práctica
  • 4.1 Información Morfológica
  • 4.2 Información Semántica
  • 4.3 Texto analizado
  • 4.4 Resultados
  • 4.4.1 Brutos
  • 4.4.2 Filtro Convencional
  • 4.4.3 Formas Canónicas (nombres y adjetivos)
  • 4.4.4 Aplicación de los Módulos Morfológico y Semántico
  • 5 Conclusiones

  • 1 Objetivos

    El objetivo de este trabajo consiste en evaluar, de forma teórica y práctica, la posibilidad de diseñar un sistema automático para clasificar textos en castellano a través de un conjunto de palabras-clave.

    El motivo para llevar a cabo un trabajo de esta clase radica en la inconsistencia habitual en el marcado de los textos publicados en internet. A pesar de la existencia de potentes lenguajes para la edición de documentos en internet (HTML, XML), la desidia de los editores y el predominio de herramientas de diseño opacas a la estructura conceptual ha evitado hasta ahora la aparición de un corpus lo suficientemente amplio de documentos lógicamente estructurados. De hecho, la tendencia actual nos lleva a una situación en la que proliferan a una velocidad exponencial documentos editados en precario, de forma que no se aprovechan las potentes herramientas que el World Wide Web Consortium ha desarrollado para facilitar la llegada de la web semántica, un entorno donde cada documento tenga definido lógicamente su contenido de forma que pueda ser fácilmente localizado por buscadores automáticos.

    Esta web semántica debería constituir la base de la próxima generación de buscadores; sin embargo, como hemos dicho, no sólo no se está avanzando en la actualidad en dicha dirección, sino que, más bien, la enorme cantidad de documentos producidos por herramientas gráficas hacen cada día más difícil este horizonte.

    Existen, en cualquier caso, buscadores muy potentes y eficaces que nos permiten encontrar gran cantidad de documentos. A lo largo de los últimos años, estos programas han desarrollado algoritmos cada vez más sofisticados para, principalmente, presentar los resultados de una forma útil para el usuario. Estos buscadores filtran la enorme cantidad de información existente en la red, permitiendo al usuario restringir su esfuerzo de lectura y síntesis a una parte muy reducida de la información disponible, en principio la más relevante para sus intereses. El uso de estos programas de búsqueda, sin embargo, requiere un importante conocimiento lingüístico por parte del usuario: el empleo de las formas canónicas de los términos buscados, el uso de sinónimos, etcétera. La realización de una búsqueda concreta exige el empleo de un importante bagaje lingüístico que no siempre se tiene, especialmente cuando se realizan búsquedas en lenguas que no son la materna.

    El objetivo último de este trabajo consiste en incorporar parte del conocimiento lingüístico de los usuarios a los propios programas de búsqueda, de tal manera que se reduzca el esfuerzo necesario por parte de los usuarios al tiempo que se afinan los resultados obtenidos.

    2 Palabras-clave

    Las palabras-clave es un concepto procedente de la literatura científica que comenzó siendo la forma habitual de etiquetar los documentos HTML publicados en internet. El abandono de este sistema se debió a la creciente deficiencia de la calidad del etiquetado HTML, según aparecían nuevas herramientas y este lenguaje pasaba de ser eminentemente lógico y conceptual a primordialmente visual, y de la arbitrariedad (e incluso malicia) con la que ciertos editores de contenidos calificaban sus propios documentos.[1] En la práctica, el sistema de palabras-clave consiste en resumir el contenido de un texto en una lista reducida de términos significativos. La búsqueda posterior se realizará en base a dicha lista, o al menos apoyándose en ella. Este sistema tiene una ventaja fundamental: el propio autor define la lista de palabras-clave; pero esto sólo resulta útil cuando el criterio para definir dichas palabras se atiene a unos mínimos valores éticos. El buscador más exitoso de los últimos años, GOOGLE, emplea de forma indirecta un sistema similar a éste; otorga un valor especial al texto que aparece en los enlaces que apuntan a un determinado documento, lo que es una forma de sintetizar el contenido del texto, siempre y cuando esta etiqueta no pertenezca al mismo servidor. De esta manera se puntúa a cada sitio de internet en función de los enlaces que otros sitios le dedican y, en segundo orden, la propia puntuación recibida por un sitio sirve para valorar sus enlaces, entendidos como recomendaciones. Este sistema permite una cierta objetividad, en la medida en que sólo admite las calificaciones que hacen terceras partes. Por otra parte, puede darse el caso de que se creen nichos que se autoalimenten y excluyan a otros sitios, aunque se supone que la propia lógica de la red, unida a la enorme cantidad de información entrelazada, debería impedir estos casos.

    El ingenioso sistema de GOOGLE requiere una importante masa crítica, o sea, sólo funciona con un nivel aceptable de calidad cuando se analizan enormes cantidades de información, pues no hay otra forma de conseguir suficiente información relevante de un determinado documento sino con multitud de datos aislados proporcionados por todas las páginas que dirigen enlaces hacia él. Sin embargo, a un nivel más elemental, GOOGLE no aporta ninguna novedad respecto a otros buscadores. Sus resultados, en último término, se basan en la búsqueda de patrones siguiendo unas sencillas expresiones regulares que permiten ignorar las letras acentuadas y buscar indistintamente el plural y el singular de una palabra (al menos en los idiomas más habituales de la red). El éxito de la búsqueda depende, en última instancia, de la habilidad del usuario para emplear los términos más adecuados, de forma que el uso de otras palabras similares o incluso sinónimas, pero no idénticas, puede provocar el fracaso de una búsqueda.

    La recuperaración de un sistema de palabras-clave permitiría normalizar los términos de búsqueda, de forma que el éxito del proceso no dependiera tanto del conocimiento lingüístico del usuario. En cualquier caso, el principal reto de este sistema consistiría en etiquetar de un forma económica y medianamente precisa la enorme cantidad de documentos existentes.

    Desde el punto de vista práctico, este sistema sería muy útil para la catalogación de recursos particulares, como bibliotecas, archivos y publicaciones, cuyos contenidos no estén convenientemente etiquetados.

    3 Descodificación Lingüística

    Cuando cualquier lector se enfrenta a un texto realiza una serie de operaciones semi-automáticas con el objetivo de crear una representación de aquello que está leyendo. A partir de la información extraída es capaz de analizar, asimilar, sintetizar y juzgar el contenido de la lectura. A pesar de que el conjunto de estas operación resulta de una complejidad probablemente inasible, se puede realizar una hipótesis de funcionamiento de algunas operaciones concretas y adaptarlas para su uso en un programa informático. Los resultados de esta adaptación deberían ofrecernos pistas sobre la idoneidad del planteamiento adoptado para su corrección o, en el peor de los casos, desestimar la totalidad de la hipótesis.

    A continuación vamos a aplicar la hipótesis de un sistema modular, sólo parcialmente interdependiente. Cada módulo supondrá una descodificación parcial de la información lingüística utilizable por el programa. Aunque lo más lógico es que todos módulos actuaran de forma simultánea en el cerebro del lector humano, desde el punto de vista de la programación informática es preferible considerar un funcionamiento secuencial e iterativo, de forma que el resultado sea similar al modelo adoptado.

    Cada uno de los módulos intenta segregar la información léxica y semántica de la información sintáctica y relacional. El objetivo consiste en extraer una lista de palabras significativas y calcular su importancia dentro del texto. Para determinar las palabras concretas hay que extraer toda la información léxica y agruparla lo máximo posible; para calcular el peso es necesario recurrir a la información relacional, que otorgará una importancia a cada término en función de los contextos en los que aparezca.

    Los módulos morfológico y semántico tienen como función principal agrupar los distintos términos aparecidos dentro de familias asociadas a un único término primitivo.

    Los módulos sintáctico y pragmático, por su parte, se encargan de otorgar un peso a cada una de las familias previamente determinadas por los módulos anteriores. Su funcionamiento parte de la hipótesis de que cualquier término aparecido en un texto condiciona la interpretación de aquellos que vayan apareciendo a continuación.

    3.1 Módulo morfológico

    Este módulo permitirá analizar aisladamente cada una de las palabras presentes en el texto. Su función principal consiste en identificar la clase de palabra a la que pertenece cada término presente, encontrar su forma canónica e incorporar toda la información sintáctica aportada por los morfemas flexivos.

    Identificar la clase de palabra resulta crucial, ya que sólo determinadas clases (nombres, adjetivos, verbos y adverbios) aportan significado léxico --que será analizado por el módulo semántico--, mientras que el resto de las clases sólo aportan información relacional --que será analizada por el módulo sintáctico.

    La forma canónica permite unificar todas las formas en las que puede aparecer una palabra. Esto es relevante para las palabras con flexión. Estos morfemas flexivos, una vez identificados, aportan información relevante para el módulo sintáctico.

    Por último, el estudio de los morfemas derivativos permite estudiar una palabra en relación con otras de la misma raíz, identificando los términos primitivos y los términos derivados.

    3.2 Módulo semántico

    Este módulo es el encargado de identificar los sinónimos y los términos próximos desde el punto de vista del significado. Utiliza el módulo morfológico para relacionar todas las posibles formas derivadas de una misma forma primitiva.

    Mientras que la determinación de palabras relacionadas morfológicamente es relativamente sencilla, la identificación de términos sinónimos y próximos requiere el uso de herramientas más sofisticadas, incluyendo diccionarios de sinónimos, diccionarios ideológicos e incluso redes semánticas.

    3.3 Módulo sintáctico

    Este modulo servirá, en primer lugar, como comprobación de que la información extraída por el módulo morfológico es coherente y desechar las hipótesis no válidas. Por otra parte, introducirá un nuevo criterio para relacionar distintos términos según las funciones sintácticas desempeñadas en la oración. Las sucesivas apariciones de un término serán interpretadas de acuerdo con el contexto definido en las apariciones previas, lo que incluye los elementos léxicos que acompañaban a la palabra en cuestión.[2]

    3.4 Módulo pragmático

    El módulo pragmático atañe principalmente al orden de aparición de los términos. En general, tiende a darse más importancia a los elementos situados al principio del texto y de la oración. Esta es una variable que hay que incorporar necesariamente al análisis.

    3.5 Ejemplos

    Consideremos las tres oraciones siguientes:

    La juventud es una gracia divina
    Ser joven no deja de ser un don de la divinidad
    Los dioses nos regalan la juventud

    Se podría considerar, sin entrar en detalles y matices, que las tres oraciones son sinónimas e implican tres elementos: JUVENTUD, DIOS y REGALO, relacionados de una manera determinada que se podría expresar de diversas formas, en función de la complejidad del análisis:

            DIOS--REGALO--JUVENTUD
            DIOS--REGALO->JUVENTUD
    

    El análisis sintáctico debería determinar que REGALO siempre es un elemento intermediario entre DIOS y JUVENTUD; el análisis semántico (y morfológico) debería agrupar:

    Para calcular el resultado final, se deberían sumar los pesos de las apariciones de cada `concepto' y de los `conceptos' relacionados directamente (contiguos en el análisis sintáctico arriba expuesto); de esta manera se otorga valor a un `concepto' no sólo en función del número de apariciones y de la posición relativa, sino también en función del peso de otros `conceptos' relacionados directamente con el primero. En el ejemplo anterior:

            peso(DIOS)=k1(DIOS)+k'2(REGALO)
            peso(REGALO)=k'1(DIOS)+k2(REGALO)+k'3(JUVENTUD)
            peso(JUVENTUD)=k'2(REGALO)+k3(JUVENTUD)
    

    De esta forma, REGALO sería el concepto clave de estas tres oraciones; sin embargo, si en otras partes del texto se hablase de JUVENTUD, pero no de REGALO, el peso de JUVENTUD crecería en mayor medida.

    Todo lo anterior, esta sujeto, en cualquier caso, a la posibilidad técnica de realizar los análisis previos (morfosintáctico y semántico).

    4 Primera Aplicación Práctica

    Para poner en práctica el programa diseñado se ha optado por una primera versión simplificada que ponga en evidencia de forma inmediata las posibilidades del nuevo modelo de buscador. Se ha desarrollado el módulo morfológico apoyado en aplicaciones que el Centro de Estudios del Lenguaje de la Universidad de Las Palmas de Gran Canaria ofrece al público en internet.[3]

    El módulo semántico se ha incorporado mediante el uso del diccionario de sinónimos de la Universidad de Oviedo, libremente disponible en internet.

    Los módulos sintáctico y pragmático se han suprimido en este primer prototipo. Para ponderar el peso de los términos se ha sumado el número de apariciones de las formas canónicas.

    4.1 Información Morfológica

    Se ha recurrido a las aplicaciones de la Universidad de Las Palmas para obtener la forma canónica de cada una de las palabras del texto. Una vez obtenida, ésta se emplea para obtener otras palabras con la misma raíz morfemática y hallar, en su caso, la primitiva de la que se deriva. Como resultado se obtiene un lema, una primitiva y una lista de palabras de la misma raíz.

    1. Lematizador: http://protos.dis.ulpgc.es/investigacion/scogeme02/lematiza.htm
    2. Relaciones morfoléxicas: http://protos.dis.ulpgc.es/investigacion/scogeme02/relmorfo.htm

    4.2 Información Semántica

    A la información morfológica obtenida previamente se añadía una lista de sinónimos obtenidos de la aplicación que ofrece la Universidad de Oviedo. También se hizo una prueba, poco satisfactoria con la definición del diccionario de la Real Academia de la Lengua.

    1. Diccionario de sinónimos: http://tradu.scig.uniovi.es/sinon.html
    2. Diccionario de la RAE: http://www.rae.es/


    4.3 Texto analizado

    
    
    
                         Historia natural de la urbanización.
    
       http://habitat.aq.upm.es/boletin/n21/almum.html
    
       Lewis Mumford
       Chicago (EEUU), 1956.
       Versión inglesa
    
    Índice
    
         * El surgimiento de la ciudad.
         * Simbiosis y dominación urbanas.
         * Sustitución urbana de la naturaleza.
         * Las modernas fuerzas de expansión.
         * El crecimiento de la conurbación.
         * La dispersión suburbana.
         * Equilibrio entre lo urbano y lo rural.
         * Referencias bibliográficas.
         _________________________________________________________________
    
    El surgimiento de la ciudad.
    
       La historia natural de la urbanización no sólo aún no se ha escrito,
       sino que apenas se ha realizado una pequeña parte del trabajo
       preliminar. De hecho, la literatura en torno al tema de la ciudad era
       prácticamente inexistente hasta hace medio siglo; incluso en la
       actualidad los ecologistas de la ciudad, enredados durante largo
       tiempo en el estudio de facetas limitadas y desfasadas del urbanismo,
       apenas han delimitado el campo de estudio. Partiendo de esta
       situación, el propósito de este escrito consiste en aprovechar dichos
       estudios con el fin de concretar nuevas dudas y cuestiones y, en la
       medida de lo posible, indicar los campos que se prestan a futuras
       investigaciones.
    
       Tanto si se estudia la ciudad desde un punto de vista morfológico como
       funcional, no se puede comprender su desarrollo sin tomar en
       consideración su relación con formas más primitivas de cohabitación,
       retrocediendo incluso hasta las sociedades animales. Aparte de las
       obvias analogías con hormigueros y panales de abejas, debe tenerse
       también en cuenta la naturaleza de los asentamientos estacionales en
       lugares protegidos, como las zonas de cría de numerosas especies de
       aves. A pesar de que los asentamientos urbanos permanentes apenas se
       remontan a los tiempos neolíticos, el hábito de recurrir a cuevas para
       el desarrollo de ceremonias colectivas de carácter mágico parece
       retrotraerse a períodos más antiguos; de igual forma, han llegado
       hasta nuestros tiempos comunidades enteras que viven en cuevas o
       viviendas excavadas en la roca. Los rasgos esenciales de lo urbano ya
       se pueden encontrar tanto en la forma externa como en el modelo
       interno de estos primitivos asentamientos. Al margen de cual fuera el
       impulso primigenio, la tendencia a la cohabitación formal y a la
       residencia estable dio lugar, en el neolítico, a una forma ancestral
       de ciudad: la aldea, un instrumento colectivo resultado de la nueva
       economía agraria. Aunque carecía de la complejidad y la extensión de
       la ciudad, esta aldea exhibía ya sus principales características: un
       perímetro definido, ya fuera por una empalizada o por un montículo de
       tierra, separándola de los campos circundantes; viviendas o refugios
       permanentes; almacenes y vasijas donde guardar los bienes, así como
       vertederos y cementerios, símbolos silenciosos del paso del tiempo y
       de las energías gastadas. Al menos en esta edad temprana se cumple la
       afirmación de Mark Jefferson [Jefferson, 1931]: lo urbano y lo rural,
       la ciudad y el campo, no son dos elementos diferenciados, sino una
       única cosa.
    
    

    4.4 Resultados

    El análisis ha consistido básicamente en contar las apariciones de términos seleccionados, aplicando sucesivamente diversos filtros para comprobar que los resultados iban resultando más relevantes.

    4.4.1 Brutos

    Consiste simplemente en contar el número de apariciones de cada palabra. Como se ve, las palabras más repetidas en cualquier texto del castellano son preporsiciones, conjunciones y determinantes, palabras que no aportan un significado léxico.
    Palabra Peso
    de 40
    la 27
    en 14
    y 13
    el 13
    se 08
    los 08
    ciudad 08
    a 08
    lo 06
    las 05
    una 04
    un 04
    que 04
    no 04

    4.4.2 Filtro Convencional

    Los buscadores aplican diversos filtros para evitar los resultados irrelevantes de arriba. Estos filtros generalmente constan de una lista negra de los términos más repetidos. Al tratarse generalmente de las clases de palabras cerradas, no suele suponer un problema especialmente engorroso, basta con incluir la lista casi completa de preposiciones, conjunciones y determinantes del idioma en cuestión. Otro filtro aplicado con frecuencia es la longitud de las palabras, se eliminan las más cortas. En este caso se han eliminado las palabras de menos de cuatro letras.
    Palabra Peso
    ciudad 08
    como 04
    urbano 03
    hasta 03
    forma 03
    esta 03
    asentamientos 03
    apenas 03
    viviendas 02
    urbanización 02
    tiempos 02
    tiempo 02
    tanto 02
    surgimiento 02
    sino 02

    4.4.3 Formas Canónicas (nombres y adjetivos)

    Una primera aplicación del módulo morfológico consiste en restringir las clases de palabras deseadas, en este caso se han seleccionado exclusivamente nombres y adjetivos. Además, se han unificado las diversas formas de una misma palabra. Aunque se han eliminado numerosas palabras poco relevantes para la búsqueda, siguen apareciendo algunas, incluyendo algunas erratas del lematizador empleado.
    Palabra Peso
    ciudad 08
    urbano 06
    tiempo 04
    como 04
    campo 04
    forma 03
    estudio 03
    asentamiento 03
    vivienda 02
    urbanización 02
    surgimiento 02
    sino 02
    rural 02
    permanente 02
    neolítico 02

    4.4.4 Aplicación de los Módulos Morfológico y Semántico

    Por último, se realiza un análisis sobre el conjunto de la información morfológica y semántica obtenida. Los resultados mejoran considerablemente, aunque hay un claro sesgo en favor de las palabras relacionadas morfológicamente debido a las limitaciones de la información semántica, obtenida exclusivamente a partir del diccionario de sinónimos de la Universidad de Oviedo.
    Palabra Peso
    urbano 16
    ciudad 10
    urbanismo 07
    conurbación 07
    período 06
    tiempo 04
    punto 04
    naturaleza 04
    natural 04
    formal 04
    forma 04
    crecimiento 04
    como 04
    campo 04
    estudio 03

    5 Conclusiones

    Aparentemente, la aplicación de información lingüística a los mecanismos de búsqueda puede tener resultados espectaculares, incluso cuando esta información es muy rudimentaria. El principal problema radica en saber si será posible afinar lo suficiente los resultados como para generar un auténtico generador de palabras-clave, que sería el precursor de un posible resumidor automático.

    El módulo morfológico parece bastante sencillo de diseñar. No ocurre lo mismo con el resto de los módulos. El módulo semántico requeriría herramientas de clasificación y agrupación de las unidades léxicas en familias; la posibilidad de utilizar otras herramientas ya existentes como los diccionarios de sinónimos o los diccionarios ideológicos tendría que ser estudiada con mayor profundidad. El módulo sintáctico probablemente se encuentra resuelto en la mayor parte de sus aspectos técnicos; el problema radica en su interacción con el resto de los módulos y en el peso relativo que se le debería otorgar. El módulo pragmático es posiblemente el más simple de todos ellos (teóricamente bastaría con otorgar un peso a cada elemento en función de su posición relativa dentro de la oración, del párrafo y del texto); se encuentra, no obstante, con el mismo problema que el módulo sintáctico: valorar su peso en relación con el resto de los módulos.


    Notas


     [1]: La conversión de internet de un medio académico en un lucrativo negocio favoreció toda clase de abusos que aún hoy continúan, habiendo variado su forma, pero no su fin.
     [2]: En el siguiente ejemplo se ve claramente que la interpretación de `animal' y de `amo' viene determinada por la frase anterior:
    El perro de mi amigo era muy inteligente.
    Casi parecía más listo el animal que el amo.

     [3]: Sin embargo, la limitación de su uso ha condicionado la longitud, bastante corta, del texto analizado.

    Edición del 23-06-2004
    1