Las máquinas empiezan a entender al ser humano cada vez mejor (1)

Por Fransanlag @fransanlag

Hoy os voy a hablar de un tema que verdaderamente me apasiona: el procesamiento del lenguaje natural.

Es difícil explicar un proceso tan complejo en pocas palabras, pero lo intentaré. El objetivo final de estas técnicas es que una máquina sea capaz de inferir conceptos nuevos a partir de un texto libre escrito por una persona. Intentaré poner un ejemplo en el ámbito sanitario.

Imaginemos un informe de alta en el que pone:

Paciente que sufre un infarto agudo de miocardio.

El sistema “leería” esta frase y, por ejemplo, podría realizar la codificación del diagnóstico (en CIE-10, por ejemplo) de una manera automática, evitándole trabajo al profesional y aumentando la calidad de la información que registramos en nuestros sistemas.

Podéis pensar que esto es una tarea sencilla, que con buscar cadenas de texto bastaría… pues no lo es tanto. Imaginemos la siguiente frase:

Paciente que comienza con sintomatología anginosa, se realiza fibrinolisis y se evita la progresión a infarto agudo de miocardio.

Sé que una frase así no aparecería en un informe de alta, pero me he tomado la licencia para poner el ejemplo más claro.

Si el procesamiento del lenguaje natural sólo consistiera en buscar cadenas de texto, nos volvería a codificar que el paciente ha tenido un infarto a pesar de no tenerlo. En realidad, el sistema realiza múltiples procesos sobre el texto: diferencia oraciones, localiza verbos, identifica las raíces de las palabras, interpreta prefijos, sufijos, partículas negativas… y con todo esto y un montón de estadística por debajo, consigue darse cuenta de que, en realidad, no ha habido infarto.

Estoy seguro de que, si he conseguido explicarme bien, ahora os estarán surgiendo multitud de aplicaciones para estas técnicas: codificación automática, estructuración de la información, análisis estadísticos más potentes, creación de conocimiento…

Como ejemplo de esto último: mientras estuve en Londres haciendo el máster, leí un estudio en el que usando estas técnicas, un “ordenador” era capaz de “leer” decenas de miles de artículos en Pubmed con la intención de generar conocimiento. Creo recordar que buscaban el mejor tratamiento para alguna enfermedad concreta… es decir, intentaron que un ordenador realizara una revisión sistemática. No consiguieron resultados concluyentes, pero tuvieron unos resultados muy prometedores.

Sé que ha sido una introducción demasiado breve e imprecisa, pero mi intención es intentar que los que no sabían nada de estas técnicas se hagan una idea y conseguir que les pique el gusanillo para indagar más.

Para aquell@s que incluso quieran llegar un poco más allá del puro conocimiento y llevar esto a la práctica personalmente, existe una web que no podéis dejar de consultar: openNLP (open natural language processing). Aquí podréis encontrar un conjunto de proyectos de software libre relacionados con el procesamiento del lenguaje natural, así que podréis instalarlos en vuestr@s ordenadores y probarlos (aunque requiere cierto nivel de experiencia en Informática).

Este tema me apasiona y estaré encantado de comentar, compartir, ayudar y aprender con tod@s vosotr@s.