Germán Aquino

Germán Aquino obtuvo recientemente el título de Licenciado en Informática. Para finalizar su recorrido académico, desarrolló  una tesis acerca de la extracción automática de palabras clave a partir de documentos de texto

Título: Caracterización de Documentos utilizando técnicas de Minería de Textos

Autor: Germán Aquino

Directora: Laura Lanzarini

Fecha de Presentación: 13/02/2014

Presentación

Entrevista

¿Cuál es el tema de tu tesis?

El tema de mi tesis es la extracción automática de palabras clave a partir de documentos de texto . El algoritmo propuesto construye un modelo de predicción a partir de un conjunto de documentos que le sirven de ejemplo, y que vienen acompañados de las palabras clave asignadas manualmente que los describen. El modelo obtenido se puede aplicar a un conjunto de documentos diferentes para clasificar cada uno de sus términos en dos categorías posibles: “es palabra clave” o “no es palabra clave”. El algoritmo proporciona entonces una lista de términos que el usuario puede tomar como sugerencias a la hora de asignar palabras clave a estos documentos.

¿Qué te motivó a trabajar sobre este tema?

El procesamiento automático del texto es un tema muy interesante y muy investigado en la actualidad, y que además de la extracción de palabras clave incluye tareas como el resumen automático o la categorización de documentos. Todas estas tareas requieren llevar a cabo un análisis de la información contenida en el texto, el cual no tiene una estructura explícita que se pueda aprovechar directamente. Por ello muchas veces es necesario procesar el texto y llevarlo a una representación intermedia sobre la que se pueda trabajar. Además, la ambigüedad propia del lenguaje humano, la variedad de vocabulario que se utiliza y la necesidad de contar con información contextual hacen la tarea mucho más difícil. El procesamiento del lenguaje natural, que una máquina sea capaz de entender lo que se le dice y reaccionar acorde a ello, es un área de investigación muy rica en la que todavía hay mucho por hacer. Todas estas cuestiones presentan retos muy interesantes dentro de la informática.

¿Cuáles son las ventajas que presenta el método de clasificación y agrupamiento que proponés?

Una de las ventajas del algoritmo de extracción de palabras clave propuesto en la tesina es la independencia respecto del idioma de los textos. El algoritmo propuesto no necesita considerar aspectos lingüísticos propios del idioma en cuestión como su estructura gramatical o su lista de palabras conectoras (artículos, pronombres, preposiciones), que muchos otros métodos sí requieren. Estos mecanismos además necesitan ser ajustados al dominio particular que se quiere analizar (noticias, artículos científicos, reportes médicos, etc.), lo que resulta en un esfuerzo mayor para los expertos, tanto en lingüística como en el dominio en cuestión, que deben realizar esta tarea.

El algoritmo propuesto tiene dos etapas bien diferenciadas: en la primera se obtiene una representación de los términos de los documentos, la cual contiene una serie de características relativas a la posición y a la frecuencia de cada uno de ellos con el fin de describirlos. Son estas características las que en la segunda etapa permiten decidir a un algoritmo de aprendizaje automático cuáles son las propiedades de un término importante en el texto, a partir de los ejemplos que se le suministran. Esta representación es otro de los aportes de este trabajo, ya que si bien se utilizó un algoritmo de aprendizaje automático en particular, las redes neuronales, la misma representación puede ser utilizada con otros algoritmos de aprendizaje.

¿En qué aspectos creés que ayudaría a mejorar la experiencia del usuario?

Una vez obtenido un modelo de clasificación a partir de un conjunto de ejemplos, este modelo puede ser aplicado a diferentes textos con facilidad y la clasificación de los términos se realiza rápidamente. Además de proveer los textos que se quiere analizar junto con sus títulos, sólo es necesario determinar los delimitadores de oraciones y de palabras, y la longitud máxima y la frecuencia mínima de los términos a considerar.

La obtención del modelo también puede configurarse, de forma de obtener un modelo más preciso a costa de un mayor tiempo de procesamiento y uso de recursos, pero esta configuración es más avanzada y si los ejemplos usados son abundantes suele no ser necesaria. Además, para construir el modelo no es necesario proporcionar listas de palabras a excluir ni ningún otro recurso lingüístico particular.

La calidad de la solución obtenida al aplicar el modelo será mayor si los documentos nuevos son del mismo idioma y del mismo dominio que los utilizados para construir el modelo, ya que el algoritmo busca “aprender” las características estructurales del estilo de redacción utilizado, pero esto no es un requisito para su aplicación.

¿Con qué obstáculos te encontraste en el desarrollo de la tesis?

