ISSN: 1139-8736
Depósito Legal: B-8714-2001 |
4.1 Descripción General de la Arquitectura Desarrollada
Una arquitectura no integrada de 2 niveles se ha implementado, incluyendo
un decodificador acústico y un módulo de comprensión. Las principales características
de la arquitectura propuesta son:
- Flexibilidad. Posibilidad de modelar fácilmente diferentes dominios
restringidos debido a la independencia entre los datos y los procedimientos que se ha
establecido.
- Robustez. El sistema intenta extraer la información conceptual
(significado) de la frase a pesar de los errores del Decodificador Acústico y de los
fallos de cobertura (léxica, sintáctica o semántica) que puedan existir.
- Complejidad. Al poder aplicar funciones no SQL a los resultados de
consultas SQL, y descomponer las frases complejas, mediante análisis lingüístico
estructural, en varias consultas simples, aplicaciones de mayor nivel de complejidad
pueden ser abordadas.
Los módulos que componen la arquitectura desarrollada son los
siguientes. De cada uno de ellos damos una descripción funcional básica, destacando la
tecnología empleada y el tipo de modelado lingüístico utilizado:
Decodificador Acústico. Se ha implementado un sistema de
reconocimiento de habla continua basado en el algoritmo de Un Paso, y utilizando HMM.
Gramáticas N-gramas pueden ser empleadas para guiar el proceso de decodificación
acústica, y así obtener una o varias frases de salida. También incorpora técnicas o
estrategias de poda de caminos para reducir el coste computacional del sistema y aumentar
la eficiencia del mismo.
Fig. 4.1 Diagrama de Bloques de la Arquitectura del
Sistema de Comprensión Desarrollado
Módulo de Comprensión. Toma una frase de entrada de
lenguaje natural obtenida por el Decodificador Acústico y produce una respuesta que, en
general, es el resultado de procesar los datos obtenidos al ejecutar varias consultas
simples con varias funciones no SQL. El Módulo de Comprensión está formado por:
- Decodificador Conceptual Probabilístico. Está basado en un algoritmo de
Programación Dinámica y en una gramática regular ergódica de conceptos relacionados
con el dominio de la aplicación, donde cada concepto está modelado mediante un autómata
de estados finitos probabilísticos diferente donde los estados del mismo son categorías
semánticas (ver Capítulo 6). La robustez y la cobertura se ven
incrementadas mediante el empleo de un concepto y de una categoría especiales que
llamaremos basura. Los autómatas probabilísticos de cada concepto modelan,
principalmente, la información estructural de cada concepto, pero una gramática además,
una gramática que modela las transiciones entre los conceptos también es entrenada a
partir de datos etiquetados. Antes de la decodificación conceptual, se necesita un
categorizador semántico, que introduce problemas de ambigüedad, y que intentaremos
solucionar mediante la construcción de un grafo de pares palabra-categoría y haciendo
que el algoritmo de Programación Dinámica base del Decodificador Conceptual procese este
grafo y obtenga la secuencia de conceptos y de categorías más probable.
- Mapeador Conceptual. Como el Decodificador Conceptual es incapaz de
modelar las relaciones entre conceptos que no son contiguos, algunos conceptos
específicos tales como fechas, números, etc no son correctamente etiquetados. Si
consideramos el contexto, cualquiera de estos conceptos ambiguos pueden ser mapeados o
asignados correctamente o asignados al concepto correcto utilizando un conjunto de reglas
sensibles al contexto de mapeado y de fusión (por ejemplo, una fecha puede ser un
atributo de más de una entidad en el esquema E-R).
- Clasificador/Analizador Estructural. Nuestra propuesta alternativa al uso
de clasificadores estocásticos está basada en un analizador sintáctico (parser)
conceptual que utiliza una gramática libre del contexto. La estructura que se obtiene de
este modo nos permite determinar las consultas sencillas y las funciones (distancia,
comparación ...) que procesarán los resultados obtenidas con ella. Para conseguir un
conjunto de reglas semánticas reducidas, se emplea una taxonomía (clasificación: verbo,
función, entidad, atributo) conceptual.
- Transformador Estructural. Si la gramática SCFG extrae la estructura
conceptual de la frase, las reglas de transformación completan las subconsultas,
solucionando algunos problemas tales como la elipsis de conceptos, las frases de relativo,
etc.
- Control y Procesador Funcional. El papel de este módulo es procesar el
resultado d las consultas utilizando, si fuese necesario, los conceptos-función no SQL
que permiten estructurar una consulta. El número de estas funciones puede ser
incrementado con facilidad.
- Generador de Plantillas y Traductor SQL. Las consultas simples detectadas
y completadas por los módulos anteriores a éste son traducidas a SQL mediante 2 pasos:
relleno de plantillas con la información clave de la frase y, entonces, estas plantillas
se traducen a SQL mediante un conjunto de reglas que manejan información de la base de
datos.
Anterior
I Siguiente I Índice capítulo 4 I Índice General
ISSN: 1139-8736
Depósito Legal: B-8714-2001 |