Índice de contenidos - adimen...

50
Proyecto de fin de carrera Francisco Javier Santamaría Rafael Índice de contenidos: 1.INTRODUCCIÓN.............................................................................................................................3 2.ANTECEDENTES............................................................................................................................4 2.1.Redes Semánticas................................................................................................................4 2.2.WordNet..............................................................................................................................5 2.3.EuroWordNet......................................................................................................................6 2.4.Meaning..............................................................................................................................8 2.5.Multilingual Central Repository (MCR)............................................................................8 2.6.Algunas interfaces web.......................................................................................................9 2.6.1.WordNet................................................................................................................9 2.6.2.Web Eurowordnet Interface (WEI)..................................................................... 10 3.DOCUMENTO DE OBJETIVOS DEL PROYECTO (DOP).......................................................... 11 3.1.Objetivos............................................................................................................................ 11 3.2.Alcance.............................................................................................................................. 11 3.2.1.Alcance del proyecto.......................................................................................... 11 3.2.2.Diagrama de Estructura de Descomposición del Trabajo (EDT)...................... 11 3.2.3.Asignación de recursos....................................................................................... 12 3.3.Método de trabajo.............................................................................................................. 13 3.4.Planificación temporal....................................................................................................  13 3.4.1.Diagrama de Gantt.............................................................................................. 14 3.5.Plan de contingencia.......................................................................................................  15 3.6.Análisis de factibilidad...................................................................................................... 16 4.DESARROLLO DEL SISTEMA DE INFORMACIÓN................................................................. 18 4.1.Captura de requisitos......................................................................................................... 18 4.1.1.Casos de uso........................................................................................................ 18 4.1.2.Modelo de dominio............................................................................................20 4.2.Análisis.............................................................................................................................24 4.2.1.Caso de uso Consultar MCR..............................................................................24 4.2.2.Caso de uso Editar Synset..................................................................................25 4.2.3.Caso de uso Editar ILI.......................................................................................27 4.3.Diseño del sistema............................................................................................................29 4.3.1.Arquitectura del sistema.....................................................................................29 4.3.2.Diseño de las operaciones..................................................................................31 4.4.Implementación................................................................................................................35 4.4.1.Base de datos......................................................................................................35 4.4.2.WEI....................................................................................................................37 4.5.Pruebas..............................................................................................................................38 5.GESTIÓN........................................................................................................................................44 5.1.Procesos tácticos...............................................................................................................45 5.2.Procesos operativos...........................................................................................................46 5.3.Procesos formativos..........................................................................................................46 1

Upload: duongkhanh

Post on 01-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Índice de contenidos:

1.INTRODUCCIÓN.............................................................................................................................32.ANTECEDENTES............................................................................................................................4

2.1.Redes Semánticas................................................................................................................42.2.WordNet..............................................................................................................................52.3.EuroWordNet......................................................................................................................62.4.Meaning..............................................................................................................................82.5.Multilingual Central Repository (MCR)............................................................................82.6.Algunas interfaces web.......................................................................................................9

2.6.1.WordNet................................................................................................................92.6.2.Web Eurowordnet Interface (WEI).....................................................................10

3.DOCUMENTO DE OBJETIVOS DEL PROYECTO (DOP)..........................................................113.1.Objetivos............................................................................................................................113.2.Alcance..............................................................................................................................11

3.2.1.Alcance del proyecto.......................................................................................... 113.2.2.Diagrama de Estructura de Descomposición del Trabajo (EDT)...................... 113.2.3.Asignación de recursos.......................................................................................12

3.3.Método de trabajo..............................................................................................................133.4.Planificación temporal....................................................................................................  13

3.4.1.Diagrama de Gantt..............................................................................................143.5.Plan de contingencia.......................................................................................................  153.6.Análisis de factibilidad......................................................................................................16

4.DESARROLLO DEL SISTEMA DE INFORMACIÓN.................................................................184.1.Captura de requisitos.........................................................................................................18

4.1.1.Casos de uso........................................................................................................184.1.2.Modelo de dominio............................................................................................20

4.2.Análisis.............................................................................................................................244.2.1.Caso de uso Consultar MCR..............................................................................244.2.2.Caso de uso Editar Synset..................................................................................254.2.3.Caso de uso Editar ILI.......................................................................................27

4.3.Diseño del sistema............................................................................................................294.3.1.Arquitectura del sistema.....................................................................................294.3.2.Diseño de las operaciones..................................................................................31

4.4.Implementación................................................................................................................354.4.1.Base de datos......................................................................................................354.4.2.WEI....................................................................................................................37

4.5.Pruebas..............................................................................................................................385.GESTIÓN........................................................................................................................................44

5.1.Procesos tácticos...............................................................................................................455.2.Procesos operativos...........................................................................................................465.3.Procesos formativos..........................................................................................................46

1

Page 2: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

6.CONCLUSIONES...........................................................................................................................487.BIBLIOGRAFÍA.............................................................................................................................49

2

Page 3: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

1. INTRODUCCIÓN

El proyecto de fin de carrera desarrollado se enmarca en el ámbito de la inteligencia artificial y el tratamiento del lenguaje natural.

