Publicado el 12 de Noviembre del 2020
690 visualizaciones desde el 12 de Noviembre del 2020
11,1 MB
254 paginas
Creado hace 13a (13/09/2011)
Escuela Politécnica Superior (Jaén) Ingeniería en Informática UNIVERSIDAD DE JAÉNEscuela Politécnica Superior (Jaén)Proyecto Fin de CarreraANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN FRAMEWORK PARA EL DISEÑO DE MOTORES DE ANÁLISIS LINGÜÍSTICO BASADOS EN REGLASAlumno:Francisco Javier Estrella LiébanaTutoras:Prof. Dra. Macarena Espinilla EstévezProf. Rosa Mª Rodríguez DomínguezDpto:InformáticaÁrea de Conocimiento: Arquitectura y Tecnologíade ComputadoresSeptiembre, 2011Francisco Javier Estrella Liébana
Universidad de Jaén
Departamento de Informática
Análisis, diseño e implementación de un
framework para el diseño de motores de
análisis lingüístico basados en reglas
Autor:
Francisco Javier Estrella Liébana
Tutoras:
Macarena Espinilla Estévez
Rosa Mª Rodríguez Domínguez
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
i
Francisco Javier Estrella Liébana
ii
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
Francisco Javier Estrella Liébana
Universidad de Jaén
Escuela Politécnica Superior de Jaén
Departamento de Informática
Dra. Prof. Dª. Macarena Espinilla Estévez y Prof. Dª. Rosa Mª Rodríguez Domín-
guez, tutoras del Proyecto Fin de Carrera titulado: Análisis, diseño e implementación de
un framework para el diseño de motores de análisis lingüístico basados en reglas, que
presenta D. Francisco Javier Estrella Liébana, autorizan su presentación para defensa y
evaluación en la Escuela Politécnica Superior de Jaén.
Jaén, septiembre de 2011
El alumno:
Las tutoras:
D. Francisco Javier Estrella Liébana
Dra. Prof. Dª. Macarena Espinilla Estévez
Prof. Dª. Rosa Mª Rodríguez Domínguez
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
iii
Francisco Javier Estrella Liébana
iv
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
Francisco Javier Estrella Liébana
Agradecimientos
Quisiera mostrar mi agradecimiento a todas las personas que, de un modo u otro,
habéis contribuido en la realización de este proyecto.
Raquel, gracias por estar siempre ahí y ser quién eres.
Papá, mamá, gracias por el sacricio que habéis hecho por mí, por apoyarme y por
darme vuestra conanza.
Macarena y Rosa, gracias por la ayuda, el tiempo y la paciencia que me habéis
brindado.
Luis, gracias por los consejos y por estar siempre dispuesto a prestarme tu ayuda.
Al resto, familia, compañeros y amigos, gracias por tantos buenos momentos.
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
v
Francisco Javier Estrella Liébana
vi
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
Índice general
1. Introducción
1.1.
Introducción al proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Antecedentes
2.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
4
4
5
7
9
2.2.
Iguáleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Herramientas de análisis lingüístico existentes
. . . . . . . . . . . . . . . . 12
3. Análisis lingüístico basado en reglas
19
3.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Enfoque del análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1. Descripción del análisis . . . . . . . . . . . . . . . . . . . . . . . . . 23
vii
Francisco Javier Estrella Liébana
Índice general
3.2.2. Tipo de análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.3. Aplicabilidad del análisis . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.4. Campos de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4.1.
Igualdad de género . . . . . . . . . . . . . . . . . . . . . . 31
3.2.5. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.6. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3. Funcionamiento del analizador . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1. Procedimiento general
. . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.2. Tipos de reglas disponibles . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2.1. Búsqueda contextual . . . . . . . . . . . . . . . . . . . . . 39
3.3.2.2. Valores permitidos para los elementos
. . . . . . . . . . . 40
3.3.2.3. Tipo 1: Disyunción . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2.4. Tipo 2: Palabra en conjunto de términos . . . . . . . . . . 42
3.3.2.5. Tipo 3: Existe palabra de conjunto de términos en un con-
texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.2.6. Tipo 4: Existe variante gramatical de palabra de un con-
junto de términos en un contexto . . . . . . . . . . . . . . 43
3.3.2.7. Tipo 5: Palabra de una clase de palabras . . . . . . . . . . 43
3.3.2.8. Tipo 6: Existe palabra de una clase de palabras en un
contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.2.9. Tipo 7: Existe variante gramatical de palabra de una clase
de palabras en un contexto . . . . . . . . . . . . . . . . . 44
3.3.3. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
viii
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
Índice general
Francisco Javier Estrella Liébana
3.3.3.1. Comprobación de la adjetivación . . . . . . . . . . . . . . 45
3.3.3.2. Comprobar si una palabra está en masculino . . . . . . . . 47
3.3.4.
Igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4. Framework de análisis
51
4.1. Arquitecturas basada en componentes . . . . . . . . . . . . . . . . . . . . . 53
4.1.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1.2. Benecios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.1.3. Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.3.1. Características
. . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.4. Arquitecturas de componentes existentes . . . . . . . . . . . . . . . 57
4.1.5. OSGi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.5.1. Plataforma de servicios OSGi
. . . . . . . . . . . . . . . . 59
4.1.5.2.
Implementaciones de OSGi
. . . . . . . . . . . . . . . . . 63
4.1.5.3. Proyectos desarrollados mediante la arquitectura OSGi
. . 64
4.2. Framework de análisis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.2. Características
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.2.1. Características generales . . . . . . . . . . . . . . . . . . . 69
4.2.2.2. Eclipse Plug-Ins
. . . . . . . . . . . . . . . . . . . . . . . 70
4.2.2.3. Archivos JAR . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.3. Tipos de componentes
. . . . . . . . . . . . . . . . . . . . . . . . . 73
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
ix
Francisco Javier Estrella Liébana
Índice general
4.3. Tecnologías
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.1. Arquitectura del Framework . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1.1. Alternativas existentes . . . . . . . . . . . . . . . . . . . . 75
4.3.1.2. Eclipse RCP . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1.3. Aplicaciones desarrolladas con Eclipse RCP . . . . . . . . 77
4.3.2. Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . 81
4.3.3. Librerías, herramientas y programas . . . . . . . . . . . . . . . . . . 83
4.3.3.1. Librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.3.3.2. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.3.3. Programas
. . . . . . . . . . . . . . . . . . . . . . . . . . 87
5. Desarrollo del proyecto
89
5.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2. Especicación de requerimientos . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.1. Requerimientos funcionales . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.2. Requerimientos no funcionales . . . . . . . . . . . . . . . . . . . . . 94
5.2.2.1. Requerimientos software y hardware . . . . . . . . . . . . 94
5.3. Análisis del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3.1. Casos de uso
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3.1.1. Notación empleada . . . . . . . . . . . . . . . . . . . . . . 100
5.3.2. Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.4. Diseño del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
x
Análisis, diseño e implementación de un framework para el
diseño de motores de análisis lingüístico basados en reglas
Índice general
Francisco Javier Estrella Liébana
5.4.1. Diseño de los componentes . . . . . . . . . . . . . . . . . . . . . . . 119
5.4.1.1. Componentes . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.4.1.2. Tipo de los componentes . . . . . . . . . . . . . . . . . . . 121
5.4.1.3. Grafos de dependencias
. . . . . . . . . . . . . . . . . . . 122
5.4.2. Diseño de la interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.4
Comentarios de: Análisis, diseño e implementación de un framework para el diseño de motores de análisis lingüístico basados en reglas (0)
No hay comentarios