anteproyecto fin de carrera - speech …lorien.die.upm.es/juancho/pfcs/amb/montaje11sept.doc · web...

290
Índice CAPÍTULO 1 INTRODUCCIÓN............................................9 1.1 JUSTIFICACIÓN...................................................9 1.1.1 Planteamiento del problema........................................................................................ 9 1.1.2 Evolución......................................................................................................................... 9 1.1.3 Las fases del proceso de comunicación..................................................................... 10 1.1.4 Nuestra línea de trabajo: El reconocimiento............................................................ 10 1.1.5 Un sistema “tolerante a fallos”................................................................................... 11 1.1.6 Además de capacidad lingüística…sensibilidad....................................................... 11 1.2 OBJETIVO......................................................12 1.3 ENCUADRE......................................................12 1.3.1 Primeros pasos…cómo abordar el problema........................................................... 12 1.3.2 Innovación.................................................................................................................... 12 1.4 ORGANIZACIÓN DEL PROYECTO........................................13 1.4.1 Estructuración del trabajo realizado......................................................................... 13 1.4.2 Estructuración de la memoria del proyecto.............................................................. 13 CAPÍTULO 2 ESTADO DE LA CUESTIÓN..................................15 2.1 PROCESAMIENTO DEL LENGUAJE NATURAL................................15 2.1.1 Procesado lingüístico.................................................................................................. 15 2.2 ANÁLISIS MORFO-SINTÁCTICO........................................17 2.2.1 Etiquetado.................................................................................................................... 17 2.2.2 Análisis sintáctico......................................................................................................... 21 2.3 APLICACIONES E IMPORTANCIA DE LOS MODELOS DE LENGUAJE................22 2.3.1 Los modelos de lenguaje............................................................................................. 22 2.3.2 Inferencia estadística.................................................................................................. 24 2.3.3 Construcción de los modelos de Lenguaje................................................................ 35 2.3.4 Aplicación de los modelos de lenguaje en reconocimiento ..................................... 35 2.3.5 Aplicación práctica...................................................................................................... 38 2.3.6 Paralelismo con la realidad........................................................................................ 39 CAPÍTULO 3 ROBINT.................................................41 3.1 VISIÓN GENERAL................................................41 3.1.1 Descripción................................................................................................................... 41 3.1.2 Definición del sistema................................................................................................. 43 3.1.3 Implementación........................................................................................................... 43 3.1.4 Financiación................................................................................................................. 44 3.2 ORIGEN.......................................................44 3.3 EVOLUCIÓN.....................................................44 3.3.1 Robots sociales............................................................................................................. 44 3.3.2 Interacción Hombre-Robot......................................................................................... 46 3.4 URBANO......................................................49 3.4.1 Objetivo General.......................................................................................................... 49 3.4.2 ¿De dónde partimos?................................................................................................... 49 3.4.3 Localización.................................................................................................................. 51 3.4.4 Consideraciones importantes..................................................................................... 52 3.4.5 Dominio de ROBINT..................................................................................................... 52 CAPÍTULO 4 MULTIWORDNET...........................................63 4.1 PRESENTACIÓN..................................................63 1

Upload: vutuyen

Post on 20-May-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Índice

CAPÍTULO 1 INTRODUCCIÓN..................................................................................................9

1.1 JUSTIFICACIÓN..................................................................................................................... 91.1.1 Planteamiento del problema...........................................................................................91.1.2 Evolución....................................................................................................................... 91.1.3 Las fases del proceso de comunicación.........................................................................101.1.4 Nuestra línea de trabajo: El reconocimiento.................................................................101.1.5 Un sistema “tolerante a fallos”....................................................................................111.1.6 Además de capacidad lingüística…sensibilidad............................................................11

1.2 OBJETIVO........................................................................................................................... 121.3 ENCUADRE......................................................................................................................... 12

1.3.1 Primeros pasos…cómo abordar el problema.................................................................121.3.2 Innovación.................................................................................................................... 12

1.4 ORGANIZACIÓN DEL PROYECTO...........................................................................................131.4.1 Estructuración del trabajo realizado.............................................................................131.4.2 Estructuración de la memoria del proyecto...................................................................13

CAPÍTULO 2 ESTADO DE LA CUESTIÓN.............................................................................15

2.1 PROCESAMIENTO DEL LENGUAJE NATURAL.........................................................................152.1.1 Procesado lingüístico...................................................................................................15

2.2 ANÁLISIS MORFO-SINTÁCTICO.............................................................................................172.2.1 Etiquetado.................................................................................................................... 172.2.2 Análisis sintáctico......................................................................................................... 21

2.3 APLICACIONES E IMPORTANCIA DE LOS MODELOS DE LENGUAJE...........................................222.3.1 Los modelos de lenguaje...............................................................................................222.3.2 Inferencia estadística....................................................................................................242.3.3 Construcción de los modelos de Lenguaje.....................................................................352.3.4 Aplicación de los modelos de lenguaje en reconocimiento............................................352.3.5 Aplicación práctica......................................................................................................382.3.6 Paralelismo con la realidad..........................................................................................39

CAPÍTULO 3 ROBINT...............................................................................................................41

3.1 VISIÓN GENERAL............................................................................................................... 413.1.1 Descripción.................................................................................................................. 413.1.2 Definición del sistema...................................................................................................433.1.3 Implementación............................................................................................................ 433.1.4 Financiación................................................................................................................44

3.2 ORIGEN.............................................................................................................................. 443.3 EVOLUCIÓN........................................................................................................................ 44

3.3.1 Robots sociales.............................................................................................................443.3.2 Interacción Hombre-Robot...........................................................................................46

3.4 URBANO.......................................................................................................................... 493.4.1 Objetivo General.......................................................................................................... 493.4.2 ¿De dónde partimos?....................................................................................................493.4.3 Localización................................................................................................................. 513.4.4 Consideraciones importantes........................................................................................523.4.5 Dominio de ROBINT.....................................................................................................52

CAPÍTULO 4 MULTIWORDNET.............................................................................................63

4.1 PRESENTACIÓN................................................................................................................... 634.2 INTRODUCCIÓN A MULTIWORDNET....................................................................................63

4.2.1 ¿Qué es WordNet? Definición Formal..........................................................................644.2.2 Características de MultiWordNet..................................................................................654.2.3 ¿Qué aporta MultiWordNet? ¿Para qué puede resultar útil?........................................654.2.4 Arquitectura del sistema................................................................................................66

4.3 PSICOLINGÜÍSTICA.............................................................................................................. 704.4 LA MATRIZ LÉXICA........................................................................................................... 70

4.4.1 ¿Cómo están representados los significados en MultiWordNet?....................................734.5 SINONIMIA......................................................................................................................... 74

1

Page 2: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

4.6 ANTONIMIA........................................................................................................................ 754.7 HIPERONIMIA..................................................................................................................... 774.8 MERONIMIA....................................................................................................................... 784.9 RELACIONES MORFOLÓGICAS..............................................................................................79

4.9.1 ¿Cómo se usa MultiWordNet?......................................................................................794.9.2 Los sustantivos en MultiWordNet. Un sistema de herencia............................................79

CAPÍTULO 5 HERRAMIENTAS...............................................................................................83

5.1 GOOGLE............................................................................................................................. 835.1.1 Nacimiento de Google..................................................................................................835.1.2 Aplicación de Google al asistente.................................................................................845.1.3 Acceso a Google........................................................................................................... 85

5.2 ECLIPSE............................................................................................................................. 915.3 TRABAJO LINGÜÍSTICO COMPUTACIONAL............................................................................91

5.3.1 Perífrasis Verbales.......................................................................................................915.3.2 MuseumNet................................................................................................................... 96

5.4 PERL.................................................................................................................................. 975.4.1 ¿Qué es?....................................................................................................................... 975.4.2 Utilidad........................................................................................................................ 975.4.3 “wnsp.bat”................................................................................................................... 985.4.4 “wnsp.PER”.................................................................................................................98

5.5 8603_.ORD....................................................................................................................... 1005.5.1 El formato del diccionario..........................................................................................1015.5.2 El conjunto de determinantes......................................................................................102

5.6 OTRAS FUNCIONES............................................................................................................102

CAPÍTULO 6 DESCRIPCIÓN FUNCIONAL..........................................................................103

6.1 FUNCIONAMIENTO GENERAL.............................................................................................1046.2 “ASISTENTE DE MODELOS DE LENGUAJE PARA ROBOTS INTELIGENTES CON CAPACIDAD DE

COMUNICACIÓN HABLADA”........................................................................................................................ 1066.3 “FRASES DEMO”...............................................................................................................109

6.3.1 Preparación del sistema..............................................................................................1106.3.2 Cargar la información................................................................................................1116.3.3 Acondicionamiento de la información.........................................................................1126.3.4 Arrancar sintax........................................................................................................... 1136.3.5 Procesamiento del fichero de frases............................................................................1146.3.6 Resultados.................................................................................................................. 1206.3.7 Otras consideraciones.................................................................................................120

6.4 REPRESENTACIÓN DEL DOMINIO........................................................................................1206.4.1 Los objetos................................................................................................................. 1206.4.2 Modelo de abstracción................................................................................................1216.4.3 Árboles....................................................................................................................... 1226.4.4 Dominio: Árbol + Relaciones.....................................................................................1226.4.5 Frases de Dominio general.........................................................................................1266.4.6 Explicador.................................................................................................................. 1286.4.7 acceso_a_google........................................................................................................ 1316.4.8 Frases Extra-Dominio.................................................................................................135

CAPÍTULO 7 SINTAX..............................................................................................................137

7.1 JUSTIFICACIÓN.................................................................................................................. 1377.2 VISIÓN GLOBAL............................................................................................................... 1377.3 MEJORAS AL SISTEMA.......................................................................................................1377.4 DESCRIPCIÓN.................................................................................................................... 138

7.4.1 Principio de formalización: la necesidad de una gramática........................................1387.4.2 Jerarquía de Chomsky. Tipo 2....................................................................................1397.4.3 Modelo lingüístico......................................................................................................139

7.5 FUNDAMENTOS DEL PROCESADO LINGÜÍSTICO AUTOMÁTICO.............................................1437.5.1 Categorización........................................................................................................... 1437.5.2 Modelado léxico.........................................................................................................1457.5.3 Desambiguación contextual........................................................................................146

2

Page 3: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

7.5.4 Análisis sintáctico.......................................................................................................1467.5.5 Análisis sintagmático y reglas de corte.......................................................................147

7.6 FUNCIONAMIENTO GENERAL.............................................................................................1507.6.1 Nombre de ficheros y modo de funcionamiento...........................................................1507.6.2 Carga de la gramática................................................................................................1517.6.3 Sincronización a través de ficheros.............................................................................1527.6.4 Procesado del texto de entrada...................................................................................1537.6.5 Fin del análisis...........................................................................................................155

CAPÍTULO 8 VARIANTES LINGÜÍSTICAS..........................................................................157

8.1 DOS POSIBLES ACEPCIONES: SINTAXIS VS SEMÁNTICA.......................................................1578.1.1 Sintaxis....................................................................................................................... 1578.1.2 Semántica................................................................................................................... 159

8.2 ESTRUCTURA EN MÓDULOS...............................................................................................1598.3 LA LABOR DEL ASISTENTE...............................................................................................1608.4 HERRAMIENTAS................................................................................................................ 160

8.4.1 Analizador.................................................................................................................. 1618.5 TRATAMIENTO DE LOS DATOS OMITIDOS. CRITERIO DE ACOPOST....................................1668.6 CASO DE USO DE LOS MODELOS DE LENGUAJE. APLICACIÓN AL RECONOCIMIENTO.............1678.7 ESTIMACIONES PROBABILÍSTICAS......................................................................................169

8.7.1 ¿De dónde salen los números?....................................................................................1698.7.2 El secreto no está en las cuentas.................................................................................170

8.8 CONTRARIEDADES............................................................................................................1708.8.1 El problema del tamaño..............................................................................................1708.8.2 Solución...................................................................................................................... 171

8.9 CONTINUANDO CON EL PROCESO.......................................................................................1728.10 SEGMENTACIÓN................................................................................................................1728.11 OTROS RECURSOS A NUESTRO ALCANCE............................................................................173

8.11.1 Gramática CMT........................................................................................................ 1738.11.2 FrameNet.................................................................................................................. 1738.11.3 WordNet................................................................................................................... 177

CAPÍTULO 9 CONCLUSIONES Y LÍNEAS FUTURAS........................................................179

9.1 CONCLUSIONES................................................................................................................ 1799.1.1 Variaciones morfo-sintácticas.....................................................................................1799.1.2 Adaptación del analizador sintagmático.....................................................................1809.1.3 Realización de un prototipo de red de palabras basado en WordNet...........................1809.1.4 Realización de un asistente interactivo.......................................................................1819.1.5 Diseño de un prototipo de visita guiada......................................................................1819.1.6 Estudio del empleo de información probabilística.......................................................181

9.2 LÍNEAS FUTURAS..............................................................................................................1819.2.1 Adaptación del analizador sintagmático.....................................................................1819.2.2 Realización de un prototipo de red de palabras basado en WordNet...........................1829.2.3 Realización de un asistente interactivo.......................................................................1839.2.4 Diseño de un prototipo de visita guiada......................................................................1839.2.5 Estudio del empleo de información probabilística.......................................................1839.2.6 Variantes Interrogativas.............................................................................................1849.2.7 Experimentación y evaluación de los resultados.........................................................184

CAPÍTULO 10 APÉNDICES....................................................................................................185

10.1 APÉNDICE A1 CODIFICACIÓN DE CATEGORÍAS GRAMATICALES......................................18510.2 APÉNDICE A2 CODIFICACIÓN DEL TIPO DE DETERMINANTE............................................18510.3 APÉNDICE A3 PRIMEROS NIVELES DE LA ONTOLOGÍA.......................................................18610.4 APÉNDICE A4 BASE DE DATOS DE WORDNET.......................................................187

10.4.1 Base de datos de WordNet (Database)......................................................................18710.5 APÉNDICE A5 GRINDER.................................................................................................190

10.5.1 Utilidad.................................................................................................................... 19010.5.2 Implementación........................................................................................................190

10.6 APÉNDICE A6 RASGOS DISTINTIVOS..............................................................................19210.7 APÉNDICE A7 PALABRAS DE MUSEUMNET....................................................................193

3

Page 4: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

10.7.1 Configuración de la lista de palabras.......................................................................19310.7.2 Ficheros de paréntesis etiquetados............................................................................193

10.8 APÉNDICE A8 WNSP.PER............................................................................................19610.9 APÉNDICE A9 ÚLTIMAS APORTACIONES............................................................................198

10.9.1 Curiosidad por aprender...........................................................................................19810.9.2 Multilingüismo..........................................................................................................198

CAPÍTULO 11 REFERENCIAS...............................................................................................201

CAPÍTULO 12 PLANOS........................................................................................................... 203

CAPÍTULO 13 PLIEGO DE CONDICIONES.........................................................................205

13.1 CONDICIONES GENERALES................................................................................................20513.2 CONDICIONES GENERALES A TODOS LOS PROGRAMAS........................................................20513.3 CONDICIONES GENERALES DE PRUEBA...............................................................................20513.4 RECURSOS MATERIALES....................................................................................................20613.5 RECURSOS LOGÍSTICOS.....................................................................................................206

CAPÍTULO 14 PRESUPUESTO...............................................................................................207

14.1 INTRODUCCIÓN.................................................................................................................20714.2 PRESUPUESTO DE EJECUCIÓN MATERIAL............................................................................207

14.2.1 Gastos de material....................................................................................................20714.2.2 Coste de mano de obra..............................................................................................208

14.3 PRESUPUESTO DE EJECUCIÓN POR CONTRATA....................................................................20914.4 DIRECCIÓN DEL PROYECTO...............................................................................................20914.5 Importe total del proyecto................................................................................................210

4

Page 5: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Índice de tablas, figuras y cuadros

I. TABLAS

TABLA 1 DICCIONARIOS CONVENCIONALES (PROPIEDADES) ................................................... 3 TABLA 2 APORTACIONES DE MULTIWORDNET ....................................................................... 3 TABLA 3 COMPONENTES DEL SISTEMA ................................................................................. 3 TABLA 4 PUNTEROS REFLEXIVOS ......................................................................................... 3 TABLA 5 PUNTEROS RELACIONALES EN WORDNET ................................................................ 3 TABLA 6 PERÍFRASIS VERBALES EN EL ARCHIVO “PERIFRASISVERBALES.CPP” .......................... 3 TABLA 7 DETERMINANTES ETIQUETADOS PARA GENERAR ALTERNATIVAS .............................. 3 TABLA 8 ASOCIACIÓN ENTRE PALABRAS Y CATEGORÍAS ........................................................ 3 TABLA 9 ALGORITMO DE VITERBI ........................................................................................ 3 TABLA 10 DATOS DE PARTIDA ............................................................................................... 3 TABLA 11 A1.1 ..................................................................................................................... 3 TABLA 12 A2.1 ..................................................................................................................... 3 TABLA 13 GASTOS DE MATERIAL ........................................................................................... 3 TABLA 14 COSTE GENERAL DE MANO DE OBRA ....................................................................... 3 TABLA 15 COSTE DE MANO DE OBRA ...................................................................................... 3 TABLA 16 PRESUPUESTO DE EJECUCIÓN MATERIAL ................................................................. 3 TABLA 17 PRESUPUESTO DE EJECUCIÓN POR CONTRATA .......................................................... 3 TABLA 18 HONORARIOS DE DIRECCIÓN .................................................................................. 3 TABLA 19 IMPORTE TOTAL DEL PROYECTO ............................................................................. 3

 II. FIGURAS

FIGURA 2.1 FASES DEL MÓDULO DE PLN QUE CONCIERNEN A ESTE PROYECTO ............................ 3 FIGURA 2.2 ONTOLOGÍA O RED SEMÁNTICA ............................................................................. 3 FIGURA 2.3 8603_.ORD ............................................................................................................ 3 FIGURA 2.4 COMPONENTES PRINCIPALES DE UN SISTEMA DE RECONOCIMIENTO DEL HABLA ........ 3 FIGURA 3.1 RT EL ROBOT PROFESOR ....................................................................................... 3 FIGURA 3.2 BLACKY. ROBOT INTERACTIVO PARA FERIAS. UPM-DISAM ....................................... 3 FIGURA 3.3 EMIEW DE HITACHI .............................................................................................. 3 FIGURA 3.4 PHILIPS SMART COMPANION ................................................................................. 3 FIGURA 3.5 CARA DEL ROBOT URBANO ................................................................................... 3 FIGURA 3.6 ROBOT URBANO ................................................................................................... 3 FIGURA 3.7 AIBO PERRO-ROBOT DE SONY ................................................................................ 3 FIGURA 3.8 ROBOTS DE SEGURIDAD, VIGILANCIA Y EXPLORACIÓN ............................................ 3 FIGURA 3.9 ROBOT ENON DE FUJITSU ...................................................................................... 3 FIGURA 3.10 ROBOT URBANO .................................................................................................. 3 FIGURA 3.11 ASPECTO DE UN ROBOT HUMANOIDE DE CONVERSACIÓN DE LA EMPRESA FANTASÍA Y ROBÓTICA .......................................................................................................... 3 FIGURA 3.12 ROBOT URBANO CON SU NUEVO BRAZO MECÁNICO ............................................... 3 FIGURA 3.13 DISTINCIÓN ENTRE DOS TIPOS DE PANELES: VERTICALES/HORIZONTALES ................ 3 FIGURA 3.14 ORIENTACIÓN RELATIVA ..................................................................................... 3 FIGURA 3.15 EXPRESIONES FACIALES DE ROBINT ...................................................................... 3 FIGURA 3.16 MUSEO PRÍNCIPE FELIPE DE LA CIUDAD DE LAS ARTES Y LAS CIENCIAS DE VALENCIA 3 FIGURA 3.17 POSIBLES RELACIONES SEMÁNTICAS .................................................................... 3 FIGURA 4.1 ARQUITECTURA DEL SISTEMA WORDNET .............................................................. 3 FIGURA 4.2 INTERFAZ BASADO EN VENTANAS ........................................................................ 3 FIGURA 4.3 INTERFAZ BASADO EN LÍNEA DE COMANDOS ......................................................... 3 FIGURA 4.4 MATRIZ LÉXICA .................................................................................................. 3

5

Page 6: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

FIGURA 4.5 RELACIONES SEMÁNTICAS Y SINTÁCTICAS ............................................................ 3 FIGURA 4.6 SINONIMIA ......................................................................................................... 3 FIGURA 4.7 ANTONIMIA ........................................................................................................ 3 FIGURA 4.8 HIPERONIMIA ..................................................................................................... 3 FIGURA 4.9 MERONIMIA ....................................................................................................... 3 FIGURA 5.1 FUNDADORES DE GOOGLE: LARRY PAGE Y SERGEY BRIN ........................................ 3 FIGURA 5.2 MODELO CLIENTE-SERVIDOR ............................................................................... 3 FIGURA 5.3 WNSP.BAT .......................................................................................................... 3 FIGURA 5.4 WNSP.BAT .......................................................................................................... 3 FIGURA 5.5 ESQUEMA DEL FICHERO 8603_.ORD ....................................................................... 3 FIGURA 5.6 8603_.ORD .......................................................................................................... 3 FIGURA 5.7 EL ESPACIO SÓLO SEPARA LAS PALABRAS DE SUS ETIQUETAS (TAGS). LA PARTE DE PALABRAS NO PUEDE CONTENER ESPACIOS ........................................................... 3 FIGURA 6.1 ENTORNO DE DESARROLLO DEL ROBOT ................................................................ 3 FIGURA 6.2 CLASIFICACIÓN POR COLORES DE LOS MÓDULOS QUE INTERVIENEN EN EL ENTORNO DE

DESARROLLO DEL ROBOT .................................................................................... 3 FIGURA 6.3 ESQUEMA POR BLOQUES. GENERACIÓN DE VARIANTES MORFO-SINTÁCTICAS ........... 3 FIGURA 6.4 ESQUEMA POR BLOQUES. GENERACIÓN DE VARIANTES ONTOLÓGICAS. FRASES EXTRA-

DOMINIO ............................................................................................................ 3 FIGURA 6.5 CLASIFICACIÓN POR COLORES DE LOS MÓDULOS QUE INTERVIENEN EN LA GENERACIÓN DE

VARIANTES MORFO-SINTÁCTICAS ........................................................................ 3 FIGURA 6.6 BORRADO DE FICHEROS ....................................................................................... 3 FIGURA 6.7 CARGA DEL MÓDULO DICCTENA .......................................................................... 3 FIGURA 6.8 FICHERO DE FRASES DEMO + VARIANTES .............................................................. 3 FIGURA 6.9 EL ASISTENTE LEE UNA FRASE Y SE LA PASA AL ANALIZADOR ................................ 3 FIGURA 6.10 EL ANALIZADOR LA RECIBE Y REALIZA EL ANÁLISIS .............................................. 3 FIGURA 6.11 GENERA TEXTO.MINCRG ...................................................................................... 3 FIGURA 6.12 EL ASISTENTE RECIBE TEXTO.MINCRG Y LO PROCESA ............................................ 3 FIGURA 6.13 FICHERO_DE_AYUDA.ETQ .................................................................................... 3 FIGURA 6.14 SINTAX.DSW ....................................................................................................... 3 FIGURA 6.15 DEFINICIÓN DE LAS MARCAS EN EL CLIENTE: ESTRUCTURAS.H (MÉTODO:

ACCESO_A_GOOGLE) ........................................................................................... 3 FIGURA 6.16 DEFINICIÓN DE LAS MARCAS EN EL SERVIDOR. MI_SERVIDOR.JAVA ......................... 3 FIGURA 6.17 ESTRUCTURA QUE EL SERVIDOR UTILIZA PARA ALMACENAR LAS CONSULTAS DEL CLIENTE

......................................................................................................................... 3 FIGURA 7.1 MODELO GLOBAL DE LA GRAMÁTICA ................................................................... 3 FIGURA 7.2 ESQUEMA SIMPLE DE RECONOCIMIENTO ............................................................... 3 FIGURA 7.3 ANTES SE LLAMABA A UNA FUNCIÓN QUE PINTABA EL ÁRBOL SINTÁCTICO ............. 3 FIGURA 7.4 AHORA SE MUESTRA EL ÁRBOL SINTÁCTICO EN MODO TEXTO ................................ 3 FIGURA 7.5 SEGMENTA.CMT ................................................................................................. 3 FIGURA 7.6 TEXTO.NOT ........................................................................................................ 3 FIGURA 7.7 ENTR_SMP_SL.LEX .............................................................................................. 3 FIGURA 7.8 ACOPOST.DEP ..................................................................................................... 3 FIGURA 7. 9 VITERBI.DEP ....................................................................................................... 3 FIGURA 8.1 MÓDULOS DE LOS QUE ESTÁ COMPUESTO EL ROBOT .............................................. 3 FIGURA 8.2 SECUENCIA DE PASOS .......................................................................................... 3

III. CUADROS CUADRO 2.1 REQUISITOS DE LOS SINTAGMAS .......................................................................... 3 CUADRO 2.2 CRITERIO DE MARKOV ........................................................................................ 3 CUADRO 2.3 DEFINICIÓN DE MODELO DE MARKOV ................................................................... 3 CUADRO 2.4 REGLA DE LA CADENA DE BAYES ......................................................................... 3 CUADRO 2.5 PROBABILIDAD DE UNA SECUENCIA ..................................................................... 3 CUADRO 2.6 APROXIMACIÓN VÁLIDA PARA REALIZAR ESTIMACIONES PROBABILÍSTICAS ............ 3 CUADRO 2.7 POSIBLES SECUENCIAS CON SUS PROBABILIDADES ASOCIADAS ............................... 3 CUADRO 2.8 ESTIMADOR DE MÁXIMA VEROSIMILITUD ............................................................. 3

6

Page 7: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

CUADRO 2.9 LEY DE LAPLACE ................................................................................................ 3 CUADRO 2.10 APROXIMACIÓN DE GOOD-TURING (I) .................................................................... 3 CUADRO 2.11 FRECUENCIA ESTIMADA DE GOOD-TURING ............................................................ 3 CUADRO 2.12 APROXIMACIÓN DE GOOD-TURING (II) ................................................................... 3 CUADRO 2.13 PROBABILIDAD DE QUE UNA PALABRA OCUPE LA N-ÉSIMA POSICIÓN ....................... 3 CUADRO 2.14 EL SUMATORIO DE PROBABILIDADES DEBE SER LA UNIDAD .................................... 3 CUADRO 2.15 INTERPOLACIÓN LINEAL SIMPLE .......................................................................... 3 CUADRO 2.16 MÉTODO DE BACK-OFF ........................................................................................ 3 CUADRO 2.17 INTERPOLACIÓN LINEAL GENÉRICA ...................................................................... 3 CUADRO 2.18 TEOREMA DE BAYES ........................................................................................... 3 CUADRO 4.1 SYNSET + GLOSS + EJEMPLO ................................................................................. 3 CUADRO 4.2 SINTAXIS GENERAL DEL SYNSET .......................................................................... 3 CUADRO 4.3 SYNSETS DE SUSTANTIVOS .................................................................................. 3 CUADRO 4.4 LÓGICA PARA DEFINIR UN CONCEPTO ................................................................... 3

7

Page 8: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

8

Page 9: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

Capítulo 1Capítulo 1 IntroducciónIntroducciónLos recientes avances en las tecnologías del habla posibilitan que la interacción entre las personas

y los robots esté dotada cada vez de una mayor naturalidad. La incorporación de la capacidad de comunicación hablada a los robots hace que su integración en la sociedad se plantee como un objetivo alcanzable, y es una de las razones que incita a varias ramas de la investigación a desarrollar seres cada vez más inteligentes que conviertan el mundo en un lugar más habitable para los seres humanos. Una de las aplicaciones más interesantes de la robótica y la inteligencia artificial es el uso de robots como guías en museos o ferias. Este proyecto trata sobre el desarrollo de un asistente de modelos de lenguaje para un robot destinado a prestar este nuevo tipo de servicio en el museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia. En el proceso de comunicación se requiere de un cierto grado de “naturalidad”, donde las personas no estén forzadas a utilizar palabras o frases concretas, sino que todo transcurra de forma similar a como ocurre cuando dos personas interaccionan entre sí.

En este primer capítulo introductorio, se intentará justificar el trabajo realizado con relación al planteamiento del problema, el objetivo que se persigue y el encuadre científico tecnológico. Por último se hará mención del aspecto que concierne a la organización del proyecto, en cuanto a la estructuración del trabajo y de la presente memoria.

1.1 Justificación

El proyecto que se presenta en este documento, se enmarca en el área del procesamiento del lenguaje natural (PLN), que se plantea como objetivo fundamental la formulación e investigación de mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas, preservando las características de inteligibilidad y naturalidad que caracterizan el habla humana.

Para los seres humanos, el habla es su método natural e intuitivo de comunicación. La Tecnología del Habla, va siendo cada día más reconocida a nivel tanto nacional como internacional, no sólo en el ámbito científico, sino también entre la sociedad en general. Esto hace que la Tecnología del Habla se presente hoy como uno de los campos más atractivos para la investigación.

En este capítulo de introducción se hará referencia, a grandes rasgos, tanto a los objetivos que se pretenden con la realización de este Proyecto Fin de Carrera, como a ciertos aspectos o justificaciones del proyecto en un entorno de índole técnico, o situado dentro del marco de la tecnología cambiante donde estamos continuamente moviéndonos.

1.1.1 Planteamiento del problemaGeneralmente, a la hora de realizar un proyecto vamos a tener que hacer frente a una serie de

aspectos, que si se intentaran resolver todos ellos simultáneamente, resultaría un problema muy complejo y difícil de abordar. La misión fundamental de un ingeniero es: dar solución a los problemas. En ingeniería, a la hora de abordar un problema, es muy frecuente emplear la técnica del personaje histórico Alejandro Magno de: “Divide y vencerás”. La metodología empleada se basa en fragmentar un bloque principal en una serie de módulos, fases o aspectos que sean más sencillos de tratar, e ir profundizando en cada uno de ellos haciendo uso del método top-down: partimos de un problema más o menos complejo y vamos profundizando y entrando en un mayor nivel de detalle a medida que avanzamos en el estudio de dicho problema.

1.1.2 EvoluciónEl hombre es un ser social y como tal, necesita comunicarse. Esto le ha llevado a que desde el

inicio de los tiempos, el ser humano se halle inmerso en una continua e insaciable búsqueda de nuevas formas de comunicación (desde el fuego y las señales de humo, hasta los sms que recibimos cada día en nuestro teléfono móvil, pasando por el teléfono o el fax, que constituyen inventos que han revolucionado la Sociedad de la Información.

E.T.S.I. Telecomunicación (U.P.M.) 9

Page 10: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

La necesidad comunicativa del ser humano constituye una motivación muy importante para que varias ramas de la tecnología actual orienten su investigación en este sentido. Así, es posible constatar un elevado grado de interés por parte de científicos, ingenieros e investigadores en hacerse con el dominio de este campo cuyas fronteras se extienden hasta límites insospechados.Hasta hace pocos años, los sistemas de reconocimiento automático de habla (SRAH) de mediana y gran complejidad (en cuanto a las tareas que abordaban), estaban disponibles únicamente como prototipos de laboratorio. Los intensos esfuerzos en este campo han hecho posibles los tremendos avances que hoy podemos contemplar en los distintos ámbitos de nuestra vida. Uno de los focos en los que se centra la tecnología actual, es que la interacción del hombre con las máquinas resulte lo más natural posible, en el sentido de lograr una comunicación oral fluida y que guarde coherencia. A su vez, se pretende lograr un mayor acercamiento de las personas a las máquinas hasta el punto de dotar a éstas últimas, no sólo de capacidad lingüística, sino de capacidad para trasmitir y expresar emociones, y de cierta inteligencia, para que la máquina cobre “conciencia” de su estado y tenga capacidad de “decisión” en unas circunstancias concretas: no se trata sólo de que la máquina obedezca órdenes, sino más bien, de diseñar un sistema autónomo que, pueda anticiparse a las posibles órdenes que le dé un humano.

1.1.3 Las fases del proceso de comunicaciónLo que verdaderamente se propone el desarrollo de nuevas técnicas de procesamiento, potentes estructuras algorítmicas y eficientes dispositivos hardware es la consecución de sistemas capaces de modelar y emular el proceso natural que realiza una persona cuando interactúa con otra, y tratar de implementarlo en las máquinas. El proceso de comunicación, podemos estructurarlo en una serie de fases:

Fase de reconocimiento : consiste en convertir la voz en texto.

Fase de síntesis : está relacionada con cómo, a partir de un texto interpretado, se podrían generar

emociones.

Fase de Comprensión : interpretar, a partir de un texto combinado con gestos o matices que

aportan cierta inteligencia, qué es lo que el interlocutor trata de trasmitir.

1.1.4 Nuestra línea de trabajo: El reconocimientoComo proyecto perteneciente al Grupo de Tecnología del Habla, está orientado al interfaz vocal,

lo cual implica síntesis de voz con emociones y reconocimiento de habla continua con modelos de lenguaje adaptados al dominio cambiante en el que va a trabajar un robot. Así, nuestra línea de trabajo estará más bien enfocada hacia los aspectos de reconocimiento, cuyas metas son principalmente, lograr una interacción hombre-máquina que cumpla ser bidireccional, flexible y de la mayor calidad posible: no queremos sustituir a un humano, pero…que hablar con un robot “sea como si” hablásemos con otra persona. Como sabemos, en un proceso de comunicación los elementos fundamentales son: emisor, receptor, mensaje, medio y vía o canal. Para que la comunicación sea efectiva, el receptor debe percibir satisfactoriamente, el mensaje que el emisor le transmite a través de un canal, en un medio y unas circunstancias determinadas.

Haciendo énfasis en el hecho de que este proyecto versa sobre modelos de lenguaje para un robot inteligente que actuará como guía en el Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia, supongamos, por un instante, que una persona que vaya a ver una exposición al museo desea iniciar un proceso de comunicación con el robot. El primer paso será que la persona en cuestión emita un mensaje. Lo siguiente es que el robot emita una respuesta, pero esta acción es a su vez el resultado de múltiples procesos, entre ellos, el de reconocimiento. Para que la respuesta del robot sea lógica y “semejante” a la que podría esperarse de un ser humano, será necesario que el robot interprete correctamente el mensaje que se le ha transmitido. ¿Cómo se consigue esto? Lo más intuitivo es hacer recaer toda la responsabilidad en el sistema de reconocimiento: disponer de los mejores micrófonos y algoritmos de reconocimiento que nos permitan transcribir la voz de la forma más fidedigna posible. Por desgracia, esto no siempre es viable. En primer lugar nos encontramos con la limitación económica: generalmente, unas mejores prestaciones suelen estar asociadas a un precio más elevado, y las mejoras

E.T.S.I. Telecomunicación (U.P.M.) 10

Page 11: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

alcanzadas no son siempre proporcionales al valor económico de las cosas. Por otra parte nos encontramos con la limitación tecnológica. Toda tecnología tiene un óptimo de funcionamiento que no puede ser sobrepasado. Como hemos mencionado, el ambiente de trabajo es cambiante y no olvidemos que ante todo trabajamos en circunstancias reales donde hay ruido, interferencias y otros factores que perturban las señales. Ni aún teniendo el mejor sistema puro1 de reconocimiento lograríamos una transcripción exacta del mensaje emitido. Se hace evidente que debemos contar con otras herramientas que contribuyan a la mejora del proceso de reconocimiento. Uno de los elementos que podría contribuir en este proceso, tiene que ver con el hecho de que los mensajes se emiten en un contexto. Las relaciones entre palabras pueden ser una variable que contribuya en gran medida a la hora de decidir qué es lo que ha dicho el hablante. Veamos un ejemplo muy simple de la importancia que puede suponer este factor: supongamos que un visitante del museo pregunta al robot: “Para qué sirve presionar este botón de la derecha”. Por múltiples factores (ruido, interferencias, tono de voz y pronunciación del emisor…), el robot, en vez de “presionar” podría entender “resonar” que es esta frase, concretamente, no tendría sentido. Basándonos exclusivamente en la interpretación de las muestras de voz, la respuesta del robot no sería la esperada y su comportamiento dejaría ciertamente extrañada a la persona que hubiera formulado la pregunta. Sin embargo, si dejamos que intervengan las relaciones entre palabras y nos fijamos en la posible asociación de “botón” y “presionar”, en la estructura “verbo + CD” puede que, a pesar de que las muestras de voz pudieran conducirnos a un resultado erróneo, al final, la decisión, interpretación y consecuente respuesta del robot, sean las adecuadas. En este sentido contamos con herramientas para determinar las relaciones entre palabras que trataremos en capítulos posteriores.

1.1.5 Un sistema “tolerante a fallos”A diferencia de otros proyectos que pudieran plantearse en ingeniería, no se trata de diseñar algo

infalible, que funcione bajo cualquier circunstancia, con una tolerancia a fallos completamente nula. Este proyecto consiste en un demostrador de tecnología que debe tener una gracia especial en un museo de ciencias. Robint va a ser alguien con nombre propio que haga más divertida o entretenida, o cuando menos curiosa, la estancia de los visitantes en un museo.Robint no pretende sustituir completamente a los guías del museo; su misión, tampoco es dar una información exhaustiva a los visitantes acerca de los elementos que se puedan estar mostrando en las diversas exposiciones. Robint es un aprendiz, y como tal, se le pueden tolerar fallos. No olvidemos que estamos ante un prototipo, y el hecho de que falle, forma parte de lo que es. Hay que tener en cuenta, que se trata de un primer prototipo básico, que es posible mejorar y que ha sido desarrollado en un corto espacio de tiempo. El criterio de diseño perseguido desde el inicio, y las estrategias adoptadas, hacen que el asistente resulte relativamente versátil, de manera que sobre él se puedan basar multitud de estudios posteriores que abarquen mejoras.

1.1.6 Además de capacidad lingüística…sensibilidadProcuraremos que el robot presente pequeños rasgos de humanidad: queremos que sepa enseñar (tener cierto conocimiento sobre el museo o la exposición en cuestión) y que además pueda entretener: que sepa responder ante preguntas sencillas y pueda hacer comentarios sobre la actualidad, o contar chistes. Lo que podría diferenciar a Robint de otros dispositivos tales como un sistema convencional que se limita a facilitar una información al usuario que la solicita, o un sistema que simplemente repite la misma información de manera periódica (por ejemplo, un sistema que se haya programado para dar las noticias cada media hora) es que este robot puede transmitir emociones; Mediante cambios de tono o gesticulando, se genera en el oyente (en este caso un visitante), la percepción de que el robot es capaz de sentir y transmitir estados anímicos: tristeza, alegría, enfado…

1 Es importante destacar el matiz de “puro”, puesto que hoy en día ya resulta poco frecuente encontrar sistemas de reconocimiento que no lleven asociado un modelo de lenguaje

E.T.S.I. Telecomunicación (U.P.M.) 11

Page 12: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

1.2 Objetivo

Este proyecto consiste en un demostrador de tecnología que resulte atractivo en un museo de ciencias actual. Robint pretende ser un robot con personalidad propia que muestre y demuestre hasta dónde puede llegar la tecnología del habla y la inteligencia artificial hoy en día, resultando interesante, incluso divertido o entretenido para los visitantes del museo [Robint 2005].

El objetivo principal de este proyecto ha sido profundizar en el desarrollo de un asistente que facilite la tarea de adaptar el modelo de lenguaje que necesita el robot para hablar con los visitantes o los encargados del museo. Se basará en una ontología o base de datos léxica que constituya un modelo de la realidad en la que se desenvuelve el robot.

1.3 Encuadre

1.3.1 Primeros pasos…cómo abordar el problemaEntrando ya en cuestiones más de tipo práctico, ¿cómo determinamos a qué frases va a tener que

saber responder el robot? ¿tenemos alguna forma de probar que el robot va a entender esas frases? Como ya hemos mencionado, en lugar de trabajo del robot va a ser un museo, por ello, éste tendrá que interactuar, responder y comunicarse con personas muy distintas entre sí.

Robint deberá ser accesible por cualquier tipo de persona y no sería apropiado restringir la comunicación del robot sólo con un grupo reducido de personas. Esto se traduce en que la máquina deberá ser capaz de entender al mayor número de personas posible y en la mayor variedad de circunstancias que se puedan plantear. Visto bajo este punto de vista, pudiera resultar casi intuitivo, que las posibilidades crecen exponencialmente, ya que no hay dos personas que hablen de la misma forma: la voz de una persona difiere de la de otra en una serie de características que son las que nos van a permitir distinguirlas.

Lo primero que se nos ocurre pensar es que la voz de las mujeres es distinta de la de los hombres. Pero a su vez, ahora contamos con que estamos en un museo, donde la clasificación del tipo de voz a reconocer no sólo va a atender a si se trata de hombres, mujeres o niños, sino que, el rango del tipo de locuciones de voz que de van a emplear, se amplia por el hecho de que los visitantes pueden ser turistas o extranjeros, personas de múltiples razas, género y condición social. ¡Cuántas veces nos ha pasado que no logramos entender lo que nos dice otra persona incluso aunque hable el mismo idioma que nosotros! Incluso nuestra propia voz suena diferente cuando estamos resfriados.

Lo más intuitivo para garantizar que el robot va a saber responder ante distintos tipos de voz, sería recoger grabaciones de voz de múltiples modelos de visitantes y emplearlas para someter a prueba al robot; pero, con todo lo que acabamos de mencionar, ¿hasta qué punto es este método fiable?

Otro aspecto importante estaría relacionado con el tipo de preguntas se le pueden formular al robot. Una de las tareas consistirá en proporcionarle a Robint un amplio repertorio de preguntas y respuestas que le permitan dialogar con los visitantes. Una vez más, parece que la solución pasaría por ir al entorno donde va a estar trabajando el robot, e ir recogiendo todas aquéllas posibles frases o sentencias más frecuentes. Pero aquí se plantea un problema adicional: el ambiente es cambiante. En un museo, el contenido de las salas de exposición no es siempre el mismo, sino que va cambiando cada cierto tiempo: unos días, una semana, un mes, un año… ¿supone esto que cada vez que se cambie de exposición hay que ir al museo, recoger todas las posibles frases (entrevistando a múltiples posibles visitantes para que el número de muestras sea representativo) y programar al robot para que funcione correctamente? A priori resulta un método muy costoso, y no parece que ésta sea la solución. Por ello lo que buscamos es una herramienta que facilite la generación de variantes léxico-semánticas.

1.3.2 Innovación El proyecto que pretendemos desarrollar queda enmarcado dentro del proyecto ROBINT

(DPI2004-07908-C02-02), que es continuación del proyecto URBANO (Integración de Robots Autónomos en la Sociedad mediante el Uso de Nuevas Tecnologías: DPI2001-3652-C02) [Robint 2005].

E.T.S.I. Telecomunicación (U.P.M.) 12

Page 13: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

Uno de los objetivos del proyecto ROBINT es el desarrollo de un sistema que permita el acceso personalizado a información que pueda ser de cierto interés para un usuario, en unas circunstancias determinadas; así como una interacción fluida con la información a través de una máquina (robot) con la particularidad de que dicha interacción persona-máquina, intente plasmar rasgos característicos de una comunicación entre dos seres humanos. Se pretende fomentar la integración en la sociedad de la información técnicas relacionadas con la automática, mediante el uso de nuevas tecnologías.

El desarrollo de este proyecto fin de carrera, va orientado a la parte de diálogo del robot, es decir, aquello que concierne al procesamiento del lenguaje natural para conseguir un reconocimiento del diálogo mantenido. Se trata, por tanto, de un campo de aplicación innovador, donde los avances científicos y tecnológicos que se alcancen pueden aportar ventajas competitivas a las empresas interesadas en hacer uso de los resultados del proyecto. En otras palabras, la importancia de este proyecto, radica en que posibilita un amplio espectro de líneas de investigación y estudio que esperamos sean desarrolladas en un futuro próximo por otros ingenieros que opten por embarcarse en este trepidante mundo de las Tecnologías del Habla.

1.4 Organización del proyecto

1.4.1 Estructuración del trabajo realizadoPara cubrir los objetivos presentados durante la introducción del proyecto, éste ha sido

estructurado en base a una serie de fases de investigación y desarrollo bien diferenciadas. Una primera fase de análisis y documentación de la bibliografía existente sobre la generación de modelos de lenguaje, así como sobre el funcionamiento del analizador “sintax” del Grupo de Tecnología del Habla (GTH), descrito en [Montero 2003]. Una segunda fase de familiarización con el entorno de trabajo, realizando una revisión del software disponible en el momento de comenzar el proyecto. Las siguientes fases hacen énfasis en el grueso del desarrollo de este trabajo, aludiendo a la adaptación del analizador sintagmático, y la implementación de los diferentes módulos software necesarios para realizar un prototipo de red de palabras basado en WordNet, y el diseño de un asistente interactivo de modelos de lenguaje. Para concluir, cabe mencionar una última fase de mejoras finales y redacción del proyecto que tiene por objetivo completar y perfeccionar ciertos aspectos que pudieran surgir del análisis de los resultados en las fases anteriores, y la redacción de la memoria del proyecto.

A lo largo de la memoria del proyecto se ahondará en cada una de estas fases, explicando los desarrollos llevados a cabo, los resultados obtenidos y las dificultades encontradas. En la mayoría de los casos estas dificultades se han debido a la frecuente actualización de versiones con la consecuente necesidad de inclusión de ciertos archivos o librerías. Además de las fases expuestas, el proyecto ha requerido, para su realización, acometer una etapa previa de documentación y planificación, amén de la propia redacción de la memoria.

Toda la labor informática se ha realizado bajo un entorno Windows. En cuanto a programas específicos, para la generación de aplicaciones informáticas se ha utilizado el entorno de desarrollo Microsoft Visual C++ 6.0. Además, puesto que uno de los aspectos más destacados del proyecto es la utilización de fuentes de información externas [MultiWordNet 2005] [Google 2005] para generar un nuevo modelo de lenguaje en el caso de ausencia de un gran corpus, cabe hacer mención del empleo de ActivePerl o Eclipse para lograr acceder a dichas fuentes. Para la redacción de la memoria y documentos relativos al proyecto se ha utilizado el paquete de ofimática Microsoft Office. Los recursos lógicos y materiales empleados se recogen con más detalle en el pliego de condiciones del proyecto.

1.4.2 Estructuración de la memoria del proyectoLa presente memoria del proyecto “Desarrollo de un asistente de modelos de lenguaje para

robots inteligentes con capacidad de comunicación hablada” está organizada en nueve capítulos en los que se irá profundizando en aquellas cuestiones a las que en este apartado se alude muy someramente. Al final del documento, y a modo de complementar la información expuesta en los correspondientes capítulos, se ofrece información adicional en forma de apéndices, así como de gráficos, tablas, diagramas

E.T.S.I. Telecomunicación (U.P.M.) 13

Page 14: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo1. Introducción

y esquemas que se estima que pudieran resultar útiles en el proceso de comprensión de lo que se pretende explicar en el propio texto.

En este primer capítulo de introducción se ha intentado justificar el trabajo realizado e introducir los conceptos básicos que se van a manejar a lo largo de este documento.

El capítulo 2 expone el estado de la cuestión del Procesamiento del Lenguaje Natural, centrándose en el procesado lingüístico. Dos aspectos que hemos querido resaltar en este capítulo son el análisis morfo-sintáctico, y las aplicaciones e importancia de los modelos de lenguaje.

El tercer capítulo dedicado a ROBINT trata de documentar el contexto científico-tecnológico donde se encuadra nuestro proyecto. No olvidemos que este proyecto fin de carrera pertenece a su vez a un proyecto que persigue como objetivo global, la Integración de Robots Autónomos en la Sociedad mediante el uso de Nuevas Tecnologías. [Robint 2005].

El cuarto capítulo sirve para presentar una de las fuentes de información [MultiWordNet 2005] que puede ser considerada como eje vertebral del presente trabajo en lo relativo al aspecto semántico del desarrollo de modelos de lenguaje. Asimismo, se exponen otros conceptos relacionados con la psicolingúística, las relaciones léxicas y morfológicas, etc. que podrían dar pie a pensar en líneas futuras y mejoras al presente proyecto.

En el capítulo 5 hemos estimado oportuno proceder a una descripción de las herramientas y asentar las bases en las que se fundamenta nuestro proyecto, con la intención de que en el capítulo 6, el lector/a pueda seguir y comprender más fácilmente la descripción funcional del sistema.

El capítulo 7 profundiza en el analizador “sintax”, que constituye el punto de partida en lo que respecta a la componente morfo-sintáctica.

Las adaptaciones realizadas al analizador, junto con el acceso a fuentes de información externas, que ya han sido mencionadas con anterioridad, [MultiWordNet 2005] [Google 2005] permitirán la generación de variantes lingüísticas que son tratadas en el capítulo 8.

Finalmente, en el noveno y último capítulo, se exponen las principales conclusiones, así como las líneas futuras que se abren a raíz de lo que se ha desarrollado en este proyecto.

E.T.S.I. Telecomunicación (U.P.M.) 14

Page 15: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

Capítulo 2Capítulo 2 Estado de la cuestiónEstado de la cuestiónDotar a un robot de la capacidad de comunicación hablada supone que sea capaz de mantener un

diálogo de forma oral con los seres humanos. Esto convierte al procesamiento del lenguaje natural en un área ciertamente importante para este proyecto que estamos llevando a cabo.

A pesar de que la lingüística, es una disciplina que cuenta con centenares de años de historia, y de que la lingüística computacional surgió hace más de 4 décadas, la comprensión de los procesos del lenguaje, y el procesamiento del lenguaje natural han comenzado realmente a emerger, durante los últimos diez años. Hoy, esta industria alcanza a millones de personas, y continua creciendo gracias a los avances en lo que respecta a modelos de representación del lenguaje, y procesado de la información.

2.1 Procesamiento del Lenguaje Natural

En este capítulo profundizaremos en el módulo de PLN (Procesamiento del Lenguaje Natural), y su relación con el desarrollo de modelos lingüísticos.Vivimos en una época en la que puede resultar excitante trabajar en el procesado del lenguaje por las numerosas aplicaciones que echan mano del mismo. Hoy en día, el procesamiento del lenguaje natural constituye un campo que está experimentando un notable impulso. Diremos pues, que el estado del arte se puede calificar de emergente.

En un intento de dar una visión acerca de en qué consiste el procesamiento de Lenguaje Natural, no seríamos capaces de delimitar de forma clara y unívoca los campos que engloba. De hecho, muchas veces ocurre que el PLN cubre áreas que propiamente dichas pertenecerían a la rama de la lingüística y sin embargo aparecen enfocadas desde un punto de vista ingenieril. Si nos situamos en un plano más didáctico, podemos estructurar el PLN en varias fases. El desarrollo de un asistente de modelos de lenguaje no abarca todas estas fases. No obstante, este proyecto arranca de los frutos alcanzados por otro proyecto fin de carrera [Jiménez 1999] que se comentará en un capítulo posterior. En la figura que se muestra a continuación hemos querido representar aquellos bloques o fases del módulo de procesamiento de lenguaje natural que sí aparecen involucrados en dicho proyecto que nos ha servido como base para iniciar nuestro trabajo[Jiménez 1999], omitiendo el resto puesto que no son relevantes en el desempeño de nuestra tarea.

2

Fig. 2.1- Fases del Módulo de Procesamiento de Lenguaje Natural que conciernen a este proyecto

2.1.1 Procesado lingüísticoEl concepto de procesado lingüístico, va más allá de lo que son los sistemas de procesado de

datos. La diferencia fundamental estriba en que el procesado lingüístico implica el uso del conocimiento del lenguaje. El módulo de procesamiento de lenguaje natural, se encargará de analizar un texto de entrada, y extraer la información necesaria para conseguir una lectura adecuada y natural.

2 Adaptado de [Macías]

E.T.S.I. Telecomunicación (U.P.M.) 15

Page 16: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

A la hora de realizar el procesado lingüístico de un texto, es indispensable llevar a cabo una serie de funciones que iremos detallando según vayamos progresando en la lectura del presente capítulo. A fin de que el lector tenga una visión gráfica de las fases de las que se compone este módulo de procesado lingüístico, adjuntamos el recuadro que viene a continuación:

Normalización de texto + análisis morfológico + análisis contextual + análisis sintáctico

En una primera fase, se lleva a cabo un preprocesado del texto, que consiste en “generar una salida textual normalizada para facilitar su procesamiento posterior”. Generalmente, los textos, no contienen únicamente palabras expresadas con todas sus letras; es frecuente que aparezcan números, abreviaturas, acrónimos, expresiones idiomáticas, etc. De aquí se desprende la necesidad de identificar estos elementos, y transformarlos en texto. Es lo que se conoce como “normalizar los textos” (text formatting).

Ejemplos

Ejemplo 2.1

El texto, una vez normalizado, es sometido a una fase de análisis morfosintáctico: “realizar una clasificación de las palabras del texto en distintas categorías”. Esto supone el empleo de herramientas tales como un categorizador y un analizador sintáctico. El categorizador dividirá la frase en palabras o categorías lingüísticas, y el analizador sintáctico nos dará las unidades sintagmáticas o sintagmas (agrupaciones de palabras) en las que puede dividirse una frase.

El análisis morfológico consiste en “proponer las posibles categorías gramaticales a las que puede pertenecer una palabra”. Esta función viene complementada por medio de un “análisis contextual”, el cual, ubica las palabras dentro de un contexto, con la finalidad de reducir la ambigüedad en la asignación de categorías gramaticales a palabras.

Aquí cabe reseñar un matiz que está íntimamente relacionado con el tema de este proyecto. Quizás, de cara a detectar de una forma más precisa las partes de la frase susceptibles de recibir el foco de atención, podría plantearse la inclusión de un módulo de análisis semántico. En esta línea, para el desarrollo de este PFC, nos hemos planteado qué utilidad podría tener interrelacionar los significados de las palabras para mejorar el trabajo del reconocedor de voz del robot.

Fig 2.2 Ontología o red semántica

E.T.S.I. Telecomunicación (U.P.M.) 16

Page 17: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

En la presente figura simplemente hemos querido reflejar el concepto de la introducción de la componente semántica en el desarrollo de los modelos de lenguaje. Lo que aparece en esta ilustración es un ejemplo de ontología o red semántica, donde los nodos aparecen conectados entre sí a través de relaciones de significado. Observemos que se trata de una estructura jerárquica por niveles: donde los niveles superiores gozan de más alto grado de abstracción, y a medida que se va descendiendo, se va entrando en un mayor nivel de especificidad.

2.2 Análisis morfo-sintáctico

Resulta imprescindible en la etapa de procesamiento del lenguaje natural. No obstante, dado que este apartado será desarrollado de una manera más extensa en un capítulo posterior, aquí nos limitaremos a apuntar las cuestiones o conceptos más relevantes de una manera muy superficial y sin apenas profundizar en la materia.3

El análisis podemos dividirlo en dos fases:1) etiquetado: tagging2) análisis sintáctico propiamente dicho

2.2.1 EtiquetadoLa fase de etiquetado morfosintáctico (POS tagging) o de categorización de palabras o

expresiones [S. Quazza & H. van der Heuvel 2000] constituye el primer paso para realizar el análisis gramatical de un texto. Comprende dos niveles: un primer nivel que establece una correspondencia entre las palabras y las categorías gramaticales a las que pueden pertenecer, y un segundo nivel de decisión acerca de cuál es la categoría más apropiada para una determinada palabra. Para asignar a las palabras sus posibles categorías, se emplean diccionarios y reglas terminológicas.4 Con el etiquetado, lo que se busca es obtener la secuencia de categorías correcta para una determinada frase.

Es aquí donde se introduce el concepto de contexto, en base al cual se tomará la decisión acerca de cuál es la categoría más probable que se está utilizando para cada palabra concreta en unas circunstancias determinadas:

Por ejemplo, “la” puede ser un artículo o un pronombre. Si “la” precede a un nombre, lo más probable es que esté funcionando como un artículo Mientras que si va seguido de un verbo, seguramente “la” sea un pronombre.

Ejemplo 2.2

2.2.1.1 Teoría lingüística

De acuerdo con [Montero 2003] las reglas empleadas en este proyecto para el etiquetado de los textos tienen el formato de las reglas propias de gramáticas tipo I (según la jerarquía establecida por Chomsky [N.Chomsky 1959]). Son reglas de origen lingüístico que se conocen como pero, el conjunto de reglas ordenadas, conocido como “decisión list”, no constituye una gramática descriptiva tipo I.5

3 La intencionalidad está orientada a que a la persona que esté leyendo este pfc le puedan ir sonando los diversos conceptos que van a ir saliendo y se van a ir explicando más en profundidad a su debido tiempo. Se pretende, no que haya redundancia, sino que el lector(a) se vaya configurando en primera instancia una visión global de todo el proceso, y cuando llegue el momento de entrar más de lleno en la materia, al lector(a) no le suponga un choque tan brusco.

4 Reglas terminológicas son aquéllas que indican, cuál es la categoría más probable para una palabra desconocida, a partir de su terminación.

Ejemplos: una palabra desconocida que acaba en –ción lo más probable es que sea un sustantivo una palabra desconocida que acaba en –ísimo(a/os/as) lo más probable es que sea un adjetivo calificativo

5 La gramática descriptiva describe cómo están organizadas las unidades mínimas con significado que forman las palabras (morfemas) y las que forman las oraciones (constituyentes). Su estudio contiene las formas del idioma actual registradas por los hablantes nativos de una determinada lengua y representada por medio de símbolos escritos. Así, la gramática descriptiva puede indicar qué lenguas tienen una estructura parecida. [geocities]

E.T.S.I. Telecomunicación (U.P.M.) 17

Page 18: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.2.1.2 Preprocesamiento

Antes de iniciar un análisis a nivel morfo-sintáctico, en la mayoría de los casos, tal como se estudió en [Jiménez 1999], es necesario realizar una “normalización” del texto de entrada, convirtiendo en “estándar” todas aquéllas expresiones que no lo sean (“expresiones no estándar”: números, fechas, horas, siglas, abreviaturas,…)

2.2.1.3 Diccionarios

Llamamos módulo morfoléxico al conjunto de diccionarios y reglas de terminación. Generalmente, los sistemas cuentan con grandes diccionarios y reglas adecuadas, de manera que apenas hay palabra para la cual no sean capaces de decir a qué categoría pertenece. Esto no quita la posibilidad de que en un momento dado, el sistema pueda encontrarse con una palabra ambigua que no sabe etiquetar. Recordemos que todos los sistemas tienen una capacidad finita y por tanto es imposible que contengan todas las palabras de un idioma (otra de las razones es también, porque cada día se van incorporando nuevas palabras y la lengua evoluciona).

2.2.1.4 Desambiguación

Si bien es posible que el sistema asigne más de una categoría a una misma palabra, sólo una podrá ser la correcta. En este momento, se nos plantean dos posibles cuestiones para reflexionar:

¿cómo se etiqueta una palabra? ¿qué categorías se le asignan?

Métodos estocásticos vs Métodos simbólicos

Podemos hablar de dos tipos de métodos de asignación:

métodos estocásticos métodos simbólicos

Aquí referimos los métodos estocásticos basados en corpus tales como los Modelos de Markov. En general, los métodos simbólicos se reducen a tomar decisiones del tipo “La categoría de la palabra X es Y”. Sin embargo, los métodos estocásticos, al basarse en acumulación de probabilidades, suelen superar a los simbólicos.

Ejemplo:

Supongamos una palabra A que funciona como un nombre.

El sistema podría decir que la palabra “parece” que funciona como un adjetivo.

El método simbólico haría directamente la asignación: Palabra A -> adjetivo

Pero un método estocástico consultaría en su base de datos y a lo mejor vería que esa misma

palabra, en un contexto similar, ha funcionado como un nombre con un % de probabilidad muy alto;

por tanto asigna Palabra A -> nombre (aunque inicialmente parecía un adjetivo)

El resultado es que con un método estocástico hemos dado con la solución correcta, mientras

que con el método simbólico el sistema se ha equivocado.

Ejemplo 2.3

El inconveniente de los métodos estocásticos es que las probabilidades del lenguaje son desconocidas y para hacer estimaciones que se aproximen a la realidad, se necesitan muchos casos y

E.T.S.I. Telecomunicación (U.P.M.) 18

Page 19: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

muchos ejemplos de la situación que se desea analizar, o de lo contrario, la estimación de la probabilidad será incorrecta.

2.2.1.5 Medidas de evaluación y comparación entre sistemas

En este punto cabe introducir dos nuevos conceptos: cobertura (recall) y precisión; constituyen las principales medidas de calidad de un sistema de etiquetado.

Cobertura (recall): Es la fracción entre el número de etiquetas correctamente asignadas

dividido por el número total de elementos etiquetados.

Precisión: del total de etiquetas asignadas, cuántas son correctas.

La solución trivial sería asignar a una palabra desconocida todas las categorías posibles. De esta manera siempre se acertaría la verdadera categoría de la palabra. No obstante, así el problema no quedaría resuelto. Aunque el sistema tuviera un recall del 100%, la precisión podría resultar muy baja cuanto mayor fuera el número de categorías (1/N). 6

La solución óptima pasaría por maximizar ambos parámetros, pero esto no se consigue a través de ningún método o algoritmo trivial.

Como suele ser frecuente en ingeniería, va a haber que llegar a una solución de compromiso:

(y viceversa)

Experimentalmente es relativamente fácil conseguir sistemas con un recall del 99% y cuya precisión tampoco sea estrepitosamente baja. Basándose en técnicas estocásticas, que asignan a las palabras su categoría en función del contexto y de su probabilidad, es posible alcanzar una precisión que ronde el 97%.

Hay una serie de factores que influyen en la “bondad” o “maldad” de los sistemas de etiquetado morfosintáctico:

- necesidad de igualdad en el idioma

- dominio de trabajo

- conjunto de etiquetas gramaticales empleadas

En este proyecto, para el etiquetado morfosintáctico, vamos a emplear un conjunto de más de 400 etiquetas, donde cabe destacar:

1. la posibilidad de identificar enclíticos en los verbos2. la distinción entre cinco tipos de verbos (ser, estar, haber, modales y principales)3. inclusión de los determinantes indefinidos como si fueran adjetivos4. pronombres (presentan cuatro casos: nominativo, acusativo, dativo y oblicuo – conmigo-)5. determinantes (demostrativos, indefinidos, posesivos e interrogativos)6. preposiciones (simples o compuestas)7. adverbios (general y la partícula no)8. conjunciones (coordinadas y subordinadas)

Ejemplos:6 Siendo N el número total de categorías posibles para cualquier palabra de una lengua

E.T.S.I. Telecomunicación (U.P.M.) 19

Page 20: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

Ejemplos 2.4

No obstante, en la práctica, este conjunto tan elevado de etiquetas, se verá reducido puesto que, muchas etiquetas poco frecuentes podrían verse excluidas del dominio de trabajo. Este conjunto más detallado de etiquetas no va a dificultar el etiquetado morfosintáctico:

si se emplean etiquetas lexicalizadas, para distinguir diferentes tipos de conjunciones, signos de puntuación, abreviaturas, verbos auxiliares modales, etc. pueden utilizarse listas si se emplean etiquetas de palabra única, es decir una etiqueta específica para una palabra concreta, la dificultad del problema del etiquetado automático, no sólo se reduce, sino que la propia etiqueta de palabra única añade una etiqueta sin añadir complejidad

Ejemplos

Palabra única Ejemplo + etiqueta Pasa a:

el pronombre se Ir V..00N.0#0 Irse V..00N.0#1

la partícula no come V..02..0#0 no

come

B.........

V..01..0#0

Las contracciones de

el

P00.......

D00..S.M..

Del P03.......

la preposición sin Hablar V..00N.0#0 sin

hablar

P00.......

V..00N.0#0

Ejemplo 2.5

Tal y como se comenta en [Montero 2003], el proyecto EAGLES [G. Leech et al 1998] define un conjunto de etiquetas y rasgos que pretende recoger la posible diversidad morfosintáctica de diversos idiomas, y que sirve de referencia para los conjuntos de etiquetas.

Simplemente, queremos hacer mención de que una de las aportaciones de este proyecto al sistema de etiquetado se extiende al ámbito de las perífrasis verbales, donde se ha conseguido integrar las distintas palabras que forman parte de una perífrasis verbal de manera que constituyan una sola etiqueta y puedan ser tratadas como una unidad.

Ejemplo 2.6

E.T.S.I. Telecomunicación (U.P.M.) 20

Page 21: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.2.1.6 Novedad en los córpora en castellano

En este proyecto podemos hacer una primera distinción entre dos niveles de categorías. El primer nivel está compuesto por lo que llamaremos categorías primarias: verbo, nombre, adjetivo, adverbio, pronombre, preposición, conjunción, artículo y miscelánea. Cada una de las categorías primarias podrá dar lugar a 67 etiquetas secundarias que darán más detalles acerca del tipo de categoría (verbo transitivo, adjetivo calificativo, nombre propio,…). Al mismo tiempo, no conviene pasar por alto, los rasgos que denotan género y número (para los sustantivos, adjetivos, determinantes), o modo, tiempo, persona y enclíticos en los verbos. La agrupación de etiquetas en macro-etiquetas puede contribuir en la consecución de mejores modelos de lenguaje puesto que, a menor número de etiquetas, menor ambigüedad. Este asistente va a utilizar los archivos de dicctena [Jiménez 1999].

A la hora de generar variantes lingüísticas, uno de los pasos consiste en cambiar el tipo de determinante. Para ello, ha sido necesaria la elaboración de una base de datos manual, con los posibles tipos de determinantes que puedan darse en castellano; así conseguimos que, dado un determinante cualquiera, el sistema va a generar automáticamente todas las posibilidades sintácticas que sean válidas en castellano.

Inspirándonos en el modo de funcionamiento del programa sintax, y procurando reducir el consumo de recursos por parte del sistema, hemos llevado a cabo una simplificación del archivo “860.ord” de dicctena. Para que el asistente pueda generar las variantes de los determinantes, se ha creado una base de datos manualmente que contiene todas las alternativas válidas en castellano para generar variantes de los determinantes que aparezcan en una frase. Lo que contiene este archivo “8603.ord” no son más que la expresión de los determinantes en castellano (significante o forma) seguidos de sus correspondientes etiquetas (tags).

Fig. 2.3 8603_.ord

2.2.2 Análisis sintácticoContinuando con la política que hemos venido siguiendo de descomposición de una tarea, en

subtareas más sencillas, el análisis sintáctico de un texto también se puede descomponer en dos partes: Un primer análisis sintagmático en el cual se obtiene la secuencia de sintagmas simples (que no tienen dentro otros más pequeños) A continuación, se agrupan los sintagmas simples para obtener el análisis completo.

2.2.2.1 Características de los segmentos o sintagmas simples

Como veremos más de lleno en capítulos posteriores, para que el asistente pueda generar variantes lingüísticas, el primer paso será descomponer una frase en segmentos o unidades más pequeñas denominadas sintagmas. Éstos deben cumplir los siguientes requisitos:

E.T.S.I. Telecomunicación (U.P.M.) 21

Page 22: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

      No recursivos: un segmento nominal no puede incluir otros segmentos nominales

directamente, o a través de un complemento preposicional.

      No solapados y máximos: un segmento no puede estar incluido en otro; un adjetivo

modificando a un sustantivo (dentro de un segmento nominal) no puede constituir un segmento.

      Estructura nuclear interna: los segmentos verbales tienen, al menos, un verbo

como núcleo.

      Relaciones externas no determinadas: para este tipo de análisis los segmentos son

independientes entre sí.

      Posibilidad de análisis sintáctico de complejidad lineal basado en decisiones

locales: aunque resulte elegante describir los segmentos mediante gramáticas de tipo II

(Context-Free Grammar), es posible realizar la segmentación linealmente o casi linealmente con

la longitud de la oración.

      Robustez: la gran mayoría de las oraciones son procesadas y la mayoría de los

segmentos son detectados.

Cuadro 2.1 Requisitos de los sintagmas7

2.2.2.2 Tipos de sintagmas

No todas las palabras van a pertenecer a un sintagma. Tras un análisis a nivel sintáctico comprobaremos que algunas palabras como las conjunciones, preposiciones o signos de puntuación, no forman parte de ningún sintagma en sí mismas. Durante la fase de estudio y experimentación con el analizador sintáctico de [Montero 2003], nos hemos encontrado con que se pueden distinguir varios tipos de sintagmas; no obstante, para desarrollar el asistente daremos una importancia especial al: nominal, adjetival, preposicional y verbal.8

2.3 Aplicaciones e importancia de los modelos de lenguaje

2.3.1 Los modelos de lenguajeUn trabajo que verse sobre modelos de lenguaje, no podía escapar de dar una definición acerca de

lo que se va a entender bajo esta denominación. De aquí en adelante se tomará como modelo lingüístico cualquier conjunto de mecanismos que se emplean en un sistema de Reconocimiento del Habla para definir la estructura del lenguaje de la aplicación.9 Esto nos remite de un modo directo a introducir que, se va a considerar que el concepto de “Lenguaje” alude a las secuencias posibles de unidades lingüísticas que definen el conjunto de frases permitidas. Ligando ambos conceptos, un modelo de lenguaje puede servir para restringir de una manera adecuada el Lenguaje de una aplicación de Reconocimiento o comprensión Automática del habla.

El concepto de Modelo de Lenguaje es tan amplio que en la literatura pueden diferenciarse varios tipos en función del nivel de conocimiento lingüístico que estén representando: fonológico, sintáctico, semántico, etc.. Así, podemos encontrarnos principalmente con dos tipos de Modelos de Lenguaje:

7 Tomado de [Montero 2003]8 Puesto que son éstos sobre los que se van a llevar a cabo variaciones morfo-sintácticas9 Adaptado de [ThesisGGranada]

E.T.S.I. Telecomunicación (U.P.M.) 22

Page 23: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

1) Modelos de Lenguaje puramente sintácticos.2) Modelos de Lenguaje semánticos.

En el desarrollo de modelos lingüísticos que aquí nos hemos marcado como objetivo queremos hacer énfasis especial en la importancia de la complementariedad de dos componentes ligüísticas (sintaxis y semántica) que cada día presentan unos límites de discernimiento más difusos. Han sido redactados numerosos estudios focalizados en tan sólo uno de los campos, pero a medida que se avanza en el conocimiento de estos campos se hace más evidente que concebir una, nos conduce irremediablemente a la concepción de la otra. Por otra parte, un modelo de lenguaje que se plantee cultivar ambas ramas constituirá una herramienta mucho más enriquecedora y potente de cara a su aplicación en muy diversos ámbitos.

2.3.1.1 Modelos de lenguaje sintácticos

Describen la sintaxis del lenguaje, es decir, las posibles concatenaciones entre palabras. Los problemas que plantean estos modelos suelen venir, de la propia definición de modelos, o bien ser problemas de sobreespecificación. Los problemas asociados a la definición de modelos suelen ser debidos al hecho de trabajar con grandes vocabularios. Dichos problemas aparecen tanto en la estimación de parámetros, si pensamos en un formalismo de N-gramas, como en la definición de un formalismo realizado, bien de forma manual, o bien de forma automática. Los problemas más relacionados con la sobreespecificación, se deben a que, especialmente en aquellas aplicaciones en las que interviene el lenguaje hablado, el foco de interés es la semántica o el significado del mensaje transmitido, y no tanto la decodificación léxica del mismo.

2.3.1.2 Modelos de lenguaje semánticos

Representan las posibles secuencias de unidades que describen el contenido conceptual del lenguaje. Aquí, las unidades básicas del modelo son ciertas categorías o conceptos relacionados con los significados asociados a las frases del lenguaje; Estos modelos están más orientados a modelar o representar las restricciones semánticas del lenguaje de la tarea, y aunque pueden incluir o no las restricciones sintácticas, sólo resultarán comprendidas aquéllas frases que posean significado dentro de la tarea abordada.

2.3.1.3 Tendencias. Formalismos

En un trabajo en el que lo que se pretende es conceptualizar la realidad y las tareas naturales, no es de extrañar que se opte por acudir a tendencias o formalismos que los expertos han venido desarrollando a lo largo de varios años de estudio. Acudiremos pues, a tratar de buscar la asociación entre formalismos de modelización del lenguaje y dichas tareas naturales que acabamos de comentar. Aunque se pueden distinguir hasta tres tipos de tendencias, nos limitaremos a resaltar los aspectos clave de las dos que se estima que son las más importantes, y simplemente dejaremos constancia de que existe una tercera.

El primer tipo de técnicas se conocen bajo la denominación de técnicas estocásticas. Éstas, procuran modelizar las concatenaciones posibles de unidades lingüísticas o semánticas a través de probabilidades de ocurrencia de secuencias de unidades lingüísticas o semánticas de longitud fija (N). Dichas probabilidades se obtienen en función de su frecuencia de aparición. Más adelante, en este mismo capítulo, contemplaremos con un poco más de detalle, algunos métodos para llevar a cabo inferencias probabilísticas y ser capaces de realizar las asignaciones pertinentes entre unidades lingüísticas y probabilidades de ocurrencia.

Por otra parte, las técnicas basadas en reglas asumen que el lenguaje a modelizar queda particularizado a un subconjunto (que estará restringido en mayor o menor medida) de una lengua natural. Se podrá definir un formalismo de gramática (típicamente gramáticas regulares o incontextuales), que determine qué secuencias son válidas para definir qué frases pueden pertenecer a dicho lenguaje. En este proyecto cabe remarcar que se trabaja con varios archivos de reglas desarrolladas en proyectos anteriores, e incorporadas durante la fase de realización del trabajo que nos ocupa.

Por último, tan sólo haremos mención de que algunos lingüistas han advertido de la existencia de un tercer tipo de técnicas denominadas técnicas conexionistas. No obstante, nosotros no incidiremos más en este aspecto.

E.T.S.I. Telecomunicación (U.P.M.) 23

Page 24: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.3.2 Inferencia estadísticaAl emplear técnicas de procesamiento del lenguaje natural, es necesario recurrir a lo que se

conoce como inferencia estadística [Schütz 2002]. Ésta consiste en hacer una estimación de la distribución de probabilidad que presenta un conjunto de datos. Un ejemplo de inferencia estadística, lo encontramos en los modelos de lenguaje, donde lo que se busca es predecir la siguiente palabra, dadas las anteriores.

Aunque los modelos de lenguaje poseen un amplio rango de aplicaciones, entre las que cabría citar: reconocimiento de caracteres ópticos, técnicas de corrección ortográfica, métodos para reconocer la grafía de las personas o traductores estadísticos, dado que este trabajo versa sobre la importancia de la aplicación de los modelos lingüísticos en reconocimiento, será aquí donde centremos de una manera más especial nuestra atención.

2.3.2.1 Aspectos fundamentales de la fase de reconocimiento

Por sistema de reconocimiento del habla entendemos un sistema de cierta complejidad capaz de descodificar los sonidos u otra información de nivel superior que forman parte de una determinada señal de habla.

En el fondo, se trata de ser capaces de generar un conjunto de patrones (asociados a partes de habla) que puedan ser comparados con la señal acústica de entrada (a reconocer) devolviendo la secuencia de estos patrones que con mayor probabilidad "representan" a la misma.

El proceso de reconocimiento automático de habla tiene como función obtener la secuencia de palabras asociada a la frase en lenguaje natural (LN) de entrada. La frase es pronunciada por el locutor de forma continua, es decir, sin pausas entre las palabras, y a menudo, tiene problemas de agramaticalidad, incluye elementos propios del habla espontánea como son las interjecciones, falsos comienzos, repeticiones, etc. Una complejidad añadida es, que el sistema de reconocimiento de habla, por su parte, presenta problemas de cobertura léxica y sintáctica (estructural). Por todo ello, la tarea del sistema de reconocimiento de habla no es sencilla, y además, es costosa, tanto en memoria como en cálculo.

En la fase de reconocimiento, intervienen dos aspectos fundamentales: Procesado lingüístico (nuestra labor está más enfocada en este aspecto) Procesado de audio

En la actualidad existen diversas herramientas que permiten hacer reconocimiento de voz. Todas estas herramientas vienen dotadas de:

vocabulario (por defecto) modelo de lenguaje (gramática) conjunto de pronunciaciones(fonemas)- vocabulario : es el conjunto de palabras que necesitamos saber para comunicarnos efectivamente. De ello se desprende, que sólo las palabras pertenecientes al vocabulario pueden ser reconocidas.- Gramática : será el conjunto de reglas y normas propuestas para el uso correcto del vocabulario que se esté empleando

El sistema de reconocimiento automático del habla se basa en tres ejes fundamentales del lenguaje. Primero, es necesario que reconozca las unidades fonéticas básicas (fonemas contextuales), luego, estos fonemas tienen que tener algún tipo de unión para poder formar palabras, y por último uniendo estas palabras hacen que se compongan las frases mediante reglas gramaticales básicas. Pero para que la máquina transcriba los sonidos tiene que tener introducido en sí modelos de aprendizaje y entrenamiento convenientemente etiquetados. La parte que nos concierne a nosotros es la de concretar un vocabulario y una gramática.

Los aspectos del proceso en los que vamos a centrarnos van a ser:

E.T.S.I. Telecomunicación (U.P.M.) 24

Page 25: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

1) Recibir texto: puede ser el propio usuario quien lo introduzca a través de la entrada estándar (teclado), o bien, puede ser el propio sistema el que lo vaya tomando de una serie de ficheros que tenga almacenados en su memoria.

2) Categorizar texto: esta etapa consiste en identificar de qué tipo son las distintas palabras que componen el texto. Se definen una serie de categorías relacionadas entre sí de manera jerárquica.

3) Vocabulario: si las palabras se han podido clasificar e identificar, pertenecen al vocabulario y podrán ser reconocidas.

4) Gramática: Una gramática de reconocimiento define las posibles respuestas que el sistema puede reconocer en un determinado momento. Es el subconjunto del “lenguaje” aceptado por el reconocedor. Por lo tanto debe haber una gramática adecuada para cada instante del diálogo entre la persona y la máquina. Una gramática especifica el vocabulario de palabras que el sistema puede reconocer así como las posibles secuencias en que éstas se pueden combinar.

Fig. 2.4 Componentes principales de un sistema de reconocimiento del habla, seleccionado de la clase 1

(Imagen de James Glass y Victor Zue).

Lo que vamos a generar son gramáticas probabilísticas. Para generarlas, necesitamos recoger datos, y esto implica que nos encontraremos con el siguiente problema: recordando que este proyecto pretende desarrollar un modelo de lenguaje para un robot que desempeñará la función de guía en un museo de ciencias, está implícito en la propia naturaleza del robot, que el entorno en el cual se va a mover el robot es cambiante. A la hora de definir unas reglas y un vocabulario, el hacerlo inmersos en un entorno cambiante supone una dificultad añadida, puesto que no podremos hablar ni de reglas, ni de un vocabulario comunes, generales y/o siempre válidos, sino que deberán ser adaptados y matizados en función del contexto y de las circunstancias concretas que se estén dando.

A la hora de definir una metodología de generación de datos se realiza una estimación de probabilidades de modelos de lenguaje estadísticos en aplicaciones de diálogo sobre dominios restringidos. Una vez que hemos recogido las frases, nos encontramos con que hay unas palabras que se suceden más probablemente que otras, por lo cual, a la hora de buscar, se reduce el número de casos posibles y aumenta la probabilidad de acierto.

Ejemplo :

Ejemplo 2.7

El caso que nos ocupa es algo más complejo, puesto que, dado que el ambiente es cambiante, vamos a necesitar expresiones y palabras válidas en cualquier dominio, sin conocer la aplicación concreta de las mismas (La exposición en la que va a estar el robot no está completamente definida cuando

E.T.S.I. Telecomunicación (U.P.M.) 25

Page 26: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

trabajamos en el laboratorio; serán los administradores del robot en el museo quienes deban dar de alta una exposición concreta e introducir los datos de los elementos que la componen).

2.3.2.2 División en clases de equivalencia

2.3.2.2.1 El equilibrio entre fiabilidad y especificidad A la hora de realizar una estimación, lo deseable sería conocer otras características de aquello que

modela nuestra predicción. Esto es un signo de que, “el pasado puede ser una buena guía para predecir lo que va a ocurrir en el futuro”. Si suponemos que algunos modelos son, en cierto modo, cuasi-estacionarios, esto nos dará un criterio de clasificación, de manera que busquemos ser capaces de realizar predicciones basándonos en una serie de rasgos de clasificación.

A la hora de realizar estimaciones, es preciso que el sistema previamente disponga de un conjunto de ejemplos o datos de entrenamiento, que tomará como referencia para llevar a cabo sus predicciones. Cabría pensar en establecer una división de los datos de entrenamiento en varias clases, donde los elementos de cada clase, presenten una serie de rasgos o características en común.

Cuanto más específicos o rigurosos sean los criterios de clasificación, habrá un menor número de elementos que satisfagan los requisitos necesarios para pertenecer a una clase, y lo que obtendremos será un modelo muy subdividido, donde las estimaciones de probabilidad que se realicen serán poco fiables. En el extremo contrario nos encontraríamos con que, si los criterios de clasificación son demasiado generales, el nivel de discriminación o discernimiento entre a qué clase pertenece una palabra, es menor y podría producirse ambigüedad.

En definitiva, la división del vocabulario en clases (a las que posteriormente nos referiremos como categorías gramaticales), debe ser una solución de compromiso entre fiabilidad y discriminación.

2.3.2.2.2 Modelos de N-gramas La predicción de qué palabra va a venir a continuación, conocidas las anteriores se puede ver

como un intento de calcular la función de probabilidad asociada a un conjunto de datos:P(wn|w1,…wn-1)

La solución a este problema pasa por considerar la historia de la siguiente palabra, es decir, qué palabras preceden a la que queremos predecir, y ello hace mención del concepto de clasificación al que acabamos de aludir unas líneas más arriba. Si se dispone de un amplio repertorio de ejemplos, se puede extrapolar una regla que indique cuándo es más probable que unas palabras sucedan a otras. No obstante, ni el repertorio de ejemplos, ni la longitud del texto que debemos considerar antes de estimar una palabra, pueden ser infinitos. Resulta evidente que no es factible tener almacenadas en el sistema todas las posibles combinaciones de palabras que puedan darse en una lengua, y una consecuencia inmediata será que, con mayor o menor frecuencia, podrán aparecer combinaciones de palabras que no se encuentren entre aquéllas que el sistema ha detectado con anterioridad. Incluso aunque una secuencia de palabras hubiese aparecido antes en el sistema, su historia, podría ser diferente, y por tanto la predicción de la palabra que vendría a continuación, tampoco sería la misma. Así pues, llegamos a la conclusión de que es necesario un método que nos permita agrupar la “historia” de las palabras que guarden algún tipo de relación entre sí. Sólo así podremos predecir “razonablemente bien”, qué palabras se espera que vengan a continuación de otras, dada una secuencia de elementos precedentes.

Una forma de agrupación se concreta en el criterio de Markov, que asume que la palabra que ocupa la n-ésima posición sólo está afectada por las n-1 anteriores, las cuales

constituyen lo que se ha venido a llamar contexto local precedente (“prior local context”)

Cuadro 2.2 Criterio de Markov

De esta forma, podemos definir que:

E.T.S.I. Telecomunicación (U.P.M.) 26

Page 27: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

un Modelo de Markov de orden n-1 es aquel cuyas n-1 palabras de la historia pertenecen a

ciertas clases de equivalencia, y la palabra n-ésima es la que intentamos predecir

Cuadro 2.3 Definición de Modelo de Markov

Concluimos que, la aproximación estocástica más extendida es la de los modelos de N-gramas. Este formalismo, que fue ampliamente empleado en el reconocimiento del habla, es a su vez trasladable a la comprensión por diversas razones:

permiten representar de forma simultánea los diferentes niveles de conocimiento del dominio del discurso de la aplicación (sintaxis, semántica y pragmática). permite lo que se conoce como aprendizaje basado en corpus, es decir, una vez fijado N, los modelos se aprenden automáticamente a partir de un conjunto de datos de la aplicación. permiten una fácil implementación ya que existen algoritmos eficientes para su tratamiento.

Sin embargo, conviene reseñar el inconveniente de que no se refleja la estructura completa de la frase; esto puede redundar en una deficiente modelización de las relaciones entre términos que se encuentran a una cierta distancia.

Aunque de forma general se habla de que los modelos de lenguaje con los que se suele trabajar, suelen estar basados en grupos de N-gramas, típicamente lo más frecuente será que N tome el valor de 2 o 3, considerando bi-gramas (grupos de dos palabras) o tri-gramas (grupos de tres palabras) respectivamente.10

Si se trabaja con pares de palabras, lo que se emplea es la probabilidad de que a una palabra le siga otra. Si se trabaja con tríos de palabras, se estima la probabilidad de que a una palabra le siga otra, y de que ésta a su vez siga a otra.

Aunque pudiera parecer mejor trabajar con secuencias de N-gramas lo más grandes posibles, en la práctica se pone de manifiesto lo contrario, puesto que considerar cadenas de mayor longitud supone también tener que estimar un mayor número de parámetros (que crece de manera exponencial). Esto justifica que la tendencia sea el empleo de bi-gramas o tri-gramas y vocabularios de un tamaño moderado.

Una forma de reducir el número de parámetros que es necesario estimar consiste en dar a N valores pequeños. No obstante, existe otra forma basada en agrupaciones semánticas de palabras. He aquí la importancia de que los modelos lingüísticos contemplen tanto el aspecto morfo-sintáctico, como el semántico, y eso es precisamente lo que se pretende en este proyecto. Resumiendo, en la predicción de una palabra entrarán en juego tanto una componente sintáctica, como una componente semántica.

2.3.2.3 Estimadores estadísticos

Apoyándonos en un conjunto de datos (de entrenamiento) que pertenecen a una misma clase, el siguiente paso es encontrar un buen estimador de la probabilidad de que una palabra siga a otras. El objetivo sería calcular la probabilidad de la secuencia

P(w1,…wn)

y la predicción equivale al cálculo de P(wn|w1…wn-1 )

Ejemplo:

Usando los diccionarios se podría obtener algo de este estilo:

10 En la literatura se pueden encontrar referencias también a tetragramas (grupos de 4 elementos)

E.T.S.I. Telecomunicación (U.P.M.) 27

Page 28: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

Ejemplo 2.8

Aplicando la regla de la cadena de Bayes se podrían asignar las probabilidades a partir de la información disponible:

P(w1,…wn)= P(wn|w1…wn-1 )· P(w1…wn-1 )

Cuadro 2.4 Regla de la Cadena de Bayes

La probabilidad de una secuencia se va reduciendo al cálculo del producto de probabilidades más simples, hasta reducir los términos a información que sí sea conocida por el sistema.

Cuadro 2.5 Probabilidad de una secuencia

Siendo:P (ART/) condición de borde; probabilidad de que aparezca un artículo en una posición inicial.

Es un ejemplo de bigrama que representa la probabilidad de que una secuencia comience por un artículo. Siempre nos vamos a encontrar alguna condición de borde.

Cuanto más largas sean las secuencias, más probabilidades habrá que multiplicar, y el proceso se tornará más engorroso. Tomando el caso de los trigramas, éstos son una forma de aproximación por la cual se asume que es válida la siguiente aproximación:

P (N/ N,P) ≈ P (N/ ART, N,P)11

Cuadro 2.6 Aproximación válida para realizar estimaciones probabilísticas

11 En este caso (la probabilidad de una palabra en función de las dos anteriores equivale a la probabilidad de una palabra en función de las tres anteriores.)

E.T.S.I. Telecomunicación (U.P.M.) 28

Page 29: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.3.2.3.1 Estimador de máxima verosimilitud (Maximum Likelihood Estimation MLE) Independientemente de cómo se formen las clases de equivalencia, el sistema debe contar con un

vocabulario previo con el cual ir comparando las nuevas secuencias de palabras que reciba. Tomando como ejemplo un modelo basado en tri-gramas, donde se emplean las dos palabras anteriores del contexto, para predecir la siguiente, podríamos plantearnos lo siguiente:

- Se tiene la secuencia (a, b) como palabras precedentes.

- A partir de la información almacenada en el corpus se sabe que: (a, b) aparece 10 veces,

de las cuales

(a, b +c) aparece 8 veces

(a, b +d) aparece 1 vez

(a, b +e) aparece 1 vez

(a, b +?) aparece 0 veces siendo ? un elemento que no se encuentre entre los anteriores

Como estimador de la probabilidad de la palabra siguiente a la secuencia (a, b) se podría pensar en emplear la frecuencia relativa de manera que, volviendo al ejemplo anterior:

P (a, b +c) =0.8

P (a, b +d) =0.1

P (a, b +e) =0.1

P (a, b +e) =0.0

Cuadro 2.7 Posibles secuencias con sus probabilidades asociadas

Este estimador es lo que se conoce como estimador de máxima verosimilitud (Maximum Likelihood Estimate (MLE))

PMLE(w1,…wn)= C(w1…wn )

N

PMLE(wn|w1,…wn-1)= C(w1…wn )

C(w1…wn-1 )

Siendo:

C(w1…wn) la frecuencia con la que aparece la combinación (w1…wn)

N número total de palabras del vocabulario de entrenamiento

Cuadro 2.8 Estimador de máxima verosimilitud

El nombre de estimador de máxima verosimilitud procede de que la máxima probabilidad asignada al corpus depende del valor que tomen los parámetros. Se asume que la frecuencia de aparición de los elementos del corpus, se puede modelar como una variable aleatoria con una distribución binomial, donde cada secuencia de n elementos (n-grama) es independiente de la siguiente.12

Este estimador maximiza la probabilidad de las observaciones que estén presentes en el corpus de entrenamiento, pero no resulta apropiado para realizar cálculos de probabilidades en sistemas de procesamiento del lenguaje natural. El principal inconveniente de este método reside en la dispersión de los datos del corpus (data sparseness). Mientras unas palabras pudieran resultar muy frecuentes, otras quizás no aparezcan nunca. Dada una secuencia de palabras que no ha aparecido con anterioridad en el

12 Esto no es del todo cierto, puesto que:- suele producirse un solapamiento entre el final de una secuencia, y el comienzo de la siguiente- una secuencia normalmente condiciona la que viene a continuación- las palabras suelen repetirse a lo largo de un texto.

E.T.S.I. Telecomunicación (U.P.M.) 29

Page 30: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

sistema, el estimador de máxima verosimilitud le asignaría la probabilidad 0. A la vista del cuadro 2.5, se puede observar cómo la probabilidad de una secuencia de palabras se obtiene a partir de la multiplicación de sus probabilidades condicionadas, de tal forma que, los ceros se propagarían y las estimaciones de probabilidades no serían del todo acertadas. Pero queremos hacer hincapié en que se trata de una estimación, no es la probabilidad real de que esa secuencia ocurra. El que una secuencia de palabras sea desconocida para el sistema no es sinónimo de que dicha secuencia sea imposible o incorrecta en una lengua. Es cierto que pueden ocurrir casos en los que efectivamente la combinación no pueda darse y deba descartarse, pero cabe plantear otra alternativa: quizás el conjunto de textos de los que dispone el sistema para comparar no sea lo suficientemente grande. Análogamente, supongamos ahora que se diese el caso contrario, es decir, una combinación de palabras que aparece con mucha frecuencia en los textos almacenados en el sistema. En este punto cabe una doble interpretación:

- por un lado, se pone de manifiesto que esa combinación no es imposible

- por otro, que esa secuencia de palabras no puede ser muy improbable (de lo contrario su

presencia no sería tan notoria en el conjunto de textos de entrenamiento o corpus del sistema).13

Con ello se pone de manifiesto la necesidad de un estimador que considere eventos, a pesar de que no se encuentren entre los que el sistema es capaz de identificar como “conocidos”. En este sentido, aparecen métodos de asignaciones probabilísticas más efectivos llamados “algoritmos o funciones de descuento”. El proceso de “descuento” se denomina “suavizado”.

2.3.2.3.2 Ley de Laplace Donde el algoritmo MLE asignaba una probabilidad nula a las secuencias que no perteneciesen al

corpus de entrenamiento, la ley de Laplace fue el primer intento de poner solución a este problema, asignando una probabilidad distinta de cero a dichas secuencias. Para ello, al número de apariciones de una secuencia [C(w1…wn )], se le sumaba una unidad, de manera que, una pequeña parte de la función de probabilidad se reservaba para aquéllos elementos que resultasen desconocidos para el sistema.

PLap(w1,…wn)= C(w1…wn ) + 1

N+B

fLap= (r + 1) · N

N+B

Siendo: B el número de clases de equivalencia en las que puede quedar agrupado el vocabulario o

la información del corpus, fLap el estimador de la frecuencia de aparición de una secuencia, y r el número

de apariciones de dicho n-grama en el corpus.

Cuadro 2.9Ley de Laplace

Nótese cómo los valores de probabilidad asignada aplicando el método de Laplace son dependientes del tamaño del vocabulario: cuanto mayor y más disperso sea el corpus, mayor será también la fracción de la distribución de probabilidad reservada para los elementos desconocidos por el sistema. Esto lo convierte en un método poco satisfactorio en estas circunstancias, en las que B podría incluso superar a N.

2.3.2.3.3 Aproximación de Good-Turing Es un algoritmo que permite realizar estimaciones probabilísticas asumiendo una distribución

binomial de los datos. El método resulta apropiado cuando se dispone de un elevado número de observaciones derivadas de la existencia de un vocabulario amplio.

13 Si bien es cierto que podría ocurrir que la combinación de palabras aparezca en los textos más veces de lo “normal”.

E.T.S.I. Telecomunicación (U.P.M.) 30

Page 31: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

PGT= _r * _

N

Siendo r* la frecuencia “aproximada”.

Cuadro 2.10 Aproximación de Good-Turing(I)

El teorema de Good-Turing asigna, a las observaciones previas del sistema, el valor de

probabilidad obtenido como aplicación directa del teorema de Bayes (cuadro 2.4).

r*=(r+1)· E (Nr +1)

E (Nr)

Cuadro 2.11 Frecuencia estimada de Good-Turing

Donde E denota el valor de la media o la esperanza matemática.La fracción de distribución de probabilidad reservada para los elementos desconocidos por el

sistema resulta ser:E (N1) / N)

A partir de los resultados empíricos resulta válido hacer la aproximación:E (Nr ) ≈ Nr

Siempre y cuando r no tome un valor demasiado alto, de lo contrario las estimaciones se tornarían poco fiables.14 Hay dos posible soluciones a este problema que consisten en lo siguiente:

Reestimar probabilidades sólo cuando r < k (k constante): cuando las palabras sean poco frecuentes la aproximación resulta bastante precisa Aplicar una función de suavizado S(r).

Sea:C(w1…wn ) = r>0

PGT (w1,…wn)= _r*_

N

r* = (r+1) · S (r+1)

S(r)

C(w1…wn ) = 0

PGT (w1,…wn)= _1- r=1∞ Nr · r*/N _ ≈ N1 _

N0 N0 · N

Cuadro 2.12 Aproximación de Good-Turing(II)

Se acaba de hacer mención de que la asignación de una probabilidad nula a elementos que aparecen por primera vez en el sistema redunda en la obtención de estimaciones de probabilidad poco precisas y que se alejan de la realidad.

El suavizado busca asignar valores no nulos a aquellas combinaciones de palabras que son

desconocidas para el sistema.

14 Véase por ejemplo el caso de la secuencia más frecuente. Al no existir ninguna combinación de palabras que tome un valor más alto, la probabilidad asignada sería cero, lo cual es tremendamente incorrecto.

E.T.S.I. Telecomunicación (U.P.M.) 31

Page 32: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

En resumen, dicho de una manera coloquial, el algoritmo de Good-Turing consiste en hacer “las cuentas de las cuentas”15. Para ilustrar este concepto optaremos por apoyarnos en un ejemplo a fin de facilitar tanto la explicación, como la comprensión por parte del lector/a.

Dada la secuencia de palabras “la casa”, se desea estudiar la probabilidad de que “la” vaya seguida por “casa”. Para ello, aplicando el algoritmo de Good-Turing, la probabilidad estimada se calcula en función del número de apariciones: Para el caso general, la probabilidad Pn de que una palabra ocupe la n-ésima posición de una secuencia será:

Pn = Nº veces que aparecen las n palabras de la secuencia seguidas

Nº veces que aparecen las n-1 anteriores

Cuadro 2.13 Probabilidad de que una palabra ocupe la n-ésima posición

Que, particularizando para este ejemplo resulta:P(la | casa) = fGT (la casa) = Nº veces que aparece “la casa”

C(la) Nº veces que aparece “la”

Si para llevar la cuenta de cuántas veces ha aparecido una palabra o secuencia de palabras, el sistema utiliza una variable count, en el supuesto de que la palabra no perteneciese al corpus de entrenamiento, la variable contador tomaría el valor cero (count = 0) y por tanto, la probabilidad asignada, en principio, sería nula. No obstante esto podría ser una de las consecuencias de la falta de muestras, y si retrocedemos unas líneas, caeremos en la cuenta de que la asignación de una probabilidad nula a una palabra o secuencia es un aspecto a evitar, puesto que se generarían estimaciones alejadas de la realidad. El proceso de eliminación de las probabilidades con valor 0 encuentra una solución sumando una unidad a cualquiera de los contadores de los textos que componen el corpus, de forma que:

Llegados a este punto, si nos limitásemos a dejarlo así obtendríamos: pi > 1

Cuadro 2.14 El sumatorio de probabilidades debe ser la unidad

Lo cual es completamente erróneo. Esto se traduce en que si bien hemos sumado una unidad al numerador, también habrá que sumarle una cierta cantidad al denominador de manera que se cumpla que el sumatorio de todas las probabilidades vale la unidad.

pi = 1

2.3.2.4 Combinación de estimadores

Los métodos de asignación de probabilidades que, hasta el momento, aquí se han expuesto, se limitan a considerar el número de veces que aparece una secuencia en un corpus. Estos métodos aplican una misma asignación probabilística a los n-gramas que o bien no están presentes en el vocabulario que el sistema es capaz de identificar, o bien su frecuencia de aparición es relativamente escasa. No obstante en este apartado se van a presentar otras alternativas que permitan realizar mejores estimaciones, considerando, no sólo la frecuencia de aparición de los n-gramas, sino ésta, condicionada a la frecuencia de aparición de los (n-1)-gramas. Combinando adecuadamente varios modelos de n-gramas se pueden obtener resultados realmente buenos para realizar estimaciones

15 count-counts [Schütz 2002]

E.T.S.I. Telecomunicación (U.P.M.) 32

Page 33: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.3.2.4.1 Interpolación lineal simple Consiste en combinar modelos de trigramas con modelos de bigramas y unigramas menos

dispersos. En estos casos el proceso a seguir se traduce por la obtención de otra función de probabilidad resultante de una combinación lineal de varios modelos donde se asignan unos pesos a la contribución de cada modelo. Cuando las funciones de interpolación utilizan un mismo subconjunto de información condicionada, la interpolación lineal simple pasa a llamarse “deleted interpolation”. La aproximación mediante Interpolación Lineal para un modelo de trigramas se expresa analíticamente como:

PInt1i (wn|wn-2,wn-1) = 1P1 (wn) + 2P2 (wn|wn-1) + 3P3 (wn|wn-1,wn-2)

donde 0i1 y ii =1

Cuadro 2.15 Interpolación Lineal Simple

Aunque la asignación de los pesos puede ser manual, lo más frecuente es buscar la combinación óptima, la cual se puede calcular maximizando el valor de la media o esperanza matemática. Al hilo del ejemplo anterior, veamos cómo este método tiene en cuenta todas las distribuciones de probabilidad disponibles para la estimación de un determinado suceso.

Prob (“la casa”) es desconocida (lo que nos gustaría tener); no obstante, lo que sí tenemos es: número de veces que aparece “la” número de veces que aparece “casa” número de veces que aparece “´la casa”

llevando a cabo una ponderación de ambas distribuciones, bigramas y unigramas, y mediante los parámetros de interpolación i de la expresión 3. resulta:

Prob (“la casa”) = · frecuencia relativa (“la casa”) + ’ · frecuencia relativa (“la”)

Aunque la combinación “la casa” no se diera en los textos del sistema, obsérvese cómo la probabilidad que se obtiene va a ser un valor distinto de 0. La probabilidad de que “la casa” no aparezca podría ser elevada, pero que “la” o “casa” aparezcan, no es tan infrecuente.

2.3.2.4.2 Método de Backoff Para llevar a cabo una modelización tanto a nivel de secuencias de unidades semánticas del

lenguaje, como a nivel de la estructura interna de cada una de las unidades semánticas en términos de categorías léxicas o palabras (POS (part of speech)), se pueden emplear modelos de bigramas suavizados a partir de la técnica de Back-Off [Katz, 1987]. El método Back-off sirve para estimar la probabilidad de los sucesos “no vistos”, aplicando suavizado (smoothing) y combinando varias fuentes de información. Considera la distribución de probabilidad que se espera sea la más apropiada. En el método de Back-off, se consultan varios modelos en un orden dependiente de su especificidad, y el que sea capaz de proporcionar información relevante para el contexto, será el que se emplee. La probabilidad estimada para un n-grama se obtiene a partir de contextos que van siendo progresivamente menores.16

(1-dwi-n+1 …wi-1) · C(wi-n+1…wi) si C(wi-n+1…wi) >k (1)

C(wi-n+1…wi-1)

Pbo (wi|wi-n+1…wi-1) =

wi-n+1…wi-1 Pbo(wi|wi-n+2…wi-1) resto (2)

16 “The estimate for an n-gram is allowed to back off through progressively shorter histories” [Schütz 2002]

E.T.S.I. Telecomunicación (U.P.M.) 33

Page 34: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

Cuadro 2.16 Método de Back-off

Si el número de apariciones de un n-grama supera el valor de un umbral, (k)17 se aplica (1) sin olvidar que será necesario aplicar un “descuento”( dwi-n+1 …wi-1) al estimador MLE de manera que una fracción de la función de probabilidad quede reservada para contemplar los elementos que no pertenecen al conjunto de observaciones del sistema. La estimación de la probabilidad de dichos elementos desconocidos se lleva a cabo a través del algoritmo de Back-off. Si por el contrario la combinación no entra dentro del subconjunto conocido por el sistema, es necesario recurrir a una función (2) que nos permita estimar la probabilidad de una secuencia que aparece 0 o muy pocas veces. En este segundo caso, representa un factor de normalización para que sólo la fracción de probabilidad resultante del proceso de descuento quede distribuida entre los n-gramas cuyas probabilidades son estimadas aplicando back-off.

Una crítica que han recibido los algoritmos de back-off alude a que los valores estimados de probabilidad pueden experimentar variaciones significativas cuando se añaden más datos y se cambia la longitud del n-grama al que referir la estimación. No obstante, es un método simple y que funciona bien en la práctica.

2.3.2.4.3 Interpolación Lineal Genérica Mientras que en el caso de la interpolación lineal simple, los pesos eran simplemente un número,

también se pueden definir otros algoritmos más genéricos, eficientes y de mayor alcance donde los pesos sean una función de la historia. Si tenemos k funciones de probabilidad, la expresión analítica del modelo general de interpolación lineal es:

Pli(w|h) = i(h)Pi (w|h)

donde h, 0i(h)1 y ii (h)=1

Cuadro 2.17 Interpolación Lineal Genérica

La interpolación lineal suele ser un método empleado especialmente cuando lo que se desea es llevar a cabo una combinación de varios modelos. Las técnicas de interpolación lineal no tendrían por qué alterar las estimaciones probabilísticas siempre y cuando se aplique una distribución de pesos adecuada a la hora de utilizar el algoritmo EM. Por el contrario, si se lleva a cabo una mala partición de los contextos, asignando distintos pesos en función del tipo de contexto, esto podría ocasionar un mal uso de los modelos de componentes. Si los coeficientes de la combinación lineal son iguales (i) lo que ocurre es que no se hace distinción entre los pesos asignados a los distintos modelos, de manera que se da la misma importancia a la estimación probabilística obtenida en función de unigramas, que a la de bigramas, que a la de trigramas, independientemente de que, por ejemplo, el estimador resultante del modelo basado en trigramas fuese mejor que el basado en unigramas.

En general, la asignación de pesos no se realiza atendiendo a los contextos de forma individual. De hecho, tratar de asignar un peso (w(i-n+1)(i-1)) para cada palabra (w(i-n+1)(i-1)) empeoraría el problema de la dispersión. Bahl et al (1983) propuso realizar una partición de los pesos () en función de la frecuencia de aparición de las palabras (C(w(i-n+1)(i-1))) y posteriormente relacionar los parámetros de los contextos que se hubieran dado el mismo número de veces. En 1996 hubo otra propuesta18 consistente en agrupar los distintos parámetros pero en función de la media del número de elementos positivos.

17 K suele tomar los valores 0 o 118 Chen and Goodman

E.T.S.I. Telecomunicación (U.P.M.) 34

Page 35: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

2.3.3 Construcción de los modelos de LenguajeTodo lo que hemos referido hasta este momento acerca del cálculo y estimación de probabilidades

nos va a servir para la construcción de los modelos de lenguaje. Del estudio de las frases recogidas, se va a intentar abstraer una frase genérica. La construcción de una gramática genérica, precisa incurrir en un proceso de abstracción. Si bien, es posible que la gramática generada incluya frases que no siempre se van a utilizar.

Por ejemplo:Podría darse el caso en el que el modelo de lenguaje generado posea una frase con la palabra

teclado, pero si no hay teclados en la exposición concreta donde se va a desenvolver el robot, esta frase

resultará inútil, o sin respuesta posible.

Ejemplo 2.9

Un modelo genérico de lenguaje, está construido a partir de frases abstractas. Por ejemplo:“Dime para qué sirve «OBJETO»”

Ejemplo 2.10

donde, «OBJETO» constituye un patrón donde pueden incluirse palabras como botón, pantalla…(este patrón podrá ser remplazado por cualquier cosa de la exposición que cumpla las propiedades de un objeto). Al final del proceso, habrá que proceder a una concreción de las frases, a fin de traducir los modelos o patrones, a frases concretas. El patrón está definido para que admita varias frases, pero no todas serán posibles en una situación específica. Para la obtención de patrones, cabe distinguir dos tipos de frases recogidas: las del laboratorio y las del museo. En el caso de que se trate de frases del museo, no es necesario partir de cero en el proceso de abstracción, puesto que previamente, en el laboratorio se ha recogido un modelo de lenguaje inicial convenientemente generalizado.

Llegados a este punto, cabe introducir el concepto de filtrado:Filtrar consiste en quedarse sólo, con aquéllas expresiones que tengan sentido dentro de un

determinado contexto o bajo unas circunstancias determinadas.

El patrón requiere un modelo de qué es lo que va a haber en la exposición: de qué se puede hablar, qué es posible encontrar…El efecto del filtrado del modelo genérico es un modelo concretizado, constituido por expresiones que tienen sentido en la exposición.

2.3.4 Aplicación de los modelos de lenguaje en reconocimientoLos modelos de lenguaje pueden ser muy importantes en este campo, y se pueden emplear como

una herramienta de ayuda al reconocedor.

Dada una secuencia de palabras emitida por un locutor, se generan una serie de observaciones:P(w1…wn/Om…Ol)

1. Un locutor cuando habla, genera voz.

2. de la voz el reconocedor extrae información: la voz se divide en tramas y cada trama

puede constituir lo que ha venido a llamarse observaciones, que tendrá asociado un vector de

características.

El problema que se plantea es: Dado un conjunto de observaciones, ¿cuál es la secuencia óptima

de palabras que corresponde a dichas observaciones?

E.T.S.I. Telecomunicación (U.P.M.) 35

Page 36: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

El sistema dispone de las muestras de voz, pero no de las probabilidades que es precisamente lo que interesaría maximizar. Al hilo de lo que se ha ido comentando en este capítulo, no es posible llevar a cabo un cálculo directo de estas probabilidades. No obstante, sí es lícito aplicar la regla de Bayes, que nos puede proporcionar una solución razonablemente aceptable.

2.3.4.1 Teorema de Bayes

Prob (wl… wn/ Om… Ol) = max [Prob Om… Ol / wm… wl) · Prob (wn… wl)]

Prob (Om… Ol)

Cuadro 2.18 Teorema de Bayes

Si es la primera vez que vemos estas observaciones, el cálculo de Prob (w l…wn / Om…Ol) no está disponible, no la podemos tener nunca calculada. Sin embargo, el modelo acústico sí resulta conocido para el sistema:

Prob (Om…Ol / wn…wl)

En un sistema de reconocimiento, lo que hemos venido llamando corpus de entrenamiento, lo va a constituir un repertorio de muestras donde existe una correpondencia entre las grabaciones y lo que representan dichas grabaciones. Aunque toda la voz siempre es distinta, sí es posible contar con una serie de grabaciones que corresponden a un mismo texto.

2.3.4.2 ¿Máximos del modelo acústico?

Cada palabra genera un conjunto de observaciones, y el modelo acústico indica, dada una palabra, cómo se debe leer. La secuencia que nos ocupa, está formada por palabras

Prob (Om…Ol / wn) · Prob (Ol-1…Oñ / wn-1) · …

Pero aquí se plantean dos dificultades:1. dada una palabra, ¿Cuál es la probabilidad de que se lea de una determinada manera?

2. ¿cuál es el valor de l, ñ…?

El valor de m resulta evidente, ya que es el último; sin embargo, los valores intermedios l, ñ…son desconocidos para nosotros. El espacio de búsqueda es inmenso, por lo que nuestro interés va a estar focalizado en determinar cuál es la segmentación óptima. Una primera solución supondría el cálculo de todas las combinaciones posibles de m palabras con n tramas. No sólo sería este procedimiento enormemente tedioso, sino que además, tampoco lograríamos dar con la solución, puesto que constantemente van apareciendo nuevas palabras.

El Reconocimiento de Habla consiste en ser capaz de identificar cualquier nueva secuencia de palabras. Evidentemente, hay que desechar la idea de que la solución radica en dotar al sistema con una base de datos de tamaño infinito que contenga todas las posibles combinaciones de todas las posibles palabras y secuencias de palabras presentes en una lengua. Esto resulta desde todos los puntos de vista inviable: no sólo no tenemos los medios físicos o materiales capaces de almacenar una cantidad infinita de información, sino que las propias lenguas están en permanente evolución, incorporando palabras nuevas y sustituyendo otros términos en desuso. Por tanto, de acuerdo con la base de datos, es imposible que el sistema haya generado exactamente las mismas observaciones para la nueva secuencia introducida, que para otra que ya tuviera almacenada previamente.19

De ello se deduce que, Prob (Om…Ol / wn…wl) = 0

A la vista de este resultado ya sabemos que esto no significa que la secuencia sea imposible. Se trata de reducir la complejidad del problema y de descomponer la secuencia en unidades más sencillas para ver si alguna de esas unidades de la secuencia se ajusta a alguna de las ya conocidas por el sistema.

19 (De lo contrario no podríamos hablar de que el sistema reconozca algo que no conoce o de que la secuencia introducida sea nueva)

E.T.S.I. Telecomunicación (U.P.M.) 36

Page 37: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

No obstante, ni siquiera descomponiendo la secuencia en palabras y comparando con todas las grabaciones almacenadas seríamos capaces de localizar que una palabra de la base de datos cuadra perfectamente con una palabra de la secuencia; no obstante sí resulta menos improbable (al tratarse de unidades más pequeñas).

Así pues, el modelo acústico nos dará una aproximación para Prob (Om…Ol / wn).

2.3.4.3 Realización de la aproximación

Se basa en modelar todo el proceso como un proceso markoviano, donde cada palabra genera observaciones, y la palabra se compone de estados. Cada estado tiene una probabilidad de emitir observaciones. La probabilidad P(Oi/wn1) es conocida: probabilidad de que una observación i se dé en ese estado. De esta forma se ha conseguido reducir la probabilidad a unidades de muy pequeño tamaño, de manera que ahora sí resulta factible tener un “trocito” de una palabra en la secuencia, que se parezca a uno de los que haya contenidos en la base de datos. A mayor tamaño de las unidades de comparación (palabras, secuencias, frases), el grado de dificultad para establecer una correspondencia entre la señal de entrada y la información almacenada en la base de datos se incrementa. En contraposición, reduciendo el tamaño de las unidades resulta mucho más factible encontrar en la secuencia, alguna parte pequeña que se asemeje a otra que el sistema sí conoce.

2.3.4.4 La segmentación

Prob (Om…Ol / wn) => ¿l?

Tomando m=3 nos preguntamos si:Prob (Om…Ol / wn) => ¿l?

wn3 wn

2 wn1

Fig 2.5 Modelo de Markov

¿cuál es la probabilidad de que un estado haya emitido todas las observaciones?

Ya hemos comentado que, en cada estado se emite una observación con una cierta probabilidad. Prob (Om / wn3 ) · p (wn3 / wn3 ) · Prob (Om-1 / wn3 ) · …

Siendo: Prob (Om / wn

3 ) : probabilidad de generar la primera observación Prob (wn

3 / wn3 ) : probabilidad de permanecer en el mismo estado

Prob (Om-1 / wn3): probabilidad de generar la segunda observación

Dada una secuencia, ni aún teniendo muchas muestras y muchas palabras seríamos capaces de encontrar otra secuencia idéntica a la “nueva” que acaba de entrar en el sistema. Descendiendo al nivel de palabra, comprobaríamos que tampoco así es posible encontrar todas las palabras de la secuencia perfectamente replicadas en la base de datos. Cabría plantearse dar un paso más y proceder a una reducción a secuencias de fonemas. En último término, los fonemas se acaban reduciendo a estados, y

E.T.S.I. Telecomunicación (U.P.M.) 37

Page 38: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

cada estado va a generar observaciones: de donde cabe deducir la probabilidad de que un fragmento de la señal de voz a la entrada al sistema haya sido generado por un determinado fonema. Todo este proceso se fundamenta en meras aproximaciones, y cabe percatarse de que a medida que se profundiza en la descomposición de las unidades de trabajo, se van produciendo sucesivas simplificaciones del problema:

Por ejemplo:- Para pasar de secuencia de palabras a palabras, se ha supuesto que no existe dependencia entre

el modo de pronunciación de una palabra, y las anteriores, lo cual es falso.

- En esta misma línea, el paso de palabras a secuencias de fonemas supone que un fonema se

pronuncia independientemente de los anteriores.

Ejemplo 2.11

2.3.5 Aplicación prácticaResumiendo todo lo anterior:

el modelo acústico nos da cómo se pronuncian las palabras. En última instancia, cada fonema se acaba representando por un autómata o conjunto de estados, acorde con el modelo de Markov. Prob(wn…wl) es el modelo de lenguaje Prob (Om…Ol) viene impuesto (son las condiciones y por tanto no va a afectar al cálculo de la probabilidad que andamos buscando) El objetivo: encontrar la secuencia óptima de palabras dadas unas observaciones

Si Prob (Om…Ol) viene dado, lo que hay que maximizar es el producto :Prob (Om…Ol / wn…w1) · Prob (wn…w1)

que sí depende de la secuencia de palabras.El modelo de lenguaje querrá calcular la probabilidad de una secuencia de palabras:

Prob (wn…wl)

Si el reconocedor es de baja calidad, o no es lo suficientemente bueno, nos podría dar estimaciones incorrectas. Y es aquí donde un buen modelo de lenguaje puede servir como herramienta para compensar los fallos del reconocedor. Si se posee un buen modelo de lenguaje, podremos determinar la probabilidad de que a una palabra le sigan otras, y esto puede ayudar a que el sistema reconozca mejor.

Ejemplo:

Es posible que un sistema de reconocimiento entienda “lo casa” y devuelva como resultado

que la probabilidad de que el locutor haya dicho “lo casa” es mayor que la probabilidad de que la

secuencia emitida de palabras haya sido “la casa”:

Prob (“lo casa”) > Prob (“la casa”)

Sin embargo, si se dispone de un modelo de lenguaje razonablemente bueno, tendríamos que

“lo casa” en castellano, no es una secuencia que aparezca de manera frecuente, y en consecuencia, lo

E.T.S.I. Telecomunicación (U.P.M.) 38

Page 39: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 2. Estado de la cuestión

que devolvería el sistema es que la secuencia de palabras “lo casa” es mucho más improbable que la

secuencia de palabras “la casa”

Prob (“lo casa”) << Prob (“la casa”)

Ejemplo 2.12

Utilizando los modelos estocásticos hemos comprobado cómo, a pesar de que inicialmente la secuencia que el sistema iba a determinar cómo la óptima era incorrecta. Gracias al modelo de lenguaje, puede hacerse una pequeña corrección y finalmente optar por la secuencia correcta de palabras.

2.3.6 Paralelismo con la realidadA modo de concluir este apartado, y con el fin de ilustrar de manera más intuitiva la ventaja que

puede suponer el modelo de lenguaje para un sistema de reconocimiento hemos querido hacer uso del siguiente paralelismo que se puede establecer con un caso real:

¿Qué ocurre cuando escuchas un lenguaje desconocido?

Cabe plantearse dos situaciones:Si el lenguaje se parece al que conoce el locutor, por ejemplo, el italiano, el modelo acústico no

será demasiado malo. El problema se encuentra en que el modelo de lenguaje resulta desconocido: el locutor no tiene conocimiento acerca de qué palabras hay en italiano (vocabulario), ni cómo se combinan (gramática). El resultado final del reconocimiento, nunca podrá ser demasiado bueno…(se limitará a “entender” algunas palabras sueltas)

No obstante, las circunstancias podrían ser mucho más desfavorables. En cierta medida, el italiano guarda cierta similitud con en castellano, y en este sentido, es mejor que el chino, donde al locutor le resultaría ininteligible tanto el lenguaje, como los sonidos.

Un locutor cuya lengua es el castellano, situado en un entorno donde también se habla castellano…Si nos vamos al caso del castellano, tenemos un buen modelo acústico y de lenguaje. Pero ¿qué

ocurre en entornos donde hay mucho ruido? En este tipo de situaciones es bastante complejo mantener una conversación. En lugares donde hay mucho ruido, “entendemos mal” las palabras, y sin embargo, con unas pocas palabras que se interpreten correctamente, el ser humano es capaz de reconstruir la frase completa que fue emitida por el locutor; esto es posible gracias a que se dispone de un buen modelo de lenguaje. De aquí podemos extraer la siguiente conclusión:

todo conocimiento del lenguaje nos va a ayudar a reconocer mejor (tanto a los humanos, como a

las máquinas)

Dicho esto queda reflejada, en cierta medida, parte de la importancia y utilidad de este proyecto fin de carrera que venimos desarrollando.

E.T.S.I. Telecomunicación (U.P.M.) 39

Page 40: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Capítulo 3Capítulo 3 RobintRobintEn este capítulo presentaremos el contexto donde queda enmarcado el proyecto fin de carrera que

venimos desarrollando: “proyecto ROBINT”. En primer lugar daremos una visión general, para después proceder a una descripción del origen, evolución y estado actual del mismo.

3.1 Visión General

El proyecto ROBINT (DPI2004-07908-C02-02) es continuación del proyecto URBANO que contempla, la “Integración de Robots Autónomos en la Sociedad mediante el Uso de Nuevas Tecnologías: DPI2001-3652-C02”.

Se trata de un sistema para el acceso personalizado a lugares públicos, y una interacción fluida con la información y con otros ciudadanos allí presentes. Es una forma de fomentar la integración en la sociedad de técnicas relacionadas con la automática, mediante el uso de nuevas tecnologías de la información. El objetivo global es que ROBINT sirva de guía en el Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia.

Se trata de un proyecto que se enmarca dentro del área de la Tecnología del Habla. La institución responsable del mismo es la Universidad Politécnica de Madrid, y más concretamente, el departamento de Ingeniería Electrónica de la Escuela Técnica Superior de Ingenieros de Telecomunicación. El grupo de investigación que asume toda la relevancia del proyecto es el Grupo de Tecnología del Habla (GTH), y como investigador principal citaremos al Dr. Juan Manuel Montero Martínez  [email protected]. Como todo proyecto de investigación, necesita disponer de fuentes de financiación. En el caso que nos ocupa es el Ministerio de Educación y Ciencia (MEC) el que se encarga principalmente de suministrar los fondos y el capital necesarios. El proyecto comenzó a desarrollarse el 13 de diciembre de 2004, y se estima que la duración será de tres años (hasta 13 de diciembre de 2007). Durante este periodo, el objetivo global debiera ser profundizar en el modelado e implementación de comportamientos inteligentes en robots-guía, lo cual está íntimamente ligado al modelado de emociones y diálogo, síntesis, reconocimiento y comprensión automáticos de habla. Por último, este proyecto abre las puertas a dos líneas de investigación que, en la actualidad, cuentan con amplias perspectivas de futuro y están experimentando un notable impulso en los últimos años: por un lado, el interfaz hombre-robot, y por otro, el comportamiento cognitivo y el aprendizaje.

3.1.1 DescripciónSi por robot interactivo entendemos aquellas máquinas programadas para navegar, dialogar,

razonar, aprender y sobrevivir en entornos casi humanos, se hace necesario que un robot de este tipo se vuelva consciente de sus estados mentales. Además, su conocimiento sobre el entorno circundante debería combinarse de manera adecuada con la información recibida a partir de sus sistemas de percepción, con el fin de que sean capaces de operar en entornos humanos, llevando a cabo tareas sociales útiles como:

- robots instructores (en museos y colegios)

Fig3.1: RT El Robot Profesor

E.T.S.I. Telecomunicación (U.P.M.) 40

Page 41: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Fig.3 2: Blacky. Robot interactivo para ferias. UPM-DISAM-GTH

- robots de entretenimiento (en parques de atracciones…)

Fig. 3.3 Emiew (Excellent Mobility and Interactive Existence as Workmate) de Hitachi

- robots de compañía (en el hogar o en hospitales)

Fig. 3.4 Philips Smart Companion

Ya existen prototipos de robots interactivos, algunos de ellos incorporan una cabeza que muestra expresiones y poseen la capacidad de comunicación “hablada”, pero carecen de estructuras cognitivas.

Los grupos de investigación solicitantes de este proyecto, desarrollaron dentro del proyecto URBANO (CICYT 2002-2004) un robot guía para ferias y museos. Se pretende incorporar en esta plataforma los comportamientos sociales necesarios para interactuar adecuadamente con los humanos en el desarrollo de las misiones asignadas. Se trata, por tanto, de un campo de aplicación innovador, donde

E.T.S.I. Telecomunicación (U.P.M.) 41

Page 42: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

los avances científicos y tecnológicos que se alcancen pueden aportar ventajas competitivas a las empresas interesadas en hacer uso de los resultados del proyecto.

3.1.2 Definición del sistemaA continuación vamos a enumerar aquéllas características mediante las cuales puede quedar

definido el sistema:1. Movilidad: El sistema se compone de un cuerpo artificial que da al robot cierta capacidad de

movimiento2. Autonomía: entendemos por «autonomía» que el robot posea cierto nivel de inteligencia.3. Interacción con el exterior: es posible interaccionar con el robot a través de Internet y de

manera presencial. Además, el lenguaje hablado será un método para operar con él.4. Usuarios: cualquier persona puede interactuar con el robot; concretamente, los usuarios a los

que va dirigido el proyecto son: ciudadanos con condicionantes especiales necesitados de integración social, personas de negocios que por motivos de economía o tiempo se decantan por hacer una visita virtual, y empresas públicas y privadas, o ciudades españolas en su conjunto, que desean difundir su bagaje cultural o educativo.

5. Innovación: En lo que se refiere a la interacción hablada, este proyecto desarrolla nuevas líneas tecnológicas no previstas anteriormente para la mejora de la interacción hombre-robot en el sistema de visita presencial o remota con ayuda automática.

6. Módulos: el sistema se compone de una serie de módulos que permiten implementar las siguientes funciones:

- Navegación: control reactivo y SLAM20 basado en láser de proximidad.-Web: control del robot para la realización de visitas remotas.-Habla: reconocimiento y síntesis de voz, gestión de diálogos.-Cabeza: expresión de emociones-Kernel: coordinación de los módulos y gestión de las comunicaciones.-Inteligencia: toma de decisiones y gestión de comportamientos del robot.

3.1.3 ImplementaciónAgrupados por líneas de investigación, entre los objetivos del proyecto cabe reseñar los

siguientes: Navegación: mejora del método de localización y modelado simultáneos (SLAM), extensión del algoritmo a objetos geométricos que no sean necesariamente segmentos, fusión de las estimaciones probabilísticas actuales con información posibilística suministrada por un navegador cualitativo basado en lógica borrosa, y fusión sensorial para la extensión de la navegación actual 2D a una navegación 3D. Consciencia y Emociones: desarrollo de modelos de consciencia, diseño de una metodología de desarrollo y su implementación. Generación de modelos de emociones del robot, como reacción ante eventos de entrada Conocimiento: modelado del conocimiento sobre el que el robot “trabaja” (presenta, enseña, explica) y sus interrelaciones; modelado del conocimiento “social” necesario para interactuar con su entorno Diálogo: mejora de la síntesis de una voz adecuada para un robot que incluya emociones; reconocimiento de habla continua y procesamiento del lenguaje natural para conseguir una comprensión semántica del diálogo mantenido.

El presente proyecto fin de carrera, se encuentra especialmente enfocado hacia los dos últimos puntos recientemente mencionados: el modelado del conocimiento, y el diálogo.

3.1.4 FinanciaciónEl proyecto ROBINT está siendo financiado por el MEC a través del Plan Nacional de I+D+I

(2004-2007) y por la CAM a través del Programa de becas de aprovechamiento académico excelente.

20 SLAM: Sistemas de localización y mapeo simultáneos

E.T.S.I. Telecomunicación (U.P.M.) 42

Page 43: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

3.2 Origen

El proyecto ROBINT comenzó en diciembre de 2004 y la fecha estimada de finalización del proyecto es diciembre de 2007.

Surgió como respuesta a la necesidad de mejorar el ya existente robot URBANO de cara a ser utilizado como un robot guía en el “Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia”.

3.3 Evolución

El planteamiento de este trabajo ha surgido de considerar la evolución en el desarrollo de robots y de la tecnología del habla, lo cual ha llevado en los últimos años, a abrir un importante campo de la investigación en la creación de robots personales, capaces de interaccionar de forma más cercana con el hombre, e incluso de incorporarlos en ambientes cotidianos y cercanos al hombre, como puede ser el doméstico, el lugar de trabajo, etc. Incluso, se ha planteado la posibilidad de que estos robots sean capaces de realizar tareas tradicionalmente abordadas únicamente por humanos.

Este nuevo campo de aplicación de los robots será completamente viable, únicamente si se logra una comunicación óptima con los humanos. Esto tiene una doble implicación:

1. estudiar nuevas técnicas de interacción y nuevos métodos de Comunicación2. mejorar la eficiencia de los ya existentes

Para que los robots sean aceptados en los entornos humanos, los niveles de comunicación o de interacción deben llegar a ser similares a los que aparecen en cualquier comunicación humano-humano cuando se mueven en ambientes domésticos o más cercanos. Una base importante de esa comunicación se basa sin duda en el lenguaje hablado.

Este Proyecto Fin de Carrera, pretende ser consecuente, o, una cierta forma de respuesta, a la época de tránsito que estamos viviendo en nuestros días. De ahí que, uno de los objetivos del presente trabajo, sea seguir el ritmo de evolución de uno del los campos de la tecnología que recientemente están experimentando uno de los mayores impulsos.

3.3.1 Robots socialesComo ya se ha indicado anteriormente la evolución de la robótica ha llevado en los últimos años

a intentar introducir los robots en el ámbito más cercano del hombre. Se denominan robots sociales o sociables aquéllos que presentan las características necesarias para que el acercamiento al hombre resulte lo más natural posible. El hombre, como ser social, suele aplicar modelos sociales para explicar, comprender y predecir el comportamiento de lo que le rodea, y ello justifica, en cierta medida, la necesidad de tener robots sociales o sociables. Tradicionalmente el término robots sociales se aplicaba a sistemas multirrobot en los cuales la motivación procedía del comportamiento colectivo de seres vivos tales como insectos, pájaros, peces, etc. No obstante, ahora, el concepto de “lo sociable” ha migrado hacia la distinción entre estilo antropomórfico y la interacción hombre-robot. Este uso más moderno del término social está más ligado al comportamiento social antropomórfico, pero mantiene el término “sociable” para designar a una subclase dentro de los robots sociales.

Es frecuente que cuando una persona observa e interactúa con un robot autónomo, aplique un modelo social. Un robot autónomo es capaz de percibir su entorno, tomar decisiones por sí solo y desarrollar acciones destinadas a llevar a cabo la tarea asignada. Como los seres vivos, su comportamiento es fruto de la combinación entre su estado interno y las leyes físicas. Un comportamiento orientado a sí mismo, unido a rasgos característicos de una criatura viva tales como la habilidad de comunicarse, cooperar y aprender de las personas, conducen a un intento de aplicar modelos antropomórficos, es decir, atribuirle características humanas o animales. En esta línea, el robot Urbano puede considerarse un robot social puesto que se trata de un robot autónomo al que se le ha aplicado un modelo social con vistas a interactuar con él y comprenderlo.

Si bien es cierto que, tanto el campo de los robots sociales, como su diseño son relativamente nuevos, ya existe una clasificación. A medida que se avanza en esta clasificación, uno se da cuenta de que cada vez los robots poseen mayores habilidades para soportar el modelo social en entornos y

E.T.S.I. Telecomunicación (U.P.M.) 43

Page 44: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

escenarios más complejos, asemejándose al entorno social humano y al tipo de interacción humana cara a cara:

Socialmente evocador: tienen la finalidad de interaccionar con las personas haciendo que éstas les asocien características humanas. Ejemplos: juguetes o juegos para computador o consolas. Socialmente comunicativo: por medio del uso de signos sociales humanos y modalidades de comunicación hacen que la interacción resulte más natural y familiar.

Ejemplos:

robots avatar (dotados de la suficiente inteligencia social como para transmitir apropiadamente los mensajes de unas personas a otras, complementado con la mirada, los gestos, la expresión facial, etc.)

robots guía de museos: Utilizan el habla para comunicar la información y se tiende a la inclusión de expresiones faciales.

El robot Urbano pertenece a esta clase de robots. El modelo social que tiene el robot de las personas es poco profundo, puesto que sólo se dispone de una interfaz para valorar el comportamiento social, y actualmente, su comportamiento es “pregrabado”.

Socialmente activo: robots que aprenden de la interacción con la gente a través de la demostración por parte de algún humano. La interacción con las personas afecta a la estructura interna del robot (reorganizando el sistema motor para desarrollar nuevos gestos, asociando etiquetas simbólicas a nuevas percepciones, etc.). Esta clase de robots tiende a dar más importancia a la percepción de pistas o signos sociales, permitiendo enriquecer la manera en que las personas entienden su comportamiento. Sin embargo, son socialmente pasivos respondiendo a los esfuerzos de la gente por interaccionar con ellos pero no considerando a las personas de modo que éstas puedan satisfacer sus propios fines. Sociable: los robots sociables son criaturas socialmente participativas con sus propios fines y motivaciones internos. Interaccionan con las personas activamente de un modo social no sólo para beneficiar a la persona (ayudándola a realizar alguna tarea, facilitando la interacción con el robot, etc.), sino también buscando su propio beneficio (buscar su supervivencia, mejorar sus propias acciones, aprender de los humanos, etc.). La interacción social con la gente no se valora únicamente como una interfaz, sino que se considera en un nivel funcional.

El proyecto ROBINT es, en cierto modo, un intento por conseguir un robot sociable. La misión consiste en adaptar el comportamiento de Urbano para que sea capaz de desarrollar una tarea específica. Se pretende lograr una criatura robótica que pueda interaccionar física, afectiva y socialmente con los visitantes de un museo de ciencias.

E.T.S.I. Telecomunicación (U.P.M.) 44

Page 45: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Fig.3.5: Cara del Robot URBANO Fig.3.6: Robot URBANO

Sus habilidades y mecanismos, le servirán para desenvolverse en un entorno social complejo, sintonizar sus respuestas con las de los humanos y mostrar cómo es posible la interacción o comunicación con los humanos.

Entre sus habilidades cabe destacar:- dirigir su atención: “Atiende ahora”

- establecer una referencia común con la persona con la que está interactuando,

- proporcionar una realimentación legible y expresiva

Locutor: ¿Quién eres tú?

Urbano: He sido diseñado para ser guía. Soy una mente artificial.

- reconocer realimentaciones expresivas tales como elogios o insultos

Locutor: Eres un imbécil

Urbano: Estúpido

3.3.2 Interacción Hombre-RobotLa incorporación de robots en ambientes humanos, más cercanos al hombre, exige dotar a éstos

de mecanismos que les permitan una interacción bidireccional. Bajo el apelativo de bidireccional entendemos que el robot sea capaz de reconocer los signos implícitos del humano, y que el humano sea capaz de reconocer y distinguir en el robot los signos “normales” que un humano mostraría como reacción a la información intercambiada. Para que los robots sean aceptados dentro de nuestra sociedad, la comunicación hombre-máquina debe resultar inteligible y natural. En los robots de servicios, se ha

E.T.S.I. Telecomunicación (U.P.M.) 45

Page 46: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

venido desarrollando la comunicación explícita, es decir, mecanismos de comunicación basados en el lenguaje hablado, que es la principal vía de comunicación entre humanos. A pesar de que no lo vamos a abordar en este proyecto fin de carrera, otro área que resulta esencial para conseguir una interacción realmente efectiva entre los hombres y los robots es la comunicación implícita, que hace referencia a las emociones.

3.3.2.1 Interfaz multimodal

Generalmente, para lograr la comunicación hombre-máquina que acabamos de describir, es necesario contar con dos módulos:

- entrada multimodal : análisis de imágenes y de video (visión), análisis de habla (voz), análisis

de la escritura manual.

- salida multimedia o mecánica : síntesis de voz, de imágenes, de gráficos por computador y de

animación

Hasta hace relativamente poco, “la ciencia de los robots”, estaba muy limitada al ámbito de la literatura o la ciencia ficción. Sin embargo, asistimos en nuestros días a un bombardeo de noticias acerca del impulso que se les está dando a lo que se ha venido a denominar “robots personales”, capaces de interaccionar de forma más cercana al hombre.

A día de hoy contamos con más de 850.000 robots en todo el mundo de los cuales el 42% se ubica en Japón. Concretamente en España, con sus 22.000 robots en funcionamiento, ocupa el séptimo lugar en el ranking mundial; sin embargo, se estima que la sociedad actual hace una infravaloración de este hecho; considera que España no es consciente del desarrollo de esta tecnología.

3.3.2.2 En términos económicos

Se trata de una tecnología cuyos costes han caído más de un 78% en los últimos años.El sector de la robótica industrial factura 4.000 millones de dólares en todo el mundo, y en el

ámbito industrial, los robots han alcanzado una posición muy competitiva.

3.3.2.3 Aplicaciones

Este proyecto se incluye en el marco de uno de los sectores considerados como los de mayor futuro:

robots de servicios : para mejorar la calidad de vida de las personas o mejora de las infraestructuras y/o equipos (negocios (puntos de venta automáticos), servicios públicos (monitorización de sistemas en zonas públicas))

domótica : comienzan a suscitar interés los sistemas de automatización de viviendas que permiten controlar de forma continua las condiciones del entorno (temperatura, intensidad lumínica, humedad)

construcción : grúas robotizadas para el transporte y ensamblado de pilares; robots de soldadura y compactado de cemento.

Alimentación : es frecuente el empleo de robots para tareas que entrañan mucha complejidad o peligro para el ser humano. (véase el despiece de carne en la industria cárnica)

Medicina : la robotización ha conseguido evitar la cirugía tradicional en algunos casos y reducir el tamaño de las incisiones realizadas en algunas intervenciones quirúrgicas de 40cm a 12mm. (Las áreas más activas de la robótica giran en torno a la laparoscopia y la endoscopia)

Educación : la línea que sigue la futura educación es la del aprendizaje basado en Internet o aprendizaje on-line. La integración de interfaces multimodales podría permitir la aparición de nuevos sistemas capaces de “comprender” los sentimientos de los estudiantes así como su grado de interés, aburrimiento, perplejidad, mientras están estudiando una lección o respondiendo a una pregunta. De esto se deriva que la impartición del conocimiento esté cada vez más adaptada a las necesidades concretas de los estudiantes.

E.T.S.I. Telecomunicación (U.P.M.) 46

Page 47: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Entretenimiento : todo aquello relacionado con la industria de los juguetes y juegos. Conseguir que la comunicación resulte cada vez más natural y sencilla.

Energía : los miembros de la Escuela Técnica Superior de Ingenieros Industriales (ETSII) han trabajado en el uso de robots para llevar a cabo reparaciones y tareas de despliegue de tendidos de alta tensión.

3.3.2.4 Pronóstico

Algunos piensan que el sector no va a experimentar crecimientos espectaculares en los próximos años, pero sin embargo es innegable que se van a producir importantes crecimientos en lo que podríamos llamar la robótica de servicios, la cual, presenta un potencial de crecimiento valorado en el 400% y tiene una tasa de crecimiento anual del 200%.

Muchas son ya las empresas que ven en la robótica una “tecnología fundamental” que puede aportarles importantes ventajas competitivas. Un grupo constituido por expertos en robótica y automatismos de diferentes universidades, instituciones científicas y empresas, ha elaborado un documento donde se resumen en cuatro las ventajas fundamentales que puede suponer la automatización y la robótica a ciertas compañías dedicadas a las manufacturas:

1. más productividad: se reduce el tiempo necesario para completar ciertas operaciones (soldadura, pintura, ensamblado de productos)

2. más flexibilidad3. mayor calidad4. aumento de la seguridad en los entornos de trabajo

3.3.2.5 Algunos ejemplos

La industria de la robótica ha alcanzado tal grado de desarrollo que hoy podemos hablar de la existencia de una clasificación de robots:

- mascotas capaces de caminar por sí mismas y obedecer a sus amos

Fig. 3.7 AIBO Perro-robot de SONY

- robots de seguridad, vigilancia y exploración

Fig. 3.8 Para solucionar de alguna manera la infiltración de palestinos Israel pondrá en guardia unos vehículos robot de

vigilancia.

- robots de atención o guías

E.T.S.I. Telecomunicación (U.P.M.) 47

Page 48: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Fig 3.9 Robot Enon Fig 3.10 Robot URBANO

Diseñado por Fujitsu para atender Diseñado por la UPM para ser guía en

a los clientes de un supermercado el Museo de las Artes y las Ciencias de

Valencia

- humanoides de conversación; concretamente, esta serie está constituida por “bípedos de

apariencia humanoide, que incorporan inteligencia artificial”. Entre sus características podemos

citar:

- capacidad para razonar y conversar sobre cualquier tema

- obedecer órdenes por voz

- visión artificial

- reconocer objetos que previamente han memorizado

- están programados para “sentir curiosidad”, lo que les lleva a preguntar y a dotarse de

un conocimiento acerca de las reglas de conducta combinado con la capacidad de aprendizaje.

Fig. 3.11 Aspecto de un robot humanoide de conversación.Empresa Fantasía y Robótica

Como podemos comprobar, esto raya cada vez más la frontera entre “lo humano y lo artificial”

3.4 URBANO

El Robot Urbano es el resultado de varios años de investigación del departamento de automática, ingeniería electrónica e informática industrial de la Universidad Politécnica de Madrid (UPM).

3.4.1 Objetivo GeneralEl objetivo general es introducir el uso de robots como guías en ferias y museos. El robot va a

interaccionar dentro de una feria o museo en el que hay una multitud de visitantes. Se trata de conseguir que los asistentes tengan una experiencia única, compartiendo un entorno con robots inteligentes, y que exista la posibilidad de una interacción entre los hombres y las máquinas.

La misión del robot es la de guiar a los visitantes explicándoles parte de la exhibición. La mayor dificultad radica en que la comunicación debe resultar intensa y fascinante para las personas. Lo ideal

E.T.S.I. Telecomunicación (U.P.M.) 48

Page 49: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

sería que el robot fuera capaz de convertir un recorrido por el estado del arte de la tecnología en una experiencia, no sólo grata para el visitante, sino a su vez enriquecedora. Como guía, el robot debe saber cuándo resulta oportuno maximizar el flujo de información hacia los visitantes, y cuándo es más conveniente realizar una restricción de la información.

3.4.2 ¿De dónde partimos?El robot está compuesto por varios sistemas Hardware y Software. El elemento básico es la

plataforma robótica modelo B21-R desarrollada por la empresa iRobots. Además de un cinturón de sensores de ultrasonidos, dispone de sensores infrarrojos. El proyecto ROBINT pretende mantener la estructura mecánica de URBANO e incorporar las modificaciones básicamente orientadas a la componente Software. A día de hoy, el robot ya cuenta con:

- adaptación de diversos algoritmos que permitan el funcionamiento del sistema

- funcionamiento en tiempo real

- Integración de plataformas PC-Windows y Linux

- Adaptación de algoritmos de habla continua

- Reconocimiento de palabras “clave” en frases

- Una de las últimas incorporaciones que se le han efectuado al robot es dotarle de un

brazo mecánico.

Fig. 3.12 Robot Urbano con su nuevo brazo mecánico.

3.4.2.1 Resultados principales de Urbano

A continuación vamos a citar los aspectos más relevantes de cada una de las fases en las que se puede estructurar el modo de funcionamiento del sistema:

1. Preproceso y modelado

- El sistema debe calcular 12 coeficientes LPC cepstrum; hacer el logaritmo neperiano; calcular 13

coeficientes diferenciales y 13 coeficientes diferenciales cuadrado; por último aplica técnicas

tales como CMN (Cepstrum Mean Normalization) y CVN (Cepstrum Varianze Normalization),

para fijar el nivel de elocución y hacer que el Reconocimiento Automático del Habla (ASR)

resulte más robusto frente a las posibles perturbaciones procedentes del canal y del ruido.

E.T.S.I. Telecomunicación (U.P.M.) 49

Page 50: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

- Se emplean modelos ocultos de Markov (CD continuous HMMs) entrenados con HTK21.

- Se recogen múltiples pronunciaciones en el diccionario

2. Búsqueda: primer paso

- One pass beam search (con dos umbrales por estado y último estado). Partimos de un sistema en

el que se ha conseguido reducir el espacio de búsqueda al 18%

- Bigram LM guiado: En una primera etapa, las agrupaciones se hacen de dos en dos (bigramas).

- Entrega de puntuación bajo petición: es la forma de ir asignando probabilidades a las palabras

para posteriormente tomar una decisión acerca de qué es lo que ha dicho el emisor.

- Uso de modelos de “no habla”: contemplan ruidos de fondo, de labios, etc.

- Cálculo de n hipótesis

3. Búsqueda: segundo paso

- Se pueden volver a calcular las puntuaciones pero esta vez se emplea un modelo de lenguaje

basado en trigramas dependientes de la tarea y pesos de penalización entre palabras

4. Capacidad de proceso

- Estamos ante un sistema capaz de llevar a cabo tareas de habla continua en tiempo real.

- Se cuenta con vocabularios de más de 1000 palabras.

[Informe proyecto Urbano 2003, Pardo et al.]

3.4.2.2 Otras cuestiones de índole práctica

Integraciones- Se dispone de un conversor texto-voz ya integrado en el sistema, así como de un sintetizador de

formantes y de todo un conjunto de algoritmos de voz integrados en un demostrador piloto.

Experimentación- Se han llevado a cabo una serie de experimentos de síntesis de emociones por dos métodos:

síntesis por formantes y copy-synthesis

- El reconocedor es independiente del locutor, está basado en modelos continuos de Markov, y su

tasa de éxito supera el 96%

- Ya se ha realizado una primera batería de pruebas de funcionamiento “in situ”

Desarrollo- El robot cuenta con un vocabulario de aplicación adaptado al museo donde se llevó a cabo la

prueba inicial. También hay desarrolladas una serie de herramientas de generación de vocabulario

3.4.2.3 Transferencia

Hoy en día contamos con prototipos muy avanzados y próximos a la transferencia al entorno

económico y social

21 HTK: es la herramienta empleada para el entrenamiento del reconocedor cuando se recurre a modelos ocultos de Harkov (HMMs)

E.T.S.I. Telecomunicación (U.P.M.) 50

Page 51: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

A pesar de que la principal empresa receptora en el momento en que estaba vigente el proyecto

URBANO22 era CACSA, hoy asistimos a un mayor interés por parte de otras muchas empresas

puntero en tecnología. Las posibilidades en otros entornos van ampliando progresivamente sus

horizontes.

3.4.3 LocalizaciónUno de los temas que se aborda dentro del campo de la robótica móvil es el de la localización. La

localización de robots móviles consiste en determinar la posición y la orientación del robot dentro de un ambiente. Algunas técnicas utilizan mapas concretos conocidos a priori por el robot; en estas técnicas el robot utiliza sensores para ayudarle a estimar su posición dentro de un marco de referencia. Otras técnicas más actuales tratan de estimar la posición del robot móvil dentro de su entorno mientras se va creando un mapa del ambiente, estas técnicas son conocidas como SLAM (Simultaneous Localization and Mapping). En el caso que nos ocupa, la localización se realiza por medio de un sensor láser situado en el cuello del robot, modelo LMS-200 de la compañía SICK.

3.4.4 Consideraciones importantesAlgunos de los aspectos más relevantes del robot son:

Dispone de un sistema automático de recarga de baterías reconocimiento y capacidad de movimiento por su entorno evitar obstáculos Capacidad para hablar y entender ciertas frases Dispone de una amplia base de datos para guiar visitas conversión de ficheros texto-voz mediante un sintetizador sensores que permiten al robot detenerse frente a los experimentos científicos y explicarlos sin

que medie la intervención humana. Siente curiosidad por aprender e “intenta superarse” Existe la posibilidad de conectar con el robot a través de Internet para realizar una visita

virtual.Uno de los trabajos que aquí hemos desarrollado consiste en, a partir del estudio de diversas

situaciones que con frecuencia se dan dentro del ámbito de un Museo de Ciencias, extraer un modelo de lenguaje que facilite la tarea de reconocimiento del robot, y sea la base de una interacción efectiva entre el hombre y el robot.

3.4.5 Dominio de ROBINTEn este apartado hemos querido recoger una propuesta de un análisis orientado a objetos del dominio

del robot. En aras de dar una primera clasificación de objetos podríamos distinguir dos tipos:

3.4.5.1 Objeto genérico

Este concepto engloba cualquier objeto sobre el que ROBINT podría hablar y ser preguntado. Todo objeto genérico será referenciado a partir de su nombre. El nombre será la denominación del objeto, aquello que nos va a permitir distinguirlo del resto. El nombre sirve para identificar de forma fácil y rápida aquéllos conceptos que pertenecen al dominio del conocimiento del robot. Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados

22 Abril 2004

E.T.S.I. Telecomunicación (U.P.M.) 51

Page 52: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras23:

- sinonimia (Es-un-)- antonimia (es-un-no-)- holonimia/meronimia (tiene-un, es-parte-de)- hipernimia/hiponimia (Forma-parte-de, está-compuesto-por)

3.4.5.2 Objeto comentable

Alude de nuevo al concepto de objeto genérico sobre el que ROBINT podría hablar y ser preguntado, con el matiz de que se trata de un objeto al que el robot se puede dirigir. Entre los principales atributos de este tipo de objetos, cabe mencionar:

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos.

Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras. Relaciones Posicionales24: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno.Ejemplo:

este objeto está encima de este otro, está debajo, a la derecha, a la izquierda…Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas del tipo:

“¿Para qué sirve la palanca de la derecha?” o“¿qué representa la figura que está a la izquierda del botón rojo?”

Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

23 Que no procede explicar ahora, puesto que para ello se ha reservado buena parte de otro capítulo.24 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería

E.T.S.I. Telecomunicación (U.P.M.) 52

Page 53: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Exposición: Una exposición (un museo, una feria…) va a ser el entorno donde se va a desenvolver el robot. Un posible planteamiento sería configurar una exposición como un conjunto de puntos visitables. A continuación, unas breves puntualizaciones acerca de los aspectos más importantes que podría presentar una exposición:

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras, ya mencionadas. Mapa-3D: tomando una exposición como una sucesión o conglomerado de puntos visitables, podríamos pensar en asociar un mapa en 3 dimensiones que ilustrase gráficamente cómo es la exposición: qué puntos la componen, cómo están éstos distribuidos, posibles itinerarios…

Relaciones: Además de las relaciones semánticas, en una exposición cabría contemplar un espectro mucho más amplio de posibles relaciones atendiendo a distintos criterios:

- Conjunto de puntos de visita

- Exposiciones previas

Etc…

3.4.5.3 Punto de visita

bajo este concepto aludiremos a un conjunto conexo de paneles horizontales o verticales, que comentar. Los puntos de visita también contarán con un conjunto de rasgos o características donde cabe destacar:

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras, ya mencionadas. Relaciones Posicionales25: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno

Ejemplo:este objeto está encima de este otro, está debajo, a la derecha, a la izquierda…

Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas del tipo:

“¿Para qué sirve la palanca de la derecha?” o“¿qué representa la figura que está a la izquierda del botón rojo?”

Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está

25 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería

E.T.S.I. Telecomunicación (U.P.M.) 53

Page 54: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

Esta información relativa a las coordenadas podría resultar muy útil a la hora de establecer asociaciones por ejemplo entre puntos de visita, objetos comentables y acciones que debería llevar a cabo el robot cuando se aproximase a un punto de visita. Así, podría conseguirse que el robot denotase ciertos “rasgos de inteligencia” si fuese capaz de señalar objetos mientras habla, orientarse en el espacio y ubicar aquello que le rodea.

Panel: de aquí en adelante el panel será un conjunto de ítems. Los paneles son los elementos que

pueden constituir los puntos de visita y de los cuales se pueden hacer comentarios. Los paneles se van a

caracterizar por:

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras. Relaciones Posicionales26: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno.

Ejemplo:este objeto está encima de este otro, está debajo, a la derecha, a la izquierda…

Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas del tipo:

“¿Para qué sirve la palanca de la derecha?” o“¿qué representa la figura que está a la izquierda del botón rojo?”

Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

26 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería

E.T.S.I. Telecomunicación (U.P.M.) 54

Page 55: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

Tipo: horizontal o vertical

Fig 3.13 Es posible hacer la distinción entre dos tipos de paneles: verticales y horizontales

Orientación relativa: otra peculiaridad de los paneles será el cómo estén orientados dentro del punto de visita

Fig 3.14 Los paneles pueden diferir según su orientación relativa

Ítem: objeto que ROBINT puede comentar, sobre el cual el visitante puede preguntar.

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras.27

Relaciones Posicionales28: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno.29

27 Sinonimia, Antonimia, holonimia/meronimia, hipernimia/hiponimia28 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería29 Ver ejemplo anterior

E.T.S.I. Telecomunicación (U.P.M.) 55

Page 56: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas acerca de las posiciones relativas que ocupan los objetos. Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

Posición relativa: análogamente a cómo introdujimos en el caso del panel la orientación relativa dentro del punto de visita, aquí haremos mención del concepto de “posición relativa”. Un mismo panel puede contener varios ítems. En este sentido, el lugar que ocupa un ítem dentro de un panel podría ser clave para distinguirlo del resto Tipo: otro atributo que cabe destacar para los objetos que estamos tratando es que podemos disponer de una clasificación o tipología de los mismos. Un ejemplo

- Texto 1D: Rótulo, título...

- Texto 2D:

- Elemento 2D: Cuadro, Pantalla, dibujo...

- Elemento accionable: Botón, Palanca

3.4.5.4 Itinerario de una visita

Sin dejar a un lado la función de ROBINT como robot guía, no podía faltar disponer de un “itinerario de una visita” que viene a representar un conjunto ordenado de puntos de visita, sin salirse de la exposición.

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras 30que seguirán apareciendo también junto al concepto de “itinerario de una visita”. Desde el punto de vista del significado, y de cara al diseño de la exposición es importante remarcar la presencia de este tipo de relaciones, dado que, al recorrer un itinerario, las posibilidades de relacionar unos conceptos con otros podrían verse ampliadas en gran medida.

30 Sinonimia, Antonimia, holonimia/meronimia, hipernimia/hiponimia

E.T.S.I. Telecomunicación (U.P.M.) 56

Page 57: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Conjunto de puntos de visita: un itinerario lo que pretende es establecer un orden para recorrer distintos puntos de visita. Cabría plantearse dotar a ROBINT de un itinerario para que llevase a cabo una visita guiada, de manera que el robot fuese capaz, no sólo de dar un pequeño discurso acerca de cada punto de visita, sino también de admitir y ser capaz de responder ante preguntas relacionadas con los mismos. Como añadido a todo lo que hemos ido progresivamente exponiendo en las líneas anteriores cabe plantearse otro aspecto que tiene que ver con la asociación entre objetos y estado de los objetos. He aquí tres ejemplos que pudieran resultar bastante representativos de esta nueva idea que queremos transmitir1.) Botón: ítem

estado: presionado?=> El botón es un ítem que además podría estar asociado a una acción concreta como es la acción

de presionar. Por tanto podría ser interesante que, al mismo tiempo que se detectase el término botón, se le asociase un estado, es decir, “cómo está” el botón (presionado o no).

2.) Pantalla: ítemestado: encendida? => Análogamente al ejemplo de botón, la pantalla es otro ítem que además podría estar asociado a

la acción de encender. Por tanto una vez que se detectase el término pantalla, cabría preguntarse por su estado “¿encendida?¿apagada?”

3.) Palanca: ítemestado: activada?=> la acción de activar suele estar asociada a objetos tales como palanca. Por esta razón, si palanca

forma parte del vocabulario del robot, debería catalogarse como ítem y además añadirle la propiedad específica de si se encuentra activada o no.

Por otra parte, no todos los objetos de tipo ítem tienen por qué tener asociado un estado. Algunos ejemplos serían:

Teclado: ítem Foto: ítem Mapa: ítem Dibujo: ítem Cuadro: ítem Texto: ítem Sonidos: ítem

Finalmente, señalar que, al igual que algunos objetos de tipo ítem podrían no tener asociado ningún estado, existen también ítems con más de una característica que les pueden ser asociadas: estado, color… Tal es el caso de:

Punto de luz: ítemestado: encendido?color=> un punto de luz se puede clasificar como un ítem, que además se caracteriza porque o bien está encendido, o bien está apagado, y además, este objeto posee la característica adicional del color

Obstáculo: objeto que impide el paso del robot. Una exposición no es precisamente un entorno

completamente abierto donde sólo el robot está presente y goza de completa libertad para moverse por

donde se le antoja. Más bien estamos en el caso contrario: en una exposición lo que hay son objetos,

personas…el robot, a su paso, se encontrará con elementos que posiblemente le van a desviar de la

trayectoria que se hubiera marcado inicialmente para llegar a un destino

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos.

E.T.S.I. Telecomunicación (U.P.M.) 57

Page 58: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras. Relaciones Posicionales31: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno. Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas acerca de posiciones relativas. Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

¿Es conocido?: forma parte del mapa 3D Tipo: Otra posibilidad sería contemplar una posible clasificación de los obstáculos y hablar de que “x es un obstáculo de tipo…”

Algunos ejemplos de obstáculos podrían ser:- Pared- Mesa, Mostrador- Columna- Panel- desconocido: no forman parte del mapa 3D

ROBINT: un aspecto muy importante para que el robot incorpore pequeños rasgos de humanidad

es que el robot se conozca y pueda hablar sobre sí mismo.

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos. Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras. Relaciones Posicionales32: este tipo de relaciones, que no hemos incluido entre los atributos de los objetos genéricos, van orientadas a denotar las posiciones relativas que ocupan los objetos comentables con respecto a otros objetos también presentes en el entorno

31 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería32 Aunque no hayamos profundizado en este tema, he aquí un posible análisis de lo que sería

E.T.S.I. Telecomunicación (U.P.M.) 58

Page 59: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

Ejemplo:este objeto está encima de este otro, está debajo, a la derecha, a la izquierda…

Otro aspecto importante en cuanto a las relaciones posicionales es que nos van a permitir que el robot sea capaz de entender y responder a preguntas del tipo:

“¿Para qué sirve la palanca de la derecha?” o “¿qué representa la figura que está a la izquierda del botón rojo?”

Posición 2D: los objetos comentables ocuparán una posición dentro del plano de la exposición. Además, como robot guía, una de las funciones de ROBINT será la de identificar los experimentos científicos, pararse frente a ellos y explicarlos sin que medie la intervención humana. Por tanto, cabría plantearse una asociación entre los objetos comentables y las coordenadas del punto donde se encuentran situados. Puesto que el robot posee capacidad de desplazamiento y un sistema de reconocimiento de objetos, la información acerca de la posición relativa que ocupan los objetos está disponible y resulta accesible. Limitándonos a un plano, o espacio de 2 dimensiones, podremos hablar de dos coordenadas que bien podrían llamarse:

- Coordenada 1

- Coordenada 2

Tamaño 3D: sin perder de vista que vamos a tratar con objetos reales, y que por tanto ocupan un espacio físico, podremos hablar de una asociación entre los objetos comentables y la posición que ocupan en un espacio tridimensional. El trasladarnos a un espacio de tres dimensiones precisa conocer 3 coordenadas.

- Coordenada 1

- Coordenada 2

- Coordenada 3

Estado emocional: si se pretende que los robots se parezcan cada vez más a los humanos, este es un aspecto clave que debería ser contemplado y desarrollado. En este sentido, el robot dispone de un rostro con ojos, boca y cejas, que le permite gesticular y simular expresiones que suelen ser propias de los humanos (alegría, enfado, tristeza…))

- Normal

- Triste

- Alegre

- Sorprendido

- Enfadado

- Estresado

Fig.3.15 Expresiones faciales de ROBINT

E.T.S.I. Telecomunicación (U.P.M.) 59

Page 60: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

3.4.5.5 Museo

Queremos hacer hincapié de que nos referiremos al museo como institución, no como espacio físico.

Fig.3.16 Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia

Además del nombre, los objetos genéricos podrían tener asociados un conjunto de textos donde apareciesen referencias a los mismos. Con carácter muy generalista podríamos decir que los textos podrían constar de un título o encabezamiento, una serie de comentarios y una descripción de los mismos.

Fig.3.17 Posibles relaciones semánticas para “Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias”

Muy importante es el hecho de que, al margen de las relaciones sintácticas los objetos genéricos también pueden establecer una serie de relaciones semánticas con otras palabras. Estudios avanzados pertenecientes a la rama de la lingüística y la psicolingüística revelan la existencia de hasta 4 posibles tipos de relaciones semánticas entre palabras. La figura 3.17, trata de plasmar esta última idea.

Por último, hacer mención de que ROBINT deberá conocer y ser capaz de emitir algún tipo de comentario acerca de conceptos generales, como por ejemplo:

Ejemplo 3.1 Conceptos generales

E.T.S.I. Telecomunicación (U.P.M.) 60

Page 61: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

3.Robint

E.T.S.I. Telecomunicación (U.P.M.) 61

Page 62: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Capítulo 4Capítulo 4 MultiWordNetMultiWordNetMultiWordNet va a constituir una de las bases que sostiene el desarrollo de este proyecto.

Inspirados en un proyecto de la Universidad de Princeton crearemos una base de datos léxica a modo de ontología, donde quedarán recogidas las palabras que compongan el vocabulario del robot para una exposición en concreto. Se trata de estudiar la validez de un ejemplo de categorización de objetos.

4.1 Presentación

Como uno de los objetivos del proyecto destacaremos la realización de un prototipo de red de palabras. Para ello, nos basaremos en Wordnet [Wordnet 2005]. Las razones que han determinado el empleo de WordNet, y más concretamente MultiWordNet [MultiWordNet 2005], derivan de la necesidad de establecer algún mecanismo que facilite una jerarquización de la realidad en distintas categorías y en este sentido, tanto WordNet, como MultiWordNet constituyen una potente herramienta muy útil en la clasificación de las palabras que constituirán el vocabulario del robot a modo de una ontología.

En este capítulo comenzaremos, en primer lugar, describiendo WordNet, qué es, cuáles son sus características principales, qué aporta la herramienta en sí, y para qué puede resultarnos útil. A su vez, el hecho de emplear MultiWordNet, que se trata de la versión de WordNet en castellano, supone la introducción de nuevos conceptos (psicolingüística, matriz léxica,…) que hemos creído conveniente mencionar y explicar brevemente.

Cabe puntualizar un último aspecto que viene implícitamente dado por la propia naturaleza de MultiWordNet: las relaciones morfológicas. Dado que nos encontramos ante una ontología, en MultiWordNet se ponen de manifiesto distintos tipos de relaciones entre palabras (sinonimia, antonimia, holonimia, meronimia), que también aparecerán descritas en este capítulo, aunque muy someramente, con el fin de no desviarnos demasiado del tema que nos ocupa.

4.2 Introducción a MultiWordNet

Dentro del ámbito de la Inteligencia Artificial, un aspecto importante es la representación del conocimiento. Como formas de almacenamiento de este conocimiento existen las llamadas bases de conocimiento, que no son más que una colección de hechos y reglas mediante las cuales el sistema es capaz de extraer conocimiento que no está almacenado de forma explícita. Una de las disciplinas que trabaja con los conceptos y la estructuración de éstos es la semántica léxica: la cual se concentra en el significado de las palabras. La principal propuesta es de las redes semánticas, en la cual las palabras son definidas en términos de otras palabras con las que se relacionan. Indagando en el campo de la Ingeniería lingüística, las redes semánticas, junto con las ontologías, los diccionarios y los córpora son recursos que se emplean frecuentemente en el PLN.33

El diseño de WordNet está inspirado en teorías psicolingüísticas sobre la organización de la información léxica del hablante. Por ello, la versión de MultiWordNet que se emplea en este proyecto 34

está diseñada como un sistema de redes, esto es, se compone de unidades léxicas y relaciones entre ellas, con el fin de reflejar el modelo de conocimiento léxico-conceptual de los hablantes. El conjunto de palabras se organiza mediante agrupaciones de todos aquéllos términos que comparten un mismo significado

33 En el desarrollo de este trabajo lo que emplearemos será MultiWordNet. No obstante, quizás en algunos puntos resulte más conveniente hablar de WordNet. Dado que MultiWordNet es una evolución de WordNet, a lo largo del capítulo, todo lo que se mencione sobre WordNet, será extrapolable a MultiWordNet.

34 A efectos de este trabajo, hemos considerado la versión MultiWordNet Release 1.39 [MultiWordNet 2005], y concretamente nos hemos centrado en los sustantivos.

E.T.S.I. Telecomunicación (U.P.M.) 62

Page 63: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

La célula básica de MultiWordNet es el synset (synonym set, conjunto de sinónimos). Cada synset representa un concepto lexicalizado. Además, un synset es a menudo descrito por una glosa (gloss) y puede incluso venir acompañado de ejemplos.

Cuadro 4.1 synset + gloss + ejemplo

A raíz del estudio de las asociaciones entre palabras, se optó por dividir las palabras de MultiWordNet en cinco categorías: sustantivos, adjetivos, verbos, adverbios y palabras funcionales. A su vez, cada categoría gramatical sigue una estructura interna diferente:

- los sustantivos se organizan jerárquicamente

- los verbos, en función de las relaciones que guardan las terminaciones

- los adjetivos y adverbios, como hiper-espacios N-dimensionales.

Hasta ahora no se ha encontrado un criterio único para ordenar la información que nos permita definir un único procedimiento estándar. Existen varios procedimientos para organizar la información léxica que consisten en agrupar aquellas palabras que se escriben de la misma forma, o cuyos significados guardan algún tipo de relación entre sí, y ordenarlos en una lista de acuerdo con cierto criterio. Uno de los inconvenientes de ordenar la información en listas es que, cuando éstas se hacen muy largas, la búsqueda de un elemento puede convertirse en una tarea tediosa y que consuma una parte importante de nuestro tiempo35. Hoy en día, la introducción de los ordenadores y las nuevas tecnologías en las tareas de búsqueda hacen de ello un problema menor. Se observa una mayor tendencia hacia la utilización de los diccionarios on-line, que en definitiva son bases de datos que almacenan listas de palabras, y como tales, pueden ser leídas y procesadas por los ordenadores. La ventaja es que el tiempo que tarda un ordenador en recorrer una lista para buscar un término es muy inferior al de un ser humano36. Además, por el hecho de que la información está almacenada en un ordenador, tenemos más posibilidades para convertir las bases de datos de unos formatos a otros, en función de nuestras necesidades o preferencias. De ello deriva el hecho de que, una vez que sabemos que los ordenadores pueden sernos de gran ayuda a modo de diccionarios o “buscadores de palabras” resultaría absurdo limitar la aplicación de estas herramientas como meros “buscadores rápidos de palabras”. El desafío está en sacarles el máximo provecho y pensar en cuántas aplicaciones pueden intervenir. En este sentido, MultiWordNet es una alternativa a los diccionarios convencionales que trata de combinar las tradicionales bases de datos de términos lexicográficos, con los modernos sistemas de computación.

4.2.1 ¿Qué es WordNet? Definición FormalWordNet se puede ver como un sistema electrónico de referencia léxica-conceptual: Fue desarrollado por la Universidad de Princeton como una base de datos léxica para el

inglés

35 Seguramente nos habrá ocurrido alguna vez que, nos encontramos con un término del que desconocemos su significado. Deberíamos consultarlo en el diccionario, pero por falta de tiempo, o por pereza, estimamos que es más oportuno continuar con lo que estemos haciendo en ese momento, sin romper nuestra dinámica de trabajo, y optamos por, o bien tratar de deducir el significado a partir del contexto, o bien posponer la búsqueda de la palabra para más adelante.

36 con ayuda de un ordenador el usuario puede obtener la información deseada casi en el mismo instante en el que ha terminado de solicitarla a través del teclado.

E.T.S.I. Telecomunicación (U.P.M.) 63

Page 64: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Además, se puede considerar también como una base de datos conceptual, estructurada en

forma de red semántica, que contiene nombres, adjetivos, verbos y adverbios. En este

sentido, posee semejanzas con los diccionarios, los tesauros y las ontologías.

"WordNet® is an online lexical reference system whose design is inspired by current

psycholinguistic theories of human lexical memory. English nouns, verbs, adjectives and adverbs are

organized into synonym sets, each representing one underlying lexical concept. Different relations link

the synonym sets."

[WordNet2005]

4.2.2 Características de MultiWordNetLos rasgos distintivos de MultiWordNet pueden resumirse en los siguientes puntos:

Test online: permite hacer uso de las capacidades de MultiWordNet sin necesidad de instalarlo

previamente.

Fácil de Usar: la simplicidad es una de las claves de MultiWordNet que lo convierte en algo

fácilmente accesible y manejable para el usuario.

Opciones de búsqueda avanzadas: las posibilidades de MultiWordNet igualan o incluso superan

las de un diccionario o thesaurus convencional; cuenta con todo un arsenal de posibilidades que

nos permite realizar búsquedas de palabras de múltiples formas.

Para aquéllos conceptos que se expresan de una manera diferente en función de si utilizan la

forma británica o la forma americana, MultiWordNet incluye ambas.

4.2.3 ¿Qué aporta MultiWordNet? ¿Para qué puede resultar útil?

Diccionarios convencionales

Descripciones semánticas (glosa) Deletreado Pronunciación Formas derivadas Etimología Información Gramatical Usos Sinónimos / antónimos

Tabla 1: Diccionarios convencionales (propiedades)

Lo que aporta MultiWordNet

E.T.S.I. Telecomunicación (U.P.M.) 64

Page 65: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Descripciones basadas en conceptos Relaciones psicolingüísticas entre palabras37

Tabla 2: Aportaciones de MultiWordNetMuchas de sus aplicaciones están relacionadas con el PLN: Recuperación y extracción de

información, resumen de textos, desambiguación de palabras…. Hasta el momento, MultiWordNet ya ha sido aplicado en forma de Thesaurus, diccionario, para resolver puzzles, y quizás, lo que más nos concierne a nosotros en este momento: aplicaciones de inteligencia artificial.

MultiWordNet se caracteriza por ser un proyecto que está abierto a todo aquel que pueda hacer alguna aportación de manera que cada vez resulte una base más sólida y potente para investigadores, desarrolladores de software e incluso usuarios no expertos en la materia que deseen hacer uso de sus servicios38. La librería de MultiWordNet es reutilizable al 100%, y ofrece todas las posibilidades de búsqueda de la librería original. Además, cualquier persona está invitada a hacer sugerencias acerca de lo que les gustaría que apareciese en la librería y en lo que se refiere al desarrollo y expansión de MultiWordNet, está sujeto a la demanda de los usuarios.

¿Por qué un sistema abierto?La razón principal era que de esta forma, MultiWordNet, podría ser útil para otras plataformas.

Un sistema abierto ofrece la posibilidad de añadir extensiones, optimizar código e incluir la experiencia de quienes conocen a fondo la base de datos de MultiWordNet.

4.2.4 Arquitectura del sistema

Fig 4.1 Arquuitectura del sistema WordNet39

Archivos de fuentes léxicas: lexical source files

El software: Grinder

La base de datos léxica: WordNet data base

Interfaz: Interface

Tabla 3: Componentes del sistema

37 [adaptado de ITALICA]38 Todo el que lo desee puede añadir trozos de código39 Tomado de [Estrada]http://iling.torreingenieria.unam.mx/0/1erseminario/Ponencias/word%20net.ppt#286,7,Sistema de

WordNet

E.T.S.I. Telecomunicación (U.P.M.) 65

Page 66: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

4.2.4.1 Archivos de fuentes léxicas:

Son aquellos generados manualmente por lexicógrafos, para construir la base de conocimiento. Para generarlos se realiza previamente, un análisis detallado de las relaciones léxico-semánticas que se establecen entre las palabras. Los archivos fuente de partida, se pueden dividir en dos grandes bloques en función de si consideramos el significante (forma) o el significado de las palabras. La forma de las palabras vendrá representada por la propia ortografía de las palabras, y los significados se representarán mediante conjuntos de sinónimos (synsets).

En MultiWordNet, los archivos de fuentes léxicas se van a corresponder con las categorías sintácticas que han sido implementadas (sustantivos, adjetivos, verbos y adverbios). Tal y como aparece planteado, nos encontramos con que, en definitiva, los sustantivos, los adjetivos, los verbos y los adverbios van a estar agrupados dentro de los synsets, y éstos a su vez estarán organizados en los archivos de fuentes léxicas por categorías sintácticas.

4.2.4.1.1 Punteros relacionales Los punteros se van a emplear para representar los dos tipos de relaciones entre un synset y el

siguiente. Los lexicógrafos identificaron las relaciones léxicas y semánticas entre los synsets y las codificaron como punteros relacionales. Muchos de los punteros son reflexivos en el sentido de que si un synset contiene un puntero a otro synset, el otro, debería contener el puntero reflexivo correspondiente en sentido inverso, apuntando al synset original. El grinder es el programa que se va a encargar de generar automáticamente las relaciones para los punteros que falten en los casos que se muestran en la siguiente tabla.

Puntero Elemento reflexivo

Antonimia Antonimia

Hiponimia Hiperonimia

Hiperonimia Hiponimia

Holonimia Meronimia

Meronimia Holonimia

Semejanza Semejanza

Tabla 4: Punteros ReflexivosUn puntero se construye con la palabra lexicalizada del synset de entrada, una coma y el símbolo

que indica la relación deseada. Hay dos tipos de punteros: los punteros léxicos se representan entre las palabras lexicalizadas (word form).

los punteros semánticos: se representan entre synsets (hiperonimia, hiponimia,

meronimia, antonimia, holonimia ).

4.2.4.1.2 Relaciones y símbolos de punteros En la tabla que se muestra a continuación hemos querido recoger los principales símbolos que

denotan las distintas relaciones que pueden darse entre las palabras de MultiWordNet. La tabla está dividida en cuatro columnas, cada una de las cuales se corresponde con una de las categorías gramaticales que han sido implementadas en MultiWordNet: sustantivos (noun), verbos (verb), adjetivos (adjective), y adverbios (adverb). Nótese cómo, si bien los símbolos que representan cada una de las posibles relaciones son independientes de la categoría gramatical, no todas las relaciones son posibles para las cuatro posibles categorías gramaticales.

Nombre Verbo Adjetivo Adverbio

Antonimia ! Antonimia ! Antonimia ! Antonimia !

E.T.S.I. Telecomunicación (U.P.M.) 66

Page 67: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Hiponimia ~ Hiponimia ~ Semejanza & Deriva de \

Hiperonimia @ Causa > Adjetivo Relacional \

Holonimia %

Meronimia #

Tabla 5: Punteros relacionales en WordNet

4.2.4.1.3 Sintaxis del synset En los archivos fuente, por cada línea hay un synset. Cada línea termina con el carácter fin de

línea. Un synset puede ser tan largo como sea necesario, pero no puede contener nuevas líneas entre medias. Para separar los distintos elementos se puede emplear el espacio o el tabulador.

Los strings de los archivos fuente que van a conformar las reglas sintácticas, se tratan como synsets. Cada synset comienza por “{” y termina con “}”, y dentro lo que contiene es una lista formada por una o varias palabras, utilizando la “,” como separador. Para codificar las relaciones semánticas, la lista de palabras va seguida de una lista de punteros relacionales de acuerdo con el siguiente formato:

{ ~~palabras~~punteros~~ ( ~gloss~ )~~}

Cuadro 4.2-Sintaxis general del synset

El identificador del synset puede ir precedido opcionalmente por “filename:” para distinguir aquellos casos en los que una palabra se encuentre en otro archivo diferente

{ can, [ perro, gato,! ] cánido,@ }

{ collie, perro,@ (perro de apariencia despierta e inteligente) }

{ bracco, perro_cazador, camada,#m perro,@ }

{ perro, }

Cuadro 4.3- synsets de sustantivos

4.2.4.2 Interface:

40

En aplicaciones destinadas a presentar información al usuario, se hace imprescindible la existencia de un interfaz que permita el acceso por parte de los usuarios a dicha información, y a su vez,

40 [tomado de http://multiwordnet.itc.it/online/multiwordnet.php] 21/07/06 21:38

E.T.S.I. Telecomunicación (U.P.M.) 67

Page 68: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

mostrarla a través de algún tipo de herramienta basada en un sistema de ventanas o por la línea de comandos.

Fig. 4.2- Interfaz basado en ventanas

Fig. 4.3- Interfaz basado en línea de comandos

El interfaz de MultiWordNet, permite crear las respuestas a las posibles consultas del usuario de manera dinámica. A diferencia de un diccionario tradicional, donde la información queda almacenada de forma fija, en MultiWordNet, la información está almacenada en un orden tal que, para un lector convencional resultaría ininteligible.

Para satisfacer las demandas de los múltiples usuarios, se han definido diferentes interfaces para acceder a la información, sin olvidar que todas ellas se fundamentan en una única base de datos léxica. El interfaz estándar consiste en una aplicación de Windows (X Window application) que se ha ido desplazando a varias plataformas. Aunque éste proporciona la misma salida que si el interfaz se realiza mediante la línea de comandos, el segundo resulta menos vistoso que el primero.

E.T.S.I. Telecomunicación (U.P.M.) 68

Page 69: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

4.2.4.3 Proceso de recuperación de la información:

El proceso de búsqueda de información en MultiWordNet es independiente del interfaz que se esté empleando. El primer paso consiste en localizar la palabra y el archivo de índices al que pertenece. Esto nos permitirá acceder a la lista de las direcciones de los synsets en las que aparece la palabra buscada dentro del archivo. Cada uno de los synsets se procesa; de ellos se extrae la información solicitada y se le da el formato adecuado para, posteriormente conducirla a la salida.

Los interfaces de usuario y otras herramientas de tipo software, se apoyan en una librería de funciones que manipulan la base de datos. Algunas de éstas funciones no resultan demasiado complejas y se centran en realizar una serie de búsquedas, recuperación de la información, aspectos relacionados con la morfología, y en una diversidad de otros aspectos que también dotan de gran funcionalidad al sistema.

4.3 Psicolingüística

Las bases sobre las que están construidos muchos diccionarios estándar son principios históricos, por lo que nadie puede poner en duda aspectos relativos al uso de las palabras o prioridad de los sentidos. Por el contrario, sí son discutibles algunas cuestiones acerca de la organización de la información léxica. En el siglo XX comenzó el despliegue de lo que hoy se conoce como Psicolingüística, que es la disciplina que se centra en las bases del conocimiento en el ámbito de la lingüística. Tanto la lingüística como la psicolingüística han explorado a fondo los factores que pueden ser determinantes a la hora de estructurar el conocimiento de la lingüística en general, y del léxico en particular.

Para dar una definición formal, diremos que se conoce como psicolingüística a la “ciencia encargada del estudio de aquello que concierne al componente léxico del lenguaje”41

Las teorías lingüísticas de las últimas décadas son cada vez más explícitas a la hora de detallar qué información debe incluirse en el léxico para que el conjunto de componentes fonéticos, sintácticos y léxicos hagan factible generar y comprender un mensaje. Basándose en el estudio de estas teorías, los psicolingüistas han ido descubriendo muchos aspectos del conocimiento del léxico, aplicables a la lexicografía.

WordNet es el resultado de un proyecto iniciado en 1985 por un grupo de psicolingüistas y lingüistas de la universidad de Princeton. Su objetivo era desarrollar una base de datos léxica que complementara el diccionario convencional. Dado que WordNet está basado en estudios psicolingüísticos, puede considerarse como un diccionario construido a partir de los principios establecidos por esta disciplina. Lo característico de WordNet es que se combina:

4.4 La Matriz Léxica

Desde el punto de vista léxico-semántico, una palabra es la asociación entre un concepto

lexicalizado y un lexema (utterance), que desempeña una función sintáctica.

Esta definición de palabra deja pendientes de resolver las siguientes cuestiones:

41 adaptado de [WordNet 2005]

E.T.S.I. Telecomunicación (U.P.M.) 69

Page 70: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

1. ¿Qué asociaciones lexema-concepto léxico son válidas? ¿qué tipo de lexemas están

dentro de estas asociaciones? (hay lexemas que carecen de una gran dosis de significado y se limitan a

desempeñar una función sintáctica).

2. ¿Cuál es la naturaleza y organización de los conceptos lexicalizados que pueden expresar

las palabras?

3. ¿Qué funciones sintácticas puede desempeñar una palabra?

Aunque los tres puntos son importantes, MultiWordNet está especialmente enfocado hacia el segundo de ellos, es decir, hacia la estructuración del léxico

Coloquialmente, el término “palabra” hace referencia indistintamente a la palabra en sí (forma, sucesión de símbolos) o al significado. Esto podría dar lugar a confusión, por lo que, con el fin de evitar ambigüedad, vamos a denominar:

Forma (word form) :conjunto de símbolos (letras) que constituyen una palabra

Significado (word meaning): concepto, lo que trata de evocar el conjunto de símbolos.

La forma puede ser simple, o múltiple (collocation). Nos damos cuenta de que debe darse una correspondencia (“mapping”) entre formas y sigificados (Miller, 1986). Esta correspondencia varía de unas categorías sintácticas a otras. En MultiWordNet existe lo que se conoce como “matrices léxicas”:

formas de representación que combinan las formas con los significados

42

Fig. 4.4- Matriz Léxica

En esta figura podemos observar cómo las distintas formas (F1, F2,…Fn) encabezan las columnas de la matriz, y los significados (M1, M2,…Mm) las filas, de manera que, cada entrada de MultiWordNet (E11, E12,…E21…Emn) se corresponde con una celda de la matriz. La palabra contenida en cada celda, implica que la forma de esa columna representa el significado de la fila correspondiente. Hablamos de polisemia cuando una misma forma posee varios significados (dos o más entradas de la matriz se sitúan bajo la misma columna (E12, E22)). Análogamente, hablamos de sinonimia cuando varias formas hacen referencia a un mismo significado (en la misma fila, encontramos varias entradas que pertenecen a distintas columnas (E11, E12)). La idea que subyace es que:

42 [adaptado de ITALICA]

E.T.S.I. Telecomunicación (U.P.M.) 70

Page 71: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

varias formas pueden hacer referencia a un mismo significado (sinonimia) o que varios

significados se corresponden con una misma forma (polisemia).

Ejemplo:

Significados Lexemas

Suelo Piso Terreno

M1

M2

M3

E11

E31

E12

Polisemia

Sinonimia

E23

Ejemplo 4.1

M1 = “el {suelo, piso} está mojado”

M2 = “en esa zona el precio del {suelo, terreno} es muy caro”

M3 = “suelo ir a correr todas las mañanas”

Para ilustrar las teorías psicolingüísticas una técnica muy frecuente es recurrir a la representación mediante diagramas de cajas y flechas. Con esta notación, la matriz léxica, podría representarse mediante dos cajas interconectadas mediante flechas bidireccionales: una de las cajas sería la forma, y la otra el significado. Las flechas serían la asociación entre forma y significado, y la bidireccionalidad supone que partiendo de una forma, ver cuáles son los significados asociados, o partiendo de un significado, ver por cúantas formas puede estar representado.

43

Fig 4.5 Relaciones semánticas y sintácticas

Inicialmente, MultiWordNet estaba concebido únicamente para hacer referencia a la componente semántica de las palabras, pero a medida que fueron avanzando en su trabajo, los desarrolladores del proyecto llegaron a la conclusión de que las relaciones léxicas no sólo no podían ser ignoradas, sino que era imprescindible tenerlas en cuenta. Actualmente, MultiWordNet, distingue entre los dos tipos de relaciones (léxica-semántica) y, aunque pone especial énfasis en la componente semántica, considera también las relaciones desde el punto de vista léxico.

No obstante, en MultiWordNet, la notación en forma de flechas y cajas no es del todo válida, ya que aunque refleja la distinción entre las relaciones léxicas y semánticas, no sirve para reflejar otros tipos de relaciones importantes que también se dan entre las palabras tales como sinonimia o polisemia (que ya han aparecido con anterioridad). Esta es la razón de que haya que recurrir a las matrices léxicas.

43 [adaptado de ITALICA]

E.T.S.I. Telecomunicación (U.P.M.) 71

E

E11 E12

E21

Page 72: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

4.4.1 ¿Cómo están representados los significados en MultiWordNet?No olvidemos que MultiWordNet está en formato electrónico por lo que, para simular una matriz

léxica se necesita alguna estructura que nos permita representar tanto los significados como las formas mediante un ordenador. Las formas resulta más o menos sencillo representarlas, puesto que el teclado del ordenador contiene los caracteres que representan la sucesión de símbolos que constituyen la forma. En cambio, en lo que al significado se refiere, la cosa no es tan trivial. Una posible solución podría ser representar los conceptos léxicos recurriendo al uso de definiciones. Cómo representar los conceptos lexicalizados mediante definiciones depende de si la teoría está orientada a ser constructiva44 o diferencial45.

En MultiWordNet, los conjuntos de sinónimos que identifican conceptos lexicalizados, van entre llaves {}. Los synsets, sirven para designar sin ambigüedad un significado. No explican lo que son los conceptos, simplemente denotan su existencia. Por tanto, la matriz léxica puede verse como una correspondencia entre palabras y synsets. La sinonimia es una relación léxica entre formas y dado que juega un papel principal en MultiWordNet, es necesario apuntar la relación entre synsets ({…}) y otras relaciones léxicas (que aparecen entre corchetes []). Cuanto más rica sea una lengua en sinónimos, más útiles pueden resultar los synsets para diferentes propósitos. Sin embargo, en ciertas ocasiones un sinónimo no es suficiente: es el caso de la polisemia, en la cual hay que distinguir entre varios sentidos de la palabra. Esto se resuelve incluyendo una breve explicación o descripción (gloss), que aparece entre paréntesis, que ayuda a clarificar el concepto y determinar a qué sentido se está haciendo referencia, pero no pretende que quien la lea pueda construir el concepto a partir de ella (como ocurría en las teorías constructivas). Se diferencia de un sinónimo en que no se utiliza para conocer información almacenada mentalmente; únicamente tiene el propósito de que el usuario de MultiWordNet (que se asume que conoce la lengua), sea capaz de determinar a qué sentido hace referencia una forma en el caso de que pudiera haber varias.

MultiWordNet está organizado en función de las relaciones semánticas. A los diseñadores de MultiWordNet les pareció intuitivo representar estas relaciones entre los significados de las palabras, a modo de punteros entre los synsets. La reciprocidad es una característica de las relaciones semánticas, de manera que si existe una relación R entre dos synsets {x, x, x, …}e {y, y, y, …} se dará esa misma relación entre {y, y, y, …} y {x, x, x, …}. Las relaciones semánticas tendrán, por tanto, una doble función: por un lado, R representa la relación entre los synsets {x, x, x, …}e {y, y, y, …} / {y, y, y, …} y {x, x, x, …} y por otro, R también se utiliza para designar la relación de cada una de las formas individuales que pertenecen a ese synset.

A la hora de constituir MultiWordNet se han tenido en cuenta los distintos tipos de relaciones que pueden darse entre las palabras, como se muestra en la tabla 4.6

Cuando se presentan las relaciones de sinonimia, hiperonimia, meronimia y antonimia, el resultado es una red cuyos nodos están altamente interconectados. En MultiWordNet, cada concepto léxico ocupa una posición bien definida en relación a los demás, y al mismo tiempo existe suficiente flexibilidad para que la red crezca e introduzca cambios y modificaciones.

Relación Definición Tipo Ejemplo/s

Sinonimia Dos expresiones son

sinónimas cuando la

Simétrica board-plank

44 En una teoría constructiva, la representación debe poseer la información suficiente como para elaborar el concepto.

45 En una teoría diferencial, los significados pueden representarse mediante símbolos que permiten a un lingüista distinguir unos de otros.

E.T.S.I. Telecomunicación (U.P.M.) 72

Page 73: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

sustitución de una por la otra

no altera el verdadero valor de

la frase o el contexto donde se

produzca la sustitución.

('tabla'-'plancha')

Antonimia El antónimo de x “suele ser”

NO x (pero esta definición no

es generalizable)

NOT rise-fall

('ascender'-'caer')

Hiponimia/Hiperonimia Relación semántica entre los

significados de las palabras.

IS A boardcommittee ('consejo' comité')

Meronimia/holonimia Relación Semántica que se

puede denominar parte-todo

HAS A trunk tree ('tronco' árbol')

Implicaciones Se aplica sólo a los verbos46 - supply give ('proporcionar'dar')

Similitud Se aplica sólo a adjetivos47 - positive - good 

 ('positivo'-'bueno')

Tabla 4.6- Relaciones en WordNet

4.5 Sinonimia

Es la relación más importante en MultiWordNet. Para representar las palabras mediante la matriz léxica de la que hemos hablado antes, el criterio que se emplea es la semejanza entre los significados de las palabras.

Decimos que dos palabras son sinónimas si al sustituir una por otra, no se altera el significado

original de la frase.

La definición se suele atribuir a Leibniz, sin embargo, es difícil encontrar dos palabras que cumplan estrictamente esta definición. Generalmente nos encontraremos palabras cuyos significados son semejantes, pero poseen matices que hacen que raramente dos palabras signifiquen exactamente lo mismo.

46 No aplica47 No aplica

E.T.S.I. Telecomunicación (U.P.M.) 73

Page 74: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Fig 4.6 Sinonimia

En MultiWordNet, esta definición de sinonimia en términos de sustitución de unas palabras por otras hace necesaria la partición en categorías, cada una de las cuales está asociada a un tipo de concepto y tiene una zona de memoria reservada: los sustantivos expresan conceptos nominales, los verbos, conceptos verbales, y los modificadores (modifiers: adjetivos y adverbios) son formas de calificar esos conceptos. Los sinónimos se pueden ver como palabras “intercambiables”; de ahí que deban pertenecer a la misma categoría gramatical. Por tanto, se deduce que los synsets deben estar formados por palabras (intercambiables) que pertenezcan a la misma categoría gramatical.

Volviendo a la definición de sinonimia que hemos dado al principio, nos damos cuenta de que podría parecer que las palabras, o son sinónimas, o no lo son. Sin embargo, es evidente que la relación de sinonimia la entendemos mejor como un continuo a lo largo del cual vamos graduando los significados de las palabras. Lo importante aquí es que, el hecho de que las palabras sean sinónimas o no, no depende de la fidelidad con que el significado de una se pueda utilizar en lugar del significado de la otra; basta con que exista una relación de semejanza entre los significados. La sinonimia es una relación simétrica.

4.6 Antonimia

La relación de antonimia resulta clave para la organización del los adjetivos y adverbios en

MultiWordNet y aparece representada por !.

A partir de los resultados obtenidos tras los estudios psicolingüísticos, se ha observado que el ser humano, lo primero que evoca al percibir un concepto es su antónimo. La relación que se da entre significados opuestos, no es clave a la hora de construir la estructura que va a englobar todos los sustantivos de MultiWordNet; sin embargo, dado que existe, se ha considerado oportuno otorgarle cierto nivel de consideración en el ámbito de MultiWordNet. La antonimia no es tanto una relación entre significados (tipo semántico), sino que se trata más bien de una relación de tipo léxico.

E.T.S.I. Telecomunicación (U.P.M.) 74

Page 75: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Fig 4.7 Antonimia

El antónimo de una palabra no es fácil de definir. Generalmente, podremos decir que el antónimo de x es no-x ; pero esto no siempre es cierto.

Ejemplo:

rico, !pobre

Si alguien es “no rico”, no supone que sea pobre y viceversa. Por tanto pobre – rico son

antónimos pero rico-no rico48, no necesariamente guardan esta relación

Ejemplo 4.2

Un aspecto importante es saber distinguir entre antonimia y significados opuestos:

Ejemplo

{elevar, ascender} y {caer, descender} son conceptos opuestos y aunque elevar/caer y

ascender/descender son antónimos, es discutible que elevar/descender y caer/ascender también lo

sean.

Ejemplo 4.3

4.7 Hiperonimia

Hiperonimia/Hiponimia es un tipo de relación semántica (entre los significados de las palabras). En MultiWordNet, se ha prestado mucha atención a esta relación también conocida como “ISA” (= is a

48 Ó pobre-no pobre

E.T.S.I. Telecomunicación (U.P.M.) 75

Page 76: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

kind of). Se caracteriza porque es asimétrica y transitiva, y además nos permite organizar los synsets en estructuras jerárquicas en las que cada hipónimo (hijo) se sitúa por debajo de su hiperónimo (padre).

Dados dos synsets, {x, x, x, …}{y, y, y, …} decimos que {x, x, x, …} es hipónimo de {y, y, y,

…} si un “x” es de tipo “y”

Para representar este tipo de relación se emplean dobles punteros desde “x” a su padre “y” y desde “y” a su hijo “x”.

Fig 4.8 Hiperonimia

Extrapolando, en esta idea se basa la programación orientada a objetos y los sistemas de herencia, y así podemos generar ontologías y taxonomías.

Ejemplo:

roble@ -> árbol@ -> planta@ -> organismo

el símbolo “@ ->” representa una relación semántica transitiva y asimétrica de los tipos IS-A o

AKO (“es un” o “es un tipo de”).

“roble” es un holónimo de “árbol”, que a su vez lo es de “planta”.

E.T.S.I. Telecomunicación (U.P.M.) 76

Page 77: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Ejemplo 4.4

Diremos que, el hijo hereda todas las propiedades de su padre y añade al menos una característica que lo diferencia del resto de sus hermanos49.Este es el concepto que rige fundamentalmente la organización de los sustantivos en MultiWordNet.

Al hilo del ejemplo anterior:

Un roble tiene todas las propiedades de un árbol, pero se diferencia del resto de árboles en

la forma de sus hojas, la dureza de su madera…

4.8 Meronimia

Fig. 4.9 Meronimia

49 hijos (hipónimos) que cuelgan del mismo padre (hiperónimo)

E.T.S.I. Telecomunicación (U.P.M.) 77

Page 78: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

La relación de meronimia/holonimia (del griego “meros”50) consiste en la relación “parte –

todo” = “HASA” y en MultiWordNet se representa en forma de agrupaciones de palabras entre llaves

(synsets) {} y punteros entre los synsets.

Es también una relación de tipo semántico, y por tanto, comparable con las relaciones de sinonimia (synonymy), hiperonimia (hypernymy, padre) y hiponimia (hiponymy, hijo). Estas relaciones nos permiten establecer asociaciones que darán lugar a una red completa y nos servirán para organizar el léxico. Es transitiva y asimétrica y se puede emplear en la construcción de estructuras jerárquicas teniendo en cuenta que, a diferencia del caso de la hiperonimia/hiponimia, un mismo “TODO” puede estar compuesto por varias partes51

Un concepto representado por el synset {x, x, x, …} es merónimo del concepto representado

por {y, y, y, …} si un “y” tiene un “x” o un “x” es una parte de “y”

Existen varios tipos de relación parte – todo, aunque sólo tres están codificados: Componente / objeto: rama / árbol

Miembro / colección: árbol / bosque

Porción / masa: porción / tarta

materia / objeto: aluminio / avión

lugar / área: Princeton / Nueva Jersey

4.9 Relaciones morfológicasSon un tipo de relaciones muy importantes entre las palabras. Como ya hemos comentado,

aunque inicialmente el interés de MultiWordNet eran las relaciones semánticas, a medida que se fue progresando en su desarrollo, las relaciones morfológicas empezaron a cobrar importancia. Por ejemplo, para que el programa resultara práctico, sería conveniente que si alguien introduce una palabra en plural, el software sea capaz de conocer el término en singular, y buscarlo en la base de datos para obtener la información.

4.9.1 ¿Cómo se usa MultiWordNet? Los lexicógrafos crean y completan ficheros lexicográficos.

Los usuarios tienen dos formas de utilizar MultiWordNet:

1. Acceso a través de PERL (introduciendo por la línea de comandos “PERL wnsp.PER”).

2. Existe también una interfaz gráfica en web

4.9.2 Los sustantivos en MultiWordNet. Un sistema de herenciaPara definir un término, generalmente se hace referencia a un concepto más genérico que lo

engloba particularizándolo para unas características concretas que lo diferencian del resto. Sin embargo, imponiendo un único criterio de organización, común a todas las categorías no lograríamos representar la complejidad psicológica que entraña el léxico, y puesto que las variantes ontológicas, inicialmente, sólo se van a aplicar a los sustantivos, dejaremos a un lado las otras categorías gramaticales (adjetivos, verbos) también presentes en MultiWordNet, y nos centraremos en cómo están organizadas las definiciones de los nombres mediante jerarquías semánticas.

50 part; Cruse, 1986

51 o lo que es lo mismo, un merónimo puede tener varios holónimos.

E.T.S.I. Telecomunicación (U.P.M.) 78

Page 79: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

Usar jerarquías semánticas encuentra su justificación en que si las palabras se utilizan para definir palabras, para que la lexicografía pueda escapar a la circularidad, los lexicógrafos se han planteado organizar la información en una estructura en árbol, evitando una estructura circular. Partiendo de un elemento inicial, “raíz”, éste se va ramificando hasta dar lugar a todo el conjunto de elementos que conforman el árbol. Un árbol léxico tiene la ventaja de que se puede reconstruir siguiendo los punteros hacia los conceptos más genéricos que los engloban, “superordinates” (padres).

En MultiWordNet, los sustantivos están organizados, basándose en la relación de herencia padre-hijo o generalización/especialización. Esta relación nos permite construir una jerarquía desde el punto de vista semántico. Los elementos de la jerarquía son los synsets, y se relacionan mediante punteros en ambos sentidos, con lo cual queda duplicada la información52. La jerarquía es limitada en cuanto a su profundidad y en la mayoría de los casos no contiene más de doce niveles de organización. Los rasgos distintivos entre padres e hijos se introducen de manera que cada palabra hija hereda los rasgos distintivos de su término padre, y se crea así una estructura por niveles en la cual, partiendo desde los hijos53 de los niveles inferiores se alcanza un número de términos genéricos en la parte superior 54. Este diseño da lugar a una secuencia de niveles donde los términos más específicos se sitúan en los niveles más bajos, y los más genéricos, en los más altos.

En MultiWordNet, la relación de especialización se ha codificado como ~->, mientras que la de generalización, aparece como @->. La base de datos constituye una jerarquía que se recorre en sentido ascendente o descendente a la misma velocidad. Las estructuras jerárquicas son un recurso frecuente en la organización de bases de datos que almacenan gran cantidad de información, con la ventaja de que se puede ahorrar espacio en memoria aprovechando que los elementos comunes a varios nodos sólo necesitan almacenarse una vez, y no repetidamente en cada uno de los nodos. Los expertos han denominado a este tipo de jerarquías “sistemas de herencia”, puesto que se asemeja a un sistema en el cual cada nuevo elemento hereda todas las propiedades de sus predecesores.

Ejemplo:

roble @-> árbol @-> planta @-> organismo

@-> apunta hacia un elemento que se sitúa en un nivel superior en la jerarquía; representa la relación de generalización : “ISA” = “is a kind of” (apunta al padre; es transitiva, asimétrica y de tipo semántico). Va de lo específico a lo genérico

Al mismo tiempo, que existe la relación “ISA”, también existe la relación inversa, de manera que si roble @-> árbol, entonces, árbol ~-> roble55

Hay tres tipos de elementos diferenciadores: attributes (atributos, modification), parts (partes, meronimy) y functions (funciones, predication), pero sólo la hiperonimia está implementada en los archivos que contienen los sustantivos en MultiWordNet. La relación de antonimia también está presente en los archivos de MultiWordNet, pero no constituye un criterio relevante para la organización de los sustantivos.

La base de datos de WordNet abarca 25 ficheros raíz, cada uno de los cuales corresponden a primitivas con componentes semánticos diferentes. En este momento, WordNet contiene aproximadamente 57000 sustantivos organizados en torno a 48800 significados (synsets)56. El número en MultiWordNet en español quizás sea algo menor, pero estas cifras son meras aproximaciones puesto que la base de datos puede seguir creciendo57, y además muchos de estos sustantivos son compuestos.

52 Esto podría derivar en un problema de redundancia que consistiría en que dadas dos palabras sinónimas Px y Py, el par Px-Py tendría que ser introducido por duplicado, una vez bajo la entrada de Px y otra bajo Py, siendo necesarias dos búsquedas, la primera alfabética y la segunda, la correspondiente al Thesaurus, con lo que se duplicaría el tiempo de búsqueda.

53 Subordinados o hipónimos54 hiperónimos55 roble es hijo (hipónimo) de árbol y árbol es padre (hiperónimo) de roble. La relación inversa a

hiperonimia (hypernymy) es hiponimia (hiponymy), que va de lo genérico a lo específico (especialización).

56 Es muy probable que a día de hoy esta cifra ya se haya superado57 Dado que es un sistema abierto

E.T.S.I. Telecomunicación (U.P.M.) 79

Page 80: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

En términos de cobertura, los objetivos de MultiWordNet difieren de los de un diccionario convencional en que MultiWordNet lo que pretende es innovar en la forma de organizar la información. Mejorar algo supone incluir algún aspecto que no aparece reflejado. En el caso de MultiWordNet, lo que se pretende es mejorar la forma de organizar la información. Hasta ahora se utilizaban los diccionarios, que a grandes rasgos, diríamos que son una lista de “entradas” ordenadas alfabéticamente, donde cada entrada incluye información acerca de cómo se escribe la palabra, la pronunciación, la categoría gramatical, formas derivativas, definiciones y ejemplos ilustrativos. Sin embargo, MultiWordNet, trata de ir más allá y reflejar la componente psicolingüística que las definiciones no son capaces de reflejar.

La lógica para definir un concepto es siempre la misma: concepto genérico + rasgos distintivos

Cuadro 4.4 Lógica para definir un concepto

Pero una definición da por supuesta información implícita en el propio concepto genérico al que hace alusión. Una definición convencional, apunta hacia arriba (padre) pero no hacia los laterales (términos coordinados, hermanos) ni hacia abajo (hijos). La definición “recuerda” algo que se presume que ya es conocido, pero no pretende servir para catalogar el saber en general, ni mucho menos, construir el concepto.

Ejemplo:

Tomando la palabra “árbol”, una posible definición sería:

“planta de gran tamaño, de hoja perenne, que posee un tronco de madera”

“planta” sería el concepto genérico y “gran tamaño, hoja perenne y tronco de madera”, los

rasgos distintivos que nos permiten distinguir el árbol de otras plantas.

Lo que no aparece en la definición es información relativa a que los árboles tienen raíces,

células…ni siquiera, que son organismos vivos. Este tipo de información seguramente lo

encontremos en la definición de “planta”. Pero no se puede pasar por alto un detalle: “planta”

tiene varios sentidos, y la información que hereda “árbol” es la que corresponde al sentido de

“planta” como “organismo vivo”, no como “lugar de producción, planta industrial”. En la

definición de “árbol” no encontramos nada que nos indique cuál es el sentido correcto de “planta”.

Tampoco aparece información sobre otros términos coordinados (es evidente que existen varios

tipos de plantas, pero con sólo leer la definición no podemos saber si esto es cierto).

Ejemplo 4.5

4.9.2.1 Asunciones Psicolingüísticas

MultiWordNet no es la solución ingenieril a cómo está organizado el conocimiento, sino una implementación de cómo los psicolingüistas consideran que el ser humano va almacenando conocimiento. MultiWordNet pretende estar organizado según los principios que rigen la memoria léxica de las personas. Los psicolingüistas han valorado cómo el ser humano conoce el léxico, y MultiWordNet, para reflejar esta evaluación, ha optado por representar los sustantivos en forma de estructura jerárquica. ¿En qué nos podemos apoyar para construir la base en la que se fundamentan todas esas decisiones a la hora de emitir juicios sobre el conocimiento léxico? La mayoría de los psicolingüistas están de acuerdo con que, al menos en Inglés, es posible construir una estructura que englobe todos los sustantivos. Para dicha estructura, se reserva memoria semántica. Lo que no está del todo claro es si la información genérica se hereda o se almacena de forma redundante en cada nodo.

E.T.S.I. Telecomunicación (U.P.M.) 80

Page 81: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

4.MultiWordNet

A raíz de ciertos experimentos psicolingüísticos, se ha observado que el ser humano no responde a la misma velocidad ante ciertas afirmaciones que aparentemente comparten un vínculo de carácter semántico. Esta idea la podemos entender con el siguiente ejemplo:

“Movimiento” y “poseer orejas” son ambas propiedades que suelen atribuirse a los

animales. Sin embargo, se tarda menos en confirmar “un animal se mueve” que “un animal tiene

orejas”.

Ejemplo 4.6

Es probable que el tiempo de reacción indique distancia no tanto semántica (diferencia en el significado), sino más bien de carácter pragmático (diferencias en cuanto a palabras).

4.9.2.2 Componentes semánticos

Todos los sustantivos en MultiWordNet se incluyen en una estructura estratificada en un número finito de niveles. La “raíz” o el nivel más genérico del que derivan todos los demás es “entidad”.

Como ya hemos señalado, en MultiWordNet, el número de niveles no crece indefinidamente. Una de las razones podría ser que los partidarios de que la información “heredada” se almacena repetidamente en cada uno de los nodos, sostienen que un número excesivo de niveles provocaría mucha sobrecarga de memoria léxica.

4.9.2.3 Rasgos distintivos

Se habla de que las jerarquías de conceptos nominalizados, tienen un nivel que comprende los rasgos que nos permiten distinguir unos conceptos de otros. Este nivel se conoce como “Basic level” (Nivel Básico), y los conceptos que pertenecen al mismo se denominan “Basic level categories” (Categorías del Nivel Básico) o “Generic Concepts” (Conceptos genéricos). En el “basic level” se listan los rasgos distintivos de las palabras. Por encima de este nivel, las descripciones son breves y generales; por debajo, se añade poca información a los nombres de objetos concretos y tangibles.[Apéndice A6]

E.T.S.I. Telecomunicación (U.P.M.) 81

Page 82: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Capítulo 5Capítulo 5 HerramientasHerramientasEn este capítulo presentaremos otras herramientas que se van a emplear en este proyecto bien a

modo de fuentes de información o como interfaces de acceso a otros recursos disponibles gracias al progreso de Internet y de la Informática y las comunicaciones en los últimos años. Muchas veces no somos conscientes de la cantidad de información que tenemos a nuestro alcance. Por ello en la realización de este PFC con el fin de no caer nuevamente en el error de desaprovechar posibles aportaciones que enriquezcan el asistente que venimos desarrollando hemos echado mano de otras herramientas y de otros programas ampliando los límites a los que quedaríamos sujetos en el caso de ceñirnos exclusivamente a la programación en C++ que permite el programa Visual 6.0 (principal soporte de la parte de programación). A esto cabría añadir que un buen proyecto fin de carrera supone en parte la integración del conocimiento adquirido a lo largo de diversos años de estudio. En esta línea de razonamiento el desarrollo de nuestro asistente queremos que transmita la idea de completitud riqueza e integración de manera que “algo” que funciona como una unidad concentra una alta dosis de conocimiento inteligencia y además resulta útil práctico y transparente al usuario.

No olvidemos que a lo largo de todo este proceso vamos a acceder en numerosas ocasiones a Internet puesto que hemos encontrado en el acceso a Red un potente aliado que nos permitirá incorporar múltiples funcionalidades al proyecto que se está desarrollando. Haciendo uso de la herramienta “Perl” accederemos a MultiWordNet, y recurriendo a otro entorno de desarrollo, podremos acceder también a Google.

5.1 Google

A fin de incorporar el empleo de información probabilística asociada a los rasgos o las características de las variantes generadas por nuestro asistente, decidimos inspirarnos en el trabajo de algunos investigadores que han demostrado que el número de “hits” que proporcionan los buscadores puede ser un buen estimador de la probabilidad de bigramas y trigramas en corpus grandes. Así, decidimos recurrir a uno de los mayores buscadores de nuestro tiempo: Google

A pesar de que Google proporciona una API en Java, y nosotros estábamos programando en C++, llegamos a la conclusión de que su empleo sí podría resultar factible, ya que en el primer curso de la carrera, sí se ven algunas nociones sobre dicho lenguaje de programación. Dado que un PFC, entre otras cosas, debe aunar lo que se ha venido aprendiendo durante la carrera, y al mismo tiempo profundizar en el estudio de nuevos temas relacionados en mayor o menor medida, el utilizar Java aun contando con la falta de experiencia podría resultar una buena práctica para la alumna, permitiéndole adquirir un mayor conocimiento, aprender más, y enriquecer este trabajo, además de facilitar la labor de futuros proyectandos.

Para comunicar el programa en C++ con el programa en Java decidimos usar sockets y una arquitectura cliente-servidor. Esto supuso el diseño de estructuras de datos para el intercambio de información entre cliente y servidor, la implementación en Java y en C++ del protocolo de comunicación por sockets, y la implementación de las búsquedas en Google y el paso de información servidor-cliente en Java.

5.1.1 Nacimiento de GoogleEl nacimiento de Google data de septiembre de 1998. Fue fundado por dos estudiantes de

doctorado de la universidad de Stanford que tenían un objetivo común:

conseguir información relevante a partir de una importante cantidad de datos.

E.T.S.I. Telecomunicación (U.P.M.) 82

Page 83: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Fig. 5 1. Fundadores de Google: Larry Page y Sergey Brin

Los cofundadores de Google Sergey Brin (23 años) y Larry Page (24 años) coincidieron por primera vez en 1995 durante el acto que la Universidad de Stanford organiza en verano para los candidatos a sus estudios de doctorado58. En otoño de 1995 comenzaron a desarrollar la tecnología que más tarde se convertiría en el motor del funcionamiento de Google: “PageRank”: un algoritmo para la búsqueda de datos. En enero de 1996 su colaboración se orientó al desarrollo de buscador llamado “BackRub”. Larry empezó a trabajar siguiendo la línea de conseguir un entorno para los servidores que funcionara con PCs de gama baja y que no necesitará de potentes máquinas para funcionar. Un año después en 1997 la tecnología utilizada por “BackRub” para analizar los links base sobre la que más adelante se construiría Google se empezó a dar a conocer en todo el campus y se fue forjando una gran reputación.

A modo de curiosidad el nombre de “Google” procede de la palabra inglesa “googol” que se utiliza para designar a la cifra “1 seguido de 100 ceros = 10100”.

El nombre responde al propósito de la compañía de querer organizar toda la ingente cantidad de información que hay en la web y en el mundo.

5.1.2 Aplicación de Google al asistente

5.1.2.1 Caso de uso sencillo

Cabría estudiar el empleo de información probabilística asociada a los diversos “senses” que pudiera tener una palabra susceptible de ser incorporada al vocabulario del robot. En este ámbito de asignaciones probabilísticas es donde entra en juego Google.

En Google buscaremos una determinada construcción y en función del número de resultados obtenidos para dicha construcción podremos hacernos una idea de su probabilidad. Dado que Google pretende ordenar la inmensa cantidad de información que existe podríamos interpretar como representativo el número de veces que aparece una palabra o combinación de palabras cada vez que realizamos su búsqueda en Google.

El empleo de Google en el asistente es a modo de mejora y de corroboración de las posibles hipótesis que pudiéramos haber formulado acerca de qué “sense” es más conveniente para ser incluido en la red de vocabulario del museo de la exposición o de ambas. De acuerdo con el funcionamiento general del asistente nosotros manejaremos ontologías para caracterizar la realidad. Dada una palabra que no está entre las que conoce el robot se busca en MultiWordNet. Es muy probable que obtengamos más de un “sense” o significado para la misma palabra. Con el fin de llevar a cabo una desambiguación y quedarnos con el “sense” que resulte más apropiado podemos pensar en recurrir a Google.

Nuestra forma de proceder es la que se detalla a continuación: cuando una palabra no pertenece al vocabulario del robot, pero su categorización en la realidad según la clasificación que hace MultiWordNet es conocida, formamos una expresión constituida por la palabra seguida de su nodo inmediatamente superior y de las palabras del dominio del robot. La expresión resultante se busca en Google y a través de un programa escrito en Java nos quedamos simplemente con el número de hits.

58 en este caso se trataba del doctorado en Informática.

E.T.S.I. Telecomunicación (U.P.M.) 83

Page 84: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Esta cifra puede ser un indicador acerca de qué combinación de palabras se suele dar de forma más frecuente y ello podría conducirnos hacia qué “sense” debiéramos elegir e incluir en la red del museo.

5.1.2.2 Extrapolación

Análogamente a cómo hemos empleado el número de “hits” en Google de una determinada construcción para determinar qué “sense” resulta más apropiado incluir en la red de vocabulario del robot quizás cabría plantearse la posibilidad de aplicar los resultados de la búsqueda a los rasgos y categorías de las variantes generadas para una frase introducida por el desarrollador. Dado que algunas palabras son más frecuentes que otras y algunas combinaciones de palabras más frecuentes que otras, al generar una frase en función del tipo de transformación que se haya aplicado para obtenerla podríamos asignarle una probabilidad de manera que eso luego influyese sobre las probabilidades del modelo de lenguaje de bigramas que usa el reconocedor.

En general nosotros vamos a generar frases; entre ellas unas serán más probables que otras. En este método de búsqueda de construcciones en Google encontraríamos el criterio para determinar cómo de frecuente es una construcción.

5.1.3 Acceso a GoogleEl programa que accede a Google es un programa externo. Además siendo fieles a esa idea de

integración y multidisciplinariedad que hemos comentado anteriormente el programa no está escrito en C sino en Java que es otro de los lenguajes de programación estudiados durante la carrera.

Java es un lenguaje orientado a objetos muy versátil y que en este caso facilita en gran medida la labor de acceder a web para efectuar una serie de búsquedas.

5.1.3.1 Arquitectura Cliente-Servidor

El modelo de arquitectura que se empleará en esta parte de nuestro trabajo está basado en el modelo cliente-servidor. Éste es un modelo típico de los sistemas distribuidos. Tanto “cliente” como “servidor” son roles en una aplicación. E nuestro caso, el cliente viene a ser nuestro asistente, el cual desea obtener una información. Para ello, acudirá a un Servidor que será un programa en Java y que le proporcionará la respuesta a su solicitud. Este modelo, que está tan extendido en programación distribuida, está basado en el interfaz Socket.

La clase Mi_Servidor que ha sido desarrollada en este proyecto, implementa a un servidor, que por el mero hecho de serlo debe aunar las siguientes características:

1) dar el servicio solicitado al cliente: esto tiene una doble implicación: por un lado será necesario el diseño de estructuras de datos para almacenar la información que

originó el motivo de la consulta por otro, el servidor debería ser capaz de soportar más de un acceso

2) debe tener una dirección conocida por el cliente3) pasivo: espera ser consultado

Cabe hacer una breve puntualización y es que para este proyecto, se nos ha facilitado una clave que nos permita acceder a web un número razonable de veces59 por día.

En cuanto a “Socket”, se trata de un interfaz con el servicio TCP-UDP. Su función es la de aislar al programador de los detalles de la red. La comunicación entre cliente y servidor se realiza por envío de paquetes, y el interfaz oculta la complejidad del protocolo. Aunque inicialmente fue diseñada siguiendo el principio básico de diseño en UNIX, la interfaz de Sockets ha sido portada a otros sistemas operativos y, a efectos de este proyecto, a Windows, que es el que aquí se emplea.

En términos del tipo de servicio que se establece de acuerdo con este modelo cliente-servidor, se va a tratar de un servicio orientado a conexión donde, en primer lugar se establecerá la conexión entre nuestro asistente y el programa que accederá a Google. A diferencia de lo que ocurre cuando el servicio es no orientado a conexión, aquí lo que se busca es un envío y recepción de información fiable y que garantice la integridad de los datos intercambiados. De lo contrario, concretamente en el caso de nuestra aplicación, estaríamos infiriendo información probabilística errónea.

59 Concretamente el número de accesos se estima en torno a las 10000 búsquedas

E.T.S.I. Telecomunicación (U.P.M.) 84

Page 85: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Otro de los conceptos a resaltar es el de “puerto” (port). El puerto es una dirección de nivel de transporte de 16 bits. Es una dirección local, y debe concatenarse con la dirección IP para ser única en la red. Profundizando un poco más, existe una división del espacio de puertos, en la cual no vamos a entrar. No obstante sí diremos que los puertos del 1024 al 65535 se pueden utilizar libremente y esto justifica que el empleado en este proyecto sea el 22569.

A modo resumen, la comunicación que se va a establecer entre nuestro cliente y nuestro servidor será la siguiente:

el cliente solicitará la conexión a continuación, el servidor la aceptará y en ese momento se producirá el establecimiento de

una conexión bidireccional. La creación de un circuito virtual pasa por la creación de un socket y un intento de conexión con el otro extremo. En Java estos dos pasos, realmente pueden ser agrupados en uno solo mediante la creación de un objeto de la clase Socket. Concretamente, los sockets del servidor pertenecerán a la clase ServerSocket.

Si la conexión se establece, se obtienen los flujos de entrada y salida y cliente y servidor dialogan entre sí. El intercambio de información serán flujos de bytes. No obstante lo que no se garantiza es un plazo de entrega. A modo de posibles mejoras o consideraciones futuras podría plantearse la implementación de un temporizador. Aún así, la imposibilidad de entrega provoca la liberación del circuito.

Una vez que el cliente finaliza la recepción de la información que le había solicitado al servidor, se libera la conexión.

Fig. 5.2 Modelo Cliente-Servidor

5.1.3.2 Adaptación de las clases

El paquete de descarga proporcionaba una clase llamada Acceso_Simple_.java, la cual implementa un servidor. De dicha clase eliminamos todo aquéllo que no era necesario de manera que nos quedó un programa que, a partir de una serie de palabras almacenadas en arrays independientes, realizaba combinaciones con los elementos de sendos arrays, a continuación realizaba un acceso a Google a fin de realizar la búsqueda de la estructura obtenida y finalmente recibía como respuesta el número de hits de la combinación de elementos buscada. Todo el proceso se llevaba a cabo a través de sockets. El empleo de sockets no era la única alternativa. También podríamos haber recurrido a mecanismos de

E.T.S.I. Telecomunicación (U.P.M.) 85

Page 86: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

comunicación menos sofisticados (como ficheros), o incluso mecanismos de comunicación más avanzados como ADO. La decisión fue tomada desde un punto de vista práctico: teníamos experiencia previa en el manejo de sockets, y por lo tanto, no estimamos oportuno tratar de añadir complejidad a nuestra labor.

El programa principal comienza creando un socket. En Java existe una clase llamada ServerSocket. Eligiendo el número de puerto que se desee (un número bastante alto para asegurar que nadie lo está utilizando) se invoca al constructor (new) y de esta forma logramos crear un servidor que será el que realice las búsquedas en Google y devuelva el número de apariciones.60

Una vez creado el servidor quedará esperando en un bucle infinito hasta que el cliente le envíe una petición momento en el cual pedirá el “writer” para escribir en el socket la información solicitada por el cliente.

Las peticiones del cliente las busca en Google y devuelve el número de “hits”. Esta clase sólo implementa al servidor por lo cual partiremos de la premisa de que la información solicitada por el cliente ya está previamente almacenada en arrays predefinidos: la misión del servidor es ir combinando los elementos de los distintos arrays, buscar las estructuras resultantes en Google y devolverle al cliente a través del socket el número de hits.

Basándonos en este ejemplo hemos construido la clase que es la que empleamos en nuestro asistente: Mi_Servidor.java. Dicha clase va a implementar, como su propio nombre indica, un servidor que atienda una serie de peticiones que le va a ir enviando el cliente. Esas peticiones consisten en que el servidor devuelva el número de hits que produce buscar en Google la combinación de palabras formada por un término junto con su nodo inmediatamente superior de acuerdo con la categorización que haya hecho MultiWordNet, y junto con las palabras del dominio. El programa principal (main) simplemente se encarga de informar al sistema de que se va a realizar una nueva búsqueda (clase GoogleSearch) e invocar el método (verbPrep) que se encargará de ir construyendo las expresiones buscarlas en Google y devolverle al cliente el número de hits.

60 Aunque en nuestro trabajo hemos considerado un único cliente, la clase ServerSocket posee una cola de solicitudes de conexión de tamaño 5. Para evitar rechazos en situaciones de congestión, se debe incrementar el tamaño de la cola, por ejemplo a 50.

E.T.S.I. Telecomunicación (U.P.M.) 86

Page 87: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Análogamente a cómo hemos procedido en el caso anterior, crearemos un socket llamando al constructor de la clase ServerSocket y pasándole como parámetro el mismo número de puerto que haya elegido el cliente.

En este caso ya no podemos suponer que el servidor conoce a priori la información que debe buscar el Google. De ello se deriva el hecho de que necesitemos crear una estructura de datos que vaya almacenando la información que va mandando el cliente. Concretamente hemos optado por un array de Strings (String[] palabras_recibidas) puesto que al fin y al cabo lo que vamos a buscar en Google son combinaciones de Strings.

Nótese cómo siguiendo las reglas de la “buena programación” hemos definido una constante (MAXPALREC) a fin de evitar la aparición de “números mágicos” en el código del programa. Esta constante viene a representar el número máximo de palabras recibidas y ofrece la ventaja de que se puede redefinir dándole el valor más adecuado en función de nuestras necesidades.

Una vez creado el Socket el Servidor se queda escuchando hasta que reciba alguna petición del cliente.

Cuando esto ocurre deberá conseguir el “Reader” para poder leer del socket.

La información que va recibiendo a través del socket la va almacenando en la estructura de datos que hemos definido anteriormente para que no se produzca pérdida de información.

E.T.S.I. Telecomunicación (U.P.M.) 87

Page 88: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Llegados a este punto nos tuvimos que plantear algún tipo de mecanismo de interacción entre cliente y servidor que dote a la comunicación de una mayor fiabilidad. Haciendo un diseño para el caso peor caímos en la cuenta de que no toda la información recibida por el servidor tiene por qué ser válida. Siguiendo esta línea de trabajo el servidor sólo deberá almacenar la información comprendida entre un marcador de arranque y un terminador.

Una vez que el servidor recibe el terminador lo almacena y procede a efectuar las búsquedas en Google.

Por el socket le va enviando al cliente las construcciones y el número de hits

E.T.S.I. Telecomunicación (U.P.M.) 88

Page 89: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

y ello exige que previamente el Servidor haya obtenido el “Writer” para poder escribir en el socket.

Dado que generalmente lo que compararemos son dos “senses” cuando el servidor termina de responder a la primera consulta queda a la espera de recibir el arranque correspondiente a la segunda consulta. Recibido el arranque mientras no se reciba el terminador significa que los datos que están llegando son información nueva y por tanto susceptibles de ser almacenados en la estructura de datos creada para ello. Una vez recibidas las consultas el servidor construye de nuevo las estructuras pertinentes realiza las búsquedas en Google y devuelve la información solicitada precedida de la marca de arranque. Para indicarle al cliente que ha concluido el envío de su nueva ronda de respuestas manda el terminador a través del socket y para señalar que ya no se van a realizar nuevas búsquedas lo que se emplea es el terminador2.

Puntualizando un pequeño detalle señalaremos que se ha empleado una variable de tipo entero (longitud) para llevar la cuenta de cuántas palabras se han recibido lo cual va a determinar cuántas palabras contiene el array de palabras recibidas y por tanto cuántas palabras va a tener que combinar el Servidor para hacer la construcción que buscará en Google.

Nótese cómo la variable se incrementa cada vez que una palabra es almacenada en el array de palabras recibidas

y cómo cuando el cliente solicita una nueva búsqueda la variable se pone a cero.

E.T.S.I. Telecomunicación (U.P.M.) 89

Page 90: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

5.2 Eclipse

Para la implementación e inclusión del programa escrito en Java dentro del asistente nos hemos apoyado en el uso de Eclipse. En primer lugar, Eclipse ha facilitado la integración de ciertos módulos que forman parte del sistema. Es un entorno de desarrollo que pretende constituir una plataforma extensible para la construcción de software y el desarrollo de aplicaciones. Asimismo, Eclipse lo que pretende es ser un sistema abierto que permita la creación evolución crecimiento y soporte de una plataforma al mismo tiempo que se fomente el desarrollo de una comunidad donde las fuentes sean abiertas y se desarrollen productos y servicios complementarios.

La utilidad de Eclipse para este proyecto se concreta en que nos ha permitido:1. incorporar librerías2. Facilitar la programación en Java: definición y modificación de clases variables tipos

estructuras de datosLas herramientas basadas en Eclipse dotan al programador de muchos grados de libertad. Sus tres

características más importantes son:1. multi-language: el programador puede escoger el lenguaje de programación y de ahí que

hayamos podido integrar C con Java2. multi-platform: integrar varios entornos que en principio son independientes (Visual +

Eclipse)3. multi-vendor: existen múltiples formas de hacerse con él

Eclipse proporciona una plataforma basada en la conexión en red que facilita crear integrar y emplear herramientas de software ahorrando tiempo y dinero.

Originalmente Eclipse está escrito en Java y su versión más sencilla viene con conjuntos de herramientas (toolkits) y ejemplos. Se puede implementar en varios sistemas operativos: Linux Windows Solaris Mac OS X. Concretamente para nosotros que hemos utilizado Windows la instalación de Eclipse no ha supuesto ningún problema.

5.3 Trabajo Lingüístico Computacional

5.3.1 Perífrasis VerbalesPartiendo de que para este trabajo el analizador sintáctico del GTH constituye uno de los puntos

de apoyo que posibilitan su desarrollo no es de extrañar que uno de los objetivos del presente trabajo sea contribuir de un modo u otro a la mejora del analizador.

Así una de las contribuciones de este proyecto fin de carrera es la introducción del concepto de “perífrasis verbal”. Además de las reglas de corte ya existentes y los algoritmos que generan modelos de lenguaje se pretende construir sobre dichos modelos uno más robusto que considere la “perífrasis verbal” como una unidad. Esto constituirá una técnica para reducir el número de segmentos.

En lo referente a esta contribución el trabajo ha sido en su mayor parte manual entendiéndose por “manual” que prácticamente no ha tenido cabida la componente de programación o de generación de rutinas métodos o programas orientados a la obtención tratamiento y/o procesado automático de la información.

Por su simplicidad las tareas correspondientes a la “inclusión” del concepto de “perífrasis verbal como un elemento adicional del analizador sintáctico” se llevaron a cabo durante la etapa inicial del

E.T.S.I. Telecomunicación (U.P.M.) 90

Page 91: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

desarrollo del proyecto.De forma muy resumida estas tareas consistieron en realizar una búsqueda de páginas web que contuviesen perífrasis verbales. De todas esas páginas el siguiente paso fue hacer una selección de las mismas y a continuación irlas examinando una a una tratando de encontrar todas las perífrasis verbales que aparecieran.

Se creó una estructura de datos de manera que según se iban encontrando las perífrasis verbales se iban incorporando a dicha estructura como nuevos elementos.

Para asegurar que todo era correcto y que esta modificación no iba a redundar en algún tipo de error al menos en tiempo de compilación realizamos una reconstrucción de todo el proyecto sintax:

build -> rebuild all.

Todo este conglomerado de tareas no sólo ha contribuido a la mejora del funcionamiento del analizador sintax sino que por el hecho de que se llevaron a cabo en los comienzos del trabajo supusieron un método adicional de familiarizarse con el entorno de trabajo las estructuras de datos la inclusión de archivos dentro de un proyecto ya existente funciones de compilación y linkado de ficheros etc. Se trata de tareas que con la práctica y a medida que se va adquiriendo soltura van cobrando el carácter de triviales intuitivas o inmediatas. Sin duda para un programador experto o en fases más avanzadas del desarrollo del proyecto estas tareas ahora le resultarán tremendamente sencillas pero si echa una mirada retrospectiva y se remonta a sus inicios de familiarización con una nueva herramienta casi con total seguridad podemos afirmar que el llevar a cabo tales procesos exigía por su parte un cierto esfuerzo. A ello se añade el simple pero en ocasiones monótono trabajo de tener que transcribir a mano todas las perífrasis verbales con el formato adecuado y esto es independiente de la experiencia que se tenga como programador o del dominio que se tenga del entorno.

5.3.1.1 perifrasisVerbales.cpp

El fichero donde se incluyeron las perífrasis verbales se denomina “perifrasisVerbales.cpp” y se encuentra dentro de la carpeta sintax.

Contiene tanto la estructura definida para ir almacenando las posibles perífrasis que puedan darse en castellano como una rutina (ProcesaPerifrasis)que sirve para procesarlas:

detectarlas considerarlas como una unidad.

La estructura perifrasisVerbales [] agrupa cuatro tipos de perífrasis:

1. de infinitivo: verbo + infinitivo

Ejemplo 5.1 perífrasis verbales de infinitivo

E.T.S.I. Telecomunicación (U.P.M.) 91

Page 92: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

2. de gerundio: verbo + gerundio

Ejemplo 5.2 perífrasis verbales de gerundio

3. de participio: verbo + participio

Ejemplo 5.3 perífrasis verbales de participio

4. otras: recogen estructuras más complejas combinando verbos con preposiciones

infinitivos con gerundios infinitivos con participios …

Ejemplo 5.4 otras perífrasis verbales en castellano

La tabla que viene a continuación muestra una relación de los tipos de perífrasis que a día de hoy pueden encontrarse en esta primera versión de fichero.

Tipo de perífrasis Número

Infinitivo 73

Gerundio 26

Participio 24

Otras 36

Tabla 6: Perifrasis verbales en el archivo “perifrasisVerbales.cpp”

E.T.S.I. Telecomunicación (U.P.M.) 92

Page 93: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

5.3.1.1.1 ProcesaPerifrasis Es el método encargado de detectar y procesar las perífrasis verbales. Recibe tres parámetros:- Un array de palabras

- El array de las categorías asociadas a dichas palabras

- Número de palabras y categorías del array

Lo que hace es ver si en el array de palabras existe una combinación que encaje con alguna de las perífrasis de la estructura creada manualmente. En caso afirmativo en consonancia con el propósito de que las perífrasis verbales sean tratadas como una unidad lo que se hace es sustituir los espacios que separan las distintas palabras que componen las perífrasis verbales por una ‘ç’

Ejemplo 5.5 Resultado de procesar una perífrasis verbal por el método “ProcesaPerifrasis”

En las líneas subsiguientes, procederemos a dar una descripción funcional del software que aparece en perifrasisVerbales.cpp:

Al llamar a la rutina ProcesaPerifrasis, el primer paso consiste en tomar el array de categorías cats[] que la función ha recibido como parámetro. Para cada una de las categorías se comprueba si alguna es un verbo, y en caso afirmativo, se extrae el infinitivo del mismo mediante la llamada a la rutina es_verb. Todos los infinitivos se irán almacenando en un array llamado infin[]

E.T.S.I. Telecomunicación (U.P.M.) 93

Page 94: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Con la lista de infinitivos extraídos a partir de la secuencia de palabras inicial, se toma el primero y se comprueba si existe alguna perífrasis (de infinitivo, de gerundio, de participio,…) de entre las conocidas por el sistema donde encaja dicho verbo.

Cuando se encuentra una perífrasis que encaje, se pasa a la siguiente palabra de la secuencia para determinar si realmente la secuencia es una perífrasis y de qué tipo es.

En caso afirmativo, se activaría una variable de tipo booleano que denota que estamos ante una

perífrasis verbal conocida por el sistema (encontrada = true),

E.T.S.I. Telecomunicación (U.P.M.) 94

Page 95: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

y se constituye una sola estructura donde las palabras que forman la perífrasis quedan encadenadas mediante el carácter ‘ç’, lo cual es muy ilustrativo del objetivo que se persigue: considerar que una perífrasis debe ser tratada como una unidad a efectos de analizador.

Finalmente, a fin de no consumir recursos innecesariamente, el último paso consiste en liberar la memoria reservada de manera que el sistema pueda destinarla para otros usos.

5.3.2 MuseumNetOtro de los objetivos del proyecto consiste en la realización de un prototipo de palabras basado

en WordNet y más concretamente en MultiWordNet (que constituye la versión en castellano). WordNet [Wordnet 2005] constituye una potente herramienta muy útil en la tarea de clasificación de las palabras que constituirán el vocabulario del robot a modo de ontología [MultiWordNet 2005]. Inspirándonos en este proyecto de la Universidad de Princeton hemos construido MuseumNet con el fin de que constituya una base de datos léxica que contenga todos los nodos intermedios correspondientes a la ontología donde se ubicarán cada uno de los sustantivos que forman parte del vocabulario básico de ROBINT. Ante la dificultad de disponer de una única ontología que modele la realidad se va a estudiar la validez de un ejemplo de categorización de objetos. Combinando varios métodos recursivos y aplicando una serie de patrones se trata de ver si es posible generar una serie de preguntas y respuestas que deben ser validadas por un humano con el objetivo de que el robot adquiera cierta autonomía para mantener una conversación espontánea en el sentido de que sea capaz de generar su propio lenguaje.

La jerarquía que implementa WordNet o MultiWordNet es bastante compleja. Al fin y al cabo trata de reflejar lo que es el mundo. Por ello pensamos en hacer una lista de palabras que consideramos interesantes para ver qué nodos estaban implicados. Pensamos en un museo una exposición un taller interactivo y conseguimos elaborar una lista de palabras en ocasiones algo abstractas pero que guardaban relación con el museo (a veces un poco remota …).

La primera lista estaba constituida por 141 palabras en inglés que hubo que traducir al castellano y buscar su acepción más apropiada teniendo en cuenta que el entorno en el que se va a desenvolver el robot es un museo interactivo con paneles vitrinas …

El porqué de la búsqueda de palabras en inglés fue debido principalmente a que:1) desgraciadamente el Museo de la Ciencia de Valencia tiene una web muy pobre2) Disponíamos de WordNet en inglés3) hay más museos que consultar en web en inglés que en español

Si bien ésta es una tarea sencilla que está al alcance de cualquiera también puede hacerse algo pesada.

El siguiente paso consistió en sacar una ontología a partir del conjunto de palabras. De forma análoga a como el analizador sintáctico construye un árbol de palabras aquí lo que se pretendía era construir un árbol de nodos donde cada nodo fuera una palabra perteneciente a una red semántica

E.T.S.I. Telecomunicación (U.P.M.) 95

Page 96: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

jerarquizada en distintos niveles. El más alto nivel de abstracción es “entity” o “entidad”. De ahí que el árbol debía estar construido con “entity” en la parte superior de manera que no apareciesen nodos intermedios repetidos.

Con todas las palabras de la lista se construyeron manualmente una serie de archivos que configurarían la versión básica de la red semántica del museo y que con el tiempo se vería ampliada. Esto se debe a que ROBINT siente “curiosidad por aprender”. No es viable que a priori lo conozca todo, por tanto se hace necesario que la red semántica pueda crecer e ir incorporando nodos nuevos.

Como se detallará en capítulos posteriores, el fichero que sirve como base para la creación de la ontología básica de la que va a partir el robot, contiene todas las palabras de la lista que ya ha sido mencionada con sus respectivos paths hasta llegar al máximo nivel de abstracción. Todos los nodos que aparecen en este fichero han sido contrastados con la categorización que hace MultiWordNet y aunque la mayoría de los paths coinciden con los originales de MultiwordNet en ocasiones hemos llevado a cabo una simplificación eliminando aquéllos nodos intermedios que hemos considerado que apenas aportaban información relevante que contribuyese significativamente a diferenciar un “sense” concreto del resto de los “senses”.

5.4 Perl

5.4.1 ¿Qué es?Perl = Practical Extraction and Report Language

Su creador fue Larry Wall. Se trata de un lenguaje que, aunque nació con el objetivo principal de facilitar las tareas de administración de un sistema UNIX, hoy se considera como un lenguaje de propósito general, y una de las herramientas más empleadas por los webmasters y los usuarios de Internet.

Puesto que en un principio fue diseñado para UNIX, ha heredado ciertas estructuras de los intérpretes de los comandos UNIX. Perl busca hacer que la labor de escribir scripts resulte “algo” más sencilla. Cabe resaltar el empleo intencionado del término “script” en lugar de “programa”. El concepto de “script” alude a programas que van a ser interpretados. De acuerdo con esto, por lo que aquí se ha utilizado “script” y no “programa” es porque se busca un acceso automatizado a MultiWordNet, sin que medie la intervención del usuario para introducir manualmente las órdenes a través de la línea de comandos. Así, en un fichero de extensión .BAT se han almacenado las órdenes correspondientes y desde nuestro programa, con una simple llamada al sistema (system) y pasándole los parámetros adecuados, evitamos que sea el usuario quien tenga que introducir por la entrada estándar las órdenes pertinentes en cada acceso a MultiWordNet.

La versión de Perl empleada en este proyecto es ActivePerl, una versión compatible con WindowsXP. De hecho, aunque en sus inicios Perl estaba diseñado exclusivamente para sistemas operativos tipo UNIX, hoy se puede contar con versiones para prácticamente la totalidad de los sistemas operativos. En este sentido, Perl se ha convertido en un lenguaje multiplataforma, cuyos scripts son compatibles entre las diversas plataformas.

5.4.2 UtilidadCuando fuimos conscientes de la existencia de la versión castellana de WordNet y de la

posibilidad de acceder a ella a través de una web se puso de manifiesto un problema al que debíamos hacer frente. A grandes rasgos WordNet es una mezcla entre diccionario y ontología. Se caracteriza porque utiliza frames. Llegados a este punto se hizo patente la necesidad de hacer un programa para automatizar el acceso a la información que muestra el navegador.

Perl es la herramienta que ha hecho posible el acceso a MultiWordNet en este trabajo. La forma del lenguaje facilita la tarea de construir programas de forma “rápida” pero que al mismo tiempo, funcionen. Esto lo convierte en una herramienta útil para hacer “prototipos rápidos” antes de “perder” tiempo en programar algo de forma más eficiente que luego no vaya a resultar útil o práctico.

La aplicación de Perl a este proyecto está orientada al tratamiento y generación de ficheros de texto. Concretamente, hemos encontrado una aplicación práctica de la herramienta en la escritura de CGI

E.T.S.I. Telecomunicación (U.P.M.) 96

Page 97: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

(common gateway interface), o scripts ejecutados desde páginas de la World Wide Web. A través de Perl somos capaces de acceder a la página de MultiWordNet [MultiWordNet 2005] y realizar búsquedas de palabras. Los resultados de dichas búsquedas serán convenientemente almacenados en un fichero de texto con extensión .DEP que más tarde será procesado por nuestro programa. Todo este conjunto de órdenes las podemos encontrar almacenadas en un script con extensión .BAT

Fig. 5.3 wnsp.bat

5.4.3 “wnsp.bat”Con el fin de automatizar el acceso a MultiWordNet desde el programa que hemos desarrollado

en este proyecto fin de carrera hemos creado un ejecutable al que podemos invocar desde el bucle Main del proyecto de Visual

Dado el vastísimo alcance de MultiWordNet y la cantidad de “senses” disponibles para una misma palabra, hemos optado por realizar 5 búsquedas en MultiWordNet para cada uno de los términos que no estén presentes en la red del museo. Así, se le da al usuario la oportunidad de poder elegir entre múltiples opciones, sin que ello suponga una considerable sobrecarga del sistema.

5.4.4 “wnsp.PER”Es el archivo que emplea “wnsp.bat”, descrito en el apartado anterior. Este fichero contiene una

serie de órdenes y comandos cuya finalidad es la de posibilitar el acceso a MultiWordNet y almacenar los resultados en un fichero de extensión .dep.

Como ya hemos comentado, el programa se invoca desde el fichero .BAT, y cada llamada a wnsp.PER nos permite realizar una consulta a MutiWordNet. Dado que nosotros hemos optado por obtener 5 acepciones (senses) por cada palabra que no pertenezca al dominio del robot, en el fichero .BAT hemos implementado un bucle, a fin de que la llamada a wnsp.PER se repita 5 veces. El fichero donde quedarán almacenados los resultados de la búsqueda en MultiWordNet se llamará wnspj.dep, donde j irá tomando los valores del 1..5 en función de la acepción que se haya buscado.

Fig. 5.4 wnsp.bat

A continuación vamos a proceder a dar una descripción funcional de la secuencia de procesos que se van a ir desencadenando a medida que se ejecute el fichero wnsp.per que nos ocupa. Trataremos de no entrar en cuestiones de muy bajo nivel, pero sin pasar por alto ciertos aspectos que podrían tener una importancia especial de cara a la explicación que estamos tratando de transmitir.

Algunas consideraciones importantes antes de entrar de lleno a explicar la secuencia de órdenes y comandos que figuran en el archivo .per son:

E.T.S.I. Telecomunicación (U.P.M.) 97

Page 98: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

En primer lugar, se trata de un programa que proporciona información al usuario acerca de la evolución del mismo, es decir, notifica a través de mensajes (ya sean de error o no), algunos hechos que se pudieran ir produciendo. La impresión de dichos mensajes se realiza, bien por la salida estándar, o bien por la salida estándar de error.

otro aspecto a tener en cuenta es el empleo de librerías, las cuales nos proporcionarán las clases y los métodos necesarios para realizar el acceso a MultiWordNet, descarga de la página y todo el conjunto de acciones que ello conlleve. En concreto, las que aquí se utilizan son :

- una librería de gestión de transacciones web mediante el protocolo http- una librería que permite hacer clientes en Perl

además, para almacenar resultados intermedios se ha recurrido al empleo de variables, sobre las cuales se irá operando según proceda.

Cabe reseñar que el objetivo global es conocer la ubicación de una palabra dentro de la ontología de MultiWordNet atendiendo a los nodos intermedios (hiperónimos= es-un). La información que se desea obtener es acerca de su path hasta el máximo nivel de abstracción (entidad). Este proceso se compone de un doble acceso a web. En un primer acceso, se extraerá la información correspondiente al identificador de la palabra buscada y al identificador de sesión. Manteniendo ambos, y si la primera búsqueda ha tenido éxito, se lleva a cabo una segunda búsqueda que se concreta en la parte que realmente constituye nuestro foco de interés: la relación de nodos intermedios.

Sin más demora, pasamos a describir la secuencia de acciones en las que se incurre para lograr nuestro objetivo:

Un paso indispensable para no perder la información correspondiente a los resultados de las búsquedas en MultiWordNet será almacenarla en un fichero. Para ello se dispone de la función “open” que nos permitirá la creación de un fichero en modo salida con extensión .dep. No obstante, si este fichero no fuese posible abrirlo, el sistema nos lo notificaría a través de un mensaje y terminaría automáticamente.

Tras una declaración de las variables y la inclusión de las librerías del programa, comienza la función de búsqueda.

A través de la línea de comandos, se pasa el término que se desea buscar, al mismo tiempo que se imprime en el fichero destinado a volcar los resultados. El nombre de la URL a la que hay que acceder es prácticamente constante si no fuera porque la dirección incluye la palabra que es objeto de la búsqueda, y este elemento es variable. De ahí que la URL resultante sea el resultado de la concatenación de dos strings constantes, unidos por el carácter punto ‘.’ y entre ambos el término que se desea buscar.

Configurada la dirección de acceso se guardará en una variable, para poder acceder a la página pedida, descargarla, y ésta a su vez almacenarla en otra variable. Llegados a este punto, entrará en juego la variable estándar. Sobre dicha variable será necesario realizar una serie de sustituciones a fin de obtener el identificador de la palabra, así como el identificador de sesión, e imprimirlos en el fichero de resultados. De esta forma, podremos proceder a realizar otra búsqueda conservando tanto la palabra buscada, como el identificador de sesión.

E.T.S.I. Telecomunicación (U.P.M.) 98

Page 99: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

Sin perder de vista el objetivo global, que es obtener la clasificación de la palabra dentro de la ontología de MultiWordNet, es decir, la relación de nodos intermedios (los hiperónimos), el siguiente paso consistirá en realizar un nuevo acceso y descarga a la parte de Hypernyms. Análogamente a como procedimos en el caso anterior, se accede a la página correspondiente, se descarga, se almacena el resultado en una variable y se divide el texto de la página en un array de strings. La página contendrá texto que no nos interesará guardar, y por tanto, sólo imprimiremos en el fichero de resultados aquél que sea posterior a la primera acepción (sense).

Finalmente, para que todo sea correcto, se debe cerrar el fichero de resultados .dep que se abrió al comienzo.

*61

5.5 8603_.ord

Es un diccionario creado manualmente a partir del fichero 860.ord, que contiene los principales tipos de determinantes en castellano:

Artículos determinados Artículos indeterminados Determinantes demostrativos Determinantes posesivos Determinantes indefinidos

61 En el apéndice 7B se han incluido algunos cuadros que contienen una relación de los símbolos y las funciones más importantes que aparecen en este fichero .per a fin de si hubiera alguna persona interesada en la parte estrictamente de código, pudiese resultarle más inteligible su lectura.

E.T.S.I. Telecomunicación (U.P.M.) 99

Page 100: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

5.5.1 El formato del diccionarioAparece una palabra por línea, y están agrupadas en función del tipo. Cada línea a su vez está formada

por la palabra (determinante), seguida de un espacio y a continuación su etiqueta, de acuerdo con la nomenclatura empleada en [Montero 2003]. Por último, las palabras no pueden contener espacios entre medias, es decir, si por ejemplo un determinante está formado por varias palabras, los espacios se sustituyen por el carácter ‘_’.

Fig. 5.5 Esquema del fichero 8603_.ord

Fig. 5.6 8603_.ord

Fig. 5.7

el espacio sólo sirve para separar la palabra de su etiqueta (tag).

Las palabras no pueden contener espacios entre medias.

E.T.S.I. Telecomunicación (U.P.M.) 100

Page 101: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

5.Herramientas

5.5.2 El conjunto de determinantesPor tratarse simplemente de una primera versión que se empleará a modo de prototipo, nos

hemos abstenido de incluir todos los posibles determinantes que existen en castellano y nos hemos limitado a los más frecuentes.

Por proceder del archivo “860.ord”, se han tomado los determinantes que allí aparecían y lo que hemos hecho ha sido eliminar el resto de los elementos de dicho diccionario (signos de puntuación, adjetivos, sustantivos, pronombres,…)

Tipo Etiqueta Número

Determinados D00.._62.*63.. 7

Indeterminados D01.._.*.. 4

Relativo D02.._.*.. 4

Indefinido D03.._.*.. 12

Posesivo D06.._.*.. 20

Demostrativos D08.._.*.. 12

Tabla 7: determinantes etiquetados para generar alternativas

5.6 Otras funciones

Queremos apuntar que para poder generar frases, realizar las búsquedas en Google de los términos bien escritos64 y adaptar strings, ha sido necesario generar una serie de funciones que permitiesen eliminar ciertos signos de puntuación, espacios, funciones de sustitución de unos caracteres por otros dentro de un string, e incluso funciones de acentuación.

62 _ = NÚMERO: S (singular), P (plural), N (neutro)63 * = GÉNERO: M (masculino), F (femenino), N (neutro), O (otro)64 “vehiculo_de_motor” no produce el mismo número de hits que “vehículo de motor”

E.T.S.I. Telecomunicación (U.P.M.) 101

Page 102: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Capítulo 6Capítulo 6 Descripción FuncionalDescripción FuncionalA continuación daremos paso a una descripción de cómo el desarrollador del museo sería capaz

de incorporar nuevos textos al modelo de lenguaje del robot de manera fácil y semiautomática para una nueva exposición. En este capítulo se va a hacer especial énfasis en el aspecto funcional pero buscando el punto óptimo para no adentrarnos en cuestiones puramente técnicas que nos alejen de una percepción global del funcionamiento del sistema.

Para facilitar la comprensión por parte del lector/a se ha estimado oportuno servirnos de un apoyo gráfico, [Fig. 6.1]. Aquí aparece plasmado el entorno de trabajo del robot, y nos servirá para ir explicando pormenorizadamente los diversos módulos que han tomado parte en el desarrollo de este asistente de modelos de lenguaje para robots inteligentes con capacidad de comunicación hablada. A fin de que la representación gráfica resultase más ilustrativa y fácil de entender, se ha recurrido al empleo de distintas formas geométricas y colores que estarán asociados a cierta información que permita hacer una distinción atendiendo a una tipología en concreto. Así, la forma geométrica sirve para distinguir lo que son datos (cilindros), de lo que son programas (cajas). Análogamente, el utilizar un color u otro va en función de las relaciones que puedan establecerse entre los distintos elementos que aparecen mostrados en la figura. Para denotar que el entorno de trabajo debe constituir una unidad, es preciso que en esta representación, no aparezcan elementos aislados. El hecho de que todos los elementos estén ligados unos con otros, será lo que dote de la coherencia y unicidad necesarias a las que nos estamos refiriendo. El entorno no puede entenderse como un conglomerado de distintas partes independientes entre sí, sino que dichas partes deben interactuar unas con otras dando consistencia y unidad al sistema. Por último reseñar que las relaciones entre elementos vendrán dados por flechas que parten siempre de un origen, para llegar a un destino (representado por la punta de la flecha).

Fig 6.1Entorno de desarrollo del robot

6.1 Funcionamiento general

E.T.S.I. Telecomunicación (U.P.M.) 102

Page 103: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

La caja representada en línea discontinua es el marco donde se engloba este proyecto fin de carrera; es decir, se incluye todo aquello que esté relacionado con la generación de variantes tanto en el plano relacional (variantes ontológicas) como en el plano lingüístico (variantes morfosintácticas). Asimismo, para las variantes de tipo morfosintáctico contaremos con una serie de reglas que serán aplicadas para ir generando las distintas variaciones.

En primer lugar, vamos a partir del desarrollador del museo, representado por la imagen de una mujer que aparece frente a la pantalla de su ordenador. Obsérvese cómo del desarrollador salen tres posibles ramas.

Centrémonos por el momento en la rama de la derecha denominada “frases demo”

El desarrollador será quien se encargue de generar una serie de frases que son las que recibirá el asistente. Dichas frases serán analizadas por un analizador sintáctico. Simplemente comentar, a modo de recordatorio, que el analizador empleado en este trabajo está implementado a través del programa sintax, y ha sido desarrollado por el Grupo de Tecnología del Habla. Sintax, haciendo uso de una serie de herramientas, produce como resultado el análisis sintáctico de una frase. Dentro de las herramientas que utiliza el analizador podríamos incluir una serie de diccionarios generales, reglas morfológicas, desambiguadores y reglas sintácticas, así como una base de datos de rección yde FrameNet.

Cabe reseñar que el Asistente es un programa independiente de Sintax. En forma esquemática, la secuencia de pasos es la siguiente:

1. Preparación del sistema: con el fin de evitar volver a procesar ficheros anteriores, o cometer errores de acceso a información que todavía no está disponible, realizamos un borrado de todos los ficheros que pudieran resultar conflictivos, especialmente para el proceso de comunicación entre analizador y asistente.

2. Cargar la información: aquí aludiremos a dos tipos de información:- - En primer lugar, se cargará en memoria un fichero que contenga las frases de demostración que actualmente conoce el robot. Es lo que en el dibujo se ha representado como “frases demo”- - También en esta fase de carga de datos haremos referencia a toda la información relativa tanto al componente léxico (diccionarios, bases de datos relacionales), como al componente sintáctico (gramática; las reglas que regirán qué combinaciones de palabras son posibles para formar una oración, reglas de concordancia,…)

3. Acondicionamiento de la información: el fichero de “frases demo” habrá que acondicionarlo y dividirlo en otros ficheros para distinguir una serie de frases y/o expresiones que recibirán un tratamiento especial.

4. Arrancar sintax: es necesario que manualmente el desarrollador ponga en marcha el analizador para que pueda funcionar en paralelo con el asistente.

5. Procesamiento del fichero de frases: cada línea del fichero constituye una nueva frase. El programa va leyendo línea a línea, y mientras haya frases que procesar irá generando las variantes sintácticas de dichas frases.

Una vez que se ha leído el fichero completo, habremos generado todas las posibles variantes en el plano morfo-sintáctico, y esto es precisamente lo que simboliza el cilindro correspondiente a “frases morfo-sintácticas”

La rama central consiste en lo que podríamos llamar una “Representación del dominio”

Manualmente se ha seleccionado un conjunto mínimo de palabras que pudieran venir a representar lo que sería el dominio del robot. Este conjunto de palabras queda englobado dentro de un árbol semántico basado en una ontología. En él se ponen de manifiesto las distintas relaciones semánticas que pueden darse entre las palabras, y de esta forma se consigue que el dominio en el que se va a mover ROBINT adopte una configuración jerarquizada en varios niveles relacionales en función de sus respectivos grados de abstracción.

Estableciendo una analogía con el dibujo: se parte de una “Representación del dominio”, que contendrá un conjunto de palabras, susceptibles de aparecer en el contexto en el que se va a desenvolver el robot (museo, exposición…) a partir de dicha representación del dominio se creará una estructura jerárquica en forma de árbol ontológico donde se pondrán de manifiesto las relaciones semánticas que pueden darse entre las

E.T.S.I. Telecomunicación (U.P.M.) 103

Page 104: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

palabras. En definitiva, esto constituye una forma de llevar a cabo una categorización de la realidad y es lo que se ha representado como “Dominio: Árbol + relaciones”

La rama de la izquierda va a contemplar la incorporación de nuevos términos al modelo

de lenguaje del robot a partir de un texto en el que se describa el dominio.

En este caso lo que vamos a tener va a ser un fichero de texto constituido por un conjunto de frases donde se describa el dominio de ROBINT: “Frases descripción dominio”. Dichas frases se irán analizando sintácticamente, y a partir de la categorización de las palabras del texto, se irán extrayendo los sustantivos. Aquéllos términos que resulten desconocidos para el robot podrán ser incorporados a la red semántica del museo, a la red semántica de la exposición en concreto, a ambas o a ninguna, según lo que el desarrollador estime oportuno.

Como elemento adicional el asistente podrá incorporar al modelo de lenguaje, “frases

extra-dominio”

Por “frases extra-dominio” entendemos aquéllas preguntas o comentarios que los visitantes, de forma espontánea pudieran formularle al robot. Éste módulo ha sido desarrollado a modo de elemento sorpresa, puesto que, aunque inicialmente no estaba previsto que fuera abordado por este trabajo, en nuestro afán de superación y de batir nuestros propios límites, y puesto que las circunstancias se prestaban a ello, hemos querido incluir algo que resultase original y con carácter interactivo.

Por último, en la [Fig. 5.2] se pretende dar una panorámica general acerca de los distintos módulos que van a ser cubiertos por este proyecto fin de carrera.

Fig. 6.2Clasificación por colores de los módulos que intervienen en el entorno de desarrollo del robot.

E.T.S.I. Telecomunicación (U.P.M.) 104

Page 105: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.2 “Asistente de modelos de lenguaje para robots inteligentes con capacidad de comunicación hablada”

Haciendo una breve reseña histórica, y yendo a los orígenes etimológicos de la palabra “asistente” nos encontramos con que:

“asistente” -> procede del latín “assistens, -entis”,-> “asistir”. “socorrer, ayudar, servir o atender a una persona desempeñando tareas específicas”

Hoy se habla de que la tecnología debe estar al servicio del ser humano y de la sociedad para hacer del mundo un lugar más habitable y hacer que nuestras vidas sean un poco más fáciles, cómodas y estén dotadas de mayores ventajas. La investigación científico-tecnológica debería estar orientada a desarrollar todo aquello que pudiera ayudar al hombre actual en el desempeño de sus tareas. Lo que en este trabajo hemos venido desarrollando es acorde con esta finalidad a la que acabamos de hacer mención. En el contexto socio-cultural en el que nos venimos moviendo en los últimos años, cada vez es más frecuente la presencia de máquinas en los distintos ámbitos de nuestra vida diaria: en nuestro hogar, en nuestro lugar de trabajo, en los lugares de ocio, …Los últimos avances de la ciencia ya nos presentan incluso a seres con una apariencia cuasi-humana que pretenden incorporar nuestros rasgos característicos y adoptar unos comportamientos similares a los nuestros. Estas máquinas han venido a denominarse “robots”, y en la medida en que van siendo capaces de desempeñar tareas que muchas veces involucran el razonamiento humano, van adoptando el calificativo de “inteligentes”. Pero para que estos “robots inteligentes” sean bien aceptados en el seno de la sociedad actual, y para que la comunicación entre los hombres y las máquinas resulte, no ya sólo inteligible, sino también natural, es preciso dotarlos de la “capacidad de comunicación hablada”. Este proyecto fin de carrera gira en torno al desarrollo de una herramienta orientada a “facilitar” o “hacer más sencilla” la labor del “desarrollador de un museo” cuando tiene que preparar una exposición.

Se está poniendo de moda el uso de lo que se empieza a llamar “robots de servicios”. Al hilo de esta exposición, los “robots de servicios” pueden considerarse como un tipo de “robots inteligentes” y si encima van a actuar como guías en un museo de ciencias, o simplemente como divertimento para los visitantes de una exposición, será materia obligada que tengan la capacidad de comunicarse oralmente y entablar una conversación “razonable” con un ser humano. Ello implica que el robot deberá tener una base de conocimiento lo suficientemente amplia como para poder “entender” lo que el locutor le quiere transmitir, y devolver una respuesta “coherente”, que se asemeje, en la medida de lo posible a la que pudiera dar una persona “razonablemente inteligente” en las mismas (o similares) circunstancias. Lamentablemente, la capacidad tanto de almacenamiento, como de procesado de información de los sistemas y dispositivos físicos actuales, está enormemente limitada. Esto impide que un robot posea un conocimiento infinito que hiciera posible que “entendiese” todo lo que le pudiese contar un humano, y obrar en consecuencia. Por otra parte, resultaría una labor muy costosa y tediosa el que un desarrollador tuviese que introducir manualmente todas y cada una de las frases que pudieran decir los asistentes a un museo cada vez que tuviese que programar al robot para que desempeñase un papel en una exposición. Un factor que adquiere un carácter especial es el del entorno cambiante. Generalmente, los museos actualizan el contenido de sus exposiciones cada muy breves espacios de tiempo (unos días, una semana, dos semanas (a lo sumo)). ¿Se imagina el/la lector/a lo costoso que resultaría para el desarrollador tener que introducir manualmente, cientos de frases y expresiones susceptibles de aparecer en el contexto en el que se va a desenvolver el robot, cada vez que tiene que programarlo para su intervención en una nueva exposición? He aquí la aplicación práctica de nuestro asistente. Nuestro trabajo se va a centrar en generar variantes lingüísticas a partir de una serie de frases, en dos niveles:

en el plano sintáctico: variantes sintácticas en el plano relacional: variantes semánticas

Las variantes morfo-sintácticas consistirán principalmente en variar el tipo de determinante, variaciones de número,…

Las variantes ontológicas, sin embargo, consistirán en la incorporación de nuevos términos o expresiones que no pertenecen al dominio del robot. De esta manera, el robot no necesita tener

E.T.S.I. Telecomunicación (U.P.M.) 105

Page 106: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

a priori un conocimiento infinito de la realidad, sino que lo puede ir aprendiendo y ampliando a medida que interacciona con los humanos, al igual que hacen los niños. No olvidemos que otro de los aspectos que iba a contemplar nuestro proyecto era el dotar al robot de pequeños rasgos de humanidad.

En definitiva, y a modo de conclusión, el presente proyecto satisface los objetivos de un asistente ya que su uso va enfocado a “ayudar” y “facilitar” las tareas del ser humano:

“El asistente que hemos creado hará más sencilla la labor del desarrollador de un museo cada vez que

deba programar a un robot inteligente para que tome parte en una exposición”

La misión del asistente es la de efecto multiplicador: facilitar la tarea del humano a la hora de generar posibles frases con las que se podría encontrar el robot en el museo.

El asistente construirá varias frases del mismo estilo que una dada variando elementos que conoce. El humano se limitará a leer y validar las frases ofrecidas por dicho asistente.

No obstante, nos vamos a colocar en el caso peor: supondremos que el humano sabe lo menos posible, de manera, que si en esas condiciones funciona el asistente, las probabilidades de éxito serán mayores. Con todo queda pues probado, que estamos ante un trabajo práctico y útil para el ser humano y la sociedad en su conjunto.

Como introducción a los siguientes apartados, baste dejar constancia de que este proyecto fin de carrera se puede estructurar en dos “sub-proyectos”:

- asistente.dsw: atiende al concepto de variantes en el plano sintáctico

E.T.S.I. Telecomunicación (U.P.M.) 106

Page 107: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Fig. 6.3Esquema por bloques. Generación de variantes morfo-sintácticas

- tree.dsw: abarca tanto el plano relacional u ontológico, como lo relativo a la incorporación de

terminología a partir de frases extra-dominio.

E.T.S.I. Telecomunicación (U.P.M.) 107

Page 108: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Fig. 6.4Esquema por bloques. Generación de variantes ontológicas. Frases extra-dominio

6.3 “Frases demo”

A continuación describiremos el aspecto funcional de la generación de variantes en el plano sintáctico, es decir, atendiendo a la estructura y a las reglas gramaticales que rigen qué construcciones son correctas en una lengua65 y cuáles no. En este apartado, del entorno de trabajo del robot, representado en [Fig. 5.1] e [Fig. 5.2] dirigiremos nuestra atención a los módulos que van a intervenir a la hora de construir nuevas frases que incorporen alteraciones o modificaciones a nivel de sintaxis.

La parte práctica de implementación, como ya se ha mencionado anteriormente, se encuentra desarrollada en el proyecto “asistente.dsw”. A continuación vamos a proceder a dar una explicación algo más detallada de cómo a partir de un conjunto de frases es posible generar otras que difieren en el plano morfo-sintáctico.

65 Que a nuestros efectos será el castellano

E.T.S.I. Telecomunicación (U.P.M.) 108

Page 109: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Fig. 6.5 Clasificación por colores de los módulos que intervienen en la generación de variantes morfo-sintácticas

6.3.1 Preparación del sistemaEsta fase consistiría en un paso cero en el cual el objetivo sería que el sistema partiese de una

situación inicial en la cual no pudieran producirse errores tales como: procesamiento de ficheros que contienen análisis anteriores interpretar como nuevos ficheros antiguos tratar de acceder a información que todavía no está disponible errores de sincronización debido a que algún flag se ha quedado activado cuando no debería

estarlo…

Con la intención de diseñar una herramienta que esté dotada de cierta robustez frente a fallos de funcionamiento, y procurando prevenir en la medida de lo posible este tipo de situaciones de riesgo o de conflicto, hemos optado por añadir una primera fase del proceso en la cual se van a llevar a cabo dos tareas principalmente:

1) inicialización de variables al valor correspondiente2) borrado de ficheros cuya existencia pudiera dar lugar a equívocos que derivasen en fallos de

funcionamiento, o simplemente en la obtención de resultados incorrectos e inesperados.

Fig.6.6 borrado de ficheros

E.T.S.I. Telecomunicación (U.P.M.) 109

Page 110: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.3.2 Cargar la información

6.3.2.1 dicctena

La sintaxis, según la Real Academia de la lengua Española (RAE), es la rama de la lingüística que estudia:

la forma en que se combinan y relacionan las palabras para formar secuencias mayores y oraciones el orden y modo de relacionarse las palabras dentro de la oración, o las oraciones dentro de un discurso

Resulta casi intuitivo darse cuenta de la necesidad de disponer de una base de datos donde se recojan las normas a las que acabamos de referirnos unas líneas más arriba. Esta información engloba la componente tanto léxica (diccionarios, bases de datos relacionales), como sintáctica (gramática; reglas gramaticales, reglas estructurales,…). La carga se lleva a cabo a través de la función CargarDicctena.

Fig.6.7 carga del módulo Dicctena

Una vez que se llama a esta función, toda la información necesaria para que el analizador sintax lleve a cabo su misión estará disponible para el resto de análisis que se deseen llevar a cabo. Por el hecho de que inicialmente hay que volcar al sistema el módulo de dicctena, y eso supone una considerable cantidad de información, el análisis de la primera frase resultará más lento que el resto. De ahí que lo que se hace es pasarle al analizador, la primera vez, una frase breve, sencilla de analizar y que sepamos que funciona. De esta forma aseguramos que todo acontece de la manera esperada y los posteriores análisis ya resultarán menos lentos.

6.3.2.2 robint_TXT.txt

El otro aspecto a tener en cuenta durante la fase de “Volcado de información al sistema” es la carga de un conjunto de frases de experto al que nombraremos “frases demo”.

Realmente este conjunto de frases se encontrarán recogidas en un fichero cuyo contenido serán las frases de demostración que actualmente conoce el robot. Dando todavía más detalles podemos precisar que el nombre de este fichero es “robint_TXT.txt”. No obstante, a lo largo del desarrollo del proyecto, se han empleado sucesivas versiones derivadas de este fichero inicial:

para la etapa de experimentación se creó robint_TXT_modificado.txt: estaba compuesto por un número más reducido de frases y muchas veces sólo contenía las frases que aparentemente provocaban fallos en el funcionamiento. Este fichero iba siendo modificado en función de los problemas que nos fueran surgiendo. robint_TXT por trozos: actualmente, dadas las limitaciones del PC, nos hemos visto obligados a realizar tres subdivisiones o “trozos”, del fichero original “robint_TXT.txt”:

robint_TXTmodificado_trozo1.txt

robint_TXTmodificado_trozo2.txt

robint_TXTmodificado_trozo3.txt

Ello favorece la posibilidad de que la ejecución del programa provoque una menor sobrecarga para el equipo y se gane en velocidad y eficiencia.

E.T.S.I. Telecomunicación (U.P.M.) 110

Page 111: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Fig. 6.8 fichero de frases demo + variantes

6.3.3 Acondicionamiento de la informaciónPoniéndonos en un caso real nos vamos a encontrar con que no todas las frases pueden dar lugar

a variantes de tipo sintáctico. Pensando en maximizar la eficiencia empleando el mínimo de recursos cabría plantearse un tratamiento especial para aquéllas frases o expresiones de las que no fuera necesario generar alternativas lingüísticas, al menos en lo que a la sintaxis se refiere. Este hecho se pone de manifiesto en la forma que vamos a detallar a continuación:

- El fichero de entrada (robint_TXT.txt) contiene una gran diversidad de frases. Estudiando cada una de las frases demo contenidas en el mismo, se ha llegado a la conclusión de que ciertas frases o expresiones entre las que cabe citar insultos, saludos, y un conjunto determinado de frases cuya invarianza sintáctica les es inherente, no podrán generar variantes (al menos en el plano estructural y morfológico).

- Con esta idea en mente se han creado tres ficheros con los elementos que no van a generar alternativas:

“prohibidas.txt”; “insultos.txt”; “invariantes.txt”

- A continuación se ha creado una rutina que lo que va a permitir es extraer del fichero de “frases demo”, aquéllas que resultan invariantes. “generaListas”, extrae del fichero de entrada los “elementos invariantes” y los almacena en tres listas distintas según corresponda.

lista_de_prohibidas; lista_de_insultos; lista de _invariantes;

La justificación de que se haya optado por partir de ficheros de elementos invariantes (“prohibidas.txt”; “insultos.txt”; “invariantes.txt”) estriba en dejar abierta la posibilidad de incorporar nuevos elementos a los ficheros y así ampliar el repertorio, puesto que no debemos olvidar que lo que aquí se está desarrollando no es más que un prototipo o demostrador; en definitiva, una primera versión susceptible de ir creciendo y ser mejorada. La distinción entre “elementos especiales” que no generarán variantes sintácticas (los que pertenezcan a las listas (lista_de_prohibidas; lista_de_insultos; lista de _invariantes)) y el resto de las frases y expresiones que sí las generarán dará pie a llevar a cabo un tratamiento de la información más eficiente en función de su tipología.

E.T.S.I. Telecomunicación (U.P.M.) 111

Page 112: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.3.4 Arrancar sintaxComo ya se ha mencionado en capítulos anteriores, una buena parte de este proyecto se

apoya en el uso del analizador sintax. Puesto que lo que queremos es generar variantes de tipo sintáctico, es casi intuitivo pensar en la

necesidad de un analizador que nos proporcione información acerca de la estructura y de qué elementos componen las frases que queremos que sean alteradas. Dado que se ha dedicado un capítulo completo a la explicación del analizador, por el momento no entraremos en un mayor nivel de detalle acerca de su funcionamiento. No obstante sí queremos puntualizar que, a fin de facilitar la interacción y concurrencia entre el analizador y el asistente hemos creado un ejecutable denominado “sintax.bat”.

Abriendo una ventana de MS-DOS, nos vamos al directorio donde esté guardado sintax, y tecleamos por la línea de comandos la palabra sintax.

De esta forma, queda arrancado el analizador, que empezará a ejecutarse en paralelo con el asistente. El asistente le irá pasando las “frases demo” una a una; el analizador las analiza sintácticamente y va almacenando el resultado del análisis en el fichero texto.mincrg que será el que posteriormente será procesado por el asistente para conseguir generar las variantes.

Fig. 6.9 El asistente lee una frase y se la pasa al analizador

Fig. 6.10 el analizador la recibe y realiza el análisis

Fig. 6.11 genera texto.mincrg

Fig. 6.12 el asistente recibe texto.mincrg y lo procesa

La sincronización entre el analizador y el asistente es mediante un fichero. El analizador, una vez que ha concluido el análisis de una frase, avisa al asistente creando: “fichero_de_ayuda.etq”

E.T.S.I. Telecomunicación (U.P.M.) 112

Page 113: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Fig. 6.13 fichero_de_ayuda.etq

Un método alternativo para arrancar sintax sin tener que recurrir al ejecutable consiste en abrir de nuevo el programa Visual y ejecutar directamente el proyecto sintax.dsw. Esta forma resulta mucho más apropiada durante la fase de depuración.

Fig. 6.14 sintax.dsw

6.3.5 Procesamiento del fichero de frasesCada línea del fichero de “frases demo” constituye una frase o expresión de la cual habría que

generar variantes. El programa va leyendo línea a línea, y mientras haya frases que procesar irá generando las variantes sintácticas de dichas frases. Por tanto, los pasos a seguir en este procesado de frases quedan resumidos en los que se relatan a continuación:

1) El programa lee una línea del fichero de frases de entrada. Para no perder esta información y que esté disponible para otras rutinas o métodos, por cada línea leída generamos un fichero que la almacene denominado “texto.ini”66

2) como cada línea constituye una frase, comprueba si dicha frase pertenece al conjunto de elementos que no admiten variantes sintácticas.67

Si la frase es invariante, recibirá un tratamiento especial que consiste en que no es necesario que sea analizada y procesada por el analizador.

Si la frase puede dar lugar a variantes sintácticas, se le pasará al analizador para que sea analizada.

3) El asistente debe estar diseñado de manera que sea posible su integración con el analizador sintáctico. Así, el funcionamiento del asistente deberá ser complementario al del analizador, como si se estableciese una aplicación entre cliente y servidor:

El asistente sería el cliente que le pide al analizador (servidor) que le analice una frase de la que quiere generar variantes morfo-sintácticas.

4) Siendo coherentes con el funcionamiento de sintax, por cada frase que sí debe ser analizada por el módulo sintax, se genera un fichero .NOT (texto.not)

66 Por guardar una semejanza con el modo de funcionamiento del analizador, el fichero que guarda la frase de entrada siempre recibe el mismo nombre

67 Se comprueba si la frase pertenece a una de las listas generadas en el paso 5.4 (lista de invariantes, lista de insultos o lista de prohibidas)

E.T.S.I. Telecomunicación (U.P.M.) 113

Page 114: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

5) Para que no haya problemas de procesar dos veces un texto ya analizado, se borra el fichero etiquetado que hubiera previamente almacenado en la memoria, y a continuación se genera el fichero “valido.dep” para indicarle al analizador que ya está disponible un nuevo texto de entrada esperando a ser analizado.

6) Una vez que se han llevado a cabo todas estas acciones, el asistente se queda esperando a que el analizador efectúe el análisis de la frase correspondiente. Como ya comentamos, el analizador avisará al asistente de que el análisis ha concluido, a través de un fichero (fichero_de_ayuda.etq) generado por el propio sintax.

7) cuando el asistente detecta la presencia de dicho fichero en el sistema, comienza el proceso de generación que explicaremos más adelante.

8) Concluida la generación de todas las variantes morfo-sintácticas posibles de una frase, se procede a una actualización de los flags y variables que intervienen en el proceso, así como un borrado de ficheros que podrían ocasionar malas interpretaciones por parte de los programas que se están ejecutando. Fallos de este estilo pueden derivar en la obtención de resultados inesperados o incorrectos en el sistema.

9) Las alternativas quedan recogidas en un fichero asociado a cada frase (fich_imprime.txt) y un fichero global destinado a recoger todas las variantes morfo-sintácticas de todas las frases procesadas por sintax.

10) Por último se pasa a la frase siguiente y se vuelve a repetir el mismo proceso de forma iterativa mientras queden frases no leídas en el fichero de “frases demo”

6.3.5.1 Descripción funcional del proceso de generación de variantes morfo-sintácticas.

Todas aquéllas frases del fichero de entrada, susceptibles de generar variaciones en el plano morfo-sintáctico recibirán el mismo tratamiento, que podríamos denominar “estándar”.

1) Por cada frase el asistente habrá generado un fichero de extensión .NOT y mandará un aviso al analizador informándole de que ya hay un nuevo texto de entrada para que se lleve a cabo su análisis.

2) Sintax detecta la presencia de “valido.dep” que constituye el fichero empleado en el protocolo de sincronización establecido entre ambos programas; analiza el fichero .NOT; genera el fichero texto.mincrg donde guarda el resultado del análisis y avisa a su cliente (el asistente) de que el análisis de la frase que le había solicitado, ha concluido.

3) El asistente detecta la notificación (presencia de “fichero_de_ayuda.etq”) y su primera reacción consiste en comprobar que el fichero que ha generado el analizador tiene el formato adecuado para que el asistente comience a procesarlo. En caso contrario se mostraría un mensaje de error.

4) Si todo es correcto, continuaremos con el proceso operando a nivel de sintagmas. Por lo tanto, a partir del texto de entrada y tras ser sometido a un análisis sintagmático podremos extraer los distintos sintagmas en los que se pueden descomponer las frases. Cada uno de los sintagmas se irá variando de manera independiente y al mismo tiempo se irá generando una estructura global (arrayfrases[]) que contenga todas las palabras de las frases con sus categorías asociadas.68

5) Una vez que para cada sintagma se han generado todas las alternativas correspondientes a todas las palabras que los componen, atendiendo al tipo de palabra, se pasaría a aplicar, si procede, las variaciones de número.

6) Finalmente, se llama a la rutina impr_sin_global que devolverá como resultado un fichero que contendrá todas las alternativas de todas las frases del fichero de entrada (frases demo = robint_TXT.txt69).

68 Lo que realmente se guarda en la estructura no es el nombre de la categoría gramatical, sino una etiqueta (tag)

69 O bien robint_TXTmodificado.txtO bien robint_TXTmodificado_trozo1.txtO bien robint_TXTmodificado_trozo2.txtO bien robint_TXTmodificado_trozo3.txt

E.T.S.I. Telecomunicación (U.P.M.) 114

Page 115: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.3.5.2 texto.mincrg

Consiste en un fichero que contiene la descomposición sintagmática del texto de entrada. Cada nueva línea constituye un sintagma70. Cada línea presenta la siguiente estructura:

‘\’ se emplea como separador entre palabras o entre tags que pertenecen a un mismo sintagma (o unidad estructural) ‘\ \’ se emplea como separador entre partes:- parte de palabras- parte de tags- parte de función sintáctica

6.3.5.3 Categorización gramatical.

En castellano podemos clasificar las categorías gramaticales en: CATEGORÍAS ABIERTAS: son aquéllas que admiten variantes de tipo morfo-sintáctico.- sustantivos- adjetivos- verbos- determinantes CATEGORÍAS CERRADAS: son aquéllas que no pueden ser alteradas sintácticamente- preposiciones- conjunciones- pronombres- adverbios- interjecciones

El analizador nos devolverá información en el fichero texto.mincrg que nosotros procesaremos, y a partir de él crearemos una estructura que nos permita manejar dicha información contenida en el fichero. Como cada línea es un sintagma, por cada línea se crea una estructura llamada ConjPartes, que guardará la información relativa a:

- qué palabras componen el sintagma- categorías gramaticales asociadas a las palabras (formalmente llamadas tags o etiquetas)

70 O más bien se toma como una unidad que posteriormente se descompondrá en sus elementos y se irá variando cada elemento

E.T.S.I. Telecomunicación (U.P.M.) 115

Page 116: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

- qué función sintáctica desempeña la unidad estructural considerada71

- número de palabras- número de tags

En este trabajo hemos contemplado algunas de las variaciones morfo-sintácticas de las categorías abiertas: sustantivos, los adjetivos, los determinantes y los verbos. Definiremos una variable global que apunte a la estructura que acabamos de introducir y que manejaremos en varias ocasiones a lo largo del programa

Como un último apunte antes de continuar queremos señalar que, dado que este proyecto no consiste en “reinventar la rueda”, sino que se apoya en proyectos anteriores, hemos querido adaptarnos en la medida de lo posible a la política de trabajo que hasta el momento presente se había venido desarrollando. Valga decir que, en este sentido se pone de manifiesto una tendencia a la codificación de etiquetas, el empleo de tags. Guardando coherencia con este hecho, simplemente apuntar que en dos rutinas creadas a lo largo del desarrollo del asistente, hemos procurado ser fieles a este método de trabajo:

6.3.5.3.1 cat_pal Se trata de una rutina creada con el fin de que sea capaz de categorizar una palabra. Como

resultado, devuelve un entero que represente un código indicando el tipo de categoría gramatical de que se trata.[Apéndice A1]

6.3.5.3.2 dime_tipo_det Es otra rutina que sigue la misma línea de categorización de palabras, con la salvedad de que en

este caso va referida a codificar el tipo de determinante. [Apéndice A2]

6.3.5.4 Búsqueda de sintagmas y variación de los mismos

Recordando que en un primer nivel vamos a operar a nivel de sintagmas, hemos creado una rutina (buscaSintagmas) que indique el número de unidades estructurales en que se puede descomponer una frase. Los sintagmas que se encuentren, se copiarán a un nuevo struct específico que hemos definido (TSintagma). Todo sintagma se compone de palabras, tags, tipo de sintagma de que se trata y número de palabras que lo componen.

71 lo que hemos llamado sintagma

E.T.S.I. Telecomunicación (U.P.M.) 116

Page 117: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Entrando ya de lleno en las variaciones de los sintagmas, llamaremos a la rutina variar_sintagmas, la cual, a su vez, llamará a la rutina modifica_un_sintagma, que a partir de un array de sintagmas original, devuelve otro modificado.

Aquí cabe hacer una distinción del tipo de palabra dentro de un sintagma, pues no todas admiten las mismas variaciones morfo-sintácticas. Para ello, por cada sintagma se va recorriendo palabra a palabra y mediante la rutina cat_pal, se categorizan.

6.3.5.4.1 Variaciones de los determinantes Puesto que en castellano hay varios tipos de determinantes la primera opción para generar

alternativas consiste en variar el tipo de determinante, para lo que se han creado diversas rutinas y métodos que faciliten las tareas.

Si al llamar a cat_pal, el resultado vale 0, será que hemos encontrado un determinante y la forma de proceder será:

dado un determinante, generar un array de alternativas.

Para cada posición del array habrá que variar el tag del determinante, variar la propia forma del determinante, e introducir también la función sintáctica del sintagma al que pertenece.

A la hora de generar el array de alternativas se ha procurado programarlo de manera que las funciones resulten muy

intuitivas para quien deba leer el código:cambia_a_demostrativo, cambia_a_determinado, cambia_a_indeterminado, …

Además de variar el tipo de determinante también es posible variar el número de los mismos, pasando de singular a plural y viceversa. Para ello lo que se hace, durante la llamada a amplia_y_rellena es, detectar los determinantes y llamar a dos rutinas:- cambia_el_numero: refleja los cambios de número en el tag 72

- modifica_palabra3: a partir de un diccionario de determinantes etiquetado y creado manualmente73, conocido un tag , se le cambia el número, y se ve a qué palabra del diccionario corresponde. Esta forma de proceder no era válida en el caso de aquéllos determinantes que tuvieran la misma etiqueta para distintos significantes: tal es el caso de los demostrativos y de los posesivos. Fue aquí donde se llevó a cabo una estrategia más inteligente y se pensó en implementar una ordenación razonable en el diccionario de determinantes de manera que se sabía que, el femenino se encontraba un cierto número de posiciones distante del masculino, y lo mismo ocurría para el plural masculino y el plural femenino.

72 donde ponga S pondrá P y viceversa

73 8603_.ord

E.T.S.I. Telecomunicación (U.P.M.) 117

Page 118: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.3.5.4.2 Variaciones de los sustantivos y adjetivos Están sólo referidas en cuanto a número. Pasaremos de singular a plural, y viceversa.

Botón rojo -> botones rojos

Puertas abiertas -> puerta abierta

Esto se realiza durante la llamada a “amplia_y_rellena” llamando a la función DeclinaNumero que, a su vez llamará a DeclinaNumeroSustantivo

6.3.5.4.3 Variaciones de los verbos Aquí contemplaremos dos tipos de variaciones:

1) variaciones en cuanto al número: para que se mantenga la coherencia con el sujeto

El panel tiene… => Los paneles tienen

Se realiza llamando a la función es_verb2, derivada de la función ya existente es_verb y que ha sido incorporada en el módulo dicctena.

2) variaciones de los pronombres enclíticos: Es frecuente que ciertos verbos lleven adherido un pronombre a la forma verbal. En estos casos nuestro asistente es capaz de detectar qué verbos llevan un enclítico, y generar variantes. Para ello, partiendo de la forma verbal original, le quita el enclítico y lo sustituye por otros que también resulten válidos. Las formas verbales obtenidas se emplearán para generar variantes sintácticas.

dime => di

dinos

dile

diles

Nótese que este tipo de variantes no es admisible en los casos en los que el enclítico sea un imperativo en segunda persona. (pronombre “te”). En otras palabras, el robot no genera variantes cuando interpreta que las frases van dirigidas a él.

¡Aléjate!, vete al punto cero ….

Una vez que se detecta un enclítico, a fin de dejar constancia para el resto de las rutinas y que resulte más sencilla y cómoda la programación, hemos creado un nuevo tipo de categoría gramatical que denominaremos “ENCL”. Para detectar cuándo un verbo lleva enclíticos, hay que fijarse simplemente en el valor del byte 10 de su etiqueta (tag):

0 = no lleva enclítico 1 = lleva enclítico

E.T.S.I. Telecomunicación (U.P.M.) 118

Page 119: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.3.6 ResultadosEl útimo paso del asistente consiste en una llamada a la rutina impr_sin_global. En una

aproximación al mundo real, es evidente que no todas las frases generadas van a ser válidas. Por tanto, para aliviar todavía más la labor del desarrollador del museo, la primera versión de alternativas morfo-sintácticas será sometida a un proceso de filtrado aplicando una serie de reglas, algunas de las cuales son cosecha propia de este trabajo. Esto es lo que en la [Fig.6.1]74 se ha simbolizado como “reglas variaciones”

El resultado final de las variantes morfo-sintácticas de una frase, ya filtrada, se recoge en el fichero: “fich_imprime.txt”

6.3.7 Otras consideracionesOtro punto importante a tener en cuenta y que quizás a muchos se les pudiera pasar por alto es el

tratamiento de los artículos contractos o contracciones:Del = de + el

Al = a + el

En este sentido nuestra labor se ha centrado en hacer un preprocesamiento del texto de entrada:Antes de generar el fichero.not, donde hubiera un artículo contracto, se llamaba a la rutina

“expande_contracciones” y se convertía la contracción en dos palabras. A continuación tenía lugar el proceso que hemos ido explicando, y finalmente, antes de entregar el resultado definitivo al desarrollador, se realizaba la tarea inversa a la expansión de las contracciones, de manera que, a partir de las combinaciones a + el o de + el se volviesen a generar los correspondientes artículos contractos “al” y “del” para que las alternativas morfo-sintácticas estén escritas correctamente y sin errores gramaticales. Esta expansión de los artículos contractos se realizó a fin de generar variantes morfo-síntácticas del tipo:

Del coche -> de los coches

De los paneles -> del panel75

La última versión del fichero de resultados, donde las frases ya han sido filtradas y comprimidas a su formato original se denomina

“fich_imprime_todas_comprimido.txt”

6.4 Representación del dominio

6.4.1 Los objetosVamos a partir de que el robot posee una base mínima de conocimiento que, progresivamente se

va a ir ampliando.En primer lugar, habrá que informar al robot de que en un museo hay objetos.

Una posible clasificación de los objetos sería:

74 Se ha mencionado [Fig. 6.1] pero también serían válidas otras (6.2, 6.5)75 Lo cual en un primer momento no nos habíamos planteado abordar.

E.T.S.I. Telecomunicación (U.P.M.) 119

Page 120: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Si contemplásemos la visita del robot como una secuencia de puntos, cada punto sería algo sobre lo que se puede hablar, por tanto entrarían dentro de la categoría de “comentables”.

Otros objetos comentables serían los cuadros, paneles, esculturas, … propios de la exposición. El robot debería tener una descripción general sobre los puntos de la exposición que podrían ser paneles o mesas que a su vez contienen pantallas, botones, textos,…

Por otra parte, el robot se va a encontrar con elementos que le van a resultar desconocidos: obstáculos. Sobre dichos obstáculos, en algunas ocasiones, el robot podría emitir algún comentario.

Otra posible clasificación de los objetos sería aquélla que atendiese a sus propiedades

- dimensión: 1D (botón), 2D, 3D,…- accionables: aquéllos que al tocarlos producen cierto efecto- no accionables: aquéllos que, aunque se actúe sobre ellos, su estado permanece invariante

Ejemplos:

- botón: 1D, accionable

- texto: no accionable

6.4.2 Modelo de abstracciónRespecto al modelo que se necesita para realizar la abstracción, emplearemos lo que se conoce

como ontología. Se trata de una taxonomía o clasificación de los objetos que conoce el robot.

Esta clasificación está basada en una de las herramientas en las que nos hemos

apoyado para el desarrollo de este proyecto fin de carrera: WordNet76

Aunque inicialmente emplearemos árboles, en general su estructura sería la de un grafo con flechas en el cual no hay ningún lazo o bucle: si se parte de un punto, siguiendo las flechas no el posible regresar al punto de partida; en otras palabras, esto se conoce como grafo acíclico.

76 Siendo más rigurosos, MultiWordNet, que es la versión de WordNet traducida al castellano

E.T.S.I. Telecomunicación (U.P.M.) 120

Page 121: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Este modelo de clasificación de objetos se estructura de mayor a menor grado de abstracción. Adopta la configuración de árbol o red semántica, donde los nodos se unen unos con otros. Cada nodo es una categoría, y en el Apéndice A3 se puede observar una representación gráfica, en forma de esquema, de los primeros niveles de esta ontología.

6.4.3 ÁrbolesLos diagramas de árbol constituyen un método gráfico para identificar todas las partes que

forman parte de un módulo principal o raíz, que es el punto de partida. Es frecuente el empleo de árboles cuando hay que proceder a la clasificación de un elemento dentro de un conjunto, pues permite visualizar rápidamente en una sola estructura todas las posibilidades. El inconveniente que tiene es que se trata de estructuras recursivas, y si no se gestionan adecuadamente, en ocasiones se podría dar lugar a problemas. En este proyecto, los árboles van a ser una estructura clave: inicialmente se define una estructura jerárquica a partir de un nodo principal (la raíz). Para identificar un objeto, se irá recorriendo el árbol, hasta que se encuentre la categoría a la cual pertenece.

Por ejemplo:Dada la palabra “botón”, se irá recorriendo el árbol y llegaremos a la conclusión de que se

trata de un objeto que se encuentra en la misma categoría77 que el objeto pantalla.

En la ontología que estamos manejando, una misma palabra puede tener varios significados o “senses”. Cuando el asistente concluye que botón es un objeto similar a pantalla, preguntará al humano.

He aquí que en este punto deberemos llegar a una solución de compromiso: habrá palabras que posean muchos sentidos o “senses”, mientras que otras menos frecuentes, menos conocidas, o simplemente con un mayor nivel de especificidad posean un número menor. Por esta razón hemos estimado razonable, que en la red ontológica de MultiWordNet se lleven a cabo 5 búsquedas.

De acuerdo con nuestros experimentos en la mayoría de los casos, las palabras presentaban una media de dos senses. Quizás cabría plantearse modificar el número de búsquedas por palabra, con el fin de aliviar la carga del sistema y ganar en eficiencia y velocidad.

Una vez concluidas las búsquedas de los senses, éstos son almacenados en ficheros78

independientes que el usuario puede consultar. A continuación se le solicita al desarrollador que valide el sense que más se ajuste al concepto que quiere evocar o transmitir de acuerdo con el contenido de la exposición.

6.4.4 Dominio: Árbol + RelacionesCuando trabajamos con algo de tamaño no definido, estamos aludiendo al concepto de “memoria

dinámica”, lo cual supone manejar punteros que apuntan a ficheros de texto. En esta fase trabajaremos con árboles semánticos, basados en los “árboles sintácticos” de [Montero 2003].

77 reúne las mismas propiedades generales78 wnspi.dep, i= 1…5

E.T.S.I. Telecomunicación (U.P.M.) 121

Page 122: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.4.4.1 Carga en memoria

Hemos comentado anteriormente que, partiendo de un conjunto de palabras [Apéndice A7], se han buscado en MultiWordNet, e intercalando las palabras con los nodos intermedios se ha construido manualmente un fichero de paréntesis etiquetados79 constituido por algunas palabras que podrían configurar el “vocabulario básico del dominio del robot”, y sus relaciones semánticas.

La carga del árbol en memoria consiste en construir un árbol de nodos a partir del fichero de paréntesis etiquetados, y reservar posiciones de memoria para almacenar cada uno de los niveles semánticos en los que se estructura la jerarquía.

79 esquema_grafico_con_acentos.txt

E.T.S.I. Telecomunicación (U.P.M.) 122

Page 123: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.4.4.2 Recorrido

6.4.4.2.1 Definición de punteros Anteriormente ya ha aparecido la idea de que, asociado a estas estructuras de datos está el

problema de que son de un tamaño indefinido: es decir, pueden crecer y expandirse tanto como desee el programador, dando lugar a un número de nodos que no es posible determinar a priori. Por esta razón, para recorrer el árbol, con la garantía de que pasamos por todos los nodos, vamos a manejar dos conceptos: hijo y hermano

Cada nodo tiene dos punteros: a su hijo y a su hermano. De esta forma podemos construir un árbol todo lo grande que queramos, sin peligro de que a la hora de recorrerlo, nos saltemos alguno de los componentes del árbol.

La técnica para recorrer el árbol será recursividad y backtracking: “backtracking” es el proceso por el que se puede volver al punto de partida en un recorrido

recursivo.

Nos vamos a encontrar con la existencia de dobles punteros o punteros en ambos sentidos (del padre al hijo y del hijo al padre); además, un hijo puede tener hermanos tanto por la derecha como por la izquierda. Definiremos punteros a ambos lados para generar estructuras bien interconectadas, y que, en caso de fallo, podrían producir incoherencias. En definitiva, lo que vamos a tener son estructuras redundantes. Aunque este tipo de punteros, por ser redundantes, no son necesarios, resultan útiles y cómodos, pues evitan tener que hacer una búsqueda larga para encontrar al padre o al hermano del hermano dado: directamente disponemos del puntero. La ventaja fundamental de trabajar con árboles es que permiten recorrerlos de forma elegante.

6.4.4.2.2 Carga y volcado La red del museo (o de la exposición) es un intento de descripción de la realidad a diferentes

niveles: entidad, entidad física/abstracta, agente causal/abstracción,…Una ontología o red semántica se orienta a reflejar las relaciones que se pueden establecer entre

los significados de las palabras. Por ello, atendiendo a la rama de la semántica y discurso, y dejando a un lado la sintaxis, hemos querido configurar dos redes en el robot: MuseumNet y ExhibitionNet.

- MuseumNet va a constituir la red general del museo: contendrá términos muy genéricos, objetos susceptibles de aparecer en el dominio de un museo, en este caso de Ciencias- ExhibitionNet: va a constituir la red de la exhibición en concreto para la que se esté programando el robot. Aquí se incorporarán términos más específicos y las relaciones que puedan establecerse entre las palabras se darán en un nivel muy bajo de abstracción, donde apenas se dé lugar a la ambigüedad.

Las estructuras que se van a generar como resultado de la creación de ambas redes tendrán el siguiente formato:

Para generar el resultado se va a realizar un doble proceso: Cargar y volcar. La función de cargar y volcar consiste básicamente en pasar de ficheros a punteros y viceversa. La función básica de nuestro algoritmo será «construirNodos», que sería equivalente al concepto de «volcar nodos». Dicha función, recibe un puntero al lugar donde tiene que volcar la información, y el símbolo del Nodo (palabra):

1) Escribe símbolo de Nodo2) Si tiene hijo, abre corchete3) Si no tiene hijo, comprueba si tiene hermanos4) Si tiene hermano: deja espacio en blanco y escribe el hermano

E.T.S.I. Telecomunicación (U.P.M.) 123

Page 124: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

5) si no, cierra el corchete y vuelveCada vez que detecta un hijo (abrir corchete) se debe llamar de nuevo a construirNodos, pasando

el nuevo puntero.Ejemplo:

Partimos de O.

Como tiene hijo, abre corchete.

O [ entidad

entidad tiene, a su vez un hijo por lo que se abre de nuevo un corchete [.A la hora de crear un

nuevo hijo, se vuelve a llamar a ConstruirNodos pasando como puntero el nodo al que queremos

insertarle el hijo.

O [ entidad [ entidad física

Observamos que por cada nuevo hijo se abre un corchete [

O [ entidad [ entidad_física [ agente_causal [ causa [ persona ]

Cuando llegamos a persona no tiene hijos por lo que deja espacio en blanco. Como tampoco tiene

hermanos, cierra corchete ]. Observamos que se van cerrando todos los corchetes hasta que llegamos a un

nivel superior donde haya hermanos

O [ entidad [ entidad_física [ agente_causal [ causa [ persona ]

cosa,objeto,objeto_físico,objeto_inanimado

Éste es hermano de causa, por lo que no cerramos corchete sino que después de dejar un espacio

en blanco tras el último hijo insertado (persona), cierra corchete ] añadimos el símbolo del nodo

correspondiente (cosa,objeto,objeto_físico,objeto_inanimado) que será el segundo hijo de

agente_causal,causa y hermano de causa.

A medida que fuese creciendo el árbol, de acuerdo con nuestra jerarquía lo que veríamos sería:

O [ entidad [ entidad_física […] entidad_abstracta […] cosa1 […] ] ]

Ejemplo 6.1

E.T.S.I. Telecomunicación (U.P.M.) 124

Page 125: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.4.4.2.3 Otras funciones típicas Para el desarrollo del asistente hemos creído conveniente implementar ciertas funciones que

permitan el manejo de los nodos y la posibilidad de relacionarlos entre sí. Como si de una gran familia se tratase, hemos creado las funciones que , dado un nodo nos pueden decir con qué otros está relacionado:

abueloNodo padreNodo hijoNodo hermano_izdoNodo hermano_dchoNodo

Por otra parte también podremos ser capaces de conocer información propia de los nodos: numero_de_hijos numero_de_hermanos infoNodo

Otras funciones ya más orientadas hacia la “posibilidad de añadir”, que al fin y al cabo constituye uno de los mayores focos de interés para que realmente el robot pueda “ir aprendiendo” e incorporando conocimiento serían las funciones de inserción:

insertarNodoHermano insertarNodoHijo add

De vital importancia serán las funciones de búsqueda de nodos y recorrido de los mismos.En lo que respecta a la búsqueda de nodos tendremos dos tipos funciones:

“busca” lo que hace es buscar un nodo y devolver su puntero. Será muy útil de cara a saber cuándo un nodo está presente o no en un árbol otra función que podríamos llamar de “búsqueda avanzada” permite, no sólo detectar la presencia de un nodo, sino localizar y devolver cierta información concreta que se le haya solicitado: buscar el padre, hijo, hermanos, primos, tíos, sobrinos, los hijos, nietos,…

Otra función a la que dotaremos de un carácter especial para este asistente es aquélla que para un nodo, devuelve su path hasta alcanzar el máximo nivel de abstracción:

nod_int devuelve los nodos intermedios entre el término que se desee y “entidad”

En términos de seguir estableciendo relaciones terminológicas entre los nodos, otra función a tener en cuenta sería mismo_nivel, la cual localiza los nodos que comparten el mismo nivel ontológico que aquel que se le pasa como parámetro.

En lo relativo al recorrido de los nodos, hemos creado funciones que permiten realizar recorridos tanto ascendentes, como descendentes (partir de un nodo, llegar a entidad y volver a descender hasta llegar al punto de partida).

Un último detalle sería resaltar que, dado que la calidad y la formación, así como una programación robusta, constituyen puntos clave en el trabajo que tratamos de desarrollar, a fin de comprobar si el resultado obtenido a partir de la creación de un árbol partiendo de su dominio es correcto, hemos programado un procedimiento que haga el proceso inverso, para poder verificar que el árbol efectivamente contiene toda la información de partida.

6.4.5 Frases de Dominio generalPoniéndonos en contexto, en un museo, o cuando se va a realizar una exposición, es muy

frecuente que se elabore algún tipo de folleto, panfleto o texto informativo, donde se pongan de manifiesto los aspectos más importantes acerca del evento. Así, el fichero “fich_folleto.txt”80 viene a representar, precisamente, el texto publicitario destinado a ser repartido entre los visitantes, invitándoles a ver la exposición. La importancia de este fichero para el robot estriba en que el texto informativo contendrá una serie de términos que van a estar presentes en su dominio de trabajo y que por tanto, deberá conocer si lo que se pretende es que el robot sea capaz de mantener una conversación “razonable” y “sostenida” con los visitantes.

80 “fich_folleto_reducido.txt” sería el formato abreviado empleado en la fase de experimentación y de depuración

E.T.S.I. Telecomunicación (U.P.M.) 125

Page 126: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

La forma de proceder del asistente será:1. solicitar al desarrollador que introduzca, a través del teclado, el nombre del fichero informativo81.

2. Una vez introducido, se empieza a procesar realizando un análisis sintáctico de las frases que

constituyen dicho fichero, con todo lo que ello implique…82

3. De cada frase, se almacenan los sustantivos en un fichero de texto.83

4. A partir de dicho fichero se genera un array de “palabras_candidatas” y se busca si dichos

sustantivos pertenecen ya al dominio del robot.

5. Los nombres que sean desconocidos para el robot, se considerarán como “palabras_clave” y se

buscarán en MultiWordNet.84

6. Finalizadas las búsquedas de los términos desconocidos, se solicita al desarrollador que consulte

los “senses encontrados” y elija el más apropiado en función del contexto y del dominio de la

exposición. Esta fase sería lo que constituye una validación manual por parte del desarrollador

del museo, de la nueva terminología susceptible de ser incorporada al vocabulario del robot.

81 Hemos querido que sea el desarrollador quien introduzca manualmente el nombre del fichero puesto que el robot participará en distintas exposiciones, cada una con su correspondiente texto descriptivo, y no todos tienen por qué llamarse de la misma forma. Además, esto confiere un carácter interactivo al asistente.

82 Generación del .NOT, generación de valido.dep, esperar al fichero etiquetado .APS,…83 fich_palsclaveprov.txt84 Recordemos las 5 búsquedas por palabra que mencionamos anteriormente: por cada palabra se buscan 5

senses

E.T.S.I. Telecomunicación (U.P.M.) 126

Page 127: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

7. Aquí incluso hemos incorporado la posibilidad de que al desarrollador se le dé la opción de

decidir el dominio donde desea que sean incorporadas las nuevas palabras:

- Dominio del museo: MuseumNet- Dominio de la exposición: ExhibitionNet- Ambas- Ninguna85

6.4.6 Explicador

Hemos tratado de diseñar una herramienta que pudiera resultarle útil al desarrollador a la hora de decidir qué sense desea incorporar a la red de conocimiento del robot.

Dado que la mayoría de las búsquedas de palabras nuevas en MultiWordNet producía tan sólo dos senses significativos, nuestro explicador está diseñado para justificar por qué podría ser más conveniente incluir un sense en la red semántica que otro. Lo primero que se comprueba es que los senses no estén vacios.

85 el término queda descartado

E.T.S.I. Telecomunicación (U.P.M.) 127

Page 128: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

En primer lugar, el explicador muestra al usuario el resultado de la búsqueda del término en MultiWordNet. Aquí se plantean dos alternativas:

1. situación de error: es posible que el servidor esté caído o se hayan producido fallos ajenos a nuestro programa. En este caso, el explicador lanza un mensaje al usuario advirtiéndole de que el acceso a MultiWordNet, no aporta ninguna información. Este tipo de situaciones suele tener lugar cuando la estructura tipo sense, que hemos creado expresamente en este proyecto, está vacía.

2. situación de éxito: cuando el sense no está vacío, se le informa al usuario de que efectivamente la búsqueda de un cierto término ha concluido con éxito.

Encarado a una posible línea futura de mejora, cabría plantearse el uso de datos estadísticos que informasen acerca de las tasas de aciertos por parte del programa en las búsquedas que el usuario le iba solicitando. En esta línea y a modo de hacer un explicador más interactivo que “dialogue con el usuario”, una vez que el explicador ha mostrado el resultado de las búsquedas en MultiWordNet, se pide una confirmación de si el término que se ha buscado era realmente el que el usuario andaba buscando. Como punto de mejora podríamos plantearnos ir contrastando las veces que el programa busca lo que el usuario pedía y las veces que se equivoca.

Otra información que aporta el explicador acerca de la búsqueda, además del resultado de la misma, es el número de senses encontrados para un término concreto y el nombre del fichero donde se puede consultar la relación de nodos intermedios.

Además, también podemos ser informados acerca de si el término ya está o no presente en MuseumNet.

En caso afirmativo, no sería necesario incluir nuevos términos en la red. De hecho, se comprueba si la categorización del término en MuseumNet y en MultiWordNet coinciden. De ser así, ya podemos certificar con total seguridad que no es necesaria la inclusión de ningún elemento nuevo. No obstante, quizás el sense que haya presente en la red del museo no tenga la acepción más adecuada al contexto en el que se va desenvolver el robot, e incluso puede que hubiera quedado obsoleto. En esta situación, la categorización de un mismo término sería diferente en ambas ontologías y por ello, hemos estimado oportuno informar al usuario de que a pesar de que el término ya está presente en MuseumNet, entre los nodos intermedios hay algunos que no están presentes en la misma.

Si el término no está presente en MuseumNet, hay que incorporarlo, y para ello es necesario aplicar algún criterio. En primer lugar, el criterio que seguirá nuestro explicador se va a basar

86 Los resultados se muestran por pantalla, y en dos ficheros: uno de explicación global de todo el proceso, y otro que sólo va a contener una parte de la explicación. Por esta razón aparece repetido tres veces el mismo texto

E.T.S.I. Telecomunicación (U.P.M.) 128

Page 129: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

en optar por el sense que suponga la introducción de un menor número de nodos. Si ambos senses tienen el mismo número de nodos, se le avisa al usuario de esta situación.

Tras haber expuesto una primera “explicación razonable” acerca de qué sense sería mejor incluir, se le da al usuario de la aplicación la posibilidad de aplicar otro criterio diferente del de “optar por el sense que suponga de la introducción de un menor número de nodos”. Este nuevo criterio consiste en decir que “el sense más adecuado es aquel que presenta un mayor número de nodos coincidentes con la categorización que ya hay en MuseumNet”.

Tratando de hacer un diseño en el caso peor nos hemos encontrado con que en ocasiones la categorización que hace MultiWordNet es incompleta, es decir, no llega hasta el máximo nivel de abstracción que es “entidad”. En este caso no tendría sentido hablar de nuevas introducciones o de nodos coincidentes, puesto que el punto de partida no sería el mismo. Es por ello, que, cuando esto ocurre, se le informa al usuario a fin de que lo pueda tener en cuenta, y no llegue a conclusiones equivocadas.

Además de guardar todo el razonamiento completo del explicador en un fichero de texto87, también se guardarán en ficheros independientes el razonamiento cuando se aplica el criterio188, y el razonamiento cuando se aplica el criterio289 en el caso en el que el usuario teclease la opción de nueva explicación

fich_explicador_global

fich_explicador_max_coin fich_explicador_min_intro

6.4.7 acceso_a_google

87 fich_explicador_global88 fich_min_intro.exp89 fich_max_coin.exp

E.T.S.I. Telecomunicación (U.P.M.) 129

Page 130: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

Otro punto de arranque para una posible mejora es considerar el empleo de información probabilística. Un posible tercer criterio para determinar qué sense podría resultar más apropiado incluir sería optar por aquel que se emplee con mayor frecuencia..

Nuestra forma de proceder sería la siguiente:1) dado un sense, buscamos en Google cuántas referencias (hits) produce la combinación de un

término, con el nodo que ocupa el nivel inmediatamente superior en la jerarquía, y a esto se añaden un conjunto de palabras seleccionadas manualmente, que en principio serían las palabras que hubiera presentes en MuseumNet.

2) La solución pasaría por proponerle al desarrollador la inclusión del sense cuya combinación de palabras resulta más frecuente (el que ha producido un mayor número de hits en google).Ejemplo: supongamos que la palabra “memoria” tiene dos senses:

Como tendremos previamente almacenada una representación del dominio en MuseumNet, el cliente irá realizando sucesivas combinaciones entre la palabra “memoria”, su primer nodo superior (“ensayo” (sense1) o “imagen mental” (sense2)) y las palabras del dominio.

Supongamos por un instante que el nombre de la exposición es “La memoria”

90

Es muy probable que en el dominio de MuseumNet que hayamos cargado, nos encontremos con palabras como biología, cultura, información, recuerdo, conocimiento, cerebro... En base a esto, entre las combinaciones de palabras que pudiera construir el cliente figurarían:

memoria + ensayo + cerebro

memoria + imagen mental + cerebro

los resultados que devolvería el servidor podrían ser:memoria + ensayo + cerebro 347.000

memoria + imagen mental + cerebro 405.000

Por tanto, todo apunta a que el sense más indicado para ser incorporado en la red del museo es el sense2 de nuestro ejemplo.

90 Tomado de [http://www.cac.es/museo/programacion.php] 20.07.07 16.03

E.T.S.I. Telecomunicación (U.P.M.) 130

Page 131: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.4.7.1 Contrapartidas

Pueden darse fenómenos contradictorios en los que, siguiendo con el ejemplo anterior, aunque aparentemente el sense2 parecía el más indicado de acuerdo con el dominio de la exposición, los resultados obtenidos para los hits de otras combinaciones, pongan de manifiesto lo contrario.

memoria + ensayo +biología 300.000

memoria + imagen mental + biología 187.000

Como estos fenómenos no los hemos estudiado demasiado en profundidad, en este momento no seríamos capaces de extraer las conclusiones necesarias para formular un criterio válido que permitiese discriminar entre senses y ayudar al desarrollador en la toma de decisiones.

6.4.7.2 Implementación

Nuestro trabajo en este sentido se basa en la integración de un programa escrito en Java y del entorno de desarrollo Eclipse, con otro programa escrito en C++, en un entorno Visual. Todo se estructura a modo de aplicación cliente servidor, donde un cliente es el programa escrito en lenguaje C++. Éste, se comunica con un Servidor, escrito en Java, a través del puerto 22569; entre cliente y servidor se abre un socket a través del cual se van a enviar y recibir datos.

1. El cliente toma un sense. Construye las combinaciones de palabras que desea buscar en google y se las envía

al servidor a través del socket.

Para concatenar se ha empleado la función strcat y para que google sólo devuelva los resultados que contengan las tres palabras simultáneamente, es necesario que las palabras estén unidas por el signo ‘+’ y además vayan entre comillas dobles ‘ “” ’

2. el servidor recibe las peticiones del cliente; las almacena y busca las combinaciones de palabras en Google;

Para cada combinación obtiene el número de hits y devuelve al cliente las combinaciones de palabras junto

con el número de hits en la línea siguiente.91

91 Lo de devolver el número en la línea siguiente es para no complicar más el programa y que el cliente sepa distinguir el string que contiene la combinación del string que contiene el número de hits. Si viniese todo en la misma línea, el número se trataría como texto, no seríamos capaces de identificar de forma sencilla dónde comienza la cifra numérica, y además, suponiendo que hubiésemos sido capaces de detectar la cifra numérica habría que hacer la conversión de un string a un número para luego poderlos comparar y realizar operaciones matemáticas con ellos.

E.T.S.I. Telecomunicación (U.P.M.) 131

Page 132: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

3. El cliente recibe las respuestas, las almacena

E.T.S.I. Telecomunicación (U.P.M.) 132

Page 133: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

y procede de forma análoga pero esta vez con el segundo sense, teniendo en cuenta que el término

buscado sea una palabra nueva y que además el sense2 sea distinto del primero, es decir, que no esté repetido.

4. el servidor busca los hits asociados a las nuevas combinaciones y se los manda de vuelta al cliente.

5. El programa termina cuando el cliente deja de mandar consultas al servidor.

Simplemente apuntar que con el fin de que el sistema sea robusto, está programado de forma que, si el servidor no está escuchando y el cliente está intentando establecer una comunicación, lance un mensaje al usuario para que inicie primero el servidor, y mientras tanto se quede esperando en un bucle.

De esta forma dejamos abierta una puerta para que futuros desarrolladores encuentren aquí un punto de arranque para la puesta en marcha de trabajos futuros.

6.4.7.2.1 Comunicación y sincronización entre cliente y servidor Para que tanto servidor como cliente puedan interpretar correctamente cuándo empiezan a llegar

datos válidos, o en qué momento concluye el envío de la información solicitada, hemos implementado un protocolo de comunicación basado en marcas de arranque (byte_arranque) y de fin de la comunicación (byte_terminador). Para mayor simplicidad en el manejo de los programas, éstos serán los mismos para cliente y servidor92. No obstante, cabría distinguir cuándo se ha llegado al final del envío de información correspondiente a un sense, pero todavía queda más información por recibir (byte_terminador), o cuando se ha llegado realmente al final, y no se espera que se vaya a recibir información nueva hasta la siguiente consulta de otra palabra (byte_terminador2)

Fig. 6.15 Definición de las marcas en el cliente. estructuras.h (método: acceso_a_google)

Fig. 6.16 Definición de las marcas en el servidor. MiServidor.java

A fin de evitar pérdidas de información por parte del servidor, de las consultas que recibe del cliente, éste almacenará los datos en un array de String

Fig. 6.17 Estructura que el Servidor utiliza para almacenar las consultas del cliente.

92 Con el matiz de la diferente nomenclatura del tipo de estructura por el hecho de estar usando dos lenguajes de programación distintos

E.T.S.I. Telecomunicación (U.P.M.) 133

Page 134: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

6.4.8 Frases Extra-DominioDe forma muy simplista hemos planteado la incorporación de frases extra dominio.Nos hemos puesto en el hipotético caso de que el robot tuviera que hacer una visita guiada en el

laboratorio B-041 donde se ha desarrollado la mayor parte de este proyecto fin de carrera.Partimos de que, llegados a este punto, el robot ya posee un modelo de lenguaje configurado a

partir de una representación del dominio, un fichero de descripción de dicha representación del dominio (lo que podría ser un folleto de propaganda o texto explicativo de la exposición), y todo ello complementado con información adicional de las herramientas ya mencionadas previamente.

La visita al laboratorio la hemos estructurado en cinco puntos de visita. Cada punto de visita tendrá objetos de los cuales podrá hacer algún tipo de comentario y que deberá conocer. No obstante es importante destacar el matiz de que el robot va a interactuar con personas y las personas son imprevisibles. Un visitante podría inquirir una pregunta que no perteneciese estrictamente al dominio del robot y sin embargo sería conveniente que el robot pudiese reconocerla correctamente.

Al hilo de lo que acabamos de comentar, hemos querido incluir este módulo en el cual la secuencia de pasos a seguir es la que se comenta en las siguientes líneas:1) Suponemos que el robot recibe la orden de iniciar la visita2) Como el robot está dotado de la capacidad de movimiento, llegaría al primer punto de visita y se pararía frente a él.3) Se torna hacia su público y emite un breve discurso acerca del punto en el que se encuentre.4) Es aquí donde entraría en juego la labor de introducir posibles frases, preguntas o comentarios que pudieran formular los visitantes. Esta idea se ha implementado solicitándole al desarrollador del museo que introduzca por línea de comandos posibles frases que pudieran provenir de las personas que estuviesen siendo guiadas por el robot. Las frases se guardará en un fichero93 con la finalidad de que sea directamente incorporado al modelo de lenguaje del robot.

93 preguntassitio1.txt

E.T.S.I. Telecomunicación (U.P.M.) 134

Page 135: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 6.Descripción

Funcional

E.T.S.I. Telecomunicación (U.P.M.) 135

Page 136: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Capítulo 7Capítulo 7 SintaxSintaxEn el presente capítulo describiremos el funcionamiento del analizador sintáctico en el que se

apoyará el desarrollo de nuestro asistente. Se trata de ahondar cuestiones relativas al porqué del empleo de este analizador, dar una visión global acerca del mismo y profundizar en aspectos tales como el modelo lingüístico y otros componentes pertenecientes al ámbito del procesado lingüístico automático.

7.1 Justificación

El auge experimentado por la tecnología del habla en los últimos años, y más concretamente por la rama de dicha tecnología que concierne al reconocimiento de habla, ha conducido a que los actuales sistemas incorporen modelos no acústicos. Además de los ya habituales conceptos tales como “ léxico” o “fonética”, comienzan a manejarse también, otros conceptos clásicos pertenecientes al ámbito de la lingüística, como por ejemplo “sintaxis, semántica, fonología…”

Sintax consiste en un subsistema de análisis sintáctico. Su empleo en el desarrollo de un asistente de modelos de lenguaje se debe a que lo que se pretende es incorporar información no fonética, con el fin de mejorar las tasas de reconocimiento.

Para lograr un interfaz de comunicación hombre-máquina, inteligible, y sobre todo, natural, no se puede delegar toda la responsabilidad en disponer de un buen reconocedor, puesto que, en sistemas basados en lenguaje natural, las propias palabras o “celosías de fonemas” podrían contener errores. En estos casos, aun con buenas tasas de reconocimiento de palabras, algunas frases contendrían errores de gramática. De aquí procede la idea de incorporar el modelo de lenguaje dentro del propio reconocedor, de manera que, sea un autómata el que, no sólo guíe la tarea de reconocimiento, sino que además evite la aceptación de errores.

El analizador sintax supone la integración de un módulo gramatical, con un módulo acústico fonético. Su desarrollo en [Montero, 2003] supuso una mejora en aplicaciones de complejidad limitada modeladas por autómatas.

7.2 Visión Global

Sintax” se puede ver como un sistema de análisis que aborda en paralelo dos cuestiones: por un lado, la realización de una gramática de contexto libre que modela el castellano, y por otro, el estudio de la complejidad e integrabilidad de un conjunto de algoritmos.

Los algoritmos a los que estamos haciendo referencia surgieron en los albores de la lingüística computacional, (años sesenta y setenta), como un intento de lograr compilar lenguajes de programación empleando métodos cada vez más potentes y rápidos. Estos algoritmos fueron adaptados y mejorados, y finalmente, se consiguió desarrollar el analizador que constituye uno de los puntos clave en torno a los cuales se desenvuelve nuestro proyecto.

7.3 Mejoras al sistema

Una de las ramas de la investigación actual está encaminada al uso de modelos del lenguaje humano que estén dotados cada vez de una mayor complejidad y completitud. En este trabajo hemos querido retomar los métodos y algoritmos empleados hasta el momento actual, y adaptarlos a las nuevas necesidades: ambigüedades, errores en la cadena de entrada, procesado lingüístico de ciertos términos o expresiones,… Teniendo in mente este marco, uno de los objetivos fijados en este proyecto consiste en adaptar un sistema de análisis por medio de gramáticas de contexto libre, desarrollando una gramática robusta de dominio general en dos niveles, uno sintagmático y otro relacional.

El “desarrollo de un asistente de modelos lingüísticos para robots inteligentes con capacidad de comunicación hablada”, título que da nombre al proyecto fin de carrera que nos ocupa, supone la

E.T.S.I. Telecomunicación (U.P.M.) 136

Page 137: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

continuación de las primeras experiencias en sintaxis y guiado mediante autómatas, conseguidas en diversos Proyectos Fin de Carrera anteriores. No obstante, el matiz que aporta un carácter innovador es que, la línea de investigación que hemos iniciado procura incorporar a la algorítmica de reconocimiento alcanzada hasta el momento, información, ya no sólo sintáctica, sino también semántica. La labor del asistente es la de facilitar el desarrollo de un modelo de lenguaje de un modo incremental, apoyándose en el análisis de una frase y generando sus posibles variantes morfo-sintácticas y semánticas.

Con objeto de reducir y discriminar el número de posibles análisis se aplican reglas de corte; tras el proceso de análisis tiene lugar un proceso de filtrado mediante la aplicación de reglas de concordancia. Por simplicidad, como criterio se toma que el mejor análisis es aquel que presente un menor número de segmentos, prescindiendo de la información probabilística a la hora de determinar dicho análisis. El analizador sintagmático produce a la salida un fichero de paréntesis etiquetados. Ahora, la misión es conseguir, a partir de este fichero, construir un árbol de nodos y poder operar con él. En definitiva se trata de crear un árbol nuevo sobre el que ya ha creado el propio analizador.

La contribución al analizador se concentra en las siguientes direcciones: una primera contribución, consiste en adaptar el analizador y el categorizador, integrándolos

para su uso en Robint la segunda contribución debe ser emplear un desambiguador contextual integrado en el

sistema. Se introduce también el concepto de “perífrasis verbal”: además de las reglas de corte ya

existentes y los algoritmos que generan modelos de lenguaje, se pretende construir sobre dichos modelos, uno más robusto que considere la “perífrasis verbal” como una unidad. Esto constituirá una técnica para reducir el número de segmentos.

Por último, podemos hablar de una cuarta contribución en el sentido de desarrollar una gramática general con amplia cobertura.

7.4 Descripción

Comenzaremos por sentar las bases sobre las que vamos a trabajar diciendo que, el analizador aplica el método de “parsing” para analizar un texto. Éste, consiste en reconocer que una cadena pertenece a un lenguaje. En comparación con otros métodos de reconocimiento de lenguajes regulares mediante autómatas, el “parsing” admite más posibilidades. La diferencia estriba en que, este método utiliza gramáticas de contexto libre, mientras que, en otra serie de métodos, la única variación consiste en construir un autómata como la unión de otros muchos subautómatas.

El analizador trata de imitar y simular el funcionamiento del sistema de la lengua. De él tomaremos la estructuración de las frases en diversos sintagmas, su tratamiento sintáctico, la categorización de las palabras que intervienen…

7.4.1 Principio de formalización: la necesidad de una gramáticaSi consideramos la lengua como un sistema que nos permite asociar las tareas mentales del

hombre, (contenidos, pensamientos, significados, …) con manifestaciones simbólicas (orales, escritas), añadiendo el calificativo “natural”, entramos en un campo (lenguas naturales) caracterizado por una enorme complejidad formal. Otro problema añadido de la lengua natural es que carece de un único modelo común a todos los hablantes. Por ello, la gramática que se emplea en estos casos se escribe por aproximaciones sucesivas.

Lograr una interacción entre el hombre y las máquinas (en nuestro caso, robots inteligentes) basada en la lengua natural, simplificaría notoriamente el proceso de comunicación. Por otra parte, la versatilidad del lenguaje natural, multiplica las fuentes de error, lo que hace necesario recurrir a módulos de inducción, corrección, gestión de diálogo,…

El principal inconveniente de las lenguas naturales es la imposibilidad de establecer una “formalización”, es decir, ser capaces de caracterizar un lenguaje biunívocamente. No obstante, esto es la clave para que sea factible un tratamiento informático cómodo y generalizado, y por ello, el celebérrimo lingüista norteamericano Chomsky, definió una jerarquía formada por cuatro tipos de formatos de reglas que se correspondían con gramáticas capaces de generar un lenguaje, lo más similar posible a los naturales. En cuanto a potencia expresiva, la gramática que emplea el analizador es capaz de generar un

E.T.S.I. Telecomunicación (U.P.M.) 137

Page 138: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

lenguaje equivalente a uno de tipo 2 de la jerarquía de Chomsky, que procederemos a explicar a continuación.

7.4.2 Jerarquía de Chomsky. Tipo 2.A pesar de que, como ya hemos mencionado, se pueden distinguir cuatro tipos de gramáticas en

la Jerarquía de Chomsky, dado que no queremos desviarnos del tema que nos concierne, en este apartado nos vamos a limitar a describir, muy someramente, el tipo de gramática que emplea el análizador 94: la de tipo 2

7.4.2.1 Gramática tipo 2 o de contexto libre

Es el tipo de gramática empleado en sintax. Describe los llamados lenguajes de contexto libre y permite insertar proposiciones, dentro de proposiciones independientemente del contexto de la oración.

Las reglas poseen un formato:A->

donde es una cadena, vacía o no, de símbolos terminales o no terminales.En cuanto a potencia descriptiva, es equivalente a un autómata con pila. La adición de una pila

permite la subordinación inserta, convirtiendo el lenguaje aceptado, en algo que va más allá del lenguaje regular.

Este tipo de gramáticas permite describir adecuadamente las relaciones intra- e inter- sintagmáticas de la lengua natural entre las que cabe citar:

Concordancia sujeto-verbo Concordancia sujeto-atributo Inserción de proposiciones en proposiciones centrales …

La representación gráfica de un análisis de contexto libre se realiza a través de un árbol sintáctico constituido por:

Símbolos No Terminales en los nodos intermedios Símbolos Terminales en los nodos finales

7.4.3 Modelo lingüísticoPartiendo de las distintas ramas que cubre la gramática podemos articular un modelo de lengua

en torno a cuatro componentes, de las cuales en este proyecto, sólo tres van a ser tomadas en consideración:

1) 1. componente léxico-morfológica: contempla las palabras, su forma y cómo pueden ser abstraídas a partir de un contexto textual. Se apoya en el trabajo desarrollado en [A. Jiménez 1999] representado por el módulo dicctena.

2) 2. componente sintáctica: estudia las relaciones que se dan entre las palabras para formar oraciones. Tiene sus bases en [Montero 2003] y se concreta en el programa sintax.

3) 3. Componente semántica: abarca lo relativo al significado gramatical y a la interpretación de los enunciados. Constituye un nuevo horizonte en el que nos iremos adentrando a través del uso de ontologías y redes semánticas como MultiWordNet y otras de elaboración propia basadas en dicho modelo.

En aras de dar una descripción genérica del castellano, podemos pensar en enfocar el modelado conceptual de la lengua hacia una especie de paradigma transformacional, donde quepa distinguir varios niveles. Así, un modelo global de la gramática que sirviese como punto de partida para abordar un problema de semejante complejidad podría ser:

94 Para aquéllos que pudieran estar interesados, en [Montero, 92]se pueden consultar los cuatro tipos de gramáticas

E.T.S.I. Telecomunicación (U.P.M.) 138

Page 139: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Fig. 7.1 Modelo global de la gramática95

Esta descomposición, aunque a) resulte muy simple,

b) no se corresponda con una distinción que pudiéramos llamar “natural”

c) y no tenga sino un sentido metodológico,

resulta más que suficiente como planteamiento inicial para dividir un problema grande en módulos más sencillos cuyo tratamiento sería inabordable si se llevase a cabo de manera conjunta.

“Sintax” está principalmente centrado en el subsistema sintáctico. No obstante, este proyecto aúna también, el componente semántico, e incluso el componente léxico (aunque en menor proporción), como intereses objetivo.

7.4.3.1 Componente léxico

Típicamente se le suele conocer bajo el nombre de “lexicón” o “diccionario”, pero en este caso, va más allá de lo que es un mero “almacén de datos”. Dado que queremos tratar con una lengua natural, nos encontraremos con múltiples irregularidades que no serían contempladas en el caso de disponer únicamente de una lista de palabras. Por ello, el concepto actual de “diccionario automático” amplía el de “lista” al de “base de datos relacional”.

Toda palabra es un ente compuesto por dos partes: lexema y morfema. Atendiendo a la primera componente podremos agrupar las palabras en familias léxicas,

cas-a, cas-erío, cas-ero... pertenecen a una misma familia léxica a la que podemos denotar con

el más sencillo de sus componentes: casa.

Ejemplo 7.1 familia léxica: casa

y si nos inclinamos por la segunda componente, lo que obtendremos serán categorías léxicas.cas-a, cas-erío, son sustantivos

cas-ero es un adjetivo

Ejemplo 7.2 categorías léxicas

Dado el carácter estructurado que presentan las palabras, en el desarrollo del asistente hemos sido capaces de cambiar el número de las formas verbales a partir de la extracción del lexema y modificando el morfema.

95 Adaptado de [Montero 92]

E.T.S.I. Telecomunicación (U.P.M.) 139

Page 140: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Tiene -> tien-e -> tien -> tien-en

Hablan -> habl-an -> habl -> habl-a

Ejemplo 7.3 variaciones del número en las formas verbales

7.4.3.2 Componente sintáctico

“Sintaxis” procede del término griego "" = ordenamiento.

Estudia la distribución y combinación de las palabras (unidades léxicas) para formar enunciados.

La componente sintáctica hace referencia a la estructura de las frases, a las relaciones que pueden establecerse entre los constituyentes de una oración. Por tanto, cualquier alteración en este sentido puede derivar en una agramaticalidad que convertiría una frase en incorrecta o no válida como perteneciente a una lengua.

Ejemplo:

"el perro tiene un collar de diamantes”

Se pueden extraer como constituyentes de la oración:

el perro, tiene, un collar y de diamantes.

Sin embargo,

un collar tiene de diamantes un niño

aunque tiene los mismos constituyentes, la frase carece de sentido y es incorrecta en castellano

Ejemplo 7.4

Algunos de los fenómenos que quedan englobados bajo el componente sintáctico, son:

establecimiento de grupos ligados de palabras

Ejemplo:

"el stand tiene un panel con tres botones”

Se pueden extraer como constituyentes de la oración:

el stand

tiene

un panel

y con tres botones.

- tres acompañará a botones y por tanto, si se alterase el orden de los constituyentes, estas dos

palabras deberían ser movidas juntas

Ejemplo 7.5

E.T.S.I. Telecomunicación (U.P.M.) 140

Page 141: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

la concordancia en género, número…

Ejemplo:

- "el” y “stand” poseen el mismo género y número. La alteración de sólo uno de

ellos, daría lugar a una frase gramaticalmente incorrecta.

- “el stand” concuerda en la persona con el verbo “tiene”

Ejemplo 7.6

la conversión de una oración enunciativa a interrogativa con sustitución de un constituyente por un pronombre

interrogativo sólo tiene sentido considerando el árbol sintáctico

Ejemplo:

- ¿Qué tiene un panel con tres botones? (el stand)

- ¿Qué el stand tiene un panel? INCORRECTA

Ejemplo 7.7

Fenómenos de coordinación

- en el nivel sintagmático

“dinos la fecha y la hora”

- en el nivel oracional

“preséntate y dinos qué día es hoy”

Fenómenos de subordinación

“cuando introduces la clave | tienes acceso a todo el sistema”

7.4.3.3 Componente semántico

Se centra en el significado, el contenido literal. Es importante resaltar dos aspectos que pudieran resultar de carácter conflictivo en nuestro planteamiento:

autonomía de la sintaxis respecto a la semántica autonomía de la semántica respecto a la pragmática

7.4.3.3.1 autonomía de la sintaxis respecto a la semántica: puede resultar relativamente sencillo hacer la distinción entre:

- sintaxis: se centra en la estructura formal de la oración en función de la categorización o tipado de sus constituyentes- semántica: busca interpretar correctamente dicha estructura

Sin embargo, en ocasiones, los límites pueden resultar algo difusos:Ejemplo:

1) “El robot te da información acerca del museo” => es correcta tanto sintáctica, como semánticamente

2) “El stand te da información acerca del museo” => es correcta tanto sintáctica, como semánticamente sólo cuando se interpreta correctamente el significado de la oración: “en el stand encontrarás a unas personas que te pueden dar información acerca del museo”

3) “El pomo te da información acerca del museo” => es correcta desde el punto de vista sintáctico, pero no semántico.

E.T.S.I. Telecomunicación (U.P.M.) 141

Page 142: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

4) “El luz te da información del museo” => ni siquiera es correcta en el plano sintáctico96.Ejemplo 7.8

7.4.3.3.2 autonomía de la semántica respecto de la pragmática 97 La confusión entre semántica y pragmática queda plasmada en la segunda oración, donde es

necesario hacer una “deducción” para interpretar correctamente el sentido de la frase. La relación entre semántica y pragmática podría conducirnos a deducir información a partir de un enunciado incluso aunque tuviese errores sintácticos. Se ponen de manifiesto fenómenos íntimamente relacionados con la inteligencia humana.

Por último, cabe reseñar los tres enfoques más importantes que se le pueden dar a semántica:- el que emplea la lógica de predicados- el funcional: el verbo es el predicado que selecciona a los demás elementos (sus argumentos)- el generativista

7.5 Fundamentos del Procesado Lingüístico Automático98

En este apartado se expondrán las bases o conceptos fundamentales que posibilitan que el analizador sintáctico empleado en nuestro trabajo, pueda llevar a cabo su función.99 Hemos creído conveniente dedicar parte del capítulo a recalcar algunos aspectos que van a intervenir en el proceso de análisis de los textos, puesto que éste es la piedra angular para que nuestro asistente pueda desempeñar su labor.

7.5.1 CategorizaciónUno de los aspectos clave del procesado Lingüístico Automático, del cual echará mano el

asistente en repetidas ocasiones a lo largo del flujo de su ejecución es la categorización de un texto, que consiste en un procedimiento de asignación de categorías gramaticales a palabras a partir de un diccionario léxico y un conjunto de reglas. Dichas categorías gramaticales nos darán información acerca del género, número persona… de las palabras, haciendo posible que, posteriormente, el asistente imponga su criterio y proceda en consecuencia. Un ejemplo para clarificar esta idea que acabamos de comentar y quizás en primera instancia pudiera haberle parecido enrevesada al lector (a) es el siguiente: una de las funciones de nuestro asistente es generar variantes lingüísticas. No obstante, no todas las categorías gramaticales admiten las mismas variaciones morfo-sintácticas. Gracias a un proceso de categorización previo, el asistente dispondrá de la información necesaria para generar las alternativas que correspondan atendiendo a la categoría gramatical de la palabra que se desee modificar en cada momento.

El categorizador del GTH se trata de un sistema de categorización por regla y por probabilidad. En un principio, empleaba un conjunto de etiquetas definido en el corpus 860, pero, como se comenta en [Montero 2003] pasó a emplear un diccionario, lo que se tradujo en que muchas de las reglas desarrolladas dejaron de tener la efectividad para la que fueron pensadas. El categorizador será un elemento clave para el desarrollo del asistente, y la versión que aquí emplearemos incorpora un módulo de conjugación y una amplia lista de infinitivos (tanto regulares como irregulares), lo cual facilita y enriquece la detección de verbos.

Las reglas que permitirán categorizar las palabras, se cargan al inicio del programa, simplemente mediante la llamada a una función, lo cual resulta muy cómodo, economiza líneas de código y abstrae al programador de los detalles que no le son relevantes para desempeñar su tarea.

96 A pesar de ello, el analizador empleado es lo suficientemente robusto como para aceptar algunos casos de frases incorrectas debidas a errores de concordancia

97 La pragmática estudia la influencia que puede tener el contexto extralingüístico (ámbito social, ámbito cultural,…) a la hora de interpretar un enunciado.

98 Adaptado de [Montero 2003]99 Toda la información aquí detallada ha sido adaptada de [Montero 2003] disponible en web

http://lorien.die.upm.es/~juancho/pfcs.htm

E.T.S.I. Telecomunicación (U.P.M.) 142

Page 143: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

7.5.1.1 Etiquetado morfo-sintáctico

Las categorías gramaticales a las que hemos aludido previamente se van a codificar en forma de etiquetas o tags. Cada tag está constituido por 10 bytes, y cada uno de ellos posee un significado específico que puede consultarse en [Polanco 2001]. Particularizando para este proyecto, las posiciones del tag que nos van a dar información significativa para llevar a cabo nuestra función son:

Byte 1 -> Categoría primaria. De acuerdo con [Montero 2003] las categorías primarias empleadas en el etiquetado son: Verbo, Nombre sustantivo, Adjetivo, adverBio, pRonombre, Preposición, Determinante, Conjunción, Interjección, Miscelanea y otros (L). Bytes 2 y 3 -> Subclase o tipo. Nos dará información útil de cara a generar las variantes en el caso de los determinantes.(00 Determinado; 01 Indeterminado; 02 Relativo; 03 Indefinido; 06 Posesivo; 08 Demostrativo) Byte 6 -> Persona y número (verbos) / número (resto de clases). Este byte tendrá una doble funcionalidad: - por un lado, nos servirá para generar las variantes de número en el caso de los sustantivos, adjetivos y determinantes (pasar de singular (S) a plural (P) y viceversa)- por otro, nos servirá para variar la persona y número de las formas verbales (3ª pers. Sing (H) – 3ª pers. Plu (T)) Byte 8 -> Género. Puede ser Masculino (M), Femenino (F) o Neutro (N). Resulta imprescinible mantener la concordancia en la generación de variantes morfo-sintácticas. Byte 10 -> pronombres enclíticos: puesto que en el caso de los verbos vamos a generar también variantes de pronombres enclíticos, nos fijaremos en primer lugar en si la forma verbal tiene (1) o no (0) un pronombre enclítico Como última puntualización, resaltar la existencia de dos caracteres especiales:- punto ‘.’ -> significa no especificado- almohadilla ‘#’ -> significa que no existe

7.5.1.2 Corpus lingüísticos

Para la categorización de los textos, el analizador recurre al empleo de corpus lingüísticos, que son conjuntos de textos que se toman como referencia para el estudio de una lengua. El analizador Sintax dispone de un amplio repertorio de textos. No obstante, dado que en este trabajo lo que se emplea es el resultado de proyectos100 y una tesis101 anteriores, en este apartado, nos limitaremos a dar unas pinceladas acerca de los corpus que podrían tener una importancia especial de cara a este PFC.

7.5.1.2.1 El corpus de El Mundo Constituye un conjunto de textos pertenecientes al periódico El Mundo, que sirvieron para probar

el funcionamiento de los mecanismos de segmentación en frases y de detección de palabras especiales. Los textos corresponden a fragmentos de ediciones de El Mundo durante los años 1994, 1995 y 1996; están disponibles en CD-ROM.

7.5.1.2.2 El corpus 860 Está constituido por textos etiquetados manualmente durante el proyecto ESPRIT 860. Estos

textos, que han sido previamente depurados, se pueden clasificar en tres tipos:1)      Textos jurídicos y de legislación (EEC), que constituyen un 30 % del total.2)      Textos de la Comunidad Europea (CEE), un 63.08 %.3)      Textos periodísticos (TEXTSPA), un 6.92 %.

Los textos de los tipos 1, 2 y 3 siguen el mismo formato. Las frases están dispuestas en forma de columna. Cada línea contiene una palabra de la frase, acompañada de su categoría gramatical.

Existe un cuarto tipo de textos relacionados con la temática de rehabilitación, discapacidad y ayudas técnicas, que se etiquetó en un proyecto posterior y contiene unas 52.065 palabras y signos de puntuación. 102

100 [Jiménez 1999] [Polanco 2001]101 [Montero 2003]102 Para más información consultar [Montero 2003] disponible en web http://lorien.die.upm.es/~juancho

E.T.S.I. Telecomunicación (U.P.M.) 143

Page 144: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

7.5.1.3 Detección de errores

A día de hoy, el analizador ha sido convenientemente perfeccionado para que ya no se produzcan excepciones. No obstante, ello no quita que se sigan produciendo algunos errores de selección y, consecuentemente se etiqueten mal algunas palabras. (dime, dinos cuenta). La solución que hemos adoptado es la de poner una tilde ortográfica, y de esta forma el sistema ya interpreta correctamente las palabras e incluso es capaz de detectar los pronombres enclíticos.

El mal etiquetado de las palabras refleja la dificultad que entraña el proceso de desambiguación de las palabras en castellano atendiendo únicamente al contexto. He aquí que queramos apuntar la importancia que podría tener el desarrollo de un buen modelo de lenguaje que contemple tanto el aspecto morfo-sintáctico como el semántico. El robot va a estar sometido a entornos donde se produzcan hechos lingüísticos de notable creatividad. El dominio puede influir muy especialmente y esto justifica que en nuestros experimentos tanto el corpus de El Mundo como el del 860, que sólo contemplan textos de periódico, sean insuficientes para que sintax devuelva casi siempre un etiquetado correcto.

7.5.2 Modelado léxicoPara el etiquetado inicial se emplea un procesamiento basado en una secuencia de 4 tipos de

procesadores: normalizador, modulo de diccionarios, conjugador verbal y reglas de terminaciones. El módulo de información léxica (dicctena), debe incorporar la máxima y más precisa cantidad de información gramatical. Este módulo comprenderá un amplio repertorio de diccionarios, un completo subsistema de conjugación verbal y unas precisas reglas de terminaciones.

Remitíendonos a [Montero 2003], en la etapa de desambiguación contextual se ensayan tres técnicas (reglas manuales, reglas inferidas automáticamente y aprendizaje estocástico), entre las que sólo sobresalen las dos últimas: la técnica estocástica y el aprendizaje automático de reglas.

7.5.2.1 Normalizador

Consiste en un módulo de normalización evaluado con un corpus que no es el correspondiente al marco del proyecto 860. El módulo de normalización formará parte de un sistema de etiquetado automático, que sí ha sido evaluado con un corpus normalizado manualmente y perteneciente al marco del proyecto 860.103 A la hora de desarrollar nuestro asistente, los textos de partida apenas contenían lo que en algún capítulo anterior referimos como “expresiones no-estándar”. Lo más que nos ha aparecido como elementos atípicos que fuera necesario normalizar son expresiones numéricas, puntos suspensivos y siglas, pero en ninguno de los tres casos se produjeron errores o excepciones.

El proceso de segmentación en frases comienza por detectar los “terminadores de oración” (punto, fin de párrafo, signos de interrogación o de admiración). A continuación, se aplica una serie de reglas léxicas, internas al programa de etiquetado.

Otros ejemplos de palabras especiales con los que hemos tratado son los nombres propios: cualquier palabra que comience por una mayúscula seguida por minúsculas en posición no inicial dentro de una frase es un serio candidato a ser un nombre propio. Si se encuentra en posición inicial, se consultan varios diccionarios de nombres propios que se comentan en [Montero 2003]

7.5.2.2 Diccionarios

En el sistema de etiquetado disponemos de varios diccionarios etiquetados: Las palabras más frecuentes del proyecto 860: con unas 15.000 palabras, revisadas

manualmente, aunque en los experimentos de desambiguación se empleará sólo una parte del mismo.

El DRAE: con unas 150.000 palabras, aunque no es tan fiable como el anterior en cuanto a su clasificación de las palabras función.

Los nombres, apellidos y poblaciones: provenientes del proyecto europeo Onomástica [Onomástica 1995].

103 Esto se explica con más detalle en [Jiménez 1999].

E.T.S.I. Telecomunicación (U.P.M.) 144

Page 145: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Los diccionarios de infinitivos regulares e irregulares de la RAE: dado que disponemos de un conjugador verbal sólo se necesita tener un diccionario de infinitivos para que el sistema pueda detectar formas verbales. Para evitar errores frecuentes en la detección de verbos, se han eliminado infinitivos de poco o nulo uso en la actualidad.

La búsqueda se realiza de manera binaria apoyada en índices, aunque se podrían emplear técnicas más rápidas como las basadas en una tabla Hash o en un letter-tree index (trie).

Cabe puntualizar la aportación de este proyecto fin de Carrera en este campo.Puesto que se van a tener que generar todas las posibles variantes lingüísticas de los

determinantes (entre otras categorías), creímos oportuno, para ahorrar en términos de coste computacional y minimizar los tiempos de acceso, crear, a partir del diccionario 860.ord una nueva versión (8603.ord) que contuviese únicamente las distintas alternativas para los determinantes en castellano, seguidos de su tag correspondiente. De esta manera pudimos adaptar en la medida de lo posible, el etiquetado de las palabras en función de cómo vayan a ser procesadas en fases posteriores del proceso de generación de variantes sintácticas.

7.5.2.3 Conjugador verbal

El analizador emplea el conjugador verbal desarrollado en [Montero 2003]. Es un conjugador que se basa en el modelo más simple dentro de la jerarquía de Hockett [González et al 1995]: Palabras y Paradigmas. Las palabras (en este caso los verbos) se caracterizan por:

- una raíz- una terminación

Ambas se deben concatenar para dar lugar a una forma verbal. En función de cómo sean la raíz y la terminación se puede establecer una clasificación de paradigmas en regulares o irregulares. La ventaja de este tipo de procesamiento es su flexibilidad y eficiencia en la implementación, la cual está basada en autómatas finitos

Otro de los aspectos que se tratan en este proyecto son los enclíticos.104 En este punto queremos reseñar, que a raíz del estudio del conjugador verbal del que partimos, hemos sido capaces de ampliar su funcionalidad mediante la creación de nuevas rutinas que, a partir de una forma verbal es capaz de pasarla a plural (es_verb2)

7.5.3 Desambiguación contextualTras los módulos léxicos previos, el etiquetado de las palabras presenta cierta ambigüedad. Esto

implica que, para obtener una buena categorización de las palabras, será necesario aplicar reglas que contemplen la importancia de la información acerca del entorno de cada palabra en cuestión. En esta línea de trabajo ya existe un conjunto de métodos estocásticos. Se dispone del programa ACOPOST como desambiguador, y del módulo TNT para entrenar.

7.5.4 Análisis sintácticoLa técnica en que se va a basar el analizador sintáctico se denomina parsing105 y nos proporcionará un

análisis robusto. El algoritmo empleado es el CYK, (descrito en [Montero 2003]), y puesto que se dispone de las herramientas necesarias para realizar un análisis ambiguo completo, se ha preferido recurrir a gramáticas de contexto libre, en lugar de a gramáticas regulares (a pesar de ser más robustas). El resultado de todo este proceso es la obtención del análisis más simple, evitando de este modo, el problema del sobreanálisis que suele estar asociado a gramáticas muy robustas.

El análisis sintáctico basado en reglas debe hacer frente a la problemática de encontrar una solución de compromiso que combine los siguientes factores:

1) Alta cobertura2) requisito temporal: “tiempo de proceso razonable”3) nivel adecuado de análisis: que la gramática sea útil como para proporcionar un análisis con el

suficiente nivel de detalle que se requiera en cada caso. .La fase de análisis sintáctico:104 Se pueden consultar en [Montero 2003] disponible en web http://lorien.die.upm.es/~juancho105 La técnica de parsing consiste en reconocer que una cadena pertenece a un lenguaje.

E.T.S.I. Telecomunicación (U.P.M.) 145

Page 146: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

se lleva a cabo una ordenación de las palabras dentro de los sintagmas más simples. Se tratan aquéllas combinaciones que permiten formar sintagmas compuestos a partir de la

segmentación de la etapa anterior.

7.5.5 Análisis sintagmático y reglas de corteEl objetivo primordial al realizar un análisis sintagmático no es encontrar la estructura global de

la frase. Por ello el analizador no necesita que se le pase una oración completa para analizarla, sino que es suficiente con pasarle segmentos de una frase, e incluso palabras aisladas.

Para lograr un buen equilibrio entre el tiempo total de análisis y la ambigüedad de una frase, se buscaron soluciones que diesen respuesta a:

1) reducir la combinatoria: para lo cual se optó por aplicar técnicas de compactación de grafos acíclicos

2) reducir el tiempo de análisis y la ambigüedad total: para ello se subdivide una oración en unidades más pequeñas.

Puesto que el algoritmo CYK se basa en la técnica de la programación dinámica, y como las reglas gramaticales empleadas, son independientes del contexto, no se va a producir una pérdida de optimalidad en el análisis a pesar de que las reglas no modelan efectos de largo alcance y las reglas de corte se corresponden con barreras sintácticas. Las reglas de corte, sólo se aplican cuando las suboraciones poseen más de tres palabras, y por ello, que, a efectos del asistente muchas veces sea “como si no existiesen”.

Las reglas de corte actúan al identificar posibles puntos de corte intraoracional (Signos de puntuación no binarios, conjunciones coordinadas, preposiciones o locuciones prepositivas, contracciones, pronombres objeto, verbos, adverbio ‘no’, fechas, nombres propios.

7.5.5.1 Reglas gramaticales sintagmáticas

En [Montero 2003] se explica cómo ha sido el propio autor el que, consultando bibliografía adecuada, partir de un proceso iterativo de análisis, detección de errores y corrección, ha ido construyendo todo el conjunto de reglas presentes en los archivos del analizador.

El desarrollo se puede estructurar en dos fases: una sintáctica y otra sintagmática. Una gramática clásica como la aquí empleada, contiene 2 niveles de análisis oracional:

el nivel sintagmático o conceptual: descomposición en bloques básicos. Este nivel asienta las bases de la gramática de sintagmas simples

el nivel sintáctico o relacional: estudia las dependencias entre los bloques básicos.

Hasta el momento presente, el enfoque del analizador había estado más orientado a desarrollar bien la componente sintáctica; somos conscientes de que no conviene dejar a un lado la fase de desarrollo relativa al significado, y por ello en este proyecto, llevaremos a cabo una serie de acciones destinadas a considerar la importancia de la componente semántica. La parte sintáctica puede ser perfeccionada con ayuda de la componente semántica.

7.5.5.1.1 Principales segmentos (sintagmas simples) Al estudiar el analizador nos hemos encontrado con que es capaz de segmentar en varios tipos de

subunidades: Sintagmas nominales (SN):- estructuras en torno a un sustantivo o en torno a un pronombre que actúan como núcleos) - estructuras nominalizadas106

Sintagmas preposicionales (SP): - Preposición + Sintagma Nominal- estructuras especiales que expresan cantidad, fecha, hora... Sintagmas preposicionales con la preposición ‘de’ o con la contracción ‘del’ (SPde):

106 Aquéllas que, sin ser un sustantivo, actúan como si lo fuesen. Por ejemplo: “El dormir tiene muchos beneficios para la salud”.

E.T.S.I. Telecomunicación (U.P.M.) 146

Page 147: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

- De + SN- Se emplea frecuentemente en el nivel relacional de la gramática. Núcleo verbal (VERBO): incluye- formas simples y compuestas del verbo- las principales perífrasis107 - inserción de elementos adverbiales dentro de la estructura del verbo. Sintagma Adjetival (SAdj):- estructura en torno a un adjetivo que actúa como núcleo: no se encuentra inserto en un sintagma nominal.- desempeña la función de atributo o modificador verbal Sintagma adverbial (SAdv): - actúa como modificador verbal o adjetival- puede insertarse dentro de la estructura del verbo. Nexos: incluyen las formas simples y compuestas de:- las conjunciones: SConj- signos de puntuación: SPunt - determinantes y pronombres relativos

7.5.5.1.2 Secuencia de segmentos (sintagmas simples) Dado un texto, podrá estar constituido por cualquier secuencia de cualquier número de sintagmas

simples. Aunque algunos tipos de sintagmas, especialmente el nominal y el preposicional, admiten variantes en función de la presencia o no de determinantes, procesos de nominalización, existencia de cuantificadores, etc. para el desarrollo del asistente sólo nos quedaremos con la información del tipo de sintagma general, sin entrar a profundizar en sus variantes.

Se define una división por niveles, de manera que al final se logren identificar los distintos tipos de sintagmas. A partir de un cierto patrón108 para un sintagma nominal, puede servir como base para identificar un posible sintagma preposicional. A modo de comentario mencionaremos que, en función de los rasgos expuestos en el párrafo anterior (presencia de determinantes, nominalizaciones, etc.) existen líneas paralelas de desarrollo.

Ejemplo:

<Determinante> <modificadores antepuestos> <núcleo> >modificadores pospuestos>

donde los modificadores antepuestos y pospuestos pueden ser adjetivos, numerales, indefinidos, adverbios, participios...

A medida que se intenta recoger un mayor número de estructuras específicas, con el fin de agilizar el proceso de identificación, aumentan las posibilidades de que se ponga de manifiesto el fenómeno de la sobregeneración. Éste problema será tratado más adelante por el principio de mínima longitud de descripción.

7.5.5.2 Filtros de concordancia

Consisten en un proceso por el cual se emplea la información acerca del género y el número de las unidades léxicas, con el fin de limitar el sobreanálisis a que da lugar una gramática tan ambigua como la que emplea el analizador.

El filtro de concordancia tiene como finalidad desestimar análisis no congruentes con las reglas de concordancia que existen en castellano. Para implementar los filtros no es necesario introducir modificaciones en el analizador (aunque aquí podría plantearse una posible mejora del sistema en aras de rapidez). Si se pretende que cada categoría y cada sintagma identifique su género y su número resulta casi inmediato pensar en que se va a producir una multiplicación del número de reglas.

107 Uno de los objetivos tratados en este proyecto toca el marco de las perífrasis verbales, como veremos en capítulos posteriores

108 Modelo que representa la estructura genérica

E.T.S.I. Telecomunicación (U.P.M.) 147

Page 148: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

El encadenamiento de concordancias comenzará con la primera palabra de aquellos sintagmas que puede estar dotados de género y número (determinantes, sustantivos, adjetivos). A continuación se va examinando el resto de palabras y se comprueba que exista coherencia entre la primera palabra y la información impuesta por las palabras precedentes. Una palabra que carece de género o de número se interpreta como compatible con cualquier combinación previa y se transmite directamente. Si la primera palabra es neutra, no impone ninguna condición a los elementos restantes, de manera que se pasa a la siguiente. Las categorías que pueden romper la cadena de concordancias dentro de un sintagma nominal complejo son: las preposiciones, las contracciones y las locuciones prepositivas.

7.5.5.3 Principio de mínima longitud de la descripción (Minimum Description Length Principle)

Para proceder al análisis sintáctico, lo fundamental es que el analizador sea robusto, es decir, que independientemente de cuáles sean los datos de entrada, sea capaz de analizar la frase y dar una solución.

Se hace necesario un conjunto de reglas muy “vagas” o amplias que permitan analizar una frase de diversas maneras, y una de ellas sea la correcta. Lo que se busca es minimizar el número de casos en los que no se logre obtener ninguna solución.

Ejemplo

“Presiona el botón rojo”

Esta frase tiene dos posibles análisis:“Presiona el botón rojo”

V SN

“Presiona el botón rojo”

V SN CPredicativo

Una vez realizados ambos análisis, el analizador se quedará con el más sencillo.109

Acabamos de ver que es posible aplicar restricciones de género y número sobre unos análisis de sintagmas muy básicos, de cara a desestimar los que pudieran resultar menos apropiados para una frase o segmento. Sin embargo, esta técnica no compete a todos los posibles casos de ambigüedad. Cabría pensar en llevar a cabo una asociación entre lexías y reglas de producción. El inconveniente es que la estimación de probabilidades requiere el uso de un gran corpus etiquetado con una misma gramática.

Otra propuesta va más en la línea de una característica simple que podría explicar la mayoría de los análisis correctos: la sencillez. En esto se basa el principio de mínima descripción (Minimun Description Length Principle):

El mejor análisis es el más sencillo, es decir, el que, para describir la cadena de entrada, presenta el número mínimo de elementos.

El concepto de longitud de la descripción no es único, sino que se puede ir referido a: número de sintagmas número de reglas número de niveles de la descripción en árbol, número de símbolos no terminales presentes en el árbol

De todas estas posibilidades la que aplica el analizador es la que hace referencia al número de sintagmas, ya que es la única que goza de cierta independencia de la gramática y su escritura (bajo la premisa de que el conjunto de sintagmas simples que buscamos es conocido)

Los elementos del lenguaje, si bien pueden estar aislados, (básicos), también pueden funcionar como adjuntos o complementos dentro de otros elementos básicos mayores:

109 Entendemos por “sencillo” aquel que tenga menor número de nodos.

E.T.S.I. Telecomunicación (U.P.M.) 148

Page 149: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Adjetivos: pueden ser adjuntos nominales o núcleos de sintagmas determinantes (nominalización), pero también pueden ser complementos predicativos o atributos por sí solos.

Sustantivos: es infrecuente, pero posible, que sean un sintagma nominal sin adjuntos ni determinantes.

Pronombres: aunque su capacidad combinatoria es muy simple y suelen formar ellos mismos su propio sintagma, sí que admiten la compañía de algunos adjetivos como las familias léxicas “mismo” y “solo”.

Verbos: en castellano, actúan como auxiliares, pero pueden ser también ellos mismos verbos principales; también los participios pueden en general actuar como elementos de la estructura verbal, o por el contrario, funcionar como adjetivos.110

Desde un punto de vista estocástico, podemos decir que, en los casos de ambigüedad, suele ser más probable la opción más simple que la que da lugar a un mayor número de elementos básicos; La probabilidad de que un elemento constituya por sí solo un sintagma es muy reducida y por lo tanto, sólo se debe recurrir a ella cuando globalmente no quede otra alternativa.

Un problema que se plantea al aplicar este principio es que los elementos frontera resultan indistinguibles puesto que pueden ser asignados a cualquier segmento y no producen una variación en el número total de segmentos de análisis.

7.6 Funcionamiento general

A modo de fijar conceptos, y sin ánimo de hacer un análisis exhaustivo acerca del funcionamiento del analizador, a continuación vamos a proceder a una descripción general del funcionamiento de “sintax” y de los principales ficheros que son necesarios para la implementación de las diversas funciones.

7.6.1 Nombre de ficheros y modo de funcionamientoDe entre los posibles ficheros que van a intervenir en el proceso de análisis, cuatro de ellos

adquieren un carácter especialmente importante: nombreNOT: texto.not nombreAPS: texto.aps nombreETQ: texto.etq nombreCRG: texto.mincrg nombreCRGETQ: texto.crgetq

Esta decisión de adoptar el mismo nombre para todos los ficheros es un cambio que ha tenido lugar a lo largo del desarrollo del presente proyecto. Sin duda ha facilitado la programación y el funcionamiento general del sistema, así como la integración entre analizador y asistente. Partiendo de un único nombre, (texto.not), se va dando nombre al resto de ficheros, simplemente cambiando la extensión (NOT, APS, ETQ, MINCRG, CRGETQ)111 por medio de la rutina “flhPonerExtension”

Una vez que los ficheros tienen nombre y extensión, colocamos al programa en: modoGrafico = 0

El modoGrafico es una novedad introducida a lo largo del desarrollo de este trabajo. Donde antes se representaba y pintaba el árbol sintáctico, ahora se muestra el árbol sintagmático en modo texto.

110 Tomado de [Montero 2003]111 Las distintas extensiones que van adoptando los ficheros pueden ser indicadores de la fase del proceso

de análisis en que se encuentra la ejecución del programa en un momento dado.

E.T.S.I. Telecomunicación (U.P.M.) 149

Page 150: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.SintaxFig. 7.3 Antes se llamaba a una función que pintaba el árbol sintáctico

Fig. 7.4 Ahora se muestra el árbol sintático en modo texto

7.6.2 Carga de la gramáticaComo ya hemos mencionado, el analizador necesita disponer de una gramática, es decir, del

conjunto de reglas que dictan qué combinaciones de palabras son válidas en castellano. Para ello, llamando a la función “CargarGramática”, se carga en memoria toda la información necesaria para llevar a cabo el proceso de análisis. Concretamente, la gramática que se maneja en sintax es “segmenta.cmt”. Se trata de una gramática de contexto libre CoMenTada, y de acuerdo a la jerarquía de Chomsky, podría catalogarse como tipo 2.

a)

b)

Fig. 7.5 SEGMENTA.CMT

7.6.3 Sincronización a través de ficherosEl siguiente paso es que el sistema se queda esperando hasta que se cree el fichero “valido.dep”.

Este fichero funciona a modo de semáforo que, una vez activado dará pie a que comience la categorización del fichero que contiene el texto de entrada.

7.6.3.1 cliente

Se abre una ventana de Terminal MS-DOS y se llama a la aplicación del cliente situándose en el directorio correspondiente y tecleando “cliente” en la línea de comandos

E.T.S.I. Telecomunicación (U.P.M.) 150

, 16/08/06,
¿Mejor así? Es que en las notas de EE.UU tengo puesto siempre que los ficheros eran semáforos, sincronización a través de semáforos,…pero si quieres lo vuelvo a readaptar todo para que no aparezca esa palabra si no te gusta
Page 151: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Automáticamente se abrirá una ventana donde el usuario debe introducir el texto a analizar

y cuando termine debe cerrar la ventana. indicando que sí desea guardar los cambios.

En este momento termina la labor del cliente, que quedará esperando hasta que el usuario desee introducir una nueva frase para que sea analizada

7.6.3.2 texto.not

Cuando el sistema detecta que se ha introducido una frase, se genera “valido.dep” y esto da lugar a que se copie el texto de entrada al fichero “texto.not”

Fig. 7.6 texto.not

7.6.4 Procesado del texto de entradatexto.not será categorizado y lo que se muestra al usuario es una serie de mensajes por pantalla

indicando la evolución de las acciones del analizador. Finalmente se indica si el análisis ha concluido con éxito, y en caso contrario se mandaría un mensaje de error a través de una ventana que aparecería automáticamente solicitando la confirmación del usuario.

E.T.S.I. Telecomunicación (U.P.M.) 151

Page 152: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Dado que esta forma de implementación de los mensajes de error en forma de ventanas supone que el programa se quede parado, con el fin de construir un asistente robusto, y para lograr un modo fluido tanto de ejecución como de comunicación asistente-analizador, se ha llevado a cabo una reestructuración del código y una corrección del flujo del programa. Esto se concreta en una serie de cambios entre los que cabe reseñar:

sustitución de los mensajes de error bloqueantes por alternativas no bloqueantes. Las repercusiones a nivel de funcionamiento en este sentido han sido mínimas puesto que esta modificación sólo requiere que el usuario preste algo más de atención a la información mostrada a través la ventana del Terminal por si se produjesen mensajes de error (puesto que ya no es el propio sistema el que asume la función de avisar de los errores ocurridos en tiempo de ejecución a través de ventanas gráficas)

optimización de los tamaños de las estructuras de datos a fin de evitar desbordamientos. El analizador supone un gran consumo de recursos del sistema y esto deriva en una velocidad de ejecución de los programas, cuando menos, lenta.112

A continuación se carga ACOPOST y se trata de obtener la secuencia óptima de categorías. Tras un preprocesado de las locuciones presentes en el texto de entrada, se genera el fichero de diccionario “entr_smp_sl.lex” [Montero 2003], que a cada palabra le asigna todas sus posibles categorías (tags). Apoyándose en este fichero de diccionario, se van a generar dos ficheros:

1) el fichero “acopost.dep” donde ya queda reflejada la asociación entre palabras y las categorías que el analizador ha admitido como óptimas

2) el fichero “viterbi.dep” donde aparecen tanto las palabras antes de aplicar el algoritmo de desambiguación, como el resultado después de ser aplicado.

Esta información, no sólo se guarda en un fichero, sino que también aparece por pantalla.

112 Otras veces el programa incluso se queda bloqueado

E.T.S.I. Telecomunicación (U.P.M.) 152

Page 153: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

Fig. 7.7 entr_smp_sl.lex

Fig. 7.8 acopost.dep

Fig. 7.9 viterbi.dep

7.6.5 Fin del análisisLlegados a este punto, se habrá completado el análisis (modoCompleto = 1) y se habrá creado el

fichero con extensión .APS.Para evitar volver a analizar de nuevo el mismo texto, borramos “valido.dep”

E.T.S.I. Telecomunicación (U.P.M.) 153

Page 154: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

7.Sintax

El programa principal se queda esperando en un bucle infinito hasta que aparezca de nuevo “valido.dep”

E.T.S.I. Telecomunicación (U.P.M.) 154

Page 155: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Capítulo 8Capítulo 8 Variantes LingüísticasVariantes LingüísticasEn el presente capítulo se ponen de manifiesto los dos niveles que intervienen en la generación

de modelos de lenguaje: el nivel que atiende a las relaciones de tipo morfo-sintáctico, y el que contempla la componente semántica. Asimismo se intenta plasmar la utilidad del asistente en el sentido de tener un efecto multiplicador para generar variantes lingüísticas y facilitar así la tarea del desarrollador del museo a la hora de programar al robot para su participación en una nueva exposición.

8.1 Dos posibles acepciones: Sintaxis vs Semántica

Existen dos formas de analizar las palabras: desde el punto de vista sintáctico: atendiendo a la función que desempeña la palabra en la oración

ó bien desde el punto de vista semántico: atendiendo al significado de la palabra.

Para explicar el concepto de generación de variantes lingüísticas, nos serviremos del ejemplo que vamos a ilustrar en las líneas que vienen a continuación.

Tomemos por ejemplo la frase: “Para qué sirve presionar este botón de la derecha”

Ejemplo 8.1 Frase original

El verbo “presionar” va acompañado de “este botón”. Pero aquí cabe plantear dos posibles enfoques:

Desde el punto de vista sintáctico, “este botón” actúa como complemento directo del verbo transitivo “presionar” Por otra parte, desde el punto de vista semántico, la función de “este botón” es recibir la acción de “presionar”

Observemos que lo que aparece en la oración es una forma no personal del verbo, concretamente el infinitivo. Como tal no tiene sujeto, pero está implicito en la propia semántica del verbo, que la acción de “presionar” debe ser llevada a cabo por una persona, no por un objeto.

“Para qué” también puede ser analizado desde dos puntos de vista: Sintácticamente constituye un sintagma preposicional mientras que desde el punto de vista del significado trata de expresar cuál es la finalidad (goal) de “presionar”.

Una forma de descomponer la frase en distintos segmentos, podría ser la siguiente:

Para qué sirve presionar este botón de la derecha.

Ejemplo 8.2 Descomposición en segmentos

A partir de esta división en partes es asombroso el amplio repertorio de frases que podrían derivar de ella.

8.1.1 SintaxisEn lo relativo al campo de la sintaxis, y volviendo a nuestro ejemplo, tomemos el tercer

segmento:este botón de la derecha.

E.T.S.I. Telecomunicación (U.P.M.) 155

Page 156: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Observemos que está constituido por:Determinante (demostrativo) + nombre + S.Prep

Para este segmento, que a priori presenta una estructura tan sencilla, existen varias alternativas admisibles desde el punto de vista sintáctico.

8.1.1.1 variaciones del tipo de determinante: en lugar de haber empleado un demostrativo, se podría haber utilizado otro tipo de determinante (un artículo determinado, indeterminado, indefinido,…)

este botón de la derecha.=> ese botón de la derecha.

aquel botón de la derecha.

el botón de la derecha.

un botón de la derecha.

cualquier botón de la derecha.

Ejemplo 8.3 Variaciones del tipo de determinante

8.1.1.2 variaciones de número: el sustantivo “botón” es un nombre común concreto y contable que sí admite plural. No haría falta decir que, aunque cambie el tipo de determinante, ello no significa que sus formas alternativas no puedan ser pasadas también a plural.

este botón de la derecha.=> estos botones de la derecha

esos botones de la derecha.

aquellos botones de la derecha.

los botones de la derecha.

unos botones de la derecha.

Ejemplo 8.4 Variaciones de número

8.1.1.3 variaciones del sintagma preposicional:

La estructura del sintagma preposicional que actúa como complemento del nombre, a su vez contiene un elemento (artículo determinado “la”) que admite variantes sintácticas en lo que al tipo de determinante se refiere

la derecha.=> mi derecha

tu derecha.

su derecha.

nuestra derecha.

vuestra derecha.

Ejemplo 8.5 Variaciones del sintagma preposicional

E.T.S.I. Telecomunicación (U.P.M.) 156

Page 157: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

8.1.2 SemánticaEn lo que a la semántica se refiere, también es posible generar variantes. Para ello nos vamos a

remitir a la idea que ya ha salido anteriormente de que existe una relación semántica que liga las palabras y da coherencia al texto.

“presionar” - “botón”

La acción de “presionar” siempre va dirigida sobre un objeto

=> presionar “algo”

“Botón” es un objeto sobre el que normalmente recae la acción del verbo

=> un “botón” : recibe la acción de ser presionado, pulsado, accionado, …

Ejemplo 8.6 Relaciones semánticas

8.2 Estructura en módulos

El robot va a estar constituido por módulos situados en uno o varios ordenadores.

Fig. 8.1 Módulos de los que está compuesto el robot

A día de hoy, el robot se compone de varios módulos que incluso pueden estar físicamente ubicados en placas madre diferentes.

PC1: NAVEG

PC2: KERNEL

PC3: SPEECH TO TEXT + TEXT TO SPEECH

PC4: WEB

E.T.S.I. Telecomunicación (U.P.M.) 157

Page 158: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

PC1 Y PC2 están conectados a la misma red, y su conexión con el resto de los módulos es a través de un hub inalámbrico.

El KERNEL es el núcleo principal que llama a todos los demás módulos. Cada módulo tiene una serie de puertos de servicio, y el KERNEL actúa como cliente de todos los demás. Como tal cliente, el KERNEL, realiza peticiones al resto de los módulos, y éstos a su vez, le responden.

El modulo de Speech To Text (S2T) y Text To Speech (T2S) recibe peticiones, y su función es atenderlas. Interviene en todas las funciones del robot que tienen que ver con reconocimiento y síntesis de voz, establecimiento de diálogo, interacción con el humano, reconocimiento de órdenes, …

El WEB está conectado de manera inalámbrica pero analógica. Este módulo está orientado a la posibilidad de realizar visitas virtuales a través del robot.

Volviendo al KERNEL, será éste quien decida que el robot sea autónomo. Desde la Web se darán las órdenes correspondientes

Ejemplo 8.7 Ejemplos de órdenes

Sin embargo, no podemos olvidar que si bien desde la web pueden darse órdenes al robot, no se puede tener acceso al micrófono y por tanto, de momento, no podemos hablar con el robot. Ello no significa que en futuros proyectos se estudiase esta posibilidad.

8.3 La Labor del Asistente

En forma muy breve, centrémonos por un momento en:¿qué es lo que vamos a hacer?

Nos disponemos a realizar un módulo que esté relacionado con los modelos de lenguaje. Este nuevo módulo generará ficheros que serán utilizados por el módulo Speech To Text que interviene en la etapa de reconocimiento. Se trata de una herramienta de experto que va a modificar el Speech To Text principalmente en la dimensión de cambiar el vocabulario y las palabras que acepta el robot.

Hablar de Text To Speech (Conversión de texto a Voz) sí suele ser frecuente. No ocurre lo mismo con el concepto de Speech To Text (Conversión de Habla en texto). En general, suele estar más extendido hablar de reconocimiento.

8.4 Herramientas

A diferencia de lo que ocurría en tiempos más remotos de la historia, cuando la ciencia no había comenzado a dar más que sus primeros pasos, ahora en el campo de la ingeniería, la actividad no está tan orientada a “reinventar la rueda” y partir desde cero, sino más bien a aprovechar el máximo posible de recursos que tengamos a nuestro alcance. De ahí que, para el desarrollo de este trabajo nos hayamos apoyado en un conjunto de herramientas que van a resultarnos de mucha utilidad, y no sólo nos van a permitir ahorrar tiempo y obtener buenos resultados, sino innovar, mejorar los ya existentes y avanzar y profundizar en el proceso. Aunque se ha dedicado un capítulo exclusivamente a desarrollar y detallar el conjunto de herramientas que se van a emplear, aquí hemos considerado oportuno hacer mención de las mismas y exponer de un modo muy breve algunos aspectos que resulta conveniente tener en consideración.

E.T.S.I. Telecomunicación (U.P.M.) 158

Page 159: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

8.4.1 AnalizadorLa primera herramienta a nuestro alcance es un analizador de frases. Precisando algo más, se trata

del analizador sintáctico del Grupo de Tecnología del Habla: sintaxA lo largo de la evolución de este trabajo, se han ido efectuando una serie de cambios en dicho

analizador a fin de que resulte más eficiente para realizar sus funciones. Ahora, el analizador, recibe una lista de argumentos; concretamente, argc=4

void main (int argc, char *argv[])

1. El primer argumento del método main, como sabemos, es el nombre del programa.2. El segundo argumento (argv[1]) es el nombre del fichero donde se encuentra el texto de

entrada (texto.not)3. El tercer y cuarto argumento se inicializan con el valor 0 y harán referencia al modo de

funcionamiento:- modoSeguro- modoGrafico

La relación de ficheros que se emplea en esta versión de “sintax” es la siguiente:- nombreNOT (texto.not): constituye el texto de entrada

- nombreAPS (texto.aps): texto categorizado

- nombreETQ (texto.etq): minimizado, texto que se visualiza

- nombreCRG (texto.mincrg): descomposición en sintagmas

- nombreCRGETQ (texto.crgetq)

Otro de los cambios consiste en que el fichero ha pasado de tener extensión .ide, (ficheros que se abrían desde Borland C), a tener extensión .dsw, propia de ficheros que se abren desde Visual C.

En una versión anterior se empleaba “arbol.ide”. Recordemos que en este árbol que usábamos con anterioridad, teníamos varios programas que había que ir ejecutando de forma consecutiva: categoriza, análisis sintagmático…Parte de nuestro trabajo ha consistido en incorporar a la versión actual de sintax, los cambios necesarios para que todo resulte más versátil, transparente e integrado. Así, el programa actual, ya modificado, ya contiene todas las fuentes con excepción de dos fuentes con extensión .bat, que no son relevantes a nuestros efectos.

8.4.1.1 Implementación

La forma de proceder es la siguiente: nos hemos definido un espacio de trabajo denominado sintax.dsw.

Para comenzar el proceso no tenemos más que abrir el espacio de trabajo con el comando file -> Openworkspace, irnos al directorio de trabajo y, de entre los posibles nombres que nos aparecen, seleccionar sintax.dsw.

E.T.S.I. Telecomunicación (U.P.M.) 159

Page 160: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

1.

2.En Visual existen dos modos de ver el espacio de trabajo.

- FileView- ClassView

Para seleccionar un modo u otro basta con pinchar en la pestaña correspondiente, situadas en la parte izquierda de la pantalla.

E.T.S.I. Telecomunicación (U.P.M.) 160

Page 161: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

El objetivo principal es sintax, que aparecerá marcado en negrita. Se trata del proyecto activo. El resto de nombres que aparecen son subárboles o subobjetivos; en definitiva se trata de programas necesarios para generar sintax.

8.4.1.2 Descripción

El programa principal tiene un bucle infinito que se espera hasta que aparezca un fichero denominado “valido.dep”. Hasta que no aparezca este fichero, el programa es “como si” estuviera parado, es decir, aparentemente, no realiza ninguna acción. En paralelo, se está ejecutando un fichero .bat que genera continuamente un fichero denominado valido pero cuyo contenido no es el que nosotros esperamos. Para poder alterar el texto que deseamos analizar hacemos uso de esto que acabamos de comentar; es imprescindible antes de poder cambiar un texto, que alguien haya generado el fichero valido.dep. El bucle principal, o bucle main ahora está en sintagmatico.cpp

8.4.1.3 ¿Qué se pretende?

Lo que nosotros estamos tratando de hacer es un programa que está fuera del analizador, pero se integre con él. Dada una frase introducida manualmente a través del teclado, o bien leída desde un fichero de texto, ha de ser analizada sintácticamente. Para ello, el programa deberá generar un fichero .NOT (texto.not), y a su vez, a partir del fichero .NOT, se generará “valido.dep”.

Cabe reseñar la importancia de cerrar el fichero .NOT ya que de lo contrario, cuando se vaya a leer dicho fichero para generar valido.dep, se estaría leyendo algo temporal.

8.4.1.4 Secuencia de pasos

De forma esquemática, la secuencia de pasos a seguir es:- partiendo de una frase introducida por la entrada estándar (teclado), o leída a partir de un fichero

de texto:

1. Generar texto.NOT a partir de la frase que se desea analizar2. Generar valido.dep3. Lectura del fichero .NOT y análisis sintagmático del texto.4. sintax borra valido.dep

E.T.S.I. Telecomunicación (U.P.M.) 161

Page 162: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

5. Generación de un fichero denominado texto.mincrg con el resultado del análisis.A la hora de analizar una frase, es imprescindible llevar a cabo las acciones en el orden correcto.

Fig. 8.2 Secuencia de pasos

Estableciendo una analogía entre cliente y servidor podemos ver que el asistente desempeñaría el papel de cliente del analizador sintax, que sería el servidor. El servidor no reacciona ante el fichero texto.NOT. Es el cliente quien escribe en el .NOT. Dado que el servidor puede leer en cualquier momento, si permitiésemos que el servidor reaccionase ante texto.NOT, podría ocurrir que éste último leyese algo temporal o incompleto. Con el fin de evitar problemas de concurrencia, la forma de comunicación entre cliente y servidor es a través de un fichero denominado valido.dep. Esta forma de trabajar con ficheros es algo temporal: en el futuro, se pretende trabajar con otro tipo de técnicas más sofisticadas.

Para que todo funcione correctamente, el tiempo en el que el cliente crea y cierra valido.dep, debe ser menor que el que tarda el servidor (sintax) en realizar el análisis.

Sabemos que los tiempos de ejecución son menores cuando lo que queremos ejecutar está previamente cargado en memoria. Por esta razón, hemos optado por enviar una frase corta al principio del programa. La peculiaridad de esta frase es que tenemos la certeza de que siempre se analiza correctamente y lo que nos va a permitir es cargar tanto la gramática como los diccionarios que nos vayan a ser necesarios. A pesar de que el análisis de esta primera frase será más lento (precisamente con motivo de tener que realizar la carga en memoria de los diccionarios y la gramática correspondientes), la ventaja es que los análisis posteriores serán mucho más rápidos, dado que ya tienen la información necesaria cargada de antemano.

8.4.1.5 El paso cero

En este asistente de modelos de lenguaje hemos pensado en introducir un paso 0 en el cual se borra el fichero texto.mincrg.

Un detalle clave para una buena comunicación entre asistente y analizador es cómo sabe el cliente que el servidor ha terminado de generar el fichero que está esperando (texto.mincrg).

Para saber que el servidor ha terminado su proceso no nos vale con que el cliente detecte la presencia del fichero texto.mincrg. Este fichero siempre recibe el mismo nombre, por lo cual, si para determinar el final del proceso nos basásemos en que el cliente encuentre el minimizado podríamos dar lugar a un error y pretender terminar antes de tiempo, interpretando como nuevo el fichero

E.T.S.I. Telecomunicación (U.P.M.) 162

Page 163: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

correspondiente a un análisis anterior. Es cierto que el servidor genera el fichero minimizado correspondiente, cada vez que concluye el análisis de un nuevo texto de entrada, pero ya que el fichero se guarda siempre con el mismo nombre, podría ocurrir que el cliente leyese un fichero minimizado procedente de un análisis anterior.

Para asegurarnos de que el proceso ha concluido realmente borraremos el fichero minimizado, de forma que, si todo es correcto, estaríamos asegurando que nunca vamos a leer el minimizado de otra frase: o bien se lee el minimizado actual, o no se lee ninguno.

En otras palabras, de todo lo que acaba de ser expuesto se deduce que la solución al problema de leer dos veces un mismo fichero, con la consecuente pérdida de información y la mala sintonización entre asistente (cliente) y analizador (servidor) estriba en que sea el analizador quien genere un fichero de ayuda (fichero_de_ayuda.etq) cuando haya terminado de generar el fichero que contiene la frase descompuesta en sintagmas y las etiquetas correspondientes a las categorías sintácticas de los sintagmas que componen la frase.

8.4.1.6 Otras modificaciones en sintax

Otro de los cambios implementados en el analizador está relacionado con el fichero de extensión .NOT que contiene el texto de entrada. Donde la versión anterior de sintax, permitía la posibilidad de elegir el fichero.NOT que se desease procesar, ahora, está programado de manera que todos los ficheros van a generarse bajo el mismo nombre: texto.NOT. Esto presenta el inconveniente de que cada vez que procedemos a un nuevo análisis, sobreescribimos y perdemos el análisis anterior. A cambio las ventajas son mucho mayores (reducción del tamaño del código, menor complejidad, facilidad de implementación, menor tiempo de proceso…)

Antes, el fichero .NOT se entregaba a tnt.bat, pero ahora, lo que constituía un solo proceso, se ha fragmentado en varios.

En primer lugar, disponemos de tnt1.bat que toma el fichero denominado categorizado.dep y realiza con él una serie de procesos.

Aparece un nuevo componente denominado ACOPOST: su función es la de desambiguador. Una palabra puede tener varias categorías, y ACOPOST decide para cada palabra cuál es la categoría más indicada.

La decisión de qué categoría corresponde a cada palabra se hace en base a otro programa denominado viterbi. Constituye el proceso por el cual se desambigua. Antes de viterbi, las palabras pueden pertenecer a varias categorías, pero después de viterbi, las palabras sólo pueden tener una categoría (ya no hay lugar para ambigüedad).

La decisión de a qué categoría corresponde cada palabra se fundamenta en estimaciones probabilísticas.

Veamos un ejemplo:

Supongamos que tenemos un fichero categorizado.dep de la frase “para qué sirve este botón de la derecha”

Nos encontraríamos lo siguiente:Para: aparecería como preposición (P) o como conjunción 7 (C)113.

113 Conjunción 7 significa que, esta palabra, unida a otras, forma parte de una locución conjuntiva. En el caso de analizar “para que vengas”, tanto para como que, aparecerían como conjunción 7. Por separado, cada una de estas palabras, no es una conjunción, pero unidas, forman una locución conjuntiva.

E.T.S.I. Telecomunicación (U.P.M.) 163

Page 164: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Que: pronombre interrogativo (R22) o adjetivo interrogativo (A09).

En el apéndice se explican los valores y forma de codificar las etiquetas. Las categorías en el fichero categorizado.dep están representadas por 10 bytes. En general, las etiquetas van a estar simplificadas, de manera que la mayoría de los bytes serán “.” o “#”

Es un hecho que las palabras presentan ambigüedad: Cuando “qué” funciona como pronombre interrogativo, no va acompañado de ninguna palabra

sin embargo en “qué coches”, desempeña la función de adjetivo.

La palabra “qué” en sí, no sabemos a qué categoría pertenece, pero incluida en un contexto determinado, cuando se lee la frase completa, es posible deducir cuál es la función que está desempeñando en la oración. Nuestro programa precisamente lo que va a hacer es, a partir de la lectura de la frase, decidir cuál es la categoría óptima para cada palabra. Sólo el contexto permite ver qué función están desempeñando realmente las palabras.

8.5 Tratamiento de los datos omitidos. Criterio de ACOPOST

Remitiéndonos a la frase de antes: “…botón de la derecha”

Ahí “derecha” actúa como núcleo. Podríamos estar refiriéndonos a la zona derecha, la parte derecha, pero éstos, no son datos que aparezcan en la frase, sino que están omisos.

Ya hemos mencionado, que ACOPOST se basa en estimaciones probabilísticas para decidir las categorías óptimas de cada palabra.

El modelo de lenguaje, que es lo que se pretende generar en este proyecto fin de carrera, se basa en el empleo de uni, bi y trigramas.

El bigrama constituye una matriz de probabilidades: para cada dos elementos, nos da la probabilidad de que aparezcan juntos.

Análogamente, el trigrama nos da la probabilidad de que tres elementos aparezcan consecutivamente y el unigrama, es la probabilidad de que aparezca un elemento.

Hemos utilizado la palabra “elementos” dado que debemos hacer la distinción entre bigramas de palabras o de categorías., lo cual da lugar a matrices distintas.

ACOPOST trabaja con bigramas y trigramas de categorías, pero en este trabajo nos vamos a centrar en la probabilidad de que dos palabras vayan seguidas (bigramas de palabras). Un ejemplo para ilustrar esto último es el siguiente:

Caso genérico (ACOPOST): detrás de un determinante, ¿cuál es la probabilidad de que

venga un nombre?

Caso particular (PFC): Detrás de “la” ¿cuál es la probabilidad de que venga “casa”?.

El módulo ACOPOST, recibe un fichero donde las palabras tienen varias categorías, y la información de la que dispone para desambiguar son bigramas o trigramas de categorías (matrices de probabilidad de que a una categoría le suceda otra).

8.6 Caso de uso de los modelos de lenguaje. Aplicación al reconocimiento

En reconocimiento de voz, la confusión de unas palabras con otras es muy frecuente. Una parte de este proyecto se orienta hacia la mejora de esta etapa del proceso de comunicación e interacción vocal.

Una forma para mejorar el trabajo desarrollado por un reconocedor de voz es disponer de información adicional que nos permita predecir qué palabra debería aparecer a continuación de otra, de manera que minimicemos el número de errores.

E.T.S.I. Telecomunicación (U.P.M.) 164

Page 165: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Si sabemos que a continuación de una palabra es más probable que vengan otras, evitaremos que el reconocedor se equivoque tanto. Por ello vamos a centrarnos en estudiar las probabilidades entre palabras.

Para facilitar la comprensión por parte del lector/a, ilustraremos aquéllo que tratamos de transmitir, mediante un ejemplo:

Supongamos que un reconocedor entiende “la botón”; realiza los cálculos de las probabilidades de que:

“la” preceda a la palabra “botón”así como de la probabilidad de que el determinante “el” preceda a “botón”.

Con los datos obtenidos, observa:Prob(el+botón) >> Prob (la+botón)

Basándose en cálculos probabilísticas, optaría por la opción “el+botón”. Por lo tanto, aunque el reconocedor había cometido un error, al final el resultado es el correcto.

En el caso que nos ocupa:ACOPOST recibe varias palabras que pueden pertenecer a varias categorías:

Palabras Categorías

PARA P C

QUE R A

SIRVE V

Tabla 8: Asociación entre palabras y categoríasLos datos numéricos que vamos a emplear son logaritmos de probabilidad. Por teoría de la probabilidad, sabemos que:

P(A∩B)=P(A)·P(B)

Trabajando en notación logarítmica, los productos se transforman en sumas.log(P(A∩B))=log(P(A)·P(B))=log(P(A))+log(P(B)).

Dado que la probabilidad es una cifra entre 0 y 1, el logaritmo siempre será un número negativo. Esto no afecta en los cálculos: se guarda la coherencia ya que, al sumar dos números negativos, nos sigue quedando otro número negativo (Esto quiere decir que si el log de la probabilidad es siempre un número menor que 0, la probabilidad será siempre un número comprendido entre 0 y 1).

Por otra parte, si P(A)<P(B),

se sigue cumpliendo que log(P(A))<log(P(B)).114

El resultado correcto que debería obtener tendría que ser:

114 La curva de la función logarítmica es: El log(0)=-∞ de manera que, cuanto menor sea el número (más se aproxime a 0), su logaritmo será un

número más negativo, y por tanto se mantiene la relación).

E.T.S.I. Telecomunicación (U.P.M.) 165

Page 166: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Pero hay más posibilidades. Con dos elementos ambiguos y dos posibilidades para cada elemento, tenemos 22= 4 combinaciones posibles.

¿qué hay que hacer? ¿cómo determinamos la secuencia idónea?Calculamos las probabilidades en cada caso:

P(PRV)= PPARA(P)· PQUE (C)· PSIRVE(V)·P(PRV) P(PAV)= PPARA(P)· PQUE(A)· PSIRVE(V)·P(PAV) P(CRV)= PPARA(C)· PQUE(R)· PSIRVE(V)·P(CRV) P(CAV)= PPARA(C)· PQUE(A)· PSIRVE(V)·P(CAV)

Siendo:PX(Y)= probabilidad de que la palabra X pertenezca a la categoría Y

Pero no hay que olvidar que lo que se está calculando es la probabilidad de la combinación preposición+pronombre+verbo

en esta frase en concreto, y los datos de partida son unas matrices de probabilidad genéricas p(x,y,z) p(x,y) p(x)

El número mayor es el que nos va a dar la combinación óptima.El caso que acabamos de exponer resulta muy sencillo, pero ¿qué ocurre cuando tenemos más de

3 elementos?Es ahí donde entra en juego el algoritmo de viterbi, que nos permite calcular la probabilidad de

que más de tres elementos vayan seguidos.Cuando sólo teníamos dos elementos, nos limitábamos a calcular:

p(x)·p(y)·p(x,y)

(las probabilidades marginales de cada uno de los elementos, multiplicado por la probabilidad

conjunta de ambos).

El algoritmo de viterbi, en lugar de darnos cuántas ambigüedades hay por grafo, realiza los cálculos para cada grafo, y nos permite ir palabra a palabra. Se van multiplicando las probabilidades, acumulando palabra a palabra, y reutiliza datos ya calculados previamente. Muchas cosas se repiten, por lo que no es necesario volver a calcularlas. En definitiva de lo que se trata es de ir haciendo cálculos en paralelo.

Viterbi no trabaja con todas las combinaciones. El número de categorías sabemos que es fijo, por lo tanto, la tabla de la que parte dicho algoritmo podría ser de este estilo:

Categorías\palabras PARA QUE SIRVE PRESIONAR

P PPARA(P) PQUE(R)·P(P,R)

PQUE(A)·P(P,A)

C PPARA(C)

A -

R -

V -

Tabla 9: Algoritmo de ViterbiSe puede intuir que a medida que aumenta el número de palabras en la frase, las posibilidades

aumentan de manera considerable, dando lugar a un árbol con numerosas ramificaciones.

E.T.S.I. Telecomunicación (U.P.M.) 166

Page 167: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

No sería viable realizar todos los cálculos y por ello nosotros vamos a emplear el Principio de Optimalidad de Bellman, que se queda con el resultado mejor de cada ramificación y asegura que al final llegamos a la combinación óptima.

Visto en forma gráfica, si:PQUE(R)·P(P,R) > PQUE(A)·P(P,A)

Seguirá analizando la primera rama, pero los cálculos que provengan de sucesivas ramificaciones donde “que” desempeñe la función de adjetivo, los va a omitir. De esta forma, se ahorra en tiempo y se gana velocidad y eficiencia.

Además ya hemos mencionado que esta manera de proceder garantiza que el resultado obtenido es el óptimo, el mismo al que llegaríamos realizando todos los cálculos. (No obstante, esto no se cumple para el segundo mejor resultado.115

Todo lo que acabamos de ver es cierto para los bigramas. En el caso de los trigramas hasta que no se tienen las tres palabras, no podemos determinar cuál es la combinación idónea.

8.7 Estimaciones probabilísticas

8.7.1 ¿De dónde salen los números?Salen de hacer los cálculos con el texto ya analizado.Partimos de un Corpus de 360000palabras categorizado a mano. Cada palabra tendrá una o varias

categorías.Se trata de ver, en ese corpus, cuántas veces la palabra para es preposición, y cuántas veces

conjunción.Supongamos los siguientes datos de partida:

PARA

P 50 (50/55)

C 5 ( 5/55) 116 Tabla 10: Datos de partida

Se cumple que: 50/55 + 5/55 = 1

y que

PPARA(P) es 10 veces mayor que PPARA(C)

Los datos de las probabilidades se obtienen sin más que dividir el número de casos favorables, entre el número de casos posibles.

Las cuentas las podemos encontrar en los ficheros con extensión .123:

115 Lo cual a nosotros, particularmente, no nos interesa

116Advertimos al lector que los datos que aparecen en esta tabla son inventados. Nos serviremos de ellos simplemente a modo de clarificar nuestra explicación

E.T.S.I. Telecomunicación (U.P.M.) 167

Page 168: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

A partir de todos estos datos intentaremos hacer un modelo de lenguaje y aprender cómo es la gramática de un idioma.

8.7.2 El secreto no está en las cuentasEn estos ficheros .123 tenemos las cuentas, lo cual constituye un paso previo al cálculo de las

probabilidades. El programa, carga las cuentas y efectúa los cálculos de probabilidad. Pero estos cálculos no aparecen reflejados en ningún lado. La razón es que contar, todo el mundo cuenta igual. Pero a la hora de hacer los cálculos, la cosa no es tan trivial. Dependiendo de cómo se realicen los cálculos, el resultado será mejor o peor.

8.8 Contrariedades

8.8.1 El problema del tamañoAl generar el lenguaje, nos vamos a encontrar con un defecto:El corpus de 360.000 palabras podría resultar pequeño. Existen otros corpus de hasta 15.000.000

de palabras procedentes de analizar un periódico durante todo un año. Pero aún así, es sólo un periódico. La cuestión es que el problema del modelado del lenguaje resulta inconmensurable. Por muchas palabras que incluyésemos en el corpus, siempre podrían añadirse otras nuevas.

Supongamos el siguiente resultado del análisis de nuestro corpus:P,A 1vez

P,R 0veces

C,A 0veces

C,R 0veces

R,V 30veces

A,V 1vez

Cabría pensar que, aparentemente, en nuestro corpus nunca hubiese aparecido la combinación correcta en la que “para” funciona como preposición y “qué” como pronombre. Esto, en parte sería debido al hecho de que el corpus “se queda pequeño”. Cuando un corpus es pequeño, se pueden eliminar los caminos óptimos y optar por caminos improbables.

Con estos datos el único camino posible es:PPARA(P)· PQUE(A)· PSIRVE(A)

que, a todos los efectos, constituye una combinación altamente improbable.Los ceros son muy peligrosos, ya que un cero, cierra un posible camino. Muchas veces, la

diferencia entre dos palabras es muy poco significativa. Véase el caso de que un elemento haya aparecido 0 veces y otro que haya aparecido una sola vez. Los ceros, directamente cortan el camino, mientras que un número, aunque sea pequeño, distinto de cero, no elimina por completo todas las posibilidades. El paso de 0 a 1 no es lineal.

Las operaciones que hay que realizar para calcular las probabilidades (o mejor dicho, para el cálculo del logaritmo de probabilidad) son la suma y la división. Sin embargo, el 0 es 0 tanto si sumamos como si dividimos. Algo que ha salido 0 veces tiene probabilidad 0 y, los ceros impiden continuar por ese camino. Los caminos que provengan de ceros nunca serán examinados, pero esto constituye un grave problema ya que,

¿cómo diferenciamos si una combinación que tiene probabilidad 0 es porque es muy improbable

o simplemente porque no ha aparecido en nuestro corpus?

Si la razón es la segunda, quizás pueda tratarse de una combinación muy frecuente, incluso de la combinación óptima, pero que, debido al reducido tamaño del corpus de trabajo, hemos tenido la mala

E.T.S.I. Telecomunicación (U.P.M.) 168

Page 169: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

suerte de no dar con ella. Si asignáramos un cero a la probabilidad de que apareciera esta combinación, el lector ya se da cuenta de que el resultado será incorrecto.

Cuando trabajamos con habla, modelado del lenguaje,… los datos siempre son pocos. La variabilidad de lo que estamos estudiando hace que los corpus que lo modelen, resulten siempre pequeños. Lo que se quiere modelar es inmenso, y siempre toda información es poca.

Paradójicamente, existe un umbral a partir del cual, por el hecho de añadir más información al corpus, no significa que vayan a mejorar significativamente los resultados. Estaríamos hablando de un punto en el cual se alcanza la saturación.

8.8.2 SoluciónAnte esta disyuntiva, la solución es evitar la utilización del cero. Para ello, se asigna un número

distinto de cero, y es aquí donde reside la clave del éxito de un algoritmo frente a otro. He aquí la justificación de que los programadores opten por no reflejar cómo realizan los cálculos de las probabilidades. Si sus procedimientos fueran de dominio público, estarían desvelando su secreto.

Un cero significa simplemente que la combinación no ha salido, pero no necesariamente que el fenómeno sea imposible. Para resolver el problema manualmente, realizando todos los cálculos para todas las combinaciones posibles, necesitaríamos infinitos datos. Como esto en la práctica no es alcanzable, la táctica que se emplea en reconocimiento es que, a aquellas combinaciones que no aparecen en el corpus, se les asigna un valor no nulo. El inconveniente es que esto va a modificar todos los datos de partida.

Si en lugar de tener x=50 veces p(x)=50/55 y=5 veces p(y)=5/55 z=0veces p(z)=0

tenemos: z=1vez

todo pasaría a estar dividido por 56 y no 55. p(x)=50/56 p(y)=5/56 p(z)=1/56

El número que asignemos en lugar del cero no podrá ser demasiado grande, pero el éxito de unos cálculos frente a otros está íntimamente ligado a dicho número.

Con todo, el fichero de extensión .123 no contiene los cálculos de las probabilidades. Un programador puede publicar en artículos cuál es la metodología seguida para hacer los cálculos, pero lo que se publique no tiene por qué reflejar de una forma fiel y pormenorizada, los pasos que se han venido siguiendo hasta dar con el resultado.

8.9 Continuando con el proceso

Ya hemos visto que el algoritmo de viterbi, calcula la secuencia óptima dadas las matrices de probabilidades y, está dentro de ACOPOST. El fichero generado que contiene una sola categoría por palabra se denomina salida.dep, que acaba convirtiéndose en un fichero .APS (texto.APS). Este fichero se analiza con analizador sintáctico y se genera el minimizado (texto.mincrg). Una vez que tenemos ya la secuencia óptima de categorías lo que hace sintax es cambiar de nombre a estas categorías mediante la función: “leetextoCategorizado”

E.T.S.I. Telecomunicación (U.P.M.) 169

Page 170: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

N07 + “…cualquier cosa…” -> Nombre propio

N06 + “…cualquier cosa…” -> Nombre propio1

Observaremos que se emplean metasímbolos: “*” : cualquier símbolo vale

“.” : en esta posición se admite cualquier cosa

ladverb……8* -> cualquier cosa que tenga un 8 en el séptimo byte se incluye en la categoría de

ladverb.

Prepde=”de” -> si nos encontramos la palabra “de”, independientemente de las categorías que

tenga, asumiremos que es una prepde.

En lo que se refiere a números, pueden aparecer una o varias categorías, pero nuestra gramática no es capaz de distinguir entre varios tipos de números. Cuanto mayor sea el número de categorías, habrá que contemplar un mayor número de casos.

Vamos a partir de la gramática del Proyecto Fin de Carrera de D. Juan Manuel Montero Martínez. El corpus con el que vamos a trabajar es el Corpus860 que a su vez cuenta con otras gramáticas. De ahí que, se hace necesario realizar un “mapping” para traducir unas categorías a otras. En este proceso de conversión resulta inevitable perder un cierto nivel de detalle. La razón de esta traducción es porque nos encontramos con dos maneras de categorizar y queremos fundirlas en una sola. En un intento de llevar a cabo esta fusión nos encontraremos con que al introducir algunas frases, no se analizan correctamente y se trata de detectar dónde se ha producido el error en el análisis.

8.10Segmentación

Contamos con un conjunto de Reglas de Corte para determinar en qué puntos podemos segmentar las frases de manera que pasemos de tener una sola frase compleja a tener varios trozos más sencillos de analizar: cómo subdividir una oración en los sintagmas que la componen. El tiempo que requiere el análisis es proporcional a la longitud de las frases.

Disponemos de un fichero denominado ReglasCorte.TER. Aplicando reglas de corte, seríamos capaces de dividir una frase muy larga en varias partes, pero hemos observado que el funcionamiento no es correcto y sólo se realiza el análisis sintagmático del primer fragmento. Por esta razón, aunque disponemos del fichero ReglasCorte, dada la situación actual, hemos optado por dejar el fichero vacío y no aplicar las reglas de corte, a pesar del riesgo que ello conlleve.

El proceso hasta conseguir el resultado deseado es largo y es necesario un elevado número de pasos intermedios. Cuando uno de los pasos falla, puede ocurrir que el programa no lo detecte y termine inesperadamente. La fase de pruebas del sistema implica ir anotando las frases donde esto ocurra, con el fin de solucionar el mayor número de errores que nos sea posible.

E.T.S.I. Telecomunicación (U.P.M.) 170

, 16/08/06,
Ejemplo de fallo: “Quiero preguntar para qué sirve presionar este botón de la derecha”. “Quiero presionar” (quiero + info) se interpreta como una construcción buena y correcta. Sin embargo al analizar “sirve presionar” (servir+info) no ocurre lo mismo. Como nuestro programa no tiene información acerca de los distintos tipos de verbos, no funciona bien.
Page 171: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

8.11 Otros recursos a nuestro alcance

8.11.1 Gramática CMTLa gramática que vamos a emplear se denomina SEGMENTA.CMT. Lo que hace es describir

oraciones.Por ejemplo, O representa oración y será el símbolo que aparezca arriba del todo al hacer el árbol

en el cual visualizaremos el análisis de la frase introducida por el usuario.Tomemos una vez más la oración:

“Para qué sirve presionar este botón de la derecha”.

La gramática es sintagmática, es decir, no se analiza si el sintagma preposicional “de la derecha” acompaña a botón o a presionar.

Nuestro programa se limita a dividir una frase en trozos; segmenta, pero no estudia las relaciones entre palabras debido a dos razones:

1. es un problema realmente complejo: requiere de un estudio muy profundo y supone indagar en

un alto nivel de detalle.

2. necesitamos información adicional, acerca de las palabras, que no está disponible.

La información a la que nos estamos refiriendo es del tipo.“presionar” y “botón” ¿son términos relacionables?

En caso afirmativo ¿qué función desempeña botón respecto a presionar?

En este caso particular, la respuesta es sin duda, que botón es el sujeto paciente que recibe la

acción de ser presionado

Habría que tomar el verbo “presionar” y estudiar con qué palabras puede estar relacionado desde el punto de vista semántico.

El castellano es un lenguaje de orden libre de constituyentes, esto es, las frases están constituidas por pequeños sintagmas que guardan relaciones entre sí. Este tipo de relaciones sintagmáticas a nivel semántico hacen que, aunque la distancia es un factor que interviene en la atenuación de dichas relaciones, si encontramos las palabras en otro orden, esto no nos impide deducir el sentido del mensaje.

8.11.2 FrameNetExiste una herramienta denominada FrameNet.117

Aquí se analizan verbos.

Algunos ejemplos:

Observamos que se corresponden a un mismo sentido:La producción se para o pararse un reloj

Dependiendo del sentido, se admiten construcciones diferentes: Parar ≠ pararse: los agentes de uno no intervienen en el otro

117 http://chevere.uab.es/grapher.php

E.T.S.I. Telecomunicación (U.P.M.) 171

Page 172: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Pararse: yo soy el agente (quien realiza la acción de parar) y paciente (recibo la acción de ser parado); uno se para a sí mismo.

“se paró delante de la escultura para observarla minuciosamente”

El término que se emplea es unidad léxica (lexical unit), que no debe confundirse con palabra.

8.11.2.1 Relaciones entre palabras

Antes hemos hecho referencia a que entre las palabras existen relaciones:“presionar el botón de la derecha para algo”

Existe una relación de tipo estructural, no coyuntural entre botón y presionar. No es algo casual el hecho de que botón y presionar aparezcan en la misma oración.

Podemos decir “presionar un botón”, pero no es intrínseco que exista una finalidad. En este caso hablamos de relaciones de tipo nuclear (core). Se caracterizan por ser relaciones fuertes, es decir, si aparece la palabra tiene una importancia especial.

“se paró delante de la escultura para observarla minuciosamente”

En este caso la relación es de tipo no nuclear (non-core). Se trata de una relación de tipo location.

“El taxista se detuvo”

Semánticamente, “se detuvo” es sinónimo de “se paró”.Aunque dos verbos nunca son exactamente iguales, exceptuando algunos matices,,

conceptualmente podemos hacer una abstracción y considerar que son lo mismo.Pararse es reflexivo: uno deja de estar lo que estaba haciendo (uno mismo es agente y paciente).

“El taxista se detuvo”

la relación es de tema. El tema es como el objeto. El resultado de la acción es que el sujeto deja de estar en movimiento, se detiene.

Hay varios temas: location, goal, intention…Llegados a este punto, cabría preguntarse¿qué papel representa una palabra respecto a otra?

Si consideramos el verbo como núcleo, cada uno de los sintagmas que lo acompañan desempeña un papel o función (role). Esta función la desempeñan por estar con ese verbo en esa frase.

“Presionar” provoca que botón se convierta en receptor de la acción. No es un papel intrínseco

de la propia palabra.

Nos encontramos ante una labor de conocimiento puro. Esta herramienta la podemos utilizar para analizar frases, pero debemos ser nosotros quienes interpretemos la información; a posteriori hay una gran labor de ingeniería. Los creadores de esta herramienta son lingüistas cuya labor es volcar conocimiento. No emplean frases inventadas ni tampoco se basan en cómo deben ser las cosas, sino en cómo escribe la gente. Partiendo de un gran número de frases, las observan y analizan, y escogen unas frases concretas que aparentemente son muy comunes pero tienen una propiedad fundamental:

que se entienden por sí mismas: son autónomas.

En un texto, generalmente, las frases están ligadas entre sí. Por ejemplo:puede darse el caso en el que aparece el sujeto

“El taxista”

en la primera frase del texto, y sin embargo queda omitido en las que vienen a continuación.

E.T.S.I. Telecomunicación (U.P.M.) 172

Page 173: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

Si tomamos otra frase del texto, por ejemplo, la segunda, podría resultar una frase carente de sentido por sí sola, o que de forma aislada, la oración adoptase otro sentido diferente del que tenía en el texto original. Pero esto no nos va a ocurrir con FrameNet, dado que todas las frases escogidas son autocontenidas (en ocasiones más largas que un ejemplo simple con el fin de contemplar un mayor número de casos).

Si tuviésemos información acerca del verbo presionar, veríamos que “presionar” tiene un agente que es quien realiza la acción. “ordenar” en el sentido de “dar una orden” tiene también un agente (speaker) con capacidad de expresión.

“El coche atropelló a la víctima”

el coche es agente, pero no “speaker”; “speaker” da un matiz de cualidades especiales que tiene el tema: dota al agente de capacidad de expresión y voluntad.

Esta herramienta no va enfocada hacia el análisis sintáctico, sino más bien pertenece al campo de la semántica. Considera un conjunto pequeño de agentes, pacientes, etc, cada uno de los cuales desempeña una serie de funciones (roles); pero la simplificación es tan grande, que no resulta útil a la hora de hacer aplicaciones de verdad.

“nos ordenó algo”

Lo que nos transmite tiene cualidad de mensaje; está relacionado con decir, pero tiene el matiz de orden, transmite algo.

“solicito un aumento de sueldo”

Los verbos: solicitar y ordenar no tienen el mismo significado, pero en este contexto, el concepto es el mismo:

Un speaker que transmite un mensaje a un receptor (addresee)

“le suplicó a la todopoderosa agencia tributaria”

“agencia tributaria” es destinataria de la súplica (addresee)

Un esquema que puede ilustrar lo que estamos diciendo es el que se muestra a continuación:

El autor de frameNet es un lingüista de los años 60. Teniendo conocimiento de las relaciones entre palabras, conoceremos que, botón va con presionar.

E.T.S.I. Telecomunicación (U.P.M.) 173

Page 174: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

8.11.2.2 Preposiciones

8.11.2.2.1 La preposición “de” Generalmente, un sintagma preposicional con de, suele estar relacionado con lo que le precede, a

menos que exista una relación fuerte (tipo nuclear o core) entre el verbo y el sintagma con de. Esto no ocurre con otras preposiciones.

8.11.2.2.2 La preposición “a” “a” hace referencia a destino

8.11.2.2.3 La preposición “desde” “desde” hace referencia a origen

8.11.2.2.4 La preposición “para” “para” se refiere a finalidad

“le di un libro para Pepe”

Pepe es el destinatario de la acción de dar; “para Pepe” va con “dar”

8.11.2.2.5 Otras construcciones “de” como tal es una preposición carente de significado concreto o propio, y por eso en general

está ligada a un elemento. “le di un libro de Pepe” => “de Pepe” va con “libro”

“depender de”

“Depende el resultado de lo que él haga”

Cabe resaltar tres aspectos

1. “depender de” mantiene una relación más fuerte que “resultado” y “de lo que él haga”

2. “depender” tiene la necesidad de la preposición “de”

3. La tendencia es ligar “depender de” saltándonos “el resultado”

“fácil de describir”

fácil para mí de describir”

fácil tiene una relación especial con .la preposición de que hace que, aunque se altere el orden de las palabras, se entienda el significado:

Describir eso es fácil = Eso es fácil de describir.

“fácil” dice el modo asociado a la acción de describir.Las reglas que tenemos no disponen de esta información, no tienen estas sutilezas; simplemente,

analizan palabras, pero no se distingue la relación entre las mismas. Se divide la frase en trozos, diferenciando los distintos sintagmas que la constituyen. El analizador rebaja el nivel de complejidad trabaja en el dominio de los sintagmas.118

A modo de consideraciones futuras, cabría plantearse utilizar la información adicional que nos ofrece FrameNet de manera complementaria a la labor del analizador sintáctico: dado un verbo, si tengo la información de esta herramienta, se utiliza; si dicha información no estuviera disponible, no se perdería nada con respecto a lo que ya tenemos; simplemente, nos quedaríamos como estamos.

118 en lugar de analizar un cierto número de palabras, analiza menos sintagmas.

E.T.S.I. Telecomunicación (U.P.M.) 174

Page 175: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 8.Variantes

Lingüísticas

8.11.3 WordNetSimplemente a modo de recordatorio, WordNet va a constituir una herramienta que nos será útil

para clasificar los distintos tipos de objetos.WordNet presenta la ventaja de que es una red ya creada. El inconveniente es que precisamente

por estar ya creada, es tan grande, que manejarla y conocerla en profundidad, resulta una tarea inabordable para un proyecto a corto plazo. Por ello, nosotros nos limitaremos a un subconjunto reducido de esta red ontológica.

En WordNet, el elemento fundamental se llama “entity”. Constituye el máximo nivel de abstracción, y a partir de esta categoría va profundizando y entrando cada vez en un mayor nivel de detalle.

Para hacernos una idea de la diversidad que abarca esta ontología tomemos dos ejemplos muy representativos:

filosofía y manzana, pertenecerían a la categoría de entity. Sin embargo, si descendemos un

nivel en la jerarquía observaríamos que filosofía sería un entity no material, mientras que manzana

sería un entity material.

A su vez, esta clasificación en entities materiales y no materiales se va ramificando cada vez más, pero en este trabajo nos ceñiremos a un subconjunto “reducido” de todas las posibles ramificaciones.

E.T.S.I. Telecomunicación (U.P.M.) 175

Page 176: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

Capítulo 9Capítulo 9 Conclusiones y líneasConclusiones y líneas

futurasfuturasA lo largo de este Proyecto Fin de Carrera hemos abordado el desarrollo de un asistente que

pretende facilitar la tarea de programar un robot guía para una exposición y dotarle de un modelo de lenguaje concreto. Dos van a ser los aspectos importantes a tener en cuenta para generar el modelo de lenguaje: las variaciones lingüísticas en el plano morfo-sintáctico, y las variaciones lingüísticas en el plano semántico.

Como último punto de esta memoria, hemos estimado oportuno la inclusión de un capítulo donde se haga una pequeña revisión de todo el trabajo aquí documentado, exponiendo las conclusiones finales a las que se ha llegado. Además, la visión global y dominio de la materia adquirido a lo largo de estos meses de trabajo nos colocan en una situación privilegiada para proponer una serie de líneas futuras de investigación en base a las carencias encontradas en nuestro trabajo, al margen de que el verdadero éxito se basa en la mejora continua.

9.1 Conclusiones

9.1.1 Variaciones morfo-sintácticasDada una frase, el asistente tendrá un efecto multiplicador de generación de frases alternativas

introduciendo variaciones en el plano sintáctico, es decir, en el nivel de la morfología y de la estructura de las palabras.

Apoyándonos en el analizador sintáctico del grupo de Tecnología del Habla (sintax) obtenemos información acerca de una posible descomposición de los textos de entrada en distintos sintagmas. Además, el fichero119 que nos devuelve el analizador contiene las etiquetas (tags) asociadas a cada una de las palabras del texto, las cuales codifican información acerca de la categoría gramatical de la palabra, el género, el número, y en el caso de los verbos, la persona e incluso si el verbo lleva o no un pronombre enclítico.

Para construir modelos de lenguaje, suele ser frecuente el uso de patrones. Los patrones son un modelo de abstracción que van a permitir la comparación de unos términos con otros. Pero los patrones hay que generarlos. Para ello, haremos uso de un asistente que ayude al desarrollador en esta tarea de generación. Partiendo del fichero generado como resultado del análisis de un texto, en el cual aparecen ya las categorías sintagmáticas, el asistente deberá ser capaz de distinguir una serie de términos que precisan un tratamiento especial, ir a una base de datos, encontrar otros términos relacionados que cumplan el mismo patrón y sugerir otras alternativas.

La misión del asistente es la de facilitar la tarea del desarrollador a la hora de generar posibles frases con las que se podría encontrar el robot en el museo. La generación de variantes morfo-sintácticas será un proceso semi-automático que construirá varias frases del mismo estilo que una dada, variando las categorías gramaticales “abiertas” en la medida de lo posible.

Se ha constatado la necesidad de incluir reglas robustas para tratar casos especiales de palabras tales como las contracciones o algunos determinantes indefinidos, cuyas variantes morfológicas en cuanto al número, no son triviales. El resultado, a día de hoy es que se dispone de varios conjuntos de reglas manuales de experto procedentes de otros proyectos y completadas con algunas nuevas reglas. No

119 Realmente el analizador genera varios ficheros en el proceso de análisis, pero aquí sólo haremos referencia al que se ha procesado y utilizado en el desarrollo de este trabajo

E.T.S.I. Telecomunicación (U.P.M.) 176

Page 177: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

obstante, ello no quita para que antes de entregar el resultado definitivo de variantes generadas sea necesario un filtrado y readaptación120 de las frases obtenidas.

9.1.2 Adaptación del analizador sintagmáticoPara la generación tanto de variaciones desde el punto de vista de la sintaxis, como desde el

punto de vista de la semántica, en este proyecto hemos abordado la adaptación de un sistema de análisis por medio de gramáticas de contexto libre, desarrollando una gramática robusta de dominio general en dos niveles, uno sintagmático y otro relacional.

Cabe destacar el empleo de reglas de corte para reducir el número de análisis posibles, la aplicación de reglas de concordancia y un filtrado posterior al análisis. Podríamos estar hablando de un intento de desarrollar una gramática general con amplia cobertura.

Para elegir el mejor análisis, el criterio empleado es muy simple y consiste en optar por aquel que presente el número mínimo de segmentos

En aras de reducir el número de segmentos que constituyen una frase, se ha introducido el concepto de perífrasis verbal, de manera que un conjunto de palabras acaba siendo tratado como una unidad. La introducción de perífrasis verbales unida a las reglas de corte ya existentes y a los algoritmos de generación de modelos de lenguaje es lo que nos ha permitido implementar un esquema de descomposición de los textos de entrada, mucho más simplista y práctico encarado a la generación de patrones y manejo de las frases.

Otra de las contribuciones ha consistido en adaptar el analizador y categorizador, integrándolos para su uso en ROBINT.

En el nivel léxico, se ha introducido un diccionario de determinantes para que la variación de dicha categoría gramatical sea más sencilla.Trabajando en el nivel de palabra, se han estudiado los distintos tipos de palabras y la manera de detectar su presencia en un texto, de manera que sea posible procesar y alterar unas categorías, y dejar inalteradas otras.

9.1.3 Realización de un prototipo de red de palabras basado en WordNet Inspirándonos en este proyecto de la Universidad de Princeton se ha construido MuseumNet, que constituye una base de datos léxica que contiene todos los nodos intermedios correspondientes a la ontología donde se ubican cada uno de los sustantivos que forman parte del vocabulario básico de ROBINT Se ha constatado la importancia de crear en paralelo otra red léxica que hemos llamado ExhibitionNet donde incluir terminología más específica de una exposición. El desarrollo de esta rama del asistente lleva asociada una considerable carga de trabajo manual puesto que ha sido necesario realizar un gran número de búsquedas, validaciones, selección y discriminación entre distintas palabras, … Se ha desarrollado una nueva forma de estructurar y representar la realidad en forma de árbol ontológico. Ante la dificultad de disponer de una única ontología que modele la realidad, se ha estudiado la validez de un ejemplo de categorización de objetos. Es igualmente importante estudiar cómo categorizar palabras en el contexto de un museo de ciencias. (Realizar una correcta distinción entre posibles acepciones de una misma palabra, discriminar nodos intermedios que no aporten información que pudiera contribuir significativamente a la identificación y diferenciación de términos similares, …) Se combinan varios métodos recursivos con el acceso a herramientas externas y programas en web.

- Esto ha supuesto desarrollar métodos de integración y tratamiento de la información para que el robot pueda ir progresivamente adquiriendo cierta autonomía para mantener una conversación espontánea, en el sentido de que sea capaz de generar su propio lenguaje. 

- Por otra parte se ha exigido la capacidad de manejo de varios entornos de desarrollo y el dominio de más de un lenguaje de programación.

- Un aspecto también a señalar es la familiarización y comprensión del manejo de punteros, definición de nuevas estructuras de datos y capacidad de abstracción, para

120 Nos estamos refiriendo principalmente fenómenos tales como la expansión y compresión de contracciones, el cambio de número de algunos indefinidos (toda -> todas_las -> todas las),… etc.

E.T.S.I. Telecomunicación (U.P.M.) 177

Page 178: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

partiendo de un punto muy concreto ser capaz de llegar a un nivel más general y tener una visión global acerca de cómo están estructuradas las cosas.

- Desarrollo de técnicas de procesado y manipulación de archivos que nos han permitido extraer información de interés a partir de ficheros de textos.

- Buena disposición y motivación para querer profundizar y estudiar el empleo, desarrollo y adaptación de diversas herramientas que en un primer momento pudieran resultar desconocidas121

9.1.4 Realización de un asistente interactivoSe ha diseñado un asistente que “dialoga” con el ser humano, de manera que se transmita la

sensación al desarrollador del museo de que realmente nuestra herramienta le está ayudando y “sabe lo que hace”.

Hemos tratado de buscar el punto de equilibrio entre automatización de los procesos y validación manual por parte del desarrollador.

Un defecto de interacción entre el asistente y el desarrollador redundaría en una herramienta demasiado transparente para el usuario; no se lograría transmitir el concepto de “colaboración hombre-máquina” al que tiende hoy en día.

Por otra parte, un exceso de solicitar respuestas y confirmaciones al usuario podría resultar demasiado pesado. Se alejaría de la idea de “herramienta útil y complementaria a las tareas del ser humano”122

9.1.5 Diseño de un prototipo de visita guiadaInspirándonos en que el robot pretende actuar como guía en un museo de ciencias, hemos puesto

nuestra imaginación al servicio de idear en qué podría consistir una visita guiada a nuestro laboratorio de trabajo.

Esto implica convertir, estructurar, o más bien concebir el laboratorio como un conjunto de puntos de visita con objetos comentables.

En paralelo, se ha elaborado un fichero de texto a imitación de un folleto explicativo de la exposición que pudiera suscitar el interés y curiosidad de las personas para participar en este evento que hemos preparado. El archivo contendrá las frases de descripción de la representación del dominio en el que se desenvolverá el robot.

9.1.6 Estudio del empleo de información probabilísticaNos hemos planteado que quizás el uso y asociación diferentes probabilidades a los rasgos y

categorías de las variantes lingüísticas generadas por el asistente pudiera contribuir a la mejora de los modelos de lenguaje.

En este proyecto hemos implementado un programa escrito en Java que nos permitía obtener el número de hits en Google asociados a una determinada combinación de palabras. La aplicación de las búsquedas se limita a las palabras que el robot no conoce, junto con su nodo inmediatamente superior en la jerarquía de MultiWordNet y las palabras de representación del dominio.

121 Perl, MultiWordNet,…122 Si el humano tiene que validar todo lo que hace el asistente, ¿para qué lo quiere? Más bien el asistente

supondría una carga o incluso un retraso en la realización de sus tareas.

E.T.S.I. Telecomunicación (U.P.M.) 178

Page 179: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

9.2 Líneas futuras

9.2.1 Adaptación del analizador sintagmático

9.2.1.1 Categorización automática

Una primera línea de trabajo en este sentido sería ensayar la combinación de clasificadores que, al emplear diferentes parámetros de predicción o considerar las diferentes tipologías de frases, resulten así complementarios123.

Otra posible línea buscaría corregir los errores producidos en la caracterización de ciertos términos tales como imperativos, algunos sustantivos y otras formas verbales124. El categorizador ha sido entrenado con textos de periódico, donde este tipo de palabras no son demasiado frecuentes, y al realizar experimentos con el conjunto de frases que, a día de hoy pertenecen al dominio de reconocimiento del robot, y otras que se estimaba que pudieran darse en el entorno de trabajo del mismo, se ha observado que no siempre las categorías gramaticales asignadas a las palabras eran correctas.125

Finalmente, dentro de la categorización automática queda un tema pendiente relacionado con que, para algunas palabras, por el simple hecho de poner tilde en una de las vocales, se consigue que el tag asignado sea correcto, mientras que si la palabra que se pasa al categorizador está correctamente escrita, su tag no se codifica adecuadamente.

Al hilo de la idea anterior, una forma de robustecer el método de categorización sería implementar el “algoritmo de Levenstein” o “edit machine” capaz de solucionar muchos errores asociados a la alteración de un solo carácter. Hace referencia al concepto de distancia mínima y lo que aquí se propone sería complementar el funcionamiento del categorizador con esta técnica antes de asignar la categoría definitiva a una palabra.126

9.2.1.2 Análisis sintáctico

En cuanto a análisis sintáctico, se debería mejorar el modelado relacional aplicado a frases que pudieran darse más frecuentemente en el entorno de un museo, feria o exposición. Entrenar al sistema con frases de habla natural y espontánea recogidas de entre los posibles visitantes a un museo de ciencias.

9.2.1.3 Nuevo método de asignación de información semántica a los sintagmas

Quizás resultaría útil hacer una integración entre la información sintáctica y la información semántica asociando conceptos a las diversas unidades estructurales en las que el analizador sintagmático descompone los textos de entrada.

9.2.2 Realización de un prototipo de red de palabras basado en WordNet

9.2.2.1 Nuevos métodos de aprendizaje

En este trabajo hemos abarcado una parte muy pequeña de este campo. El método de aprendizaje del robot en cuanto a nuevos conceptos queda reducido a la incorporación de nuevas palabras a la ontología creada a partir del dominio donde va a trabajar. Se podrían aplicar técnicas de aprendizaje automático de reglas y quizás llevar a cabo algún tipo de etiquetado semántico, al igual que se realiza un etiquetado sintáctico.

123 Realizando una clasificación de las frases podrían desambiguarse o identificarse correctamente ciertas palabras que aparecen con mayor probabilidad según el tipo de oración que se trate.

124 Especialmente las que llevan enclíticos125 Citar como ejemplo el caso de muestra, que el categorizador lo considera y consecuentemente codifica

como un sustantivo, cuando realmente está empleado con la función de verbo (2ª persona del presente de imperativo)

126 Si al categorizador le pasamos “dime”, no es capaz de detectar el enclítico y en el último byte coloca un 0. No obstante, si lo que se le pasa es “díme”, en este caso el categorizador ya sí coloca un 1 en el último byte, lo cual revela la presencia de un enclítico en la forma verbal.

E.T.S.I. Telecomunicación (U.P.M.) 179

Page 180: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

9.2.2.2 Aplicación de la información obtenida de MultiWordNet para crear variantes ontológicas

Hasta aquí hemos sido capaces de llegar a acceder a MultiWordNet y extraer, para una palabra dada, una gran cantidad de información asociada a sus senses, acepciones y nodos intermedios (de acuerdo con un modelo concreto de jerarquía). Como todos estos datos los hemos dejado almacenados en la memoria, y sabemos procesarlos, cabría plantear la generación de variantes ontológicas sustituyendo términos que el robot conoce, por otros que se encuentren al mismo nivel ontológico y que al mismo tiempo, tengan sentido en castellano.

9.2.2.3 Diseño de una base de datos que contenga reglas de sustitución de palabras dentro de una frase atendiendo a su semántica

Otra línea futura estaría orientada al diseño de una base de datos que estuviese formada por el conjunto de reglas necesario para generar variantes ontológicas127.

9.2.2.4 Otras relaciones léxicas: Sinonimia

Cabe mencionar un estudio de la inclusión de la relación de sinonimia en el modelo de jerarquía que hemos diseñado y que hasta ahora sólo introduce el concepto de herencia “es un”128. Contamos con las fuentes y la información necesarias para incorporar a la red semántica diseñada para el robot esta nueva funcionalidad. Sólo falta pensar cómo llevar a cabo la implementación práctica.

9.2.3 Realización de un asistente interactivo

9.2.3.1 Interfaz gráfica

Para que la herramienta resulte más versátil y amigable para el usuario se plantea como mejora la adaptación del sistema al entorno Windows y la incorporación de un sistema de ventanas, iconos, imágenes y elementos gráficos. Esto estaría orientado a hacer más atractivo el producto y favorecer su venta, en el caso de que se optase por darle una orientación más comercial.

9.2.3.2 Incorporación de Voz129

Otra posibilidad sería incorporar voz al asistente. Ciertos módulos, como la parte del explicador, podrían aportar información acústica haciendo todavía más cómoda la labor del asistente, puesto que ya no tiene que centrar su atención en la pantalla del ordenador, sino que al mismo tiempo que escucha las sugerencias del explicador en cuanto a qué sense es más apropiado incluir en el vocabulario del robot, puede hacer simultáneamente otra cosa.

9.2.4 Diseño de un prototipo de visita guiadaEn este proyecto simplemente hemos querido sentar las bases de lo que pudiera ser una visita

guiada. La “exposición de laboratorio” que nos hemos inventado, debería ser posteriormente adaptada a un caso real, y esto supone añadir complejidad, puesto que los temas que se tratan en un museo de ciencias serán mucho más sofisticados de lo que nosotros hayamos podido diseñar aquí.

127 ¿Cuándo es lícito que un concepto sea sustituido por otro? Relaciones entre verbos – sustantivos: el perro (agente) come (acción) carne (objeto)- Comer carne es una acción propia de los animales- Carne es algo que se puede comerNo siempre será válido que un concepto sea sustituido por otro aunque comparta el mismo nivel

ontológico:- La planta come carne => ERROR: las plantas no comen, se alimentas de sustancias y sales minerales- El perro come leche => ERROR: la leche no se come, se bebe

128 hipernimia129 cómo representar el nuevo tipo de relaciones, reglas para determinar cuándo dos palabras son

sinónimos…

E.T.S.I. Telecomunicación (U.P.M.) 180

Page 181: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 9.Conclusiones y líneas

futuras

9.2.5 Estudio del empleo de información probabilísticaUna posible línea buscaría incorporar probabilidades al modelado léxico generalista para mejorar

sus prestaciones dentro de un dominio concreto, y experimentaría con técnicas de adaptación a dominio. La búsqueda de combinaciones de palabras en Google y asociarles el número de hits constituye sólo el primer paso.

Dado que algunas palabras son más frecuentes que otras, al generar una frase, en función del tipo de transformación que se haya aplicado para obtenerla, podremos asignarle una probabilidad, de manera que eso luego influya sobre las probabilidades del modelo de lenguaje “bigram” que usa el reconocedor. Una vez recogidas y generadas una serie de frases, contamos con los programas que, a partir de las mismas, generan los bigramas en función de los cuales se calcula la probabilidad de que a una palabra le sucedan las demás. Estos programas quedan a disposición del reconocedor del robot.

En general, nosotros generamos frases; entre ellas, unas serán más probables que otras, y la frase que teclee el desarrollador debería en general tener mayor probabilidad que las generadas automáticamente. Una aplicación de esta última idea sería el hecho de poder disponer de frases de demostración que uno (por ejemplo, el director del museo) tiene especial interés en que funcione con una muy baja tasa de error. En este último caso, se dotaría a estas frases de más probabilidad.

9.2.6 Variantes InterrogativasCombinando varios métodos recursivos y aplicando una serie de patrones, se trata de ver si es

posible generar una serie de preguntas y respuestas que deben ser validadas por un humano. Por proximidad al comportamiento de los seres humanos, se podría estudiar la viabilidad de que una de las formas de aprendizaje del robot fuese preguntar acerca de lo que todavía no conoce o le resulta desconocido.130

9.2.7 Experimentación y evaluación de los resultadosHacer experimentos de evaluación de la mejora del sistema de diálogo entre las personas y el

robot; contrastar en qué medida, la generación de las variantes ontológicas y morfosintácticas que se han llevado a cabo en el presente proyecto, contribuyen a que el robot sepa decir y entender más cosas: en definitiva, enriquecer el modelo de conversación ampliando la capacidad de comunicación hablada del robot con vistas a que parezca una criatura algo “más inteligente” y cercana a los seres humanos.

130 Esto es, de hecho, lo que hacen los niños, o más bien, las personas en general.

E.T.S.I. Telecomunicación (U.P.M.) 181

Page 182: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

Capítulo 10Capítulo 10 ApéndicesApéndices

10.1 APÉNDICE A1 Codificación de Categorías Gramaticales.

cat_pal

CATEGORÍA GRAMATICAL

SÍMBOLO CÓDIGO

Determinante D00, D01, D02, D03, D06, D08

0

Nombre N00 1Adjetivo A 2Verbo sin enclítico V……..0 3Verbo con enclítico V……..1 4Contracción P03 5Preposición P00 6Otro 7

Tabla 11: A1.1

10.2APÉNDICE A2 Codificación del Tipo de Determinante.

dime_tipo_det

TIPO DE DETERMINANTE

SÍMBOLO CÓDIGO

Artículo determinado D00 0Artículo indeterminado D01 1Determinante relativo D02 2

Determinante indefinido D03 3Determinante posesivo D06 6

Determinante demostrativo D08 8Contracción131 P03 99

Otro CON_ERROR132

Tabla 12: A2.1

131 Se ha incluido puesto que del = de + elal = a + el

132 CON_ERROR = 33

E.T.S.I. Telecomunicación (U.P.M.) 182

Page 183: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.3 APÉNDICE A3 Primeros Niveles de la Ontología.

MuseumNet

Fig. A3.1

133 El árbol completo es un fichero de paréntesis etiquetados llamado “esquema_grafico_con_acentos.txt”

E.T.S.I. Telecomunicación (U.P.M.) 183

Page 184: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.4 APÉNDICE A4 BASE DE DATOS DE WORDNET

Internamente, con los datos de los archivos lexicográficos, se construye una red interna, constituida por listas cuyos elementos se interrelacionan. La estructura de representación interna consiste en una tabla hash, que se crea a partir de los synsets que hayan sido procesados por el parser. Las palabras deben estar en minúscula, o de lo contrario, son tratadas como si fueran parte de la propia estructura, para posteriormente, incluirlas en los archivos de la base de datos. Las distintas funciones que componen el parser, van generando estructuras intermedias tanto para las palabras, como para los punteros que aparecen en un synset, y cuando se termina de procesar un synset completo, se crea una estructura, que en el caso de los sustantivos, presenta:

punteros apuntando a las posibles representaciones de la palabra (word forms) punteros relacionales (para las relaciones semánticas)

En este apéndice expondremos los aspectos fundamentales acerca de la base de datos de WordNet

10.4.1Base de datos de WordNet (Database)WordNet distingue entre cuatro posibles categorías sintácticas (sustantivos, adjetivos, verbos y

adverbios) cada una de las cuales estará representada en la base de datos, por dos tipos de ficheros: - archivos de índice (index.pos): son listas de todas las palabras de WordNet ordenadas alfabéticamente (considerando sólo los significantes (Word forms)), y en función de la categoría sintáctica a la que pertenezcan. Están escritos en minúsculas independientemente de cómo fueran introducidos en los archivos lexicográficos. Se pueden recorrer, de una forma rápida, empleando búsqueda binaria. En las primeras líneas de los archivos de índice podemos encontrar información acerca del copyright, el número de versión y la aceptación de licencia.

Fig. A4.1- primeras líneas del archivo index.noun

Esta información va seguida de una serie de líneas de datos (data lines) que contienen: Contador de senses del diccionario on-line (1)

E.T.S.I. Telecomunicación (U.P.M.) 184

Page 185: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

Lista de tipos de punteros relacionales que se emplean en los synsets que contienen la palabra (para indicar al usuario qué búsquedas son aplicables a una misma representación de la palabra) (2)

Offsets: lista de índices a cada una de las ocurrencias de una palabra en un synset (3) Terminador: carácter para señalizar el fin de una línea

Fig A4.2 - líneas de datos del archivo index.noun

- archivos de datos (data.pos): contienen toda la información lexicográfica extraída a partir de los archivos de fuentes léxicas. Las primeras líneas son similares a los archivos de índices. Esta información va seguida de una lista con los nombres de los ficheros de entrada en el mismo orden en el que se le pasan al grinder.

Fig. A4.3 - data.noun

Cada línea de datos contiene: información codificada introducida por el propio lexicógrafo:- byte de offset o dirección de comienzo del synset (1)- palabra clave (key): para representar al synset (2)- un entero (3) que corresponde a la posición que ocupa la palabra dentro de las listas con los nombres de los archivos de los que procedía el synset. Esto resulta útil, no sólo para asignar nombres de synsets con el nombre del archivo del que proceden, sino también para establecer diferencias entre los senses. En el caso de los archivos de sustantivos, en las líneas de datos lo que encontraremos será, el significante de la palabra, una serie de punteros relacionales134 (4), y, opcionalmente, lo que

134 Puntero relacional = símbolo del puntero (4.1) + dirección del target synset (4.2) + categoría sintáctica (4.3) + campo que distingue entre punteros de tipo léxico, o punteros de tipo semántico (4.4).

E.T.S.I. Telecomunicación (U.P.M.) 185

Page 186: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

llamamos gloss (5) (breve información aclaratoria, que tiene la finalidad de aportar algún matiz para que dos senses sean distintos entre sí). una parte de información destinada al grinder terminador: carácter fin de línea

En los archivos de datos, la representación de las palabras en los synsets coincide con la propia escritura ortográfica empleada en los archivos de fuentes léxicas.

pos = noun, verb, adj, advLa base de datos está en código ASCII puesto que resulta legible tanto para los humanos como

para las máquinas, y es fácilmente accesible para todos aquéllos que quieran utilizarlo con sus propias aplicaciones.

La relación entre los archivos de índice y los archivos de datos se produce gracias a que los archivos de índice contienen unos offsets, con la dirección de comienzo de un synset en un archivo de datos, o, siendo más precisos, la dirección donde comienza la información sobre el synset.

Una puntualización es que, a pesar de que, en teoría, la estructura de la base de datos debiera ser extensible, puesto que está escrita en código ASCII, en la práctica no es así. Si pensásemos en poder editar cualquiera de los archivos de la base de datos, a la hora de calcular la dirección de comienzo de información de los synsets, no existiría una correspondencia entre dichas direcciones y los offsets; la asignación no se produce en tiempo de ejecución y esto daría lugar a incoherencias y errores de acceso a ciertas posiciones de memoria.

E.T.S.I. Telecomunicación (U.P.M.) 186

Page 187: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.5 APÉNDICE A5 Grinder

Si recordamos el esquema de la arquitectura, en este apéndice nos centraremos en describir de una forma más detallada los aspectos que conciernen tanto a la utilidad como a la implementación del elemento software del sistema.

Fig. A5.1 Arquitectura del sistema

10.5.1UtilidadEs la parte de software y resulta una herramienta muy versátil. Desempeña, principalmente, tres

funciones: compilador de synsets herramienta de verificación de archivos léxicos generador de la base de datos

1. La función de compilación de los archivos lexicográficos; supone convertirlos al formato de la base de datos de WordNet database) para facilitar el manejo de la información por parte de la máquina.

2. El grinder presenta diversas opciones para operar sobre los ficheros de entrada.A la hora de construir una base de datos completa para WordNet, todos los ficheros lexicográficos deben procesarse simultáneamente.

3. Por otra parte, la función de verificación consiste en asegurar la integridad de los archivos lexicográficos cuando éstos sean restaurados al sistema de archivos. (archive system).

10.5.2ImplementaciónEs un compilador de tipo multi-pass escrito en C.135

Para el primer pass, utiliza un parser (conversor) escrito con yacc y lex.136.Aquí lo que se pretende es encontrar el máximo número de errores posible, que estén presentes en los archivos de fuentes léxicas.

Los errores se pueden clasificar en:

135 Un compilador multipass es aquel que procesa varias veces el código fuente. Cada pass procesa los resultados del pass anterior, (estructuras intermedias), hasta que el último pass genera el código final. http://en.wikipedia.org/wiki/Multi-pass_compiler

136 Yacc y lex son programas

E.T.S.I. Telecomunicación (U.P.M.) 187

Page 188: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

errores de tipo sintáctico :no cumplen las reglas gramaticales que se hayan especificado errores de tipo estructural: (tienen que ver con los punteros relacionales) el sistema no es capaz

de interpretar la información que haya almacenada en la posición donde apunta un puntero relacional. Estos errores suelen ser debidos a modificaciones en los senses, por parte de los propios lexicógrafos.

Una vez que hayan sido procesados por el parser, se construye una representación interna de los synsets, de manera que el resto de los pass operarán sobre dicha representación interna.

E.T.S.I. Telecomunicación (U.P.M.) 188

Page 189: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.6 APÉNDICE A6 Rasgos Distintivos

En el presente apéndice pretendemos profundizar en el concepto de “rasgos distintivos”, apoyándonos en un ejemplo concreto.

En MultiWordNet, los rasgos distintivos que presentan los conceptos pueden ser de tres tipos, cada uno de los cuales se corresponde con una categoría gramatical, y debe tratarse de forma diferente:

Atributos(attributes): adjetivos Partes (parts): sustantivos Funciones (functions): verbos

Ejemplo: Concepto: canario

Attrubutos: pequeño, amarillo

Partes: pico, alas

Funciones: cantar, volar

Dado que en MultiWordNet cada categoría tiene asociado un puntero, debería ser posible la existencia de punteros que ligaran los rasgos que hacen referencia al mismo concepto. Esto supondría la aparición de relaciones entre las distintas categorías gramaticales. No obstante, esta posibilidad todavía no está implementada en MultiWordNet. Lo que sí está implementado es que el rasgo de “partes” que se corresponde con la categoría gramatical de los sustantivos, sí presenta la posibilidad de relacionar y referenciar mediante punteros unos sustantivos con otros.Cuando se concibió la idea de MultiWordNet, no se pensó en incluir información relativa a aquéllos elementos diferenciadores entre unos conceptos y otros. Se asumía que MultiWordNet trabajaría de manera conjunta con un diccionario on-line que fuese la fuente que proporcionase este tipo de información. A medida que MultiWordNet fue creciendo, las relaciones de sinonimia pasaron a constituir un recurso escaso en la identificación de todos los posibles sentidos de una palabra. Por esta razón, se decidió incluir una breve explicación (gloss) en aquellos synsets correspondientes a palabras polisémicas. Esta información, que aparece entre paréntesis (“parenthetical glosses”), ayuda a distinguir los significados que puede tener una palabra polisémica, sin embargo, dan lugar a cierta redundancia entre las palabras que encabezan el “gloss” y los “superordinates137”.

137 Padre, hiperónimo

E.T.S.I. Telecomunicación (U.P.M.) 189

Page 190: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.7 APÉNDICE A7 Palabras de MuseumNet

Las palabras que se pueden encontrar en MuseumNet constituyen un conjunto de palabras en castellano que con frecuencia suelen aparecer en el contexto de un museo o exposición.

10.7.1 Configuración de la lista de palabrasTal y como ha sido mencionado en la memoria, a fin de iniciarnos en el estudio de la influencia

de la componente semántica en la mejora del desarrollo de modelos de lenguaje, partimos de un dominio en el que se optó por incluir palabras que con frecuencia apareciesen en alguno de los ámbitos donde se va a desenvolver el robot: museo, feria, exposición…

Por disponibilidad y acceso a la información, una primera versión de “posibles palabras frecuentes en el contexto de una exposición” fue elaborada en lengua inglesa.

La primera herramienta que llegó a nuestras manos fue WordNet, que, como ya se ha explicado es una base de datos léxica en lengua inglesa. A fin de tener una primera concepción de dónde quedaban ubicadas dentro de la ontología, las palabras que habían sido incluidas en aquélla lista preliminar, se procedió a una búsqueda de los hiperónimos de cada una de las palabras. Esto constituyó un proceso bastante engorroso dado el amplio número de acepciones y de nodos con los que ya cuenta esta red semántica. A la vista de los resultados se optó por revisar qué acepciones podrían cuadrar mejor en el contexto de una exposición y extrapolar las categorías comunes que compartiesen la mayoría de las palabras.

Una vez superada esta etapa, se elaboró manualmente un fichero de paréntesis etiquetados que contuviese la selección de nodos que se había estimado como óptima, tras ser sometida a un largo y riguroso proceso de descartar acepciones, elegir los nodos más adecuados, etc.

Fue entonces cuando se puso a nuestro alcance MultiWordNet, la versión de WordNet en Castellano. Para corroborar el trabajo desarrollado en lengua inglesa, se tradujeron las palabras de la lista preliminar al castellano con la puntualización de que varias palabras aparecían repetidas, y otras no tenían traducción posible.

Con la nueva versión de palabras traducidas al castellano se procedió de manera análoga. La lista definitiva tras varios procesos de selección manual contiene las palabras que se muestran en la tabla adjunta a este apéndice, y el fichero de paréntesis etiquetados se denomina esquema_grafico_con_acentos.txt.

10.7.2 Ficheros de paréntesis etiquetadosEn el historial de ficheros de paréntesis etiquetados pertenecientes a este proyecto se encontrarán

numerosos ficheros que aparentemente guardan un alto grado de similitud entre sí. Sin embargo, ciertos matices los hacen diferentes. La justificación se halla en las sucesivas etapas por las que ha sido necesario pasar hasta dar con la lista de palabras definitiva.

Inicialmente se construyó un fichero de paréntesis etiquetados con los nodos en inglés.

Fig. A7.1ontology.txt

Una vez que apareció la versión de MultiWordNet hubo que traducir la ontología en inglés, al castellano.

E.T.S.I. Telecomunicación (U.P.M.) 190

Page 191: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

Fig. A7.2

Acto seguido, y como mera ayuda visual para el programador se optó por poner el árbol ontológico con un formato más cómodo de visualizar. Bajo el apelativo de “esquema” se quiso denotar precisamente esta peculiaridad de que el fichero resultase más “agradable” a simple vista.

Fig. A7.3 esquema_spanish.txt

A sugerencia del tutor de este proyecto se creó una clase diccionario que llevase a cabo la tarea de traducción, a fin de automatizar la labor, y que quizás podría tener alguna aplicación en el futuro, puesto que en ese tiempo, la herramienta de MultiWordNet no proporcionaba resultados demasiado fiables y tampoco se tenía un amplio conocimiento de su manejo. Una vez que se consiguió crear una clase diccionario, entre sus funcionalidades se incluyó la de traducir del inglés al castellano (En2Es (English to Spanish)). El traductor funcionaba correctamente. No obstante, el diccionario empleado no contemplaba los acentos, y cuando se buscaban las palabras no acentuadas en MultiWordNet, los resultados no eran los esperados. Por ello, nos vimos obligados a crear una nueva ontología constituida por nodos, no sólo traducidos al español, sino también acentuados correctamente.

Fig. A7.4 esquema_grafico_con_acentos.txt

E.T.S.I. Telecomunicación (U.P.M.) 191

Page 192: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

Para la etapa de pruebas y de depuración, y también a modo de experimento para la implementación de otras rutinas que han sido incorporadas en este proyecto para el manejo de los árboles y de los nodos, se creó otro nuevo fichero de paréntesis etiquetados con la versión reducida de los nodos en castellano.

Fig. A7.5 esq_graf_reducido.txt

E.T.S.I. Telecomunicación (U.P.M.) 192

Page 193: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.8 APÉNDICE A8 WNSP.PER

En este apéndice se adjuntan unas tablas que podrían contribuir a saber interpretar correctamente los ficheros de extensión .PER, que emplea el ejecutable .BAT para realizar el acceso a MultiWordNet.

SÍMBOLO FUNCIÓN / SIGNIFICADO

$ “variable”

$_ “variable estándar”

> Modo salida

. “concatenar strings”

@ “array de strings”

I “no tiene en cuenta mayúsculas ni minúsculas”

G “todas las ocurrencias” (no sólo la primera)

S “operador sustitución”

([a-z0-9]+) “cualquier secuencia de números o letras”

Use, require “incluir” (equivale a “Include”)

Or “si no se puede…” (condición)

Content “contenido”

Stdout “salida estándar” (pantalla)Stderr “salida de error”

MÉTODOS REALIZA

open “apertura de un y se le asigna a un manejador”close “cierre de un fichero”die “mostrar un mensaje y terminar el programa”printf “imprimir”split (x, y) “dividir un string y tomando como separador x”

E.T.S.I. Telecomunicación (U.P.M.) 193

Page 194: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

CLASES MÉTODOS

UserAgent new, request

Cookies new, add_cookie_header

LIBRERÍAS SIGNIFICADO APLICACIONES CLASES MÉTODOS

http Librería de Gestión de transacciones por web mediante el protocolo http

Descargar páginas web Cookies Request

LWP Library for WWW in Perl

Permite hacer clientes web en Perl

UserAgent

E.T.S.I. Telecomunicación (U.P.M.) 194

Page 195: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

MENSAJES DE ERROR CAUSA

“no puedo abrir” No se ha podido crear el fichero destinado a almacenar los resultados que podrán ser consultados por el usuario.

“fallo en la primera búsqueda” se produce cuando no se ha podido encontrar la palabra buscada. El motivo podría ser que el servidor estuviese caído, y la página de MultiWordNet inaccesible

“fallo en la segunda búsqueda” el error se produce en el acceso a la parte de Hiperónimos

E.T.S.I. Telecomunicación (U.P.M.) 195

Page 196: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

10.9 Apéndice A9 Últimas Aportaciones

Una tarea que entraña tanta complejidad, como es el desarrollo de un modelo de lenguaje, es susceptible de introducir continuamente mejoras en el sistema. Nos encontramos ante un proyecto al que hemos querido dotar de un carácter dinámico y perfeccionista, y en este sentido, hemos querido indagar hasta el último momento, en el estudio de nuevas alternativas y posibilidades para el desarrollo de modelos de lenguaje orientados a la consecución de un interfaz de comunicación oral entre el hombre y los robots, cada vez más natural o semejante al de los seres humanos.

10.9.1 Curiosidad por aprenderAunque en este trabajo hemos contemplado simplemente las primeras pinceladas, Robint está

pensado para ser una especie de aprendiz. Mostrar interés por incorporar nuevos conocimientos y experiencias en su base de conocimiento, forma parte de lo que es. Es frecuente que el proceso de conocimiento del ser humano esté movido por el interés del mismo en descubrir y dar un sentido a aquéllo que desconoce. El mecanismo más habitual de las personas para aprender es la pregunta, y guardando semejanza con este proceso de aprendizaje, en este trabajo hemos querido dotar a Robint de un rasgo característico del hombre que es la curiosidad por aprender. A nivel de implementación, esto consiste en que, a partir de la información contenida en un texto, se trata de generar preguntas hipotéticas que permitan al robot ir incorporando palabras nuevas en su vocabulario, a través de la asociación de ciertos atributos a los nuevos términos. Es frecuente que cuando va a tener lugar una exposición concreta, se elabore algún tipo de texto en forma de folleto o panfleto, donde aparezcan resumidos los detalles más importantes acerca del mencionado evento. En este sentido, cuando el asistente se encuentra con un término que desconoce, genera automáticamente una serie de preguntas que almacenará en un fichero de texto138. En función de las respuestas a esas preguntas, cabría pensar que el robot llevaría a cabo una categorización del objeto dentro de su propia representación de la realidad.

Fig. A9.1 fich_interrogativas.txt

10.9.2 MultilingüismoUna característica presente en el perfil de un guía típico de un museo, es la capacidad para hablar

varias lenguas. Aunque nuestro modelo de lenguaje está completamente orientado al castellano, hemos pensado que quizás resultase curioso y original que, dado que el robot estará presente en el Museo Príncipe Felipe de la Ciudad de las Artes y las Ciencias de Valencia, podría resultar interesante que algunas de las palabras que, a nuestro criterio, suelen ser bastante comunes en un museo de ciencias, el robot las conociese en varias lenguas: español, inglés y valenciano, y que además supiese traducirlas de una lengua a otra. Nuestra tarea en este sentido ha consistido en, a partir de una lista de palabras

138 fich_interrogativas.txt

E.T.S.I. Telecomunicación (U.P.M.) 196

Page 197: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

10.Apéndices

seleccionadas manualmente, se han elaborado una serie de ficheros de texto que vienen a hacer las veces de diccionarios139. A su vez, se han programado una serie de rutinas que permitan traducir las palabras de la lista de una lengua a otra, y a todo ello se le ha dotado de un carácter interactivo donde se solicita la intervención del usuario.

1. En primer lugar se le pide al usuario que introduzca una palabra;

2. A continuación se le ofrecen una serie de posibilidades:

- traducir de español a inglés- traducir de inglés a español- traducir de español a valenciano- traducir de valenciano a español- traducir de inglés a valenciano.

3. Una vez introducida la opción deseada por el usuario, se lleva a cabo la búsqueda del término

solicitado en el diccionario que corresponda y se devuelve el resultado.

139español_ingles.txt, ingles_espanol.txt, español_valenciano.txt, valenciano_espanol..txt, ingles_valenciano.txt

E.T.S.I. Telecomunicación (U.P.M.) 197

Page 198: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

11.Referencias

Capítulo 11Capítulo 11 ReferenciasReferencias1. [Montero 2003] Juan Manuel Montero Martínez “Estrategias para la mejora de la naturalidad y la

incorporación de variedad emocional a la conversión texto a voz en castellano” Tesis Doctoral, ETSI Telecomunicación UPM, 2003. http://lorien.die.upm.es/~juancho/tesis/tesisJuancho2003.htm

2. [Google 2005] http://www.google.es 3. [geocities] Sergio Zamora B. “La Lengua Española” Guadalajara, Jalisco, México

http://www.geocities.com/sergiozamorab/quesla.htm4. [N. Chomsky 1959] N. Chomsky “On certain formal properties of grammars” en Information and

Control5. [ThesisGGranada] Fernando García Granada “Una aproximación estocástica para la comprensión del

lenguaje” Tesis Doctoral, DSIIC Universidad Politécnica de Valencia, Diciembre 2003http://www.dsic.upv.es/docs/bib-dig/tesis/etd-11262003 111825/PhThesisGGranada.pdf

6. [Á.L. González et al, 1995] Á.L. González, J. M. Goñi y J. C. González 1995 “Un Analizador Morfológico para el Castellano basado en Chart” en Actas de la VI Conferencia de la Asociación Española para la Inteligencia Artificial

7. [Katz, 1987] Katz, S.M. “Estimation of Probabilities from Sparse Data for the Language model Component of a Speech Recognizer”. IEEE Transactions on Acoustics, Speech and Signal Processing, 35(3):400-401, Marzo.1987

8. [S. Quazza & H. van der Heuvel 2000] S. Quazza & H. van der Heuvel 2000 “The use of lexica in text-to-speech systems” en “Lexicon development for speech and language processing” Ed. Kluwer

9. [J. Pastor et al. 1998] J. Pastor, J.Colás, R. San-Segundo, J.M.Pardo 1998 "An Asymetric Stochastic Language Model Based on Multi-Tagged Words" en Proceedings of 5th International Conference on Spoken Language Processing, ICSLP98.

10. [G. Leech et al. 1998] G. Leech, M. Weisser, A. Wilson y M. Grice 1998 ”Survey and guidelines for the representation and annotation of dialogue” Informe del proyecto EAGLES

11. [Schütz 2002] Christopher D. Manning and Hinrich Schütz, “Foundations of statistical natural language processing”p.212-213, The MIT Press, MANFH 0-262-13360-1

http://mitpress.mit.edu

Documentación previa12. [Jiménez 1999] A. Jiménez Pozo, “Adaptación y mejora de un sistema de preprocesamiento y

categorización gramatical”. Proyecto fin de carrera, ETSI Telecomunicación, UPM, 1999http://lorien.die.upm.es/~juancho/pfcs/AJP/

13. [Polanco 2001] Daniel Francisco Polanco Fernández “Evaluación y mejora de un sistema automático de análisis sintagmático” Proyecto fin de carrera, ETSI Telecomunicación, UPM, 2001

http://lorien.die.upm.es/~juancho/pfcs/DPF/14. [San-Segundo 2005] “Knowledge-Combining Methodology for Dialogue Design in Spoken

Language Systems” R. San-Segundo, J.M. Montero, J. Macías-Guarasa, J. Ferreiros y J.M. Pardo "International Journal of Speech Technology". ISSN 1381-2416. Vol 8, issue 1, pp. 45-66. January 2005

15. [Hidalgo 2004] Jose María Gómez Hidalgo, Jose Carlos Cortizo Pérez, Enrique Puertas Sanz, Manuel de Buenaga Rodríguez “Experimentos en indexación conceptual para la categorización de

E.T.S.I. Telecomunicación (U.P.M.) 198

Page 199: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

11.Referencias

texto”  In Gutiérrez, J.M., Martínez, J.J., Isaías, P. (Eds) Actas de la Conferencia Ibero-Americana WWW/Internet 2004, Madrid, Spain, October, 7-8, 2004, pp. 251-258.

http://www.esi.uem.es/~jmgomez/papers/16. [Castillo 2003] Mauro Castillo, Francis Real y German Rigau.  "Asignación Automática de

Etiquetas de Dominios en WordNet". Proceedings of SEPLN'03, Procesamiento del Lenguaje Natural, n. 31 (p. 209-216). Alcalá de Henares (Madrid), Spain. september 2003. ISSN 1135-5948.

http://www.lsi.upc.es/~castillo/linkpublicaciones.html17. [Carpuat 2002] Marine Carpuat, Grace Ngai Pascale Fung, Kenneth W. Church_ “Creating a

Bilingual Ontology A Corpus-Based Approach for Alligning WordNet and HowNet” “Proceedings of the 1st Global WordNet Conference, 2002” http://www.clsp.jhu.edu/projects/phd_pubs.php

18. [Farreres 1998] Xavier Farreres, German Rigau, Horacio Rodríguez, “Using WordNet for Building WordNets” Departament de Llenguatges i Sistemes Informàtiqs. Universitat Politècnica de Catalunya. Barcelona 1998

http://dblp.uni-trier.de/rec/bibtex/journals/corr/cmp-lg-9806016

Proyecto ROBINT19. [Robint 2005] http://lorien.die.upm.es/~juancho/robint-th/doc.php

Documentación sobre WordNet20. [WordNet 2005] http://www.wordnet.com21. [MultiWordNet 2005] http://multiwordnet.itc.it/online/multiwordnet.php

http://multiwordnet.itc.it/english/licence.php22. [Fellbaum 1998] Christiane Fellbaum “WordNet. An electronic Lexical database” Vol 1. p.254,

May 1998, ISBN 0-262-06197-X23. [EuroWordNet] “EuroWordNet objectives. Access to the information society”

http://www.illc.uva.nl/EuroWordNet/objectives-ewn.html24. [Vossen 2005] Piek Vossen “EuroWordNet General Document” Version 3 Final University of

Amsterdam, October 2005http://www.vossen.info/docs/2002/EWNGeneral.pdf

25. [Romo] María Sánchez Romo “Inteligencia en Redes de Comunicaciones”http://www.it.uc3m.es/jvillena/irc/estudios/WordNet.pdf

26. [Miller 1993] G. Miller et al “Introduction to WordNet: An On-line Lexical Database”, 199327. [ITALICA] Jose A. Troyano “WordNet”, Universidad de Sevilla

http://www.lsi.us.es/~troyano/documentos/wordnet.pdf28. [Estrada] Antonia Estrada Trejo “WordNet: Aplicación a la estructura conceptual del Diccionario

de Lingüística” Grupo de Ingeniería Lingüísticahttp://iling.torreingenieria.unam.mx/0/1erseminario/Ponencias/word%20net.ppt#286,7,Sistema de WordNet

29. [Onomastica 1995] The Onomastica Consortium 1995 “The ONOMASTICA interlanguage pronunciation lexicon” en Eurospeech Proceedings I: 829-832.

30. [González et Al 1995] J.C. González, J.M. Goñi & A. Nieto 1995 “ARIES: a ready for use platform for engineering Spanish processing tools” en Language Engineering Convention.

E.T.S.I. Telecomunicación (U.P.M.) 199

Page 200: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo

12.Planos

Capítulo 12Capítulo 12 PlanosPlanos

Los listados de los programas no se incluyen en esta memoria, para evitar un posible uso ilegal de los mismos que pudiera atentar contra el derecho de la propiedad intelectual.

E.T.S.I. Telecomunicación (U.P.M.) 200

Page 201: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 13. Pliego de condiciones

E.T.S.I. Telecomunicación (U.P.M.) 201

Page 202: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 13. Pliego de

condiciones

Capítulo 13Capítulo 13 Pliego de condicionesPliego de condiciones

13.1 Condiciones generales.

La obra será realizada bajo la dirección técnica de un Ingeniero de Telecomunicación y el número de programadores necesarios.

La ejecución material de la obra se llevará a cabo por el procedimiento de contratación directa. El contratista tiene derecho a obtener, a su costa, copias del pliego de condiciones y del presupuesto. El ingeniero, si el contratista lo solicita, autorizará estas copias con su firma, después de confrontarlas.

Se abonará al contratista la obra que realmente se ejecute, de acuerdo con el proyecto que sirve de base para la contrata.

Todas las modificaciones ordenadas por el ingeniero-director de las obras, con arreglo a sus facultades, o autorizadas por la superioridad, serán realizadas siempre que se ajusten a los conceptos de los pliegos de condiciones y su importe no exceda la cifra total de los presupuestos aprobados.

El contratista, o el organismo correspondiente, quedan obligados a abonar al ingeniero autor del proyecto y director de obra, así como a sus ayudantes, el importe de sus respectivos honorarios facultativos por dirección técnica y administración, con arreglo a las tarifas y honorarios vigentes.

Tanto en las certificaciones de obra como en la liquidación final se abonarán las obras realizadas por el contratista a los precios de ejecución material que figuran en el presupuesto, por cada unidad de obra.

En el caso excepcional en el que se ejecute algún trabajo no consignado en la contrata, siendo admisible a juicio del ingeniero-director de las obras, se pondrá en conocimiento del organismo correspondiente, proponiendo a la vez la variación de precios estimada por el ingeniero.

Cuando se juzgue necesario ejecutar obras que no figuren en el presupuesto de la contrata, se evaluará su importe a los precios asignados a ésta u otras obras análogas.

Si el contratista introduce en el proyecto, con autorización del ingeniero-director de la obra, alguna mejora en su elaboración, no tendrá derecho sino a lo que le correspondería si hubiese efectuado la obra estrictamente contratada.

El ingeniero redactor del proyecto se reserva el derecho de percibir todo ingreso que en concepto de derechos de autor pudiera derivarse de una posterior comercialización, reservándose además el derecho de introducir cuantas modificaciones crea conveniente.

13.2 Condiciones generales a todos los programas.

Los programas estarán realizados en lenguaje C/C++. Se entregarán tres copias de los listados para cada programa o subrutina. Los programas o subrutinas deberán ir documentados, indicando brevemente su función, entradas y salidas, y cualquier otra información de interés. Se entregará junto con los programas, un manual de uso e instalación.

13.3 Condiciones generales de prueba.

Los programas y subrutinas que se entreguen deberán funcionar sobre un ordenador PC o compatible con microprocesador Intel Pentium III a 850 Mhz o superior y con al menos 512 MBytes de RAM. Se ejecutarán bajo sistema operativo Windows 2000 Professional o superior en entorno local.

Solamente se aceptarán los programas si funcionan correctamente en todas sus partes, rechazándose en caso contrario. Si por causas debidas al contratista, los programas no funcionaran bajo las condiciones expuestas anteriormente, la empresa contratante se reservará el derecho de rescindir el contrato.

E.T.S.I. Telecomunicación (U.P.M.) 202

Page 203: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 13. Pliego de

condiciones

13.4 Recursos materiales.

Ordenador PC compatible, Intel Pentium a 595 Mhz con 496 Mbytes de RAM.

13.5 Recursos logísticos.

Sistema operativo Windows XP Home Edition Versión 2002. Entorno de desarrollo Microsoft Visual C++ 6.0. Entorno de desarrollo Eclipse. Paquete de software Microsoft Office XP para escritura de documentos. Active Perl Google MultiWordNet

E.T.S.I. Telecomunicación (U.P.M.) 203

Page 204: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 14.

Presupuesto

Capítulo 14Capítulo 14 PresupuestoPresupuesto

14.1 Introducción

El presupuesto consta de cuatro apartados: el cálculo del presupuesto de ejecución material, el presupuesto de ejecución por contrata que incluirá el cálculo de los gastos generales y del beneficio industrial, el coste de la dirección de obra y, por último, el presupuesto total, suma de todos los conceptos anteriores.

Todas las cantidades que aparecen están contempladas en Euros.

14.2 Presupuesto de ejecución material

Se incluyen en este presupuesto los gastos en herramientas empleadas, tanto hardware como software, así como la mano de obra.

14.2.1Gastos de material

Concepto PrecioUso

(Meses)

Amortizació

n (años)Total

Ordenador Fujitsu

Siemens a 595Mhz con

496MBytes de RAM

1300,00 12 1 1300,00

Impresora HP LaserJet

2100811,00 3 3 67,58

Material de oficina 160,00 160,00

Windows XP Home

Edition165,00 12 3 55,00

Microsoft Office XP 345,00 3 3 28,75

Eclipse 718,00 9 3 179,50

Microsoft Visual C++

6.0437,00 9 3 109,25

Total 1900,08

Tabla 13: Gastos de material

E.T.S.I. Telecomunicación (U.P.M.) 204

Page 205: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 14.

Presupuesto

14.2.2Coste de mano de obra

Para la realización del proyecto se requieren los siguientes perfiles profesionales: Un Ingeniero Superior de Telecomunicación, encargado del planteamiento, desarrollo e implementación del trabajo técnico. Tiempo de ocupación: 9 meses. Salario bruto: 18.000 €. Un Administrativo, encargado de la redacción, presentación y encuadernacióndel proyecto. Tiempo de ocupación: 3 meses. Salario bruto: 12.000 €. La estimación de los costes se realiza en base a la los siguientes datos: Cotizaciones según el Régimen General de la Seguridad Social. El ingeniero pertenece al grupo 1 y el administrativo al grupo 7. Jornada laboral de 8 horas/día, 21 días laborales/mes y 225 jornadas laborables/año.

Con los datos anteriores se puede calcular el coste por hora de trabajo. El número de horas trabajadas se calculará en base al tiempo dedicado a cada tarea. Teniendo todo esto en cuenta el coste de mano de obra será el siguiente:

Costes salariales

Concepto Grupo 1 Grupo 7

Base cotizable máxima anual 32.778,00 32.778,00

Salario bruto anual 18.000,00 12.000,00

Contingencias comunes (23’6%) 4.248,00 2.832,00

Desempleo, F.G.S. y

Formación profesional (8,7%) 1.566,00 1044,00

Coste total de seguridad social 5.814,00 3.876,00

Coste salarial anual 23.814,00 15.876,00

Coste salarial por hora 13,23 8,82

Número de horas 1512 504

Coste total 20.003,76 4.445,28

Tabla 14: Coste general de mano de obra

Por lo tanto, el coste final de la mano de obra será:

Mano de obra

Concepto Coste

Ingeniero Superior de

Telecomunicación 20.003,76

Administrativo 4.445,28

Total 24.449,04

Tabla 15: Costes de mano de obra

E.T.S.I. Telecomunicación (U.P.M.) 205

Page 206: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 14.

Presupuesto

Por lo tanto, los costes materiales totales serán:

Presupuesto de ejecución material

Concepto Coste

Coste mano de obra 24.449,04

Coste recursos materiales 1.900,08

Total 26.349,10

Tabla 16: Presupuesto de ejecución material

14.3 Presupuesto de ejecución por contrata

Dado que este proyecto se ha llevado a cabo por el procedimiento de contratación directa, al importe de ejecución material hay que añadir los siguientes conceptos:

Gastos generales, financieros, fiscales y los derivados de la administración del proyecto: 16 % del presupuesto de ejecución material. Beneficio industrial: 10 % del presupuesto de ejecución material.

Bajo el concepto de gastos generales se recogen los gastos derivados de la utilización de unas instalaciones, cargas fiduciarias, amortizaciones, gastos fiscales, etc. Los gastos generales junto con el beneficio industrial suponen un recargo del 22% sobre el Presupuesto de ejecución material, y este coste es el conocido como Presupuesto

de Ejecución por contrata.

Presupuesto de ejecución por contrata

Concepto Coste

Presupuesto de ejecución material 26.349,10

Gastos generales (16%) 4.215,856

Beneficio industrial (10%) 2.634,91

Total 33.199,87

Tabla 17: Presupuesto de ejecución por contrata

14.4 Dirección del proyecto

La dirección del proyecto es llevada a cabo por un ingeniero doctor que realiza las funciones de dirección, administración y análisis de requisitos. Según la normativa del Colegio Oficial de Ingenieros de Telecomunicación, sus honorarios se calculan como un 7% aplicado con ciertos coeficientes por tramos:

Honorarios de dirección

E.T.S.I. Telecomunicación (U.P.M.) 206

Page 207: ANTEPROYECTO FIN DE CARRERA - Speech …lorien.die.upm.es/juancho/pfcs/AMB/Montaje11SEPT.doc · Web view... y es una de las razones que incita a varias ramas de la investigación

Proyecto Fin de CarreraAmparo Marín de la Bárcena Grau Capítulo 14.

Presupuesto

Tramo CoeficienteCantidad

afectadaTotal

Hasta 30.050 € 1,00 30.050 30.050

Exceso desde

30.050€ hasta 60.101€0,90 3.149,87 2.834,88

Total afectado 32.884,88

Honorarios (7%) 2.301,94

Tabla 18: Honorarios de dirección

14.5 Importe total del proyecto

El importe total del proyecto asciende a:

Presupuesto total

Concepto Coste

Presupuesto de ejecución por contrata 33.199,87

Honorarios 2.301,94

Total antes de impuestos 35.501,81

I.V.A. (16%) 5.680,29

Importe total del proyecto 41.182,10

Tabla 19: Importe Total del proyecto

El importe total del proyecto asciende a 41.182,10 € (CUARENTA Y UN MIL CIENTO OCHENTA Y DOS COMA DIEZ EUROS).

Madrid, Septiembre de 2.006

El ingeniero,

E.T.S.I. Telecomunicación (U.P.M.) 207