El objetivo de este proyecto es modificar la interfaz del MCR (Multilingual Central Repository, con el fin de corregir errores en su funcionamiento y añadir nuevas funciones a la aplicación, como al modificación del Inter Lingual Index (ILI).

A su vez este proyecto servirá para dar a conocer al desarrollador las posibilidades y bonanzas de un sistema  operativo   como  Linux,   así   como  del   lenguaje   de  programación  PERL  con   el   cual   se desarrollara la totalidad del proyecto. También permitirá explorar las posibilidades del desarrollo de aplicaciones en entorno web.

La realización de este proyecto ha sido supervisada por German Rigau, profesor del departamento de Lenguajes y Sistemas informáticos de la Facultad de informática de la UPV.

3

Page 4: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

2. ANTECEDENTES

Antes de comenzar con el proyecto, estableceremos ciertos términos que ayudarán a comprender el ámbito en el  que se sitúa así  como los conceptos fundamentales y algunas de las herramientas desarrolladas en el mismo marco.

2.1 Redes semánticas

La semántica  léxica es un área del  lenguaje enfocada a  la  investigación del cómo y el  qué  del significado de las palabras  (Pustejovsky, 1995).  Dicho de otro modo, se encarga de estudiar qué significan   las  palabras  y  porqué   significan  esto,  mediante   la  descomposición  de   términos  o   la composición de términos más complejos a partir de otros de mayor simplicidad. La unidad léxica es la palabra. Cada palabra representa un concepto existente en el  mundo por  lo que la semántica léxica implica el significado de cada palabra individual.

La   semántica   léxica   cubre   áreas   del   lenguaje   como   la   clasificación   y   descomposición   de   los significados de las palabras, las semejanzas y diferencias entre estructuras semánticas de distintos idiomas y las relaciones entre dichas estructuras.

Una red semántica representa los elementos semánticos por medio de nodos, y relaciona éstos en base a distintas relaciones semánticas por medio de enlaces o flechas.

Podemos ver un ejemplo de red semántica en la figura 2.1, donde las palabras son los nodos de la red semántica, y las relaciones entre ellas están simbolizadas por medio de flechas que indican la relación que existe entre los términos enlazados.

Figura 2.1: Ejemplo de red semántica

4

Page 5: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

2.2 WordNet

WordNet es una base de datos léxica en inglés, pública y de carácter gratuito desarrollada por la universidad de Princeton. Agrupa las palabras contenidas en dicha base en Synsets, o conjuntos de sinónimos, relacionados con un sentido o concepto. Estos Synsets, o conceptos únicos, constituyen los nodos de la red y se interrelacionan semánticamente formando una red léxica.

WordNet clasifica los términos en base a 4 categorías gramaticales (PoS – Part of Speech): nouns (nombres), verbs (verbos), adjectives (adjetivos) y adverbs (adverbios). Usa (n) para los nombres, (v) para los verbos, (adj) para los adjetivos y (adv) para los adverbios. Por ejemplo:{04284002} (n)  spoon#1  (a piece of cutlery with a shallow bowl­shaped container and a handle; used to stir or serve or take up food) {01963942} (v) jump#1 (move forward by leaps and bounds){00780352} (adj) sharp#1 ((of something seen or heard) clearly defined){00002621} (adv) hardly#1 (only a very short time before)

También existen palabras con varios sentidos o significados (de ahí el numero junto a la palabra que indica el numero del sentido al que hace referencia la definición). Estas palabras se conocen como palabras polisémicas, como podría ser:{07739125} (n) apple#1 (fruit with red or yellow or green skin and sweet to tart crisp whitish flesh) {12633994}   (n)  apple#2  (native  Eurasian   tree  widely  cultivated   in  many  varieties   for   its   firm rounded edible fruits) 

Otra opción es que varias palabras referencien un mismo sentido. En éste caso dichas palabras son consideradas  sinónimas y WordNet las engloba en un mismo synset o nodo de la red léxica. Por ejemplo:{09466280}  (n) universe#1, existence#2, creation#6, world#1, cosmos#1, macrocosm#1En   este   caso,   las   palabras   universo,   existencia,   mundo,   creacion,   cosmos   y   macrocosmos   son sinónimos tomando los sentidos especificados de dichas palabras, y comparten el mismo synset.

Existen  otras   relaciones   semánticas  mediante   las   cuales  WordNet   relaciona   los   sentidos  de   las palabras o synsets, algunas de las cuales se describen en el siguiente cuadro.

Hiperónimo (hypernym): X es hiperónimo de Y siempre que todo Y sea un tipo de XEjemplo: (n) mammal#1 is hypernym of (n) dog#1 

Hipónimo (hyponym): X es hipónimo de Y siempre que todo X sea un tipo de Y. En el caso de los verbos se denomina troponimia.Ejemplo: (n) dog#1 is hyponym of (n) mammal#1Ejemplo: (v) whisper#1 is troponym of (v) talk(1)

Holonimia (holonym): X es holónimo de Y si Y es una parte de X

5

Page 6: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Ejemplo: (n) building#1 is holonym of (n) window#1

Meronimia (meronym): X es merónimo de Y si X es una parte de YEjemplo: (n) window#1 is meronym of (n) building#1

Antonimia (antonym): X es antónimo de Y si el sentido de X es opuesto al de YEjemplo: (n) love#1 is antonym of (n) hate#1

Cuadro 2.2: Algunas relaciones semanticas en WordNet

Actualmente, WordNet se encuentra en la versión 3.0 y contiene alrededor de 150.000 palabras y mas de 200.000 sentidos. El desglose detallado del contenido actual de la base de datos de WordNet puede verse en el siguiente cuadro.

PoS Unique Strings Synsets Total Word­Sense Pairs

Noun 117798  82115  146312 

Verb 11529  13767  25047 

Adjective 21479  18156  30002 

Adverb 4481  3621  5580 

Total 155287  117659  206941 Tabla 2.3: Estado de la base de datos WordNet 3.0

En cuanto al desglose de su contenido en términos polisémicos y monosémicos, puede apreciarse en la tabla a continuación.

PoS Monosemous   words  & senses

Polysemous words Polysemous senses

Noun 101863  15935  44449 

Verb 6277  5252  18770 

Adjective 16503  4976  14399 

Adverb 3748  733  1832 

Total 128391  26896  79450 Tabla 2.4: Desglose de palabras monosémicas y polisémicas en WordNet 3.0

2.3 EuroWordNet

A raiz de la salida de WordNet comenzaron a desarrollarse redes semánticas similares para otros idiomas. Este es el caso de EuroWordNet, una base de datos léxica que comprende una gran parte de 

6

Page 7: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

los lenguajes europeos.

EuroWordNet mantiene una estructura muy similar a WordNet, agrupando los términos en synsets enlazados por medio de las mismas relaciones semánticas. Adicionalmente, al incluir términos en varios   idiomas,   EuroWordNet   añade   un   índice   conocido   como   Inter­Lingual­Index   (ILI)   que relaciona los sentidos en diferentes idiomas permitiendo, por ejemplo, encontrar palabras similares (o bien relacionadas semánticamente) en estos distintos idiomas.

Actualmente   EuroWordNet   cuenta   con   bases   de   datos   independientes   para   los   idiomas   sueco, noruego,  danés,  griego.  portugués.  euskera,  catalán,   rumano,   lituano,   ruso,  búlgaro  y  esloveno, unidas por el mencionado ILI.

En la figura 2.5 podemos ver un esquema aproximado de la arquitectura de EuroWordNet y de la relación de varios lenguajes por medio del ILI.

 Figura 2.5: Arquitectura de EuroWordNet

7

Page 8: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

2.4 Meaning

El proyecto meaning nació  con  la  finalidad de proveer  de una forma automática  y eficiente  de desambiguación de sentidos (WSD, Word Sense Desambiguation) mediante la recolección y análisis en larga escala de información léxica de la red, dado que la información disponible en las actuales bases de datos léxicas es en algunos casos insuficiente para una correcta desambiguación.

El principal objetivo de Meaning es esa adquisición automática de conocimiento léxico de la Web con el fin de enriquecer la estructura de los wordnets en al menos 5 lenguajes europeos: inglés, italiano, español, catalán y euskera. Para ello se generaron varías tecnologías para llevar a cabo el reconocimiento del idioma, análisis morfológico, identificación del PoS... Entre ellas se encuentran las siguientes:

● Conjunto   de   herramientas   para   la   extracción   automática   de   ejemplos   e   información semántica sobre cada sentido, basadas en el conocimiento semántico de EuroWordNet.

● Un conjunto  de  herramientas   para   el   enriquecimiento   automático  de  EuroWordNet   que incluirán  herramientas   para   la   adquisición  de   información   como   la   terminología  de  un dominio, nuevos sentidos, grupos de sentidos relacionados, alternancias de diátesis, marcos de subcategorización y relaciones semántico­léxicas específicas.

● Un conjunto de herramientas para seleccionar de una forma precisa el sentido de una palabra para los lenguajes cubiertos por el proyecto. Este sistema de desambiguación está basado en algoritmos automáticos capaces de modelar el comportamiento del sentido de una palabra tanto en textos con anotaciones semánticas como sin ellas.

Meaning también cubrirá métodos para la adquisición de terminologías, identificación de claves, clasificación de dominios, clasificación de textos y adaptación de wordnet incluyendo identificación de nuevos sentidos.

2.5 Multilingual Central Repository (MCR)

El  MCR (Multilingual  Central  Repository)  actúa  como una  interfaz  multilngue para   integrar  y distribuir   todo el  conocimiento generado en el  proyecto Meaning,  asegurando  la  consistencia  y integridad de dicho conocimiento.

El MCR se ajusta al modelo propuesto y usado en el  proyecto EWN (EuroWordNet) usando el mismo sistema de arquitectura con el ILI (indice inter­lingua), Do (Domain Ontology) y TCO (Top Concept Ontology)

El ILI (Inter­Lingual­Index) sirve de puente entre los distintos idiomas, es decir, es un índice que relaciona conceptos semejantes de distintos idiomas contenidos en el proyecto.La Domain Ontology (también Wordnet Domain) es una ontología que clasifica los synsets por medio de una serie de etiquetas.En cuanto a la TCO (Top Concept Ontology)codifica las relaciones léxico­semánticasde manera uniforme.

8

Page 9: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

El acceso al MCR se efectúa por medio de una interfaz web desarrollada con tal objetivo, conocida como WEI (Web Eurowordnet Interface).

2.6 Algunas interfaces Web

Se han desarrollado un numero considerable de aplicaciones e interfaces Web para el acceso a bases de datos léxicas y consulta de wordnets y relaciones semánticas. Analizaremos algunas de ellas como base para el desarrollo del proyecto.

2.6.1 Wordnet

La propia pagina de Wordnet nos ofrece una interfaz web para el acceso y consulta de su base de datos en su última versión, WordNet 3.0. Mediante ella podemos consultar el contenido sobre una palabra dentro de la base de Wordnet, y se nos mostrarán los distintos sentidos asociados a esa palabra, catalogados de acuerdo a su PoS (Part of Speech). Del mismo modo podemos seleccionar entre varias opciones, como que se nos muestre el synset asociado a cada, la información léxica, glosas, número de sentido...

También tenemos la opción de, a partir de uno de los sentidos de la palabra consultada, acceder a una lista  de sus hiperónimos o hipónimos (tanto directos como una lista  completa),  antónimos, merónimos...

En la imagen 2.6 podemos ver una consulta sobre la palabra "car", mostrando a la vez una lista completa de sus hiperónimos hasta llegar al término mas genérico "entity".

Figura 2.6: Ejemplo de búsqueda en la interfaz web WordNet

9

Page 10: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

2.6.2 Web Eurowordnet Interface

Como ya se expusiera anteriormente, WEI es una interfaz web multilingüe desarrollada dentro del proyecto Meaning con el  objetivo de proveer un modo de acceso al  MCR. Si bien la parte del servidor está desarrollada en PERL, la parte del cliente de WEI estaba inicialmente diseñada en JAVA,   aunque   posteriormente   fue   modificada   para   permitir   su   correcto   funcionamiento   en ordenadores sin la JVM (Java Virtual Machine).

WEI permite la consulta de términos en los 5 idiomas comprendidos en el proyecto meaning: inglés, italiano, español, euskera y catalán. Igualmente podemos seleccionar varios idiomas de modo que se muestren los términos o palabras de esos idiomas asociados a cada uno de los sentidos de la palabra buscada, caso de existir.

En la figura 2.7 podremos observar el resultado de la busqueda de la palabra cannon en la base English 1.6, seleccionando como idiomas "de salida" el ingles, español, euskera y catalán.

Figura 2.7: Ejemplo de consulta en WEI

10

Page 11: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

3. DOCUMENTOS DE OBJETIVOS DEL PROYECTO (D.O.P)

3.1 Objetivos

El objetivo de este proyecto es modificar la interfaz de consulta y edición del MCR, de modo que se corrijan algunos errores asociados a esta, como búsquedas erróneas o conflictos con algunas de las opciones en determinados idiomas. 

Adicionalmente, se incluirán nuevas opciones a la aplicación, de  modo que se puedan consultar y modificar ejemplos de synsets, editar la información asociada al Inter Lingual Index (ILI), etc... y se añadirán nuevas ontologías para la clasificación de los synsets.

3.2 Alcance

3.2.1 Alcance del proyecto

● Se deben corregir los problemas con la interfaz WEI y añadir nuevas características usando el lenguaje de programación PERL, lenguaje con el que está desarrollada la versión actual de la interfaz.

● Se deberá modificar la base de datos en los casos necesarios, respetando la estructura actual de la misma.

● El producto final,  además de las nuevas funciones, deberá   respetar  los resultados de las funciones ya existentes en la versión anterior de la interfaz (salvo, evidentemente, los casos en que alguna deficiencia sea corregida). Los resultados de búsquedas y actualizaciones que funcionaran correctamente deberán mantenerse invariados.

3.2.2 Diagrama de Estructura de descomposición del trabajo (EDT)

Este  proyecto  se  descompone en  3   tipos  de  procesos:  Procesos  operativos,  procesos   tácticos  y procesos   formativos.  Podemos  ver   la  descomposición  de  cada  uno en  el   siguiente  cuadro,  que muestra el diagrama EDT representativo del proyecto.

11

Page 12: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 3.1: Diagrama de estructura de descomposición del trabajo.

3.2.3 Asignación de recursos

3.2.3.1 Recursos humanos

Los recursos humanos de este proyecto se limitan a la intervención del alumno que lo desarrolla y la orientación del director del proyecto German Rigau.

Se ha estipulado una  duración aproximada del  proyecto de 300 horas,   incluyendo  los  procesos formativos.

3.2.1.2 Recursos materiales

Para la realización de este proyecto se utilizará una cantidad limitada de recursos materiales. En primer lugar, y como pieza fundamental,  se hara uso de uno ordenador personal, propiedad del alumno, que estará  equipado con el software necesario para el correcto desarrollo del proyecto. También se utilizará  material  de oficina como pueda ser papel,  bolígrafos, portaminas y demás objetos.

Caso de ser necesario se hará uso de material propiedad de la facultad de informática de la UPV, así 

12

Page 13: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

como del propio director del proyecto durante el transcurso de las reuniones.

Entre  el  software del  que se hará  uso para  la  realización del  proyecto cabe destacar  el  sistema operativo Linux, Oracle como servidor y la aplicación web phpMyAdmin para el manejo y uso mejorado de la base de datos MCR.

3.3 Método de trabajo

Se seguirá  un proceso unificado de desarrollo (PUD) dividiendo el proyecto en 2 iteraciones, la primera   de   las   cuales   arrojará   una   primera   versión   del   software,   ocupándose   la   segunda   de modificar en los casos necesarios cualquier punto del proyecto, desde el análisis o el diseño hasta cualquier  detalle  de   la   implementación  que   sea  necesario  para  mejorar   el  producto   final.  Este método de trabajo se caracteriza por una naturaleza iterativa e incremental.

En primer lugar en una iteración deberemos identificar los casos de uso que estarán presentes en nuestro proyecto.  Se analizarán y diseñarán dichos  casos de uso,   implementándolos  después  de acuerdo a   las   especificaciones  del  proyecto,   respetando el   lenguaje  de  programación acordado. Finalmente se realizarán las pruebas necesarias para comprobar el funcionamiento del producto y realizar cambios si fuera necesario.

El procedimiento que se usará para la realización del proyecto sera el siguiente. El alumno trabajará en   el   desarrollo   del   proyecto   en   su  ordenador,   presentando   resultados  o   consultando  dudas   al director del  proyecto cuando  lo  estime oportuno. Las  reuniones cone  l  director del  proyecto se realizarán en el despacho de éste en la facultad. Sin embargo se intentará  reducir al máximo el número   de   reuniones   físicas   para   evitar   inflar   el   coste   económico   del   proyecto   por   motivos geográficos y de transporte. Como método adicional para la consulta de dudas se usarán medios alternativos como el correo electrónico.

Los  datos   generados  por   el   proyecto   se   almacenarán   localmente   en   el   ordenador   del   alumno, realizándose copias de seguridad de éstos siempre que se estime oportuno. Igualmente se utilizará la conexión del alumno para el acceso a internet para cualquier operación de consulta o descarga de software necesario para la realización del proyecto.

3.4 Planificación temporal

El desarrollo de este proyecto se divide en distintas fases de acuerdo a la función a desarrollar en cada una de ellas. Estas fases son expuestas a continuación:

­Fase 1: Gestión del proyecto:Se acordarán las bases del proyecto, las tareas a realizar, se realizarán las reuniones pertinentes para el establecimiento de las mismas... Igualmente se realizara el documento del proyecto.

13

Page 14: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

­Fase 2: Análisis del entorno:Se evaluarán el campo en el que se enmarca el proyecto, asi como los antecedentes y proyectos similares existentes, las herramientas y So con el que se trabajará.

­Fase 3: Desarrollo del proyecto:Se divide en varias subfases

­Captura de requerimientos. Durante esta fase se diseñarán los casos de uso que satisfagan las demandas de nuestro proyecto.

­Análisis: Se concretarán y definirán los aspectos de los casos de uso estipulados.­Diseño: En esta fase se organizará y diseñará el funcionamiento del sistema para su correcto 

funcionamiento.­Implementación:  Se  desarrollará   y   construirá   el   código  y   se  modificará   la   interfaz  de 

acuerdo al diseño decidido y diseñado en la fase anterior.­Pruebas:   Se   comprobará   el   correcto   funcionamiento   del   software,   para   evitar   posibles 

errores y asegurar que el resultado final es el esperado para el producto.

3.4.1 Diagrama Gantt

Figura 3.2: Diagrama Gantt del proyecto

En cuanto a  la estimación en horas del proyecto,  podemos ver los puntos mas reseñables en el siguiente cuadro.

14

Page 15: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Estimación en horas

Análisis del entorno 10 horas

Realización del DOP 12 horas

Formación 50 horas

Búsqueda de información 10 horas

Captura de requisitos 5 horas

Análisis 6 horas

Diseño 6 horas

Implementación 100 horas

Pruebas 5 horas

Memoria 40 horas

Preparar material 5 horas

Estimación total en horas 250 horasFigura 3.3: Estimación en horas del coste del proyecto.

3.5 Plan de contingencia

Durante el desarrollo del proyecto, hemos de tener en cuenta todos los problemas que puedan surgir y poner en riesgo la elaboración del mismo o que puedan suponer un retraso en los plazos. 

Para   paliar   los   efectos   de   estos   posibles   contratiempos   se   seguirás   las   medidas   descritas   a continuación.

Riesgo Solución

Fallo   en   el   hardware   o   equipo   en   el   cual   se trabaja.

Se   intentará   reponer   o   reparar   el   hardware   lo antes posible.  Se tendrá  otro equipo preparado para   funcionar  en   las  mismas  condiciones.  En caso necesario se utilizara equipo de la UPV.

Perdida de información debido a error humano o a fallo en el hardware/software de la máquina.

Se repondrán los archivos a partir de una copia de   seguridad  que  se   almacenara  en  otro  disco duro, y de ser posible, también en un dispositivo de almacenamiento externo o otro ordenador.

Problemas en la conexión del ordenador sobre el que se trabaja, impidiendo acceso a internet.

Se contactará inmediatamente con el ISP, Caso de ser necesario, se intentará hacer uso de una red pública para el acceso a internet, bien de la propia ciudad del afectado o bien de la UPV.

15

Page 16: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

El coste de desplazamientos eleva demasiado el coste del proyecto.

Se   intentará   resolver   el   mayor   numero   de problemas   por   medio   de   e­mail   o   si   fuera necesario,   teléfono.   Se   recurrirá   a   reuniones físicas  para   los   casos  que  estrictamente   así   lo precisen.

El   alumno   encargado   del   proyecto   está inhabilitado   un   tiempo   por   enfermedad   o   por otra causa.

Se   intentarán   poner   todos   los   medios   viables para la recuperación o solventación de las causas originantes. Una vez de vuelta a la normalidad se redoblará el esfuerzo en los días subsiguientes para   evitar   un   mayor   impacto   en   los   plazos establecidos.

El alumno o coordinador del proyecto no pueden acudir a alguna reunión acordada.

Se avisará de la circunstancia con una antelación suficiente para evitar problemas a la otra parte. Se intentará acordar una nueva fecha de reunión que satisfaga a ambas partes.

Se   produce   algún   problema   con   el   medio   de transporte utilizado para los desplazamientos.

Se intentará hacer uso, en caso de urgencia, de un medio de transporte alternativo ignorando su coste y/o utilidad.

3.6 Análisis de factibilidad

A la hora de estudiar la factibilidad de este proyecto con los recursos y en la situación actual lo haremos enfocándolo desde diversos puntos.

Económicamente es factible, dado que a pesar de que el presupuesto del alumno es limitado y el desarrollo   del   proyecto   conlleva   gastos   como   transporte,   material,   conectividad   a   internet   y hardware... se ha ideado dicha elaboración de modo que dichos gastos se minimicen y no supongan ningún tipo de problema para el desarrollo del proyecto, y se pueda abordar perfectamente aun surgiendo gastos imprevistos.

Técnicamente el  proyecto  también es   totalmente viable,  dado que se dispone sobradamente del hardware y equipamiento necesario para  todas  las aplicaciones,  software,  gestión de datos, etc.. requeridos   por   el   proyecto.   En   caso   de   problemas   con   los   recursos   técnicos   sería   sencillo restaurarlos o reponerlos en un breve periodo de tiempo, con lo cual la factibilidad del proyecto no corre riesgo en el apartado técnico.

Operacionalmente el proyecto es realizable, dado que no hay ningún problema para, manteniendo la estructura actual de la BD y la propia aplicación, añadir en el lenguaje de programación actual (PERL) las opciones y variantes que se han acordado.

16

Page 17: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Con  todo esto evaluado,  podemos concluir  que el  proyecto es  factible,  y que salvo  imprevistos serios, su realización no correrá ningún riesgo y será completada tal como se ha previsto.

17

Page 18: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

4. DESARROLLO DEL SISTEMA DE INFORMACIÓN

4.1 Captura de requisitos

4.1.1 Casos de uso

Figura 4.1: Diagrama de casos de uso del proyecto.

4.1.1.1 Caso de uso consultar MCR

•Actores   : Usuario

•Resumen   :  Este  caso  de  uso  permite  al  usuario   consultar   el  contenido  del  MCR y buscar   así definiciones, ejemplos, etc... de las palabras contenidas, permitiéndole seleccionar entre distintas opciones de búsqueda y diversos idiomas en los que mostrar lso resultados.

•Precondiciones   : El usuario accede a la pagina web.

•Postcondiciones   : Se muestran los resultados de la búsqueda elegida en el navegador del usuario.

•Curso normal de los eventos:   

1.El usuario introduce una palabra o synset a buscar, introduce las opciones de búsqueda y selecciona los idiomas a mostrar para la salida de datos.

2.El sistema obtiene los datos requeridos del MCR y los presenta al usuario en pantalla.

•Cursos alternativos:   

18

Page 19: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Paso 1 a) El usuario selecciona una palabra no valida, o selecciona erróneamente alguno de los términos de búsqueda.