En la implementación, uno de los problemas más grandes con los que me encontré fue cómo resolver la disparidad en la cantidad de términos que son palabras clave y los que no lo son. Como un documento puede tener cientos de palabras pero usualmente menos de una docena de palabras clave, es fácil ver que la cantidad de términos que son utilizados como ejemplos de palabras clave es muy inferior a la cantidad del resto de los términos, especialmente si se utilizan muchos documentos. Esto dificulta enormemente la tarea de los algoritmos de aprendizaje automático, ya que al no ver suficientes ejemplos de ambas categorías tienden a responder por la categoría que tiene más elementos. Es más fácil para el modelo responder siempre “no” ya que vio muy pocos ejemplos del “sí”. Por esto fue necesario encontrar una forma de balancear los elementos de ambas clases, y para ello se aplicó un algoritmo de agrupamiento para resumir la información de la clase más numerosa. De esta forma se logra equiparar la cantidad de ejemplos que no son palabras clave a la cantidad de ejemplos que sí lo son, y con ello se puede llevar a cabo la construcción del modelo.

En cuanto a la escritura del documento de la tesina, el mayor problema era que nunca había redactado nada, ni mucho menos un documento de más de 100 páginas. Muchas veces no sabía cómo empezar un párrafo o una sección o cómo relacionar dos ideas diferentes en un hilo de pensamiento. En esta etapa me sirvieron muchísimo la guía y los consejos que me dio mi directora sobre cómo estructurar la redacción y comunicar las ideas en el texto. Ser consistente en la notación y la nomenclatura, relacionar cada sección con la siguiente, incluir en cada capítulo una introducción que describa su organización y un resumen que lo conecte con el capítulo siguiente, son pautas que te ayudan a ser más ordenado y a estructurar las ideas que querés transmitir. También es importantísimo ser organizado con la bibliografía y el material de lectura estudiado cuando es necesario recopilar referencias y comparar autores distintos. Creo que sería bueno para los alumnos de todos los años que se pusiera más énfasis en la redacción y comprensión de textos desde la Facultad.

¿Qué diferencias tiene tu desarrollo en comparación con otros desarrollos predecesores?

La diferencia principal es que el algoritmo propuesto no utiliza listas de palabras a excluir, lo que se conoce en la literatura del tema como “stoplists”, que generalmente contienen artículos y preposiciones, ni se realiza la reducción de las palabras a su raíz morfológica, lo que se conoce como “stemming”.

Estos mecanismos naturalmente son dependientes del idioma considerado, y aunque están muy bien desarrollados para el idioma inglés no son tan avanzados en idiomas más complejos como el español. Además, las listas nunca son exhaustivas y necesitan ser adaptadas al dominio en cuestión, por ejemplo, en el ámbito científico la palabra “resultados” podría ser considerada como poco descriptiva, ya que prácticamente aparece en todos los artículos. Esto refleja que definir una lista de términos a excluir no es una tarea sencilla y necesita el respaldo del conocimiento de la lengua y del dominio analizado.

 ¿Estás interesado en difundir tu desarrollo? ¿Cuál creés que es su potencialidad?

Sí, creo que es interesante difundir todos los desarrollos en la investigación. Esto permite que el conocimiento circule libremente y que uno pueda tomar una idea que le interese y construir algo nuevo sobre ella.

La extracción automática de palabras clave es un problema muy estudiado, con diferentes soluciones, algunas más exitosas y algunas más fáciles de usar. Hasta donde sé la tendencia actual es acercarse a la interpretación del texto escrito, lo que hace necesario utilizar bases de conocimiento lingüístico como es WordNet, y también considerar árboles gramáticos y mapas conceptuales, con la complejidad que esto implica. Ese es uno de los trabajos a futuro sobre los que me gustaría profundizar.

 ¿Qué influencia tuvo el desarrollo de la tesina para tu desempeño laboral?

Como programador aprendí muchísimo en la realización de este trabajo, que es una de las aplicaciones más grandes hice. El reto de manipular grandes volúmenes de datos, tanto textuales como numéricos, tanto estructurados como no estructurados, y además tratar de que el procesamiento se lleve a cabo lo más rápido posible fue muy enriquecedor para mí.

Lo anterior es solamente lo concerniente a la programación, por otro lado el hecho de leer, analizar, comparar e investigar fue algo que nunca había hecho antes de forma rigurosa. Esto me permitió empezar a adquirir un pensamiento crítico, que considero que es muy importante si quiero llevar adelante una carrera en la investigación.

DSC_0630[1]

Vuelve al inicio