Estudio de las relaciones causales: De un marco teórico a una aplicación práctica

Figura 3. Parte del grafo correspondiente a la figura 2.

Figura 4. Informe de setencias recuperadas.

Tabla 2. Oraciones causales representadas.

Figura 5. Esquema de la frase “Every year, about 3.000 nonsmokers die from lung cancer due to secondhand smoke”.

El algoritmo, según va recuperando los nodos y modificadores asociados a los mismos, los va guardando en una base de datos diseñada para conectar este proceso con el algoritmo de representación (programado en lenguaje java). Por ejemplo, la siguiente sentencia: Preterm rupture of membranes at 20 weeks or earlier is associated with a poor prognosis for miscarriage within five days of membrane rupture due to chorioamnionitis, and in the remaining 60 % of pregnancies, more than 50% of neonates die due to pulmonary hypoplasia, daría como resultado el diagrama representado en la Figura 2.

Ésta es la manera más simple de extracción de una sentencia. La representación correspondiente a esta salida del programa se corresponde con la figura 3, donde el nodo con el concepto pulmonary hypoplasia apunta al nodo con el concepto more than 50% neonates die, o en otras palabras, pulmonary hypoplasia causa o provoca que more than 50% neonates die.

Generalmente, el proceso de representación es bastante más complicado que el reflejado en las figuras 2 y 3, por los modificadores asociados a cada uno de los nodos, como se puede ver en los ejemplos expuestos en el siguiente apartado.

Desarrollo de un ejemplo completo

Esta sección presenta un ejemplo completo del proceso descrito en los apartados anteriores, estableciendo la relación entre dos conceptos como smoking y lung cancer. El conjunto de documentos seleccionados para este experimento fueron tomados de la página web de la clínica Mayo2, la sociedad americana de oncología3, el centro de control y prevención de enfermedades4 y los portales de e-medicina salud5 y cáncer de pulmón online6.

Detección y clasificación de oraciones causales y condicionales

La primera parte en este experimento se encarga de extraer y clasificar las oraciones condicionales y causales de acuerdo a los 20 patrones definidos [7]. Los resultados fueron bastante satisfactorios, en parte por el tipo de lenguaje utilizado en los textos médicos, mucho más claro y preciso que en otras áreas, como se puede ver en la figura 4.

Proceso de síntesis

Esta parte del proceso se encarga de filtrar aquellas frases que contengan las palabras lung cancer o smoking. El algoritmo devolvió 82 frases de las que se seleccionaron 15 para representar un grafo de tamaño mediano, y por tanto más manejable. Algunas de las oraciones representadas son las mostradas en la tabla 2.

Una vez que las frases han sido seleccionadas, el programa tiene que dividirlas en tokens mediante el parser de Stanford [10].

Finalizado el análisis, el proceso de esquematización localizará aquellas etiquetas relativas a partículas causales, por ejemplo due_to. Esta etiqueta (prep_due_to(die-7, smoke-14)) asocia las palabras die y smoking como nodos causa y efecto respectivamente. Para crear los dos nodos, el algoritmo busca dentro de cada etiqueta utilizando los números asociados a cada palabra. Por ejemplo, para crear el nodo causante, el algoritmo buscará entre las etiquetas la palabra smoke junto con el número 14. Si la etiqueta es un modificador, como en este caso amod (smoke-14, seconhand-13), el programa incluirá la palabra asociada en el nombre del nodo, como se ve por ejemplo en la figura 5.

 
Créditos-Comité Editorial © Asociación de Ingenieros del ICAI Normas para Autores