1.   El   sistema   mostrara   un   mensaje   “Not   Found”   para   advertir   de   que   la palabra que ha escrito no existe, o bien no figura en ese idioma, PoS...

Paso 1 b) El usuario no introduce ninguna opción de búsqueda ni palabra a buscar.1.   El   sistema   mostrará   al   usuario   la   interfaz   del   mismo   modo   que anteriormente a la búsqueda, sin mostrar resultados ni mensajes, permitiendo al usuario redefinir su búsqueda.

4.1.1.1 Caso de uso Editar synset

•Actores   : Usuario

•Resumen   : Este caso de uso permite al usuario modificar la definición de una palabra, sus ejemplos o bien sus sentidos en el MCR.

•Precondiciones   : El usuario ha buscado la palabra o synset a editar.

•Postcondiciones   : Se registran las modificaciones en el MCR caso de existir. También se registra al usuario para llevar un control de cambios.

•Curso normal de los eventos:   

1.El usuario tras realizar la búsqueda pulsa el botón con el offset de la palabra..2.El sistema obtiene los datos requeridos del MCR y los presenta al usuario en pantalla.3.El usuario modifica  los datos que desea que se editen en el  MCR, modificando la 

descripción y ejemplos o editando/añadiendo/borrando sentidos.4.El sistema recoge los datos, modifica el MCR y registra al usuario como autor de esa 

