TESIS DOCTORAL SERIE INGENIERÍA Sistema Inteligente para la Extracción de Conceptos e Integración de Información aplicadas al Aprendizaje en Biomedicina Programa de Doctorado en Ingeniería Multidisciplinar Escuela Politécnica Fernando Aparicio Galisteo Dirigido por: Dr. Manuel de Buenaga Rodríguez Madrid, 2012 INFORME Y AUTORIZACIÓN DEL DIRECTOR PARA PRESENTAR LA TESIS DOCTORAL El gran desarrollo de las técnicas y algoritmos aplicados en áreas de conocimiento como la linguística computacional, la minería de texto o el procesamiento del lenguaje natural, ha permitido en los últimos años la implementación de sistemas avanzados para la extracción de información y la manipulación de los datos lingüísticos. Estos avances pueden servir para cubrir necesidades en otras áreas de conocimiento, tal y como demuestra el modelo arquitectónico presentado en esta tesis, aplicado al dominio particular biomédico en el contexto educativo del EEES. En el presente trabajo se afrontan problemáticas técnicas de interés reciente, como la extracción multilingüe de conceptos a partir de textos escritos en lenguaje natural, la recuperación de información cross-lingüe y la capacidad de dar respuesta en línea a los usuarios. Además, la evaluación es realizada en base a la utilidad del sistema para dar soporte a una tarea llevada a cabo en el aula con estudiantes, lo que constituye un marco innovador con un elevado potencial para la evaluación de otros sistemas inteligentes con gran variedad de perfiles de usuario. La investigación propuesta se ha desarrollado en el marco de las líneas de investigación del Grupo de Investigación en Sistemas Inteligentes de la UEM, y especialmente de forma relacionada con el proyecto Medical-Miner: Integración de conocimiento textual explícito en técnicas de minería de datos para la creación de herramientas traslacionales en medicina, TIN2009-14057-C03(-01,02,03). Las aportaciones de esta tesis han sido objeto de presentaciones en revistas y congresos científicos, entre los que destaca la publicación “An Intelligent Information Access system assisting a Case Based Learning methodology evaluated in higher education with medical students” en Computers and Education, de Elsevier (Factor de Impacto: 2.617; Q1 14/97 en Computer Science, Interdisciplinary Applications). El Profesor de la Universidad Europea de Madrid, Dr. D. MANUEL DE BUENAGA RODRÍGUEZ. Director de la Tesis Doctoral SISTEMA INTELIGENTE PARA LA EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN APLICADAS AL APRENDIZAJE EN BIOMEDICINA, de la que es autor D. FERNANDO APARICIO GALISTEO, AUTORIZA la presentación de la referida Tesis para su defensa y mantenimiento, en cumplimiento del artículo 21 del Real Decreto 1393/2007, de 29 de Octubre, por el que se establece la ordenación de las enseñanzas universitarias oficiales y de acuerdo a las normas reguladoras de estudios de postgrado de la Universidad Europea de Madrid. 28 DE MAYO DE 2012 AGRADECIMIENTOS A mi familia, que mucho ha tenido que ver en todos mis enfoques vitales y modos de afrontar los diferentes retos que me he ido encontrando, con especial mención al apoyo constante de mis padres. A Macu, cuya generosidad y compañerismo me ha permitido tener en el momento adecuado el material que necesitaba para la fabricación y entrega del documento definitivo. A Diego, por su amistad y por estar siempre pendiente de las cosas verdaderamente importantes. A Manolo, ya que gracias a su apoyo, carácter bondadoso, calmado y tranquilizador ha sido posible llevar a buen puerto este proyecto. Esta investigación tampoco podría haber sido desarrollada sin el aporte fundamental de las profesoras de Ciencias Biomédicas Margarita y Asunción, cuyo papel ha sido trascendental durante todo el desarrollo y sobremanera en la fase experimental. Ya por último, dar las gracias a todos los compañeros del Grupo de Sistemas Inteligentes así como al resto del Departamento de Informática, Automática y Comunicaciones de la Escuela Politécnica de la UEM, que forman un grupo de personas con un ambiente de trabajo excelente y altamente motivador. ÍNDICE RESUMEN / ABSTRACT ............................................................................................1 CAPÍTULO 1. INTRODUCCIÓN. .................................................................................7 1. INVESTIGACIÓN TRASLACIONAL Y MEDICINA TRASLACIONAL ........................................ 10 Bioinformática traslacional............................................................................... 11 Relación con la Web semántica ........................................................................ 12 2. FUENTES DE INFORMACIÓN BIOMÉDICA ................................................................. 13 Problemas generales de los usuarios ................................................................ 14 Bases de conocimiento disponibles ................................................................... 15 3. DESARROLLO DE ACTIVIDADES DE APRENDIZAJE ACTIVO ............................................. 17 Contexto............................................................................................................ 18 Aprendizaje activo y percepción de los alumnos .............................................. 19 Sistemas inteligentes en educación .................................................................. 21 4. ESTRUCTURA DE LA TESIS .................................................................................... 23 CAPÍTULO 2. MODELO DE SISTEMA INTELIGENTE.................................................. 27 1. DESCRIPCIÓN DEL PROBLEMA ............................................................................... 27 Anotación basada en conceptos ....................................................................... 27 Sistemas para el acceso inteligente a la información ....................................... 29 Ontologías......................................................................................................... 29 2. SITUACIÓN ACTUAL ............................................................................................ 31 Sistemas para el reconocimiento de conceptos ................................................ 31 Acceso a recursos ontológicos a través de servicios ......................................... 34 Reconocimiento cross lingüe de términos y conceptos ..................................... 40 3. VISIÓN GENERAL DEL MODELO DE SISTEMA PROPUESTO............................................. 43 Motivación ........................................................................................................ 43 Objetivos............................................................................................................46 Arquitectura del modelo ....................................................................................50 Elementos de los módulos .................................................................................54 CAPÍTULO 3. EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA. ......................................................................................................... 57 1. RECONOCIMIENTO DE ENTIDADES MÉDICAS .............................................................57 Anotación con GATE ..........................................................................................58 Extracción de la terminología bilingüe desde Freebase ....................................59 Extracción de la terminología bilingüe de MelinePlus .......................................65 Extracción de la terminología bilingüe de SNOMED CT .....................................67 Anotación con ontologías biomédicas remotas ................................................69 2. INFORMACIÓN ENRIQUECIDA DE LOS CONCEPTOS......................................................72 Información enriquecida desde Freebase ..........................................................73 Información enriquecida bilingüe desde MedlinePlus .......................................74 Acceso a información bibliográfica de MEDLINE/PubMed ................................78 3. ELEMENTOS DEL INTERFAZ Y MÉTODOS DE ACCESO AL SISTEMA....................................83 Aplicación de acceso Web .................................................................................84 Servicio de acceso en formato XML ...................................................................94 CAPÍTULO 4. DESARROLLO DEL SISTEMA BIOMÉDICO. ......................................... 99 1. PREPROCESADO Y RECUPERACIÓN DE INFORMACIÓN .................................................99 Freebase ............................................................................................................99 MedlinePlus .....................................................................................................104 SNOMED CT .....................................................................................................106 2. ANOTACIÓN E INTEGRACIÓN DE FUENTES ..............................................................110 Integración con GATE ......................................................................................110 Integración de los servicios de anotación remota ...........................................117 Integración de las anotaciones locales y remotas ...........................................121 3. BÚSQUEDA DE INFORMACIÓN .............................................................................131 Búsquedas en Freebase .................................................................................. 132 Búsquedas en MedlinePlus ............................................................................. 136 Búsquedas en MEDLINE/PubMed ................................................................... 140 4. MECANISMOS DE ACCESO AL SISTEMA ................................................................. 142 Acceso a través del navegador ....................................................................... 143 Acceso a través del servicio Web .................................................................... 149 CAPÍTULO 5. EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA................................. 151 1. CASOS DE PRUEBA ANALIZADOS .......................................................................... 152 2. TEXTOS DE ENTRADA ........................................................................................ 154 3. MONTAJE EXPERIMENTAL.................................................................................. 156 4. RESULTADOS .................................................................................................. 158 CAPÍTULO 6. ESCENARIOS DE APLICACIÓN. ......................................................... 167 1. METODOLOGÍA DE APRENDIZAJE......................................................................... 167 Casos clínicos analizados ................................................................................ 169 Fuentes de conocimiento seleccionadas y sistema inteligente ....................... 170 Cuestionario para la evaluación objetiva de la actividad ............................... 173 Diseño de la actividad en el aula .................................................................... 173 2. METODOLOGÍA DE EVALUACIÓN ......................................................................... 173 3. DESCRIPCIÓN DEL EXPERIMENTO......................................................................... 175 4. RESULTADOS Y DISCUSIÓN ................................................................................. 176 Resultados de la prueba objetiva de conocimientos ....................................... 176 Resultados de las encuestas de percepción .................................................... 178 CAPÍTULO 7. CONCLUSIONES. ............................................................................. 185 1. MODELO Y HERRAMIENTA BIOINFORMÁTICA CROSS-LINGÜE ..................................... 185 2. ESCALABILIDAD ............................................................................................... 186 3. EVALUACIÓN CON USUARIOS.............................................................................. 187 4. RESUMEN DE CONTRIBUCIONES DEL SISTEMA BIOMÉDICO ........................................ 188 CAPÍTULO 8. TRABAJO FUTURO. ........................................................................ 191 BIBLIOGRAFÍA .................................................................................................... 195 APÉNDICE 1 RESULTADOS DEL SERVICIO WEB UTILIZANDO DIFERENTES FUENTES. ........................................................................................................................... 213 APÉNDICE 2 PRUEBAS DE EFICIENCIA. ................................................................ 223 APÉNDICE 3 EXAMEN DE TIPO TEST.................................................................... 232 APÉNDICE 4 RESULTADOS DE LA EVALUACIÓN CON ALUMNOS.......................... 234 ÍNDICE DE FIGURAS ............................................................................................ 237 ÍNDICE DE TABLAS .............................................................................................. 241 RESUMEN / ABSTRACT RESUMEN En esta tesis se propone el desarrollo, la utilización y la evaluación de un modelo de sistema de acceso inteligente a información biomédica empleando actividades de aprendizaje con estudiantes de educación superior en el área de conocimiento de las ciencias biomédicas. El modelo de sistema en cuestión tendrá la capacidad de extraer términos y conceptos de un texto introducido en el sistema, a través de técnicas de PLN (Procesamiento de Lenguaje Natural), y mostrar información integrada desde diferentes fuentes para estas entidades extraídas. El texto introducido en el sistema podrá estar escrito en inglés o en español, devolviéndose como resultado el conjunto de términos y conceptos biomédicos detectados, en ambos idiomas, y un conjunto de fuentes de información que pueden estar tanto en un idioma como en otro independientemente del idioma en el que la entidad fue reconocida a partir del texto original. Este tipo de sistemas pueden formar parte de otros sistemas de extracción de información, resolviendo una determinada tarea en el proceso global, o bien ser directamente utilizados por usuarios humanos para resolver alguna tarea. Dado que la evaluación tradicional basada en mediciones de precisión, cobertura y medida-F, habitualmente efectuada sobre este tipo de sistemas para evaluar su eficacia como componente de otro sistema automático, no asegura la utilidad de los mismos para usuarios humanos de hecho, una alta cobertura puede estar asociada con un exceso de información que podría llegar a dificultar las aplicaciones para este tipo de usuarios -, en esta tesis se empleará una metodología de evaluación basada en la realización de una actividad de aprendizaje con alumnos. Teniendo en 1 RESUMEN / ABSTRACT cuenta las consideraciones del profesorado en medicina, la utilización del sistema en la actividad de aprendizaje permitirá evaluar: (i) los resultados objetivos obtenidos por los alumnos en un examen tipo test tradicional; (ii) la percepción de los alumnos sobre el soporte ofrecido por el sistema al realizar la actividad; (iii) la percepción de los alumnos en cuanto a la usabilidad del interfaz. En los entornos educativos existe una demanda creciente de actividades de aprendizaje activo que faciliten la participación a los alumnos durante el proceso de adquisición de conocimientos. Estas estrategias de aprendizaje están fundamentalmente orientadas a mejorar la comprensión y la memorización de los conocimientos por los estudiantes. Además, con las metodologías de aprendizaje activo es posible mejorar la percepción subjetiva de los alumnos en relación con el proceso de aprendizaje, con todas las implicaciones positivas que esto supone para las dinámicas de adquisición de conocimientos. Por ello, este tipo de actividades presentan características suficientemente interesantes como para considerarlas de utilidad en el aprendizaje a largo plazo, más allá de los resultados obtenidos en el corto plazo. Los sistemas informáticos y la red de Internet han demostrado, en multitud de estudios, ser un soporte de utilidad para llevar a cabo de forma efectiva diferentes tipos de actividades de aprendizaje, tales como son las denominadas computer-based learning (aprendizaje basado en sistemas informáticos), internet-based learning (aprendizaje basado en internet), case-based learning (aprendizaje basado en casos) o concept-based learning (aprendizaje basado en conceptos). Valorando las características de estas metodologías de aprendizaje, se propone el nuevo modelo de sistema informático avanzado para realizar una actividad de aprendizaje en la que 2 RESUMEN / ABSTRACT confluyen diferentes características de las que se han mencionado. La metodología de aprendizaje diseñada seguirá los siguientes pasos: 1. Selección de un caso clínico acorde con el nivel de conocimientos de los alumnos. 2. Selección de las fuentes de conocimiento con las que se van a extraer los conceptos de interés y desde las que se va a mostrar la información a los alumnos. 3. Diseño de un cuestionario de preguntas de tipo test, íntimamente relacionadas con el caso clínico seleccionado. 4. La utilización del sistema inteligente, desde el que se integran las fuentes de conocimiento, o de la información disponible en Internet. El sistema se evaluará sobre usuarios en escenarios de aplicación utilizando esta metodología, siendo preciso el diseño de cuestionarios de percepción subjetiva que serán cumplimentados por los usuarios tras llevar a cabo la experiencia haciendo uso del sistema inteligente. 3 RESUMEN / ABSTRACT ABSTRACT This thesis proposes the development, application and evaluation of a system model of intelligent access to biomedical information using learning activities with students of higher education in the knowledge area of biomedical science. The system model concerned will be able to extract terms and concepts from a text entered into the system, through techniques from NLP (Natural Language Processing), and will show integrated information from various sources for these extracted entities. The text entered into the system can be in English or Spanish, returning as result the set of biomedical terms and concepts found, in both languages, and a set of information sources that can be in both languages regardless of the language in which the entity was discovered from the original text. This type of systems can be a part of other information retrieval systems, solving a particular task in the overall process, or be directly used by human users to solve some task. Since traditional evaluation based on measurements of precision, recall and F-measure, usually carried on this type of systems to assess their efficacy as a component of another automatic system does not ensure their usefulness for human users - in fact, a high recall value may be associated with an excess of information that could hinder the practical applications for these users -, in this thesis will be used an evaluation methodology based on the performance of a learning activity with students. Taking into account the considerations of the medicine teachers, the use of the system in a learning activity will allow to assess: (i) the objective results obtained by students in a traditional multiple-choice test, (ii) the perception of students on the support offered 4 RESUMEN / ABSTRACT by the system to perform the activity, (iii) the perception of students regarding the usability of the interface. In educational settings there is an increasing demand for active learning activities that facilitate the students' participation in the process of knowledge acquisition. These learning strategies are mainly aimed at improving the understanding and memorization of knowledge by students. Furthermore, with active learning methodologies it is possible to improve the subjective perception of students regarding the learning process, with all the positive implications that this entails for the dynamics of knowledge acquisition. Therefore, these activities have features interesting enough to be considered useful in the long-term learning, beyond the results obtained in the short term. Computer systems and the Internet have shown, in many studies, to be a useful support to carry out effectively different types of learning activities, such as are those known as computer-based learning, internet-based learning, case-based learning or concept-based learning. Considering the characteristics of these learning methodologies, it is proposed a new model of advanced computer system to perform a learning activity in which merge different features of those. The learning methodology designed will include the following steps: 1. A clinical case selection in keeping with the knowledge level of students. 2. Selection of the knowledge sources with which the concepts of interest are going to be extracted and from which information related to these concepts is going to be showed to the students. 3. A design for a multiple-choice questionnaire, which questions are closely related to the clinical case selected. 5 RESUMEN / ABSTRACT 4. The use of the intelligent system, from which knowledge sources are integrated, or information available on Internet. The system will be assessed on users in application scenarios using this methodology, and it will be necessary the design of subjective perception questionnaires that the users will complete after conducting the activity using the intelligent system. 6 INTRODUCCIÓN CAPÍTULO 1. INTRODUCCIÓN. El hilo conductor que ha dado lugar al desarrollo de la presente investigación es la problemática del traslado de conocimiento desde las ciencias básicas a las ciencias aplicadas en el ámbito biomédico, que está siendo estudiada de forma general desde la denominada investigación traslacional y, de forma particular en medicina, desde la medicina traslacional. Este intento de generación de nuevas herramientas bioinformáticas que aporten soluciones a determinados problemas de este vasto campo de estudio, tales como el soporte a la toma de decisiones en el estudio de casos clínicos (Bellazzi, Larizza, Gabetta, Milani, Nuzzo, Favalli, & Arbustini, 2010) o la mejora en el intercambio de conceptos entre los especialistas de diferentes disciplinas (Sarkar, 2010), ha derivado hacia otras áreas de conocimiento en las que ha abierto, incluso, la posibilidad de evolución hacia nuevas líneas de investigación que van más allá del ámbito del presente trabajo. El interés por el desarrollo de herramientas bioinformáticas que faciliten la toma de decisiones, ha dirigido esta investigación hacia el desarrollo de sistemas inteligentes capaces de analizar de forma automática textos médicos escritos en lenguaje natural, para lo que ha sido necesaria la construcción de un modelo arquitectónico que sustente la implementación realizada. La creación de este modelo ha puesto de relieve la posible aplicación a otros dominios de conocimiento, así como otras cuestiones relacionadas con la escalabilidad o la facilidad proporcionada por la arquitectura para la ampliación de las funcionalidades finalmente incorporadas para el dominio biomédico (como por ejemplo, las fuentes de conocimiento utilizadas o las técnicas de análisis automático aplicadas). Por otro lado, la generación de herramientas bioinformáticas que procesen textos biomédicos destinadas a facilitar la comprensión de diferentes tipos de usuarios, ha sido 7 INTRODUCCIÓN determinante en la decisión del tipo de estrategia computacional adoptada, es decir, la construcción de un sistema que sea capaz de extraer conceptos de interés a partir de textos escritos en lenguaje natural y que proporcione información ampliada a partir de fuentes de información que se ajusten a los conocimientos de los diferentes tipos de usuario. Para lograrlo, ha sido necesario profundizar en diferentes técnicas de anotación, extracción y provisión de información a partir de diferentes recursos y fuentes de conocimiento, sin perder de vista el objetivo de ofrecer un sistema capaz de dar respuesta a los usuarios finales y sobre los que, posteriormente, será necesario evaluar el sistema desarrollado. La orientación del modelo de sistema a usuarios finales ha influido notablemente en que buena parte del esfuerzo de desarrollo se haya dedicado al estudio de sistemas, de procesamiento de texto en lenguaje natural, capaces de dar respuesta en línea sobre la información extraída a partir del texto introducido por dichos usuarios. Finalmente, la selección de un conjunto de individuos apropiados para efectuar el proceso de evaluación, así como la asignación de una tarea concreta a resolver por los mismos, ha conducido la experiencia de uso hacia el marco de educación superior en medicina y el conjunto de posibles actividades de aprendizaje acordes con los nuevos métodos de enseñanza. Todas estas ramificaciones de interés relacionadas con el presente trabajo pueden resumirse esquemáticamente del siguiente modo: Soporte para la toma de decisiones con textos médicos. o Sistemas inteligentes para el análisis automático de textos médicos. o Arquitectura para el modelado de estos sistemas. Escalabilidad y aplicación a otros dominios de conocimiento. 8 INTRODUCCIÓN Implementación en el dominio biomédico. Intercambio de conceptos entre diferentes especialistas. o Extracción de información relevante de textos médicos y provisión de fuentes de información adecuada. Técnicas de reconocimiento, anotación y extracción de conceptos. Selección e integración de información desde diferentes fuentes de conocimiento. o Herramientas orientadas a usuarios finales. Diferentes tipos de usuarios. Información en línea. Estrategias para la evaluación con usuarios. Resolución de una tarea asignada a estudiantes de medicina. De modo trasversal a todas estas cuestiones se afronta también la problemática que se presenta al procesar textos en diferentes idiomas, muy relacionada con el origen multilingüe de las fuentes de conocimiento en las que se encuentra alojada la información. La incorporación de componentes multilingües y cross-lingües, en todas las tareas relacionadas con el procesamiento de información, es de máxima actualidad y está provocando que se reabran muchas líneas clásicas de investigación con enfoques novedosos que afronten los desafíos de esta, cada vez más, realidad multicultural de la sociedad y, en consecuencia, de los sistemas de información. En este contexto de desarrollo multidisciplinar en el que se ha consumado la investigación, es necesario repasar algunas cuestiones clave que impregnan 9 INTRODUCCIÓN cada uno de los objetivos alcanzados, más allá del desarrollo técnico y la aplicación al dominio biomédico, que también se tratará en profundidad a lo largo de la memoria. Este capítulo introductorio tiene la finalidad de proporcionar información suficiente al lector sobre los conceptos clave que forman los fundamentos sobre los que se cimientan el resto de capítulos de este trabajo de tesis, necesarios para comprender en mayor medida los objetivos principales, resultados, aportaciones y nuevos horizontes investigadores planteados. En concreto, se describe con mayor detalle el marco general de la medicina traslacional, mencionado anteriormente, en el que se desarrolla la investigación. A continuación se repasan las principales fuentes de información biomédicas existentes, utilizadas para la implementación en el dominio biomédico a partir del modelo arquitectónico planteado. En la siguiente sección se explica el contexto educativo en el que se realiza la evaluación sobre el que, por otro lado, los sistemas inteligentes pueden aportar un gran valor. Y, finalmente, se describe la estructura de la tesis realizándose un repaso de los siguientes capítulos incluidos en la memoria. 1. Investigación traslacional y medicina traslacional La investigación traslacional es un término que define todo un nuevo paradigma y un modo de proceder en relación a la gestión del conocimiento científico. El conocimiento obtenido a partir de las investigaciones llevadas a cabo en diferentes disciplinas científicas no se ve reflejado, eficazmente y en tiempos razonables, en resultados aplicables y de utilidad para las personas. Este distanciamiento pone de relieve la distinción tradicional entre los términos de ciencia básica y ciencia aplicada, tratando de unificarlas en un 10 INTRODUCCIÓN único proceso que permita el intercambio del conocimiento entre las personas involucradas en ambos. La distinción existente entre el conocimiento teórico y su aplicación se presenta como un aspecto especialmente crítico en ámbitos como el de la medicina, ya que de la eficiencia del proceso de traslación de los conocimientos dependen en muchas ocasiones la salud y, en última instancia, la vida de las personas. Nótese que los tiempos medios de aplicación de los resultados clínicos se van hasta casi dos décadas y los cuidados recomendados para los pacientes se aplican en porcentajes que están lejanos del deseado 100% (Kawamoto, Lobach, Willard, & Ginsburg, 2009). En este sentido, el término acuñado para este importante campo de conocimiento es el de medicina traslacional, en el que se pretende aplicar a las ciencias biomédicas la idea de hacer llegar eficientemente hasta los pacientes el conocimiento obtenido a partir de la investigación básica, facilitando la creación de nuevos tratamientos, mecanismos de diagnóstico y prevención, ayudando a generar herramientas para el soporte a la decisión así como la mejora del sistema de salud y de las relaciones entre médico y paciente (Woolf, 2008). Bioinformática traslacional Se están desarrollando estudios, desde diferentes puntos de vista, en los que se pretende dilucidar la importancia de la informática en relación a diferentes aspectos vinculados con esta traslación del conocimiento. Por ejemplo, en Sarkar, (2010) se estudian las diferentes barreras que debe superar la investigación traslacional y el importante papel que puede adquirir la bioinformática para facilitar el intercambio de conceptos entre los especialistas de las diferentes disciplinas involucradas. Estas barreras se encuentran en las transiciones de las fases por las que atraviesa la transferencia de 11 INTRODUCCIÓN conocimiento, denominándose T1 a aquella que va desde la fase de experimentación en el laboratorio hasta la de ensayos clínicos, T2 a la que va desde esta última hasta la de adopción por las comunidades y, finalmente, T3 a la que conduce al establecimiento de políticas adecuadas que permitan su acceso a toda la población. En este contexto traslacional, la importancia de la bioinformática radica en las grandes posibilidades de aplicación de los diferentes avances que se van produciendo a cada una de las problemáticas asociadas con la transferencia multidisciplinar del conocimiento, más que en la creación de nuevas técnicas computacionales. Otro ejemplo se puede encontrar en Bellazzi et al. (2010), donde se subraya este papel refiriéndose a la bioinformática traslacional y su aportación para la práctica de la medicina personalizada, a través de sistemas de ayuda a la decisión trabajando sobre casos clínicos. La medicina personalizada es uno de los objetivos últimos de este proceso de mejora continua de la medicina aplicada, aunque todavía se encuentra en un estado incipiente y aún será necesario superar gran cantidad de dificultades hasta lograr su aplicación generalizada (Hamburg, & Collins, 2010). Relación con la Web semántica En los últimos años, se ha venido produciendo un gran desarrollo de las interfaces de usuario para el acceso a la información de forma amigable y con contenido semántico a través de la Web, técnicas que quedan recogidas en el concepto de Web semántica. Existe una relación entre los objetivos de personalización y recopilación de datos procedentes de diferentes fuentes, inherentes a la investigación traslacional, y los correspondientes en el ámbito de la Web semántica. Esta relación está provocando que se realicen diferentes valoraciones de la utilidad de esta última en relación a los objetivos de la 12 INTRODUCCIÓN primera (e.g. Ruttenberg et al., 2007; Ruttenberg, Rees, Samwald, & Marshall, 2009), así como creado grupos de trabajo que estudian campos de aplicación (tal como el HCLSIG, Semantic Web for Health Care and Life Sciences Interest Group). La utilidad de los recursos semánticos aplicados al dominio biomédico está quedando reflejada en el desarrollo de muchas plataformas orientadas a solventar problemas traslacionales (e.g. Mirhaji, Zhu, Vagnoni, Bernstam, Zhang, & Smith, 2009; Lowe, Ferris, Hernandez, & Weber, 2009; Luciano et al., 2011). Uno de los retos en el desarrollo de la Web semántica, y de la computación en general desde hace décadas, consiste en el aprovechamiento de la descomunal cantidad de información en formatos estructurado y desestructurado disponible en Internet, asegurando la fiabilidad de los contenidos. Para lograrlo, se están desarrollando multitud de sistemas encargados del procesado y filtrado de los datos almacenados en fuentes heterogéneas (entre las que destaca la utilización de la Wikipedia), transformándolos a formatos estándar como RDF (Resource Description Framework) ó OWL (Web Ontology Language) que permiten el enriquecimiento semántico de los contenidos a través de la incorporación de metadatos (e.g. Suchanek, Kasneci, & Weikum, 2007; Auer, Bizer, Kobilarov, Lehmann, Cyganiak, & Ives, 2007; Bizer, Lehmann, Kobilarov, Auer, Becker, Cyganiak, & Hellmann, 2009; Varde, Suchanek, Nayak, & Senellart, 2009; Wang, Zhu, Qu, Spaniol, & Weikum, 2010) y, de este modo, su aprovechamiento desde la Web semántica. 2. Fuentes de información biomédica El acceso a información médica a través de Internet es cada vez más demandado por diferentes tipos de usuario. Sin embargo, la cantidad de recursos disponibles hace que las búsquedas llevadas a cabo por estos usuarios 13 INTRODUCCIÓN lleguen a ser poco efectivas. Localizar una información adecuada para el nivel de conocimientos de un usuario determinado, que además contenga una información fiable, no es una tarea sencilla y puede conducir a resultados contradictorios (Sommerhalder, Abraham, Zufferey, Barth, & Abel, 2009; Honekamp, & Ostermann, 2010; Scullard, Peacock, & Davies, 2010; Adams, 2010). Problemas generales de los usuarios Las búsquedas de determinados conceptos médicos como son, por ejemplo, una enfermedad o un síntoma, pueden dar lugar a una cantidad de resultados prácticamente inmanejable, con resultados que contienen tanto información fiable como no fiable, orientados a expertos, investigadores o al público en general. Tanto si se trata de usuarios con unos conocimientos más profundos de la terminología biomédica (como sería el caso de un médico, un investigador o un estudiante avanzado de medicina) como si se trata de usuarios con menos conocimientos de la terminología, para localizar la información deseada será necesario superar un conjunto importante de dificultades. Ejemplo de este segundo tipo de usuarios son los propios pacientes que quieren informarse mejor de alguna enfermedad que se les ha diagnosticado, familiares de estos pacientes, médicos en las primeras fases de su educación o simplemente usuarios en búsqueda de síntomas que se les están presentando. Tal y como se observa en Kienhues, Stadtler, & Bromme, (2011), las personas que buscan ampliar información en Internet sobre temas médicos (como por ejemplo, enfermedades o tratamientos) pertenecen mayoritariamente a este segundo perfil. Cuando estos individuos, que no pertenecen a la profesión médica, desean averiguar más información sobre una posible enfermedad, un conjunto de síntomas o un tratamiento, se 14 INTRODUCCIÓN encuentran con diversas dificultades entre las que se pueden destacar (Luo y Tang, 2008): (i) la falta de experiencia y conocimiento del dominio para realizar una búsqueda adecuada, (ii) falta de comprensión de la terminología médica encontrada. Por otro lado, cuando un usuario con conocimientos médicos (un profesional del área de la salud, un investigador en biomedicina, un estudiante en las últimas etapas de su educación, etc.) trata de encontrar información sobre un caso clínico, por ejemplo, se encuentra con una gran diversidad de herramientas de búsqueda que dan acceso a diferentes fuentes de información (Trivedi, 2009). Esta variabilidad dificulta el proceso de comprensión, generando una dispersión del proceso y entorpeciendo la recopilación de información concreta que facilite la resolución del caso de estudio. Bases de conocimiento disponibles Las fuentes de información biomédica que dan lugar a todo este conjunto de recursos ofrecidos a través de Internet, mantienen bases de conocimiento tanto en formato estructurado (como por ejemplo bases de datos relacionales y no relacionales, diccionarios de conceptos, ontologías, etc.) como en formato no estructurado (tales como publicaciones científicas, historiales médicos, notas clínicas, casos clínicos, etc.), almacenando, además, todos sus datos en un único idioma o en diferentes idiomas. Esta heterogeneidad es la que ensalza el papel adquirido por las tareas de procesamiento de lenguaje natural y la importancia del desarrollo de sistemas inteligentes que realicen adecuadamente la integración de la información biomédica, poniéndola a disposición de los distintos tipos de usuario de un modo adecuado. 15 INTRODUCCIÓN Para solventar algunas de las dificultades en la búsqueda de información biomédica fiable y de calidad, cabe destacar los recursos ofrecidos por el NIH1 (National Institute of Health), iniciativa perteneciente al HHS2 de Estados Unidos (Department of Health & Human Services). Como parte del NIH, y fundada ya en el año 1836, destaca el papel del NLM (the National Library of Medicine) que se encarga de proveer recursos y servicios a diferentes perfiles de usuario tales como los científicos, los profesionales de la salud y el público en general (tal y como explicita en su hoja informativa3). Un listado completo de todos estos recursos se puede encontrar en su buscador de recursos y bases de datos4. Algunos ejemplos de recursos facilitados para el público en general son los buscadores de temas relacionados con la salud Healthfinder5 (ofrecida por el NIH y mantenida directamente por el HHS), MedlinePlus6 y el portal de salud adaptado para personas mayores NIHSeniorHealth7. Tanto Healthfinder como MedlinePlus ofrecen sus contenidos tanto en inglés como en español, estando su información orientada a toda la población, con un lenguaje fácil de entender sin perder por ello rigurosidad y fiabilidad. Algunos ejemplos de recursos de la NLM dirigidos a los profesionales de la salud son: el buscador gratuito de artículos científicos biomédicos denominado PubMed 1 http://www.nih.gov 2 http://www.hhs.gov 3 http://www.nlm.nih.gov/pubs/factsheets/nlm.html 4 http://www.nlm.nih.gov/databases 5 http://www.healthfinder.gov 6 http://www.nlm.nih.gov/medlineplus 7 http://nihseniorhealth.gov 16 INTRODUCCIÓN Central8; la base de datos pública para búsquedas bibliográficas MEDLINE/PubMed9. Estos dos últimos servicios están desarrollados y mantenidos por el NCBI10 (National Center for Biotechnology Information), formando parte de la red de centros denominada NCBC11 (National Centers for Biomedical Computing), de la que también forma parte el NCBO12 (National Center for Biomedical Ontology) cuyos servicios han sido especialmente relevantes en el desarrollo de esta investigación. Otras bases de datos más orientadas a la investigación biomédica, sobre las que el NLM proporciona servicios de acceso, son por ejemplo: el tesauro de vocabulario médico MeSH13 (Medical Subject Headings); el conjunto de recursos médicos UMLS14 (Unified Medical Language System). 3. Desarrollo de actividades de aprendizaje activo La tendencia actual en educación está orientándose, cada vez más, hacia modelos de aprendizaje en los que se miden los resultados progresivamente, en lugar de basar estos resultados exclusivamente en pruebas de evaluación de grandes bloques de contenidos. Tal y como se menciona en Altbach, Reisberg, & Rumbley (2009), factores como un interés creciente en la formación continua (orientada a una educación global que se adapte al ámbito 8 http://www.ncbi.nlm.nih.gov/pmc 9 http://www.ncbi.nlm.nih.gov/pubmed 10 http://www.ncbi.nlm.nih.gov 11 http://www.ncbcs.org 12 http://www.bioontology.org 13 http://www.nlm.nih.gov/mesh/meshhome.html 14 http://www.nlm.nih.gov/research/umls/ 17 INTRODUCCIÓN profesional) están forzando cambios en los modelos educativos y en los mecanismos de evaluación. Anteriormente, la educación se centraba exclusivamente en el conocimiento adquirido de las diferentes materias, considerándose que las carencias en el aprendizaje de los alumnos se debían fundamentalmente a factores como la falta de interés, esfuerzo o talento de los mismos. Progresivamente se fue adoptando un modelo centrado en el profesor, en el que predominaban las clases magistrales y las evaluaciones se basaban principalmente en exámenes relacionados con el material impartido en las clases. En los nuevos modelos educativos, centrados en el aprendizaje de los alumnos, los estudiantes adoptan un papel más activo en el proceso de aprendizaje y se investiga más acerca del modo en el que el profesorado enfoca sus métodos de enseñanza, así como el modo en el que se evalúan los resultados del aprendizaje. Contexto El Espacio Europeo de Educación Superior (EEES15, EHEA16) tiene su origen en una Declaración firmada en el año 1998, en la Sorbona, por las instituciones educativas de Francia, Alemania, Reino Unido e Italia, que se traduciría al año siguiente en la Declaración de Bolonia (con la participación de 30 países europeos). Actualmente (Mayo 2012) el proceso cuenta con la participación de 47 países. Para el seguimiento de los objetivos planteados y de los mecanismos necesarios para lograrlos, en este denominado ‘proceso de Bolonia’, se han ido realizando una serie de conferencias bianuales, cuyo objetivo general ha sido el de conseguir la convergencia en el año 2010. Entre los temas del programa 15 http://www.eees.es 16 http://www.ehea.info 18 INTRODUCCIÓN de trabajo del proceso de Bolonia, para lograr la conversión al EEES, se encuentran la formación continua (incorporada en la conferencia de Praga en el año 2001) y el aprendizaje centrado en el alumno (cuya incorporación en el proceso se produce más recientemente en la conferencia de Leuven/Louvainla-Neuve en el año 2009). Tanto la formación continua (lifelong learning) como el aprendizaje centrado en el alumno (student-centred learning) ocupan un papel central en el informe de tendencias realizado para la conferencia aniversario del año 2010 (Sursock & Smidt, 2010). La formación continua promueve una educación que sea útil para afrontar los retos del mercado laboral a lo largo de toda la vida, alejándose del paradigma en el que lo prioritario es transmitir a los estudiantes un conjunto de paquetes estanco de conocimientos. Para lograr este objetivo y promover un aprendizaje a largo plazo, es fundamental una transición en los planes educativos que vaya transformando lo que anteriormente eran el conjunto de conocimientos que se deseaban transmitir, en dinámicas educativas con un número mayor de actividades de aprendizaje que faciliten el desarrollo y la adquisición de estos conocimientos. Este tipo de actividades ayudará a los estudiantes a afrontar y desarrollar mejor las habilidades necesarias para enfrentarse a los problemas del mundo real, cuando tengan que llevar a cabo tareas como profesionales. Entre este tipo de nuevos recursos en los planes de estudio, destaca la definición de actividades de aprendizaje basadas en casos (Guerrero, Minguillón, Guàrdia, & Sangrà, 2009; Graf, Kinshuk, & Holzinger, 2010). Aprendizaje activo y percepción de los alumnos En la aproximación del nuevo paradigma de aprendizaje, centrado en el estudiante, se considera que: (i) el conocimiento es adquirido por los alumnos 19 INTRODUCCIÓN a través de diferentes tipos de actividades de aprendizaje en lugar de ser directamente transmitido por el profesorado; (ii) los resultados están alineados con los métodos de enseñanza y con la evaluación; (iii) los posibles resultados deben estar definidos de antemano (Altbach et al. 2009). Por tanto, la aproximación de enseñanza centrada en el estudiante trata de enfocarse hacia las necesidades de los mismos, en lugar de prestar tanta atención a la transmisión directa de información por parte del profesorado. Tal y como se menciona en Baeten, Kyndt, Struyven, and Dochy (2010), los métodos desarrollados para promover la participación del alumno en el aprendizaje (e.g. las actividades basadas en casos, las basadas en problemas, etc.) ponen de manifiesto que, a pesar de que la efectividad de la evaluación de los entornos de aprendizaje centrados en los estudiantes es complejo y depende de multitud de factores (como la involucración del profesor, la disciplina, la edad, el sexo, etc.), sí parecen influir de forma determinante la percepción que los alumnos tienen sobre el contexto de aprendizaje, más allá de lo innovador que sea el tipo de evaluación (que incluso puede llegar a ser un factor contraproducente). Estas cuestiones ponen de manifiesto la importancia que tienen los procesos en los que el profesorado selecciona y organiza la información y los recursos ofrecidos a sus estudiantes, para posteriormente medir la percepción individual generada sobre el aprendizaje obtenido a partir de estos recursos. Para la puesta en marcha y la aplicación del aprendizaje centrado en el alumno, los profesores pueden apoyarse y aprovechar el desarrollo de las teorías de la cognición situada, en las que los factores culturales y contextuales son considerados factores clave (ver por ejemplo, Wertsch, 1985), adoptándolas desde un enfoque complementario y no en contraposición a otras teorías educativas (Aparicio, & Moneo, 2005). Además, en este sentido 20 INTRODUCCIÓN también existen actividades como las basadas en casos mejoradas con la Web (Kim, & Hannafin, 2011) con un gran potencial aún sin explorar, o algunas de las técnicas relacionadas con la Web semántica, mencionada anteriormente, que pueden resultar muy útiles como plataforma para el diseño de las actividades de aprendizaje activo, mejorando la experiencia de los alumnos (Sherimon, Vinu, & Krishnan, 2011). Sistemas inteligentes en educación El uso de sistemas inteligentes en el ámbito educativo es una práctica empleada cada vez más como estrategia para conseguir una mejora tanto en los procesos de enseñanza como en los de aprendizaje (e.g. Huang, Liu, Chu, & Cheng, 2007; Stankov, Rosic, Zitko, & Grubisic, 2008; Holzinger, Kickmeierrust, Wassertheurer, & Hessinger, 2009; Holzinger, Emberger, Wassertheurer, & Neal, 2008). Además, existen una gran cantidad de propuestas investigadoras en las que se emplean actividades de aprendizaje activo basadas en el uso de sistemas informáticos, haciendo uso del soporte digital, tales como las basadas en computadoras (computer-based learning, que se refieren a todas aquellas actividades en las que son usados sistemas informáticos en el aula), las basadas en Web (web-based learning), basadas en Internet (internet-based learning), las de aprendizaje en línea (online learning), el aprendizaje electrónico (e-learning), etc. Sin embargo, en relación a las actividades de aprendizaje en las que se utiliza la información procedente de Internet, poner a disposición de los estudiantes toda esta información puede no ser suficiente para promover adecuadamente su aprendizaje al formular este tipo de metodologías activas (Brand-Gruwel, & Stadtler, 2011; Cook, Levinson, Garside, Dupras, Erwin, & Montori, 2008; Wong, Greenhalgh, & Pawson, 2010), 21 INTRODUCCIÓN mostrándose como necesidades adicionales en el proceso de diseño cuestiones como: una selección previa de las fuentes de conocimiento utilizadas para mostrar el contenido, realizada por expertos; una contextualización de la información coherente con el nivel de conocimiento de los estudiantes con los que se va a llevar a cabo la actividad; y el análisis de los resultados comparándolos con un método de aprendizaje tradicional o, en el caso de haber realizado un filtrado de los contenidos accesibles, comparándolos con una búsqueda tradicional en Internet en la que se ponen a disposición de los estudiantes todos los recursos disponibles. La educación médica es un área de la enseñanza muy apropiada para la aplicación de diferentes estrategias de enseñanza y aprendizaje, tales como las basadas en casos o las basadas en problemas. Estas actividades, conjuntamente con otras que se llevan a cabo haciendo uso de los mapas conceptuales o los mapas mentales, están principalmente fundamentadas en el desarrollo de la las teorías de aprendizaje constructivista, que pueden considerarse, desde diferentes puntos de vista, como parte de la evolución cognitivista (ver e.g. Gijbels, & Loyens, 2009). Cuando se crea una actividad de aprendizaje en educación superior y, en concreto, en los estudios de medicina, es importante tener en consideración esta evolución desde el positivismo tradicional - en el que la comprensión de la realidad es considerado como algo que debe ser adquirido objetivamente, visión que está íntimamente ligada a la consideración de los alumnos como recipientes pasivos en los que se va almacenando la información -, hacia las visiones constructivistas - que tienden hacia esquemas de aprendizaje más centrados en los alumnos, en los que éstos adoptan un papel más activo y son considerados como generadores del conocimiento - y, más aún, hacia las teorías post-estructuralistas - en las que 22 INTRODUCCIÓN se tiene en cuenta la complejidad de la realidad y el hecho de que ésta puede estar sujeta a múltiples interpretaciones (Mann, 2011). Existen multitud de ejemplos de la investigación y la aplicación de los métodos constructivistas en el ámbito de la educación médica. Algunos ejemplos, directamente relacionados con la propuesta de evaluación llevada a cabo en esta investigación, se pueden encontrar en: la rúbrica de evaluación para una actividad basada en los mapas mentales estudiada en D’Antoni, Zipp, Olson, and Cahill, (2010), o en D’Antoni, Zipp, and Olson, (2011); la investigación, en un entorno de aprendizaje basado en Web, con dos ejemplos basados en casos (un caso de hipertensión atrial y otro de hipertiroidismo) diseñado en Stark, Kopp, and Fischer, (2011); o el desarrollo de sistemas de entrenamiento construidos con mundos virtuales analizado en Chodos et al. (2010). Sin embargo, también es importante tener en cuenta que a pesar de lo prometedor de todas estas metodologías, dada la gran complejidad de la educación médica y el gran número de factores que inciden en el proceso (Dolmans, & Vleuten, 2010), es crucial el diseñar cuidadosamente las actividades y medir adecuadamente los resultados. 4. Estructura de la tesis En este trabajo de tesis se presenta un modelo de arquitectura de sistema inteligente para la extracción de entidades (términos, que aparecen explícitamente en el texto, y conceptos, que no tienen por qué aparecer de forma explícita) y el acceso a información cross-lingüe, implementado para un dominio particular como es el biomédico. Esta implementación permite, entre otros, el acceso en línea a los usuarios finales que, utilizando un texto digital con contenido médico escrito en inglés o en español, pueden procesarlo automáticamente obteniendo entidades nombradas de interés extraídas del 23 INTRODUCCIÓN texto y un conjunto de fuentes de información en ambos idiomas (fiables y de calidad) con las que obtener más información sobre los términos, así como sobre otros conceptos relacionados semánticamente. El sistema está provisto, además, de un servicio Web que puede ser explotado por otros sistemas informáticos. La evaluación por usuarios de este sistema biomédico se ha consumado en el contexto educativo de educación superior con estudiantes del grado de Medicina, a través de una actividad de aprendizaje activo en la que concurren características de metodologías de aprendizaje como las basadas en casos, en problemas, en computadoras, en Internet y en Web. La actividad de aprendizaje se ha diseñado teniendo en cuenta los factores clave mencionados para conducir este tipo de metodologías activas, es decir, el proceso previo de selección de fuentes de conocimiento por expertos, la adecuación de la información al nivel de conocimientos de los estudiantes y la comparación con los resultados de la misma actividad utilizando una búsqueda tradicional en Internet. Por otro lado, ha sido necesario valorar la elección de los procesos computacionales incluidos en el sistema, así como una interfaz apropiada, para asegurar la usabilidad durante el transcurso de la actividad. Tras esta introducción a los contenidos generales de la memoria, en el capítulo 2 se da una visión general del modelo de sistema propuesto, previa descripción del problema que se pretende resolver y de la situación actual, las principales motivaciones para su creación y los objetivos que se persiguen. El capítulo 3 está centrado en las estrategias utilizadas para la fusión de las diferentes fuentes de información biomédica, bajo la arquitectura general diseñada, destacándose tres grandes bloques directamente relacionados con la estructura modular del diseño: el primer bloque está dedicado al reconocimiento de entidades, que engloba dos de los módulos (dedicados al 24 INTRODUCCIÓN preprocesado y la aplicación de técnicas de PLN); el segundo está relacionado con los métodos que se han empleado para proporcionar información sobre las entidades reconocidas en el texto; mientras que el tercer bloque describe el diseño de los mecanismos de acceso al sistema. El desarrollo técnico de cada uno de los componentes y elementos del sistema biomédico se muestra en el capítulo 4, que contiene un apartado por cada uno de los módulos de la arquitectura. En el capítulo 5 se realiza un análisis de un conjunto de casos de prueba que permiten conocer la respuesta del sistema biomédico al integrar diferentes fuentes de información y procesar diferentes textos de entrada, conocimiento que es necesario para valorar las debilidades y fortalezas del software en función de varios parámetros: las dimensiones de las terminologías utilizadas para reconocer las entidades; pros y contras de la integración de los procesos remotos incorporados; las capacidades para el preprocesado en tiempo real (en línea) de textos de diferentes longitudes. En el capítulo 6 se describe la experiencia de aprendizaje puesta en práctica con los estudiantes, analizándose en detalle todos los resultados obtenidos. El capítulo 7 está dedicado a la recopilación de cada una de las aportaciones realizadas y el cumplimiento de los objetivos planteados inicialmente. Por último, en el capítulo 8 se lleva a cabo una revisión de las posibles líneas de investigación futuras. 25 INTRODUCCIÓN 26 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS CAPÍTULO 2. MODELO DE SISTEMA INTELIGENTE. 1. Descripción del problema Tal y como se menciona en Feldman, & Sanger, (2007), de las cuatro estructuras de texto más utilizadas para caracterizar los documentos en los algoritmos de minería de texto (i.e. caracteres, palabras, términos y conceptos), destacan las basadas en términos y en conceptos, tanto por su capacidad para representar el contenido semántico como por la capacidad de hacerlo con un número menor de características, respecto a otras representaciones como las que se basan en caracteres o palabras. La diferencia fundamental entre la representación basada en términos y la basada en conceptos, radica en que en la primera los términos extraídos están compuestos de palabras que aparecen en el documento (lo que facilita las técnicas de extracción automáticas), mientras que, en la segunda, los conceptos extraídos no tienen por qué estar presentes de forma explícita (implicando mayor complejidad en las técnicas necesarias para su extracción). Anotación basada en conceptos Esta caracterización se lleva a cabo a través de anotaciones que son agregadas a los documentos, incluyendo meta-información que puede ser explotada por sistemas de PLN, extracción de información, recuperación de información, categorización de textos, etc. - ver, por ejemplo, en el dominio de la biología molecular Krallinger, & Valencia, (2005) o Wilbur, Rzhetsky, & Shatkay, (2006). Dado el ritmo actual de producción de nuevo conocimiento, la anotación manual de textos se está haciendo inviable, convirtiendo a las tareas de anotación automáticas en un elemento esencial para llevar a cabo 27 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS este tipo de procesos, tal y como se menciona en Baumgartner, Cohen, Fox, Acquaah-Mensah, & Hunter, (2007). En particular, las tareas de anotación usando conceptos son utilizadas e investigadas en multitud de aplicaciones (Karimi, Zobel, & Scholer, 2012), estando incorporadas en diferentes subtareas de los procesos para la extracción y la recuperación de información. Por ejemplo: para dar soporte a sistemas de detección de enfermedades a partir de informes electrónicos de salud (Xu, Fu, Shah, Chen, Peterson, Chen, Mani, et al. 2011); en Thompson, Iqbal, McNaught, & Ananiadou, (2009) se utiliza información sobre los conceptos biológicos para generar un corpus con información enriquecida; en Liu, Lu, Hao, & Liu, (2011) se utilizan conceptos de Wordnet y de la ontología Tagger para anotar textos cortos procedentes de sistemas que tratan de dar respuesta a consultas de usuarios; el sistema Essie (empleado en los motores de búsqueda de algunos de los sitios Web de la NLM), presentado en Ide, Loane, & Demner-Fushman, (2007), se utiliza para la expansión de los términos de las consultas, o, con un enfoque similar en Matos, Arrais, Maia-Rodrigues, & Oliveira, (2010) donde se expanden las consultas utilizando conceptos relacionados con los genes que aparecen en el texto introducido por el usuario; en Baldoni, Baroglio, Patti, & Rena, (2011) se emplea la idea de conceptos emocionales para dar soporte al análisis de sentimientos y la minería de opiniones; en Embley, & Zitzelberger, (2010) se propone el enriquecimiento de los contenidos Web con metadatos relacionados con conceptos incluidos en ontologías; o en Trieschnigg, Pezik, Lee, De Jong, Kraaij, & Rebholz-Schuhmann, (2009) donde se estudian diferentes mecanismos para la mejora de la clasificación de documentos utilizando la anotación automática con conceptos de MeSH. 28 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS Sistemas para el acceso inteligente a la información Las investigaciones en el campo de estudio del acceso inteligente a la información están muy relacionadas con todas estas tareas que se acaban de esbozar en torno al procesamiento del lenguaje natural, la extracción de información, la recuperación de información y la minería de textos, entre otras (Armano, Gemmis, Semerano, & Vargiu, 2010). De forma general, este campo de estudio se refiere a aquellos desarrollos en los que se integran y hace uso de recursos implementados por otros grupos (Chen, & Li, 2010), dando lugar a utilidades que, basándose en las tecnologías semánticas, facilitan procesos como los llevados a cabo para el reconocimiento de conceptos o la anotación, agregando meta-información a partir de información desestructurada, así como en la aplicación de técnicas de procesamiento de lenguaje natural tales como el reconocimiento de entidades nombradas (Davies, Grobelnik, & Mladenić, 2009). Ontologías Las ontologías tienen un papel muy relevante en Inteligencia Artificial y en las ciencias de la computación en general con diferentes propósitos, tales como la gestión del conocimiento, la integración de datos y el soporte a la decisión (Bodenreider, 2008; Abecker, & Elst, 2009). Muchos de los sistemas, mencionados en el apartado anterior, utilizan ontologías como base de conocimiento del que extraer y sobre el que almacenar la información relacionada con el contenido semántico de los conceptos, convirtiéndose en un componente clave en los procesos de acceso a la información semántica de la Web y, más específicamente, en los procesos de anotación de los contenidos con meta-datos basados en ontologías, cuyo 29 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS uso está cada vez más extendido en el contexto de la Web semántica (Motik, Maedche, & Volz, 2002). Además, la incorporación de las ontologías en los sistemas de extracción de información facilita la actualización del conocimiento, al disgregarlo de otros componentes del sistema y actualizarse conjuntamente con la ontología, así como la portabilidad a otros dominios de conocimiento (Karkaletsis, Fragkou, Petasis, & Iosif, 2011). Las ontologías biomédicas, tal y como se menciona en (Jonquet, Musen y Shah, 2010), son un elemento cada vez más utilizado a la hora de afrontar tareas de anotación en las investigaciones de biomedicina, permitiendo así una mejor integración de los datos y favoreciendo los descubrimientos traslacionales. Sin embargo, debido a la gran cantidad de ontologías y la heterogeneidad de formatos disponibles, cuando se desea hacer uso de los datos almacenados en las ontologías se encuentran dificultades cuya resolución normalmente requiere el consumo de mucho tiempo y recursos, como por ejemplo: decidir qué ontologías utilizar; seleccionar el modo en el que ensayar con las seleccionadas; el desarrollo o la selección de las herramientas necesarias para procesar los datos. Gran parte del trabajo orientado a la generación de bases de conocimiento ontológico puede ser extremadamente útil para cubrir necesidades en el dominio biomédico. Gracias a la creciente proliferación de ontologías biomédicas y sin dominio específico, así como la existencia de servicios que permiten el acceso a la información que contienen, es posible crear sistemas de acceso inteligente a la información que integren conocimiento con el objetivo de facilitar y mejorar la comprensión de textos a los usuarios. Algunos ejemplos de ontologías utilizadas en el dominio biomédico son GO (Gene Ontology), MeSH (Medical Subject Headings), GALEN, UMLS (Unified 30 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS Medical Language System), SNOMED CT, ON9 y muchas otras (Gómez-Pérez, Fernández-López, & Corcho, 2004; Rubin, Shah, & Noy, 2008). Estas ontologías incluyen un amplio número de datos básicos sobre los conceptos médicos, tales como el tipo o la clase a la que pertenecen y cómo se relacionan (e.g. síntoma, enfermedad, tratamiento). Una descripción formal de la estructura interna de las ontologías se puede encontrar en Gruber, (1993) donde se identifican los siguientes elementos constituyentes: Clases (conceptos abstractos o concretos), Relaciones (asociaciones entre conceptos), Funciones (relaciones que admiten parámetros en su definición), Instancias (tópicos) y Axiomas formales (sentencias que siempre son ciertas). 2. Situación actual Sistemas para el reconocimiento de conceptos Existen algunos sistemas que reconocen conceptos a partir de textos médicos, como por ejemplo CONNAN (Reeve, & Han, 2007; Reeve, Han, & Brooks, 2008), donde se utiliza UMLS para localizar el concepto que mejor se ajusta a una frase de entrada en tiempos de ejecución tales que permiten su aplicación a sistemas en línea (consiguen anotar frases, en promedio, en tiempos de 9-10 milisegundos, frente al promedio de MetaMap17 que se sitúa en torno a los 200 milisegundos, tiempo al que hay que sumar el tiempo de inicialización -carga de los conceptos en memoria- que se va a un rango de entre 14,5-16,5 segundos, mientras que MetaMap está en el rango de 1,3-1,6 minutos). Este tipo de sistemas son muy útiles en aquellas 17 http://metamap.nlm.nih.gov 31 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS aplicaciones donde se utilizan textos de entrada que no han sido procesados previamente (es decir, son desconocidos por el sistema) y, dadas sus capacidades para dar respuesta en línea, ofrecer un servicio a aquellos clientes con la necesidad de ejecutar el análisis en tiempos cortos (utilidades de servidor u otras aplicaciones a través de un API que dan acceso a otros servicios en línea, usuarios finales a través de un interfaz de aplicación, etc.). MetaMap (Aronson, 2001; Aronson, & Lang, 2010) es uno de los sistemas de referencia en la tarea de reconocimiento de conceptos haciendo uso de UMLS, desarrollado por la NLM. Está orientado a obtener el concepto que mejor se ajusta a una frase determinada, situándose su origen en un intento de mejorar la recuperación de texto biomédico referenciado en MEDLINE/PubMed. Otros sistemas que también utilizan UMLS, en cambio, persiguen simplemente obtener todos los conceptos encontrados reduciendo la complejidad del procesado, en un esfuerzo por ofrecer soluciones que den respuesta en tiempos aptos para aplicaciones Web, tal y como por ejemplo IndexFinder (Zou, Chu, Morioka, Leazer, & Kangarloo, 2003). MetaMap es un software con muchas fortalezas, tales como la potencia de los análisis lingüísticos, su alta versatilidad (los léxicos y vocabularios utilizados pueden llegar a ser reemplazados por los de otros dominios), la cantidad de algoritmos con los que se puede realizar el procesado, etc. Aún así, tal y como se menciona en Aronson, & Lang, (2010), tiene también algunas debilidades, como por ejemplo: los algoritmos y la implementación de MetaMap están centrados en el procesamiento de textos en inglés; la complejidad algorítmica que posee causa que los tiempos de análisis no sean adecuados para respuestas en tiempo real, aunque la resolución del análisis de referencias bibliográficas de MEDLINE se resuelva (en las versiones actuales) en menos de un minuto (sin embargo, el 32 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS tratamiento de algunas frases complejas puede llegar a tardar horas de computación, como por ejemplo, con la frase utilizada en el artículo mencionado: 'from filamentous bacteriophage f1 PCR polymerase-chain reaction PDB Protein Data Bank PSTI human pancreatic secretory trypsin inhibitor RBP retinol-binding protein SPR surface plasmon resonance TrxA E. coli thioredoxin'). Otro posible enfoque de los sistemas de reconocimiento de conceptos es el mencionado en Shah, Bhatia, Jonquet, Rubin, Chiang, & Musen, (2009), en relación a los trabajos del NCBO. En concreto, se trata de un servicio, creado por esta institución, cuyo objetivo es el de ofrecer recursos (tales como Array Express, Gene Expression Omnibus -GEO-, Goldminer, Medline, etc.) en los que se reconocen conceptos (localizados a partir del conocimiento almacenado en alguna ontología) indexándose con ellos el contenido textual de los metadatos pertenecientes a estos recursos. Para llevarlo a cabo integran el reconocedor de conceptos Mgrep (Jonquet, LePendu, Falconer, Coulet, Noy, Musen, & Shah, 2011) y llevan a cabo una comparativa entre el sistema de referencia MetaMap y Mgrep (desarrollado por la Universidad de Michigan), seleccionando Mgrep por su rapidez, escalabilidad y niveles de customización de los diccionarios y recursos. Evalúan el rendimiento de ambos sistemas basándose en métricas para el cálculo de la precisión y la cobertura, por un lado, y en otros elementos más subjetivos tales como facilidad de uso, capacidades de personalización (o customización) y escalabilidad. Mgrep también es utilizado desde un anotador que han denominado NCBO Annotator u OBA (Open Biomedical Annotator), descrito en Jonquet, Shah, & Musen, (2009) y del que también se pueden encontrar algunos datos sobre las capacidades de anotación con Mgrep en Jonquet, Musen, & Shah, (2008). 33 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS Algunos sistemas que realizan tareas de anotación con ontologías similares al OBA, aunque con un número notablemente menor de funcionalidades y recursos integrados, son: el Terminizer (Hancock, Morrison, Velarde, & Field, 2009), que utiliza ontologías OBO para reconocer los conceptos; Whatizit (Rebholz-Schuhmann, Arregui, Gaudan, Kirsch, & Jimeno, 2008) que ofrece un conjunto de servicios Web para identificar, entre otros, enfermedades extraídas de MedlinePlus (con el módulo whatizitDisease) o acceder a MetaMap (con el módulo whatizitDiseaseUMLS); o Reflect (Pafilis, O’Donoghue, Jensen, Horn, Kuhn, Brown, & Schneider, 2009) con el que los autores anotan (a través de un plugin que se instala en el navegador) genes, proteínas y nombres de pequeñas moléculas. Sin embargo, la cantidad de ontologías y los datos que ofrece el NCBO a través de sus servicios Web (Whetzel, Noy, Shah, Alexander, Nyulas, Tudorache, & Musen, 2011), son de magnitudes difícilmente alcanzables por otros sistemas: han pasado en 3 años (desde 2008 hasta 2011) de 72 ontologías a 260 biomédicas, además de estar integrando datos de ontologías de otros dominios (en ámbitos que necesitan mantener la privacidad), y en el año 2010 contabilizó casi 36.000 usuarios que accedieron a 35 millones de páginas. Hasta el momento, el sistema únicamente trabaja con textos en inglés y sus evaluaciones están fundamentalmente basadas en las capacidades del procesado. Acceso a recursos ontológicos a través de servicios El NCBO está construyendo herramientas y servicios de acceso libre (previa alta en el sistema) para dar soporte al trabajo de la comunidad biomédica 34 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS con ontologías. Uno de estos recursos es el denominado BioPortal18 (Musen et al., 2008; Noy et al., 2009), un repositorio de ontologías biomédicas en diferentes formatos, que ofrece la posibilidad de acceso a través de servicios o directamente a través de un interfaz Web. Estos servicios permiten focalizar el esfuerzo de la investigación biomédica sobre los datos haciendo uso de multitud de ontologías, con estructuras complejas, en tareas relacionadas con el procesamiento del lenguaje natural. Además del acceso unificado a una gran variedad de ontologías, dispone de un conjunto de recursos indexados de forma automática a partir de dichas ontologías, tal y como se mencionaba en la sección anterior. Estos recursos se denominan OBR (Open Biomedical Resources) y también poseen las mismas facilidades de acceso por medio de un interfaz de usuario19 o servicios Web20. En Abril de 2012 el número de recursos indexados es de 2321. Otro servicio publicado recientemente es el Recommender (Jonquet, Musen, & Shah, 2010), que propone una clasificación de ontologías con las que anotar el texto, basada en criterios de cobertura, conectividad y número de apariciones del concepto en cada ontología. Estos servicios están siendo utilizados desde diferentes tipos de sistemas, como son los mencionados en Dowell, McAndrews-Hill, Hill, Drabkin, & Blake, (2009), donde se realiza la evaluación de varias de las ontologías para su integración con un desarrollo 18 http://bioportal.bioontology.org 19 http://bioportal.bioontology.org/resources 20 http://www.bioontology.org/wiki/index.php/Resource_Index_REST_Web_Service_ User_Guide 21 http://rest.bioontology.org/resource_index/resources/list/ 35 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS de los autores, en Twigger, Geiger, & Smith, (2009), donde se utiliza el OBA para la anotación de registros del repositorio de datos Gene Expression Omnibus, o en Jiang, Solbrig, & Chute, (2011), donde se utilizan SNOMED CT y MedDRA para anotar datos relacionados con los efectos adversos de los medicamentos en un proceso de construcción de una base de conocimiento para los mismos. Uno de los servicios Web de reciente creación, que hace viable la incorporación de información de salud desde desarrollos propios, es el desarrollado por la NLM en Septiembre de 2010 para dar acceso a búsquedas sobre los tópicos de MedlinePlus22. Precisamente una de las ontologías integradas bajo el OBA es una versión de los tópicos de MedlinePlus (de Junio del 2008) denominada MedlinePlus Health Topics. Otro de los servicios Web para desarrolladores que la NLM ofrece gratuitamente, también publicado como una aplicación Web, es el denominado MedlinePlus Connect23, que es capaz de devolver información de salud al hacer consultas a través de los identificadores de SNOMED CT correspondientes a los términos. Una fuente de conocimiento general de interés creada recientemente, accesible a través de servicios, es Freebase24. Freebase aglutina gran cantidad de información a través de una estructura colaborativa en la que hay contenidos introducidos por los usuarios que se van normalizando hacia un estándar, a medida que van cumpliendo algunos requisitos, y otra parte de los datos almacenados son procesados desde un gran número de 22 http://www.nlm.nih.gov/medlineplus/webservices.html 23 http://www.nlm.nih.gov/medlineplus/connect/overview.html 24 http://www.freebase.com 36 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS fuentes, entre las que se encuentra la Wikipedia o, en el dominio biomédico, PubMed Central y Medpedia (Rethlefsen, 2009). A pesar de no ser una ontología formal de conocimiento, la calidad de la información es alta precisamente por la introducción manual, tal y como se menciona en Han, & Zhao, (2009), donde se utiliza Freebase para desambiguar nombres por sus profesiones. Por otro lado, cabe destacar el potencial de la información de la Wikipedia en el dominio médico, como demuestran proyectos emergentes como el portal y el Wikiproyecto de Medicina (Heilman et al., 2011). Freebase está siendo utilizado ampliamente en multitud de aplicaciones, algunos ejemplos se pueden encontrar en los trabajos relacionados con utilidades en el marco de la Web semántica, tal y como por ejemplo la DBpedia de Auer y Bizer (Auer et al., 2007; Bizer et al., 2009), en problemas de clasificación de consultas (Brenes, Avello, & González, 2009), como extensiones al geo-etiquetado (Weichselbraun, 2009) o, más recientemente, para la generación de información que ayude a la interpretación de vídeos etiquetados (Hildebrand, & van Ossenbruggen, 2012), como base de conocimiento para un sistema de recomendación (Plumbaum, Lommatzsch, De Luca, & Albayrak, 2012) o para un almacén de datos moleculares (CruzToledo et al., 2012), entre otros muchos. Los contenidos de esta base de conocimiento se estructuran basándose en los denominados Tópicos (Topics), Tipos (Types), Dominios (Domains) y Propiedades (Properties). Los Tópicos son los que contienen la información descriptiva asociada a lo que en PLN sería una entidad nombrada, o lo que se conoce en Wikipedia como un artículo. Parte de la información que contienen los Tópicos procede, como ya se ha indicado, del procesado de la información incluida en Wikipedia. La estructura de la ontología (denominada Schema) se mantiene a través de relaciones semánticas, 37 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS siendo esta una forma adecuada de entender el significado tanto de los Tipos como de las Propiedades. Los Tópicos mantienen una relación semántica con los Tipos del modo "es_un" y una relación semántica con las Propiedades del modo "tiene_una". Estas relaciones permiten que un mismo Tópico pueda pertenecer a dos Tipos distintos, como sucede por ejemplo con cáncer. Este tópico puede pertenecer tanto al Tipo enfermedad (disease) como al Tipo constelación (constellation) o al Tipo signo del zodiaco (zodiac sign), dado que con los tres Tipos mantiene la relación "el cáncer es un...". Por otro lado, en Freebase los Tipos se agrupan en Dominios, representando éstos ámbitos de conocimiento más generales, tales como serían (siguiendo con el ejemplo anterior) la medicina (Dominio medicine), la astronomía (Dominio astronomy) o la astrología (Dominio western astrology). Aquellos dominios que siguen ciertos estándares se almacenan como los Commons de Freebase, mientras que el resto se almacenan como Bases. Para el caso del cáncer, cuando se busca la información asociada para el Tipo enfermedad se encuentra bajo el Dominio medicina, cuando se busca información asociada con el Tipo constelación entonces se encontrará bajo el Dominio astronomía, mientras que cuando se busque información para el Tipo signo del zodiaco se localizará agrupada en el Dominio astrología. Los dos primeros dominios son clasificados como Common y el tercero es clasificado como Base. Para localizar la información concreta de un Tópico, perteneciente a un Tipo que está agrupado en un determinado Dominio, se utilizan los identificadores correspondientes al Dominio, seguido del identificador del Tipo. Por ejemplo, el identificador del Dominio medicina es "/medicine", el de astronomía es "/astronomy" y el de astrología es "/base/wastrology" (el identificador de los Dominios Common comienza en el raíz, mientras que el de los Base comienza en /base). De 38 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS manera que el identificador para el Tipo enfermedad del Dominio medicina es "/medicine/disease", el del Tipo constelación del Dominio astronomía es "/astronomy/constellation" y el del Tipo signo del zodiaco del Dominio astrología quedaría "/base/wastrology/astrological_sign". Para recuperar la información de otros Tópicos relacionados con el que estamos estudiando, se puede conseguir a partir de las Propiedades agrupadas por cada Tipo. Si, por ejemplo, se quisiese obtener más información sobre la enfermedad cáncer, se pueden estudiar las Propiedades agrupadas en el Tipo enfermedad del Dominio medicina, encontrándose entre ellas los síntomas (Propiedad symptoms), tratamientos (Propiedad treatments), factores de riesgo (Propiedad risk factors), causas (Propiedad causes) y otros. Análogamente se podría hacer para el Tipo constelación del Dominio astronomía, donde se encuentran Propiedades como estrellas (stars), constelaciones limítrofes (bordering constellations), lluvias de meteoritos (meteor showers) o galaxias observadas en esta constelación (galaxies observed within this constellation). Ya por último, en relación con el estudio realizado en este trabajo, es interesante mencionar que pueden obtenerse relaciones asociadas con las Propiedades, dado que la información que muchas de ellas proporcionan se encuentra alojada bajo uno de los Tipos del mismo Dominio. Por ejemplo, la Propiedad síntomas asociada al Tipo enfermedad en el Dominio medicina, se localiza también como un Tipo del Dominio medicina, disponiendo en consecuencia de su propio identificador (que es "/medicine/symptom") y poseyendo, a su vez, sus propias Propiedades, tales como: efecto secundario de (side effect of), síntoma de (symptom of), incluye síntomas (includes symptoms) y otras. Uno de los métodos de acceso a la información que provee esta fuente de información es lo que se denomina MQL - Metaweb Query Language - 39 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS (Meyer, Degener, Giannandrea, & Michener, 2010), disponiéndose para ello de diferentes APIs de acceso dependiendo del tipo de lenguaje de programación utilizado. Como herramienta para probar las consultas MQL Freebase ofrece un editor público25. Reconocimiento cross lingüe de términos y conceptos Un tópico que se está investigando recientemente, dentro de las tareas relacionadas con la recuperación de información cross-lingüe (Federico, 2011), es la utilización de ontologías para, a través de la representación de los conceptos, poder ofrecer información a los usuarios en diferentes idiomas. Este tipo de sistemas multilingües y cross-lingües utilizando ontologías tienen campos de aplicación muy variados, como por ejemplo: para construir sistemas de consultas en los que los usuarios utilizan un idioma y el buscador devuelve los resultados, obtenidos en otros idiomas, en el idioma del usuario (Embley, Liddle, Lonsdale, & Tijerino, 2011); como elemento clave para la clasificación multilingüe de textos (Melo, & Siersdorfer, 2007); en el proceso de expansión de consultas (ver, por ejemplo, Bhogal, Macfarlane, & Smith, 2007); para facilitar la evolución de la Web semántica hacia un escenario multicultural y multilingüe (Gracia, Montiel-Ponsoda, Cimiano, Gómez-Pérez, Buitelaar, & McCrae, 2012). Uno de los aspectos más importantes a resolver a la hora de generar ontologías monolingües y multilingües, es el alto coste de desarrollo que requieren. Esta tarea se está afrontando desde diferentes puntos de vista, como son la traducción automática de la ontología en otros idiomas para posteriormente hacer un mapeo entre ellas (analizada en Fu, Brennan, & 25 http://www.freebase.com/queryeditor 40 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS O’Sullivan, 2009), usando métodos estadísticos (aplicados a las relaciones entre los conceptos y sus propiedades) que tienen como objetivo mejorar la traducción automática (McCrae, Espinoza, Montiel-Ponsoda, Aguado-deCea, & Cimiano, 2011), simplificando el modelo estructural de las ontologías con nuevos elementos que faciliten la extensión a otros idiomas (Segev, & Gal, 2008), a través de la creación de algoritmos que permitan la extracción automática de relaciones entre entidades desde documentos de un determinado dominio (e.g. Choi, Rho, Jeong, & Kim, 2011), o generando herramientas que faciliten la creación y modificación de las ontologías (Sellami, Camps, Aussenac-Gilles, & Rougemaille, 2011) y la inclusión de contenido multilingüe a partir de datos monolingües (Espinoza, GómezPérez, & Mena, 2008). Otro tópico que ha emergido recientemente, directamente relacionado con el reconocimiento cross-lingüe de entidades nombradas, es el denominado enlazado cross-lingüe de entidades (cross-language entity linking). El objetivo principal de este tipo de tareas es el de localizar la información más adecuada sobre un conjunto de entidades presentes en una fuente de conocimiento, permitiendo así realizar automáticamente operaciones como el enriquecimiento de datos de las entidades que aparecen en las fuentes de conocimiento. El planteamiento que se está haciendo en diferentes iniciativas que están abordando la tarea a través de competiciones (como por ejemplo, desde el 2009 las conferencias de análisis de texto del NIST, TAC26) es el siguiente: dados un conjunto de entidades en una determinada fuente de conocimiento (en el TAC del año 2011, KBP2011, la fuente de conocimiento es una ontología y las entidades son personas, organizaciones 26 http://www.nist.gov/tac/ 41 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS y lugares) y dados un conjunto de documentos de texto, se deben crear y rellenar con contenidos nuevos los nodos de estas entidades a partir de la información que aparece en el texto desestructurado de los documentos. Este enfoque es muy similar al objetivo del NCBO mencionado anteriormente (Shah, Bhatia, Jonquet, Rubin, Chiang, & Musen, 2009). La creación de corpus cross-lingües para la evaluación de estos sistemas es realmente reciente. En Mayfield, Lawrie, McNamee, & Oard, (2011), por ejemplo, se genera una colección en 21 idiomas en un proceso que reconoce los nombres de personas y los anota con un sistema de enlazado de entidades en inglés que, apoyado en la intervención humana y un proceso de crowd-sourcing, proyecta estos nombres a otros idiomas. Tal y como se menciona en McNamee, Mayfield, Lawrie, Oard, & Doermann, (2011), el enlazado de entidades se puede comprender como un método para la resolución de entidades nombradas híbrida de otras dos tareas: la resolución de identidades (identity resolution) y la resolución de correferencias (correference resolution). La primera se encarga principalmente de localizar registros estructurados o semi-estructurados que se refieren a la misma entidad, mientras que la segunda se encarga de hacerlo a partir de descripciones desestructuradas que aparecen en el mismo texto o en textos distintos (cross-document reference resolution). En esta misma publicación se presenta una aproximación para llevar a cabo el enlazado cross-lingüe de entidades, que se divide en dos fases fundamentales: la identificación de candidatos y la clasificación de los mismos (fase en la que se realiza la diferenciación para los diferentes idiomas). Otras aproximaciones para resolver el problema, obteniéndose buenos resultados, están basadas en diccionarios estáticos que asocian a diferentes tópicos la misma URL (Spitkovsky, & Chang, 2011). Este enfoque 42 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS es muy similar al seguido por el sistema biomédico implementado en esta tesis donde, a partir de un conjunto de listas en diferentes idiomas el sistema es capaz de proponer la misma URL para diferentes tópicos en dos idiomas distintos. Sin ser el objetivo del modelo el abordar el problema del enriquecimiento de datos de las fuentes de conocimiento, sí que se considera que su estructura es apta para dar soporte a este tipo de tareas. Además, experiencias próximas en el ámbito educativo utilizando escenarios de aplicación bilingües (Clark, Touchman, Martinez-Garza, Ramirez-Marin, & Skjerping Drews, 2012), parecen plantear un horizonte interesante y poco explorado para facilitar la comprensión de la materia estudiada y, al mismo tiempo, mejorar el idioma no nativo de los estudiantes. 3. Visión general del modelo de sistema propuesto Motivación En la primera sección del capítulo 1, se ha revisado la problemática del distanciamiento entre los conocimientos teóricos y las aplicaciones prácticas en el conocimiento humano, en general, y en las ciencias de la salud, en particular, que pone de relieve la necesidad de desarrollo de nuevas herramientas bioinformáticas que simplifiquen y faciliten la obtención de información a la comunidad biomédica, a partir de las ingentes cantidades de información (tanto fiables como no fiables) disponibles en Internet. Estructurar toda esta información de manera que se pueda consultar a través del lenguaje natural, asegurando la fiabilidad del contenido, es uno de los esfuerzos principales en computación desde hace varias décadas. Sin embargo, más que la creación de nuevas técnicas de PLN, minería de texto, extracción o recuperación de información, uno de los papeles principales de 43 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS la bioinformática, en su objetivo de mejorar la traslación multidisciplinar del conocimiento, consiste en ir aplicando las técnicas disponibles, derivadas de los avances computacionales que se van produciendo, en sistemas de ayuda a la decisión sobre casos clínicos y otras tareas que tiendan a proporcionar el marco adecuado para conseguir una práctica médica de máxima calidad, tendiendo cada vez más hacia una medicina personalizada. En este esfuerzo por extraer y personalizar los diferentes tipos de información heterogéneas disponibles en Internet, se pueden aprovechar los avances producidos en el desarrollo de la Web semántica y de las estructuras estándar generadas para almacenar y reutilizar computacionalmente los datos y su contenido semántico. El desarrollo de sistemas de acceso inteligente a la información que, empleando diferentes técnicas de PLN y minería de texto, hagan uso de las fuentes de conocimiento biomédico disponibles a través de servicios Web, aprovechando la disponibilidad de información orientada a dar respuesta a usuarios con diferentes perfiles (tal y como se menciona en la segunda sección del capítulo 1), puede ayudar a solventar las principales dificultades con las que se encuentran estos usuarios al afrontar búsquedas complejas de información en el ámbito de la salud (más allá de una búsqueda por término). A pesar de que las disciplinas de PLN y minería de textos están siendo ampliamente estudiadas y desarrolladas desde hace varias décadas, dando lugar a gran cantidad de aplicaciones exitosas que dan solución a problemas computacionalmente cada vez más complejos, existen todavía retos importantes por superar. Por un lado, una de las grandes limitaciones de estos sistemas de procesamiento automático consiste en que, a pesar de sus evolucionadas 44 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS capacidades lingüísticas (o precisamente por ellas), no se utilizan y evalúan con usuarios finales de forma sistemática. Un ejemplo de referencia a lo largo de esta investigación son las extraordinarias herramientas desarrolladas por el NCBO, analizadas en los dos primeros apartados de la segunda sección de este segundo capítulo, en los que uno de los focos de la investigación se pone en los tiempos de respuesta (prioritarios para la construcción de sistemas orientados a usuarios finales) y en evaluaciones que miden los valores clásicos de precisión y la cobertura. Esta carencia ha dirigido esta investigación hacia el estudio de un contexto novedoso de evaluación con usuarios para este tipo de sistemas, tal y como es el marco educativo y las actividades de aprendizaje activo en educación superior que se describen en la tercera sección del capítulo 1. La puesta en marcha del proceso de evaluación ha motivado no sólo el desarrollo de un método para la valoración cuantitativa del sistema biomédico implementado, sino también el diseño de una experiencia de aprendizaje adecuada para estudiantes y profesores. Por otro lado, la especificidad de muchas de las herramientas existentes en cuanto a los idiomas con los que se procesa la información, está tratándose de superar a través de mecanismos de almacenamiento adaptados a la realidad global en la que nos encontramos, cuestión que se ha analizado en el tercer apartado de la segunda sección de este capítulo 2. Esto ha provocado un interés creciente en tareas de procesamiento clásicas sobre las que incorporar escenarios de aplicación multilingües y cross-lingües, abriéndose también nuevos horizontes en el marco de evaluación con estudiantes. 45 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS Objetivos El modelo de sistema propuesto en esta tesis no tiene como objetivos iniciales el competir en cuestiones como la complejidad computacional de los algoritmos lingüísticos, la cantidad de ontologías, dominios e información preprocesados, en relación a los sistemas presentados para reconocer y extraer conceptos en la sección anterior. Precisamente se ha considerado que la complejidad computacional de estos sistemas, la cantidad de resultados y recursos ofrecidos, además del aumento progresivo de los tiempos de respuesta (al ir incrementando el conocimiento incorporado desde diferentes dominios), es un problema a resolver cuando se desea que el sistema sea utilizado por diferentes tipos de usuarios. Más allá del aumento en precisión y cobertura, cuestión que van resolviendo estas potentes herramientas de gran complejidad algorítmica con el paso del tiempo, hay otros factores fundamentales que deberían tenerse en cuenta, tales como por ejemplo: (i) la percepción que tienen los usuarios del sistema para mejorar la compresión del texto sobre el que se encuentran trabajando; (ii) la percepción sobre aspectos clave en relación a la usabilidad de la herramienta; (iii) la aplicabilidad a actividades concretas del sistema, que permitan disponer de un marco adecuado para el desarrollo de otros sistemas que vayan incluyendo los logros computacionales, manteniendo su aplicabilidad; (iv) las posibilidades de modificar el dominio de aplicación; (v) o las capacidades de procesamiento de recursos multilingües, además de la creación de herramientas crosslingües que intercalen el conocimiento procedente de fuentes de conocimiento en diferentes idiomas, utilizando otros criterios más allá del lenguaje en el que se hayan escrito. 46 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS El objetivo general de este trabajo es el de desarrollar un modelo con el potencial de dar soporte a un amplio espectro de tareas de procesamiento ofreciendo estos servicios a clientes. Por ello, se ha puesto especial énfasis en la construcción de un modelo de arquitectura de software escalable, en relación a varios aspectos fundamentales: i. La aplicabilidad del modelo a otros dominios de conocimiento. ii. Una escalabilidad relacionada con los mecanismos de acceso al sistema, es decir, se ha creado un esquema modular que permite albergar: a. Por un lado, componentes que posibiliten el acceso desde diferentes clientes, tales como serían aplicaciones de escritorio, servicios Web para la interacción máquinamáquina, interfaces Web orientadas a usuarios o acceso desde otros dispositivos. b. Por otro lado, la incorporación de nuevas fuentes de información con las que enriquecer el soporte a diferentes perfiles de usuario. iii. Una escalabilidad relacionada con las técnicas de preprocesado, facilitando la integración de nuevas fuentes para la extracción de conocimiento en los documentos procesados. iv. La incorporación de nuevas técnicas o librerías para el procesamiento del texto. Para demostrar la aplicabilidad del modelo, se cristalizará en el desarrollo de un sistema inteligente aplicado a un dominio particular, como es el dominio biomédico, dando servicio a dos tipos de clientes: 47 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS 1. Usuarios finales: El objetivo de este interfaz es el de proporcionar información sobre algunos tipos de conceptos médicos presentes en un texto clínico de entrada, ayudando a los usuarios a profundizar en la comprensión de su contenido a través de la integración de fuentes cuyos datos están orientados a diferentes perfiles, utilizando un lenguaje más divulgativo y fácil de entender (como es el caso de la información procedente de Freebase o MedlinePlus) o más orientado a expertos (tal y como sucede con las publicaciones científicas obtenidas de PubMed). Para lograrlo, inicialmente se extraen del texto un conjunto de términos a partir de las fuentes de conocimiento previamente preprocesadas (i.e. Freebase, MedlinePlus y SNOMED-CT, en español y en inglés) y de otras integradas a través de servicios (con el servicio OBA), eliminándose información redundante y simplificándose la complejidad de los resultados obtenidos a partir de la tarea de reconocimiento, ofreciéndolos en un formato unificado. A continuación el usuario puede emplear un conjunto de enlaces proporcionados para cada uno de los términos, recuperando información sobre otros conceptos semánticamente relacionados e información descriptiva tanto de los extraídos inicialmente como los semánticamente relacionados. 2. Otras utilidades informáticas: El objetivo de este interfaz es el de proveer de toda la información extraída del texto en un formato unificado y tratable desde otras utilidades informáticas. Para ello, se proporcionan un número mayor de opciones de procesado, más ontologías y alternativas más avanzadas en cuanto a la detección de conceptos, sin eliminar ninguna de las anotaciones (que para un 48 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS usuario final sería información redundante), dado que podrían ser de interés para, por ejemplo, un sistema de anotación que pretendiese ubicar en el texto origen cada uno de los conceptos. El esfuerzo de desarrollo se concentra, por tanto, en cuestiones como la integración, la usabilidad, la respuesta en línea del sistema y la posibilidad de tratamiento de textos multilingües proporcionando fuentes de información cross-lingüe. Esto dirige el objetivo de evaluación del modelo hacia usuarios finales y la medición de los tiempos de respuesta, más que en otras métricas como la precisión o la cobertura, que pueden ser resueltas a través del proceso de integración. Para cubrir los objetivos de evaluación se llevarán a cabo, por un lado, un conjunto de pruebas sistemáticas sobre los tiempos de respuesta y, por otro lado, una experiencia de evaluación con estudiantes de medicina sobre los que se valorarán diferentes aspectos de la herramienta en cuanto a su usabilidad y, dado el ámbito educativo para el que se ha preparado el interfaz, en cuanto a su soporte al poner en práctica actividades de aprendizaje en el aula. La preparación de la actividad de aprendizaje conllevará simplificaciones adicionales que mejoren la facilidad de uso para los estudiantes, de acuerdo con las indicaciones proporcionadas por los profesores de medicina encargados de conducir la experiencia con los estudiantes: la extracción de conceptos se realiza a partir de la fuente preprocesada Freebase y del servicio integrado OBA con la ontología MedlinePlus Health Topics, mostrándose al usuario el conjunto de términos que aparecen explícitamente en el texto indicándose su origen (la fuente de conocimiento a partir de la que han sido detectados) y el tipo de concepto 49 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS (i.e., enfermedad, síntoma, tratamiento o concepto de MedlinePlus), manteniéndose el resto de funcionalidades. Arquitectura del modelo De forma general, las tareas llevadas a cabo por los sistemas de minería de textos se pueden dividir según un esquema general (Feldman, & Sanger, 2007) en el que el sistema realiza operaciones bien distinguibles, tales como son: aquellas relacionadas con el preprocesado de los datos (donde se prepara la información original antes de aplicar los algoritmos de extracción); las relacionadas con el núcleo de las tareas de minería de textos y procesamiento del lenguaje natural (descubrimiento y comparación de patrones, agrupamiento, integración con otras fuentes de conocimiento, etc.); las encargadas de mostrar la información y permitir las búsquedas (dando acceso a través de un GUI); y, por último, las técnicas de posprocesado (que eliminan información redundante, agrupan resultados relacionados, etc.). En el modelo de sistema propuesto, existe un paralelismo entre cada uno de estos elementos y las funcionalidades asociadas con los módulos en los que se divide su arquitectura. Cada módulo aglutina un conjunto de componentes, que son los encargados de asegurar la escalabilidad de las funcionalidades asignadas a cada uno de los módulos. Así mismo, el sistema completo podría formar parte de una arquitectura mayor en la que, a través de los mecanismos de acceso, diese soporte como un módulo desde el que se realizaría alguna tarea concreta. La implementación del modelo en un caso particular de dominio, tal y como es el dominio biomédico, y su evaluación, a través de las experiencias de aprendizaje con usuarios del dominio, han permitido comprobar las 50 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS bondades de este método para el desarrollo de nuevos sistemas inteligentes que sigan este mismo modelo o la ampliación de funcionalidades de otros ya existentes. La arquitectura del modelo propuesto se apoya en el diseño de un conjunto de módulos cuyo objetivo principal es el de facilitar la integración de distintos componentes, que permitan la escalabilidad del sistema (una vez desarrollado para el dominio particular) en todos los niveles ya mencionados, así como su integración con otros sistemas. Para lograrlo, se han definido los siguientes módulos: a. Módulo de Recuperación y Preprocesado de Datos (RPD): Es un módulo pensado para realizar las tareas de recuperación de datos y el preprocesado de la información a partir de diferentes fuentes de conocimiento. Este tipo de tareas se llevarán a cabo en un hilo de ejecución diferente al resto de los módulos, que funcionarán en tiempo de ejecución haciendo uso de la información recuperada. Cada uno de sus componentes asume la gestión de recuperación, preprocesado y almacenamiento a partir de una determinada fuente de conocimiento. b. Módulo de Procesamiento de Lenguaje Natural (PLN): Es el módulo dedicado a procesar los textos en lenguaje natural enviados al sistema. En él se aplican, a través de cada uno de sus componentes, las diferentes técnicas y algoritmos de minería de texto haciendo uso de la información recuperada por el módulo RPD, se llevan a cabo las comunicaciones con servicios externos de procesado (reconocimiento, extracción y anotación de conceptos) y la integración de toda la información recopilada. Este módulo, por tanto, se nutre de los datos preprocesados y los datos 51 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS proporcionados por los servicios Web externos para dar servicio en línea (es decir, en el mismo hilo de ejecución que utiliza el usuario), a través del módulo de acceso, que se explica en el punto d. c. Módulo de Búsqueda y Enlace de Entidades (BEE): Está compuesto por el conjunto de componentes que permiten al sistema dar acceso a información relacionada con los diferentes términos y conceptos extraídos, a través del módulo PLN, procedente de las diferentes fuentes de conocimiento integradas con este fin. Cada uno de sus componentes se encarga, en consecuencia, de gestionar la búsqueda de conceptos relacionados con los términos y conceptos extraídos desde una fuente de conocimiento, así como de ofrecer información enriquecida de los mismos. La información enriquecida permite, por ejemplo, hacer uso de la información semántica para la localización de conceptos que no están explícitamente en el texto procesado, constituyendo así un elemento híbrido (ya que se lleva a cabo a través de la interacción del cliente) con el que extraer conocimiento no explícito del texto, siendo posible, al mismo tiempo, dar este servicio a los usuarios en línea. Este módulo puede jugar el papel de puente entre la extracción directa de términos y la extracción de conceptos, ayudando a que el proceso sea suficientemente eficiente como para ofrecer el servicio en línea, en caso de ser necesario. d. Capa de Acceso a la Información (CAI): Agrupa todo el conjunto de elementos o mecanismos que ofrecen acceso al sistema a los diferentes clientes, ya sea para dar servicio a usuarios humanos como a utilidades que procesen la información de forma automática. Cada uno de sus componentes constituye un interfaz 52 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS entre el exterior del sistema y los módulos de PLN y BEE, como serían, por ejemplo, el acceso para usuarios finales a las funcionalidades del sistema a través de un navegador Web, el acceso a usuarios finales a través de una aplicación de escritorio, el acceso a usuarios finales a través de un dispositivo móvil o el acceso al sistema a través de un servicio Web para su uso desde una utilidad instalada en otro servidor. F.C. 1 F.C. 2 ... F.C. N S.E. 1 S.E. 2 ... S.E. N F.C. 1' F.C. 2' C. 1 C. 2 ... C. N C. 1' C. 2' ... C. N' C. 1 C. 2 ... F.C. N' ... C. N ... C. N' C. 1 MÓDULO RPD MÓDULOS C. 2 MÓDULO PLN MÓDULO BEE ... C.I.I. C. 1' C. N MÓDULO CAI C. 1 C. 2 C. N C. 1' C. 2' ... C. N' EXTRACCIÓN INFORMACIÓN ENVIADO AL DE SEMÁNTICA Y SISTEMA CONCEPTOS DETALLADA TEXTO FLUJO DE USUARIO ... C. 2' Figura 1 Arquitectura del modelo de sistema. Siendo: {C. 1.,..., C. N, C. 1',..., C. N'} = Componentes constituyentes de los módulos; C.I.I. = Componente de Integración de Información; F.C. = Fuente de conocimiento; S.E. = Servicio Externo 53 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS Elementos de los módulos En la Fig. 1 se puede encontrar el esquema general de la arquitectura del modelo propuesto, así como los flujos de información generados al producirse la interacción con el usuario, ya sea un sistema automático o un usuario humano. Los elementos {C. 1.,..., C. N, C. 1',..., C. N'} representan los diferentes componentes constituyentes de cada uno de los módulos del sistema. En el caso del módulo RPD, cada uno de los componentes del módulo representa un algoritmo capaz de conectarse con una determinada fuente de conocimiento {F.C. 1,..., F.C. N}, para preprocesar los datos en el formato que requiera el módulo PLN. Los componentes {C. 1,..., C. N} del módulo PLN representan aquellos que se encargan precisamente de hacer esta tarea, es decir, utilizar los datos preprocesados por el módulo RPD para aplicar los diferentes algoritmos de procesamiento sobre el texto introducido en el sistema a través del módulo CAI. Los componentes {C. 1',..., C. N'} del módulo PLN tienen otra finalidad, esto es, con ellos se pretende disponer de un conjunto de elementos que sean capaces de utilizar los servicios externos {S.E. 1,..., S.E. N} que realicen operaciones algorítmicas similares (i.e. extracción de conceptos a partir de texto en lenguaje natural), utilizándose el componente de integración de información C.I.I. para fusionar los resultados procedentes del procesado de cada uno de los componentes (tanto de los que acceden al módulo RPD como de los que acceden a los servicios externos). Este componente C.I.I. es el elemento encargado de la comunicación con las diferentes interfaces desarrolladas en el módulo CAI, cuyo objetivo es el de proveer a los potenciales clientes de un interfaz desde el que introducir el texto que se desea procesar, habiéndoseles denominado componentes {C. 1,..., C. N}. Los componentes 54 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS {C. 1,..., C. N} en el módulo BEE tienen como objetivo la comunicación con las fuentes de conocimiento {F.C. 1',..., F.C. N'} utilizadas para realizar las búsquedas sobre los términos y conceptos extraídos por el módulo PLN, siendo también las encargadas de gestionar la recuperación de información ampliada sobre los mismos (incluyendo información detallada y otros conceptos relacionados semánticamente). El otro conjunto de componentes de este módulo BEE, denominados {C. 1',..., C. N'}, sirven de interfaz de acceso con el módulo CAI, a través de los componentes con el mismo nombre y que son utilizados para proveer, a los diferentes tipos de usuario, del interfaz de búsqueda adecuado (por ejemplo, para un servicio Web el usuario sería un cliente que necesitaría un formato apropiado para el tratamiento automático de los resultados, tal y como sería el formato XML o el JSON, mientras que para mostrar los resultados en un navegador el formato apropiado sería HTML). En la parte inferior de la Fig. 1 se muestra el flujo de interacción del usuario con el sistema. En primer lugar, es necesario que el usuario o cliente del sistema envíe el texto para su procesado. Esta petición será recogida, procesada y resuelta por el módulo PLN, a través del ya mencionado C.I.I., que proporcionará al cliente los resultados fusionados resultantes del procesado tanto de los servicios externos como de los componentes que hacen uso de los datos preprocesados. A continuación, el cliente puede obtener información de conceptos resultantes de las búsquedas en las diferentes fuentes, haciendo peticiones al módulo BEE a través del módulo CAI, en las que se identifica adecuadamente el concepto por el que se consulta. Además, a través de estas búsquedas el cliente puede obtener información detallada sobre los conceptos extraídos y sobre otros relacionados semánticamente, sobre los que podrá volver a consultar al 55 MODELO PARA LA EXTRACCIÓN DE CONCEPTOS sistema para obtener más información. En cualquiera de los pasos, el sistema puede devolver al cliente enlaces a diferentes fuentes de conocimiento externo, que le permitirían ampliar la información sobre los conceptos obtenidos. 56 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA CAPÍTULO 3. EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA. El sistema biomédico desarrollado utiliza el software GATE27 (General Architecture for Text Engineering) para reconocer las entidades médicas nombradas en el texto, tras ser introducido en el sistema por el cliente. Además, se ha integrado el servicio externo de anotación con ontologías biomédicas del NCBO (OBA) descrito en el capítulo anterior. La utilización de GATE requiere el preprocesado de información procedente de fuentes de conocimiento externo, almacenándose esta información en el entorno local del sistema, mientras que el procesado con el servicio externo necesita la interacción a través del protocolo HTTP. Tanto el preprocesado de la información desde las fuentes Freebase, MedlinePlus y SNOMED CT, como el proceso de anotación remoto se describen en la primera sección de este capítulo. En la segunda sección, se describirán los mecanismos empleados para vincular las entidades nombradas extraídas con contenidos informativos y otros conceptos relacionados semánticamente, procedentes en este caso de Freebase, MedlinePlus y PubMed. En la tercera sección del capítulo se describen los dos mecanismos de acceso incluidos en el sistema. 1. Reconocimiento de entidades médicas Para el reconocimiento de las entidades médicas nombradas en el texto introducido en el sistema, se han utilizado dos mecanismos: i. El componente Gazetteer del sistema ANNIE que viene incluido en la distribución de GATE. El uso de este módulo requiere el 27 http://gate.ac.uk 57 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA pre-procesado de los términos (formados por una o varias palabras) que se desean utilizar para realizar la tarea de reconocimiento de entidades. El componente Gazetteer utiliza estos términos para anotar el texto de entrada, haciendo uso de ellos a partir de listas que previamente han tenido que ser definidas y generadas. ii. El servicio de anotación con ontologías del NCBO. Anotación con GATE El software GATE permite la utilización de su propio GUI (instalada como una aplicación de escritorio), para posteriormente almacenar el proceso generado (denominado Pipeline) en un fichero de aplicación (cuya extensión es gapp), que puede utilizarse desde un programa Java y ser ejecutado a través de un servidor Web, tras instalar adecuadamente todas las librerías requeridas. Este procedimiento favorece la versatilidad del proceso de desarrollo, ya que antes de ejecutar la aplicación a través del navegador o de la aplicación Java, es posible comprobar los resultados del proceso elaborado desde el GUI con listas de conceptos y los corpus de documentos. Tal y como se ha mencionado anteriormente, es necesario definir las listas de términos que van a ser utilizadas por el módulo Gazetteer. Para ello se crea un fichero con extensión “.def”, que se ha denominado “medicine.def”. Este fichero hace referencia a las diferentes listas de conceptos, con el formato que se presenta a continuación: diseaseen.lst:Freebase:disease:en symptomen.lst:Freebase:symptom:en treatmenten.lst:Freebase:treatment:en mlpen.lst:MedlinePlus:medlineplus:en scten.lst:Snomed:snomed:en diseasesp.lst:Freebase:disease:sp 58 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA symptomsp.lst:Freebase:symptom:sp treatmentsp.lst:Freebase:treatment:sp mlpsp.lst:MedlinePlus:medlineplus:sp sctsp.lst:Snomed:snomed:sp Cada línea del fichero se refiere a una lista de términos. El separador “:” identifica, como primer dato, el nombre del fichero que contiene la lista de términos pre-procesada. Los dos datos siguientes son propiedades denominadas “mayor” (major) y “menor” (minor), que se pueden utilizar para almacenar información sobre diferentes características que aparecerán posteriormente en la anotación generada. El último dato es el idioma, también utilizado como característica de la anotación. El formato de los ficheros que contienen las listas de términos es como se explica a continuación. Una vez elegido un carácter separador (como por ejemplo “&”, que es el que se ha utilizado) cada fila representa los datos relacionados con un término, almacenándose en cada una de las filas tanto el término como todas aquellas características de las que se desee poseer información tras el proceso de anotación (utilizando el separador para diferenciarlas). Cada una de las características se representa igualando el nombre de la característica al valor, agregándose a las generales major, minor e idioma. Para la obtención de los conceptos que forman las listas se han utilizado las fuentes Freebase, MedlinePlus y SNOMED-CT. Extracción de la terminología bilingüe desde Freebase Para usar la información contenida en esta base de conocimiento, se ha comenzado por localizar el Dominio de interés: medicine. Una forma de 59 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA obtener con una consulta MQL todos los Dominios de Freebase se muestra en la Tabla 1. Tabla 1. Consultas MQL para la recuperación de los Dominios de Freebase. COMMONS [{ "id": null, "name": null, "type": "/type/domain", "key": [{ "namespace": "/" }] }] BASE [{ "id": null, "name": null, "type": "/type/domain", "key": [{ "namespace": "/base" }] }] A continuación se han estudiado los Tipos que podrían agrupar los tópicos de interés para la anotación del sistema, siempre teniendo en cuenta la relación que mantienen los Tipos y los Tópicos: "el Tópico es_un Tipo". Para analizar la estructura de los datos de Freebase de este modo, existe la vista denominada Schema28 (es decir, la vista de la estructura que tiene la ontología), donde se puede localizar fácilmente el Dominio y visualizar los Tipos que agrupa. En la Tabla 2 se muestran los Tipos agrupados bajo el Dominio medicine (a fecha de Enero 2012), ordenados por el número de Tópicos incluidos en cada Tipo. Tabla 2. Tipos de Freebase pertenecientes al Dominio medicine y número de Tópicos asociados a estos Tipos, ordenados de mayor a menor. TIPOS ICD-9-CM Classification Disease or medical condition Hospital Drug Medical Treatment Anatomical structure Physician Symptom Risk Factor Public figure with medical condition Disease cause Surgeon 28 TÓPICOS 10.152 9.471 5.022 3.918 3.727 2.908 2.209 1.446 1.037 1.034 673 357 http://www.freebase.com/schema 60 TIPOS Cancer Center Hormone Bone Ligament Condition prevention factors Medical trial Drug legal status Biofluid Drug administration route Medical trial sponsor Vaccine Medical trial design TÓPICOS 64 63 56 55 53 38 34 33 23 22 19 17 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Diagnostic Test Infectious Disease Muscle Artery Nerve Brain Structure Disease Stage Cancer Center Constituent Vein Drug class Medical specialty Drug brand Cranial nerve 268 256 252 237 205 204 186 147 133 110 109 84 83 Contraindication Drug pregnancy category Medical device Route of infection transmission Disease vector Medical trial health authority Type of infectious agent Vaccine Developer Hospital Ownership Status Medical trial phase Diagnostic Sign Cancer Center Type Medical trial type 13 11 8 8 8 6 5 5 4 4 3 2 2 A continuación se ha revisado la información semántica de los Tipos con mayor número de instancias y de interés para esta investigación, siempre teniendo en cuenta la relación de los Tópicos con las Propiedades: "el Tópico tiene_un/a Propiedad". Tabla 3. Información semántica asociada a los Tipos de Freebase más apropiados y con mayor número de Tópicos. TIPO ICD-9-CM Classification Disease or medical condition PROPIEDADES TIPO Code Includes classifications Parent Classification Risk Factors Symptoms Treatments Causes Stages Survival Rates ICD-9 ICD-10 ICD-O DiseasesDB Medline plus eMedicine MeSH ID OMIM Affiliated diseases Prevention factors Trials Includes Diseases Parent Disease Associated medical specialties Drug Medical Treatment PROPIEDADES Pronunciation ATC Code Drugbank Pubchem CAS Number Drug class Brands Route of administration Pregnancy category Legal status Side effects Contraindications Trials Used To Treat Anatomical structure - Symptom ICD-9 ICD-10 DiseasesDB Medline plus eMedicine MeSH ID Symptom of Side effect of Includes symptoms 61 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Notable people with this condition Tests Parent Symptom Risk Factor Diseases with this Risk Factor En la Tabla 3 se muestran las Propiedades asociadas a los 7 Tipos más poblados del Dominio médico, a excepción de Hospital y Physician dado que la información que contienen no es de interés para este estudio. De estos Tipos finalmente se han descartado ICD-9-CM Classification, Drug y Anatomical structure tras el análisis de la información semántica asociada a través de sus Propiedades, ya que es a través de este tipo de datos y del artículo de Wikipedia vinculado al Tópico con los que se forma la información detallada sobre el término extraído del texto. Además, se ha tenido en cuenta que, a pesar de que cualquiera de estos siete Tipos puede considerarse de interés para un etiquetado que permita mejorar la comprensión de un caso clínico, sólo Disease or medical condition, Medical Treatment y Symptom poseen una relación circular a través de las Propiedades Treatment y Symptoms de la primera (relacionándola con la segunda y la tercera, respectivamente), a través de Side effect y Used to treat de la segunda (relacionándola con la tercera y la primera, respectivamente) o a través de Symptom of y Side effect of (relacionándola con la primera y la segunda, respectivamente). La relación circular entre los Tipos y las Propiedades permite que, por un lado, la presentación de todos los contenidos semánticos se pueda centralizar a través del sistema (sin necesidad de enlazar con contenidos externos) y, por otro lado, limitar la cantidad de relaciones a manejar por el usuario. El Tipo Risk Factor carece 62 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA de información semántica salvo la que lo relaciona con la enfermedad, por lo que se selecciona como Tipo de interés para dar información adicional pero no para el etiquetado. Tabla 4. Tipos, Propiedades e Identificadores de Freebase seleccionados. TIPOS PROPIEDADES Risk Factors Disease or medical condition Symptoms Medical treatment Symptom Risk factor FREEBASE_TYPE_ID /medicine/risk_factors /medicine/symptom Treatments /medicine/medical_treatment Side effects /medicine/symptom Used To Treat /medicine/disease Symptom of /medicine/disease Side effect of /medicine/medical_treatment Diseases with this Risk Factor /medicine/disease En la Tabla 4 se muestran los identificadores de Freebase asociados con los Tipos a los que corresponden cada una de las Propiedades (columna de la derecha), así como los tipos a los que pertenecen estas Propiedades (columna de la izquierda). Estos identificadores se utilizarán para la recuperación de los nombres de los Tópicos. En concreto, para la obtención de los nombres de los Tópicos pertenecientes a los Tipos Disease or medical condition, Treatment y Symptom, se han construido consultas MQL que siguen el patrón mostrado en la Tabla 5. Tabla 5. Patrón de consulta MQL utilizada para la recuperación de los tópicos. CUERPO ENVOLTORIO [{ "type": FREEBASE_TYPE_ID, "name~=":"*", "id":null, "name":null, "optional":false, "sort":"name", "limit": LÍMITE }] "page": PÁGINA,"cursor": true, "lang": "/lang/LANG" En estas consultas se hace uso de los identificadores de Freebase (FREEBASE_TYPE_ID): 63 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA 1. Para el Tipo Disease or medical condition el identificador es "/medicine/disease". 2. Para el Tipo Medical Treatment el identificador es "/medicine/medical_treatment". 3. Para el Tipo Symptom el identificador es "/medicine/symptom". Para la obtener la totalidad de Tópicos de cada uno de los Tipos, se parametriza el límite de resultados y se van obteniendo todas las páginas (haciéndose uso del envoltorio de la consulta, ver Tabla 5). Además, se ha agregado una cláusula para recogerlos ordenados alfabéticamente. Para averiguar el número de términos (nombres de tópicos) de un determinado Tipo existentes en un momento determinado en Freebase, se puede utilizar una consulta MQL que sigue el patrón mostrado en la Tabla 6. Este patrón permite hacer el recuento de aquellos conceptos que contengan un artículo de la Wikipedia asociado (cambiando la cláusula "optional":true a "optional":false). Por ejemplo, el 16 de febrero de 2012, el número de conceptos cambia significativamente si sólo se recogen aquellos nombres que contengan un artículo (de 9.478 a 5.653). Esto mismo se puede aplicar a la imagen asociada (utilizando el identificador "/common/topic/image" de modo análogo al identificador del artículo "/common/topic/article"). Tabla 6. Patrón de consulta MQL utilizada para el recuento de tópicos agrupados en un determinado Tipo. [{ "type": FREEBASE_TYPE_ID, "name~=":"*", "return" : "count", "/common/topic/article": { "guid": null, "limit": 1, "optional": true } }] Puesto que este proceso de recuperación de términos puede tardar varios minutos, además de ser susceptible de un número mayor de errores de 64 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA comunicación con el servidor HTTP que sirve estos datos desde Freebase, se ha decidido obtener este tipo de información periódicamente y controlando los errores de comunicación para repetir el proceso en caso de fallo, lanzándose en un hilo de ejecución diferente al utilizado por el usuario. Además del cuerpo de la consulta MQL, se pueden enviar otros parámetros en el envoltorio de la misma (el denominado envelope), tales como el cursor y la página (útiles para paginar los resultados haciendo uso de la cláusula "limit" en el cuerpo de la consulta) o el idioma (parámetro "lang"). Manteniendo la consulta que se muestra en la Tabla 5 y modificando el parámetro "lang" al valor "/lang/es", es posible recuperar los conceptos en español y utilizarlos para anotar el texto introducido por el usuario. En este punto es interesante advertir lo fácil que resultaría recuperar listados en cualquiera de los idiomas de Google disponibles, siempre y cuando el número de Tópicos fuese significativo. Extracción de la terminología bilingüe de MelinePlus Se han investigado dos formas distinas para utilizar los términos de MedlinePlus en tareas de anotación: 1. La NLM ofrece los ficheros de datos de MedlinePlus (términos y descripciones de los mismos) en ficheros con formato XML que actualiza semanalmente29. El preprocesado de estos ficheros, en el formato adecuado para su utilización con el módulo Gazetteer de GATE, permite la anotación del texto introducido por el usuario tanto en inglés como en español, ya que esto ficheros XML incluyen los tópicos en ambos idiomas. 29 http://www.nlm.nih.gov/medlineplus/xml.html 65 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA 2. El servicio Web OBA del NCBO a través de la ontología Medlineplus Health Topics. A pesar de que se ha realizado la integración de este servicio para la anotación, tiene algunas desventajas importantes en relación con el primer método: i) no permite la anotación bilingüe; ii) la última actualización de la ontología es del año 2008; iii) la dependencia de la conexión HTTP; iv) los tiempos de respuesta son en torno a dos órdenes de magnitud mayores que los del procesado a través de GATE. Por tanto, para la anotación bilingüe de los términos médicos procedentes de MedlinePlus se han utilizado los XML ofrecidos por la NLM. Estos ficheros contienen, por cada tópico, la siguiente información: Idioma. Nombre del tópico en el idioma correspondiente. URL de MedlinePlus donde se encuentra publicada la información sobre el tópico. Información detallada del tópico. Fecha de creación. Sinónimos y otros tópicos relacionados. Grupos de MedlinePlus bajo los que se agrupa el tópico (los grupos son ofrecidos en otro fichero XML, actualizado con la misma frecuencia). El dato del idioma es utilizado para la creación de una lista con los tópicos en inglés y otra con los tópicos en español. Además, se ha hecho uso de los sinónimos asociando a cada uno de ellos la misma URL de MedlinePlus que 66 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA la del concepto original, consiguiéndose (aproximadamente) duplicar la lista de términos con los que anotar a partir de esta fuente. Extracción de la terminología bilingüe de SNOMED CT SNOMED CT30 (Systematized Nomenclature of Medicine, Clinical Terms) tiene su origen en la fusión de dos importantes diccionarios de conceptos médicos, el SNOMED RT (Reference Terminology) creado por el colegio de patólogos americanos (CAP) y los Read Codes generados por el servicio nacional de salud del Reino Unido (NHS). Se trata, por tanto, de una gran base de datos de conocimiento de la terminología clínica. Identifica los términos unívocamente a través de un identificador posibilitando su uso multilingüe. Existen varias formas de obtener los ficheros de datos de SNOMED CT para investigar, tras aceptar las licencias correspondientes, como por ejemplo a través del Ministerio de Sanidad, Servicios Sociales e Igualdad o desde el conjunto de herramientas UMLS de la NLM. Ambas distribuciones proporcionan los ficheros en texto plano de las tres tablas de SNOMED CT (terminología, descripciones y relaciones). Sin embargo, la terminología no está traducida, únicamente proveen la traducción de las descripciones (como por ejemplo la distribución del 17 de Noviembre del 2011, denominada 2011AB, de la distribución del Metathesaurus de UMLS31). Para hacer uso de esta terminología se pueden emplear diferentes aproximaciones, tales como: (i) el software Java de código libre 30 http://www.nlm.nih.gov/research/umls/Snomed/snomed_main.html 31 http://www.nlm.nih.gov/research/umls/licensedcontent/umlsknowledgesources.ht ml 67 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA MetamorphoSys32 incluido en la misma distribución de las fuentes de conocimiento de UMLS, que permite la extracción de subconjuntos de conceptos de SNOMED CT; (ii) El programa MetaMap (la versión actual, que sustituye al anterior programa Java MMTx, es el 2011 Release) que permite descubrir los conceptos del diccionario de UMLS que aparecen en un texto aplicando diferentes estrategias de PLN y LC (Lingüística Computacional); (iii) Usando el recurso específico del dominio biomédico que incluye GATE para anotar con MetaMap33. Dado que MedlinePlus ofrece un servicio basado en el subconjunto denominado CORE Problem List34 de la distribución (MedlinePlus Connect), el preprocesado de este subconjunto de datos adquiere una relevancia especial respecto al resto de conceptos de SNOMED CT, al disponerse de un mecanismo directo para la obtención de información enriquecida de datos sobre los conceptos anotados, tal y como es MedlinePlus Connect. No obstante, desde el punto de vista de la anotación del máximo número de conceptos, también se ha preprocesado la terminología completa en inglés y, a partir de la tabla de descripciones, la terminología médica completa en español. 32 http://www.nlm.nih.gov/research/umls/implementation_resources/metamorphosy s/index.html 33 http://gate.ac.uk/sale/tao/splitch16.html#sec:misc-creole:metamap 34 http://www.nlm.nih.gov/research/umls/Snomed/core_subset.html 68 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Anotación con ontologías biomédicas remotas Los servicios Web desarrollados por el NCBO35 permiten el acceso a una gran cantidad de recursos relacionados con las ontologías integradas: acceso y descarga de datos de las ontologías, búsquedas por término, extracción de las estructuras jerárquicas dada una ontología y una rama de la misma, búsqueda de recursos indexados36 o anotación de textos37. Este último servicio es el que se ha integrado en el sistema biomédico. Para el acceso al servicio a través del navegador, el NCBO ha desarrollado una interfaz38 que permite introducir un texto, procesarlo y obtener el conjunto de resultados de los términos anotados, tras la selección de las ontologías con las que se quiere llevar a cabo la anotación, los tipos semánticos de UMLS con los que se quieren filtrar los resultados, los mapeos y el nivel de los conceptos jerárquicamente relacionados con los términos anotados que se quieren obtener (Fig. 2). 35 http://www.bioontology.org/wiki/index.php/BioPortal_REST_services 36 http://www.bioontology.org/wiki/index.php/Resource_Index 37 http://bioontology.org/wiki/index.php/Annotator_Web_service 38 http://bioportal.bioontology.org/annotator 69 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 2 Interfaz Web del OBA. (Accedido el 06 de Marzo de 2012) Una de las limitaciones del portal, en cuanto a las dimensiones del texto, es que no permite procesar más de 500 palabras, cosa que no sucede al procesar el texto haciendo uso del servicio Web. El servicio OBA dispone de una amplia parametrización, algunos de ellos tienen la finalidad de controlar las características de los términos anotados similares a los valores configurables en el Gazetteer de GATE, tales como longestOnly, utilizado para anotar únicamente las frases más largas, o wholeWordOnly, utilizado para anotar solamente palabras completas - y otros están orientados a la gestión de las ontologías utilizadas y al nivel de profundización en la jerarquía de las mismas - tales como ontologiesToKeepInResult, correspodiente al conjunto de identificadores de las ontologías separados por comas con las que se desea realizar la 70 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA anotación, o levelMax, con el que se puede indicar el número de niveles jerárquicos en los que se realizará la expansión semántica "is_a". Para disponer de un mecanismo que recupere los identificadores asignados a las ontologías con las que se puede anotar a través del OBA, se ha implementado un cliente (Fig. 3) con el que se pueden filtrar las ontologías por su estado (únicamente se pueden emplear para la anotación aquellas con un estado "28") o su nombre. Figura 3 Cliente Web desarrollado para facilitar el acceso a las ontologías disponibles en el OBA. Página ncbolist.jsp A través de este cliente se puede comprobar que el identificador correspondiente a la ontología MedlinePlus Health Topics es el 40397, o que el de SNOMED Clinical Terms es el 46116. Concatenando adecuadamente estos identificadores es posible llevar a cabo la petición al servicio de anotación OBA, cuyos resultados pueden obtenerse en diferentes formatos 71 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA como, por ejemplo, en XML. Algunos de los datos resultantes incluidos en el documento XML resultante son los siguientes: El identificador de la ontología con la que ha sido anotado el concepto. El nombre preferido y sinónimos relacionados. El nivel o contexto del concepto, que tendrá el valor MGREP si es una anotación directa realizada con la herramienta Mgrep (el concepto que aparece explícitamente en el texto o un sinónimo), ISA_CLOSURE si es una anotación indirecta (encontrada a través de la relación parental "es_un"), o MAPPING si se trata de una anotación relacionada semánticamente en otra ontología. Los índices que indican el comienzo y el final del término dentro de toda la cadena de texto. 2. Información enriquecida de los conceptos Puesto que uno de los objetivos del sistema es proporcionar al cliente datos que permitan facilitar la comprensión del texto médico que introduce en la herramienta, se han implementado diferentes estrategias para ofrecer información sobre las entidades tras haberlas extraído. Tanto si han sido detectadas a partir de las listas de términos recuperadas desde Freebase, de las listas preprocesadas a partir de los ficheros de MedlinePlus, de las listas procedentes de los datos de SNOMED CT, o han sido anotados a través del servicio remoto del NCBO, se han desarrollado mecanismos para enlazar estas entidades con contenidos descriptivos y con otros conceptos semánticamente relacionados, para los que también es posible obtener 72 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA información enriquecida. Estos mecanismos son los que se explican a continuación. Información enriquecida desde Freebase Una vez se han reconocido las entidades a partir de las listas de Freebase, se ha valorado la generación de consultas MQL para obtener dos tipos de resultados: 1. Consultas MQL para obtener un listado de conceptos similares al anotado, antes de ofrecer la información de detalle, tal y como las que se muestran en el patrón de la Tabla 7. 2. Consultas MQL para obtener la información descriptiva de un determinado concepto (artículo de Wikipedia y una imagen) y la información semántica relacionada (Propiedades), tal y como las que se muestran en la Tabla 8. Tabla 7. Patrón de consulta MQL utilizada para la búsqueda de conceptos similares en Freebase. BÚSQUEDA DE CONCEPTOS CON EL PATRÓN "*CONCEPTO*" [{ "type": FREEBASE_TYPE_ID, "name~=":"*CONCEPTO*", "id":null, "name":null, "limit": 10, "/common/topic/article":[{"guid":null, "limit":1, "optional":true}], "/common/topic/image":[{"id":null, "limit":1, "optional":true}] }] Tabla 8. Consulta MQL utilizada para la búsqueda de los datos descriptivos y la información semántica de un determinado concepto. DETALLE PARA CADA CONCEPTO RESULTANTE ENFERMEDADES [{ "type": "/medicine/disease", "id": FREEBASE_TOPIC_ID, "name":null, "/common/topic/article": [{"guid":null, "limit": 1, "optional":true}], "/common/topic/image": [{"id":null, "limit": 1, "optional":true}], "symptoms":[{"id":null, "index":null, "name":null, 73 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA "optional":true, "sort":"index", "type":"/medicine/symptom"}], "treatments":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/medical_treatment"}], "risk_factors":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/risk_factor"}] }] TRATAMIENTOS [{ "type": "/medicine/medical_treatment", "id": FREEBASE_TOPIC_ID, "name":null, "/common/topic/article": [{"guid":null, "limit": 1, "optional":true}], "/common/topic/image": [{"id":null, "limit": 1, "optional":true}], "side_effects":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/symptom"}], "used_to_treat":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/disease"}] }] SÍNTOMAS [{ "type": "/medicine/symptom", "id": FREEBASE_TOPIC_ID, "name":null, "/common/topic/article": [{"guid":null, "limit": 1, "optional":true}], "/common/topic/image": [{"id":null, "limit": 1, "optional":true}], "side_effect_of":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/medical_treatment"}], "symptom_of ":[{"id":null, "index":null, "name":null, "optional":true, "sort":"index", "type":"/medicine/disease"}] }] En las consultas que siguen el patrón de la Tabla 7 se incluyen también los parámetros del envoltorio de la consulta page y cursor, que posibilitan la paginación de los resultados en caso de ser necesario. Información enriquecida bilingüe desde MedlinePlus Los servicios proporcionados por MedlinePlus, tanto los publicados en HTML para los usuarios finales como los servicios Web preparados para la recuperación de datos desde otros sistemas informáticos, son los que han facilitado el acceso a la información descriptiva sobre las entidades anotadas por varias de las fuentes utilizadas, tal y como se describe a continuación. En primer lugar, el preprocesado de la información contenida en los ficheros XML de MedlinePlus para generar las listas de términos, permite al mismo tiempo almacenar la URL del servicio que MedlinePlus ofrece a los usuarios, 74 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA tanto en español como en inglés. Esto ha posibilitado agregar un enlace a estos contenidos junto con la entidad. Si la entidad es reconocida en inglés, se proporcionan al usuario los enlaces al contenido en inglés y en español publicados por MedlinePlus en su sitio Web. Del mismo modo, si la entidad es reconocida en español se ofrecen los enlaces al contenido de MedlinePlus en orden inverso. Tanto en un caso como en otro, MedlinePlus facilita la visualización del contenido de la información en el otro idioma (en español si estamos viendo la página en inglés y viceversa) a través de un botón (tal y como se muestra en la imagen de la Fig. 4). Figura 4 Visualización de información bilingüe en el sitio Web de MedlinePlus. Enmarcado en rojo el botón que permite esta acción (accedido el 18 Febrero 2012). En segundo lugar, uno de los servicios Web de MedlinePlus que la NLM mantiene para el acceso a sus datos a través de sistemas de software, consiste en un buscador que proporciona información sobre los tópicos de salud que más se aproximan al término buscado, ordenando los resultados por criterios de relevancia. Estos criterios de relevancia internos de 75 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA MedlinePlus pueden verse alterados por la coincidencia del término buscado, es decir, si el término tiene una coincidencia exacta con alguno de los tópicos entonces lo situará en la primera posición a pesar de no ser considerado de máxima relevancia. En cualquier caso, uno de los datos que devuelve el servicio es el valor de relevancia asignado al término (rank), que puede ser recuperado por el sistema para alterar el orden al mostrar los resultados por pantalla o, como es el caso, para mostrarlo como parte de la información ofrecida al usuario. Además del listado de tópicos, a través del servicio se pueden obtener otros datos relacionados con cada uno de ellos, tales como la URL a la página Web del tópico, la descripción completa, los términos MeSH asociados al tópico o los grupos de MedlinePlus a los que pertenece (de los que está publicada una lista completa39). Una vez que una entidad ha sido extraída con el listado de términos obtenidos a partir de los nombres de los tópicos de MedlinePlus, este servicio Web ha permitido generar un cliente para mostrar la información asociada a través de un interfaz propio, sin necesidad de que el usuario visite el sitio Web de MedlinePlus. Un ejemplo de la salida en formato HTML de este cliente, que se explicará con más detalle en el siguiente capítulo, se muestra en la Fig. 5. 39 http://www.nlm.nih.gov/medlineplus/healthtopics.html 76 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 5 Resultados en HTML del cliente Web desarrollado para el servicio de MedlinePlus. Tras realizar la búsqueda "breast cancer". URL: medlineplus.jsp?term=breast cancer Una de las principales limitaciones de este servicio es que únicamente funciona con la información en inglés, cuestión que se ha tratado de superar incorporando la URL al tópico en español. Las ventajas más destacables, frente al preprocesado de la información procedente de los ficheros XML (que contienen una información muy similar), son: que el servicio Web responde con un conjunto de resultados que consiste en una lista ordenada por ranking y similitud de la búsqueda (que habría que implementar si se deseara mostrar este listado a partir de los ficheros XML, en lugar de ofrecer directamente la información sobre el concepto anotado); la frecuencia de actualización de los datos (que la llevan a cabo diariamente); la inclusión de los grupos a los que pertenece cada tópico (evitando así el esfuerzo que preprocesar también el fichero XML de grupos). Por otro lado se dispone del servicio MedlinePlus Connect40 mencionado anteriormente, que responde a consultas por identificador de SNOMED CT. 40 http://www.nlm.nih.gov/medlineplus/connect/overview.html 77 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA La característica más interesante desde el punto de vista de la construcción de un sistema cross lingüe consiste en que proporciona la información tanto en español como en inglés, haciendo uso de un parámetro con el que se le indica el idioma, de manera que dado un término detectado en cualquiera de los idiomas, el usuario puede enlazar directamente con el contenido en ambos idiomas. Desde el punto de vista de la cobertura de términos, la principal limitación de este servicio es que no trabaja con la terminología completa de SNOMED CT, sino con el subconjunto también mencionado CORE Problem List. Este subconjunto procede a su vez de una selección de los términos de UMLS, considerados como los más relevantes para la codificación de los historiales clínicos, gestionándose a partir de los datos manejados por 7 instituciones de salud. Acceso a información bibliográfica de MEDLINE/PubMed La biología molecular ha generado a partir de la última década cantidades ingentes de información procedente de diversos proyectos de secuenciación. El NCBI (National Center for Biotechnology Information), fundado en 1988, es el organismo encargado de la creación de bases de datos públicas, realización de investigaciones en biología computacional y desarrollo de herramientas software para el análisis del genoma humano, que tienen como finalidad la puesta en común y propagación del conocimiento biomédico existente. Actualmente, el NCBI posee, junto con sus colaboradores EMBL (European Molecular Biology Laboratory) y DNA Data Bank of Japan, bases de datos con información de unos 165.000 organismos diferentes. 78 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA MEDLINE es una de las base de datos bibliográfica más importante y consultada en el dominio biomédico, almacena referencias a artículos de revistas desde 1950 hasta la actualidad. En el año 2011 el número de referencias indexadas41 supera la cifra de 19 millones, habiéndose producido un incremento aproximado del 4% en dicho año (724.831 nuevas referencias) lo que implica un crecimiento aproximado de 2.000 referencias diarias. MEDLINE es el componente más importante de PubMed, un motor de búsqueda gratuito que además de las referencias incluidas en MEDLINE también incluye otras referencias, como por ejemplo: aquéllas que se encuentran en progreso de ser indexadas, referencias anteriores a la fecha en la que comienzan a ser indexadas, referencias a algunas revistas adicionales de PubMed Central revisadas por la NLM, etc. El NCBI ofrece un conjunto de utilidades de servidor (ocho programas en la última fecha de acceso, Febrero de 2012) denominadas E-utilities42, que dan acceso al sistema de bases de datos y consultas denominado Entrez43. El sistema ofrece acceso a bases de datos biomédicas, especializadas en áreas de conocimiento como la genómica (e.g. Nucleotide, Genome, Gene) o la proteómica (e.g. CDD, protein), además del acceso a los recursos bibliográficos (e.g. PubMed, PubMed Central). Para acceder a todas las utilidades se puede usar una URL base44, a la que se le concatena el nombre de la utilidad con la extensión "fcgi" (einfo, esearch, epost, esummary, efetch, elink, egquery y espell), además de los parámetros correspondientes 41 http://www.nlm.nih.gov/bsd/pmresources.html#statistics 42 http://www.ncbi.nlm.nih.gov/books/NBK25501/ 43 http://www.ncbi.nlm.nih.gov/gquery/ 44 http://eutils.ncbi.nlm.nih.gov/entrez/eutils/ 79 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA a cada utilidad. El número de bases de datos incorporadas al sistema45 va aumentando con el tiempo. A través de la utilidad einfo se puede obtener un listado de todas las bases de datos incorporadas, haciendo la petición sin parámetros, obteniendo los identificadores de las diferentes bases de datos. Agregando este identificador como parámetro a la misma utilidad (db=[identificador]) permite obtener más detalles sobre esta base de datos en concreto. Sin embargo, es preciso consultar la documentación para averiguar si la base de datos está habilitada para su uso con la utilidad efetch (que sirve para recuperar los registros de datos correspondientes a los identificadores resultantes de la utilidad de búsqueda esearch), o hacer una petición y comprobar el resultado. Por ejemplo, si se realiza la petición a la utilidad einfo y se adquiere el identificador de la base de datos pubmedhealth, éste puede emplearse para ejecutar una búsqueda. Para obtener los resultados de una búsqueda en esta base de datos utilizando el término de búsqueda "prostate cancer", es necesario hacer una petición a la utilidad esearch, esearch.fcgi?db=pubmedhealth&term=prostate+cancer, obteniéndose un conjunto de identificadores de documentos que es posible consultar (Fig. 6), en principio, con la utilidad efetch. Sin embargo, para esta base de datos se puede comprobar que (a fecha de 29 de Febrero de 2012) el sistema efetch no la tiene incorporada, ya que si se utilizan los dos primeros identificadores (por ejemplo) para hacer la petición a esta utilidad, efetch.fcgi?db=pubmedhealth&id=1418,9311, el resultado del sistema es el texto "Database: pubmedhealth - is not supported". 45 http://www.ncbi.nlm.nih.gov/books/NBK3837/ 80 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 6 Identificadores resultantes al utilizar la utilidad esearch del sistema Entrez. Resulados para la búsqueda del término "prostate cancer" en la base de datos pubmedhealth. Los identificadores pueden ser utilizados desde la utilidad esummary, que proporciona un resumen de los documentos consultados. Procediendo de un modo similar con la base de datos pubmed, haciendo uso de la utilidad esearch (imagen izquierda de la Fig. 7) y después de la utilidad esummary (imagen derecha de la Fig. 7), usando uno de los identificadores resultantes (pudiéndose utilizar más de uno concatenándolos a través del carácter ','), permite recuperar datos como: la fecha de publicación, la lista de autores, el identificador digital del documento, etc. 81 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 7 Consultas a la base de datos pubmed para el término "prostate cancer" haciendo uso de la utilidad esearch (imagen de la izquierda) y con la utilidad esummary (imagen de la derecha) usando el primer identificador resultante. La utilidad efetch se puede emplear para capturar el abstract de los artículos resultantes de la búsqueda, de uno en uno o en grupo (concatenando los identificadores del mismo modo que para la utilidad esummary). Un ejemplo de la consulta del abstract (parámetro rettype=abstract) para el primer identificador resultante de la búsqueda anterior, en formato texto (parámetro retmode=text), se muestra en la Fig. 8. 82 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 8 Consulta a la base de datos pubmed con la utilidad efetch para obtener el abstract en formato texto. A partir del primer identificador resultante tras realizar la búsqueda con la utilidad esearch usando el término "prostate cancer". Además de estas utilidades, el sistema Entrez dispone de un servicio de acceso SOAP para facilitar el acceso a las utilidades a través de clientes desarrollados en otro servidor. Para la integración de las búsquedas en los recursos bibliográficos de la base de datos PubMed (db=pubmed), se hará uso de las librerías Axis2 de Apache46 para generar un cliente al servicio, que servirá para ofrecer esta información a los usuarios del sistema. Este cliente se explicará con mayor detalle en el siguiente capítulo. 3. Elementos del interfaz y métodos de acceso al sistema 46 http://www.ncbi.nlm.nih.gov/books/NBK55696/ 83 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA En el módulo CAI se han desarrollado dos mecanismos de acceso al sistema, ambos basados en el protocolo HTTP. Uno de ellos es una aplicación Web que permite al usuario final interaccionar con los componentes de los módulos PLN y BEE, haciendo uso de las diferentes funcionalidades a través del navegador. El otro mecanismo es un servicio que devuelve la respuesta en formato XML, preparado para su acceso y tratamiento automático a través de otros sistemas o aplicaciones informáticas. A continuación se describirán con algo más de detalle los fundamentos en los que se basa el desarrollo de ambos componentes. Aplicación de acceso Web Para lograr un interfaz fácil de utilizar, se ha llevado a cabo un modelo de pantallas que van profundizando progresivamente en los contenidos seleccionados por los usuarios, intentando evitar en todo momento la sobrecarga de información al que podría dar lugar, sobre todo, el procesado de textos con muchas palabras o textos con muchos conceptos médicos detectables. Por otro lado, para conseguir que el interfaz sea, no sólo de fácil uso, sino también agradable y tratar de mejorar de este modo la percepción de los usuarios al interaccionar, se ha hecho uso de la librería de JavaScript jQuery47, así como algunos de sus plugins. La sobrecarga de información en la pantalla del navegador se ha tratado de superar utilizando diferentes estrategias: La pantalla principal, desde la que el usuario introduce inicialmente el texto y acciona el proceso de extracción de entidades, se ha 47 http://jquery.com/ 84 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA reducido hasta contener el número mínimo de opciones necesarias (Fig. 9, izquierda). Estas opciones incluyen: 1) Las diferentes combinaciones de las fuentes de conocimiento con las que se puede realizar el proceso de extracción (Annotate with Ontologies), que son: LOCAL (el reconocimiento se lleva a cabo con la terminología preprocesada seleccionada para los usuarios, es decir, la seleccionada entre las fuentes Freebase, MedlinePlus y SNOMED CT, tanto en inglés como en español); REMOTE MEDLINEPLUS (reconocimiento realizado con la ontología remota MedlinePlus Health Topics del OBA); REMOTE SNOMED (reconocimiento realizado con la ontología remota SNOMED CT del OBA); REMOTE ALL (reconocimiento realizado con las dos ontologías remotas integradas); ALL (reconocimiento utilizando todas las fuentes de anotación integradas). 2) Un cajón de texto redimensionable desde el que el usuario introducirá el texto a procesar, permitiéndole adaptarlo a la longitud del texto introducido. 3) Un botón para iniciar el análisis automático del texto. Puesto que los tiempos de respuesta pueden llegar a ser superiores a 30 segundos, dependiendo principalmente de las dimensiones de las listas integradas en el procesado local y de la longitud del texto en el procesado remoto, mientras el texto se procesa se muestra un mensaje de espera al usuario (Fig. 9, derecha). 85 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 9 A la izquierda, pantalla principal del componente de acceso Web. A la derecha, mensaje de espera tras el inicio del procesado. La respuesta del sistema es una tabla en la que es posible aplicar filtros lógicos para cada campo (enmarcados en rojo en la imagen superior de la Fig. 10), habiéndose eliminado todas las entidades reconocidas varias veces por la misma lista de términos o por la misma ontología remota. Los filtros son construidos con el plugin PicNet Table Filter48 de jQuery, que permite los filtros lógicos AND, OR, NOT, agrupamientos, expresiones textuales (entre comillas) y comparaciones numéricas (=, !=, >, <, >=, <=). Un ejemplo se muestra en la imagen intermedia de la Fig. 10. Además, a través del plugin tablesorter49, es posible ordenar los resultados utilizando múltiples campos, seleccionándolos en el orden deseado con el 48 http://www.picnet.com.au/picnet-table-filter.html 49 http://tablesorter.com 86 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA botón izquierdo del ratón (sobre las cabeceras) y manteniendo pulsada la tecla shift (imagen inferior de la Fig. 10). Figura 10 Arriba, resultados de la extracción LOCAL tras procesar texto con conceptos repetidos (los cajones de texto para los filtros lógicos están enmarcados en rojo). En medio, 87 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA resultado tras aplicar un filtro lógico sobre el concepto (campo CONCEPT). Abajo, pantalla resultante tras ordenar por los campos idioma (LAN) y, después, fuente (SOURCE). A nivel de procesamiento de conceptos, una de las mayores simplificaciones que se ha llevado a cabo para el usuario final es la de mantener entre los resultados únicamente el reconocimiento de los términos que aparecen explícitamente en el texto introducido, traduciéndose en una mayor simplicidad de la pantalla principal. En la Fig. 11 se muestra una interfaz Web aparentemente similar a la ofrecida para los usuarios finales, pero conteniendo un número mayor de funcionalidades y, en consecuencia, empeorando la claridad de los resultados mostrados en la pantalla principal. En esta interfaz se ha agregado una opción que permite seleccionar el nivel de profundidad de búsqueda en las ontologías remotas (enmarcado en rojo), otra para introducir los identificadores de aquellas ontologías remotas con las que procesar el texto (enmarcado en azul) - llevándose a cabo con todas las disponibles en el OBA si se deja vacío - y otra para seleccionar cada una de las fuentes locales y los idiomas (enmarcado en verde). A mayor nivel de profundidad, mayor es el número de conceptos implícitamente localizados (relacionados parentalmente en la jerarquía de la ontología como "es_un"). Al realizar la anotación remota desde esta interfaz, no sólo se muestran los conceptos que aparecen explícitamente sino también aquéllos encontrados en la ontología a partir de los mismos. La salida construida es mucho más compleja por dos motivos fundamentales: 1) En primer lugar, refleja el hecho de si la anotación es directa (es decir, cuando se anula el nivel de profundidad de 88 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA búsqueda en la jerarquía de la ontología y sólo se localizan los conceptos directamente relacionados con los que aparecen explícitamente en el texto de entrada) o no lo es, por el sentido de la flecha. El término que aparece a la izquierda de la flecha, para la columna CONCEPT, se refiere al concepto localizado en la ontología (nombre preferido), mientras que el término que aparece a la derecha de la flecha se refiere al término que aparece en el texto de entrada. Si la flecha va desde el término original del texto hacia el concepto de la ontología (<-) quiere decir que la anotación es directa. Sin embargo, esto no implica que el concepto sea anotado una sola vez, ya que puede tener varios nombres preferidos (sinónimos), manteniéndose en este interfaz todos los conceptos encontrados (eliminándose únicamente aquellos valores repetidos para los nombres preferidos, en lugar de eliminarse los valores repetidos para los términos del texto, tal y como se hace desde el interfaz para usuarios). 2) En segundo lugar, si la anotación no es directa se indica con la flecha desde el nombre preferido hacia el concepto (->), lo que da lugar a una gran cantidad de resultados por concepto a medida que aumentamos el nivel de profundidad (tal y como se puede comprobar en la Fig. 11, donde remotamente se está anotando tan solo una frase que contiene "prostate cancer, asthma" con la ontología 89 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA MedlinePlus Health Topics, ya que los otros dos términos en español sólo dan resultados al procesarlos localmente). Figura 11 Resultados de la extracción tras procesar remotamente el texto con un nivel de profundidad 1 en la ontología MedlinePlus Health Topics y localmente con las terminologías preprocesadas de Freebase y MedlinePlus en inglés y en español. Estas opciones locales no se ofrecen a los usuarios finales por el aumento de la complejidad. Página: admin.html Tanto el cajón de texto redimensionable para la introducción del texto a procesar como la tabla de resultados, se encuentran embebidos en una tabla redimensionable, lo que permite una mejor adaptación a las diferentes configuraciones de pantalla. La información que se puede obtener del módulo BEE se ha incluido en pantallas distintas a la inicial, que se abren en una nueva pestaña del navegador al utilizar los enlaces situados sobre las entidades. Estos enlaces son ejecutados, por tanto, bajo el servidor Web local (URL's locales), que dependerán de la fuente y, en el caso de ser anotadas por Freebase, también del grupo. Esta distinción está motivada por el hecho de que un Tópico de Freebase puede 90 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA disponer de distintos tipos de información semántica dependiendo del Tipo al que pertenezca. Véase, por ejemplo, en la Fig. 12 la búsqueda de "asthma" como síntoma (arriba) o como enfermedad (abajo), donde, aunque la descripción y la imagen coincidan, cuando el término se busca como un síntoma se pueden obtener las enfermedades que lo producen (symptom of) o los tratamientos que pueden provocarlo (side effect of), mientras que cuando se busca como una enfermedad se pueden obtener sus síntomas (symptoms), sus tratamientos (treatments) o los factores de riesgo (risk factors). Figura 12 Con el término "asthma", arriba se muestra uno de los resultados del módulo BEE proporcionado por el componente de acceso a síntomas de Freebase, abajo se muestra uno de los resultados proporcionado por el componente de acceso a enfermedades de Freebase. Los resultados del módulo BEE a través de los enlaces localizados sobre los conceptos reconocidos, proporcionan búsquedas en las diferentes fuentes de conocimiento, así como la posibilidad de enlazar nuevos conceptos resultantes de estas búsquedas, tanto localmente como a páginas Web 91 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA externas (la casuística aportada por este módulo se presenta en la Tabla 9). Esta opción únicamente es ofrecida para las entidades reconocidas en inglés, aunque es posible enlazar directamente a la información de los conceptos resultantes también en español, en el caso del componente de MedlinePlus. Este componente es el enlazado tanto para los conceptos extraídos a partir de esta misma fuente como para los extraídos con SNOMED CT, ya sea a través de las listas de términos locales o de las anotaciones remotas. Tabla 9. Casuística proporcionada por el módulo BEE en función de la fuente y el grupo al que pertenece el concepto reconocido en el texto de entrada. Fuente (Grupo) Página de búsqueda local 1) Freebase (Disease) Enfermedades de Freebase 2) 3) 1) Freebase (Symptom) Síntomas de Freebase 2) 3) 1) Freebase (Treatment) Tratamientos de Freebase 2) 3) MedlinePlus local o Conceptos de remoto (-) MedlinePlus Snomed ct local o Conceptos de remoto (-) MedlinePlus - cualesquiera que sea el Grupo Enlaces locales disponibles (componente de BEE) Síntoma (síntomas de Freebase) Tratamiento (tratamientos de Freebase) Concepto (PubMed) Síntoma de (enfermedad de Freebase) Efecto de (tratamiento de Freebase) Concepto (PubMed) Usado para tratar (enfermedad de Freebase) Efecto secundario (síntoma de Freebase) Concepto (PubMed) Enlaces externos disponibles 1) 2) Concepto (Freebase) Concepto (Freebase) 1) 1) 2) Concepto (PubMed) MeSH (PubMed) Factor de riesgo (Freebase) Concepto (Freebase) 2) Concepto en inglés (MedlinePlus) Concepto en español (MedlinePlus) También se ofrece, desde la pantalla inicial, la posibilidad de visitar páginas Web externas sobre las entidades reconocidas en el texto. Estos enlaces proveerán al usuario información en inglés o en español, en función de la disponibilidad de la fuente y de la información adquirida tras el proceso de anotación (por ejemplo, cuando la anotación se realiza con la ontología 92 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA remota MedlinePlus Health Topics, no se dispone de la URL al tópico en el sitio Web, por lo que se enlaza directamente la URL disponible a la ontología en el sitio Web del NCBO). Tabla 10. Enlaces externos incluidos para los conceptos reconocidos en la página inicial, dependiendo de la fuente y del idioma con el que han sido detectados. Idioma de extracción Inglés Español Tópico en Freebase Tópico en Freebase Inglés Tópico en MedlinePlus Español Tópico en MedlinePlus Inglés MedlinePlus CONNECT Español MedlinePlus CONNECT MedlinePlus remoto Inglés Ontología en NCBO SNOMED remoto Inglés MedlinePlus CONNECT Fuente Freebase Enlace externo MedlinePlus local SNOMED local Idioma de la información enlazada Inglés Inglés Inglés Español Español Inglés Inglés Español Español Inglés Inglés Inglés Español Ya por último, queda mencionar el interfaz que provee este componente para el acceso al cliente de PubMed del módulo BEE, enlazado desde las diferentes páginas de búsqueda en Freebase y MedlinePlus para los conceptos resultantes (Fig. 13). 93 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 13 Interfaz Web que proporciona el componente para el acceso al cliente de PubMed. Enmarcado en rojo, el enlace al abstract del artículo en formato texto. Página: pmresult.jsp. Servicio de acceso en formato XML Este servicio Web da acceso a las funcionalidades del módulo PLN, posibilitando una parametrización más amplia que la permitida a través de la aplicación Web orientada a usuarios finales. De este modo, el cliente del servicio puede utilizar un conjunto más amplio de datos para adaptarlos a sus necesidades particulares. El documento XML resultante se genera utilizando el componente estándar de Java JAXP (Java Api for XML Processing), incorporado a través del componente de integración de información del módulo PLN. 94 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA Figura 14 Cliente Web del componente de acceso XML. Página: service.html El servicio está preparado para dar resultados ante multitud de configuraciones, que pueden ser exploradas a través de un cliente de ejemplo desarrollado como una página HTML (Fig. 14). La respuesta incluye los datos de entrada, en un nodo denominado input, y todas las entidades reconocidas en el texto enviado al sistema para su procesado, a través de los nodos annotation. A continuación se explican con mayor detalle las opciones del servicio más relevantes: Se puede procesar el texto seleccionando cada una de las fuentes de conocimiento locales y remotas que se desean utilizar, obteniéndose para cada una de ellas el total de entidades localizadas incluyendo los valores repetidos en diferentes posiciones del texto por cada fuente. Esta funcionalidad dependerá fundamentalmente de los parámetros src y onts (Tabla 11), aunque 95 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA también dependerá de los parámetros establecidos para la utilización de las listas de términos locales (ver el caso src=1 en la Tabla 11), dando respuesta a cualquier conjunto de ontologías remotas integradas bajo el servicio Web del OBA (que, como se mencionó en el capítulo anterior, pueden verse en el cliente ncbolist.jsp). Tabla 11. Proceso de reconocimiento llevado a cabo por el componente de acceso XML en función de los parámetros src y onts. Parámetros src Fuentes de conocimiento utilizadas onts Locales, indicadas en los parámetros: cksrcfb (Freebase), cksrcmp 1 (No afecta) (MedlinePlus), cksrcsc (SNOMED CT). En combinación con los parámetros: cklanen (Inglés), cklansp (Español) 2 (No afecta) Remota con MedlinePlus Health Topics 3 (No afecta) Remota con SNOMED CT 4 Listado de identificadores separados por "," o vacío -1 Remota con las ontologías indicadas en el parámetro onts, o con todas si va vacío Local (igual que el caso src=1) y Remota (igual que en el caso src=4) Permite seleccionar el nivel de profundidad de búsqueda en las ontologías remotas a través del parámetro lev. Tal y como se explicaba en la sección anterior, un valor 0 para este parámetro limita la búsqueda en las ontologías remotas a las anotaciones directas, mientras que el aumento de su valor aumenta la búsqueda a través de las ramas parentales de las diferentes ontologías, dando lugar a un número mayor de conceptos reconocidos. Los datos devueltos por el servicio incluyen el idioma de la fuente con la que se ha reconocido el concepto, el término reconocido en el texto, su nombre preferido (en el caso de las anotaciones locales 96 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA será el mismo que el concepto reconocido, mientras que en las anotaciones remotas se corresponderá con el concepto localizado en la ontología) y si este nombre es obtenido de forma directa, los índices que delimitan el posicionamiento del término en el texto de entrada, la URL del componente Web local (del módulo CAI) que da acceso a los componentes del módulo BEE (si es que existe), la URL remota en inglés y en español (si es que se dispone de ellas) y los grupos a los que pertenece el concepto. Además, el XML está preparado para albergar algún algoritmo de detección de la negación y/o especulación, aunque no se ha llegado a integrar en el sistema implementado ninguno (esto se incluye como un atributo de cada nodo concept, denominado neg). 97 EXTRACCIÓN DE CONCEPTOS E INTEGRACIÓN DE INFORMACIÓN BIOMÉDICA 98 DESARROLLO DEL SISTEMA BIOMÉDICO CAPÍTULO 4. DESARROLLO DEL SISTEMA BIOMÉDICO. En este capítulo se mostrarán los detalles de la implementación del sistema biomédico CLEiM50 (Cross Lingual Education in Medicine), que ha dado lugar al sistema MedicalFace51, utilizado en la experiencia de evaluación con estudiantes, y a la versión de código libre publicada en el portal sourceforge52 (CLEiMSf). 1. Preprocesado y recuperación de información Freebase La recuperación de la información sobre los conceptos de Freebase utilizados en el sistema se realiza a partir de la ejecución de las consultas MQL desde una clase Java, haciendo uso de una de las librerías de acceso enlazadas en el sitio Web de Freebase53. En particular, se ha incluido como API de acceso la librería denominada freebase-java54, que permite la ejecución de todas las consultas MQL necesarias y la recuperación de los datos que serán preprocesados. Para esto último también se ha incorporado una librería especializada en el tratamiento del formato JSON55, que es el formato de la respuesta devuelta tras realizar las consultas MQL a través del API de acceso. 50 http://www.medicalminer.org/CLEiM 51 http://www.medicalminer.org/MedicalFace/mt.html 52 http://cleim.sourceforge.net 53 http://wiki.freebase.com/wiki/Java 54 http://code.google.com/p/freebase-java/ 55 https://sourceforge.net/projects/json-lib 99 DESARROLLO DEL SISTEMA BIOMÉDICO La clase Java desarrollada se ha denominado CallFBToFile y su funcionamiento se explica a continuación con más detalle a través de las propiedades y los métodos que contiene, que son los siguientes: 1) Se han incluido las siguientes propiedades: a. query: Representa el objeto array de tipo JSON que contiene la consulta MQL en el formato del API utilizado. Almacena tanto la consulta para la obtención de todas las enfermedades como la de todos los síntomas o todos los tratamientos que se desean recuperar desde Freebase. Estos valores se asignan en diferentes métodos, que se explicarán más abajo, permitiendo así diferenciar, en caso de que se deseara, el tipo de extracción llevada a cabo para cada uno de los Tipos de Freebase. Las consultas en el formato JSON construidas desde el código Java son las que se muestran en la Tabla 12. Tabla 12. Consultas MQL implementadas en la clase para la recuperación de información de Freebase a través del API. EXTRACCIÓN DEL ARRAY DE DATOS DE ENFERMEDADES a(o("type", "/medicine/disease", "name~=", "*"+this.fbparam+"*", "id",null,"name",null,"optional",false,"limit",this.limit, "sort","name", "/common/topic/article",o("guid",null,"limit",1,"optional",true))); EXTRACCIÓN DEL ARRAY DE DATOS DE SÍNTOMAS a(o("type", "/medicine/symptom", "name~=", "*"+this.fbparam+"*", "id",null,"name",null,"optional",false,"limit",this.limit, "sort","name", "/common/topic/article",o("guid",null,"limit",1,"optional",true))); EXTRACCIÓN DEL ARRAY DE DATOS DE TRATAMIENTOS a(o("type", "/medicine/medical_treatment", "name~=", "*"+this.fbparam+"*", "id",null,"name",null,"optional",false,"limit",this.limit, "sort","name", "/common/topic/article",o("guid",null,"limit",1,"optional",true))); 100 DESARROLLO DEL SISTEMA BIOMÉDICO b. envelope: Representa el objeto en formato JSON del envoltorio aplicado a la consulta MQL. Este envoltorio sirve fundamentalmente para, por un lado, fraccionar la consulta de los conceptos en varias partes (evitando así problemas de timeout en la conexión con el servidor de Freebase en caso de respuestas demasiado largas) y, por otro lado, permitir la consulta a los conceptos en diferentes idiomas. Para fragmentar la consulta se hace uso de dos parámetros en el envoltorio (cursor y page) y uno en la consulta MQL (limit): cursor devuelve un valor false en caso de no existir más páginas, en page se indica el número de página que se desea obtener (comenzando en 0) y limit, en el cuerpo de la consulta MQL, indica el número de resultados que se desean obtener por página. El envoltorio es el mismo para las tres consultas MQL, tal y como se muestra en la Tabla 13. Tabla 13. Envoltorio para las consultas MQL implementadas en la clase para la recuperación de información de Freebase a través del API. ENVOLTORIO DE LAS CONSULTAS o("page", this.page,"cursor", true, "lang", "/lang/"+this.lan); c. fbparam: Representa el filtro aplicado en el nombre de la enfermedad, el síntoma o el tratamiento, dependiendo de la query con la que se esté trabajando. Para recuperar todos los valores se le asignará la cadena vacía (""). 101 DESARROLLO DEL SISTEMA BIOMÉDICO d. limit: Se utiliza para limitar el número de resultados por página. Si el número máximo de resultados es superior a este límite, la consulta se irá obteniendo hasta que el parámetro cursor, incluido en el envoltorio de la consulta, devuelva false. e. page: Empleado para la paginación de los resultados, incrementándose en el método correspondiente hasta que el valor cursor sea false. 2) Los métodos queryFBDisease(), queryFBSymptom() y queryFBTreatment(): construyen las diferentes consultas MQL para obtener los nombres de los tópicos correspondientes a las enfermedades, los síntomas y los tratamientos (tal y como se indican en la Tabla 12), así como los envoltorios correspondientes (indicado en la Tabla 13). 3) El método doQuery(String fbtype): es el encargado de ejecutar la consulta correspondiente y devolver la respuesta en forma de cadena (String). En función del parámetro fbtype (que puede tomar los valores "Disease", "Symptom" o "Treatment") ejecuta cada una de las consultas haciendo uso del API. 4) El método loadListFile(String filePath, JSONArray jsonres, String group, boolean append): utilizado para guardar la información, obtenida en el array de datos resultante tras ejecutar la consulta a través del API (enviada en el parámetro jsonres), en el formato adecuado para su procesado desde el Gazetteer. El fichero en el que se guarda la información (con extensión "lst") se indica en el parámetro filePath. El parámetro group se corresponde con la característica de anotación "groups". El último parámetro, append, 102 DESARROLLO DEL SISTEMA BIOMÉDICO se utiliza para ir agregando (si corresponde) los resultados de las diferentes páginas para la misma consulta en el mismo fichero, en caso de que tenga más de una página (es decir, en el caso de que el número de resultados supere el parámetro limit establecido, para un determinado Tipo). 5) El método loadResults(String fbpath, String fbtype): este método genera el conjunto necesario de consultas, para el Tipo enviado por parámetro en fbtype, recuperando la totalidad de los resultados y llamando al método loadFileList con los parámetros adecuados para insertar los resultados iniciales y agregarlos mientras queden páginas de resultados. Dispone de un mecanismo de contingencia ante fallos de comunicación, repitiendo la consulta en caso de fallo. 6) El método principal main: lleva a cabo las llamadas al método loadResults, tras establecer adecuadamente el idioma de la consulta, el Tipo y los ficheros con extensión "lst" en los que se han de almacenar los resultados. A diferencia del preprocesado con otras fuentes, en las que se ha generado una única lista para los conceptos en inglés y otra para los conceptos en español, al hacer uso de Freebase se han decidido generar tres ficheros distintos para cada idioma, uno por cada Tipo semántico (para las enfermedades se han denominado diseaseen.lst y diseasesp.lst; para los síntomas se han denominado symptomen.lst y symptomsp.lst; mientras que para los tratamientos se han denominado treatmenten.lst y treatmentsp.lst). Esta decisión se debe a que las consultas, para la obtención de los términos similares de cada uno de los Tipos, requieren la 103 DESARROLLO DEL SISTEMA BIOMÉDICO recuperación de Propiedades distintas en Freebase, tal y como se explicará con más detalle en la tercera sección de este capítulo. MedlinePlus Para recuperar la información de MedlinePlus a partir de los ficheros XML, se ha creado una clase Java que se encarga de capturar el fichero XML, accesible a través del protocolo HTTP, y extraer la información que formará parte de la lista de conceptos para la anotación con el Gazetteer. Esta clase se ha denominado MPLXMLToFile y está compuesta por los siguientes métodos: 1) xmlToList(). Se encarga de procesar el XML y almacenar en memoria los listados de términos y las características extraídas para cada término. En concreto, para cada nodo MedicalTopic del XML, se almacenan: a. El valor del atributo langcode del tópico, que servirá para discernir si el concepto está en español o en inglés. Este atributo puede tomar los valores "English" o "Spanish". b. El valor del nodo MedicalTopicName, que es el nombre del tópico con el que se realizará la anotación. c. El valor del nodo URL, que es la dirección de la página Web de MedlinePlus donde está publicada la información sobre el tópico. d. El listado de valores del nodo Groups, donde cada uno de sus hijos representa uno de los grupos de MedlinePlus a los que pertenece el tópico. 104 DESARROLLO DEL SISTEMA BIOMÉDICO e. El listado de valores del nodo Synonyms, donde cada uno de sus hijos representa los sinónimos del concepto asociados por MedlinePlus. 2) loadListFileLan(String filePath,String lan). Se encarga de almacenar en el fichero, indicado en el parámetro filePath, los términos del idioma indicado en el parámetro lan (que puede tener los valores "English" o "Spanish"). Los términos son almacenados en el formato de las listas utilizadas por el Gazetteer de GATE, incluyendo la cadena para la anotación y las características "url" y "groups". También agrega los sinónimos de los términos con los mismos valores de las características "url" y "groups" del término. 3) main. Desde el método principal se realiza la llamada a ambos métodos, imprimiendo por pantalla varios datos de interés: Un recuento del total de tópicos, el número de tópicos en inglés y el número de tópicos en español (capturado desde el nodo principal MedicalTopics por el método xmlToList()). Esto permite fácilmente saber no sólo el número de tópicos disponibles en cada idioma para un determinado fichero XML, sino también la expansión de términos que se consigue al ampliar el listado con los sinónimos. Por ejemplo, en el caso del fichero del 18/02/2012 (mplus_vocab_2012-0218.xml), el total de tópicos de MedlinePlus en inglés es de 921, mientras que en español es de 896. Sin embargo, al procesar los sinónimos, el total de términos incluidos en el listado en inglés es de 1.645 y en español es de 1.716. Esto supone una ampliación del 79% en el caso del listado en inglés y del 92% del listado en español. 105 DESARROLLO DEL SISTEMA BIOMÉDICO SNOMED CT Para llevar a cabo el preprocesado de la información de esta fuente de términos, el primer requisito es obtener la distribución en español de la terminología. Esta distribución, tal y como ya se indicaba en el tercer apartado de la primera sección del capítulo anterior, contiene la lista de términos en inglés y la lista de descripciones en español, ambos en un formato de texto tabulado. Tras el análisis de los datos contenidos en estos ficheros se ha desarrollado un procedimiento, basado en el reemplazo de patrones (haciendo uso de la herramienta notepad++, aunque fácilmente implementable en Java), con el que es posible obtener las dos listas de conceptos en el formato para el Gazetteer de GATE. A continuación se describen los pasos seguidos en el procedimiento desarrollado para el conseguir preprocesado final de los datos: 1) Primer paso. En ambos ficheros hay que reemplazar todos los caracteres "&" por otro carácter, ya que se ha utilizado este símbolo para delimitar las características utilizadas por el Gazetteer en el proceso de anotación del texto. Además, este carácter no es común utilizarlo en la redacción de textos. El reemplazo en este primer paso consiste en sustituir todos los & que aparecen en los ficheros por el texto "and", en el caso del fichero en inglés, y por el texto "y" en el caso del fichero de descripciones en español. 2) Segundo paso. En este segundo paso se procede a la eliminación de los conceptos que no forman parte de la versión actual de la terminología, en el caso del fichero de términos, y los conceptos que además no se refieren al nombre completo correspondiente, en el caso del fichero de descripciones en español. Al finalizar el 106 DESARROLLO DEL SISTEMA BIOMÉDICO procedimiento indicado en este segundo paso se obtendrán el número total de términos con los que funcionará finalmente el sistema (que es de 295.542 en la versión seleccionada). Puesto que el formato de ficheros es distinto, para llevar a cabo este segundo paso hay que proceder de manera distinta al trabajar con el fichero de términos y con el fichero de descripciones. a. En el fichero de términos es necesario eliminar aquellos registros cuyo CONCEPTSTATUS es distinto de 0, ya que es éste el valor que indica que el concepto pertenece a la versión actual. Para eliminar estos registros se hace uso del patrón ([0-9]+)\t0\t(.*)\t.*, que permite localizar los registros con el valor 0 en el campo indicado. Con la utilidad de marcar las líneas del programa notepad++, se procede a marcar siguiendo este patrón y después a eliminar las líneas no marcadas (con la opción buscar->marcador->borrar no marcadas). b. En el fichero de descripciones es necesario eliminar aquellos registros cuyo DESCRIPTIONTYPE sea distinto de 3 (que se refiere al valor FullySpecifiedName), lo que directamente tiene el mismo efecto que el filtro aplicado al fichero de términos. Para eliminar estos registros se utiliza el patrón ([0-9]+)\t0\t([0-9]+)\t(.*\))\t.*[0-9]\t3\t.*, que localiza todos los registros con el valor 3 en el campo indicado. A continuación se procede como en el caso del fichero de términos, marcando las líneas y borrando las no marcadas. 3) Tercer paso. En este paso se mueve el CONCEPTID (identificador de SNOMED CT) al final, agregándolo como la característica "url" para 107 DESARROLLO DEL SISTEMA BIOMÉDICO la anotación. Basta utilizar los patrones del paso dos e indicar adecuadamente los valores por los que se quiere reemplazar en cada caso. a. En el fichero de términos se reemplaza el patrón del paso anterior, ([0-9]+)\t0\t(.*)\t.*, por \2&url=\1, dando como resultado un fichero con todos los conceptos seguidos de la característica "url". b. En el fichero de descripciones se reemplaza el patrón del paso anterior, ([0-9]+)\t0\t([0-9]+)\t(.*\))\t.*[0-9]\t3\t.*, por \3&url=\2, dando como resultado un fichero análogo al resultante del fichero de términos. 4) Cuarto paso. En este paso se situará la clasificación del término que se hace en SNOMED CT como la característica de anotación "groups". Esta característica viene indicada entre paréntesis justo en la zona derecha del término, por lo que habrá que buscar el último valor entre paréntesis que aparezca para cada registro (hay registros que contienen más de un dato entre paréntesis). Para mover el dato, se utiliza el patrón \s*\(([^\)\(]*?)\)&url=([0-9]+), reemplazándolo por el valor &url=\2&groups=\1. Si en el procedimiento existiese algún problema con la codificación de los ficheros (si se usa UTF-8 esto no debería ser un problema en el procedimiento indicado, siempre y cuando se mantenga esta codificación en el Gazetteer), el propio notepad++ dispone de conversiones entre las diferentes codificaciones. 108 DESARROLLO DEL SISTEMA BIOMÉDICO También se han preprocesado las listas de términos correspondientes al subconjunto CORE, aunque el procedimiento es distinto. En primer lugar se han cargado los datos del subconjunto en inglés y de todas las descripciones en español en tablas de una base de datos MySql: LOAD DATA LOCAL INFILE 'SNOMEDCT_CORE_SUBSET_201202.txt' INTO TABLE snomed.coresubset CHARACTER SET 'latin1' FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' IGNORE 1 LINES; LOAD DATA LOCAL INFILE 'sct1_Descriptions_es_INT_20111031.txt' INTO TABLE snomed.descripciones CHARACTER SET 'UTF8' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES; En segundo lugar se ha creado un script para cargar estos datos en 2 ficheros, uno conteniendo los términos en inglés y otro en español: SELECT SNOMED_FSN, snomed.descripciones SNOMED_CID where FROM SNOMED_CID snomed.coresubset, = CONCEPTID and DESCRIPTIONTYPE = 3 and LANGUAGECODE = "es" INTO OUTFILE 'sctcoreen_temp.lst' FIELDS TERMINATED BY '&' LINES TERMINATED BY '\n'; SELECT TERM, SNOMED_CID snomed.descripciones where FROM SNOMED_CID snomed.coresubset, = CONCEPTID and DESCRIPTIONTYPE = 3 and LANGUAGECODE = "es" INTO OUTFILE 'sctcoresp_temp.lst' 109 DESARROLLO DEL SISTEMA BIOMÉDICO FIELDS TERMINATED BY '&' LINES TERMINATED BY '\n'; Y, por último, se ejecuta el proceso de reemplazo de la cadena (.*)\s*\((.*)\)&(.*) por la expresión \1&url=\3&groups=\2. 2. Anotación e integración de fuentes Integración con GATE Tal y como se describió en el primer apartado de la primera sección del capítulo anterior, la integración de los ficheros preprocesados, a partir de las diferentes fuentes de conocimiento, está fundamentalmente basada en la versatilidad de la arquitectura de GATE. Por un lado, GATE permite la generación de un flujo de procesado desde su aplicación de escritorio y el almacenamiento de este flujo en un fichero de aplicación con extensión "gapp". Por otro lado, incluyendo las librerías necesarias (las incluidas en los directorios bin y lib de la distribución de GATE), los plugins de GATE utilizados y algunos ficheros de aplicación (gate.xml y user-gate.xml), es posible trabajar desde el lenguaje de programación Java (instanciando la aplicación "gapp" generada), para después ejecutarlo como una aplicación independiente o como una aplicación Web instalada bajo un servidor Web. La creación del flujo de aplicación "gapp", que se ejecutará desde el código Java desarrollado, se puede llevar a cabo desde el GUI de aplicación de GATE, aunque dado que el fichero "gapp" está en formato XML, también es posible trabajar directamente con él sin utilizar el GUI. No obstante, la utilización del GUI reduce notablemente la complejidad al ir añadiendo diferentes recursos, siendo también un soporte muy cómodo para agregar diferentes corpus y ejecutar las pruebas que se consideren oportunas sin 110 DESARROLLO DEL SISTEMA BIOMÉDICO necesidad de desarrollo alguno. El flujo de aplicación se puede crear como un Corpus Pipeline, que se diferencia del Pipeline en que proporciona la posibilidad de probar sobre conjuntos de documentos (imagen superior de la Fig. 15). Figura 15 Procedimiento para la creación del flujo de aplicación desde el GUI de GATE. 111 DESARROLLO DEL SISTEMA BIOMÉDICO Para nuestros propósitos particulares se ha generado un Corpus Pipeline con el nombre CLEiM y se han cargado los recursos del sistema ANNIE (enmarcado en rojo en la imagen superior de la Fig. 15). A continuación se genera un nuevo recurso basado en el Gazetteer del sistema ANNIE (imagen intermedia de la Fig. 15), estableciéndose el nombre del mismo, la detección independiente de mayúsculas o minúsculas (caseSensitive = false), el separador de características (&) y el fichero en el que se definen las listas que se han preprocesado (denominado medicine.def). El total de conceptos incluidos en las listas referenciadas en el fichero medicine.def es de 312.348 en inglés, y de 299.992 en español, para el preprocesado realizado a fecha de 25 de Febrero de 2012. El total de conceptos para cada fuente e idioma es el que se muestra en la Tabla 14. Tabla 14. Total de conceptos para cada una de las fuentes de conocimiento preprocesadas. FUENTE FICHERO IDIOMA TOTAL CONCEPTOS Freebase diseaseen.lst Inglés 9.478 Freebase symptomen.lst Inglés 1.850 Freebase treatmenten.lst Inglés 3.833 MedlinePlus mlpen.lst Inglés 1.645 SNOMED CT scten.lst Inglés 295.542 Freebase diseasesp.lst Español 1.482 Freebase symptomsp.lst Español 471 Freebase treatmentsp.lst Español 781 MedlinePlus mlpsp.lst Español 1.716 SNOMED CT sctsp.lst Español 295.542 A continuación, desde el menú de recursos de lenguaje (Language Resources) se crea un corpus vacío (al que se le ha denominado MIMIC-II). Este corpus se puebla agregando el directorio en el que se encuentran los ficheros de texto que se desean procesar, como podría ser, por ejemplo, el 112 DESARROLLO DEL SISTEMA BIOMÉDICO caso de los informes médicos y las notas clínicas adquiridos con los datos restringidos del proyecto MIMIC-II56. Por último, se agrega el Gazetteer generado, y previamente configurado, a la aplicación CLEiM (imagen inferior de la Fig. 15), se asigna un nombre a las anotaciones (Medicine) y se establecen los parámetros longestMatchOnly a false (que provocará la detección de más de una entidad sobre un conjunto común de palabras, si es que se da el caso) y wholeWordsOnly a true (que adopta como unidad mínima la palabra, no detectando entidades menores que coincidan con los términos de las listas). Esto permite ejecutar el proceso sobre el corpus MIMIC-II. La aplicación se puede almacenar utilizando la opción Save Application State, disponible con el botón derecho sobre el nombre de la misma. Una vez guardado el flujo de aplicación, al que se le ha denominado CLEiM.gapp, ya se dispone de todo lo necesario para implementar la clase Java desde la que se recogerán, procesarán y, posteriormente, permitirá la fusión las entidades médicas reconocidas de este modo. La clase Java desarrollada para tal fin se ha denominado GateGazMed y contiene las siguientes propiedades y métodos: 1) La propiedad annotTypesToWrite es la lista de cadenas (List<String>) en la que se almacenan los nombres de las anotaciones que se desean extraer. Ya que únicamente se ha generado un tipo de anotación llamada Medicine, esta lista sólo extraerá estas anotaciones. Si se agregaran anotaciones de otros dominios o se hicieran anotaciones más específicas dentro del dominio médico, 56 http://mimic.physionet.org/ 113 DESARROLLO DEL SISTEMA BIOMÉDICO por ejemplo, esta lista se ampliaría para contener los nombres asignados a estas otras anotaciones. 2) La propiedad vAnnotListMinor es un vector de cadenas (Vector<String>) que sirve para almacenar la propiedad minor de aquellas listas que se desean utilizar (incluido en el fichero medicine.def). Es decir, en el constructor de la clase se inicializará agregándole los siguientes valores: a. Los correspondientes a los listados en inglés y en español recuperados desde Freebase: "disease", "symptom" y "treatment". b. El correspondiente a los listados en inglés y en español recuperados desde MedlinePlus: "medlineplus". c. El valor correspondiente a los listados en inglés y en español recuperados desde SNOMED CT: "snomed". Estos valores se han hecho coincidir con las páginas jsp encargadas de recuperar más información desde el sistema utilizando la fuente original, si es que es el caso. En concreto, las anotaciones a las que se les ha asociado esta dirección URL local son las realizadas con Freebase en inglés (disponiéndose de las páginas disease.jsp, symptom.jsp y treatment.jsp), MedlinePlus en inglés (disponiéndose de la página medlineplus.jsp) y SNOMED CT en inglés (disponiéndose de la página snomed.jsp, que en este caso es una réplica de la página de búsqueda de MedlinePlus: medlineplus.jsp). 3) Las propiedades vAnnotList, vAnnotListLan, vAnnotListSource, vAnnotListGroup, vAnnotListFrom, vAnnotListTo y vAnnotListUrl, son los vectores de listas de cadenas (Vector<List<String>>) utilizados para almacenar las listas de datos asociados con cada uno de los 114 DESARROLLO DEL SISTEMA BIOMÉDICO valores del vector vAnnotListMinor. Siguiendo el orden en el que están puestos, almacenan: el texto que ha sido anotado, el idioma, la fuente de conocimiento que ha permitido la detección (obtenido a partir de la propiedad major incluida para cada lista en el fichero medicine.def), el grupo al que pertenece el concepto según su fuente de conocimiento, la posición inicial del texto detectado en el conjunto del texto procesado, la posición final del texto detectado en el conjunto del texto procesado y la URL externa a través de la que se puede acceder a más información. Las dimensiones de estos vectores, por tanto, depende de la dimensión establecida para el vector vAnnotListMinor. 4) El método initGate() se encarga de configurar las rutas a los ficheros que necesita GATE para ser inicializado, así como su inicialización. En primer lugar, configura como directorio raíz de GATE (home) el directorio de aplicación web WEB-INF (de este modo GATE puede cargar el fichero gate.xml y el directorio plugins, que deben estar situados en este directorio). En segundo lugar, configura el fichero de configuración de usuario (user-gate.xml), haciendo uso del directorio raíz establecido. En tercer lugar, inicializa GATE. También se encarga de comprobar si el directorio raíz está ya establecido o de si GATE ya ha sido inicializado, para no repetir la operación de nuevo. 5) El método runGazetteer(String sDocText, String sGapp) es el responsable del procesado del texto enviado en el parámetro sDocText. Para llevar a cabo la tarea de procesado sigue los siguientes pasos: a. Llama al método initGate(). 115 DESARROLLO DEL SISTEMA BIOMÉDICO b. Carga la aplicación "gapp" indicada en el parámetro sGapp (que debe estar situada también en el directorio WEB-INF). La parametrización de este dato hace posible utilizar estáticamente todas las listas incluidas en el fichero medicine.def, que es llamado desde el fichero de aplicación CLEiM.gapp, o la generación dinámica de las listas en un fichero temporal que es definido como una constante y llamado desde un fichero de aplicación alternativo denominado CLEiMtmp.gapp. c. Crea un corpus con el documento en cuestión, lo procesa y limpia el corpus de la memoria, dejando el documento anotado en memoria. d. Itera por cada uno de los valores de la propiedad annotTypesToWrite, que tal y como se mencionaba anteriormente sólo contendrá el valor "Medicine". e. Para cada una de las anotaciones examina el índice correspondiente a su característica minorType dentro de la lista vAnnotListMinor, agregando los valores en el índice correspondiente para cada una de las listas incluidas a través de las propiedades explicadas en el punto 3). 6) Los métodos getMinor(), getAnnot(), getAnnotLan(), getAnnotSource(), getAnnotGroup(), getAnnotFrom(), getAnnotTo() y getAnnotUrl(): son utilizados para obtener los vectores ó vectores lista de las propiedades, mencionadas en los puntos 2) y 3), desde otra clase Java. 116 DESARROLLO DEL SISTEMA BIOMÉDICO Una vez extraídos los datos de las anotaciones realizadas sobre el texto haciendo uso de los métodos get de la clase GateGazMed, es posible preparar un interfaz en el que se fusione toda esta información. Un ejemplo para llevar a cabo este proceso en la salida estándar se muestra en la Fig. 16, donde se da por hecho que las variables path (ruta del directorio WEB-INF), text (el texto que se desea procesar) y sGapp (la ruta al fichero de aplicación "gapp") están ya definidas y asignadas. Figura 16 Ejemplo de código Java que utiliza las anotaciones realizadas por la clase GateGazMed, a partir de las diferentes fuentes, para integrar la información en la salida estándar. Integración de los servicios de anotación remota Para la elaboración de las clases Java que dan acceso a los servicios Web (REST) del NCBO, se ha utilizado la librería HttpClient (desarrollada por la comunidad Apache Software Foundation57). Desde Junio de 2011, el acceso 57 http://hc.apache.org/httpcomponents-client-ga/ 117 DESARROLLO DEL SISTEMA BIOMÉDICO a estos servicios requiere la obtención de una clave, que ha de incluirse en las peticiones HTTP, y del email del desarrollador, que se han incorporado a través de los parámetros correspondientes (key y email, respectivamente). Tanto el servicio Web que proporciona información sobre el conjunto total de ontologías con las que se puede anotar, como el servicio de anotación OBA, poseen la siguiente URL base: http://rest.bioontology.org/obs/. Agregando a esta URL base el valor "ontologies" es posible obtener el listado completo de ontologías mencionado, en formato XML, y es precisamente este servicio Web el utilizado en el cliente, desarrollado en la página jsp ncbolist.jsp, que permite filtrar por los campos ID (identificador asignado por el NCBO para la ontología), NAME (nombre de la ontología), VERSION (versión o fecha del conjunto de datos original integrado bajo el servicio), STATUS (para poder filtrar aquellas integradas en el OBA, cuyo valor es 28) y FORMAT (el formato original de la ontología integrada). Agregando a la URL base el valor " annotator" se obtiene acceso al servicio OBA, habiéndose codificado en dos clases Java. En una de las clases (denominada CallNCBO) se gestiona la petición HTTP al servicio Web, toda la parametrización y la recogida de la cadena resultante. La otra clase Java es semejante a la clase encargada del proceso de anotación con GATE (GateGazMed), procesando la salida de la clase CallNCBO e incorporando los resultados en listas de cadenas, que serán fácilmente utilizables desde otras clases o desde una página jsp. A esta clase se le ha denominado NCBOAnnot. Las propiedades y métodos implementados en la clase CallNCBO son los siguientes: 1) Las propiedades longestOnly, text, ontologiesToKeepInResult, wholeWordOnly, filterNumber, levelMax, stopWords, withDefaultStopWords, withSynonyms, scored, ontologiesToExpand, 118 DESARROLLO DEL SISTEMA BIOMÉDICO semanticTypes y format, permiten la parametrización de la petición a través de los métodos set correspondientes (que en el mismo orden son: setText, setOntInRes, setLevelMax, setLongestOnly, setWholeWordOnly, setWithDefaultStopWords, setOntologiesToExpand, setFilterNumber, setStopWords, setWithSynonyms, setSemanticTypes y setScored, setFormat). El significado de estos parámetros es el siguiente, siguiendo el orden en el que se muestran: el texto a procesar (es necesario inicializar), los identificadores concatenados con el carácter ',' de las ontologías con las que se desea anotar (es necesario inicializar), la profundidad de las relaciones jerárquicas parentales que se desean utilizar en el proceso de anotación (inicializado a 0, indicando que únicamente se desean las extracciones directas), la anotación de los conceptos más largos únicamente (inicializado a false, indicando que no se haga de este modo), la anotación de las palabras completas únicamente (inicializado a true, indicando que se lleve a cabo de este modo), el filtro numérico en el procesado del texto (inicializado a false, indicando que no se filtren los números), el conjunto de palabras vacías, seguido de la utilización de la lista de palabras vacías establecido por defecto (inicializados a null y true, que indica que se utilicen las establecidas por defecto), la obtención de sinónimos para los conceptos anotados (inicializado a true, indicando que se muestren estos sinónimos), la exactitud de la anotación (inicializado a true, que quiere decir que se devuelva este valor de exactitud calculado por el servicio), las ontologías con las que expandir las anotaciones, seguido de los tipos semánticos con los llevar a cabo la expansión (inicializados a vacío, es necesario inicializar con los 119 DESARROLLO DEL SISTEMA BIOMÉDICO listados, tanto de ontologías como de tipos semánticos, para poder obtener resultados relacionados semánticamente con los conceptos anotados) y, por último, el formato de salida (inicializado a XML). 2) El método doRESTQuery: es el responsable de hacer la petición al servicio con la parametrización seleccionada y recuperar los resultados en una cadena de texto. Las propiedades y métodos más relevantes que constituyen la clase NCBOAnnot son los siguientes: 1) Las propiedades lConcept, lGroup, lLocalOntologyId, lFullId, lIsDirect, lFrom, lTo y lPreferredName: son las listas de cadenas (List<String>) en las que se almacenan los valores de interés para cada una de las anotaciones. Estas propiedades guardan los valores resultantes de la petición al servicio OBA, que en el orden de aparición se corresponden con: el término anotado en el texto (según los índices de posicionamiento from y to), el tipo semántico asignado, el identificador de la ontología con la que ha sido anotado el concepto, la URL al árbol jerárquico de la ontología integrada por el servicio OBA, un indicador de si se trata de una anotación directa (true, si es directa, false si es encontrada a través de relaciones parentales en la jerarquía de la ontología), el índice del texto en el que comienza el texto anotado y el índice del texto en el que finaliza el texto anotado y, por último, el nombre del concepto reconocido en la ontología. 2) Los métodos get desarrollados para recuperar las listas de datos desde una clase externa, nombrados del siguiente modo: getConcept, getGroup, getLocalOntologyId, getFullId, getIsDirect, getFrom, getTo y getPreferredName. 120 DESARROLLO DEL SISTEMA BIOMÉDICO 3) El método runNCBOAnnot (String text, String onts, String lev): realiza la llamada a la clase CallNCBO, estableciendo, a través de los métodos set de ésta, el texto a anotar (recibido a través del parámetro text), las ontologías con las que llevar a cabo la anotación (identificadores separados por el carácter ',' enviadas en el parámetro onts) y el nivel de profundización en la jerarquía de las ontologías (a través del parámetro lev, que si vale 0 sólo obtiene anotaciones directas, pero para valores mayores es capaz de localizar conceptos relacionados con otros conceptos, de forma indirecta). A continuación procesa el XML resultante de la petición, recogiendo: (a) del nodo con la etiqueta concept los valores de los hijos correspondientes a los valores para las listas lLocalOntologyId (del nodo con la etiqueta localOntologyId), lFullId (del nodo con la etiqueta fullId) y lPreferredName (del nodo preferredName); (b) de este mismo nodo, recorre el nodo hijo con la etiqueta semanticTypes hasta localizar el texto correspodiente a la descripción (etiqueta description), que es empleado para almacenar el valor de la lista lGroup; (c) del nodo con la etiqueta context recupera los valores para las listas lIsDirect (del nodo con la etiqueta isDirect), lFrom y lTo (de los nodos etiquetados como from y to). Finalmente, extrae el concepto anotado del texto original haciendo uso de los valores lFrom y lTo, insertándolo en la lista lConcept. Integración de las anotaciones locales y remotas Una vez son realizadas las anotaciones locales, a través de la librería proporcionada por el software GATE, y las remotas, a través de las peticiones al servicio OBA del NCBO, se ha desarrollado un componente de 121 DESARROLLO DEL SISTEMA BIOMÉDICO integración para unificar todas estas anotaciones locales y remotas. Este elemento permite encapsular la integración de información para, posteriormente, hacer uso desde los componentes correspondientes del módulo CAI, sin necesidad de repetir la operación para cada uno de los clientes de acceso desarrollados. Este componente de integración perteneciente al módulo PLN ha quedado sintetizado en la clase Java IntegrateAnnot. Para comprender mejor el proceso llevado a cabo, es necesario entender el paralelismo existente entre las listas de datos recuperados a partir de las anotaciones locales y las listas de datos recuperados de las anotaciones remotas (Tabla 15). Tabla 15. Paralelismo entre los datos de las anotaciones locales y los procedentes de las anotaciones remotas. Vector de la clase GateGazMed Lista de la clase NCBOAnnot vAnnotList lConcept / lPreferredName vAnnotListLan "en" vAnnotListSource lLocalOntologyId vAnnotListGroup lGroup vAnnotListFrom lFrom vAnnotListTo lTo vAnnotListUrl lFullId / lConcept "true" lIsDirect Cuando la anotación remota conlleva únicamente anotaciones directas (indicado esto a través del parámetro lev con valor 0), entonces el concepto anotado tiene una correspondencia inmediata en ambos casos: se toma el texto delimitado por los índices de las listas correspondientes a los valores from y to que también tienen una correspondencia directa (aunque esto es tan solo una simplificación y no tiene por qué ser necesariamente así, ya que 122 DESARROLLO DEL SISTEMA BIOMÉDICO la anotación remota podría darnos también sinónimos). Sin embargo, cuando en el proceso de anotación remota se indica un nivel de profundidad (lev mayor que 0), entonces se diferenciará entre el término que aparece en el texto y el concepto localizado en la ontología (obtenido de la lista lPreferredName). Por otro lado, debido a que, hasta el momento, el servicio OBA únicamente procesa textos en inglés, no existe una lista que tenga una correspondencia con la almacenada en el vector vAnnotListLan, que almacena el identificador del idioma. Cuando se realiza la anotación con el sistema GATE, las listas se almacenan en vectores debido a que se utilizan varias fuentes (utilizándose una lista para cada una de ellas), mientras que cuando se realizan las anotaciones remotas la identificación de la fuente con la que se anota viene determinada por el identificador de la ontología. De manera que la lista resultante de la anotación remota, que se corresponde con la lista almacenada en el vector vAnnotListSource, es la que indica la ontología. En el caso de la lista que almacena la dirección URL remota en la que obtener más información sobre el concepto anotado (el vector vAnnotListUrl para la anotación local con GATE), se utilizan diferentes estrategias para construirla en el caso de la anotación remota. Si la entidad anotada procede de la ontología MedlinePlus Health Topics, la dirección URL se compone de la llamada al sitio Web de MedlinePlus concatenándole el concepto anotado. Sin embargo, si la anotación se realiza a través de la ontología SNOMED CT, entonces se compone concatenándole el identificador de esta fuente, que viene incluido como parte de la dirección URL obtenida a través del fullId. Siguiendo la nomenclatura del OBA, se puede decir que las anotaciones locales son todas directas, ya que no se hace un reconocimiento de conceptos en ninguna ontología. Sin embargo, las anotaciones remotas 123 DESARROLLO DEL SISTEMA BIOMÉDICO pueden ser indirectas cuando el parámetro de profundidad ya mencionado (lev) es mayor que 0. En este caso se construye el concepto anotado a través de ambos valores: el nombre preferido a la izquierda (nombre del concepto reconocido en la ontología) y el término del texto a la derecha, indicándose con una flecha que va desde el concepto hacia el nombre preferido el caso de anotación directa, o con una flecha que va desde el nombre preferido hacia el concepto el caso de anotación indirecta. El enlace para obtener información más detallada utiliza el concepto reconocido en la ontología como término de búsqueda. A continuación se describe con mayor detalle el proceso de integración llevado a cabo con la clase IntegrateAnnot, a través de sus propiedades y métodos: 1) Las propiedades text, gatePath, onts, lev, localSrc y localLan: almacenan, respectivamente, el texto objeto de la anotación, la ruta relativa de GATE (que se enviará de forma dinámica desde los servlets del módulo CAI), los identificadores de las ontologías del NCBO con las que llevar a cabo la anotación, el nivel de profundidad deseado para la búsqueda en la jerarquía de las mismas, las fuentes locales con las que anotar y los idiomas aplicados a las fuentes locales. Estos parámetros se establecen en el constructor de la clase, que requerirá estos seis parámetros. 2) Las propiedades document y root: representan el documento XML y su nodo raíz, utilizado para dar la respuesta de todas las anotaciones fusionadas en este formato. 3) El método remRepeated(List<String> lOrig): dada una lista de cadenas (parámetro lOrig), devuelve una lista de enteros (List<Integer>) que se corresponde con los elementos de la lista que 124 DESARROLLO DEL SISTEMA BIOMÉDICO no están repetidos. Este método será utilizado cuando resulte de interés eliminar los conceptos anotados varias veces por la misma fuente, como, por ejemplo, cuando se extraen los resultados en formato HTML. 4) El método compoundNCBOData (String concept, String localOnt, String fullId): construye los datos de la fuente (source), la dirección URL local (localUrl) y la dirección URL externa (url) para las anotaciones devueltas por el servicio OBA, haciendo uso del concepto (parámetro concept), el identificador de la ontología (parámetro localOnt) y la dirección URL al árbol jerárquico de la ontología en el BioPortal (parámetro fullId). Estos datos los devuelve en un array de cadena (String []). La fuente se construye con el texto "OBA" y "MedlinePlus" o bien "Snomed" seguidos del identificador de la ontología entre paréntesis, dependiendo del identificador de ambas, o bien directamente el identificador de la ontología entre paréntesis, para el resto de casos. La dirección URL local se construye enlazando la página jsp medlineplus.jsp y usando el concepto como término para la búsqueda. La dirección URL externa se construye, en el caso de las anotaciones con la ontología SNOMED CT, usando el identificador de esta ontología (que se puede extraer del parámetro fullId) y, en el caso de la ontología MedlinePlus Health Topics, enlazando el árbol jerárquico del BioPortal. 5) Los métodos gateWithoutFormat y ncboWithoutFormat: crean los objetos GateGazMed y NCBOAnnot, ejecutando el proceso de anotación para devolver el objeto al ser instanciados (por los métodos explicados en el punto siguiente). El primero de ellos 125 DESARROLLO DEL SISTEMA BIOMÉDICO controla la ejecución del método runGazetteer empleando el fichero CLEiM.gapp, con todas las fuentes locales, o el fichero CLEiMtmp.gapp, con las fuentes locales y los idiomas indicados desde el cliente (enviados en los parámetros localSrc y localLan del constructor). El segundo ejecuta el método runNCBOAnnot utilizando los parámetros de la anotación remota (onts y lev). 6) Los métodos htmlGateTree y htmlNCBOTree: recorren cada uno de los elementos de las anotaciones realizadas por GATE y por el NCBO, respectivamente, fusionando la información extraída del proceso de anotación en una cadena compuesta de etiquetas en formato HTML. Esto lo llevan a cabo llamando, para cada elemento no repetido (previa llamada al método remRepeated), a los métodos insertHtmlItem e insertXmlItem, que se explican más adelante. El método htmlNCBOTree realiza, además, acciones adicionales: por un lado, utiliza el método compoundNCBOData para componer los datos ya mencionados: source, localUrl y Url; por otro lado, comprueba que el valor de profundidad de búsqueda en las ontologías antes de eliminar los repetidos, ya que si es 0 el procedimiento de eliminación de repetidos se realiza sobre los nombres de los conceptos que se corresponden con los datos almacenados en la lista obtenida a partir del método getConcept del objeto NCBOAnnot, mientras que si es distinto de 0 entonces el proceso de eliminación de repetidos se hace a partir de los valores obtenidos por el método getPreferredName (y el tratamiento del nombre del concepto detectado es más complejo, tal y como se ha explicado anteriormente). 126 DESARROLLO DEL SISTEMA BIOMÉDICO 7) Método insertHtmlItem (String name, String lan, String src, String group, String from, String to, String url, String localUrl): genera un una fila, de una tabla en formato HTML, cada vez que se instancia. Las columnas que contienen estas filas son las correspondientes a los siguientes datos: a. Idioma. Es el valor del parámetro lan, que indica el idioma de la fuente de conocimiento con la que se ha llevado la anotación. Puede contener los valores en, para las anotaciones en inglés, o sp, para las anotaciones en español. b. Concepto. El texto anotado, que se obtiene a partir del valor del parámetro name. Además, a este dato se le agrega un hipervínculo a la dirección URL local (parámetro localUrl), pero sólo en los casos de detección en inglés y que cuya fuente de conocimiento no sea Snomed (comprobando los parámetros lan y source). Los valores de las páginas que pueden estar enlazadas a los conceptos son: disease.jsp (para los conceptos detectados como enfermedades de Freebase), symptom.jsp (para los conceptos detectados como síntomas de Freebase), treatment.jsp (para aquellos conceptos detectados como tratamientos de Freebase), medlineplus.jsp (para los conceptos detectados con las listas extraídas de MedlinePlus) y snomed.jsp (para los conceptos detectados con las listas preprocesadas de Snomed, que es una réplica de la página medlineplus.jsp). 127 DESARROLLO DEL SISTEMA BIOMÉDICO c. Fuente. Es la fuente de conocimiento que ha permitido la anotación, ya sea a través de anotación local (en cuyo caso los valores integrados son "Freebase", "MedlinePlus" y "Snomed") o de la anotación remota (siendo los posibles valores "OBA Snomed (46116)", "OBA Medlineplus (40397)" o "OBA ([identificador de la ontología])"). d. Grupo. Es el valor que en cada uno de los casos se haya enviado en el parámetro group. e. URL. La dirección o direcciones URL externas a través de las que se puede obtener más información de estos conceptos. Para preparar estos hipervínculos se tiene en cuenta la siguiente casuística: si la fuente es Snomed (tanto para anotaciones locales como remotas) se enlaza al servicio Web MedlinePlus CONNECT en español y en inglés; si la fuente es MedlinePlus (únicamente para anotaciones locales) y el idioma es el inglés, se enlazan la página Web de MedlinePlus en inglés y en español (en este orden), y si el idioma es el español se enlazan las mismas páginas pero en orden inverso; en el resto de casos se enlaza directamente el parámetro url. 8) Métodos initXmlDocument y getNormalizedXml: son los que preparan el formato adecuado del documento XML que resultará de la llamada al servicio Web generado, desde el componente perteneciente al módulo CAI, para dar respuesta a los clientes que requieran este tipo de datos. Estos métodos deben ser llamados antes y después, respectivamente, de generar los árboles de datos correspondientes, que se explican en el siguiente punto. La llamada 128 DESARROLLO DEL SISTEMA BIOMÉDICO al primero inicializa el nodo raíz del XML (propiedad root) y crea el nodo "input" con los parámetros de entrada recibidos desde el cliente (Tabla 16). Tras la llamada al método getNormalizedXml, que devuelve una cadena de texto, se dispondrá del documento XML completo. 9) Métodos xmlGateTree y xmlNCBOTree: están provistos de funcionalidades muy similares a los que generan el árbol en formato HTML (htmlGateTree y htmlNCBOTree) y serían fácilmente parametrizables (con un parámetro que indicara el formato, por ejemplo) para hacer dos métodos únicos con los que procesar los árboles en los diferentes formatos. Sin embargo, como estos métodos son instanciados por clientes diferentes, incluir varias condiciones en su interior iría en contra de la eficiencia de los mismos, motivo por el que se ha decidido mantener cada uno de ellos por separado. Las diferencias fundamentales en relación a los anteriores son: la inclusión de todos los elementos (no se eliminan los repetidos por cada una de las fuentes) y la llamada al método de inserción de elementos, que en este caso pasa a ser insertXmlItem, que se describe a continuación. 10) Método insertXmlItem (String annotType, String concept, String preferred, String direct, String groups, String lan, String from, String to, String url, String localUrl): inserta cada uno de los elementos enviados como parámetros en el documento XML. Haciendo uso del documento XML, que ha tenido que ser previamente inicializado con el método initXmlDocument, va agregando un nodo etiquetado como annotation con estos valores (Tabla 16): la fuente (parámetro annotType), el concepto reconocido en el texto de entrada 129 DESARROLLO DEL SISTEMA BIOMÉDICO (parámetro concept), el concepto reconocido en la ontología remota -o el propio concepto para la anotación local- (parámetro preferred), un valor para indicar si la anotación es directa o no (parámetro direct), los grupos a los que pertenece (parámetro group), el idioma (parámetro lan), los índices que delimitan la posición del concepto en el texto (parámetros from y to), la dirección URL externa (parámetro url, que será procesado en función de la fuente para obtener las direcciones URL con información en español y en inglés, con un procedimiento muy parecido al explicado para el método insertHtmlItem) y la dirección URL local (parámetro localUrl). Tabla 16. Formato del documento XML construido por el componente de integración de información del módulo PLN. ETIQUETA XML <cleim> DESCRIPCIÓN Cuerpo Parámetros enviados (generados por el método initXmlDocument) <input> <text></text> Texto enviado para su procesado <remoteonts> </remoteonts> Identificadores de las ontologías remotas con las que se está procesando el texto Nivel de profundidad en la búsqueda de las ontologías remotas <lev></lev> <localSrc></localSrc> Fuentes locales utilizadas para la anotar <localLan></localLan> Idiomas locales seleccionados </input> <annotation language source> <concept neg> </concept> <from></from> 130 Cada una de las anotaciones. Los atributos son: language = en / sp source = Freebase / MedlinePlus / Snomed / OBA Medlineplus (40397) / OBA Snomed (46116) / OBA ([identificador]) Concepto reconocido en el texto. Dispone de un atributo para incluir detección de la negación: neg = 0 / 1 <to></to> Índices que delimitan la posición del concepto en el texto <preferred direct> </preferred> Nombre del concepto reconocido en la ontología remota. En el reconocimiento local es DESARROLLO DEL SISTEMA BIOMÉDICO igual que el concepto. Contiene un atributo que indica si la anotación es directa o no: direct = true / false <localurl></localurl> Dirección URL local de acceso al módulo BEE <urlen></urlen> Dirección URL externa con información en inglés <urlsp></urlsp> Dirección URL externa con información en español <groups></groups> Grupos a los que pertenece el concepto </annotation> </cleim> Los métodos de la clase IntegrateAnnot están directamente relacionados con los componentes del módulo CAI desarrollados, que son explicados con más detalles en la cuarta sección de este capítulo. Cada elemento del módulo CAI que accede a la clase IntegrateAnnot se ha implementado con un servlet y, opcionalmente, una página jsp, siendo el servlet la vía de acceso a los diferentes métodos que dan el formato adecuado a la respuesta final. Nótese que para replicar la salida en otro formato (distinto de los ya existentes en HTML o XML) sería necesario desarrollar, además de los elementos del módulo CAI correspondientes, nuevos métodos en esta clase: generar el método equivalente a los ya desarrollados htmlGateTree y htmlNCBOTree, o xmlGateTree y xmlNCBOTree (y los métodos auxiliares necesarios para dar formato, como el método compoundNCBOData para dar formato algunos datos del NCBO, o los métodos para dar formato al XML denominados initXmlDocument y getNormalizedXml); y, por último, los métodos equivalentes a los ya desarrollados insertHtmlItem e insertXmlItem. 3. Búsqueda de información 131 DESARROLLO DEL SISTEMA BIOMÉDICO Búsquedas en Freebase Los primeros servicios de búsqueda sobre la ontología Freebase para los conceptos han sido creados usando Javascript y AJAX, generándose de este modo tres clientes de acceso para hacer las consultas a partir de una cadena de texto de entrada: uno para enfermedades58, otro para síntomas59 y otro para tratamientos60. A estos clientes se les ha dotado de la funcionalidad de traducción de google, cuando todavía era un producto de acceso libre (actualmente las consultas al servicio son de pago). Tras la búsqueda por término siguiendo el patrón *término*, ofrecen la posibilidad al usuario de obtener la información semántica relacionada con el Tópico (a través de las Propiedades de Freebase) o visitar el Tópico en el sitio Web de Freebase. También incluyen un cliente de búsqueda de artículos en MELINE/PubMed relacionados con el término, que, en un primer paso, muestra algunos de los datos necesarios para identificar el artículo (título, autor/es, fecha de publicación, etc.) y, en un segundo paso, permite visualizar el resumen del mismo. Posteriormente estos clientes de búsqueda de información en Freebase se han integrado como un módulo más desarrollado en Java, principalmente por dos motivos: uniformizar el desarrollo de todos los módulos del sistema y aumentar la estabilidad del cliente (ver los problemas de usabilidad mencionados, por ejemplo, en Holzinger, Mayr, Slany, & Debevc, 2010). 58 http://orion.esp.uem.es:8080/MedicalFace/medicaldisease.html 59 http://orion.esp.uem.es:8080/MedicalFace/medicalsymptom.html 60 http://orion.esp.uem.es:8080/MedicalFace/medicaltreatment.html 132 DESARROLLO DEL SISTEMA BIOMÉDICO El módulo de búsqueda BEE desarrollado finalmente en Java, en el que se incluye el componente de acceso a Freebase, sigue una lógica muy similar a la desarrollada desde los clientes en AJAX, aunque también incorpora otras funcionalidades. Para cada uno de los Tipos de Freebase se ha creado una clase que es instanciada desde la página jsp (coincidiendo el nombre de la página con la propiedad minor definida en el fichero de anotación medicine.def). La estructura de las tres clases (CallFBDis, para las enfermedades, CallFBSym, para los síntomas, y CallFBTre, para los tratamientos) es similar, siendo las propiedades y métodos más destacables los que se explican a continuación: 1) Propiedades limit, page, count y totalpage: con las que se controla el número de resultados por página, la página actual, el número total de resultados y el número total de páginas, respectivamente. Se utilizan de un modo análogo a como se hace en el módulo de recuperación de información, modificándose únicamente el valor de la página actual con la interacción del usuario desde la página Web, haciendo uso de un método setPage. 2) Propiedades del tipo lista de cadena (List<String>) que contienen la siguiente información sobre los Tópicos resultantes de la búsqueda: el identificador del Tópico en Freebase (lIDList), el concepto o nombre del Tópico (lConcept), el texto del artículo de Wikipedia (si lo hubiese) obtenido desde Freebase (lArticle), la URL a la imagen (si la hubiese) asociada con el concepto o Tópico (lImage), la URL de Freebase con la información sobre el Tópico (lFBUrl) y la información semántica vinculada al Tópico a través de las Propiedades de Freebase, que han sido previamente seleccionadas para cada uno de los Tipos. Esta información semántica se 133 DESARROLLO DEL SISTEMA BIOMÉDICO corresponde con los datos seleccionados que ya se han desarrollado con más amplitud en el primer apartado de la segunda sección del capítulo 3, enlazándose internamente a través de las direcciones URL locales correspondientes (Tabla 12). Tabla 17. Páginas enlazadas para ofrecer la información al usuario sobre los diferentes conceptos semánticamente relacionados, en función del Tipo de concepto. PÁGINA JSP CLASE TIPO DE FREEBASE CallFBDis disease.jsp Enfermedades CallFBSym symptom.jsp Síntomas CallFBTre treatment.jsp Tratamientos PROPIEDAD SEMÁNTICA Síntomas Tratamientos Factores de riesgo Efecto secundario de Síntoma de Efectos secundarios Usado para tratar PÁGINA LOCAL ENLAZADA symptom.jsp treatment.jsp treatment.jsp disease.jsp symptom.jsp disease.jsp 3) El método queryFBDetail(String pid): construye la consulta MQL, con el formato del API utilizado, con el objetivo de obtener los datos semánticos para cada uno de los Tópicos resultantes de la búsqueda, utilizando el identificador de la lista lIDList a través del parámetro pid (Tabla 13). Tabla 18. Consultas MQL en el formato del API utilizadas para obtener la información de detalle y semántica sobre los Tópicos, identificados por su Identificador en Freebase (pid), en función de cada Tipo. CONSULTA PARA EL TIPO ENFERMEDADES o("type", "/medicine/disease","id", pid,"name", null, "symptoms",a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/symptom")), "treatments",a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/medical_treatment")), "risk_factors",a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/risk_factor"))); CONSULTA PARA EL TIPO SÍNTOMAS o("type", "/medicine/symptom","id", pid,"name", null, "side_effect_of", a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/medical_treatment")), "symptom_of", a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/disease"))); CONSULTA PARA EL TIPO TRATAMIENTOS o("type", "/medicine/medical_treatment","id", pid,"name", null, "side_effects", a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", 134 DESARROLLO DEL SISTEMA BIOMÉDICO "/medicine/symptom")), "used_to_treat", a(o("id", null,"index", null,"name", null,"optional", true,"sort", "index","type", "/medicine/disease"))); 4) El método queryFB(): es con el que se construyen las consultas MQL para obtener el total de resultados de la búsqueda siguiendo el patrón seleccionado (*término*), los nombres de los Tópicos, sus identificadores en Freebase, los artículos de Wikipedia y una imagen, asociados con cada uno de los resultados. Además, agrega todos estos datos a las listas correspondientes y se encarga de llamar al método queryFBDetail, recuperando la información semántica de cada Tópico, agregándola también a las listas definidas con este fin. 5) Se ha implementado un método doRawQuery(String url) que recupera la información textual de la URL en la que se encuentra el texto de Wikipedia proporcionado por Freebase, a través de una petición usando el protocolo HTTP. 6) Los métodos get permiten recuperar las listas de datos resultantes de la búsqueda desde la página jsp: getConcepts para recuperar los nombres de los tópicos; getArticles para recuperar los artículos de Wikipedia; getImages para recuperar las imágenes; getFBUrls para recuperar las direcciones URL de cada tópico en el sitio Web de Freebase; y los métodos correspondientes a las listas de cada uno de los tipos, esto es, getSymtoms, getTreatments, getRisks en el caso del Tipo enfermedades, getSideEfs, getSympOfs en el caso del Tipo síntomas, y getSideEf, getUsedTo en el caso del Tipo tratamientos. 135 DESARROLLO DEL SISTEMA BIOMÉDICO Búsquedas en MedlinePlus El componente de búsqueda de información en MedlinePlus, ubicado como parte del módulo de búsqueda, se ha desarrollado como un cliente Java que recupera información a partir del servicio Web mantenido por la NLM61. Una de las limitaciones más importantes de este servicio Web, desde el punto de vista idiomático, es que sólo ofrece la posibilidad de consultar la información de MedlinePlus en inglés. Las consultas a este servicio se realizan a través de peticiones con el protocolo HTTP, en las que se envía el valor de dos parámetros: la base de datos de búsqueda (parámetro db), que hay que dejarlo fijado con el valor "healthTopics", y el valor del término o frase de búsqueda (parámetro term), que debe estar codificado como una URL (esto se ha implementado con Java haciendo uso de la ya mencionada librería HttpClient). También se pueden utilizar un conjunto de parámetros para paginar los resultados (que no han llegado a ser utilizados) y un parámetro para indicar el máximo de resultados por consulta que se desean obtener, que se corresponderán con los resultados mostrados por pantalla a través del sistema (el parámetro retmax, que se ha establecido en 100). La respuesta del servicio es un XML con los resultados coincidentes en MedlinePlus organizados del modo que ya se comentaba en capítulo anterior, conteniendo una información, para cada Tópico de salud, muy parecida a la proporcionada desde los ficheros de datos en formato XML utilizados para el preprocesado, desde el módulo RPD, de la terminología con la que llevar a cabo las anotaciones, desde el módulo PLN (en la imagen superior de la Fig. 17 se muestra un ejemplo de la respuesta del servicio 61 http://www.nlm.nih.gov/medlineplus/webservices.html 136 DESARROLLO DEL SISTEMA BIOMÉDICO Web). El servicio también ofrece una utilidad de corrección de errores, tal y como se muestra en la imagen inferior de la Fig. 17. Figura 17 En la imagen superior se muestran los primeros resultados devueltos por el servicio Web de MedlinePlus, en formato XML, al realizar la consulta por el término "cancer"; en la imagen inferior se muestra el resultado al realizar la consulta errónea "prostate cacer". Otras cuestiones de interés relacionadas con las consultas a este servicio Web, son las posibilidades que ofrece para realizar las operaciones lógicas AND (concatenando los términos de búsqueda con el carácter '+') y OR (concatenando los términos de búsqueda con '+OR+'). La gestión de las peticiones HTTP a este servicio se han programado en dos clases, la clase CallMLP, que se encarga de la hacer la petición y obtener el los resultados del servicio, y la clase MLPSearch, en la que se procesa el XML resultante almacenando los datos de interés en listas que pueden ser utilizadas desde la página jsp desarrollada para mostrar los resultados 137 DESARROLLO DEL SISTEMA BIOMÉDICO (medlineplus.jsp y su equivalente snomed.jsp). La clase CallMLP incluye los siguientes métodos: 1) setTerm(String pterm): con el que se establece el término o frase de búsqueda enviado al servicio Web, a través del parámetro pterm. 2) setLogic(String plogic): utilizado para establecer la lógica aplicable a las diferentes palabras de la frase de búsqueda, a través del parámetro plogic. Por defecto el valor es de '+' (AND), siendo el otro valor admisible '+OR+'. 3) setRetmax(String pretmax): sirve para establecer el número máximo de resultados, a través del parámetro pretmax. 4) doMLPQuery(): Este método codifica la URL y ejecuta la petición al servicio, recuperando la cadena de texto que contiene el XML resultante. La lógica de la clase MLPSearch es similar a la de las clases desarrolladas para el componente de búsqueda en Freebase, es decir, tras procesar el XML se almacenan los datos en un conjunto de listas que se pueden recuperar con los métodos get implementados. En concreto, las propiedades y métodos más destacables son los siguientes: 1) Las propiedades lRank, lUrl, lTitle, lFullSummary, lMesh y lGroupName: son las listas de cadenas (List<String>) en las que se almacenan -para cada uno de los resultados- la clasificación según MedlinePlus, la URL del sitio Web de MedlinePlus en la que está publicada la información sobre el tópico, el nombre de la página en MedlinePlus para este tópico, el texto explicativo asociado, términos MeSH asociados por MedlinePlus al tópico (estos términos se enlazan al componente de búsqueda de MEDLINE/PubMed del 138 DESARROLLO DEL SISTEMA BIOMÉDICO sistema, que se explicará en la siguiente sección, y se concatenan para un mismo tópico a través del carácter "|") y los grupos de MedlinePlus a los que pertenece (los diferentes grupos a los que pertenece cada tópico se concatenan a través del carácter ","). 2) El método runMPLSearch(String term): es el responsable de instanciar a la clase CallMLP, recuperar el XML resultante de la búsqueda haciendo uso del término o frase enviada en el parámetro term. En concreto, se encarga de extraer los atributos rank y url del elemento etiquetado como document, para cada resultado. Dentro de este elemento, toda la información sobre el Tópico se incluye en elementos etiquetados como content, que incluyen un atributo name con el que se puede identificar el tipo de contenido. De manera que este método recorre cada uno de los elementos content para cada uno de los elementos document, diferenciando la lista de cadena en la que incluir cada uno de los datos a partir del valor del atributo name. Antes de almacenar algunos de estos valores, es necesario utilizar algunos patrones para reemplazar texto que viene en formato HTML, obteniendo así texto plano que poder formatear adecuadamente desde la página jsp. Esto se da con los valores de las listas lTitle y lMesh, que requieren eliminar el patrón <span class=\"qt[0-9]\"> y la cadena </span> (reemplazándolos por una cadena vacía). 3) Los métodos getRank(), getUrl(), getTitles(), getFullSummary(), getMesh() y getGroupName(): permiten la recuperación de las listas de datos almacenadas en el procesado del XML, desde la página jsp o cualquier otra clase Java. 139 DESARROLLO DEL SISTEMA BIOMÉDICO Búsquedas en MEDLINE/PubMed El sistema desarrollado ofrece la posibilidad a los usuarios de acceder a enlaces, incluidos desde varias páginas HTML, con información bibliográfica relacionada con las entidades extraídas o con los conceptos resultantes de las búsquedas. Estas consultas bibliográficas a la base de datos de MEDLINE/PubMed se llevan a cabo a través de la utilidad de búsqueda y consulta del sistema Entrez a la base de datos pubmed. Para la integración del sistema de consultas que proporciona el sistema Entrez a través de sus utilidades, se ha incorporado la librería proporcionada por la NLM62, incluyéndose una clase Java en el módulo de búsqueda para gestionar las peticiones al servicio Web y recuperar los resultados, que se mostrarán al usuario a través de la página jsp denominada pmresult.jsp. La utilización del servicio, según sus políticas de uso63, requiere hacer todas las peticiones incluyendo el nombre de la herramienta y el email del desarrollador, que pueden ser dadas de alta por correo electrónico. El componente del módulo BEE implementado para enviar las peticiones SOAP al servicio Web, así como procesar los resultados y almacenarlos en listas, está compuesto por la clase Java CallPMSoap. Las propiedades y los métodos más relevantes de esta clase son los siguientes: 1) La propiedad term: En la que se almacena el término de la búsqueda. Debe estar con codificación URL y sin espacios, que tienen que ser reemplazados por el símbolo '+'. 62 http://www.ncbi.nlm.nih.gov/books/NBK55696/#apache_java.Using_Eclipse_for_de velopmen 63 http://www.ncbi.nlm.nih.gov/books/NBK25497/ 140 DESARROLLO DEL SISTEMA BIOMÉDICO 2) La propiedad lan: Posibilita que se agrege al término de búsqueda la condición del idioma de la publicación, siendo este uno de los campos (fields) que permite las consultas a la base de datos pubmed a través del sistema Entrez. Para verificarlo, basta hacer la petición a la utilidad einfo.fcgi con el parámetro db=pubmed y localizar el campo cuyo nombre completo es Language. La forma de concatenar esta condición es utilizando la cadena +(spa[LANG]). 3) La propiedad logic: Es utilizada para reemplazar los espacios entre las distintas palabras de la cadena de búsqueda. Por defecto se establece a '+', que equivale a la condición lógica AND aplicada a cada una de las palabras que aparecen en el término. El otro valor posible sería '+OR+'. 4) Las propiedades limit, pmPage, count y totalpages: están directamente relacionadas con la paginación. Permiten establecer el número de resultados por página, la página actual, almacenar el total de resultados y almacenar el total de páginas, respectivamente. 5) Las propiedades lIDList, lTitle, lPubDate, lAuthors y lAbstractUrl: Son las listas de cadena (List<String>) utilizadas para almacenar los datos de los resultados de las búsquedas. La primera sirve para guardar el listado de identificadores obtenidos tras realizar la búsqueda con la utilidad esearch. Las siguientes sirven para almacenar los títulos correspondientes a cada uno de los resultados, las fechas de publicación, los autores y las direcciones URL a los resúmenes, obtenida con la utilidad esummary. 6) El método queryPMID(): Realiza la búsqueda en pubmed con la utilidad esearch. Gestiona la codificación del término de búsqueda, 141 DESARROLLO DEL SISTEMA BIOMÉDICO el reemplazo de los espacios por la lógica establecida en la propiedad logic y la concatenación de la propiedad de idioma (lan). Además, se encarga de establecer el criterio de ordenación (que se ha fijado con el valor correspondiente a la fecha de publicación, PublicationDate), paginar los resultados y recuperar el listado de identificadores resultantes de la búsqueda. 7) El método queryPMInit(): Ejecuta la llamada al método queryPMID y realiza la llamada a la utilidad esummary agregando todos los identificadores obtenidos. A continuación recorre los resultados devueltos por la utilidad agregando los valores a las listas de datos lTitle, lPubdate, la URL del resumen (si es que existe) en lAbstractUrl y la lista de autores (separados por el carácter '.') en lAuthors. 8) Los métodos setTerm(String pterm), setLanSpa(), setLogic(String plogic), setLimit(int plimit) y setPage(int pPage), permiten establecer el término de búsqueda y modificar el valor por defecto de las propiedades lan, logic, limit y page. 9) Los métodos getCount(), getTotalPages(), getTitles(), getPubDates(), getAuthors() y getAbstractUrl(), sirven para recuperar los datos de recuento total de resultados, el total de páginas y las listas de títulos, fechas de publicación, autores y las direcciones URL de los resúmenes de cada resultado, respectivamente. Las direcciones URL de los resúmenes, obtenidos con la utilidad efetch (agregando el parámetro rettype=abstract), se construyen enlazando la utilidad directamente desde la página Web en formato de texto (agregando el parámetro retmode=text). 4. Mecanismos de acceso al sistema 142 DESARROLLO DEL SISTEMA BIOMÉDICO Los dos mecanismos de acceso del módulo CAI, descritos en el tercer apartado del capítulo anterior, utilizan tecnologías Java para su acceso a través del protocolo HTTP. Sus componentes están desarrollados con servlets, que se encargan de la comunicación con el componente de integración del módulo PLN, y páginas jsp (en caso de ser necesario) que muestran el resultado al usuario final a través del navegador, así como de la comunicación con los componentes del módulo BEE. Acceso a través del navegador La aplicación de acceso a la información que se ha preparado para los usuarios finales está basada en Web y contiene los siguientes componentes: Componente para la comunicación con el módulo PLN (Fig. 18): a. Un servlet Java denominado NLPServ, encargado de la comunicación con el componente CII del módulo PLN. Este servlet acepta tanto peticiones de tipo POST como GET. b. Una página jsp denominada nlpresult.jsp con la que se imprimen los resultados procesados por el elemento NLPServ. Tanto en el servlet como en la jsp ha sido necesario unificar el criterio de codificación de caracteres establecido para el procesado con GATE (UTF-8), evitando este tipo de problemas en el envío del texto en la petición HTTP y durante el procesado. c. Página inicial ofrecida al usuario final, desde la que puede insertar el texto y comenzar el procesado a través del elemento NLPServ: index.html. 143 DESARROLLO DEL SISTEMA BIOMÉDICO d. Página de acceso a funcionalidades más avanzadas del procesado, haciendo uso igualmente del elemento NLPServ: admin.html. Componentes para la comunicación con el módulo BEE: a. Componente de acceso a Freebase. Búsqueda, obtención información detallada e información semántica desde Freebase, compuesto por los siguientes elementos: i. disease.jsp para la comunicación con el elemento de búsqueda de enfermedades, a través de la clase CallFBDis. ii. symptom.jsp para la obtención de información sobre síntomas, a través de la clase CallFBSym. iii. treatment.jsp para la recuperación de información sobre tratamientos, a través de la clase CallFBTre. b. Componente de acceso a MedlinePlus. La comunicación con el elemento de búsqueda en MedlinePlus se lleva a cabo desde las páginas medlineplus.jsp y snomed.jsp, haciendo uso de la clase MLPSearch. c. Componente de acceso a PubMed. La recuperación de las publicaciones científicas de PubMed se ha incorporado en la página pmresult.jsp, que se comunica con la clase CallPMSoap. 144 DESARROLLO DEL SISTEMA BIOMÉDICO Aplicación Web Componente Acceso PLN index.html NLPServ nlpresults.html Pantalla principal Módulo PLN Componente C.I.I IntegrateAnnot Módulo BEE Componente Acceso Freebase disease.jsp Componente Freebase CallFBDis symptom.jsp CallFBSym A partir del primer treatment.jsp CallFBTre nivel de navegación Componente Acceso MedlinePlus medlineplus.jsp Componente MedlinePlus MPLSearch snomed.jsp CallFBSym A partir del segundo nivel de navegación Componente Acceso PubMed Componente PubMed pmresult.jsp CallPMSoap Figura 18 Niveles de navegación y comunicación detallada de los elementos de la aplicación Web. A continuación se describen las funcionalidades más relevantes desarrolladas para cada uno de estos elementos. index.html / admin.html: estas páginas son semejantes en su funcionamiento interno. La diferencia es únicamente el número mayor de opciones que permite la segunda en relación a la primera, motivo por el que, por otro lado, no es adecuada para usuarios finales dada la complejidad de los resultados. Las funciones más destacadas son: o A nivel de interfaz, incorporan funcionalidades de jQuery UI, que son empleadas en la construcción de los 145 DESARROLLO DEL SISTEMA BIOMÉDICO desplegables, el botón de procesado y el cajón de texto redimensionable. o La petición al elemento NLPServ, que se lleva a cabo como una petición HTTP utilizando AJAX, envía los datos del formulario por POST tras establecer la codificación a UTF-8 y, finalmente, imprime por pantalla (en un elemento div) la respuesta del servlet, que es formateada por la página nlpresult.jsp. NLPServ / nlpresult.jsp: el servlet NLPServ es el elemento encargado de gestionar la comunicación con el componente C.I.I. (la clase IntegrateAnnot), solicitándole las acciones de procesado según sean los parámetros enviados desde el cliente. Finalmente envía la información a la página jsp nlpresult.jsp, que es la responsable de incluir las librerías correspondientes a los plugins de jQuery (PicNet Table Filter y tablesorter). Las funciones más relevantes del servlet son las siguientes: o Establecer dinámicamente la ruta al directorio WEB-INF con el método init (ServletConfig servletConfig) utilizando servletConfig.getServletContext().getRealPath("/WEBINF"). Esta ruta será necesaria para cargar los archivos de GATE desde la clase GateGazMed del módulo PLN, llegándole el parámetro desde el componente C.I.I., que lo recibirá, a su vez, desde el servlet. Por otro lado, el componente C.I.I. también utiliza esta ruta para guardar el fichero temporal CLEiMtmp.gapp si fuese el caso. o Los métodos doGet y doPost reciben los siguientes parámetros de la petición: text (texto a procesar), src 146 DESARROLLO DEL SISTEMA BIOMÉDICO (parámetro que indica las fuentes de conocimiento), onts (identificadores de las ontologías remotas del NCBO), lev (nivel de profundidad de búsqueda en las ontologías remotas), cksrcfb, cksrcmp, cksrcsc (que se almacenan en un array localSrc conteniendo las fuentes locales con las que realizar la anotación, con los valores Freebase, MedlinePlus y Snomed), cklanen y cklansp (que se almacenan en un array localLan conteniendo los idiomas locales con los que anotar, cuyos valores son en y sp). Sólo se procesa el texto si no es vacío, haciéndolo en función del parámetro src. La anotación local (utilizando el método htmlGateTree() de la clase IntegrateAnnots) la lleva a cabo únicamente cuando src tiene valor -1 (correspondiente a anotar con todas las fuentes) o valor 1 (correspondiente a anotar con las fuentes locales), mientras que la anotación remota la ejecuta en los casos en los que src es distinto de 1. Los valores de src 2 y 3 implican la anotación remota con las ontologías MedlinePlus Health Topics y SNOMED CT respectivamente. Si el valor de src es 4, entonces la anotación se lleva a cabo con las ontologías definidas por el parámetro onts. Las opciones para gestionar las fuentes y los idiomas locales, así como las ontologías remotas con las que anotar y el nivel de profundidad de búsqueda sólo se han habilitado desde el interfaz proporcionado desde la página admin.html. disease.jsp / symptom.jsp / treatment.jsp: son los elementos encargados de dar formato a las listas de resultados del 147 DESARROLLO DEL SISTEMA BIOMÉDICO componente de búsqueda en Freebase del módulo BEE, utilizando la librería de jQuery tablesorter. Reciben por parámetro el término de búsqueda (term) y la página (pg), y generan un objeto de la clase correspondiente para recuperar los listados de datos, es decir, CallFBDis, CallFBSym o CallFBTre. A través de los métodos setPage y getTotalPages de estas clases llevan a cabo la paginación y la generación de los listados correspondientes a cada página. El enlace a estas páginas es generado dinámicamente desde la propiedad minor del fichero medicine.def. medlineplus.jsp / snomed.jsp: ambas son interfaces idénticas para el acceso al cliente de búsqueda en MedlinePlus, aunque permitiría generar fácilmente un nuevo cliente de búsqueda para el caso de los conceptos anotados con la terminología de SNOMED CT. Su funcionamiento es similar al de las páginas del punto anterior. En este caso se crea el contenido a partir de un objeto de la clase MLPSearch. pmresult.jsp: página similar a nivel funcional a las explicadas en los dos puntos anteriores. Crea el formato de salida a partir de los datos obtenidos de un objeto de la clase CallPMSoap. Su enlace, en este caso, no es generado a partir de ningún atributo sino dinámicamente sobre los conceptos resultantes de las búsquedas, encontrándose siempre a partir del segundo nivel de navegación, en lugar del primer nivel como sucedía con las páginas de los puntos anteriores. 148 DESARROLLO DEL SISTEMA BIOMÉDICO Acceso a través del servicio Web Este componente está formado por un único servlet, denominado XMLServ, que responde a la petición del cliente en formato XML. Para probar su funcionamiento se ha desarrollado un cliente, consistente en una página HTML semejante a la mencionada en el apartado anterior (admin.html), adaptada en este caso para mostrar la respuesta del servicio en un elemento iframe. Este cliente se puede encontrar en la página service.html. El servlet XMLServ procesa la petición HTTP de un modo muy similar al servlet desarrollado en la aplicación Web para el acceso al módulo PLN (NLPServ). En este caso, en lugar de realizar llamadas a los métodos htmlGateTree y htmlNCBOTree de la clase IntegrateAnnot en función del parámetro src, realiza llamadas a los métodos xmlGateTree y xmlNCBOTree. Antes de instanciar estos métodos de la clase IntegrateAnnot, el servlet inicializa el XML a través del método initXmlDocument y, tras realizar la llamada a dichos métodos, lo normaliza y obtiene el documento resultante llamando al método getNormalizedXml. El XML resultante proporciona para cada entidad anotada la información descrita en el capítulo anterior, delegando las funcionalidades de comunicación con el módulo BEE a través de los componentes desarrollados para la aplicación Web, proporcionando los enlaces locales correspondientes. Además, devuelve las direcciones URL externas en las que se puede encontrar más información sobre los conceptos (Fig. 19). 149 DESARROLLO DEL SISTEMA BIOMÉDICO Servicio Web Módulo PLN Componente Acceso PLN Componente C.I.I XMLServ IntegrateAnnot CLIENTE Freebase MedlinePlus Componente Componente Acceso Freebase Acceso MedlinePlus Aplicación Web NCBO Sitios Web Externos Figura 19 Interacción del cliente del servicio Web y conjunto de enlaces proporcionados para cada concepto reconocido. En el Apéndice 1 se muestran algunos ejemplos resumidos en tablas de la respuesta proporcionada por el servicio ante una misma cadena de búsqueda. 150 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA CAPÍTULO 5. EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA. Para la evaluación del rendimiento se ha tomado como referencia el servicio de anotación remoto OBA integrado en la herramienta. Las motivaciones para tomar como referencia este servicio integrado son las siguientes: Dado que el sistema utiliza ambos procesos, estas pruebas permitirán valorar la complementariedad de los servicios local y remoto, detectando las fortalezas y debilidades de cada uno de ellos. Se dispone ya de mediciones de precisión y cobertura del sistema OBA que están, a su vez, comparadas con los resultados del sistema de referencia MetaMap. Esto permite enfocar el esfuerzo de evaluación hacia la percepción de los usuarios al resolver una tarea concreta, haciendo uso de un conjunto eficiente de fuentes. La similitud entre los procesos a través de los cuales ambos sistemas reconocen los términos ya que, a pesar de que el servicio OBA dispone de un diccionario de términos mucho mayor que el utilizado localmente (un diccionario de 3.200.654 términos en inglés64, frente a los 612.234 términos en inglés y en español preprocesados por el módulo PRD), como contrapartida el proceso de anotación local ofrece la posibilidad de procesar textos en español. La integración del servicio OBA realiza en un único paso el reconocimiento de conceptos en las ontologías, mientras que cuando la extracción es local el reconocimiento de conceptos implícitos se realiza a través de la interacción del usuario, a partir 64 http://www.bioontology.org/wiki/index.php/Annotator_User_Guide 151 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA del primer nivel de navegación. Sin embargo, el enfoque es muy similar, no realizándose el tipo de reconocimiento que hace, por ejemplo, MetaMap. Al anotar los términos localmente bien es cierto que el procedimiento es más sencillo, pero el sistema aporta otro tipo de relaciones que van más allá de los sinónimos, las relaciones "es_un" o la funcionalidad (que no se ha integrado en el interfaz) de expansión semántica con los tipos de UMLS, a través de las Propiedades de Freebase; además, existe la posibilidad de integrar fácilmente nuevos elementos en el Pipeline desarrollado localmente con GATE e, incluso, otras librerías para realizar un procesado más complejo del texto. 1. Casos de prueba analizados Las mediciones se han desplazado a lo largo de dos dimensiones, que dan lugar a diferentes casos de prueba (que se denominarán Pi, siendo i el número de la prueba): (i) una dimensión tiene en cuenta las diferentes fuentes de conocimiento con las que se realizan las anotaciones locales y remotas; (ii) la otra dimensión tiene en cuenta la longitud de los textos objeto del procesado. Estas dos dimensiones han dado lugar a los siguientes casos de prueba: 1. Dados un conjunto de textos, en los que no se tiene en cuenta la longitud, se han medido los tiempos medios de: 1.1. Anotando con la fuente de conocimiento MedlinePlus en inglés, mediciones del procesado local sin formatear la salida (P1), formateando la salida en HTML (P2) y formateándola en XML (P3). Realizando esto mismo para el procesado remoto (P4, P5, P6). 152 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA 1.2. Anotando con la fuente de conocimiento SNOMED CT en inglés, procesando del mismo modo los ficheros con el proceso local (P7, P8, P9) y con el servicio remoto (P10, P11, P12). 1.3. Anotando con ambas fuente de conocimiento en inglés, repitiendo el mismo procedimiento se obtienen los casos de prueba P13, P14, P15 para el proceso local, y P16, P17, P18 para el servicio remoto. 1.4. Anotando con la fuente de conocimiento MedlinePlus, mediciones del procesado local bilingüe sin formato, con formato HTML y con formato XML (P19, P20, P21). 1.5. Anotando con la fuente de conocimiento SNOMED CT, mediciones del procesado local en los tres formatos (P22, P23, P24). 1.6. Anotando localmente con las dos fuentes de conocimiento en los dos idiomas y realizando mediciones en las tres modalidades anteriores (P25, P26, P27). 2. Dados un conjunto de textos de longitudes variables, medición de los tiempos empleados para los distintos tipos de formato de salida, tomando como fuentes de anotación: 2.1. Con todas las fuentes locales bilingües excepto SNOMED CT (casos de prueba P28, P29, P30) y con la ontología MedlinePlus Health Topics del servicio OBA (P31, P32, P33), para comprobar los efectos al suprimir la terminología más numerosa. 2.2. Utilizando SNOMED CT bilingüe desde el proceso local (P34, P35, P36) y la equivalente monolingüe desde el servicio remoto (P37, P38, P39). 2.3. Utilizando todas las locales disponibles (P40, P41, P42) y las remotas integradas (P43, P44, P45). Esto último implica el uso, desde el fichero medicine.def, de todas las listas: diseaseen.lst, symptomen.lst, 153 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA treatmenten.lst, mlpen.lst, scten.lst, diseasesp.lst, symptomsp.lst, treatmentsp.lst, mlpsp.lst, sctsp.lst. El conjunto de casos de prueba que se desplazan por la dimensión de las diferentes fuentes de conocimiento {Pi, i=1,...,27}, se sintetizarán en tres gráficas en las que se comparan los resultados remotos utilizando cada combinación de fuentes con los resultados locales usando la misma combinación en inglés y en inglés/español. Los casos de prueba que se desplazan por la dimensión de longitud del texto {Pi, i=28,...,45}, quedarán condensados en una gráfica para cada uno de los ficheros de longitud variable, comparándose el procesado local frente al remoto con cada combinación de fuentes en cada una de ellas. 2. Textos de entrada Los textos seleccionados para las pruebas son los casos clínicos del año 2012 (accedidos el 8 de Marzo de 2012) del Departamento de Patología perteneciente a la Escuela de Medicina de la Universidad de Pittsburgh65 (UPMC). Estos casos están numerados secuencialmente desde el 715 hasta el 726, es decir, hacen un total de 12 casos clínicos. Se han almacenado en archivos de texto plano nombrados con el número correspondiente a cada caso, que contienen: todo el texto incluido en la página Web del caso (path.upmc.edu/cases/case[NÚMERO DE CASO].html) y el contenido de la página enlazada, si existe, para el apartado del diagnóstico final del caso (path.upmc.edu/cases/case[NÚMERO DE CASO]/dx.html), excluyendo en el texto de la primera página aquel en el que aparece el nombre del caso y los 65 http://path.upmc.edu/cases/Chronicle/index-histo-2012.htm 154 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA nombres de los autores, e incluyendo de la segunda página sólo el texto situado entre el título (FINAL DIAGNOSIS o, simplemente, DIAGNOSIS) y las referencias (REFERENCES). Algunas de las características de los ficheros en texto plano se muestran en la Tabla 19. Tabla 19. Características de los textos recuperados del UPMC. PALABRAS CARACTERES (SIN CONTAR LOS ESPACIOS) CARACTERES (CONTANDO LOS ESPACIOS) CASO 715 685 4.254 4.935 CASO 716 1.922 10.839 12.762 CASO 717 1.302 7.563 8.844 CASO 718 473 2.709 3.171 CASO 719 962 5.394 6.342 CASO 720 562 3.231 3.783 CASO 721 1.237 7.873 9.098 CASO 722 722 4.477 5.189 CASO 723 696 4.120 4.807 CASO 724 1.080 6.353 7.418 CASO 725 738 4.340 5.057 CASO 726 1.516 9.308 10.763 PROMEDIO 991,25 5.871,75 6.847,42 DESV.EST 434,61 2.536,29 2.963,87 TOTAL 11.895 70.461 82.169 MÍNIMO 473 2.709 3.171 MÁXIMO 1.922 10.839 12.762 En promedio, estos casos tienen 991 palabras, 5.872 caracteres sin contar los espacios y 6.847 caracteres contando los espacios, oscilando entre los valores mínimos del caso 718 (con 473 palabras, 2.709 caracteres sin contar los espacios y 3.171 caracteres contando los espacios) y los valores máximos 155 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA del caso 716 (con 1.922 palabras, 10.839 caracteres sin contar los espacios y 12.762 caracteres contando los espacios). Para llevar a cabo las pruebas con ficheros de longitud variable, se han generado tres ficheros a partir de los textos de los 12 casos clínicos seleccionados. El primer fichero está compuesto por el texto fusionado de los 12 casos, conteniendo en consecuencia un total de 11.895 palabras. El segundo fichero consiste en este texto total duplicado, incluyendo 23.790 palabras. El tercer fichero es este último nuevamente duplicado, quedando con un total de 47.580 palabras. 3. Montaje experimental Para comparar los resultados de eficiencia de los procesos de anotación local con los procesos de anotación remota, se ha desarrollado una clase Java denominada TestAnnotations, que mide los tiempos de ejecución necesarios para los diferentes casos de prueba. El funcionamiento de la clase se basa en los siguientes métodos: 1) El constructor TestAnnotations(String ptext, String ponts, String plev, String[] localSrc, String[] localLan): inicializa el objeto global IntegrateAnnot usando todos los parámetros. 2) takeTime(): devuelve un long con el tiempo actual, permitiendo cambiar fácilmente la unidad de tiempo entre milisegundos y nanosegundos. Finalmente las medidas se han tomado usando milisegundos. 3) avoidInitialization(): evita la inclusión del tiempo utilizado por GATE para su inicialización en la primera ejecución. 4) testGate(String formatType), testOba(String formatType): en función del valor del parámetro formatType ("", "html" o "xml") miden el 156 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA tiempo que tarda el proceso de anotación sin formatear, extrayendo los términos en formato HTML o extrayéndolos en formato XML, realizado a través de GATE (imagen superior de la Fig. 20) y del servicio OBA (imagen inferior de la Fig. 20), respectivamente. 5) main: desde el método principal se discrimina entre los diferentes casos de prueba, almacenando los resultados de cada uno de ellos en un fichero de texto cuyos valores están separados por ";", facilitando su importación desde una hoja excel. En primer lugar ejecuta el conjunto de pruebas {Pi, i=1,...,27}, dividiéndolas en los subconjuntos {Pi, i=1,...,6}, {Pi, i=7,...,12}, {Pi, i=13,...,18}, {Pi, i=19,...,21}, {Pi, i=22,...,24} y {Pi, i=25,...,27}, estableciendo las parametrizaciones local y remota adecuadas para cada subconjunto. A continuación, recorre para cada subconjunto todos los casos clínicos, ejecutando las pruebas utilizando los diferentes formatos tantas veces como se le indique. En segundo lugar, ejecuta el conjunto de pruebas {Pi, i=28,...,45} dividiéndolas en los subconjuntos {Pi, i=28,...,33}, {Pi, i=34,...,39} y {Pi, i=40,...,45}, estableciendo nuevamente las parametrizaciones para cada subconjunto e iterando entre los textos de diferentes longitudes usando los diferentes formatos. Cada vez que recorre cualquiera de los subconjuntos, antes de pasar al siguiente, almacena en un fichero los resultados obtenidos, disponiéndose finalmente de 6 ficheros para el primer conjunto de pruebas y 3 para el segundo. 157 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA Figura 20 Llamadas de los métodos testGate (arriba) y testOba (abajo) de la clase TestAnnotations para la ejecución de las pruebas. La computadora en la que se han ejecutado los casos de prueba tiene instalado un sistema operativo Windows 7 Ultimate de 64 bits y está equipada con un procesador intel core i7. Dispone de 8 GB de memoria RAM, habiéndose reservado 1,5 GB para la ejecución de la clase Java de pruebas (empleando los parámetros -Xms y -Xmx). 4. Resultados Los resultados de todas las pruebas se han agregado en el Apéndice 2. Los valores medios de los tiempos resultantes al procesar los diferentes casos clínicos con el conjunto de pruebas {Pi, i=1,...,27} están representados en las 158 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA Figuras 21, 22 y 23. Los datos presentados en la Fig. 21 se corresponden con los resultados para el procesado de los textos utilizando la fuente MedlinePlus, pudiéndose observar que el procesado local con listados del orden de 103 conceptos, es dos órdenes de magnitud más rápido que el procesado remoto: haciendo el promedio para los tres formatos el resultado es de 22,13 ms (SD = 3,15) con la terminología monolingüe, o de 38,29 ms (SD = 1,78) con la terminología bilingüe, frente a los 3.260,63 ms (SD = 1.191,57) obtenidos con el servicio remoto. Figura 21 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con la fuente MedlinePlus sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en inglés (P1, P2 y P3), usando el servicio OBA (P4, P5 y P6) y el sistema CLEiM con la terminología bilingüe (P19, P20 y P21). Además, es muy significativa la poca incidencia del tratamiento con los diferentes formatos en ambos casos (en torno a 3 ms localmente comparándolo con los valores obtenidos sin formatear la salida, no llegándose a apreciar remotamente), cuestión que se acentúa con el 159 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA aumento de las terminologías locales o el aumento del texto de entrada en el procesado remoto. La incorporación de la terminología de SNOMED CT localmente provoca que ambos métodos se sitúen en el mismo orden de magnitud (Fig. 22), con la terminología monolingüe el tiempo medio del sistema local para todos los casos clínicos - promediando de nuevo los tiempos obtenidos para las diferentes opciones de formato - es de 8.232,32 ms (SD = 58,72) frente a los 18.503,11 ms (SD = 7.506,31) del procesado remoto. Al duplicar esta terminología incluyendo la lista de SNOMED CT en español el sistema local se aproxima a los 30 segundos, en concreto hasta 27.520,19 ms (SD = 378,87), siendo un indicador de la gran dependencia del procesado local respecto al número de términos incluidos en las listas, incidiendo también en la cantidad de memoria que es necesario reservar para la ejecución. Figura 22 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con la fuente SNOMED CT sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en inglés (P7, P8 y P9), usando el servicio OBA (P10, P11 y P12) y el sistema CLEiM con la terminología bilingüe (P22, P23 y P24). 160 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA De nuevo se puede apreciar la poca incidencia que tiene el tratamiento del formato, obteniéndose tiempos menores o mayores de forma independiente al formato de salida utilizado, tal y como reflejan los valores medios obtenidos tras formatear el resultado local en HTML, de 8.229,97 ms (SD = 35,12), o en XML, de 8.221,42 (SD = 94,29), frente al valor sin formatear, de 8.245,58 ms (SD = 22,77); o el resultado remoto tras formatear la salida en HTML, de 18.251,75 ms (SD = 7.151,55), frente al valor sin formatear, de 18.260,89 ms (SD = 6.664,85). Este hecho se vuelve a repetir cuando se llevan a cabo las pruebas con ambas terminologías (Fig. 23). Figura 23 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con las fuentes MedlinePlus y SNOMED CT sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en inglés (P13, P14 y P15), usando el servicio OBA (P16, P17 y P18) y el sistema CLEiM con la terminología bilingüe (P25, P26 y P27). 161 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA La inclusión de las diferentes listas locales no incide prácticamente en los tiempos siempre que el número de términos sea del orden de 103, tal y como se puede comprobar con los resultados del procesado local usando la terminología bilingüe con ambas fuentes frente a los resultados usando únicamente la terminología bilingüe de SNOMED, que da un tiempo de respuesta medio para los tres formatos de 27.264,63 ms (SD = 330,09), menor que el obtenido únicamente con SNOMED CT, de 27.520,19 ms (SD = 378,87). A medida que la longitud de los textos se va haciendo mayor las diferencias entre el procesado bilingüe local frente al monolingüe remoto se atenúan, tal y como se puede observar a partir de los resultados obtenidos con los casos clínicos (en orden creciente de palabras) 724, 721, 717, 726 y 716, todos ellos con más de 1.000 palabras (Tabla 20). Tabla 20. Promedio de los valores obtenidos remotamente con las terminologías MedlinePlus y SNOMED CT y localmente con las equivalentes bilingües, para los casos con mayor número de palabras. CASO CLÍNICO P16,P17,P18 P25,P26,P27 724 721 717 726 716 24.829 23.762 18.814 28.779 24.646 7.873,44 2.721,14 2.167,75 3.942,99 2.460,25 PROMEDIO 27.329 27.008 27.051 27.985 27.304 DESV. EST. 361,89 219,39 267,31 345,97 233,99 PROMEDIO (ms) DESV. EST. Se vislumbra en estos resultados locales una tendencia a estabilizarse los tiempos en torno a 30 segundos, de forma cuasi independiente de la longitud del texto procesado, mientras que los tiempos remotos se incrementan notablemente. Esta tendencia se confirma al realizar el conjunto de pruebas {Pi, i=28,...,45}. Al eliminar la terminología más numerosa (imagen superior de la Fig. 24) el procesado local está en torno a 162 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA los 300 ms mientras que el procesado remoto va en aumento, dando como resultado: para el procesado sin formato (por ejemplo) del fichero de 11.895 palabras los valores de 276,30 ms (SD = 11,03) frente a 17.691,10 ms (SD = 1.559,19); para el fichero de 23.790 palabras el tiempo de 310,80 ms (SD = 9,43) frente a 34.572,10 ms (SD = 9.631,89); y para el fichero de 47.580, el tiempo local de 353,80 ms (SD = 10,39) frente al tiempo remoto de 61.532,60 ms (SD = 18.964,60). Los tiempos medios locales al utilizar sólo la fuente SNOMED CT bilingüe (imagen intermedia de la Fig. 24) son mayores que los tiempos utilizando todas las fuentes (imagen inferior de la Fig. 24), que tiene lógica porque al incluir todas las fuentes se evita la necesidad de generar dinámicamente el fichero medicine.def. Los tiempos medios locales de respuesta al incluir todas las fuentes se sitúan en torno a los 28 segundos, mientras que los tiempos remotos se disparan hasta varios minutos. En concreto, el tratamiento sin formato para el primer fichero localmente tarda 27.893,60 ms (SD = 479,56) frente a los 214.619,90 ms (SD = 63.952,14) que tarda remotamente, el tiempo medio para el segundo fichero es de 28.273,80 ms (SD = 595,65) frente a 359.817,30 ms (SD = 79.228,87), o para el tercer fichero el tiempo medio local es de 28.265,80 ms (SD = 587,60) frente al tiempo medio remoto que es de 680.625,00 ms (SD = 166.203,70). 163 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA Figura 24 Tiempos medios de respuesta obtenidos para el reconocimiento los ficheros de 11.895 palabras (arriba), 23.790 (en medio) y 47.580 (abajo), representándose las 164 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA terminologías locales bilingües menos pobladas (Freebase y MedlinePlus) frente a MedlinePlus en remoto en los tres formatos (P28-P31, P29-P32 y P30-P33), la local bilingüe más poblada (SNOMED CT) frente a la equivalente remota en los tres formatos (P34-P37, P35-P38 y P36-P39) y todas las locales frente a todas las remotas en los tres formatos (P40P43, P41-P44 y P42-P45). 165 EVALUACIÓN DE LA EFICIENCIA DEL SISTEMA 166 ESCENARIOS DE APLICACIÓN CAPÍTULO 6. ESCENARIOS DE APLICACIÓN. El principal escenario de aplicación, tal y como se ha mencionado anteriormente, ha sido implementado en el contexto del EEES. Los resultados de la investigación llevada a cabo en este contexto, que son analizados en profundidad en este capítulo, han sido publicados en Aparicio, De Buenaga, Rubio, & Hernando, (2012). Para desarrollar la actividad de aprendizaje con estudiantes de medicina, con la que conducir la experiencia de evaluación del sistema biomédico implementado, se ha trabajado estrechamente con el personal docente de la Facultad de Ciencias Biomédicas de la Universidad Europea de Madrid, dentro del Departamento de Especialidades Médicas. Esta colaboración ha permitido definir el marco idóneo en el que llevar a cabo la prueba, ayudando a establecer dos metodologías bien diferenciadas: Por un lado, se ha desarrollado una metodología que permite construir una actividad de aprendizaje, enmarcada en la filosofía de trabajo del EEES, haciendo uso de un sistema inteligente que reconoce conceptos en casos clínicos y posibilita el acceso a diferentes recursos, previamente definidos, que sirven para profundizar en el significado de los mismos. Por otro lado, se ha desarrollado una metodología de evaluación con usuarios para este tipo de sistemas, que podría extenderse a otras herramientas informáticas y a otras áreas de conocimiento dentro del ámbito educativo. 1. Metodología de aprendizaje 167 ESCENARIOS DE APLICACIÓN Para la evaluación del sistema inteligente se ha diseñado una metodología de aprendizaje que, aplicándola a un grupo de estudiantes de segundo curso del grado en medicina, ha servido para cuantificar los resultados tanto objetivos como de percepciones subjetivas sobre el sistema inteligente. La metodología de aprendizaje persigue que los estudiantes profundicen en el significado de términos de interés que aparecen en un caso clínico, así como interrelacionarlos entre ellos y con otros conceptos que no aparecen explícitamente en el caso. El diseño de la metodología se fundamenta en cuatro estadios bien diferenciados: 1. En el primer estadio, el conjunto de profesores que pondrán en práctica la metodología en el aula, seleccionan un caso clínico acorde con el nivel de conocimientos de los alumnos objeto de la experiencia. 2. En el segundo estadio, son definidas las fuentes de conocimiento disponibles desde las que es más adecuado extraer información detallada sobre los conceptos reconocidos por el sistema. Este proceso es un trabajo conjunto entre los docentes que llevarán a cabo la prueba en el aula y el equipo de desarrollo del sistema informático. 3. En el tercer estadio se diseña el cuestionario de preguntas de tipo test, íntimamente relacionadas con el caso clínico seleccionado, por parte del profesorado que ejecutarán la metodología. Este cuestionario servirá para medir cuantitativamente los conocimientos adquiridos por los estudiantes tras realizar la actividad. 168 ESCENARIOS DE APLICACIÓN 4. En el cuarto estadio es diseñada la actividad en el aula: duración de la actividad, tipo de aula, participantes, división de los mismos en diferentes grupos y tipo de participación (voluntaria u obligatoria). Casos clínicos analizados Algunos de los casos clínicos analizados para llevar a cabo la experiencia de aprendizaje son: los casos de estudio publicados por el Departamento de Patología de la Facultad de Medicina de la Universidad de Pittsburgh (University of Pittsburgh Medical College, UPMC66); la colección de casos publicados por Centro Nacional para la enseñanza de Casos de Estudio en ciencias de la Universidad de Buffalo (National Center for Case Study Teaching in Science at Buffalo University, NCCSTS67); los casos, actualmente no disponibles, de la Facultad de Medicina de Penn State68. También se han estudiado los informes médicos y las notas clínicas procedentes de la base de datos restringida del proyecto MIMIC-II. Finalmente se han seleccionado los casos publicados por la UPMC, por varios motivos: (i) no presentan restricciones de acceso y utilización de los contenidos, tal y como sucede con los procedentes del MIMIC-II, o, de un modo menos restrictivo, con los casos del NCCSTS; (ii) el formato es bastante uniforme para los diferentes casos, dividiendo básicamente su contenido en un apartado dedicado al historial del paciente, otro para los hallazgos patológicos y, en último lugar, otro para el diagnóstico final; (iii) están clasificados por diferentes criterios (e.g. por año, por el índice 66 http://path.upmc.edu/cases.html 67 http://sciencecases.lib.buffalo.edu/cs/collection 68 http://www.pennstatehershey.org/web/college/home 169 ESCENARIOS DE APLICACIÓN asignado o, incluso, pueden ser recuperados a través de una búsqueda de palabras clave), facilitando el acceso y la búsqueda de los casos de interés; (iv) la gran estabilidad de la base de datos de casos, que es mantenida desde el año 1995 y aloja casos editados desde el año 1994; (v) son ampliamente utilizados en medicina y otros dominios (e.g. Watson, Smith y Watter, 2005; Ruiz-Rico, Vicedo y Rubio-Sánchez, 2008), formando parte de las referencias manejadas por los docentes de la Facultad de Ciencias Biomédicas de nuestra Universidad. Algunos de los casos mejor analizados de esta fuente han sido los indexados como 223, 410, 474, 564, 565 y 616, que fueron elegidos al azar y seleccionados por obtenerse un conjunto amplio de conceptos reconocidos a través del sistema. De entre este subconjunto, el que se consideró más adecuado para llevar a cabo la actividad es el 22369. Este es el caso de una mujer de 37 años con un diagnóstico de miocardiopatía arritmogénica del ventrículo derecho, con muchos indicios debido a la gran cantidad de patologías relacionadas en su familia. Fuentes de conocimiento seleccionadas y sistema inteligente La aplicación informática con la que se realiza la experiencia es una versión monolingüe del sistema CLEiM denominada MedicalFace70, que preprocesa el texto utilizando como fuentes de conocimiento Freebase y MedlinePlus en inglés, siendo posible utilizar la primera de ellas a través de la anotación local y la segunda a través del sistema remoto OBA. El resto de funcionalidades son semejantes a las desarrolladas para el sistema CLEiM, es 69 path.upmc.edu/cases/case223.html 70 La aplicación está disponible en http://orion.esp.uem.es:8080/MedicalFace/ 170 ESCENARIOS DE APLICACIÓN decir, las búsquedas y el enlazado de conceptos a través de las relaciones semánticas de los Tipos de Freebase y de los sinónimos MeSH en MedlinePlus, así como las búsquedas bibliográficas en PubMed. En la Fig. 25 se muestra la interfaz Web tras procesar la historia clínica de la paciente del caso clínico seleccionado. Figura 25 Interfaz de usuario proporcionado a los estudiantes tras procesar el historial del paciente del caso clínico 223 obtenido del UPMC. Tras el procesado los alumnos obtienen como resultado un amplio conjunto de términos de interés (a partir de las entidades reconocidas en el texto), que proporcionan una idea previa del problema o del diagnóstico, dado que muchos de ellos están relacionados con las patologías cardiacas. Cada uno de estos términos está enlazado con la página asociada a la fuente (campo SOURCE), que nos muestra los conceptos relacionados y la información obtenida a partir de los servicios ofrecidos por la propia fuente de conocimiento. Por ejemplo, el término "atrial fibrillation" es anotado con la fuente Freebase, como enfermedad y como síntoma, y también con la 171 ESCENARIOS DE APLICACIÓN fuente MedlinePlus (que nos indica que es una anotación realizada a través la ontología MedlinePlus Health Topics del NCBO). Esto permite obtener una descripción y relaciones semánticas del término tratándolo como un tipo de enfermedad o como un tipo de síntoma en Freebase, así como una descripción de los tópicos resultantes en MedlinePlus al hacer una búsqueda por este término, que incluye un conjunto de conceptos MeSH para cada tópico. Profundizando en la información de enfermedades de Freebase se puede obtener, además de una descripción, un conjunto de síntomas, factores de riesgo y tratamientos asociados a la enfermedad. Cada uno de estos términos relacionados semánticamente se encuentra también enlazado al tópico de la fuente. En caso de profundizar en el contenido del Tipo síntoma, se puede obtener información semántica a través de las Propiedades "efecto secundario de" (del Tipo tratamiento) y "síntoma de" (del Tipo enfermedad). Si el Tipo seleccionado es un tratamiento, la información relacionada se obtiene a través de las Propiedades "usado para tratar" (del Tipo enfermedad) y "efecto secundario" (del Tipo síntoma). Si se selecciona la fuente MedlinePlus, además de la descripción se obtienen otros resultados relacionados con la búsqueda - tal y como son Arrhythmia, Blood Thinners, entre otros - y los sinónimos de MeSH para cada uno de ellos (los términos MeSH para Arrhythmia son Arrhythmias y Cardiac, mientras que para Blood Thinners son Heparin, Platelet Aggregation Inhibitors, Warfarin y Anticoagulants). Ya por último, existe la posibilidad de capturar el listado de publicaciones científicas en PubMed, a partir de la información resultante en las búsquedas sobre Freebase y sobre MedlinePlus. En el primer caso, se enlazan los conceptos para la búsqueda de publicaciones relacionadas, mientras que en el segundo caso se enlazan tanto los conceptos como los sinónimos MeSH. 172 ESCENARIOS DE APLICACIÓN Cuestionario para la evaluación objetiva de la actividad El examen objetivo está compuesto por un cuestionario tipo test de preguntas, todas basadas en la información que es posible obtener a partir de los conceptos reconocidos por el sistema MedicalFace tras procesar el caso clínico de la paciente, ampliamente estudiado por el conjunto de profesores que han participado en la experiencia. Este cuestionario se encuentra en el Apéndice 3. Aunque estas preguntas no se ajustan de forma exacta a una categorización concreta, de forma aproximada sí que se pueden agrupar según los siguientes tipos: epidemiología presentada por la paciente (pregunta 2), factores de riesgo (pregunta 3), manifestaciones clínicas (preguntas 1 y 9), tratamiento (preguntas 4, 5 ,6 ,7 y 10) y evolución (pregunta 8). Estos tipos servirán para analizar algunas posibles diferencias según el tipo de pregunta en los resultados de la prueba. Diseño de la actividad en el aula La actividad se plantea como una actividad a realizar voluntariamente, aunque influyente en la nota de la asignatura. Se lleva a cabo en un laboratorio en el que cada alumno dispone de una computadora con conexión a internet para realizar el examen. La duración de la prueba se establece en 90 minutos. A los alumnos participantes se les divide aleatoriamente en dos grupos que realizan la prueba durante sesiones distintas. Los alumnos pueden indicar su sexo y edad voluntariamente. 2. Metodología de evaluación Para la evaluación del sistema inteligente a partir de la realización de la actividad de aprendizaje en el aula, se ha procedido del siguiente modo: 173 ESCENARIOS DE APLICACIÓN Se ha diseñado un cuestionario compuesto por 7 preguntas sobre el sistema inteligente, dividido en dos partes (Tabla 21). La primera parte, compuesta por 2 preguntas, está relacionada con la percepción que tienen los estudiantes (después de la experiencia) sobre el soporte al aprendizaje proporcionado por el sistema. La segunda parte, compuesta de 5 preguntas, está orientada a medir la percepción de los estudiantes en relación a la usabilidad del sistema. Todas las preguntas son de tipo Likert (Likert, 1932), utilizándose una escala de 1 a 5 (1 = Totalmente en desacuerdo, 2 = En desacuerdo, 3 = Neutral, 4 = De acuerdo, 5 = Totalmente de acuerdo). Tras ofrecer la posibilidad de participación voluntaria al conjunto de alumnos, se dividen aleatoriamente en dos grupos. Estos grupos se denominarán Grupo A y Grupo B. Con el objetivo de medir las diferencias que pudieran derivarse de la realización del examen de conocimientos cuando los alumnos utilizan libremente todos los recursos disponibles en Internet frente a los alumnos que utilizan el sistema inteligente, a los alumnos del Grupo A se les permite libre acceso a Internet, mientras que a los del Grupo B se les limita a la información obtenida a partir del sistema inteligente. A ninguno de los grupos se les proporciona ninguna orientación ni formación previa, aunque todos los estudiantes del curso habían realizado previamente un seminario sobre búsqueda de información en ciencias de la salud. Tras finalizar la experiencia de aprendizaje y completar el cuestionario objetivo de preguntas tipo test, a los alumnos del 174 ESCENARIOS DE APLICACIÓN Grupo B se les proporciona el cuestionario de preguntas de tipo Likert, para que lo rellenen de forma anónima. Además el profesorado recoge los comentarios realizados por los alumnos. Tabla 21. Cuestionario Likert para la valoración de la percepción sobre el aprendizaje y la usabilidad. APRENDIZAJE SUBJETIVO USABILIDAD SUBJETIVA El sistema me ha ayudado a extraer información relevante sobre el caso El sistema me ha ayudado a reducir el tiempo usado para comprenderlo respecto a una búsqueda tradicional en internet El interfaz es agradable Es fácil de encontrar la información que necesito Me siento cómodo utilizando el sistema La velocidad es razonable Es fácil de aprender a usar 3. Descripción del experimento Tras ofrecer la posibilidad de participar voluntariamente en la experiencia de aprendizaje a un total de 101 alumnos que, en el año académico 20102011 se encuentran cursando una asignatura de segundo curso del grado en Medicina, deciden participar 60 de ellos. Los 60 alumnos participantes se dividen aleatoriamente en los dos grupos A y B. De los 60 alumnos participantes, 26 se agruparon en el Grupo A y 34 en el Grupo B, el 63.3% eran mujeres (38 en total, 17 en el Grupo A y 21 en el Grupo B), el 28.3% eran hombres (17 en total, 8 en el Grupo A y 9 en el Grupo B) y el otro 8.3% no indicaron el sexo (5 en total, 1 en el Grupo A y 4 en el Grupo B). La edad media de los participantes era de 20.51 años (SD = 3.67) con un rango que iba desde los 19 hasta los 37 años. A ambos grupos se les explica que la actividad consiste en la lectura del caso clínico, proporcionado por los docentes en formato electrónico, y en responder adecuadamente a las preguntas planteadas en el cuestionario objetivo. Se les informa sobre el tiempo límite para acabar la prueba, establecido en 90 minutos y, al finalizarla, los profesores toman nota del 175 ESCENARIOS DE APLICACIÓN tiempo empleado por cada alumno. A los alumnos del Grupo B se les proporciona, además, la dirección URL del sistema, indicándoseles que utilicen únicamente la información obtenida a partir del mismo. 4. Resultados y discusión Todos los resultados se encuentran en el Apéndice 4. El tiempo medio consumido por los alumnos del Grupo A fue de 40.80 min (SD = 9.54) mientras que por los del Grupo B fue 45.09 min (SD = 12.70), que es un resultado coherente al tener en cuenta que los alumnos del Grupo B tuvieron que rellenar adicionalmente el cuestionario de percepción subjetiva. Resultados de la prueba objetiva de conocimientos Los resultados de esta prueba son muy prometedores, en cuanto a la utilización de este tipo de sistemas informáticos en actividades educativas. Mientras que los alumnos del Grupo A tienen acceso a toda la información disponible en Internet, con toda la gama de recursos médicos que pueden ser obtenidos de infinidad de sitios Web, los alumnos del Grupo B se ven ciertamente limitados a muy pocas fuentes de conocimiento y a únicamente un par de sitios Web: MedlinePlus y Freebase. Sin embargo, es precisamente el hecho de permitir al profesor definir los caminos a través de los cuales los alumnos acceden a la información, uno de los puntos fuertes de la metodología de aprendizaje propuesta. Antes de realizar la prueba, el profesor ya conoce los posibles mecanismos que alumno puede utilizar para acceder a la información de interés, teniendo además el control de selección de la misma, utilizando criterios de idoneidad de acuerdo con los alumnos a los que está orientada la prueba, calidad y fiabilidad de los datos, claridad 176 ESCENARIOS DE APLICACIÓN del contenido, etc. La nota media obtenida en esta prueba para los alumnos del Grupo A es de 7,69 (SD = 1,38), que es ligeramente inferior a la nota media obtenida por los alumnos del Grupo B, que es de 7,85 (SD = 1,62). El porcentaje medio de preguntas resueltas correctamente por cada uno de los grupos se muestra en la Fig. 26. Todos los alumnos obtienen una calificación superior a 5. Las diferencias más acentuadas, entre los resultados de uno y otro grupo, están localizadas en las siguientes preguntas: en la número 8 (sobre la evolución de la paciente) el 88,46 % de los estudiantes que usaron libremente los recursos de Internet acertaron la respuesta, mientras que la cifra se reduce al 50 % para los estudiantes que usaron MedicalFace; en la número 2 (sobre epidemiología) el 85,29 % de los estudiantes que usan MedicalFace aciertan la respuesta en contraste con el 57,69 % que la aciertan usando Internet sin restricciones; en la número 6 (sobre el tratamiento de la arritmia) el 73,53 % de los estudiantes que utilizan MedicalFace dan la respuesta correcta frente al 50 % que lo hace usando Internet. Estas diferencias pueden estar relacionadas con la longitud del camino de búsqueda hacia la solución utilizando el sistema MedicalFace, que es más largo para la primera de las preguntas (la número 8) mientras que se acorta notablemente en las dos segundas (2 y 6). 177 ESCENARIOS DE APLICACIÓN Figura 26 Porcentaje de respuestas del examen de conocimientos resueltas correctamente por los estudiantes. Resultados de las encuestas de percepción Para el análisis de los resultados a las preguntas de percepción proporcionadas a los alumnos del Grupo B, se han utilizado la mediana, la moda y el recuento total de cada categoría (Tabla 22), en lugar de utilizar medidas como la media y la desviación estándar que son más adecuadas para aquellos tipos de datos en los que el intervalo entre los diferentes valores es objetivamente igual (cuestión que no tiene por qué darse al utilizar este tipo de escalas Likert, donde hay que tener en cuenta la percepción subjetiva entre un valor y otro de cada sujeto), tal y como se menciona en Jamieson (2004). Tabla 22. Conteo de respuestas para cada pregunta subjetiva de aprendizaje (PA) y usabilidad (PU), mediana y moda. 178 ESCENARIOS DE APLICACIÓN PREGUNTA NÚMERO DE RESPUESTAS PARA CADA VALOR LIKERT MODA MEDIANA 6 4 4 15 7 4 4 12 18 3 4 4 8 15 8 4 4 1 8 16 7 4 4 1 5 19 7 4 4 1 1 9 23 5 5 1 2 3 4 5 PA 1 2 2 10 14 PA 2 3 1 8 PU 1 1 0 PU 2 1 2 PU 3 2 PU 4 2 PU 5 0 PA 1 = El sistema me ha ayudado a extraer información relevante sobre el caso PA 2 = El sistema me ha ayudado a reducir el tiempo usado para comprenderlo respecto a una búsqueda tradicional en internet PU 1 = El interfaz es agradable PU 2 = Es fácil de encontrar la información que necesito PU 3 = Me siento cómodo utilizando el sistema PU 4 = La velocidad es razonable PU 5 = Es fácil de aprender a usar La percepción de los estudiantes, tanto en relación con el soporte ofrecido por la herramienta informática para el aprendizaje como en los aspectos de usabilidad de la misma, es muy positiva, situándose el valor umbral mínimo de la mediana y de la moda en 4. Es decir, la mayoría de los estudiantes han percibido que el sistema les ha ayudado a extraer información relevante sobre el caso (PA 1) y les ha ayudado a reducir el tiempo usado para comprenderlo respecto a una búsqueda tradicional en Internet (PA 2). Además, la mayoría han considerado que: el interfaz del sistema es agradable (PU 1), es fácil encontrar la información que se necesita (PU 2), se han sentido cómodos utilizando el sistema (PU 3), la velocidad les parece razonable (PU 4) y es fácil aprender a utilizarlo (PU 5). En concreto, en las preguntas de aprendizaje (Fig. 27): el 58,82 % (20 alumnos) están de acuerdo (41,18 %) o totalmente de acuerdo (17,65 %) en relación a la primera pregunta, frente al 11,76 % (4 alumnos) que están en desacuerdo (5,88 %) o totalmente en desacuerdo (5,88 %); el 64,71 % (22 179 ESCENARIOS DE APLICACIÓN alumnos) están de acuerdo (44,12 %) o totalmente de acuerdo (20,59 %) en relación a la segunda pregunta, frente al 11,76 % (4 alumnos) que están en desacuerdo (2,94 %) o totalmente en desacuerdo (8,82 %). Figura 27 Porcentaje de respuestas en la escala Likert en las dos preguntas sobre la ayuda ofrecida por sistema al aprendizaje (PA). Mientras que en las preguntas sobre usabilidad (Fig. 28) se obtiene que: el 61,76 % (21 alumnos) están de acuerdo (52,94 %) o totalmente de acuerdo (8,82 %) con PU 1, frente al 2,94 % (1 alumno) que está totalmente en desacuerdo; el 67,65 % (23 alumnos) están de acuerdo (44,12 %) o totalmente de acuerdo (23,53 %) con PU 2, frente al 8,82 % (3 alumnos) que está en desacuerdo (5,88 %) o totalmente en desacuerdo (2,94 %); el 67,65 180 ESCENARIOS DE APLICACIÓN % (23 alumnos) están de acuerdo (47,06 %) o totalmente de acuerdo (20,59 %) con PU 3, frente al 8,82 % (3 alumnos) que está en desacuerdo (2,94 %) o totalmente en desacuerdo (5,88 %); el 76,47 % (26 alumnos) están de acuerdo (55,88 %) o totalmente de acuerdo (20,59 %) con PU 4, frente al 8,82 % (3 alumnos) que está en desacuerdo (2,94 %) o totalmente en desacuerdo (5,88 %); el 94,12 % (32 alumnos) están de acuerdo (26,47 %) o totalmente de acuerdo (67,65 %) con PU 5, frente al 2,94 % (1 alumno) que está en desacuerdo (2,94 %). Figura 28 Porcentaje de respuestas en la escala Likert en las cinco preguntas sobre la usabilidad del sistema (PU). 181 ESCENARIOS DE APLICACIÓN Esta percepción en general tan positiva sobre las 5 preguntas de usabilidad, queda reflejada en los valores de la mediana y la moda de las encuestas Likert realizadas por cada usuario (Fig. 29). Observando la mediana por usuario, se puede concluir que el 79,41 % de los estudiantes (27 alumnos) están mayoritariamente de acuerdo (64,71 %, 22 alumnos) o totalmente de acuerdo (14,71 %, 5 alumnos) con las preguntas de usabilidad planteadas, frente al 5,88 % (únicamente 2 alumnos) que están mayoritariamente en desacuerdo (1 alumno) o totalmente en desacuerdo (1 alumno). Observando la moda, se puede concluir que el 73,53 % de los estudiantes (25 alumnos) indican con mayor frecuencia que están de acuerdo (55,88 %, 19 alumnos) o totalmente de acuerdo (17,65 %, 6 alumnos) con las preguntas, frente al 5,88 % (2 alumnos) que indican con mayor frecuencia estar en desacuerdo (1 alumno) o totalmente en desacuerdo (1 alumno) con la usabilidad. Figura 29 Recuento de la mediana y la moda por usuario para las preguntas de usabilidad. 182 ESCENARIOS DE APLICACIÓN Al finalizar las sesiones de evaluación con los alumnos del Grupo B, los profesores de medicina que dirigieron la experiencia en el aula tomaron nota de los comentarios realizados verbalmente por los estudiantes, en relación al empleo de la herramienta MedicalFace. Los comentarios más relevantes, desde el punto de vista de los docentes, estaban relacionados con las limitaciones de la herramienta en relación a la gran cantidad de información ofrecida por Internet, con el idioma utilizado (íntegramente en inglés), con las limitaciones de las búsquedas en PubMed, con la cantidad de información irrelevante que aparecían en el sitio Web de Freebase y con la velocidad de las anotaciones (fundamentalmente relacionado con las anotaciones remotas a través del OBA, que posteriormente ha mejorado su eficiencia notablemente respecto al momento de realización de la experiencia). Sin embargo, a pesar de estos comentarios verbales, no se encuentra un reflejo claro a estas problemáticas en los resultados obtenidos por los estudiantes en la prueba. Por ejemplo, las preguntas relacionadas con las búsquedas bibliográficas en PubMed eran la 4 y la 5. En la pregunta 4 se obtuvieron resultados marginalmente mejores utilizando libremente Internet (92,31 % frente a 88,24 % de aciertos), pero en la pregunta 5 se obtuvo un porcentaje de aciertos claramente superior en los alumnos que utilizaron MedicalFace (82,35 % frente al 65,38 %). 183 ESCENARIOS DE APLICACIÓN 184 CONCLUSIONES CAPÍTULO 7. CONCLUSIONES. A continuación se hará una recapitulación de las principales aportaciones de este trabajo de investigación y las conclusiones fundamentales, en relación con los objetivos planteados en el capítulo 2. 1. Modelo y herramienta bioinformática cross-lingüe Tal y como se mencionaba en el capítulo 1, existe una necesidad de afrontar el desarrollo de nuevas herramientas bioinformáticas que faciliten, a los diferentes especialistas involucrados en las etapas del proceso de traslación de conocimientos en las ciencias de la salud, el acceso a las fuentes de información existentes. Además, el desarrollo de estas herramientas puede estar basado en las diferentes estrategias computacionales ya existentes, pero aplicadas adecuadamente al contexto biomédico. El control de la información integrada a través de estas herramientas permite, por un lado, asegurar la calidad y la fiabilidad de los datos y, por otro lado, la adaptación de los contenidos a diferentes perfiles de usuario. La tarea emergente de reconocimiento cross-lingüe de conceptos tiene una amplia variedad de aplicaciones en diferentes dominios, pero la complejidad de los algoritmos computacionales requeridos dificulta el uso de las técnicas desarrolladas para resolver esta tarea desde sistemas online. Por otro lado, debido fundamentalmente a que los resultados de la tarea se orientan a la resolución de otro tipo de problemas de PLN y minería de texto, los sistemas desarrollados para abordar estas tareas de reconocimiento no se suelen orientar a los usuarios finales humanos y, en particular, a usuarios que no sean expertos en el estas áreas de conocimiento. 185 CONCLUSIONES El modelo de software presentado en esta investigación y su implementación en el dominio biomédico muestran algunas de las posibilidades que tienen estos sistemas de extracción de información, no sólo para dar soporte en la resolución de otros problemas más complejos sino también como utilidad orientada a un conjunto de usuarios finales, que tienen como objetivo la resolución de una prueba en el ámbito educativo. En los capítulos 3 y 4 se ha descrito el proceso de selección de fuentes de conocimiento y el desarrollo del sistema para el reconocimiento de conceptos en inglés y español, que son preprocesados para su posterior procesamiento local de forma online. Además, se ha mostrado cómo este proceso se puede integrar con otros servicios de anotación, como es el extraordinario servicio OBA. Como resultado de estos procesos, se consigue proveer a los clientes del sistema de información cross-lingüe sobre conceptos de interés localizados en el texto enviado al sistema, siendo esta información obtenida desde diferentes enlaces a sitios Web externos. Asimismo, el sistema proporciona un conjunto de enlaces para navegar a través del mismo y obtener información detallada en inglés relacionada con los conceptos extraídos y otros conceptos relacionados semánticamente. 2. Escalabilidad La necesidad de integrar fuentes en diferentes idiomas cuyos contenidos se adapten a diferentes perfiles de usuario en el dominio biomédico, la posibilidad de aplicar el mismo modelo a otros dominios, la capacidad de la herramienta desarrollada para integrar otras técnicas de procesamiento o para dar respuesta a otros clientes, son aspectos planteados como objetivos de escalabilidad del modelo. 186 CONCLUSIONES En el segundo capítulo de esta memoria se ha expuesto el modelo arquitectónico en el que se basa el desarrollo del sistema biomédico CLEiM, que lo hace escalable en varias direcciones, tales como: fuentes de anotación, fuentes de información detallada y semántica, fuentes de conocimiento cross-lingüe, servicios externos para el procesamiento del texto, incorporación de otros sistemas o herramientas (e.g. Villa, Aparicio, Maña, & Buenaga, 2012; Gachet, Aparicio, Buenaga, & Padrón, 2012) y aplicación a diferentes dominios de conocimiento (e.g. Muñoz, Aparicio, Buenaga, Gachet, Puertas, Giráldez, & Gaya, 2011). 3. Evaluación con usuarios El proceso de evaluación con estudiantes, a través de una experiencia de aprendizaje activo en el aula, ha dado lugar al desarrollo de dos metodologías: por un lado, la metodología de aprendizaje activo usando sistemas de extracción de conceptos (sobre la que no se pueden sacar conclusiones de aprendizaje largo plazo) y, por otro lado, una metodología de evaluación de sistemas inteligentes basada en la experiencia de los usuarios al resolver una tarea concreta. Tras los resultados obtenidos en esta experiencia educativa, se ha demostrado que la herramienta utilizada permite al profesorado controlar las fuentes de conocimiento, conociendo por adelantado los diferentes caminos utilizados por los estudiantes para resolver un conjunto de preguntas, sin empeorar por ello los resultados respecto a una actividad equivalente ofreciéndoles a los alumnos un acceso sin restricciones a Internet. Además, teniendo en cuenta la importancia que tiene la motivación y la percepción de los sujetos en el proceso de adquisición de conocimientos en el reciente modelo de educación centrada en el alumno, 187 CONCLUSIONES los resultados en este sentido se pueden considerar muy destacados. Los estudiantes han considerado mayoritariamente que la herramienta es útil en el proceso de aprendizaje, además de ser un sistema usable. Por tanto, la realización de esta actividad ha demostrado el gran potencial que sistemas, como el desarrollado en esta tesis, pueden tener cuando son orientados a los usuarios finales y, más aún, en el ámbito educativo. 4. Resumen de contribuciones del sistema biomédico A continuación se muestra un listado con las cuestiones más importantes que han sido afrontadas al desarrollar el sistema biomédico: Extracción bilingüe de términos para su utilización en tareas de reconocimiento de entidades. Integración de servicios remotos para el procesado de textos con técnicas desarrolladas por terceros, sin depender su funcionamiento exclusivamente de los mismos gracias a los procesos de anotación locales. Proporcionar un conjunto de conceptos relacionados semánticamente: sinónimos (MeSH a partir de MedlinePlus), sinónimos obtenidos por el OBA (anotaciones directas), relaciones "es_un" obtenidas por el OBA (a través del nivel de profundidad en las búsquedas de las ontologías), relaciones del tipo "tiene un" de Freebase (dando lugar a toda una gama de relaciones a partir del término original). Información cross-lingüe para las entidades reconocidas y otros conceptos relacionados. 188 CONCLUSIONES Capacidad para procesar en línea textos largos (a partir de 2 órdenes de magnitud superiores a los permitidos por el servicio OBA, cuyo máximo de 500 palabras ya ha sido mencionado) en tiempos razonables. Aplicación de la herramienta al ámbito educativo con el desarrollo de una actividad de aprendizaje en el aula. Resultados cualitativos en formato estructurado, que han permitido cuantificar la percepción de los usuarios del sistema en relación a dos aspectos: el soporte ofrecido por la herramienta para la tarea educativa y la usabilidad. Escalabilidad del modelo subyacente: Aplicabilidad a otros dominios e idiomas, a otro tipo de tareas de procesamiento del texto, a otras fuentes de extracción de términos, a otras fuentes de información semántica y descriptiva y a otros servicios remotos para el procesamiento del texto. 189 CONCLUSIONES 190 TRABAJO FUTURO CAPÍTULO 8. TRABAJO FUTURO. Dado que la investigación llevada a cabo ha abierto nuevas líneas de investigación, serán precisamente estas nuevas líneas las que constituirán el trabajo futuro sobre el que se pueden centrar los esfuerzos más importantes. Estas nuevas líneas son las siguientes: Desarrollo de nuevas experiencias de evaluación utilizando: o Sistemas de extracción de conceptos cross-lingüe. o Sistemas de anotación que permitan la gestión y reutilización de corpus anotados, para perfiles de usuario con intereses investigadores o alumnos de los últimos cursos. o Sistemas que construyan mapas mentales y conceptuales aprovechando las relaciones semánticas entre las entidades. Análisis cuantitativos y cualitativos con otros actores en el mismo contexto educativo: o Con el profesorado médico, para la selección de las aplicaciones informáticas consideradas más adecuadas a la hora de preparar y realizar en el aula actividades de aprendizaje, así como posibles mejoras de los sistemas que están siendo desarrollados. o Con alumnos de diferentes cursos. o Con personal investigador y docente de otras áreas de conocimiento. Extensión de la experiencia de evaluación a otras herramientas, aprovechando la variedad de usuarios disponibles en la universidad, y a otros contextos más allá del universitario. 191 TRABAJO FUTURO Aplicación de la herramienta a procesos de clasificación automática y agrupamiento del dominio biomédico u otros dominios, utilizando la anotación enriquecida con información semántica. También hay algunos aspectos de la herramienta bioinformática y de la evaluación, presentadas en esta tesis, sobre las que podría ser muy interesante seguir trabajando, tales como: Mediciones a largo plazo sobre el conocimiento adquirido por los alumnos al realizar actividades de aprendizaje como la llevada a cabo, para poder valorar en qué medida este tipo de actividad puede ayudar a fijar los conocimientos en los estudiantes. Explotar otras funcionalidades ofrecidas por el servicio OBA, tal y como son las expansiones de búsqueda de conceptos por los tipos semánticos de UMLS, o por otros servicios como el OBR para la integración de otros recursos. Incorporación de otros elementos de GATE en el pipeline de aplicación, tales como: el componente de anotación de GATE con MetaMap y otros Gazetteer (LKB, extendido, etc.). Valorar el desarrollo de los servicios utilizando recursos como las librerías Jersey orientadas a la construcción de servicios Web RESTful71. Inclusión de algoritmos para la detección de la negación y/o especulación que, en el caso del procesado de casos clínicos, indicarían si los conceptos detectados forman parte de la 71 http://jersey.java.net/ 192 TRABAJO FUTURO sintomatología clínica o realmente aparecen en el texto tras haberse descartado. 193 TRABAJO FUTURO 194 BIBLIOGRAFÍA BIBLIOGRAFÍA Abecker, A., & Elst, L. (2009). Ontologies for Knowledge Management. In S. Staab & R. Studer (Eds.), Handbook on Ontologies (pp. 713-734). Berlin, Heidelberg: Springer Berlin Heidelberg. Adams, S. A. (2010). Revisiting the online health information reliability debate in the wake of «web 2.0»: An inter-disciplinary literature and website review. International Journal of Medical Informatics, 79(6), 391–400. Altbach, P. G., Reisberg, L., & Rumbley, L. (2009). Trends in global higher education: tracking an academic revolution. Report for the UNESCO 2009 World Conference on Higher Education, pp. 111-121. Aparicio, F., Buenaga, M., Rubio, M., & Hernando, A. (2012). An intelligent information access system assisting a case based learning methodology evaluated in higher education with medical students. Computers & Education, 58(4), 1282–1295. Aparicio, F., Buenaga, M., Rubio, M., Hernando, M. A., Gachet, D., Puertas, E., & Giráldez, I. (2011). TMT: A scalable platform to enrich translational medicine environments. Proc. of the IADIS International Conference e-Society 2011 (pp. 401-405), Avila, Spain. Aparicio, F., Buenaga, M., Rubio, M., Hernando, M. A., Gachet, D., Puertas, E., & Giráldez, I. (2011). TMT: A tool to guide users in finding information on clinical texts. Revista de la Sociedad Española de Procesamiento de Lenguaje Natural, 46, 27-34 Aparicio, J. J., & Moneo, M. R. (2005). Constructivism, the So-Called Semantic Learning Theories, and Situated Cognition versus the 195 BIBLIOGRAFÍA Psychological Learning Theories. The Spanish Journal of Psychology, (002), 180–198. Armano, G., Gemmis, M., Semerano, G., & Vargiu, E. (2010). Intelligent Information Access. Springer. Aronson, A. R. (2001). Effective mapping of biomedical text to the UMLS Metathesaurus: the MetaMap program. Proceedings AMIA Annual Symposium, 17–21. Aronson, A. R., & Lang, F. M. (2010). An overview of MetaMap: historical perspective and recent advances. Journal of the American Medical Informatics Association, 17(3), 229–236. Auer, S., Bizer, C., Kobilarov, G., Lehmann, J., Cyganiak, R., & Ives, Z. (2007). DBpedia: A Nucleus for a Web of Open Data. En K. Aberer, K.-S. Choi, N. Noy, D. Allemang, K.-I. Lee, L. Nixon, J. Golbeck, et al. (Eds.), The Semantic Web, Lecture Notes in Computer Science (Vol. 4825, pp. 722–735). Springer Berlin / Heidelberg. Baeten, M., Kyndt, E., Struyven, K., & Dochy, F. (2010). Using studentcentred learning environments to stimulate deep approaches to learning: Factors encouraging or discouraging their effectiveness. Educational Research Review, 5(3), 243-260. Baldoni, M., Baroglio, C., Patti, V., & Rena, P. (2011). ArsEmotica: emotions in the social semantic web. Proceedings of the 7th International Conference on Semantic Systems, I-Semantics’11 (pp. 171–174). New York, NY, USA: ACM. Baumgartner, W. A., Cohen, K. B., Fox, L. M., Acquaah-Mensah, G., & Hunter, L. (2007). Manual curation is not sufficient for annotation of genomic databases. Bioinformatics, 23(13), i41–i48. 196 BIBLIOGRAFÍA Bellazzi R., C. Larizza, M. Gabetta, G. Milani, A. Nuzzo, V. Favalli y E. Arbustini. 2010. Translational Bioinformatics: Challenges and Opportunities for Case-Based Reasoning and Decision Support. LNCS: Case-Based Reasoning, Vol. 6176, pp. 1-11. Bizer, C., Lehmann, J., Kobilarov, G., Auer, S., Becker, C., Cyganiak, R., & Hellmann, S. (2009). DBpedia - A crystallization point for the Web of Data. Web Semantics: Science, Services and Agents on the World Wide Web, 7(3), 154-165. Bhogal, J., Macfarlane, A., & Smith, P. (2007). A review of ontology based query expansion. Information Processing & Management, 43(4), 866–886. Bodenreider, O. (2008). Biomedical ontologies in action: role in knowledge management, data integration and decision support. Yearbook of Medical Informatics, 67–79. Bollacker, K., Evans, C., Paritosh, P., Sturge, T., & Taylor, J. (2008). Freebase: a collaboratively created graph database for structuring human knowledge. Proceedings of the 2008 ACM SIGMOD international conference on Management of data, SIGMOD’08 (pp. 1247–1250). New York, NY, USA: ACM. Brand-Gruwel, S., & Stadtler, M. (2011). Solving information-based problems: Evaluating sources and information. Learning and Instruction, 21(2), 175-179. Brenes, D. J., Gayo-Avello, D., & Pérez-González, K. (2009). Survey and evaluation of query intent detection methods. Proceedings of the 2009 workshop on Web Search Click Data, WSCD’09 (pp. 1–7). New York, NY, USA: ACM. 197 BIBLIOGRAFÍA Chen, J., & Li, F. (2010). Resource acquisition, sharing, and use in intelligent information access: An investigation of the researchers. Proceedings of the American Society for Information Science and Technology, 47(1), 1-10. Chodos, D., Stroulia, E., Boechler, P., King, S., Kuras, P., Carbonaro, M., & de Jong, E. (2010). Healthcare education with virtual-world simulations. Proceedings of the 2010 ICSE Workshop on Software Engineering in Health Care, SEHC’10 (pp. 89-99). Cape Town, South Africa. Choi, I., Rho, S., Jeong, Y. S., & Kim, M. (2011). Relation Extraction from Documents for the Automatic Construction of Ontologies. En J. J. Park, L. T. Yang, & C. Lee (Eds.), Future Information Technology (Vol. 184, pp. 21–28). Berlin, Heidelberg: Springer Berlin Heidelberg. Clark, D. B., Touchman, S., Martinez-Garza, M., Ramirez-Marin, F., & Skjerping Drews, T. (2012). Bilingual language supports in online science inquiry environments. Comput. Educ., 58(4), 1207–1224. Cook, D. A., Levinson, A. J., Garside, S., Dupras, D. M., Erwin, P. J., & Montori, V. M. (2008). Internet-Based Learning in the Health Professions. JAMA: The Journal of the American Medical Association, 300(10), 1181 -1196. Cruz-Toledo, J., McKeague, M., Zhang, X., Giamberardino, A., McConnell, E., Francis, T., DeRosa, M. C., et al. (2012). Aptamer base: a collaborative knowledge base to describe aptamers and SELEX experiments. Database: The Journal of Biological Databases and Curation, 2012. Davies, J., Grobelnik, M., & Mladenić, D. (2009). Semantic Knowledge Management: Integrating Ontology Management, Knowledge Discovery, and Human Language Technologies. Springer. 198 BIBLIOGRAFÍA D’Antoni, A., Zipp, G., Olson, V., & Cahill, T. (2010). Does the mind map learning strategy facilitate information retrieval and critical thinking in medical students? BMC Medical Education, 10(1), 61. D’Antoni, A., Zipp, G., & Olson, V. (2011). Interrater reliability of the mind map assessment rubric in a cohort of medical students. BMC Medical Education, 9, 19-19. De la Villa, M., Aparicio, F., Maña, M., & Buenaga, M. (2012). A learning support tool with clinical cases based on concept maps and medical entity recognition. Proceedings of the 2012 ACM international conference on Intelligent User Interfaces, IUI’12 (pp. 61–70). New York, NY, USA: ACM. Dolmans, D. H. J. M., & van der Vleuten, C. P. M. (2010). Research in medical education: pratical impact on medical training and future challenges. GMS Zeitschrift für medizinische Ausbildung, 27(2). Dowell, K. G., McAndrews-Hill, M. S., Hill, D. P., Drabkin, H. J., & Blake, J. A. (2009). Integrating text mining into the MGI biocuration workflow. Database: The Journal of Biological Databases and Curation, 2009. Embley, D., & Zitzelberger, A. (2010). Theoretical Foundations for Enabling a Web of Knowledge. En S. Link & H. Prade (Eds.), Foundations of Information and Knowledge Systems, Lecture Notes in Computer Science (Vol. 5956, pp. 211–229). Springer Berlin / Heidelberg. Embley, D. W., Liddle, S. W., Lonsdale, D. W., & Tijerino, Y. (2011). Multilingual Ontologies for Cross-Language Information Extraction and Semantic Search. En M. Jeusfeld, L. Delcambre, & T.-W. Ling (Eds.), Conceptual Modeling – ER 2011 (Vol. 6998, pp. 147–160). Berlin, Heidelberg: Springer Berlin Heidelberg. 199 BIBLIOGRAFÍA Espinoza, M., Gómez-Pérez, A., & Mena, E. (2008). Enriching an Ontology with Multilingual Information. En S. Bechhofer, M. Hauswirth, J. Hoffmann, & M. Koubarakis (Eds.), The Semantic Web: Research and Applications (Vol. 5021, pp. 333–347). Berlin, Heidelberg: Springer Berlin Heidelberg. Federico, M. (2011). Cross-Language Information Retrieval Jian-Yun Nie (University of Montreal) San Rafael, CA: Morgan & Claypool (Synthesis Lectures on Human Language Technologies, edited by Graeme Hirst, volume 8), 2010. Computational Linguistics, 37(2), 411–412. Feldman, R., & Sanger, J. (2007). The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data. Cambridge University Press. Fu, B., Brennan, R., & O’Sullivan, D. (2009). Cross-Lingual Ontology Mapping – An Investigation of the Impact of Machine Translation. En A. Gómez-Pérez, Y. Yu, & Y. Ding (Eds.), The Semantic Web (Vol. 5926, pp. 1–15). Berlin, Heidelberg: Springer Berlin Heidelberg. Gachet, D., Aparicio, F., Buenaga, M., & Padrón, V. (2012). Personalized Health Care System with Virtual Reality Rehabilitation and Appropriate Information for Seniors. Sensors, 12(5), 5502–5516. Gijbels, D., & Loyens, S. M. M. (2009). Constructivist learning (environments) and how to avoid another tower of Babel: reply to Renkl. Instructional Science, 37(5), 499-502. Gómez-Pérez, A., Fernández-López, M., & Corcho, O. (2004). Ontological engineering : with examples from the areas of knowledge management, e-commerce and the semantic web. London: SpringerVerlag. 200 BIBLIOGRAFÍA Gracia, J., Montiel-Ponsoda, E., Cimiano, P., Gómez-Pérez, A., Buitelaar, P., & McCrae, J. (2012). Challenges for the multilingual Web of Data. Web Semantics: Science, Services and Agents on the World Wide Web, 11(0), 63–71. Graf, S., Kinshuk, & Holzinger, A. (2010). International Workshop on Enabling User Experience with Future Interactive Learning Systems (UXFUL 2010). In G. Leitner, M. Hitz, & A. Holzinger (Eds.), HCI in Work and Learning, Life and Leisure (Vol. 6389, pp. 318-321). Berlin, Heidelberg: Springer Berlin Heidelberg. Gruber, T. R. (1993). A translation approach to portable ontology specifications. Knowl. Acquis., 5(2), 199–220. Guerrero, A. E., Minguillón, J., Guàrdia, L., & Sangrà, A. (2009). Metadata for describing learning scenarios under the European Higher Education Area paradigm. In M.-A. Sicilia & M. D. Lytras (Eds.), Metadata and Semantics (pp. 69-79). Boston, MA: Springer US. Hamburg, M. A., & Collins, F. S. (2010). The Path to Personalized Medicine. New England Journal of Medicine, 363(4), 301–304. Han, X., & Zhao, J. (2009). CASIANED: Web Personal Name Disambiguation Based on Professional Categorization. Proceedings of 2nd Web People Search Evaluation Workshop (WePS2) 2009, Madrid, Spain. Hancock, D., Morrison, N., Velarde, G., & Field, D. (2009). Terminizer Assisting Mark-Up of Text Using Ontological Terms. Nature Precedings. Heilman, J. M., Kemmann, E., Bonert, M., Chatterjee, A., Ragar, B., Beards, G. M., Iberri, D. J., et al. (2011). Wikipedia: A Key Tool for Global Public Health Promotion. Journal of Medical Internet Research, 13(1). 201 BIBLIOGRAFÍA Hildebrand, M., & van Ossenbruggen, J. (2012). Linking User Generated Video Annotations to the Web of Data. En K. Schoeffmann, B. Merialdo, A. Hauptmann, C.-W. Ngo, Y. Andreopoulos, & C. Breiteneder (Eds.), Advances in Multimedia Modeling, Lecture Notes in Computer Science (Vol. 7131, pp. 693–704). Springer Berlin / Heidelberg. Holzinger, A., Emberger, W., Wassertheurer, S., & Neal, L. (2008). Design, development and evaluation of online interactive simulation software for learning human genetics. Springer e & i Elektrotechnik und Informationstechnik, 125, 190-196. Holzinger, A., Kickmeierrust, M., Wassertheurer, S., & Hessinger, M. (2009). Learning performance with interactive simulations in medical education: Lessons learned from results of learning complex physiological models with the HAEMOdynamics SIMulator. Computers & Education, 52, 292-301. Holzinger, A., Mayr, S., Slany, W., & Debevc, M. (2010). The influence of AJAX on Web usability. Proceedings of the 2010 International Conference on e-Business (ICE-B) (pp. 1-4). Presented at the Proceedings of the 2010 International Conference on e-Business (ICE-B), IEEE. Honekamp, W., & Ostermann, H. (2010). Anamneses-Based Internet Information Supply: Can a Combination of an Expert System and Meta-Search Engine Help Consumers find the Health Information they Require? The Open Medical Informatics Journal, 4, 12–20. Huang, C. J., Liu, M. C., Chu, S. S., & Cheng, C. L. (2007). An intelligent learning diagnosis system for Web-based thematic learning platform. Computers & Education, 48(4), 658–679. 202 BIBLIOGRAFÍA Ide, N. C., Loane, R. F., & Demner-Fushman, D. (2007). Essie: A ConceptBased Search Engine for Structured Biomedical Text. Journal of the American Medical Informatics Association, 14(3), 253–263. Jamieson, S. (2004). Likert scales: how to (ab)use them. Medical Education, 38(12), 1217-1218. Jiang, G., Solbrig, H. R., & Chute, C. G. (2011). ADEpedia: A Scalable and Standardized Knowledge Base of Adverse Drug Events Using Semantic Web Technology. AMIA Annual Symposium Proceedings, 2011, 607–616. Jonquet, C., Musen, M. A., & Shah, N. (2008). A System for Ontology-Based Annotation of Biomedical Data. En A. Bairoch, S. Cohen-Boulakia, & C. Froidevaux (Eds.), Data Integration in the Life Sciences (Vol. 5109, pp. 144–152). Berlin, Heidelberg: Springer Berlin Heidelberg. Jonquet, C., Shah, N. H., & Musen, M. A. (2009). The Open Biomedical Annotator. AMIA Summit on Translational Bioinformatics, 2009 (pp. 56-60). San Francisco, CA, USA. Jonquet, C., Musen, M. A., & Shah, N. H. (2010). Building a biomedical ontology recommender web service. Journal of Biomedical Semantics, 1(Suppl 1), S1. Jonquet, C., LePendu, P., Falconer, S., Coulet, A., Noy, N. F., Musen, M. A., & Shah, N. H. (2011). NCBO Resource Index: Ontology-based search and mining of biomedical resources. Web Semantics: Science, Services and Agents on the World Wide Web, 9(3), 316–324. Karimi, S., Zobel, J., & Scholer, F. (2012). Quantifying the impact of concept recognition on biomedical information retrieval. Information Processing & Management, 48(1), 94–106. 203 BIBLIOGRAFÍA Karkaletsis, V., Fragkou, P., Petasis, G., & Iosif, E. (2011). Ontology Based Information Extraction from Text. En G. Paliouras, C. D. Spyropoulos, & G. Tsatsaronis (Eds.), Knowledge-Driven Multimedia Information Extraction and Ontology Evolution (Vol. 6050, pp. 89–109). Berlin, Heidelberg: Springer Berlin Heidelberg. Kawamoto, K., Lobach, D. F., Willard, H. F., & Ginsburg, G. S. (2009). A national clinical decision support infrastructure to enable the widespread and consistent practice of genomic and personalized medicine. BMC Medical Informatics and Decision Making, 9, 17. Kienhues, D., Stadtler, M., & Bromme, R. (2011). Dealing with conflicting or consistent medical information on the web: When expert information breeds laypersons’ doubts about experts. Learning and Instruction, 21(2), 193-204. Kim, H., & Hannafin, M. J. (2011). Developing situated knowledge about teaching with technology via Web-enhanced Case-based activity. Computers & Education, 57(1), 1378-1388. Krallinger, M., & Valencia, A. (2005). Text-mining and information-retrieval services for molecular biology. Genome Biology, 6(7), 224. Likert, R. (1932). A technique for the measurement of attitudes. Archives of Psychology, 22(140), 1-55. Liu, G., Lu, Z., Hao, T., & Liu, W. (2011). Automatic Short Text Annotation for Question Answering System. En J. Filipe, J. Cordeiro, W. Aalst, J. Mylopoulos, M. Rosemann, M. J. Shaw, & C. Szyperski (Eds.), Web Information Systems and Technologies, Lecture Notes in Business Information Processing (Vol. 75, pp. 245–258). Springer Berlin Heidelberg. 204 BIBLIOGRAFÍA Lowe, H. J., Ferris, T. A., Hernandez, P. M., & Weber, S. C. (2009). STRIDE – An Integrated Standards-Based Translational Research Informatics Platform. AMIA Annual Symposium Proceedings, 2009, 391–395. Luciano, J. S., Andersson, B., Batchelor, C., Bodenreider, O., Clark, T., Denney, C. K., Domarew, C., et al. (2011). The Translational Medicine Ontology and Knowledge Base: driving personalized medicine by bridging the gap between bench and bedside. Journal of Biomedical Semantics, 2(Suppl 2), S1. Luo, G., & Tang, C. (2008). On iterative intelligent medical search. Proceedings of the 31st annual international ACM SIGIR conference on Research and development in information retrieval, SIGIR’08 (pp. 3–10). New York, NY, USA: ACM. McCrae, J., Espinoza, M., Montiel-Ponsoda, E., Aguado-de-Cea, G., & Cimiano, P. (2011). Combining statistical and semantic approaches to the translation of ontologies and taxonomies. Proceedings of the Fifth Workshop on Syntax, Semantics and Structure in Statistical Translation, SSST-5 (pp. 116–125). Stroudsburg, PA, USA: Association for Computational Linguistics. McNamee, P., Mayfield, J., Lawrie, D., Oard, D., & Doermann, D. (2011). Cross-Language Entity Linking. Proceedings of 5th International Joint Conference on Natural Language Processing (pp. 255–263). Chiang Mai, Thailand: Asian Federation of Natural Language Processing. Mann, K. V. (2011). Theoretical perspectives in medical education: past experience and future possibilities. Medical Education, 45(1), 60-68. Matos, S., Arrais, J. P., Maia-Rodrigues, J., & Oliveira, J. (2010). Conceptbased query expansion for retrieving gene related publications from MEDLINE. BMC Bioinformatics, 11(1), 212. 205 BIBLIOGRAFÍA Mayfield, J., Lawrie, D., McNamee, P., & Oard, D. W. (2011). Building a Cross-Language Entity Linking Collection in Twenty-One Languages. En P. Forner, J. Gonzalo, J. Kekäläinen, M. Lalmas, & M. Rijke (Eds.), Multilingual and Multimodal Information Access Evaluation (Vol. 6941, pp. 3–13). Berlin, Heidelberg: Springer Berlin Heidelberg. Melo, G., & Siersdorfer, S. (2007). Multilingual Text Classification Using Ontologies. En G. Amati, C. Carpineto, & G. Romano (Eds.), Advances in Information Retrieval (Vol. 4425, pp. 541–548). Berlin, Heidelberg: Springer Berlin Heidelberg. Meyer, S. M., Degener, J., Giannandrea, J., & Michener, B. (2010). Optimizing schema-last tuple-store queries in graphd. Proceedings of the 2010 international conference on Management of data, SIGMOD’10 (pp. 1047–1056). New York, NY, USA: ACM. Mirhaji, P., Zhu, M., Vagnoni, M., Bernstam, E. V., Zhang, J., & Smith, J. W. (2009). Ontology driven integration platform for clinical and translational research. BMC Bioinformatics, 10(Suppl 2), S2. Motik, B., Maedche, A., & Volz, R. (2002). A Conceptual Modeling Approach for Semantics-Driven Enterprise Applications. In R. Meersman & Z. Tari (Eds.), On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, and ODBASE (Vol. 2519, pp. 1082-1099). Berlin, Heidelberg: Springer Berlin Heidelberg. Muñoz, R., Aparicio, F., Buenaga, M., Gachet, D., Puertas, E., Giráldez, I., & Gaya, M. C. (2011). Tourist Face: A Contents System Based on Concepts of Freebase for Access to the Cultural-Tourist Information. In R. Muñoz, A. Montoyo, & E. Métais (Eds.), Natural Language Processing and Information Systems (Vol. 6716, pp. 300-304). Berlin, Heidelberg: Springer Berlin Heidelberg. 206 BIBLIOGRAFÍA Musen, M. A., Shah, N. H., Noy, N. F., Dai, B. Y., Dorf, M., Griffith, N., Buntrok, J., Jonquet, C., Montegut, M. J., & Rubin, D. L. (2008). BioPortal: ontologies and data resources with the click of a mouse. Annual Symposium Proceedings / AMIA Symposium, 1223-1224. Noy, N. F., Shah, N. H., Whetzel, P. L., Dai, B., Dorf, M., Griffith, N., Jonquet, C., Rubin, D. L., Storey, M. A., Chute, C. G., & Musen, M. A. (2009). BioPortal: ontologies and integrated data resources at the click of a mouse. Nucleic Acids Research, 37(Web Server issue), W170-173. Pafilis, E., O’Donoghue, S. I., Jensen, L. J., Horn, H., Kuhn, M., Brown, N. P., & Schneider, R. (2009). Reflect: augmented browsing for the life scientist. Nature Biotechnology, 27(6), 508–510. Plumbaum, T., Lommatzsch, A., De Luca, E., & Albayrak, S. (2012). SERUM: Collecting Semantic User Behavior for Improved News Recommendations. En L. Ardissono & T. Kuflik (Eds.), Advances in User Modeling, Lecture Notes in Computer Science (Vol. 7138, pp. 402–405). Springer Berlin / Heidelberg. Rebholz-Schuhmann, D., Arregui, M., Gaudan, S., Kirsch, H., & Jimeno, A. (2008). Text processing through Web services: calling Whatizit. Bioinformatics, 24(2), 296–298. Reeve, L. H., & Han, H. (2007). CONANN: An Online Biomedical Concept Annotator. En S. Cohen-Boulakia & V. Tannen (Eds.), Data Integration in the Life Sciences (Vol. 4544, pp. 264–279). Berlin, Heidelberg: Springer Berlin Heidelberg. Reeve, L. H., Han, H., & Brooks, A. D. (2008). Online Biomedical Concept Annotation Using Language Model Mapping. Bioinformatics and Biomedicine, 2008. BIBM’08. IEEE International Conference on (pp. 453–456). 207 BIBLIOGRAFÍA Rethlefsen, M. L. (2009). Medpedia. Journal of the Medical Library Association : JMLA, 97(4), 325–326. Rubin, D. L., Shah, N. H., & Noy, N. F. (2008). Biomedical Ontologies: A Functional Perspective. Briefings in Bioinformatics, 9(1), 75–90. Ruiz-Rico, F., Vicedo, J. L., & Rubio-Sánchez, M. C. (2008). Multilingual assistant for medical diagnosing and drug prescription based on category ranking. 22nd International Conference on Computational Linguistics: Demonstration Papers, COLING’08, 169–172. Ruttenberg, A., Clark, T., Bug, W., Samwald, M., Bodenreider, O., Chen, H., Doherty, D., et al. (2007). Advancing translational research with the Semantic Web. BMC Bioinformatics, 8(Suppl 3), S2. Ruttenberg, A., Rees, J. A., Samwald, M., & Marshall, M. S. (2009). Life Sciences on the Semantic Web: The Neurocommons and Beyond. Briefings in Bioinformatics, 10(2), 193–204. Sarkar, I. 2010. Biomedical informatics and translational medicine. Translational medicine, 8(1):22+. Scullard, P., Peacock, C., & Davies, P. (2010). Googling Children’s Health: Reliability of Medical Advice on the Internet. Archives of Disease in Childhood, 95(8), 580–582. Segev, A., & Gal, A. (2008). Enhancing portability with multilingual ontologybased knowledge management. Decision Support Systems, 45(3), 567–584. Sellami, Z., Camps, V., Aussenac-Gilles, N., & Rougemaille, S. (2011). Ontology Co-construction with an Adaptive Multi-Agent System: Principles and Case-Study. En A. Fred, J. L. G. Dietz, K. Liu, & J. Filipe (Eds.), Knowledge Discovery, Knowlege Engineering and Knowledge 208 BIBLIOGRAFÍA Management (Vol. 128, pp. 237–248). Berlin, Heidelberg: Springer Berlin Heidelberg. Shah, N. H., Bhatia, N., Jonquet, C., Rubin, D., Chiang, A. P., & Musen, M. A. (2009). Comparison of concept recognizers for building the Open Biomedical Annotator. BMC Bioinformatics, 10(Suppl 9), S14. Sherimon, P. C., Vinu, P. V., & Krishnan, R. (2011). Enhancing the learning experience in blended learning systems. Proceedings of the 2011 International Conference on Communication, Computing & Security ICCCS’11 (pp. 449). Presented at the 2011 International Conference, Rourkela, Odisha, India. Sommerhalder, K., Abraham, A., Zufferey, M. C., Barth, J., & Abel, T. (2009). Internet information and medical consultations: Experiences from patients’ and physicians’ perspectives. Patient Education and Counseling, 77(2), 266–271. Spitkovsky, V. I., & Chang, A. X. (2011). Strong Baselines for Cross-Lingual Entity Linking. Proceedings of the Fourth Text Analysis Conference (TAC 2011). Gaithersburg, Maryland, USA. Stankov, S., Rosic, M., Zitko, B., & Grubisic, A. (2008). TEx-Sys model for building intelligent tutoring systems. Computers & Education, 51(3), 1017-1036. Stark, R., Kopp, V., & Fischer, M. R. (2011). Case-based learning with worked examples in complex domains: Two experimental studies in undergraduate medical education. Learning and Instruction, 21(1), 22-33. Suchanek, F. M., Kasneci, G., & Weikum, G. (2007). Yago: a core of semantic knowledge. Proceedings of the 16th international conference on 209 BIBLIOGRAFÍA World Wide Web, WWW’07 (pp. 697–706). New York, NY, USA: ACM. Sursock, A., & Smidt, H. (2010). Trends 2010: A decade of change in European Higher Education. European University Association, Available at http://www.ond.vlaanderen.be/hogeronderwijs/bologna/2010_con ference/, (accessed 23 Jan 2012). Thompson, P., Iqbal, S. A., McNaught, J., & Ananiadou, S. (2009). Construction of an annotated corpus to support biomedical information extraction. BMC Bioinformatics, 10, 349. Trieschnigg, D., Pezik, P., Lee, V., De Jong, F., Kraaij, W., & RebholzSchuhmann, D. (2009). MeSH Up: Effective MeSH Text Classification for Improved Document Retrieval. Bioinformatics, 25(11), 1412– 1418. Trivedi, M. (2009). A study of search engines for health sciences. Library and Information Science, 1(5), 069-073 Twigger, S., Geiger, J., & Smith, J. (2009). Using the NCBO Web Services for Concept Recognition and Ontology Annotation of Expression Datasets. Proceedings of the Workshop on Semantic Web Applications and Tools for Life Sciences, SWAT4LS’09. Amsterdam, The Netherlands. Varde, A., Suchanek, F., Nayak, R., & Senellart, P. (2009). Knowledge Discovery over the Deep Web, Semantic Web and XML. En X. Zhou, H. Yokota, K. Deng, & Q. Liu (Eds.), Database Systems for Advanced Applications, Lecture Notes in Computer Science (Vol. 5463, pp. 784–788). Springer Berlin / Heidelberg. 210 BIBLIOGRAFÍA Wang, Y., Zhu, M., Qu, L., Spaniol, M., & Weikum, G. (2010). Timely YAGO: harvesting, querying, and visualizing temporal knowledge from Wikipedia. Proceedings of the 13th International Conference on Extending Database Technology, EDBT’10 (pp. 697–700). New York, NY, USA: ACM. Watson, M., Smith, A., & Watter, S. (2005). Leximancer Concept Mapping of Patient Case Studies. In R. Khosla, R. J. Howlett, & L. C. Jain (Eds.), Knowledge-Based Intelligent Information and Engineering Systems (Vol. 3683, pp. 1232-1238). Berlin, Heidelberg: Springer Berlin Heidelberg. Weichselbraun, A. (2009). A Utility Centered Approach for Evaluating and Optimizing Geo-tagging. First International Conference on Knowledge Discovery and Information Retrieval (pp 134-139). Madeira, Portugal. Wertsch, J. V. (1985). Vygotsky and the Social Formation of Mind. Harvard University Press. Whetzel, P. L., Noy, N. F., Shah, N. H., Alexander, P. R., Nyulas, C., Tudorache, T., & Musen, M. A. (2011). BioPortal: enhanced functionality via new Web services from the National Center for Biomedical Ontology to access and use ontologies in software applications. Nucleic Acids Research, 39 (Web Server), W541–W545. Wilbur, W. J., Rzhetsky, A., & Shatkay, H. (2006). New directions in biomedical text annotation: definitions, guidelines and corpus construction. BMC Bioinformatics, 7, 356. Wong, G., Greenhalgh, T., & Pawson, R. (2010). Internet-based medical education: a realist review of what works, for whom and in what circumstances. BMC Medical Education, 10(1), 12. 211 BIBLIOGRAFÍA Woolf, S. H. 2008. The Meaning of Translational Research and Why It Matters. JAMA 299(2):211-213. Xu, H., Fu, Z., Shah, A., Chen, Y., Peterson, N. B., Chen, Q., Mani, S., et al. (2011). Extracting and Integrating Data from Entire Electronic Health Records for Detecting Colorectal Cancer Cases. AMIA Annual Symposium Proceedings, 2011, 1564–1572. Zou, Q., Chu, W. W., Morioka, C., Leazer, G. H., & Kangarloo, H. (2003). IndexFinder: A Method of Extracting Key Concepts from Clinical Texts for Indexing. AMIA Annual Symposium Proceedings, 2003, 763–767. 212 APÉNDICES APÉNDICE 1 RESULTADOS DEL SERVICIO WEB UTILIZANDO DIFERENTES FUENTES. Tabla 23. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con las fuentes locales. lang source en Freebase ASTHMA 17 23 ASTHMA true en Freebase ASTHMA 17 23 ASTHMA true en MedlinePlus ASTHMA 17 23 ASTHMA true en MedlinePlus concept from to preferred direct CRPS 49 53 CRPS true localurl urlen disease.jsp?term=ASTHM http://www.freebase.com/vie A urlsp Disease w/en/asthma symptom.jsp?term=ASTH http://www.freebase.com/vie MA THMA medlineplus.jsp?term=CR PS Symptom w/en/asthma medlineplus.jsp?term=AS http://www.nlm.nih.gov/med lineplus/asthma.html groups http://www.nlm.nih.gov/m Lungs and edlineplus/spanish/asthma. Breathing | html Immune System http://www.nlm.nih.gov/med http://www.nlm.nih.gov/m lineplus/complexregionalpain edlineplus/spanish/complex Brain and Nerves syndrome.html regionalpainsyndrome.html http://apps.nlm.nih.gov/medl http://apps.nlm.nih.gov/me ineplus/services/mpconnect.c dlineplus/services/mpconn en SnomedCore ASTHMA 17 23 ASTHMA true snomed.jsp?term=ASTH MA fm?mainSearchCriteria.v.cs=2 ect.cfm?mainSearchCriteria .16.840.1.113883.6.96&mainS .v.cs=2.16.840.1.113883.6.9 earchCriteria.v.c=195967001 6&mainSearchCriteria.v.c=1 &informationRecipient.langua 95967001&informationReci geCode.c=en 213 pient.languageCode.c=sp disorder APÉNDICES Tabla 24. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con la fuente remota MedlinePlus y el nivel de profundidad 0. lang source OBA en Medlineplus concept from to preferred direct localurl ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS 49 53 urlen http://purl.bioontology.org/ontology/M NCBO BioPortal EDLINEPLUS/T2 (40397) OBA en Medlineplus (40397) SYMPTOM S OBA en Medlineplus COMPLEX CRPS (40397) REGIONAL PAIN true medlineplus.jsp?term=COMPLEX concept http://purl.bioontology.org/ontology/M NCBO BioPortal EDLINEPLUS/31 concept http://purl.bioontology.org/ontology/M NCBO BioPortal REGIONAL PAIN SYNDROME SYNDROME groups EDLINEPLUS/T382 concept Tabla 25. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con la fuente remota MedlinePlus y el nivel de profundidad 1. lang source concept from to OBA en Medlineplus ASTHMA 17 23 (40397) OBA en Medlineplus SYMPTOMS 37 45 (40397) OBA en CRPS 49 53 Medlineplus 214 preferred direct localurl ASTHMA true medlineplus.jsp?term=ASTHMA SYMPTOMS BRAIN AND NERVES true medlineplus.jsp?term=SYMPTOMS false urlen groups http://purl.bioontology.org/ontolog NCBO BioPortal y/MEDLINEPLUS/T2 concept http://purl.bioontology.org/ontolog NCBO BioPortal y/MEDLINEPLUS/31 concept medlineplus.jsp?term=BRAIN AND http://purl.bioontology.org/ontolog NCBO BioPortal NERVES y/MEDLINEPLUS/14 concept APÉNDICES (40397) OBA en Medlineplus SYMPTOMS (40397) OBA en Medlineplus CRPS (40397) OBA en Medlineplus ASTHMA (40397) OBA en Medlineplus ASTHMA (40397) OBA en Medlineplus CRPS (40397) MEDLINEPLUS HEALTH medlineplus.jsp?term=MEDLINEPL http://purl.bioontology.org/ontolog NCBO BioPortal false TOPICS US HEALTH TOPICS y/MEDLINEPLUS/MTHU000001 concept 37 45 49 53 NEUROLOGIC DISEASES false 17 23 IMMUNE SYSTEM false 17 23 LUNGS AND BREATHING false 49 53 COMPLEX REGIONAL PAIN SYNDROME true medlineplus.jsp?term=NEUROLOG http://purl.bioontology.org/ontolog NCBO BioPortal IC DISEASES y/MEDLINEPLUS/T341 concept medlineplus.jsp?term=IMMUNE http://purl.bioontology.org/ontolog NCBO BioPortal SYSTEM y/MEDLINEPLUS/22 concept medlineplus.jsp?term=LUNGS AND BREATHING http://purl.bioontology.org/ontolog NCBO BioPortal y/MEDLINEPLUS/15 concept medlineplus.jsp?term=COMPLEX http://purl.bioontology.org/ontolog NCBO BioPortal REGIONAL PAIN SYNDROME y/MEDLINEPLUS/T382 concept Tabla 26. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con todas las fuentes remotas y el nivel de profundidad 1. source concept from to preferred direct localurl groups OBA (46462) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (46317) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (40393) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (46442) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (44302) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (42297) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (46302) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome 215 APÉNDICES OBA (44302) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (45824) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (42295) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (40390) SYMPTOMS 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS Sign or Symptom OBA (44686) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (46432) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA Snomed (46116) OBA Snomed (46116) 216 OBA (45776) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (44776) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (44774) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (44774) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Patient or Disabled Group OBA (46453) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (46355) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (45766) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA Snomed (46116) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Patient or Disabled Group OBA (46442) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (46449) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA Snomed (46116) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (45221) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome APÉNDICES OBA (46442) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (42835) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (45553) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (44432) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (4525) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (44774) SYMPTOMS 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS Sign or Symptom OBA (46316) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (40404) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (42280) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (40390) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA (39343) SYMPTOMS 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS Finding OBA (45298) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Sign or Symptom OBA (44103) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (44774) SYMPTOMS 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS NCBO BioPortal concept OBA (40402) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Disease or Syndrome OBA Snomed (46116) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA Sign or Symptom OBA (38631) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (39734) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Disease or Syndrome OBA (46317) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA (45221) SYMPTOMS 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS NCBO BioPortal concept OBA Medlineplus 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept ASTHMA 217 APÉNDICES (40397) 218 OBA (44774) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Sign or Symptom OBA (44774) ASTHMA 17 23 ASTHMA true medlineplus.jsp?term=ASTHMA NCBO BioPortal concept OBA (46054) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Patient or Disabled Group OBA (39343) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT Disease or Syndrome OBA (4525) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA Medlineplus SYMPTOMS (40397) 37 45 SYMPTOMS true medlineplus.jsp?term=SYMPTOMS NCBO BioPortal concept OBA (46442) PATIENT 5 12 PATIENT true medlineplus.jsp?term=PATIENT NCBO BioPortal concept OBA Medlineplus (40397) ASTHMA 17 23 LUNGS AND BREATHING false medlineplus.jsp?term=LUNGS AND BREATHING NCBO BioPortal concept OBA (46462) ASTHMA 17 23 ABNORMALITY OF THE LUNG false medlineplus.jsp?term=ABNORMALITY OF THE LUNG NCBO BioPortal concept OBA (45824) ASTHMA 17 23 OBSTRUCTIVE LUNG DISEASE false medlineplus.jsp?term=OBSTRUCTIVE LUNG DISEASE NCBO BioPortal concept OBA (45553) ASTHMA 17 23 IMMUNOLOGY false medlineplus.jsp?term=IMMUNOLOGY NCBO BioPortal concept OBA (45298) PATIENT 5 12 ENTITY_CONCEPTS false medlineplus.jsp?term=ENTITY_CONCEPTS NCBO BioPortal concept OBA (45553) ASTHMA 17 23 RESPIRATORY false medlineplus.jsp?term=RESPIRATORY Biomedical Occupation or Discipline OBA (46449) PATIENT 5 12 PERSON false medlineplus.jsp?term=PERSON NCBO BioPortal concept OBA (46442) PATIENT 5 12 ROLECODE false medlineplus.jsp?term=ROLECODE Functional Concept OBA (45766) PATIENT 5 12 INDIVIDUAL false medlineplus.jsp?term=INDIVIDUAL NCBO BioPortal concept OBA Medlineplus (40397) CRPS 49 53 NEUROLOGIC DISEASES false medlineplus.jsp?term=NEUROLOGIC DISEASES NCBO BioPortal concept APÉNDICES OBA (42295) ASTHMA 17 23 RESPIRATORY DISORDER false medlineplus.jsp?term=RESPIRATORY DISORDER NCBO BioPortal concept OBA (46453) ASTHMA 17 23 BRONCHIAL DISEASE false medlineplus.jsp?term=BRONCHIAL DISEASE NCBO BioPortal concept OBA (4525) ASTHMA 17 23 NAMEDSYSTEMICDISEASE false medlineplus.jsp?term=NAMEDSYSTEMICDISEASE Disease or Syndrome OBA (45776) PATIENT 5 12 PERSON false medlineplus.jsp?term=PERSON NCBO BioPortal concept NCBO BioPortal concept OBA (40402) ASTHMA 17 23 RESPIRATORY HYPERSENSITIVITY false medlineplus.jsp?term=RESPIRATORY HYPERSENSITIVITY OBA (45553) ASTHMA 17 23 LUNG false medlineplus.jsp?term=LUNG NCBO BioPortal concept OBA (45553) ASTHMA 17 23 AIRWAYS false medlineplus.jsp?term=AIRWAYS NCBO BioPortal concept OBA (40404) ASTHMA 17 23 THYROID ADENOMA false medlineplus.jsp?term=THYROID ADENOMA OBA (46089) PATIENT 5 12 ROLE false medlineplus.jsp?term=ROLE OBA Medlineplus SYMPTOMS (40397) 37 45 MEDLINEPLUS HEALTH TOPICS false medlineplus.jsp?term=MEDLINEPLUS HEALTH TOPICS NCBO BioPortal concept OBA (46302) ASTHMA 17 23 CHRONIC LOWER RESPIRATORY DISEASES (J40-J47) false OBA (40402) ASTHMA 17 23 LUNG DISEASES, OBSTRUCTIVE false medlineplus.jsp?term=LUNG DISEASES, OBSTRUCTIVE NCBO BioPortal concept OBA (46355) ASTHMA 17 23 RESPIRATORY DISORDER false medlineplus.jsp?term=RESPIRATORY DISORDER Disease or Syndrome OBA (46054) PATIENT 5 12 HUMAN / PERSON false medlineplus.jsp?term=HUMAN / PERSON NCBO BioPortal concept OBA (38631) ASTHMA 17 23 DIAGNOSIS false medlineplus.jsp?term=DIAGNOSIS NCBO BioPortal concept OBA (46432) ASTHMA 17 23 LUNG DISEASE false medlineplus.jsp?term=LUNG DISEASE NCBO BioPortal concept OBA (44432) ASTHMA 17 23 OBA (45221) ASTHMA 17 23 OBA (44302) ASTHMA 17 23 RESPIRATORY HYPERSENSITIVITY false CHRONIC OBSTRUCTIVE PULMONARY false DISEASE AND ALLIED CONDITIONS DISEASE STATE false Body Part, Organ, or Organ Component Body Part, Organ, or Organ Component medlineplus.jsp?term=CHRONIC LOWER RESPIRATORY NCBO BioPortal concept DISEASES (J40-J47) medlineplus.jsp?term=RESPIRATORY HYPERSENSITIVITY medlineplus.jsp?term=CHRONIC OBSTRUCTIVE PULMONARY DISEASE AND ALLIED CONDITIONS medlineplus.jsp?term=DISEASE STATE 219 NCBO BioPortal concept NCBO BioPortal concept Pathologic Function APÉNDICES OBA (46442) PATIENT 5 12 SPECIMENROLETYPE false OBA (40390) ASTHMA 17 23 ALLERGIC/HYPERSENSITIVITY false OBA (40390) ASTHMA 17 23 BRONCHUS AND BRONCHIOLE false medlineplus.jsp?term=BRONCHUS AND BRONCHIOLE NCBO BioPortal concept OBA (46316) ASTHMA 17 23 ABNORMALITY OF THE LUNG false 37 45 NONSPECIFIC DISORDERS false OBA (39343) SYMPTOMS 37 SYMPTOMS, SIGNS, AND ILL-DEFINED 45 false CONDITIONS OBA (44432) ASTHMA 17 23 OBA (40402) ASTHMA 17 OBA (44302) ASTHMA 17 OBA (44686) PATIENT OBA (39343) PATIENT OBA (40390) SYMPTOMS 220 ATOPY false 23 BRONCHIAL DISEASES 23 INFLAMMATORY DISORDERS 5 12 5 medlineplus.jsp?term=SPECIMENROLETYPE Disease or Syndrome medlineplus.jsp?term=ALLERGIC/HYPERSENSITIVITY NCBO BioPortal concept medlineplus.jsp?term=ABNORMALITY OF THE LUNG Pathologic Function medlineplus.jsp?term=NONSPECIFIC DISORDERS Disease or Syndrome medlineplus.jsp?term=SYMPTOMS, SIGNS, AND ILLNCBO BioPortal concept DEFINED CONDITIONS medlineplus.jsp?term=ATOPY Disease or Syndrome false medlineplus.jsp?term=BRONCHIAL DISEASES NCBO BioPortal concept false medlineplus.jsp?term=INFLAMMATORY DISORDERS Pathologic Function ROLE false medlineplus.jsp?term=ROLE NCBO BioPortal concept 12 PERSON false medlineplus.jsp?term=PERSON NCBO BioPortal concept OBA (44103) ASTHMA 17 23 CHRONIC LOWER RESPIRATORY DISEASES medlineplus.jsp?term=CHRONIC LOWER RESPIRATORY false NCBO BioPortal concept DISEASES OBA (45138) PATIENT 5 12 PHARE:HOMOSAPIENS OBA (45221) SYMPTOMS 37 SYMPTOMS, SIGNS, AND ILL-DEFINED 45 false CONDITIONS OBA Medlineplus (40397) CRPS 49 53 BRAIN AND NERVES OBA (46442) PATIENT 5 12 OBA (42280) ASTHMA 17 OBA (4525) PATIENT OBA Snomed (46116) ASTHMA false medlineplus.jsp?term=PHARE:HOMOSAPIENS NCBO BioPortal concept medlineplus.jsp?term=SYMPTOMS, SIGNS, AND ILLDEFINED CONDITIONS Disease or Syndrome false medlineplus.jsp?term=BRAIN AND NERVES NCBO BioPortal concept ROLECLASSRELATIONSHIPFORMAL false medlineplus.jsp?term=ROLECLASSRELATIONSHIPFORM AL Sign or Symptom 23 ALLERGIC CONDITIONS NEC false medlineplus.jsp?term=ALLERGIC CONDITIONS NEC NCBO BioPortal concept 5 12 HUMAN false medlineplus.jsp?term=HUMAN NCBO BioPortal concept 17 23 DISORDER OF RESPIRATORY SYSTEM false medlineplus.jsp?term=DISORDER OF RESPIRATORY SYSTEM Disease or Syndrome APÉNDICES medlineplus.jsp?term=BRONCHOSPASM AND OBSTRUCTION NCBO BioPortal concept false medlineplus.jsp?term=AIRWAYS DISEASE Disease or Syndrome DIAGNOSIS/DISEASES COMPONENT false medlineplus.jsp?term=DIAGNOSIS/DISEASES COMPONENT Disease or Syndrome HUMAN / PERSON false medlineplus.jsp?term=HUMAN / PERSON Disease or Syndrome NCBO BioPortal concept OBA (42280) ASTHMA 17 23 BRONCHOSPASM AND OBSTRUCTION false OBA (40390) ASTHMA 17 23 AIRWAYS DISEASE OBA (40393) ASTHMA 17 23 OBA (39734) PATIENT 5 12 OBA (46316) ASTHMA 17 23 IMMUNOLOGIC HYPERSENSITIVITY false medlineplus.jsp?term=IMMUNOLOGIC HYPERSENSITIVITY OBA (46317) ASTHMA 17 23 DISEASE PATHWAY false medlineplus.jsp?term=DISEASE PATHWAY NCBO BioPortal concept OBA (40393) ASTHMA 17 23 RESPIRATORY false medlineplus.jsp?term=RESPIRATORY NCBO BioPortal concept OBA (45824) ASTHMA 17 23 BRONCHIAL DISEASE false medlineplus.jsp?term=BRONCHIAL DISEASE NCBO BioPortal concept OBA (46442) PATIENT 5 12 SPECIMENENTITYTYPE false medlineplus.jsp?term=SPECIMENENTITYTYPE NCBO BioPortal concept ASTHMA 17 23 IMMUNE SYSTEM false medlineplus.jsp?term=IMMUNE SYSTEM NCBO BioPortal concept PATIENT 5 12 PERSON IN THE HEALTHCARE ENVIRONMENT false OBA (46462) ASTHMA 17 23 IMMUNOLOGIC HYPERSENSITIVITY false OBA Medlineplus (40397) OBA Snomed (46116) medlineplus.jsp?term=PERSON IN THE HEALTHCARE NCBO BioPortal concept ENVIRONMENT medlineplus.jsp?term=IMMUNOLOGIC Population Group HYPERSENSITIVITY OBA (46453) ASTHMA 17 23 OBSTRUCTIVE LUNG DISEASE false medlineplus.jsp?term=OBSTRUCTIVE LUNG DISEASE Functional Concept OBA Snomed (46116) ASTHMA 17 23 ASTHMATIC BRONCHITIS true medlineplus.jsp?term=ASTHMATIC BRONCHITIS NCBO BioPortal concept OBA (46317) PATIENT 5 12 VETERINARY PATIENT true medlineplus.jsp?term=VETERINARY PATIENT NCBO BioPortal concept OBA (44776) SYMPTOMS 37 45 DIAGNOSIS true medlineplus.jsp?term=DIAGNOSIS Disease or Syndrome OBA (45138) PATIENT 5 12 PHARE:PATIENT true medlineplus.jsp?term=PHARE:PATIENT NCBO BioPortal concept OBA (44776) PATIENT 5 12 PATIENTS true medlineplus.jsp?term=PATIENTS Qualitative Concept OBA (46089) PATIENT 5 12 PATIENT ROLE true medlineplus.jsp?term=PATIENT ROLE Functional Concept 221 APÉNDICES 222 OBA Medlineplus (40397) CRPS 49 53 COMPLEX REGIONAL PAIN SYNDROME true OBA (46317) ASTHMA 17 23 ASTHMA PATHWAY true medlineplus.jsp?term=COMPLEX REGIONAL PAIN SYNDROME NCBO BioPortal concept medlineplus.jsp?term=ASTHMA PATHWAY Patient or Disabled Group APÉNDICES APÉNDICE 2 PRUEBAS DE EFICIENCIA. Tabla 27. Resultados de todas las pruebas para cada uno de los 12 casos clínicos del UPMC. PRUEBA P1 P2 P3 P4 P5 P6 P7 715 716 28 23 23 27 24 22 42 28 28 2127 2191 2423 2163 2188 2090 2114 2121 2142 8170 8308 8202 23 23 23 24 30 24 38 28 28 3924 5771 7521 6279 5619 6144 6037 5584 5262 8252 8302 8193 RESULTADOS (ms) PARA CADA UNO DE LOS CASOS CLÍNICOS 717 718 719 720 721 722 723 724 22 21 22 22 22 22 25 27 25 3037 3119 3638 3125 3068 3018 3539 3018 3225 8295 8206 8231 20 20 19 20 20 19 23 28 21 1945 1961 2053 2014 1900 1917 1997 1935 2116 8188 8255 8201 21 20 21 19 20 23 22 22 26 2850 3119 2810 3641 3803 3650 2839 2879 3096 8208 8280 8245 18 19 19 19 21 19 21 22 21 2965 3187 2657 2616 2605 2615 2621 3081 2523 8317 8306 8178 20 23 20 21 19 20 25 23 24 3542 3390 4171 4424 3497 3503 3754 3810 3406 8196 8235 8351 19 20 20 19 20 19 22 22 23 2137 2341 2054 2131 2237 2187 2580 2523 2156 8192 8263 8311 19 20 21 19 19 22 22 21 24 2625 3155 2738 3223 2640 2738 2952 2814 2810 8210 8195 8256 223 19 19 20 20 21 20 23 26 23 3313 3891 3502 3380 3827 3504 4311 3487 4981 8197 8424 8269 725 726 19 19 19 20 19 20 22 21 21 2198 2151 2261 2104 2427 2133 2253 2139 2096 8223 8206 8254 19 20 20 25 21 21 24 23 23 4218 5183 6269 6271 4183 6803 5911 4023 3909 8231 8243 8248 APÉNDICES P8 P9 P10 P11 P12 P13 P14 P15 P16 224 8262 8358 8254 8246 8210 8213 9849 10946 16037 10209 12558 9616 10196 8629 10254 8207 8346 8248 8182 8191 8188 8173 8196 8156 12290 14450 11623 8275 8224 8155 8175 8222 8121 30204 27982 27902 25295 27128 27078 24843 24729 32354 8131 8228 8213 8217 8201 8208 8237 8211 8240 24609 28398 23890 8243 8187 8207 8183 8140 8161 17930 20509 19984 16611 19636 22794 17748 19705 20805 8167 8234 8164 8189 8276 8199 8188 8196 8192 16644 19022 21147 8248 8164 8193 8189 8172 8179 17500 10150 7439 9334 8344 12479 7854 10537 8615 8207 8183 8214 8220 8168 8275 8239 8182 8163 9178 9472 11346 8237 8403 8265 8212 8271 8193 18954 21460 17404 16978 18243 17750 18643 16859 19664 8241 8236 8229 8191 8276 8227 8180 8204 8228 22325 19072 21415 8193 8213 8209 8188 8250 8144 11186 14408 10758 13005 15199 13875 12526 14734 11739 8175 8195 8240 8175 8109 8290 8154 8174 8268 15104 18538 12875 8172 8132 8352 9136 8197 8208 26565 26906 22163 22531 27417 20339 29979 22300 24713 8219 8294 8265 8248 8213 8223 8192 8213 8217 24691 26268 19153 8128 8234 8192 8181 8239 8244 9213 14901 16481 10658 10698 11289 10512 10519 12535 8143 8191 8180 8129 8157 8211 8231 8232 8189 19124 15235 9906 8169 8171 8329 8189 8176 8176 10455 14853 19793 12128 15516 55627 10711 12742 87531 8165 8216 8193 8209 8172 8199 8158 8164 8196 12289 11302 13001 8235 8258 8239 8208 8216 8191 20382 22187 22786 21409 22927 17486 19522 17555 17712 8199 8244 8219 8293 8228 8265 8230 8121 8221 23303 45334 21393 8274 8172 8203 8224 8166 8174 11568 11310 10265 9483 9036 9968 9063 9751 10199 8168 8203 8203 8198 8231 8202 8143 8190 8158 12913 7635 10852 8230 8248 8251 8203 8142 8232 29876 24201 32885 23625 27090 33704 34769 22690 30644 8193 8219 8230 8231 8260 8182 8192 8189 8170 29927 24524 26360 APÉNDICES P17 P18 P19 P20 P21 P22 P23 P24 P25 8829 11136 11358 14177 10256 11019 38 36 37 36 38 37 42 40 38 26904 26651 27232 26856 26923 26750 27372 26684 26484 27374 27633 27493 22795 21961 27113 24282 27279 21486 38 39 37 41 40 38 45 42 43 27340 27243 27331 27048 27310 26893 27334 26855 28217 27446 27463 27315 15525 19934 17224 22155 17935 19743 37 37 38 38 37 37 42 41 42 27715 28400 27594 29076 27576 27424 28085 27691 27937 26945 27577 27051 9391 8815 7750 8484 8079 13917 38 35 37 39 38 36 40 39 38 27741 28396 27343 28607 27409 27607 27514 27397 27586 26718 27543 27376 17242 19905 23331 18701 21255 15968 37 36 37 37 36 37 41 39 40 27078 28857 27821 27395 27199 27355 28332 27217 27984 26797 26891 27497 12654 12815 13738 14752 14122 11620 39 37 35 38 37 35 41 39 38 27820 28071 27731 27175 27604 27228 27930 27258 28046 27537 28090 27611 25497 25676 26626 20064 23634 22251 41 36 38 51 39 36 40 39 40 27058 27716 27127 27099 27255 27577 26865 26912 27169 26689 27392 26941 11271 11445 11913 8421 8500 10263 39 36 35 38 37 37 38 38 38 26758 27785 27714 27503 27430 27538 26886 27643 26965 27029 27659 27522 11837 11901 8833 10516 10936 9955 38 36 36 37 38 35 40 39 38 27312 27320 27526 27437 27437 28054 27041 26921 27395 26809 26995 27300 225 21053 20472 20066 22518 24582 24736 38 36 36 37 39 37 39 39 39 27707 27933 28135 28535 27735 27652 30336 27410 27885 27637 27451 27452 8265 11287 10298 13721 11121 9777 37 37 36 38 36 37 41 38 39 27091 27973 27217 27569 27460 26914 27385 27553 27441 26895 27806 26864 29432 29833 27548 36519 23401 31466 37 37 37 38 38 38 41 40 44 27184 28200 27768 28001 26847 27915 27277 27708 27281 28017 28431 28671 APÉNDICES P26 P27 27323 27163 26858 27292 26796 26942 26862 27395 27424 27343 26955 27530 26908 26782 27183 26857 26821 27339 27385 26872 27377 27025 27544 27136 26804 27140 26807 26960 26858 26725 27771 27450 27298 28587 27267 27788 26856 27050 27208 27106 26774 27054 27438 26960 27430 26888 27328 26795 27104 26774 27054 26880 27054 27022 26914 27502 26826 27654 26841 27681 26836 26886 27346 26858 27014 28215 27806 27691 27838 27630 27933 27850 Tabla 28. Valores medios y desviaciones estándar obtenidos para cada uno de los 12 casos clínicos del UPMC. PRUEBA 715 VALOR MEDIO (ms) Y DESVIACIÓN ESTÁNDAR PARA CADA UNO DE LOS CASOS CLÍNICOS 716 717 718 719 720 721 722 723 724 725 726 23,00 0,00 21,67 0,58 19,67 0,58 20,67 0,58 18,67 0,58 21,00 1,73 19,67 0,58 20,00 1,00 19,33 0,58 19,00 0,00 19,67 0,58 26,00 3,46 22,00 0,00 19,67 0,58 20,67 2,08 19,67 1,15 20,00 1,00 19,33 0,58 20,00 1,73 20,33 0,58 19,67 0,58 22,33 2,31 31,33 5,77 25,67 1,15 24,00 3,61 23,33 2,31 21,33 0,58 24,00 1,00 22,33 0,58 22,33 1,53 24,00 1,73 21,33 0,58 23,33 0,58 5.738,67 1.798,72 3.264,67 325,91 1.986,33 58,29 2.926,33 168,05 2.936,33 266,16 3.701,00 414,07 2.177,33 147,69 2.839,33 279,15 3.568,67 294,71 2.203,33 55,19 5.223,33 1.026,09 6.014,00 348,68 3.070,33 53,54 1.943,67 61,50 3.698,00 91,04 2.612,00 6,08 3.808,00 533,48 2.185,00 53,03 2.867,00 312,17 3.570,33 230,76 2.221,33 178,70 5.752,33 1.384,87 5.627,67 389,34 3.260,67 262,32 2.016,00 91,98 2.938,00 138,29 2.741,67 297,93 3.656,67 218,88 2.419,67 230,11 2.858,67 80,85 4.259,67 748,32 2.162,67 81,13 4.614,33 1.124,39 P1 Media 24,67 2,89 Desv. Est. P2 Media 24,33 2,52 Desv. Est. P3 Media 32,67 8,08 Desv. Est. P4 Media 2.247,00 Desv. Est. 155,74 P5 Media 2.147,00 Desv. Est. 50,92 P6 Media 2.125,67 Desv. Est. 14,57 226 APÉNDICES P7 Media Desv. Est. P8 Media Desv. Est. P9 Media Desv. Est. P10 Media Desv. Est. P11 Media Desv. Est. P12 Media Desv. Est. P13 Media Desv. Est. P14 Media Desv. Est. P15 Media Desv. Est. P16 Media Desv. Est. 8.226,67 72,23 8.249,00 54,56 8.244,00 45,90 8.214,67 35,53 8.244,33 36,00 8.267,00 77,27 8.260,67 80,62 8.255,33 59,87 8.220,33 31,79 8.296,67 116,00 8.227,67 24,34 8.240,67 8,74 8.291,33 57,87 8.218,00 60,22 8.212,33 28,38 8.201,67 42,67 8.301,67 88,87 8.205,00 10,58 8.218,67 117,19 8.184,67 53,38 8.223,00 91,80 8.244,00 12,29 8.216,33 52,29 8.243,00 11,36 8.223,00 19,97 8.172,67 50,54 8.161,33 21,50 8.180,00 8,54 8.225,33 40,67 8.194,00 53,25 8.513,67 538,98 8.221,33 35,02 8.180,33 7,51 8.205,00 12,77 8.188,00 31,43 8.192,33 45,94 12.277,33 28.696,00 19.474,33 11.696,33 19.272,67 12.117,33 25.211,33 13.531,67 15.033,67 21.785,00 11.047,67 28.987,33 3.301,84 1.306,58 1.362,95 5.205,70 2.046,69 1.995,28 2.645,43 3.822,60 4.671,62 1.251,40 689,98 4.409,68 10.794,33 26.500,33 19.680,33 10.052,33 17.657,00 14.026,33 23.429,00 10.881,67 27.757,00 20.607,33 1.555,89 1.044,15 3.091,74 2.159,06 637,61 1.104,80 3.623,44 353,33 24.195,50 2.807,69 9.495,67 466,13 28.139,67 5.120,83 9.693,00 921,91 27.308,67 19.419,33 4.369,76 1.548,39 9.002,00 1.382,73 18.388,67 12.999,67 25.664,00 11.188,67 36.994,67 18.263,00 1.419,69 1.552,67 3.926,84 1.165,96 43.777,53 1.093,15 9.671,00 572,21 29.367,67 6.139,82 8.267,00 71,42 8.190,67 52,21 8.188,33 39,58 8.201,33 16,26 8.235,33 6,03 8.203,33 33,29 8.259,33 37,82 8.171,33 25,15 8.191,33 25,54 8.220,67 22,55 8.191,33 20,21 8.214,00 19,00 8.187,00 4,58 8.208,67 8,02 8.221,33 47,61 8.221,00 53,51 8.231,33 42,67 8.191,33 91,60 8.228,00 18,03 8.165,67 41,68 8.193,33 19,14 8.262,00 32,60 8.210,33 18,01 8.224,33 39,43 8.175,00 20,07 8.229,33 15,95 8.192,00 4,00 8.194,67 39,55 8.204,00 24,00 8.198,67 60,87 8.207,33 13,43 8.217,33 24,54 8.172,67 20,43 8.190,67 60,50 8.163,67 24,01 8.183,67 11,93 12.787,67 25.632,33 18.937,67 1.477,75 2.421,97 2.252,68 9.998,67 1.176,05 20.937,33 15.505,67 23.370,67 14.755,00 12.197,33 30.010,00 10.466,67 26.937,00 1.678,28 2.852,79 3.736,75 4.627,71 853,20 13.305,29 2.660,02 2.747,33 227 APÉNDICES P17 Media Desv. Est. P18 Media Desv. Est. P19 Media Desv. Est. P20 Media Desv. Est. P21 Media Desv. Est. P22 Media Desv. Est. P23 Media Desv. Est. P24 Media Desv. Est. P25 Media Desv. Est. P26 Media Desv. Est. 228 10.441,00 23.956,33 17.561,00 1.400,44 2.765,37 2.223,73 8.652,00 832,55 20.159,33 13.069,00 25.933,00 11.543,00 10.857,00 20.530,33 3.052,46 584,94 606,79 332,03 1.753,13 496,08 11.817,33 24.349,00 19.944,33 10.160,00 18.641,33 13.498,00 21.983,00 2.078,84 2.897,08 2.117,19 3.259,95 2.644,00 1.656,62 1.800,03 9.061,33 1.041,42 9.950,00 1.540,76 28.937,67 1.220,07 10.469,00 23.945,33 11.539,67 30.462,00 492,19 1.238,50 2.005,05 6.616,38 37,00 1,00 38,00 1,00 37,33 0,58 36,67 1,53 36,67 0,58 37,00 2,00 38,33 2,52 36,67 2,08 36,67 1,15 36,67 1,15 36,67 0,58 37,00 0,00 37,00 1,00 39,67 1,53 37,33 0,58 37,67 1,53 36,67 0,58 36,67 1,53 42,00 7,94 37,33 0,58 36,67 1,53 37,67 1,15 37,00 1,00 38,00 0,00 40,00 2,00 43,33 1,53 41,67 0,58 39,00 1,00 40,00 1,00 39,33 1,53 39,67 0,58 38,00 0,00 39,00 1,00 39,00 0,00 39,33 1,53 41,67 2,08 26.929,00 27.304,67 27.903,00 27.826,67 27.918,67 27.874,00 27.300,33 27.419,00 27.386,00 27.925,00 27.427,00 27.717,33 291,31 53,59 434,65 531,70 893,51 176,32 361,63 573,54 121,31 214,11 477,03 509,89 26.843,00 27.083,67 28.025,33 27.874,33 27.316,33 27.335,67 27.310,33 27.490,33 27.642,67 27.974,00 27.314,33 27.587,67 87,23 210,78 913,07 642,18 103,56 233,89 243,76 55,10 356,23 487,61 350,96 642,88 26.846,67 27.468,67 27.904,33 27.499,00 27.844,33 27.744,67 26.982,00 27.164,67 27.119,00 28.543,67 27.459,67 27.422,00 465,81 690,91 199,02 95,39 570,47 425,44 163,64 416,13 246,44 1.570,27 85,54 247,69 27.500,00 27.408,00 27.191,00 27.212,33 27.061,67 27.746,00 27.007,33 27.403,33 27.034,67 27.513,33 27.188,33 28.373,00 129,64 80,99 338,46 436,17 379,93 300,20 356,16 331,34 247,89 107,10 535,14 330,84 27.114,67 27.227,00 26.957,67 27.211,33 26.917,00 27.506,33 27.038,00 27.276,00 26.977,33 27.080,67 27.022,67 27.778,33 236,24 316,43 205,06 293,90 193,13 241,48 176,31 273,69 177,86 367,53 281,13 77,31 APÉNDICES P27 Media 27.010,00 27.276,00 27.005,67 27.235,00 26.847,67 27.880,67 26.978,00 27.003,67 26.985,33 27.392,00 27.362,33 27.804,33 293,30 289,24 273,30 117,84 664,86 178,57 284,70 92,61 477,37 742,54 156,58 Desv. Est. 254,90 Tabla 29. Valores medios y desviación estándar resultante del procesado de los 12 casos clínicos del UPMC. PRUEBA VALOR MEDIO (ms) DESVIACIÓN ESTÁNDAR P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 20,58 21,17 24,64 3.234,36 3.324,08 3.223,44 8.245,58 8.229,97 8.221,42 18.260,89 18.251,75 18.996,69 8.211,17 8.212,03 8.194,08 18.461,33 16.799,14 17.155,86 37,06 37,81 1,77 2,12 3,66 1.191,28 1.353,50 1.122,44 22,77 35,12 94,29 6.664,85 7.151,55 9.127,70 29,53 25,25 18,95 6.852,49 6.995,79 7.011,51 0,57 1,56 POR FUENTE VALOR DESVIACIÓN MEDIO (ms) ESTÁNDAR 22,13 3,15 3.260,63 1.191,57 8.232,32 58,72 18.503,11 7.506,31 8.205,76 25,64 17.472,11 6.790,81 38,29 1,78 229 APÉNDICES P21 P22 P23 P24 P25 P26 P27 40,00 27.577,56 27.483,14 27.499,89 27.386,58 27.175,58 27.231,72 1,50 325,98 356,97 466,38 382,94 251,43 332,84 27.520,19 378,87 27.264,63 330,09 Tabla 30. Resultados, valores medios y desviación estándar resultante del procesado de las pruebas con los ficheros de longitud variable. P28 LONGITUD 1 P29 P30 P31 P32 P33 TIEMPOS DE RESPUESTA (ms) LONGITUD 2 P28 P29 P30 P31 P32 P33 287 297 274 270 269 274 270 290 268 264 336 326 296 298 297 299 299 292 293 293 386 326 293 290 290 291 289 285 286 285 19.475 19.199 19.785 15.933 17.953 16.326 16.837 17.894 15.256 18.253 18.612 18.720 15.897 16.746 16.787 17.070 25.170 18.613 17.910 16.280 20.180 18.856 17.815 17.027 19.051 17.177 30.265 19.607 18.744 20.431 298 318 307 303 304 306 322 314 328 308 319 307 311 306 312 310 318 319 322 315 276,30 302,90 302,10 17.691,10 18.180,50 19.915,30 310,80 313,90 329 323 327 325 321 329 342 332 334 328 26.943 24.591 27.762 29.409 34.045 46.516 45.513 49.043 38.223 23.676 24.540 29.804 25.410 38.869 43.492 48.259 33.201 47.495 47.646 30.173 LONGITUD 3 P30 P31 P32 P28 P29 25.428 24.838 22.965 29.841 51.182 44.756 50.397 30.236 38.839 41.646 348 347 334 354 356 353 355 360 356 375 362 363 355 363 358 349 359 370 351 358 425 425 405 439 409 403 402 413 405 421 101.637 63.126 56.546 46.009 88.240 61.333 52.464 44.007 46.810 55.154 105.198 60.410 62.940 45.013 62.386 48.274 58.239 48.870 58.504 48.082 79.134 62.233 51.969 62.448 58.692 66.053 43.513 46.671 62.820 49.260 P33 36.012,80 353,80 358,80 414,70 61.532,60 59.791,60 58.279,30 18.964,60 17.289,35 VALOR MEDIO (ms) 329,00 34.572,10 36.888,90 DESVIACIÓN ESTÁNDAR 230 11,03 15,21 31,84 9,43 5,51 6,00 9.631,89 9.417,28 10.707,19 10,39 6,18 12,31 P34 P35 P36 1.559,19 2.659,36 3.815,76 P37 P38 P39 P34 P35 P36 P37 P38 P39 P34 P35 P36 P37 P38 10.662,03 P39 28.008 28.426 28.776 28.360 28.541 28.954 29.458 31.180 33.043 28.973 27.697 28.341 30.955 32.444 28.295 253.488 235.685 215.571 174.486 204.933 183.152 217.468 250.799 233.545 170.433 198.874 239.533 227.653 194.518 181.910 28.337 28.267 27.849 27.777 28.231 28.910 29.209 29.025 28.925 29.114 28.322 28.501 28.480 28.465 28.539 353.999 392.222 455.643 375.700 365.826 387.848 413.082 454.980 402.244 406.175 360.984 417.418 386.981 362.410 408.748 27.557 27.704 27.532 29.518 28.978 29.011 30.826 30.800 30.258 30.733 28.083 30.192 30.027 30.326 30.076 750.942 634.661 537.191 724.331 526.889 635.629 543.982 535.596 565.240 520.425 535.512 540.215 619.945 527.908 516.980 APÉNDICES 28.322 28.405 28.245 28.330 28.647 29.251 28.661 29.381 28.890 29.404 28.425 28.096 28.134 28.037 28.277 181.600 240.184 174.984 188.405 197.027 173.984 159.234 199.069 170.511 181.820 200.922 197.057 231.154 168.479 188.252 27.747 27.635 27.393 27.376 27.396 28.772 28.641 28.364 28.524 28.396 28.725 27.989 28.033 27.874 28.033 372.879 309.759 295.263 304.032 303.163 485.393 316.729 311.716 301.781 306.451 320.146 309.195 299.672 316.404 281.418 29.600 29.572 30.042 29.683 29.455 30.398 31.583 31.393 30.409 30.292 29.988 31.187 30.455 29.999 30.222 541.078 536.347 528.364 538.258 548.668 540.048 597.760 529.038 551.316 923.124 531.039 557.018 541.195 558.239 1.123.982 594.215,80 605.203,30 VALOR MEDIO (ms) 28.406,00 29.719,50 28.870,10 206.636,30 194.001,50 202.835,20 27.800,80 28.788,00 28.296,10 352.848,60 378.639,90 346.337,60 28.964,10 30.570,30 30.055,50 586.672,90 DESVIACIÓN ESTÁNDAR 214,19 1.359,43 1.545,30 28.546,52 30.457,36 22.894,45 370,26 297,83 290,38 50.809,70 66.030,90 47.639,89 978,62 707,82 778,83 P40 P41 P42 P43 P44 P45 P40 P41 P42 P43 P44 P45 P40 P41 P42 28.450 28.816 28.099 27.473 28.054 27.234 27.951 27.619 27.597 27.643 29.658 29.951 28.862 28.729 28.326 29.247 29.065 28.918 28.820 28.750 28.483 28.933 27.657 27.798 27.628 28.075 27.875 28.036 27.646 28.299 316.448 297.543 252.210 247.383 193.980 172.771 147.111 147.601 231.204 139.948 315.024 255.171 265.389 238.544 143.953 143.336 141.604 143.156 156.774 140.036 253.466 237.805 247.279 230.054 159.720 141.175 144.970 185.532 147.281 139.011 27.562 27.771 28.303 28.425 28.999 29.187 28.860 28.270 27.716 27.645 28.748 28.970 29.057 28.564 30.397 32.246 30.442 28.759 29.239 29.229 27.863 28.010 27.806 28.430 29.726 29.592 28.831 28.201 27.947 27.939 278.249 385.971 488.794 407.270 477.827 366.163 299.509 326.680 287.630 280.080 347.094 416.129 790.898 500.880 612.522 363.749 287.880 316.145 291.336 289.556 318.620 749.294 728.140 786.261 454.225 502.456 300.461 365.519 285.902 277.268 27.517 28.613 28.686 28.186 28.475 27.854 28.976 28.397 27.158 28.796 28.956 30.412 30.061 29.392 28.611 29.815 30.259 28.697 29.439 29.928 29.364 30.408 29.893 29.329 29.302 29.721 29.954 29.656 29.578 30.232 85.673,42 120.727,10 184.484,81 P43 P44 674.461 1.501.846 632.989 1.176.685 922.809 704.976 1.040.495 688.191 594.596 586.784 554.671 551.989 662.613 551.135 596.362 547.728 569.920 578.920 557.334 577.170 P45 824.067 893.612 1.248.127 566.571 559.963 630.276 562.098 571.444 566.459 601.308 VALOR MEDIO (ms) 27.893,60 29.032,60 28.043,00 214.619,90 194.298,70 188.629,30 28.273,80 29.565,10 28.434,50 359.817,30 421.618,90 476.814,60 28.265,80 29.557,00 29.743,70 680.625,00 746.542,40 702.392,50 DESVIACIÓN ESTÁNDAR 479,56 476,14 424,18 63.952,14 66.806,73 48.250,37 595,65 1.145,01 715,27 79.228,87 167.149,79 205.240,68 587,60 231 642,82 379,06 166.203,70 326.344,76 225.747,21 APÉNDICES APÉNDICE 3 EXAMEN DE TIPO TEST. Tabla 31. Preguntas del examen tipo test con el que se examinó a los alumnos. Pregunta Respuesta tipo test a seleccionar 1.-Señala la respuesta FALSA c a.-Todos los pacientes con fibrilación auricular presentan síntomas b.-La fibrilación auricular es el tipo de arritmia más frecuente c.-Un paciente con fibrilación auricular puede presentar dolor torácico y astenia d.-La fibrilación auricular aumenta el riesgo de accidente cerebrovascular a.-Es la valvulopatía menos frecuente en la población general b.-No tiene relación con el problema cardíaco que presenta nuestra paciente c.-Puede justificar la regurgitación mitral d.-Tiene una prevalencia mayor en mujeres que en varones a.-La hipertensión arterial b.-Tener entre 30 y 40 años c.-El hipertiroidismo d.-El consumo excesivo de alcohol a.-El cateterismo cardíaco sólo está indicado para el tratamiento de la enfermedad coronaria pero no se realiza con fines diagnósticos b.-En un estudio publicado en enero de 2011 por Tumbarello et al. se demuestra que el cateterismo cardíaco es un factor de riesgo de bacteriemia por Pseudomonas aeruginosa. c.-En el caso clínico el cateterismo cardíaco se realiza para revertir la fibrilación auricular que presenta la paciente. d.-Todas son falsas a.-En un estudio publicado en enero de 2011 por Freemantle et al. en el que revisan los resultados de ensayos clínicos publicados sobre diferentes antiarrítmicos, llegan a la conclusión de que la amiodarona es el más efectivo en el mantenimiento del ritmo sinusal pero también el que con más frecuencia produce efectos adversos graves b.-Es un antiarrítmico que actúa aumentando la diuresis c.-Se clasifica como antiarrítmico de clase II porque su principal efecto es beta-bloqueante d.-Se utiliza exclusivamente en el tratamiento de arritmias supraventriculares a.-Los antiarrítmicos que se utilizan no interactúan con ningún otro fármaco b.-Algunos antiarrítmicos producen fotosensibilidad con aparición de reacciones cutáneas tras exposición a luz solar. c.-Todos los antiarrítmicos tienen el mismo mecanismo de acción 2.-La insuficiencia mitral a 3.-Señala cuál de los siguientes no se considera factor de riesgo de fibrilación auricular b 4.-En relación al cateterismo cardíaco d 5.- Señala la correcta en relación con la amiodarona d 6.-En el tratamiento de una arritmia d 232 APÉNDICES d.- La ablación con radiofrecuencia es una posibilidad terapéutica cuando la arritmia no puede ser controlada con fármacos 7.-La digoxina d a.-Aumenta la contractilidad del músculo cardíaco b.-Acelera el ritmo cardíaco c.-Actúa exclusivamente sobre el miocardio y no produce ningún efecto adverso d.-Todas son correctas 8.-La taquicardia ventricular en esta a.-Al recibir tratamiento se estabilizó en un ritmo de 100 latidos por minuto paciente e b.-Pudo ser consecuencia del tratamiento con digoxina y de la alteración valvular. c.-Aunque no se hubiera tratado no habría tenido consecuencias importantes d.-Nunca se hubiera presentado sin una enfermedad cardíaca de base 9.-¿Qué es “anasarca” y por qué crees a.-Se trata de un edema generalizado que en el caso de esta paciente se debe al fallo multiorgánico que desarrolla que esta paciente presenta esta como consecuencia del fallo cardíaco manifestación clínica? c b.-Se trata de un edema localizado en cabeza y cuello que en esta paciente se deba a la administración de fármacos antiarrítmicos c.-Se trata de una edema localizado en el abdomen que en el caso de esta paciente es consecuencia del shock séptico que presenta d.-Todas son falsas 10.- La paciente tiene antecedentes a.-A los 10 años del trasplante cardíaco sobreviven aproximadamente el 50% de los pacientes familiares de enfermedad cardíaca y una b.-Habitualmente el corazón que se trasplanta procede de cadáver humano pero se investiga para que la posibilidad de sus hermanas tuvo que someterse a de trasplantes procedentes de otras especies o de corazones artificiales sea cada vez más una realidad. un trasplante de corazón. Señala la c.- El trasplante es la última opción para pacientes con miocardiopatía, alteraciones valvulares o defectos cardíacos FALSA respecto al trasplante d congénitos cuando otras alternativas terapéuticas no tienen efecto d.- Las complicaciones del trasplante (rechazo, alteración de la función renal por fármacos, infecciones….) son excepcionales y no aparecen antes de los 5 años desde el trasplante a Epidemiología; b Factores de riesgo; c Manifestaciones clínicas; d Tratamiento; e Evolución 233 APÉNDICES APÉNDICE 4 RESULTADOS DE LA EVALUACIÓN CON ALUMNOS. Tabla 32. Datos de los alumnos, resultados del examen tipo test y de los cuestionarios Likert. GRUPO A 234 DATOS GENERALES SEXO V M V M M M M M M NA M M M M V V V M V M M V V EDAD 21 19 19 19 19 19 19 19 19 20 21 19 20 20 20 19 21 20 19 19 19 19 T(min) 50 40 25 25 30 30 35 45 50 35 50 55 55 40 30 30 35 35 45 45 50 50 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 PUNTUACIÓN EN LA PRUEBA OBJETIVA DE CONOCIMIENTOS DE TIPO TEST 3 4 5 6 7 8 9 10 TOTAL 1 1 0 1 1 1 1 1 9 1 1 0 1 1 1 1 0 7 1 1 0 1 1 1 1 0 7 1 1 1 1 1 1 1 0 8 1 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 10 1 1 0 1 0 1 0 1 7 1 1 1 1 1 0 1 1 9 1 1 1 0 1 1 1 0 8 1 1 0 0 0 1 1 0 5 1 1 0 0 1 0 0 1 5 1 1 1 0 0 1 0 1 7 1 1 1 1 0 0 0 0 6 0 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 9 0 1 0 0 0 1 1 1 6 1 1 0 0 0 1 1 1 6 1 1 0 0 1 1 1 1 7 1 1 1 0 1 1 1 1 8 1 1 1 0 1 1 1 1 9 1 1 1 0 1 1 1 1 9 PERCEPCIÓN DE APRENDIZAJE 1 2 - 1 - PERCEPCIÓN DE USABILIDAD 2 3 4 - 5 - APÉNDICES B M M M V V M V M M M NA V M V M V V V M M M M M M M M NA M M NA 19 19 21 21 19 28 23 20 21 19 20 19 27 19 20 20 20 22 19 19 19 19 19 19 19 19 37 50 50 35 40 40 20 41 60 42 55 45 45 40 40 90 70 60 60 55 55 50 50 50 35 35 35 40 40 40 35 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 7 7 8 10 9 7 10 10 10 8 7 7 10 8 9 6 7 10 7 7 8 8 10 5 8 6 9 9 9 7 - 4 3 5 4 3 4 4 3 5 4 5 2 3 4 1 4 4 4 4 3 3 5 2 3 3 1 3 235 3 3 5 4 3 4 4 3 4 3 4 1 1 3 1 4 5 4 5 3 4 5 4 4 3 2 4 4 4 5 4 3 4 4 4 4 3 3 3 3 4 1 3 4 4 4 3 3 3 4 3 4 3 4 4 4 4 4 5 5 3 3 5 4 3 2 3 3 1 4 5 4 4 3 3 4 2 4 4 4 5 5 4 5 3 3 4 4 4 4 4 4 1 2 3 1 4 5 4 4 3 3 4 3 3 4 3 4 4 3 4 4 3 4 5 4 4 4 4 2 3 4 1 3 5 4 5 3 4 5 5 1 4 5 4 5 4 5 4 5 5 5 5 4 4 4 2 5 5 3 5 5 5 5 4 5 5 5 5 4 5 5 APÉNDICES M M M V M NA M 236 37 19 19 19 19 20 35 35 40 40 40 40 35 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 7 7 5 8 5 9 5 4 3 5 4 5 4 4 5 4 4 5 5 4 4 4 4 4 5 5 3 4 4 5 4 5 5 4 3 5 5 4 5 5 4 4 4 4 4 4 5 4 4 5 5 4 5 5 4 5 ÍNDICE DE FIGURAS Figura 1 Arquitectura del modelo de sistema. .............................................. 53 Figura 2 Interfaz Web del OBA. ..................................................................... 70 Figura 3 Cliente Web desarrollado para facilitar el acceso a las ontologías disponibles en el OBA.................................................................................... 71 Figura 4 Visualización de información bilingüe en el sitio Web de MedlinePlus. .................................................................................................. 75 Figura 5 Resultados en HTML del cliente Web desarrollado para el servicio de MedlinePlus. ............................................................................................. 77 Figura 6 Identificadores resultantes al utilizar la utilidad esearch del sistema Entrez. ........................................................................................................... 81 Figura 7 Consultas a la base de datos pubmed para el término "prostate cancer" haciendo uso de la utilidad esearch (imagen de la izquierda) y con la utilidad esummary (imagen de la derecha) usando el primer identificador resultante. ..................................................................................................... 82 Figura 8 Consulta a la base de datos pubmed con la utilidad efetch para obtener el abstract en formato texto. .......................................................... 83 Figura 9 A la izquierda, pantalla principal del componente de acceso Web. A la derecha, mensaje de espera tras el inicio del procesado. ........................ 86 Figura 10 Arriba, resultados de la extracción LOCAL tras procesar texto con conceptos repetidos (los cajones de texto para los filtros lógicos están enmarcados en rojo). En medio, resultado tras aplicar un filtro lógico sobre el concepto (campo CONCEPT). Abajo, pantalla resultante tras ordenar por los campos idioma (LAN) y, después, fuente (SOURCE). ............................... 87 Figura 11 Resultados de la extracción tras procesar remotamente el texto con un nivel de profundidad 1 en la ontología MedlinePlus Health Topics y 237 localmente con las terminologías preprocesadas de Freebase y MedlinePlus en inglés y en español. .................................................................................. 90 Figura 12 Con el término "asthma", arriba se muestra uno de los resultados del módulo BEE proporcionado por el componente de acceso a síntomas de Freebase, abajo se muestra uno de los resultados proporcionado por el componente de acceso a enfermedades de Freebase.................................. 91 Figura 13 Interfaz Web que proporciona el componente para el acceso al cliente de PubMed. ....................................................................................... 94 Figura 14 Cliente Web del componente de acceso XML. .............................. 95 Figura 15 Procedimiento para la creación del flujo de aplicación desde el GUI de GATE. ...................................................................................................... 111 Figura 16 Ejemplo de código Java que utiliza las anotaciones realizadas por la clase GateGazMed, a partir de las diferentes fuentes, para integrar la información en la salida estándar. .............................................................. 117 Figura 17 En la imagen superior se muestran los primeros resultados devueltos por el servicio Web de MedlinePlus, en formato XML, al realizar la consulta por el término "cancer"; en la imagen inferior se muestra el resultado al realizar la consulta errónea "prostate cacer". ........................ 137 Figura 18 Niveles de navegación y comunicación detallada de los elementos de la aplicación Web. .................................................................................. 145 Figura 19 Interacción del cliente del servicio Web y conjunto de enlaces proporcionados para cada concepto reconocido. ...................................... 150 Figura 20 Llamadas de los métodos testGate (arriba) y testOba (abajo) de la clase TestAnnotations para la ejecución de las pruebas. ............................ 158 Figura 21 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con la fuente MedlinePlus sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en 238 inglés (P1, P2 y P3), usando el servicio OBA (P4, P5 y P6) y el sistema CLEiM con la terminología bilingüe (P19, P20 y P21)............................................. 159 Figura 22 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con la fuente SNOMED CT sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en inglés (P7, P8 y P9), usando el servicio OBA (P10, P11 y P12) y el sistema CLEiM con la terminología bilingüe (P22, P23 y P24).................................. 160 Figura 23 Tiempos medios de respuesta obtenidos para el reconocimiento de términos con las fuentes MedlinePlus y SNOMED CT sin formato, tras formatear en HTML y tras formatear en XML, usando el sistema CLEiM con la terminología en inglés (P13, P14 y P15), usando el servicio OBA (P16, P17 y P18) y el sistema CLEiM con la terminología bilingüe (P25, P26 y P27). .. 161 Figura 24 Tiempos medios de respuesta obtenidos para el reconocimiento los ficheros de 11.895 palabras (arriba), 23.790 (en medio) y 47.580 (abajo), representándose las terminologías locales bilingües menos pobladas (Freebase y MedlinePlus) frente a MedlinePlus en remoto en los tres formatos (P28-P31, P29-P32 y P30-P33), la local bilingüe más poblada (SNOMED CT) frente a la equivalente remota en los tres formatos (P34-P37, P35-P38 y P36-P39) y todas las locales frente a todas las remotas en los tres formatos (P40-P43, P41-P44 y P42-P45). .................................................... 164 Figura 25 Interfaz de usuario proporcionado a los estudiantes tras procesar el historial del paciente del caso clínico 223 obtenido del UPMC. ............. 171 Figura 26 Porcentaje de respuestas del examen de conocimientos resueltas correctamente por los estudiantes. ............................................................ 178 Figura 27 Porcentaje de respuestas en la escala Likert en las dos preguntas sobre la ayuda ofrecida por sistema al aprendizaje (PA). ........................... 180 239 Figura 28 Porcentaje de respuestas en la escala Likert en las cinco preguntas sobre la usabilidad del sistema (PU). .......................................................... 181 Figura 29 Recuento de la mediana y la moda por usuario para las preguntas de usabilidad. .............................................................................................. 182 240 ÍNDICE DE TABLAS Tabla 1. Consultas MQL para la recuperación de los Dominios de Freebase. ....................................................................................................................... 60 Tabla 2. Tipos de Freebase pertenecientes al Dominio medicine y número de Tópicos asociados a estos Tipos, ordenados de mayor a menor. ................. 60 Tabla 3. Información semántica asociada a los Tipos de Freebase más apropiados y con mayor número de Tópicos. ............................................... 61 Tabla 4. Tipos, Propiedades e Identificadores de Freebase seleccionados. . 63 Tabla 5. Patrón de consulta MQL utilizada para la recuperación de los tópicos. .......................................................................................................... 63 Tabla 6. Patrón de consulta MQL utilizada para el recuento de tópicos agrupados en un determinado Tipo. ............................................................. 64 Tabla 7. Patrón de consulta MQL utilizada para la búsqueda de conceptos similares en Freebase. ................................................................................... 73 Tabla 8. Consulta MQL utilizada para la búsqueda de los datos descriptivos y la información semántica de un determinado concepto. ............................. 73 Tabla 9. Casuística proporcionada por el módulo BEE en función de la fuente y el grupo al que pertenece el concepto reconocido en el texto de entrada. ....................................................................................................................... 92 Tabla 10. Enlaces externos incluidos para los conceptos reconocidos en la página inicial, dependiendo de la fuente y del idioma con el que han sido detectados..................................................................................................... 93 Tabla 11. Proceso de reconocimiento llevado a cabo por el componente de acceso XML en función de los parámetros src y onts. .................................. 96 Tabla 12. Consultas MQL implementadas en la clase para la recuperación de información de Freebase a través del API................................................... 100 241 Tabla 13. Envoltorio para las consultas MQL implementadas en la clase para la recuperación de información de Freebase a través del API. ................... 101 Tabla 14. Total de conceptos para cada una de las fuentes de conocimiento preprocesadas. ............................................................................................ 112 Tabla 15. Paralelismo entre los datos de las anotaciones locales y los procedentes de las anotaciones remotas. .................................................. 122 Tabla 16. Formato del documento XML construido por el componente de integración de información del módulo PLN............................................... 130 Tabla 17. Páginas enlazadas para ofrecer la información al usuario sobre los diferentes conceptos semánticamente relacionados, en función del Tipo de concepto. ..................................................................................................... 134 Tabla 18. Consultas MQL en el formato del API utilizadas para obtener la información de detalle y semántica sobre los Tópicos, identificados por su Identificador en Freebase (pid), en función de cada Tipo........................... 134 Tabla 19. Características de los textos recuperados del UPMC. ................. 155 Tabla 20. Promedio de los valores obtenidos remotamente con las terminologías MedlinePlus y SNOMED CT y localmente con las equivalentes bilingües, para los casos con mayor número de palabras........................... 162 Tabla 21. Cuestionario Likert para la valoración de la percepción sobre el aprendizaje y la usabilidad. ......................................................................... 175 Tabla 22. Conteo de respuestas para cada pregunta subjetiva de aprendizaje (PA) y usabilidad (PU), mediana y moda. .................................................... 178 Tabla 23. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con las fuentes locales. ..................................................................................................................... 213 242 Tabla 24. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con la fuente remota MedlinePlus y el nivel de profundidad 0. .................................................... 214 Tabla 25. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con la fuente remota MedlinePlus y el nivel de profundidad 1. .................................................... 214 Tabla 26. Resumen de la respuesta del servicio XML al procesar el texto "this patient has asthma and presents symptoms of CRPS" con todas las fuentes remotas y el nivel de profundidad 1. .......................................................... 215 Tabla 27. Resultados de todas las pruebas para cada uno de los 12 casos clínicos del UPMC. ....................................................................................... 223 Tabla 28. Valores medios y desviaciones estándar obtenidos para cada uno de los 12 casos clínicos del UPMC. .............................................................. 226 Tabla 29. Valores medios y desviación estándar resultante del procesado de los 12 casos clínicos del UPMC. ................................................................... 229 Tabla 30. Resultados, valores medios y desviación estándar resultante del procesado de las pruebas con los ficheros de longitud variable. ............... 230 Tabla 31. Preguntas del examen tipo test con el que se examinó a los alumnos. ...................................................................................................... 232 Tabla 32. Datos de los alumnos, resultados del examen tipo test y de los cuestionarios Likert. .................................................................................... 234 243