15 noviembre, 2007

Identificar personas: tarea de informático

Los informáticos... ¿de qué trabajan?. O mejor aún, ¿para qué sirve un informático?. Más concretamente: ¿y un informático que ha estudiado Inteligencia Artificial?. ¿Cyborgs en España?. No me hagan reír, hombre. El caso es que el amigo Pinar, trabajar aún no, pero acaba de terminar la carrera (especialidad IA) con un interesante proyecto que demuestra cómo la informática se puede aplicar a muchos problemas sencillos en otros campos. Aquí, con su permiso, les cuento de qué va.

Los artículos son la base de la producción científica. Escritos normalmente por más de un investigador1 suelen publicarse en revistas especializadas y congresos. En revistas importantes incluso se paga por publicar. A cambio, los autores ganan en prestigio o méritos académicos (consiguen un doctorado, por ejemplo). Los artículos se almacenan en bases de datos especializadas -algunas de pago- a través de las cuales se pueden consultar total o parcialmente. Podemos consultar el nombre de un autor, por ejemplo, pero... ¿¿¿quién es, en realidad, ese nombre???


Veamos otro problema parecido. Supongamos que tenemos dos artículos. Uno de ellos asociado a la Polytech Univ Valencia, Valencia y otro a Valencia Univ Technol, Valencia 46022. Vale es evidente que corresponden a la misma institución, evidente para un humano. Tenemos que tener a una persona encargada de revisar y comprobar que las distintas versiones de una institución se corresponden (o no) a una única institución. Este es un (aburrido) trabajo que se realiza de forma manual.

Pero más pesado y difícil es identificar el/los autores de un artículo. Porque los nombres no se presentan de forma estándar. Porque hay países (en general de habla hispana) en los que muchas personas tienen dos nombres y dos apellidos. Porque los nombres se transcriben a menudo con errores. Así que, por ejemplo, si tenemos dos artículos, uno firmado por J. Morno Pérez y otro firmado por Juan Moreno P. puede pasar:

Que ambos artículos sean escritos por el mismo investigador, llamado Juan Moreno Pérez. O que el primero haya sido escrito por el tal José Moreno Pérez y el segundo por otro señor, Juan Moreno Piqueras. O más difícil: pongamos que existe un tercer investigador llamado Javier Morno Pérez. En ese caso, ¿a quién corresponde el primer artículo, a José o a Javier?.

Los problemas, en general, son dos: la homonimia (personas con nombres parecidos) y la polisemia (variantes de un mismo nombre). Y es que el lenguaje natural es ambiguo. Si a eso le sumamos errores de transcripción, el problema de la desambigüación puede ser muy complejo. Estos dos problemas también se dan en el tratamiento del lenguaje natural y los nombres provienen de ahí.

Actualmente, aunque éste es un problema conocido, no existen soluciones universales. Podemos poner a un experto que se encargue, atendiendo al resto de información de la que dispone, de relacionar correctamente autores e investigadores para su clasificación. El problema es que cuando la cantidad de artículos es muy grande esta tarea conlleva una perdida de tiempo demasiado grande. El proyecto de Pinar tratará de automatizar un sistema para ofrecer una clasificación y (algo muy importante) una medida de la confianza que podemos tener en ella. De este modo al menos facilitaremos la tarea del experto.

El trabajo de Pinar parte de que ya tenemos cierta información acerca de investigadores, independiente de la de los artículos. En concreto disponemos de información institucional acerca de investigadores que solicitaron la realización de un proyecto y en qué lugar (institución). Atendiendo a esos datos, el trabajo consistiría en clasificar la producción científica -artículos- referida a ese área de estudio durante un periodo de unos 15 años y determinar qué autores de estos artículos se corresponden con los investigadores que aparecen en la base de datos que tenemos. Concretamente se recopilaron más de 20.000 artículos, escritos por más de 75.000 autores.

A obtener nueva información a partir de relaciones no explícitas entre diversas bases de datos se le llama minería de datos y supone añadir una capa de inteligencia a partir de simples datos.

La idea básica es que si un artículo ha sido escrito por un investigador, entonces la información que tenemos del autor y artículo se parece más a la información que tenemos sobre ese investigador que no a la otro. Ahora hay que pasar esta idea a términos matemáticos para poder aplicar un algoritmo. Esa es la parte difícil que en este blog no aparecerá.

A grosso modo: se compara la similitud entre los nombres de los investigadores y los nombres de los autores del artículo. Para ello existen algoritmos muy conocidos para comparar cadenas, que nos dan una distancia o medida de lo que se parecen (ej: distancia de Levenshtein). Lo siguiente que podemos comparar es el título del artículo con el título del proyecto que figura en nuestra base de datos original. También podemos medir cuánto se parece el lugar de trabajo del investigador con el lugar de trabajo de los autores del artículo. Y mucho más: distancia en tiempo de la fecha de aprobación del proyecto con la fecha de publicación del artículo, o similitud con artículos ya asignados: si ya sabemos que tal investigador escribió un artículo, es probable que sea el autor de un segundo artículo parecido.

Una vez decidimos qué parecidos son importantes (y cuánto, asignándoles un coeficiente), sólo nos queda seleccionar un algoritmo de clasificación: estos sirven para clasificar un conjunto de datos en clases. Es como poner una etiqueta a cada dato. En nuestro caso, pondremos una etiqueta a cada artículo con el nombre del investigador. Algunos algoritmos requieren que un subconjunto de datos estén ya correctamente clasificados (se llaman aprendizaje supervisado) y otros no. Nos quedaremos con el algoritmo que mejor clasifique. El tiempo que tarde en hacerlo nos da relativamente igual.

Pues eso ha estado estudiando Pinar. Y lo debe haber hecho bien, porque está escribiendo algún artículo sobre el tema. Esperemos que su nombre se publique sin errores y todos sepamos que lo ha escrito él mismo.

Pinar dice: "seguro que ponen 'Piñar', como en mi título de inglés".

1 En realidad lo escribe uno sólo y todos los doctores por encima del mismo ponen su firma. ;-)

Artículo revisado y con el visto bueno del Rincón de Pinar!