modificación.   Muestra   un   mensaje   de   confirmación   o   error   dependiendo   del resultado del proceso.

•Cursos alternativos:   

Paso 3 a) El usuario no modifica ninguno de los campos..1.   El   sistema   mostrará   el   mensaje   de   modificación   correcta,   si   bien   no realizará ningún cambio en el MCR.

4.1.1.1 Caso de uso Editar ILI

•Actores   : Usuario

19

Page 20: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

•Resumen   :  Este caso de uso permite al usuario modificar la información asociada al  ILI de un sysnset, como las ontologías asociadas a éste.

•Precondiciones   : El usuario ha buscado el synset a editar.

•Postcondiciones   : Se registran las modificaciones en el MCR caso de existir. También se registra al usuario para llevar un control de cambios.

•Curso normal de los eventos:   

1.El usuario tras realizar la búsqueda pulsa el botón sobre las etiquetas de las ontologías asociadas a ese synset..

2.El sistema obtiene los datos requeridos del MCR y los presenta al usuario en pantalla.3.El usuario modifica los datos que desea que se editen en el MCR, modificando las 

etiquetas asociadas a una o varias ontologías o añadiendo/borrando etiquetas.4.El sistema recoge los datos, modifica el MCR y registra al usuario como autor de esa 

modificación.   Muestra   un   mensaje   de   confirmación   o   error   dependiendo   del resultado del proceso.

•Cursos alternativos:   

Paso 3 a) El usuario no modifica ninguno de los campos..1.   El   sistema   mostrará   el   mensaje   de   modificación   correcta,   si   bien   no realizará ningún cambio en el MCR.

Paso 3 b) El usuario intenta eliminar todas las etiquetas de una ontología.1. El sistema evitará realizar los cambios al MCR y advertirá al usuario del problema con un mensaje de error.

4.1.2 Modelo de dominio.

En las siguientes figuras se muestran algunas de las tablas del MCR usadas para la implementación de las distintas funciones de la interfaz WEI.

20

Page 21: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.2: Tablas usadas en el formulario de consultas

En   este   caso,   la   tabla   wei_languages   es   la   que   contiene   información   referente   a   los   idiomas contenidos en el MCR. Cada entrada representa a un idioma de la BD, donde el campo code indica el código del lenguaje (por ejemplo en30), el campo lang contiene el idioma al que corresponde la entrada (por ejemplo English_3.0) y el campo color indica el color que se ha asignado a ese idioma y con el que se representaran sus datos en la interfaz, en formato hexadecimal.

La tabla wei_relations_group es la que contiene la información referente a los distintos grupos de relaciones (como sinónimos, merónimos, etc...) existentes en el MCR. En el caso de esta tabla, el id de cada entrada es un representador único de dicha entrada mientras que el campo name contiene una descripción del mismo (como por ejemplo synonyms).

En cuanto a  la  tabla  wei_relations contiene información acerca de las relaciones por  las cuales puede realizarse la consulta. El campo id identifica a la relación, el campo name contiene el nombre o descripción de la relación, como pueda ser 'has_hyponym', el campo inverse contiene el nombre de la relación inversa si ésta existe, y el campo grup referencia al nombre del grupo al que pertenece la relación, campo por el cual se relaciona con la tabla explicada anteriormente.

21

Page 22: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.3: Algunas tablas usadas para la muestra de datos de la búsqueda.

En este caso: La tabla wei_language_synset, donde el código del lenguaje sustituye a éste en el nombre de la tabla, incluye los synsets del lenguaje en cuestión. El campo offset junto con el pos identifican al synset, mientras que por ejemplo, el campo gloss incluye la descripción o definición que mostraremos en la interfaz.

La tabla  wei_language_examples  incluye ejemplos para alguno de los sentidos.  El campo word indica la palabra y el campo sense el sentido al que referencia el ejemplo. En el campo example se encuentra el ejemplo que mostraremos en la interfaz, mientras que el pos y offset indican el synset al que pertenece.

La   tabla  wei_language_relation   contiene   las   relaciones   entre   synsets   del   idioma.  En   el   campo relation tendremos la relacion entre los synsets, mientras que los campos sourceSynset y sourcePos identifican al synset al que se referencia y los campos targetSynset y targetPos el synset con elq ue el anterior guarda la relación correspondiente.

22

Page 23: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

En cuanto a la tabla wei_language_to_ili relaciona un synset del lenguaje y version correspondiente con un synset del Inter­Lingual Index, posibilitando las consultas en varios idiomas.El campo offset y  pos   identifican  al   synset  de   la  version  correspondiente,  mientras  que   los   campos   iliOffset  y iliWnId identifican la synset en el ILI.

Figura 4.4: Algunas tablas usadas en el tratamiento de ontologías.

En cuanto al tratamiento de las ontologías, como vemos en la figura 4.4, usaremos mayormente las siguientes tablas:

La tabla wei_ontology_pattern guarda una relación de las ontologías incluidas en MCR. El campo name incluye el nombre de la ontología, mientras que el campo taula guarda el nombre de a tabla en la cual se haya plasmada la jerarquia y dominios de esa ontología.

La tabla wei_ontology_relation, donde ontology es sustituido por el nombre de cada ontología en cuestión en el  nombre de la  tabla,  se guarda una relación de los dominios o posibles etiquetas asignables de esa ontología así como la relación que guardan entre ellas. El campo relation guarda el tipo de relación (por ejemplo subclass), el campo source muestra el dominio o etiqueta de la ontología al que hace referencia esa entrada de la tabla, y el campo target aquella con la cual guarda la relación (normalmente la inmediatamente superior en la jerarquía).

Por último, las tablas wei_ontology_to_ili, donde ontology también es sustituido por el nombre de la ontología en cuestión para esa tabla, contiene las etiquetas o dominios de esa ontología asignados a los synsets del ILI. En este caso, los campos iliOffset, iliPos y iliWnId identifican al synset, el campo ontology, que se llamará como la ontología en cuestión a la que pertenezca la tabla, contiene la  etiqueta asignada a ese synset,  y  el  campo modif   indica por  ejemplo,  si  esa etiqueta a sido asignada o heredada.

23

Page 24: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

4.2 Análisis 

4.2.1 Caso de uso Consultar MCR

4.2.1.1. Diagrama de secuencia del sistema

Figura 4.5 DSS del caso de uso Consultar MCR

4.2.1.2 Contrato operación ConsutarMCR

Nombre:  ConsultarMCR (item, method, pos, lenguage, search, structure,  gloss, score, rels,  full, en16, en17, en15, spwn, e171, cawn, en20, bawn, ca15, itwn, sp15) 

Responsabilidades: Dadas  una   serie   de   parámetros,   el   sistema  deberá   buscar   en   la   base  de  datos   la   información solicitada por el usuario y mostrarla por pantalla. Para ello hará uso de los siguientes parámetros:­item: Contiene la palabra, synset, variant, o ILI a buscar.­method: Contiene el tipo de búsqueda que se realizará, es decir, su valor sera o bien word, synset, variant o ili.­pos: Este campo indica el Part od Speech de la palabra o synset a buscar, es decir, sera bien noun, verb, adjective o adverb.­language: Lenguaje en el que se desea realizar la búsqueda. Por defecto su valor sera English_1.6­search: Será la relación a incluir en la busqueda. Por defecto near_synonym.­structure: idioma al que pertenece la relación anteriormente indicada. Por defecto su valor sera English_1.6­gloss: Opción que hace que se muestre la descripción del término buscado. Se encontrará acticvada por defecto.­score: Opción para mostrar el porcentaje de cada definición.­rels: opción para mostrar las relaciones del término.­full: Opción para activar las 3 anteriores.­en16, en17, en15, spwn, e171, cawn, en20, bawn, ca15, itwn, sp15: cada uno de ellos indica si se ha 

24

Page 25: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

seleccionado el idioma correspondiente como idioma de salida.

Excepciones:Si se ha escrito un término erróneo o no existente en la base de datos se mostrara un mensaje de error.Si no se ha introducido un término no se mostrara mensaje ni resultado alguno.

Precondiciones:El usuario introduce un mínimo de datos requeridos, dado que para el resto se usarán valores por defecto caso de no ser introducidos.

