Proyecto Fin de Carrera - II Actualización del Multilingual Central Repository (MCR) Alumno: Daniel Artázcoz Núñez Director: German Rigau Claramunt Septiembre 2007 - FISS
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Introducción Se enmarca dentro del área de investigación de la Inteligencia Artificial, y más concretamente, de la semántica en el Lenguaje Natural. Objetivo: actualizar el MCR incluyendo una nueva versión de WordNet para mantener actualizada la herramienta. Cada nueva versión de WordNet incorpora nuevas palabras, nuevos significados, nuevas relaciones, etc. y es necesario recogerlas en el MCR
Introducción Antecedentes Redes semánticas WordNet EuroWordNet Proyecto Meaning MCR
Antecedentes Redes Semánticas La semántica léxica es un área de la lingüística que cubre las teorías de la clasificación y la descomposición del significado de la palabra, las diferencias y las semejanzas en estructura semántica léxica entre diversos idiomas, y la relaciones de las mismas. Una red semántica es una forma de representación de conocimiento semántico con forma de un grafo. Diversos tipos de relaciones semánticas como la sinonimia, antonimia, hiponimia, hiperonimia, la meronimia … Muy utilizadas en Inteligencia Artificial para representar el conocimiento
Antecedentes Redes Semánticas Ejemplo:
Antecedentes WordNet Creada por un grupo de psicólogos y lingüistas del Cognitive Science Laboratory de la Universidad de Princeton, esta red semántica organiza la información léxica por significados y no por la forma de las unidades léxicas como sucede en los diccionarios convencionales. Los nodos son los synsets (synonym sets) que constituyen la unidad básica de significado. Los arcos son las relaciones léxico-semánticas que se establecen entre los diferentes synsets. index.noun sweep n 6 5 @ ~ #p + ; 6 1 05067652 09919061 07474645 04370955 00559555 00345149 data.noun 05067652 07 n 02 sweep 0 expanse 1 003 @ 05065140 n 0000 + 02662618 v 0101 + 02659604 v 0104 | a wide scope; "the sweep of the plains“
Antecedentes EuroWordNet Es una extensión multilingüe de WN, compuesta por bases de datos léxicas para 8 idiomas (inglés, holandés, español, italiano, francés, alemán, checo y estonio). Después se desarrollaron wordnets para idiomas como el catalán, vasco, portugués, griego, búlgaro, ruso y sueco (Global WordNet Organization). Un índice general de conceptos, InterLingual Index (ILI) permite conectar entre sí las unidades consideradas equivalentes en su significado en bases de datos de lenguas diferentes. El punto de referencia para todos los wordnets locales fue WN1.5, pero EWN fue creado como un conjunto de módulos independientes.
Antecedentes EuroWordNet
Antecedentes Proyecto Meaning Objetivos: Adquisición automática del conocimiento lingüístico a partir de la WWW. Construcción de recursos léxicos multilingües que sirvan de soporte para una desambiguación semántica automática. Se centró en los wordnets para 5 idiomas europeos: inglés, italiano, español, catalán y vasco. Con el fin de mantener la compatibilidad entre los diferentes wordnets y sus distintas versiones se utilizó el Repositorio Central Multilingüe (MCR), a través del cual el conocimiento semántico adquirido para un idioma particular se puede exportar de forma consistente al resto de los wordnets.
Antecedentes
Antecedentes MCR Un repositorio estándar de significados proporcionado por WordNet que se llevó a cabo en el proyecto MEANING. Está integrado por wordnets para cinco idiomas diferentes (inglés, italiano, español, catalán y vasco). Los sentidos de las palabras de diferentes idiomas se pueden relacionar por medio del ILI (InterLingual Index). Para poder interactuar con el MCR se desarrolló WEI (Web Eurowordnet Interface), una interfaz web que permite realizar consultas en este sistema. Actualmente contiene 137 tablas y 13.889.000 registros
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Objetivos del Proyecto Actualizar el MCR incluyendo la versión inglesa de WordNet 2.1 para mantener actualizada la herramienta. Actualizar, verificar y crear los programas de carga de una versión de wordnet en el MCR. Actualizar la interfaz web WEI para reflejar el resultado de la importación de la versión inglesa de wordnet 2.1. Importación de la versión inglesa de wordnet 3.0.
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Método de Trabajo Métodos de desarrollo de software: Proceso Unificado de Desarrollo (PDU) Dirigido por casos de uso Centrado en la arquitectura (3 capas: presentación-dominio-datos) Iterativo e incremental Fases de cada iteración Gestión del proyecto Reuniones, selección de herramientas, DOP Análisis del entorno Búsqueda de información, formación Desarrollo técnico Captura requisitos, análisis, diseño, implementación, pruebas Cierre iteración Entregables, instalación, manual usuario, memoria Organización del trabajo: Trabajo de desarrollo (2 iteraciones). Reuniones periódicas con el director del proyecto. Seguir plan de contingencia y planificación temporal para evitar problemas.
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Funcionalidades: Casos de Uso
Funcionalidades: Casos de Uso
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Modelo de Dominio
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Diseño Arquitectónico Estructura Arquitectónica lógica de 3 capas
Diseño Arquitectónico Capa de Presentación El modo en el que el usuario interactúa con la aplicación es mediante una interfaz web. La tecnología utilizada para el desarrollo de esta capa ha sido la tecnología PHP. Para poder mostrar esta capa es necesario tener instalado un navegador web. Capa de Dominio Gestiona la lógica de negocio con todas sus operaciones para que se haga de forma transparente para el usuario. Para el desarrollo de esta capa se ha utilizado la tecnología PERL. Capa de Gestión de Datos Se ha implementado la gestión de los datos sobre un sistema de gestión de base de datos (SGBD) relacional, multihilo y multiusuario, como es MySQL, el cual ha sido elegido por la propia naturaleza del proyecto. Ha sido necesario instalar el controlador adecuado DBI para MySQL con el objetivo de poder operar con los datos utilizando código PERL. Se ha utilizado el gestor phpMyAdmin para realizar las pruebas pertinentes. Sistema Operativo El sistema operativo utilizado ha sido Linux.
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Caso de uso: Cargar_Datos_Nuevo_Wordnet Captura de Requerimientos Se cargan en la base de datos todos los datos procedentes de los ficheros data.* del wordnet (data.noun, data.verb, data.adv, data.adj) en las tablas wei_CODE_synset, wei_CODE_variant, wei_CODE_examples y wei_CODE_relations. Análisis
Caso de uso: Cargar_Datos_Nuevo_Wordnet Cargar_Synsets: Ejemplo de data.noun: 05067652 07 n 02 sweep 0 expanse 1 003 @ 05065140 n 0000 + 02662618 v 0101 + 02659604 v 0104 | a wide scope; "the sweep of the plains“ wei_en21_synset offset pos sons gloss 05067652 n a wide scope
Caso de uso: Cargar_Datos_Nuevo_Wordnet Cargar_Variants: Ejemplo de data.noun: 05067652 07 n 02 sweep 0 expanse 1 003 @ 05065140 n 0000 + 02662618 v 0101 + 02659604 v 0104 | a wide scope; "the sweep of the plains“ wei_en21_variant word offset pos sweep 05067652 n expanse
Caso de uso: Cargar_Datos_Nuevo_Wordnet Cargar_Examples: Ejemplo de data.noun: 05067652 07 n 02 sweep 0 expanse 1 003 @ 05065140 n 0000 + 02662618 v 0101 + 02659604 v 0104 | a wide scope; "the sweep of the plains“ wei_en21_examples word example pos offset sweep the sweep of the plains n 05067652
Caso de uso: Cargar_Datos_Nuevo_Wordnet Cargar_Relations: Ejemplo de data.noun: 05067652 07 n 02 sweep 0 expanse 1 003 @ 05065140 n 0000 + 02662618 v 0101 + 02659604 v 0104 | a wide scope; "the sweep of the plains“ wei_en21_relation relation sourceSynset sourcePos targetSynset targetPos 64 05067652 n 02662618 v 02659604
Caso de uso: Cargar_Datos_Nuevo_Wordnet Actualizar_Synsets: 00028105 03 n 01 event 0 012 @ 00022007 n 0000 ~ 00029085 n 0000 ~ 01066032 n 0000 ~ 07183496 n 0000 ~ 07183605 n 0000 ~ 07183740 n 0000 ~ 07188717 n 0000 ~ 07188879 n 0000 ~ 07212630 n 0000 ~ 07222571 n 0000 ~i 07376458 n 0000 ~ 07377555 n 0000 | something that happens at a given place and time Ejemplo de updateSynset.txt: update wei_en21_synset set instance='1' where offset=07376458 and pos='n‘ wei_en21_synset offset pos instance 07376458 n 1
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Pruebas WordNet 2.1 WordNet 3.0 Se han creado 5 tablas: wei_en21_synset 117.597 registros wei_en21_variant 207.018 registros wei_en21_examples 41.533 registros wei_en21_relation 232.916 registros wei_en21_to_ili 100.698 registros WordNet 3.0 wei_en30_synset 117.659 registros wei_en30_variant 206.978 registros wei_en30_examples 41.305 registros wei_en30_relation 235.402 registros wei_en30_to_ili 98.793 registros
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Gestión
Gestión Planificado Real
Gestión Se habían planificado un total de 330 horas, sin embargo el número real de horas consumidas ha sido 405 horas. Esto supone una desviación total del 22,7%. Las principales causas son: formación (52%), implementación (27%), pruebas (47%) y elaboración de la memoria (33%)
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Conclusiones La realización de este proyecto me ha supuesto un reto importante: Es la primera vez que he abordado un proyecto desde el principio hasta el final. Desconocimiento de las herramientas utilizadas: Sistema operativo (Linux) La base de conocimiento (MCR) La base de datos (MySQL) Gestor phpMyAdmin Trabajar con un lenguaje de programación que no ha sido tratado durante la carrera (PERL, PHP) Me siento orgulloso de haber podido sacarlo adelante y de haber afrontado todos los problemas que han ido surgiendo. He descubierto un tema que me parece muy interesante, como es el de las redes semánticas, utilizadas para la Inteligencia Artificial, el Procesamiento del Lenguaje Natural y la representación de conocimiento.
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Modelo de Dominio Diseño Arquitectónico Caso de uso: Cargar_Datos_Nuevo_Wordnet Pruebas Gestión Conclusiones Demo
Demo PhpMyAdmin WEI Distancia Conceptual http://adimen.si.ehu.es/phpMyAdmin WEI http://adimen.si.ehu.es/cgi-bin/wei4/public/wei.consult.perl http://adimen.si.ehu.es/cgi-bin/wei5/public/wei.consult.perl Distancia Conceptual http://adimen.si.ehu.es/cgi-bin/proyecto.v4/index.pl http://adimen.si.ehu.es/cgi-bin/proyecto.v5/index.pl