Postcondiciones:No se realizará ninguna modificación sobre la DB al tratarse de una consulta.

Salida:Se mostrarán los resultados de la consulta, tanto los datos del término buscado como la información referente al ILI de éste.

4.2.2 Caso de uso Editar synset

4.2.2.1 Diagrama de secuencia del sistema

Figura 4.6 DSS del caso de uso Editar synset

4.2.2.2 Contrato operación EditarSynset

Nombre: EditarSynset (pos, synset, lang)

Responsabilidades: 

25

Page 26: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Dado un offset, pos, lenguaje.. de un synset, busca la información correspondiente en la base de datos, y caso de no estar bloqueado los presenta al usuario en un formulario que permita su edición. Los   campos   contendrán   por   defecto   el   valor   actual   de   dicho   campo   (descripcion,   ejemplos, variants...). Algunos de los parámetros requeridos:­offset: Contiene el offset del synset a editar.­pos: Contiene la Part of Speech (n para nombres, v para verbos, a para adjetivos y r para adverbios) del synset a editar.­lang: Contendrá el lenguage en el que se realizara la edición.

Excepciones:Si el synset se encuentra bloqueado y no puede ser editado, el sistema informara de ello al usuario en lugar de mostrar el formulario de edición, y dará la opción de eliminar el bloqueo.

Precondiciones:El usuario ha buscado anteriormente el synset a editar en la interfaz de edición, y ha pulsado el botón correspondiente para llamar a esta operación.

Postcondiciones:No se modificara ningún dato en la base de datos en esta operación.

Salida:Si el synset se encuentra bloqueado para escritura se mostrarrá un mensaje advirtiéndolo y la opcion de desbloquearlo para el usuario.En caso contrario se mostrará un formulario con la definición, ejemplo y variants o sentidos del synset, dando la posibilidad al usuario de modificar estos datos, así como la opción de bloquear el synset tras su edición.

4.2.2.3 Contrato operación UpdateSynset

Nombre: UpdateSynset (offset, pos, lang, lock, gloss, examples...)

Responsabilities:Esta operación recoge los datos del formulario de edición y realiza los cambios pertinentes en la base  de  datos,  alterando solo   los  datos  que  hayan sido  modificados  e  el   formulario  y  dejando inalterados aqueyos que no hayan sufrido cambio. También registra los datos del usuario que ha realizado la modificación.Algunos de los parámetros usados son:­offset: offset del synset a modificar en la base de datos.­pos: Part of Speech del synset a modificar.­lang: lenguaje en el que se realiza la modificación.­lock: parámetro que indica al sistema si debe bloquear o desbloquear el synset en la base de datos.­text: contiene el texto de la descripción del formulario.­texej: contiene el texto de los ejemplos del synset­operacions:   contiene   las   operaciones   con   los   variants,   como   inserción   de   nuevos   sentidos, 

26

Page 27: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

eliminación de alguno existente, modificación...

Excepciones:Si se producen errores en la modificación se informará al usuario. Si el usuario no realiza cambios en los datos actuales no se modificará la base de datos pero se informará de que el synset ha sido modificado igualmente.

Precondiciones:El usuario había solicitado la modificación de los datos y modifica éstos por medio del formulario.

Postondiciones:Se modifican los datos en la base de datos, modificando las entradas en las tablas synset y examples y modificando/añadiendo/eliminando entradas en las variants. Estos cambios solo se realizarán si la información nueva es distinta a la almacenada en la base de datos.También se añade una entrada a la tabla wei_log_edit para reflejar la modificación realizada, el usuario que la ha llevado a cabo, y la fecha y hora en que se produjo la edición.

Salida:Se muestra  un  mensaje  “Synset  has  been  updated!”  si  no  se  ha  producido  ningun  error.  Caso contrario se notifica =mente al usuario.

4.2.3 Caso de uso Editar ILI

4.2.3.1 Diagrama de secuencia del sistema

Figura 4.7 DSS del caso de uso Editar ILI

27

Page 28: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

4.2.3.2 Contrato de la operación EditarILI

Nombre: EditarILI (iliOffset,iliPos,iliWnId)

Responsabilidades:Esta operación se encarga de que, tras pulsar el usuario el botón correspondiente a la edición de la información asociada al ILI, buscar dicha información (etiquetas de distintas ontologías) en la base de datos y una vez hecho esto, presentar un formulario o ventana que permita la cómoda edición, modificación o borrado de los datos.Algunos de los parámetros usados son:­iliOffset: indica el offset del synset del cual se modificará la información asociada al ILI.­iliPos: Indica el Part of Speech­iliWnId: Indica la lengua

Excepciones:Ninguna notable.

Precondiciones:El usuario ha buscado el synset del cual modificar la información asociada al ILI en la interfaz de edición, y pulsa el botón que permite la edición de dichos datos.

Postcondiciones:No se realizará ninguna modificación mediante esta operación en la base de datos.

Salida:Se  presentará   un   formulario,  mediante   listas  desplegables,   que  permita   al   usuario  modificar   o eliminar cualquiera de las etiquetas de cualquier ontología asignadas a ese synset en el ILI, así como permitirá añadir nuevas etiquetas a las ontologías que lo permitan. Este formulario contendrá como valores por defecto los datos actuales de las etiquetas de ese synset en el ILI acorde al estado actual de la base de datos.

4.2.3.3 Contrato de la operación UpdateILI

Nombre: UpdateILI (iliOffset,iliPos,iliWnId,ontologylabels...)

Responsabilidades:Esta operación se encarga de recoger los datos del formulario presentado al usuario, y modificar, eliminar o añadir las etiquetas que hayan sufrido modificación respecto al contenido en la base de datos.También se encargará de registrar en la tabla wei_log_top las tablas modificadas, el usuario que ha realizado la modificación así como al hora y la fecha de ésta.Algunos de los parámetros usados son:­iliOffset: indica el offset del synset del cual se modificará la información asociada al ILI.­iliPos: Indica el Part of Speech

28

Page 29: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

­iliWnId: Indica la lengua­Los subsiguientes parámetros contienen las distintas etiquetas asociadas a ese synset, tanto su valor antiguo como el nuevo valor procedente del formulario

Excepciones:Si el usuario decide eliminar todas las etiquetas de una misma ontología se le mostrará un mensaje informándole de que esta operación no es posible.

Precondiciones:El usuario ha cumplimentado el formulario y pulsado el botón de enviar.

Postcondiciones:Se modificarán en la base de datos las etiquetas pertinentes, eliminando y añadiendo las entradas que   sean   necesarias   en   las   tablas   wei_ontology_to_ili,   donde   ontology   será   el   nombre   de   la ontología a modificar. Sólo se realizarán éstos cambios en el caso de que las etiquetas especificadas por el usuario difieran de las contenidas en la base de datos, o de que se haya añadido o eliminado alguna etiqueta.Igualmente se modificara la tabla wei_log_top para registrar los cambios realizados, su autor y la hora y fecha en que se han producido.

Salida:Se mostrará al usuario un mensaje de que el Ili ha sido modificado correctamente. Caso de que el usuario haya cometido algún error como intentar borrar todas las etiquetas de una ontología, se le indicara mediante el pertinente mensaje.

4.3 Diseño del sistema

4.3.1 Arquitectura del sistema

La arquitectura del sistema esta basado en un  sistema de aplicación web, hosteada en un servidor. El cliente, se conecta al servidor remotamente y envía una petición de consulta o edición a este. El servidor procesa la petición, realiza las consultas o modificaciones necesarias a la base de datos MCR y devuelve una respuesta al usuario.

29

Page 30: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.8: Esquema de la arquitectura cliente/servidor

En cuanto a la estructuración de la aplicación en diferentes capas, se ha seguido una estructuración en 2 capas, capa de presentación, capa de negocio y capa de datos si bien la capa de presentación y capa de negocio están 

­La capa de presentación es la encargada de presentar los datos de las consultas al usuario. Esta diseñada  en  PERL y   funciona  mayormente   con  medio  de   formularios  HTML para  permitir   la interactuación entre el usuario y el sistema. La capa de negocio, encargada de procesar los datos o peticiones enviados por el usuario, hacer las consultas o modificaciones necesarias a la base de datos y enviar a la capa de presentación los datos que ésta debe mostrar al usuario se encuentra dentro de la propia capa de presentación, dado que a la vez que se recogen los datos se procesan por medio de distintos scripts perl.Para la realización de este proyecto se ha elegido un servidor Apache para el hosting de los scripts perl pertinentes, permitiendo su acceso desde un navegador de internet cualquiera.

­La capa de datos, o capa de gestión de datos, es la que contiene toda la información y de donde se obtienen los datos solicitados por el usuario. Esta implementada por medio de una base de datos MySQL. Se ha decidido hacer uso de la aplicación PHPmyAdmin para el uso y procesamiento de la base de datos durante la realización del proyecto.

30

Page 31: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.9: Arquitectura en 2 capas

4.3.2 Diseño de las operaciones

4.3.2.1 Diseño de Consultar MCR

 Figura 4.10: DSS Consultar MCR

El   usuario   solicita   a   la   interfaz   bien   de   consulta   o   de   edición,   la   búsqueda   de   un   termino seleccionando en el formulario las opciones de búsqueda que desea.

Por el patrón experto el script wei.mostrar.synset.perl recibe los datos de la consulta y realiza las consultas  pertinentes  a   la  base  de  datos   (tablas  wei_languages,  wei_relations,  wei_lang_synset, wei_lang_variant, wei_lang_examples...)

Los datos son devueltos al usuario presentados separados acorde al sentido del término buscado caso de tener varios el término buscado y acompañado de los resultados relacionados con éste según la relación seleccionada por el usuario, así como la información del ILI asociada.

En caso de realizarse la consulta mediante la interfaz de edición la información se devuelve del mismo   modo   acompañada   de   dos   botones   para   permitir   la   edición   bien   del   synset   o   de   la información (ontologías) del ILI asociadas.

31

Page 32: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

El   diseño  y   las   consultas  de  ésta  operación  no   se  detallan  más  debido   a  que  no  han   sufrido alteración respecto a su estado inicial para la introducción de los cambios añadidos durante este proyecto.   Los   cambios   realizados   se   detallarán   más   concretamente   en   el   apartado   de implementación.

4.3.2.2 Diseño de EditarSynset

Figura 4.11: DSS EditarSynset

Figura 4.12: DSS UpdateSynset

Para la operación EditarSynset. el usuario, tras haber buscado el término a editar, pulsa el botón correspondiente a la edición del synset deseado, invocando la operación EditarSynset del script.

Por el patrón experto el script wei.editar.synset.perl recibe los datos del synset a editar (offset, pos y 

32

Page 33: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

lenguaje) y realiza las consultar pertinentes a la base de datos.Una vez recibidos los datos de la BD, el propio script de encarga de organizarlos y presentarlos al usuario en forma de un formulario que permita la edición de cada uno de los datos presentados (glosa del synset para el idioma editado, ejemplos del synset también para dicho idioma y palabras y sentidos (o variants) del synset)

Para la operación UpdateSynset, el usuario, tras rellenar o modificar los datos deseados, envia el formulario pulsando el correspondiente boton. Esto invoca la operación UpdateSynset.

Por el patrón experto, el script wei.update.synset.perl   recibe los datos del synset a modificar asi como los valores del formulario rellenados por el usuario. Consulta a la base de datos los valores actuales de esos parámetros (como gloss, examples, etc...). Tras comparar los valores actuales con los valores recibidos, edita la base de datos sustituyendo la información contenida en ésta por los datos recibidos en caso de que difieran. Tambien modifica la tabla wei_log_edit para reflejar los cambios realizados y el autor de los mismos.

Se devuelve al usuario un mensaje de “Synset Updated” una vez completada la operación. Caso de que algo fallara se informa al usuario mediante el pertinente mensaje de error.

El diseño y consultas de ésta operación no se analizan en detalle, dado que no ha sido modificado el diseño anterior para la inserción de las nuevas funcionalidades. En cuanto a las consultas, solo se ha añadido una nueva consulta para la consulta y edición de los ejemplos asociados al synset.

4.3.2.3 Diseño de Editar ILI

Figura 4.13: DSS EditarILI

33

Page 34: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.14:  DSS UpdateILI

Para la operación EditarILI, el usuario, una vez buscado el synset, palabra...  a modificar su ILI pulsa el botón sobre la información del ILI asociada al synset buscado.

Por el patrón experto, el método editarIli del script wei.editar.synset.perl recibe los datos del ILI a editar   (iliOffset,   iliPos,   iliWnId)  y  a  partir  de  ellos  consulta   la  base  de  datos  para  obtener   las etiquetas de ontologías asignadas a ese synset (tablas wei_ontologia_to_ili). También recoge de la base de datos todas las etiquetas disponibles de cada ontología editable y devuelve todos estos datos (tablas wei_ontologia_relations)

Los datos son presentados al usuario por medio de listas desplegables separadas por ontologías, con valor por defecto el de la etiqueta de esa ontología asignada al synset, y valores seleccionables todos los obtenidos de la BD como etiquetas posibles para esa ontología.

Para la operación updateILI, el usuario, una vez seleccionadas, modificadas, eliminadas o añadidas las etiquetas que desea envía la información por medio del botón del formulario.

Por el patrón experto, el metodo update del script wei.update.ili.perl recibe los datos enviados, que incluyen el valor antiguo de las etiquetas así como el valor nuevo que el usuario quiera asignarles. Procesa   los   datos,   comprobando   que   no   sean   borradas   todas   las   etiquetas   de   una   ontología, comparando  los valores antiguos y nuevos de cada etiqueta para determinar que etiquetas debe borrar, cuales añadir y cuales dejar sin modificar.Una vez hecho todo esto,  edita la BD para añadir las etiquetas nuevas, posteriormente elimina de la BD   las   etiquetas   que   el   usuario   haya   decidido   eliminar/sustituir   y   finalmente   edita   la   tabla wei_log_top para añadir los cambios realizados y el autor de dichos cambios, así como el momento de la edición. 

Finalmente se retorna al usuario un mensaje de “ILI updated!” para confirmarle que la operación se ha realizado, o un mensaje de error en caso de que algo fuera mal (por ejemplo, que eligiera borrar todas las etiquetas de una ontología).

34

Page 35: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

4.4 Implementación

4.4.1 Base de datos

Empezaremos por enunciar los cambios efectuados en la base de datos para la implementación de las funcionalidades incorporadas mediante este proyecto. Para ello, nos centraremos en los cambios aplicados a la propia base de datos (a su estructura o sus tablas) y por otra parte a los cambios en la propia aplicación relacionados con las nuevas llamadas a  la base de datos incorporadas en este proyecto, bien para su consulta o para su edición.

4.4.1.1 Modificaciones a la base de datos

Las modificaciones a la base de datos incluídas son las siguientes:

– Se ha añadido  la   tabla  wei_blc_relations.  La función de esta   tabla  es  albergar  las etiquetas existentes para la nueva ontología implementada, Basic Level Contepts, así como la jerarquía que   éstas   etiquetas   guardan.   La   tabla   wei_blc_relations   contiene   6   campos,   detallados   a continuación:­   targetWord(VARCHAR(100)),   targetSense(INT(1))   y   targetPos(CHAR(1))   identifican   a   la etiqueta blc representada por esa entrada de la tabla.­ sourceWord(VARCHAR(100)), sourceSense(INT(1)) y sourcePos(CHAR(1)) identifican a la etiqueta jerárquicamente inmediatamente superior a la etiqueta identificada por esa entrada.

– Se ha añadido la tabla wei_blc_to_ili.  La función de esta tabla es registrar la etiqueta de la ontología  BLC asignada   al   ILI   de  un   synset.  Esta   tabla   consta   de  6   campos  detallados   a continuación:­ iliOffset(VARCHAR(8)), iliPos(CHAR(1)), iliWnId(VARCHAR(4)) identifican al ILI al cual se asignará la etiqueta contenida en esa entrada. ­ blcWord(VARCHAR(100)), blcSense(INT(1)) contienen los datos que identifican a la etiqueta BLC asignada. Se omite el campo bclPos ya que será el mismo que el del ILI al que se asigna la etiqueta.­modif(CHAR(3))   contiene   el   estado   de   esa   entrada,   representando   si   la   etiqueta   ha   sido asignada directamente, heredada...

– Se   han   modificado   las   tablas   wei_ca15_examples   y   wei_cawn_examples,   modificando   el nombre de la columna 'exemples' a 'examples' con el fin de evitar problemas que se producían al realizar consultas o   mostrar el resultado de alguna de éstas en catalán. Igualmente el cambio permite el correcto funcionamiento de la edición de ejemplos, parte de los objetivos de este proyecto, dado que también producía conflictos a la hora de editar los mismos.

4.4.1.2 Llamadas a la BD añadidas a la aplicación

Estas son algunas de las consultas añadidas a la interfaz WEI durante el proyecto para el correcto funcionamiento  de   alguna  de   las   funciones   añadidas.  Cada  una   incluye  una  descripción  de   la 

35

Page 36: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

función que cumple.

● SELECT * FROM wei_"."$codi"."_examples WHERE pos='$pos' AND offset='$synset': De esta consulta extraeremos los datos relativos a los ejemplos del synset que se va a mostrar en el formulario de edición. $codi corresponde al código del idioma en edición, de modo que se pueda seleccionar la tabla adecuada.

● UPDATE   wei_$codi"."_examples   SET   examples='$example'   WHERE   pos='$pos'   AND offset='$synset':  Actualiza la BD modificando los ejemplos del synset acorde a los datos enviados por el usuario de la aplicación. $codi corresponde al código del idioma en edición, de modo que se pueda seleccionar  la tabla adecuada.  Esta edición solo se produce si el ejemplo contenido en la base de datos es distinto del enviado por el usuario.

● INSERT   INTO   wei_log_edit   VALUES   ('$user',   '$data',   '$hora',   'update', 'wei_$codi"."_examples',  '$synset|$pos|examples(|$oldexample|$example|)'): Esta llamada a la BD inserta en la tabla wei_log_edit el cambio realizado a los ejemplos, el autor y la fecha de la edición. Se ejecuta despues de la llamada del punto anterior.

● SELECT  label  FROM  wei_ontology_to_ili  WHERE iliOffset='$synset'  AND iliPos='$pos' AND iliWnId='$iliWnId'": Esta llamada a la BD sirve para la consulta de la(s) etiqueta(s) asignada(s) a un determinado ILI. Label corresponde al nombre de la columna de la tabla en la que se almacena la etiqueta y wei_ontology_to_ili corresponde al nombre de la tabla de la ontología en cuestión. Esta consulta se ejecuta una vez por cada una de las ontologías a editar.

● SELECT label FROM wei_ontology_retations: Esta consulta, donde label es el nombre de la columna  que   contiene   el   nombre  de   la   etiqueta   y  wei_ontology_relations  representa   el nombre de la tabla que contiene todos los registros o etiquetas para la ontología tratada, se encarga de recoger el nombre de todas las etiquetas para poder presentarlas al usuario y que éste pueda elegir la etiqueta a añadir. Se repite una vez por cada ontología a editar.

● INSERT   INTO  wei_ontology_to_ili  (iliOffset,   iliPos,   iliWnId,  label,   modif)   VALUES ('$synset',  '$pos',  '$codi',  '$aux[$i][2]',  '='): Inserta una etiqueta en al información del ILI para una ontología concreta.  Label  representa el  nombre de  la  columna que contiene  la etiqueta, y  wei_ontology_to_ili el nombre de la tabla que contiene las etiquetas asignadas a los ILIS para esa ontología. Esta llamada a la BD se produce una vez por cada etiqueta que el usuario haya modificado o añadido, independientemente de la ontología. No se realizará si el valor de las etiquetas enviadas por el usuario coincide con los valores actuales de la base de datos.

● INSERT INTO wei_log_top (DATA, hora, operacio, taula, dades) VALUES ('$data', '$hora', 'add',   'wei_ontology_to_ili',   '$synset|$pos|$codi|labeladded($aux[$i][2])'):   Esta   llamada inserta en la tabla wei_log_top los valores modificados con la llamada anterior, asi como su autor y fecha. wei_ontology_to_ili representa a la tabla modificada. No se producirá si no se realiza ninguna llamada de la expuesta en el punto anterior.

36

Page 37: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

● DELETE FROM wei_ontology_to_ili WHERE iliOffset='$synset' AND iliPos='$pos' AND iliWnId='$codi'  AND  label='$aux[$i][1]':  Esta   llamada se encarga de eliminar  de  la  BD cualquier etiqueta que el usuario haya seleccionado modificar por otra o eliminar del ILI. 'wei_ontology_to_ili' representa la tabla de la ontología que se está tratando que contiene las etiquetas de esa ontología asignadas a los ILI mientras que label referencia al nombre de la columna de esa tabla que contiene el nombre de la etiqueta. 

● INSERT INTO wei_log_top (DATA, hora, operacio, taula, dades) VALUES ('$data', '$hora', 'delete','wei_ontology_to_ili',   '$synset|$pos|$codi|labeldeleted($aux[$i][1])'):   Esta   llamada inserta en la tabla wei_log_top lasmodificaciones, autor y fecha de los cambios en la BD producidos por las llamadas del punto anterior. Si no se produjese ninguna esta llamada tampoco se ejecuta.

Estas llamadas sufren pequeñas variaciones, por ejemplo, en casos de ontologías cuyas etiquetas son identificadas por mas de un campo o en que la estructura de la tabla en la BD difiera ligeramente del resto, pero guardan una estructura similar a la descrita en los puntos anteriores.

4.4.2 WEI

En lo que respecta  a   la  propia aplicación,   la   interfaz WEI,  se  han modificado ciertos archivos añadiendo o  cambiando  funciones  de   los  mismos,  y   también se  ha   incluido  un nuevo archivo, wei_update.ili.perl. Los cambios se detallan mas concisamente a continuación:

El archivo  wei.consult.perl,  así como el archivo  wei.interfaz.edicion.perl,  han sido modificados para permitir las búsquedas de términos con espacios. Por ejemplo, si queremos buscar el variant 'act_2', se permite la búsqueda tanto con 'act_2' como con 'act 2'.

El archivo wei.mostrar.synset.perl ha sido modificado en ambas interfaces (consulta y edición) con objeto de cambiar la forma enq ue se muestra el synset en la interfaz. Se ha cambiado el formato 'offset­pos'  por  el   formato  'lenguaje­versión­offset­pos”  siendo el   lenguage un codigo ISO de 2 digitos representativo del idioma. En el caso de la interfaz de edición se ha modificado éste punto en el botón de edición del synset así como en el de edición del ILI, separando offset y pos.También se ha modificado para que muestre correctamente en la información del ILI la etiqueta de la nueva ontología implementada, la BLC (Basic Level Concept), que se muestra en color naranja.

El  archivo    wei.editar.synset.perl  ha sufrido  modificaciones.  En primer   lugar  ha sido  añadido código a la función dades_synset con el objetivo de consultar los ejemplos asociados al synset en edición, y mostrarlos en un área de texto para facilitar su edición al usuario.También ha sido añadida la función editar_ili, que se encarga de la muestra de los datos del ILI (en forma de   listas  desplegables)  caso de que el  usuario  seleccionara  la  edición de   la   información asociada al ILI de un synset.

El archivo   wei.update.synset.perl  ha sido modificado de forma que actualice los ejemplos del 

37

Page 38: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

synset en la base de datos en caso de que hayan sufrido modificación en la edición.

Finalmente, se ha creado el archivo wei.update.ili.perl. Este script se encarga de la edición de las etiquetas de las distintas ontologías del ILI editado acorde a la información enviada por el usuario. Controla que no se borren todas las etiquetas de una ontología, y solo modifica la base de datos en caso de que haya diferencias entre las etiquetas antiguas y las enviadas por el usuario.

Los cambios mencionados son los más notables realizados en la interfaz WEI. Ningún archivo ha sido eliminado dado que la función de este proyecto era añadir nuevas funcionalidades a la interfaz y no quitar ninguna de éstas. Al no haberse realizado cambios ostensibles en el diseño, ningun fichero ha quedado obsoleto ni ha tenido que ser eliminado.

4.5 Pruebas

Durante   la   realización   de   pruebas   del   proyecto,   nos   centraremos   en   comprobar   el   correcto funcionamiento de las nuevas opciones añadidas a la interfaz, además de comprobar que no se ha modificado el resultado de las funcionalidades modificadas.

Comenzaremos por comprobar el correcto funcionamiento de la búsqueda con espacios. Para ello, buscamos en el MCR el variant o sentido car_1. Para ello, introduciremos 'car 1' en el cuadro de texto, seleccionamos variant como opción y cursamos la búsqueda, Seleccionaremos como lenguaje de salida adicional el catalán, para comprobar que ha sido solucionado el problema que impedía la correcta  muestra  de   los  ejemplos  en  este   idioma.  También aprovecharemos  esta  búsqueda para comprobar que se muestra correctamente la etiqueta correspondiente a la BLC (en naranja a  la izquierda, junto con el resto de información asociada al ILI).

Figura 4.15: Búsqueda de prueba en WEI

38

Page 39: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Al cursar la búsqueda obtenemos los siguientes resultados:

Figura 4.16: Resultado de la búsqueda de 'car 1'

En ellos podemos comprobar que la búsqueda se ha efectuado correctamente, que el ejemplo en catalán se muestra correctamente. También observamos que el synset se muestra en el nuevo formato (idioma­versión­offset­pos) y que se muestra la etiqueta correspondiente al BLC en la información del Ili, concretamente en esta caso motor_vehicle_1.

Comprobaremos que la búsqueda sigue avisando de error si se introduce una búsqueda errónea o alguna opción incorrecta. Buscaremos la palabra 'cascade' seleccionando como idioma de entrada Spanish_1.6. Comprobaremos que bajo estos términos la búsqueda arroja error ya que la palabra cascade no existe en español.

Figura 4.17: Búsqueda errónea en WEI

Comprobamos que efectivamente, la búsqueda arroja error y avisa con el mensaje “Not found!!!” como hacía antes de añadir nuestras funcionalidades.

A continuación comprobaremos otra de las nuevas funcionalidades añadidas, la edición de ejemplos de los synsets.

Para ello, vamos a buscar la palabra car en la interfaz de edición. Comprobaremos que el ejemplo del synset y idioma seleccionados se muestra bien en el nuevo área de texto y que es perfectamente editable  por  el  usuario.  Seleccionaremos para  editar  el  sentido  car_1  en  el   idioma English  1.6 pulsando el botón correspondiente.

39

Page 40: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.18: Formulario de edición en WEI

En efecto, el ejemplo se muestra correctamente en el área de texto. Probaremos a modificarlo y comprobaremos que el cambio se registra en la BD y que por tanto, en la siguiente búsqueda se muestra el nuevo ejemplo (restauraremos el ejemplo a su valor anterior tras realizar la prueba para mantener a integridad de los datos en la BD). Probaremos a editar el ejemplo “he needs a car to get to work” por “he needs a fast car to get to work”.

Figura 4.19: Ejemplo editado en WEI

40

Page 41: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Podemos ver como el ejemplo ha sido editado correctamente en la base de datos. También hemos podido comprobar durante el proceso que el sistema de bloqueo de edición implementado en la interfaz se mantiene inalterado, y que se puede seguir bloqueando el synset para impedir su edición.

Vamos a terminar con una serie de pruebas para el testeo de la edición del ILI, ya que es la parte del proyecto con más carga de implementación y por lo tanto la que más problemas puede presentar.

Comenzaremos por  comprobar el  sistema de control  para evitar  que  todas  las  etiquetas  de una misma ontología sean eliminadas. Para ello volveremos a recurrir a la palabra car, y en concreto al Ili del synset de car_1, esto es: 02383458­n. Procedemos a buscar 'car' y pulsaremos el botón sobre la información del ILI del resultado correspondiente al variant car_1.   Lo primero que debemos comprobar es que se muestra una lista desplegable por cada etiqueta y que hay una lista adicional para  añadir  nuevas  etiquetas  a   las  ontologías  TCO (Top Concept  Ontology)  y  WND (WordNet Domains). Para SUMO y BLC no queremos que se pueda añadir más de una etiqueta con lo cual esta opción no estará disponible.

Figura 4.20: Formulario para la edición del ILI en WEI

Podemos ver que efectivamente, sólo las ontologías WNDomains y TCO ofrecen la oportunidad de añadir nuevas etiquetas al ILI del synset. También podemos comprobar que aparece una lista por cada etiqueta asignala al ILI del synset, separadas por ontologías. Para comprobar que el sistema de control que evita que se eliminen todas las etiquetas de una ontología funciona,  pondremos en' (none)' (opción para eliminar la etiqueta) todas las etiquetas de una ontología (por ejemplo TCO) y estudiaremos el resultado.

41

Page 42: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 4.21: Comprobación del funcionamiento de la edición del ILI en WEI

Pulsando el botón 'Update' veremos el resultado que produce la interfaz

Figura 4.22: Mensaje de advertencia del WEI

Podemos comprobar  que la  aplicación detecta  el  problema y avisa al  usuario de que no puede realizar esa operación. No se producen cambios en la base de datos.

A   continuación   probaremos   que   la   edición   de   la   BD   se   produce   correctamente.   Para   ello, eliminaremos las dos etiquetas WNDomains de el synset anterior, y añadiremos una nueva etiqueta de   la  misma  ontología,  por   ejemplo,   'accoustics'.  De  esta   forma,   comprobaremos  que   tanto   la inserción   (acción   que   efectúa   primero   al   aplicación)   como   el   borrado   se   producen   de   forma correcta. Al mismo tiempo comprobaremos mas en profundidad el control de borrado de todas las 

42

Page 43: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

etiquetas, dado que a pesar de estar borrando todas las etiquetas de WNDomains estamos añadiendo una nueva en la misma ontología con lo cual se nos debe permitir la operación.

Figura 4.23: Mensaje de confirmación de edición del ILI

La   operación   ha   sido   permitida.   Para   comprobar   que   la   Base   de   Datos   ha   sido   editada correctamente, buscaremos el término 'car' y comprobaremos que en la información del ILI, ya no aparecen las etiquetas 'tourism' y 'transport' y que en cambio aparece la etiqueta 'accoustics'.

Figura 4.24: Comprobación de la edición del ILI en la BD

Podemos comprobar que los datos han sido editados correctamente y que solo aparece 'accoustics' como etiqueta WND.

43

Page 44: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

5. GESTIÓN

Tras   la   finalización  del  proyecto,   se  procede  a   comprobar   la  desviación  entre   el   esfuerzo   real invertido en la realización del proyecto frente al esfuerzo que se había planificado al comienzo de éste.

Figura 5.1: Comparación horas planificadas/reales.

A continuación,   se  presenta  un  pequeño desglose  del  esfuerzo  de  acuerdo a  procesos   tácticos, operativos   y   formativos.   Para   ello   veremos   primero   el   desglose   previsto   y   invertido   en   éstos procesos

44

Análisis del entornoRealización del DOP

FormaciónBúsqueda de información

Captura requisitosAnálisis

0

10

20

30

40

50

60

70

80

90

Horas planificadasHoras reales

Diseño Implementación Pruebas Memoria Preparar material Total

0

50

100

150

200

250

300

350

400

450

Horas planificadasHoras reales

Page 45: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 5.2: Desglose en procesos planificado (izquierda) vs real (derecha)

Podemos  observar  que   la   carga  de   cada   tipo  de  proceso   se  mantiene  prácticamente   inalterada porcentualmente hablando. Quizás el tipo de procesos que mas carga ganan sean los formativos, al tener que haber aumentado la planificación inicial debido al uso de nuevo software y aplicaciones.

Ahora   veremos   más   en  profundidad   la   diferencia   en   cada  proceso,   separados   según   sus   tipos (tácticos, operativos y formativos).

5.1 Procesos tácticos

Figura 5.3: Procesos tácticos planificados (izquierda) vs procesos tácticos reales

Podemos observar que en lo que se refiere a los procesos tácticos ha aumentado la carga del análisis del entorno (planificación, búsqueda y estudio de antecedentes...) frente a la realización del DOP, que sufrió un menor aumento en el esfuerzo real frente al previsto.

45

Procesos tácticos

Procesos operativos

Procesos formativos

Procesos tácticos

Procesos operativos

Procesos formativos

Análisis del entorno

Realización del DOP

Análisis del entorno

Realización del DOP

Page 46: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

5.2 Procesos operativos

En cuanto a los procesos operativos, podemos ver la diferencia entre el esfuerzo planificado y el real en la siguiente figura:

Figura 5.4: Procesos operativos planificados (izquierda) vs reales (derecha)

Vemos que la mayor diferencia en la estimación de horas se ha producido tanto en el apartado de implementación, como en el capítulo de pruebas. La realización de la memoria, a pesar de haber aumentado el esfuerzo real frente al planificado, porcentualmente ha perdido peso dentro de la carga de los procesos operativos.

El motivo de que la implementación sea la que mas desviación ha sufrido entre planificación/real es probablemente que, a pesar de el esfuerzo formativo invertido en el  estudio de las aplicaciones desconocidas  y  en el  nuevo (para  el  alumno)  lenguaje  de programación PERL, surgen muchos imprevistos debido a la falta de costumbre del alumno con estos lenguajes y aplicaciones, generando un mayor esfuerzo y habiendo de invertir un numero de horas bastante superior al planificado.

5.3 Procesos formativos

Por último analizaremos los resultados relacionados con los procesos formativos, resultados que pueden verse en la siguiente figura:

46

Captura requisitos

Análisis

Diseño

Implemen­tación

Pruebas

Memoria

Preparar material

Captura requisitos

Análisis

Diseño

Implemen­tación

Pruebas

Memoria

Preparar material

Page 47: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Figura 5.5: Procesos formativos planificados (izquierda) vs reales (derecha)

En  este   caso,   la  mayor   desviación   respecto  a   la   planificación   realizada  es   en   el   campo  de   la formación en nuevas  tecnologías.  Éste  hecho esta  originado por  el  hecho de que el  alumno ha debido formarse mínimamente en un gran número de aplicaciones y lenguajes que desconocía o apenas conocía (Linux, Perl, PHP, MySQL, Apache...). Además también se ha tenido que aumentar el   esfuerzo   debido   al   uso   de   herramientas   de   código   abierto   (open   source)   gratuitas   para   la realización de algunas tareas, como desarrollo de diagramas, gráficos, edición de la memoria...), en las cuales el usuario ha tenido que formarse también para realizar un uso aceptable de ellas.

47

Formación

Búsqueda de infor­mación

Formación

Búsqueda de infor­mación

Page 48: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

6. CONCLUSIONES

La realización de este proyecto, ha resultado ser un notable reto a superar, especialmente debido a inconvenientes surgidos por aspectos como la necesidad de gestionar la mayor parte de el por vías de comunicación a distancia, o por problemas con las transferencias de archivos entre alumno y director del proyecto.

No obstante, ha sido una gran experiencia ya que me ha permitido familiarizarme con un sistema operativo como Linux que,  sin la motivación de este proyecto, posiblemente seguiría siendo un sistema operativo bastante desconocido para mí. Gracias a la realización del proyecto he conseguido descubrir y probar distintas funciones de Linux que eran desconocidas para mí, así como mejorar mi manejo de Linux como sistema operativo y descubrir métodos alternativos para la realización de tareas habituales bajo él.

También ha permitido descubrir un lenguaje de programación como PERL, que era absolutamente desconocido para mí. Gracias al proyecto he podido comprobar las bondades de este lenguaje de programación, y si bien quizás el nivel conseguido no sea especialmente alto, si se han cubierto varios temas interesantes, como tratamiento de archivos, tratamiento de bases de datos y uso de PERL en aplicaciones web.

Así mismo, el desarrollo del proyecto me ha permitido (dado que era necesario para la realización del mismo) experimentar con el uso de un servidor Apache en mi ordenador personal. El uso de este servidor me ha permitido descubrir, por ejemplo como alojar una aplicación web en este servidor o como solucionar algunos errores relacionados con el por medio de los varios logs que guarda el servidor de las actividades realizadas en el.

Por último, no puedo dejar de mencionar que este proyecto me ha animado a hacer más uso de aplicaciones de código abierto, y descubrir algunas de las más notables alternativas que ofrecen algunas de ellas a otras aplicaciones con licencia que requieren de su compra para su uso a máxima capacidad de una manera legal. El uso de este software libre permite a su vez que éstas aplicaciones se   vayan   haciendo   más   conocidas   permitiendo   que   sean   mejoradas   y   supongan   cada   vez   una alternativa mas fiable y consistente.

48

Page 49: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

7. BIBLIOGRAFÍA

Linux:http://es.wikipedia.org/wiki/GNU/Linuxhttp://ubuntuforums.org/

PERL:http://es.wikipedia.org/wiki/Perlhttp://www.cse.unt.edu/~rada/CSCE5290/Lectures/Perl.Tutorial.ppthttp://www.perl.com/http://perlenespanol.com/foro/

MySQL:http://www.mysql.com/http://es.wikipedia.org/wiki/MySQL

PhPMyAdmin:http://es.wikipedia.org/wiki/PhpMyAdminhttp://www.phpmyadmin.net/home_page/index.php

Apache Server:http://www.apache.org/http://es.wikipedia.org/wiki/Servidor_HTTP_Apache

WordNet:http://en.wikipedia.org/wiki/Wordnethttp://en.wikipedia.org/wiki/Wordnet

EuroWordnet:http://www.illc.uva.nl/EuroWordNet/

Meaninghttp://www.lsi.upc.edu/~nlp/meaning/

MCR:http://www.lsi.upc.es/~nlp/meaning/demo/demo.html

WEI:http://adimen.si.ehu.es/cgi­bin/wei/public/wei.consult.perlhttp://adimen.si.ehu.es/cgi­bin/wei/privat/wei.interfazedicion.perl

49

Page 50: Índice de contenidos - Adimen Serveradimen.si.ehu.es/~rigau/teaching/EHU/PFCs/FranSantamaria2008-2009/... · La semántica léxica cubre áreas del lenguaje como la clasificación

Proyecto de fin de carrera Francisco Javier Santamaría Rafael

Otras aplicaciones usadas:Open project: http://openproj.org/Open Office: http://es.openoffice.org/Dia: http://live.gnome.org/DiaGiMP: http://www.gimp.org/

OtrosMemoria de PFC de María Eguimendia

50