MXPA97002521A - Metodo y aparato para un sistema de reconocimientode lenguaje mejorado - Google Patents
Metodo y aparato para un sistema de reconocimientode lenguaje mejoradoInfo
- Publication number
- MXPA97002521A MXPA97002521A MXPA/A/1997/002521A MX9702521A MXPA97002521A MX PA97002521 A MXPA97002521 A MX PA97002521A MX 9702521 A MX9702521 A MX 9702521A MX PA97002521 A MXPA97002521 A MX PA97002521A
- Authority
- MX
- Mexico
- Prior art keywords
- phrase
- cost
- words
- language
- word
- Prior art date
Links
Abstract
La presente invención se refiere a un método para reconocimiento de lenguaje, caracterizado porque se genera una señal indicativa de lenguaje a reconocerse, que comprende las etapas de:generar sartas de palabras candidato para la señal;seleccionar entre las candidatas utilizando un modelo de lenguaje usando una pluralidad de máquinas de estado finito, cada máquina tiene la capacidad de reconocer un par de secuencias, una secuencia se explora hacia la izquierda, la otra se explora a la derecha, y cada máquina corresponde a una palabra en un vocabulario del modelo de lenguaje.
Description
MÉTODO Y APARATO PARA UN SISTEMA DE RECONOCIMIENTO DE LENGUAJE MEJORADO CAMPO DE LA INVENCIÓN La presente invención se relaciona en general a reconocimiento de lenguaje. Más particularmente, la presente invención se relaciona a un sistema de reconocimiento de lenguaje mejorado, que utiliza un modelo de asociaciones de léxico probabilísticas. ANTECEDENTES PE LA INVENCIÓN El reconocimiento de habla es un proceso por el cual se identifica una pronunciación o mención de habla desconocida^ ("señal de alimentación")» El reconocimiento de habla-típicamente involucra una etapa de procesamiento de señal en donde una pluralidad de hipótesis de sartas de palabras, es decir posibles secuencias de palabras, se proponen para la señal alimentada. La tarea entonces es reconocer o identificar la "mejor" sarta de palabras, a partir de un conjunto de hipótesis, es decir sartas de palabras propuestas que son consistentes con la señal alimentada. Los sistemas de reconocimiento de habla utilizan un modelo de lenguaje para este propósito. Los sistemas de reconocimiento de habla típicos pueden emplear un modelo de lenguaje cuantitativo. Los modelos cuantitativos asocian un "costo" con cada hipótesis, REF: 24217 seleccionando la hipótesis de más bajo costo como la sarta de palabras reconocida. Un ejemplo de un modelo cuantitativo es un modelo de lenguaje probabilístico. Los modelos probabilísticos asignan probabilidades a sartas de palabras y eligen la sarta que tiene la más alta probabilidad de representar una señal de alimentación dada. El cálculo de probabilidad puede realizarse utilizando una variedad de métodos. Un método tal, referido como el modelo N-Gram, especifica la probabilidad de una palabra que es parte de una sarta condicional en las N-l palabras previas en la sarta. Ver por ejemplo Jelinek y_ colaboradores, "Principies of Lexical Language Modeling for-Speech Recognition" (Principios de Modelación de Idioma Lingüístico para Reconocimiento de Habla), Adv. Speech Signal Processing, págs. 651-699 (1992). Este artículo y todos los otros artículos mencionados en esta especificación aqui se incorporan por referencia. El modelo N-Gram es sensible léxicamente, ya que los parámetros del modelo se asocian con artículos léxicos particulares, es decir palabras. Esta sensibilidad permite al modelo capturar patrones de distribución locales que son idiosincrásicos a palabras particulares. Un segundo método referido como una gramática libre de contexto estocástico, utiliza una estructura de datos tipo árbol, en donde palabras con una señal de alimentación aparecen como nodos marginales de un árbol. Se asignan probabilidades como la suma de probabilidades de todas las tres derivaciones para las cuales palabras en la sarta candidato aparecen como nodos marginales. Ver por ejemplo, Jelinek y colaboradores, "Computation of the Probafoility of Initial Substríng Generation by Stochastic Context-Free Grammers" (Cálculo de Probabilidad de Generación de Subsarta Inicial por Gramáticas Libres de Contexto Estocástico) , Computational Linguistics, v. 17(3), págs. 315-324 (1991). En las gramáticas libres de contexto, se modelan propiedades estructurales, es decir la probabilidad de que una frase de una categoría particular, por ejemplo frases^ con nombre o verbo, pueda descomponerse en sub-frases de-categorías específicas. Ambos de los métodos anteriormente mencionados para estimar la probabilidad tienen desventajas. El modelo N-Gram, con sensibilidad de léxico adolece como resultado de su falla en capturar asociaciones de largo rango significativas entre palabras. Cuando se ignora la gramática, se pierde información útil que solo puede derivarse de relaciones gramaticales entre palabras. Mientras que una gramática libre de contexto estocástico es sensible a estas relaciones gramaticales, falla en capturar asociaciones entre artículos de léxico que reflejan información semántica, que hace que una sarta sea mucho más probable que otra. Un modelo de idioma que falla en considerar tanto información estructural como semántica, inevitablemente sufre de una pérdida de precisión. Los modelos de probabilidad de la técnica previa típicamente se compilan en una gran máquina de estado. La desventaja anteriormente mencionada de los modelos de probabilidad sensibles léxicamente, se debe en parte a esta estructura. Las máquinas usualmente implementadas para reconocimiento de habla, típicamente se limitan a mover de izquierda a derecha a través de las hipótesis de sartas de palabras, procesar sartas de palabras en una forma palabra-por-palabra. Como resultado, se pierden las asociaciones de largo-.. rango entre las palabras. El compilar gramáticas libres de contexto estocásticas, o más preferiblemente, aproximaciones de estas gramáticas, en una gran máquina de estado, no limita la capacidad de esos modelos en capturar asociaciones de largo rango. Como se discutió previamente, estas asociaciones se capturan debido a la naturaleza del modelo. Hay otra desventaja, sin embargo relacionada al uso de una gran máquina de estado sencilla que afecta ambos tipos de modelos de probabilidad. Cuando se compila el modelo en una gran máquina de estado, el vocabulario o léxico completo del modelo de idioma debe estar ahí contenido. En el caso típico de una implementación de soporte lógico, estas máquinas de estado se vuelven demasiado grandes para computadoras con limitada memoria RAM. De esta manera, hay necesidad por un modelo de idioma que posea tanto sensibilidad de léxico como estructural, y cuando se implemente en soporte lógico, se compacta lo suficiente para instalarse en computadoras que tienen memoria
RAM limitada. COMPENDIO DE LA INVENCIÓN Se describen métodos y aparatos para sistemas de reconocimiento de lenguaje y modelo de lenguaje mejorados. De acuerdo con la presente invención, una pluralidad de "pequeñas"... máquinas de estado finitas dirigen el modelo de lenguaje. Cada-una de estas máquinas tiene la capacidad por reconocer un par de secuencias, una explorada hacia la izquierda, la otra explorada a la derecha. Cada máquina de estado finita, aquí referida como una máquina de cabecera de léxico, corresponde a una palabra en el vocabulario del modelo de lenguaje. Solo las máquinas de cabecera de léxico que corresponden a las palabras contenidas en la hipótesis de sarta de palabras, se activan de acuerdo con los presentes métodos. Las máquinas de cabecera de léxico activas construyen o derivan frases a partir de las palabras contenidas en las hipótesis de sartas de palabras, por una serie de transiciones izquierda o derecha. Una pluralidad de estas frases se crea por las máquinas de cabecera de léxico para las diversas palabras ya que forman variaciones con otras palabras en las hipótesis de sartas de palabras. Las máquinas de cabecera de léxico calculan de manera incremental un "costo" para las frases derivadas. El costo se relaciona con la probabilidad de que la frase derivada corresponda con la señal de lenguaje alimentada. La frase de costo más bajo se elige como la frase que corresponde a la señal de lenguaje alimentado. Como se notó anteriormente, el presente método utiliza un conjunto limitado de "pequeñas" máquinas de cabecera de léxico que corresponde a las palabras en las hipótesis de sartas de palabras en vez de a una "gran" máquina de estado quß~ incorpora todo el vocabulario. Como tales, los presentes-métodos y aparatos pueden implementarse utilizando significativamente menos memoria RAM que los sistemas de reconocimiento de lenguaje de la técnica previa. Las máquinas de estado finitas de la presente invención que reconocen un par de secuencias, son distintas de las así denominadas máquinas de estado finito de "dos vías" que pueden moverse ya sea a la izquierda o a la derecha, pero reconocen solo una secuencia simple. Estas máquinas de dos vías se conocen en la técnica y tienen la misma potencia de reconocimiento que las máquinas de estado finito que solo pueden moverse de izquierda o derecha. Ver por ejemplo, Hopcroft y colaboradores, Introduction to Autómata Theory.
Lanquages . and Computation (Introducción a Teoría de Autómata, Lenguajes y Cálculo) . (Addison Wesley, 1979). No obstante estas máquinas de estado de dos vías, las máquinas de estado típicamente empleadas en la técnica previa para reconocimiento de habla, usualmente están limitadas a procesar sartas de palabras al moverse de izquierda a derecha, mientras que las máquinas de cabecera de léxico empleadas en la presente invención, exploran simultáneamente la alimentación a la izquierda y derecha de palabras particulares en la mitad de la sarta. Esto resulta en pronósticos más precisos de palabras adjuntas, ya que puede empezar el procesamiento con una palabra-menos común, que limita las posibilidades para la palabra-adjunta. Considera la siguiente frase ejemplo: "Quiero el transistor". Una máquina de estado restringida a procesar de izquierda a derecha, tendría que seleccionar la palabra siguiente a "el", es decir "Quiero el ?". Supuestamente, una gran cantidad de palabras en el vocabulario particular empleado puede seguir convenientemente a la palabra "el" en la frase ejemplar. Las máquinas de cabecera de léxico de la presente invención que procesan en cualquier dirección, están libres de empezar con la palabra "transistor" y elegir la palabra precedente. Hay bastante menos selecciones para palabras que puedan preceder convenientemente a la palabra "transistor" que siguen la palabra "el".
En virtud de utilizar una pluralidad de pequeñas máquinas de cabecera de léxico, los presentes métodos y aparatos no son sensibles tanto en sentido de léxico como estructuralmente. Se capturan asociaciones de léxico debido a que cada transición de máquina de cabecera involucra costos ligados a cosas o ítems de léxico particulares, es decir asociaciones de palabras. Las asociaciones estructurales implícitas en la organización jerárquica de una frase se capturan como resultado de la cascada de máquinas de cabecera de léxico. BREVE DESCRIPCIÓN DE LOS DIBUJOS Adicionales características de la invención serán más-aparentes a partir de la siguiente descripción detallada de modalidades específicas de la misma, cuando se leen en conjunto con los dibujos acompañantes en donde: La FIGURA 1 ilustra un método de acuerdo con la presente invención para implementar un sistema de reconocimiento de habla; La FIGURA 2 es una ilustración de una red de palabras; La FIGURA 3 es un diagrama que muestra transiciones de estado para una máquina de cabecera de léxico ejemplar, de acuerdo con la presente invención;
La FIGURA 4 es una modalidad de un método de acuerdo con la presente invención para generar una pluralidad de registros de frase para elegir la mejor selección de una pluralidad de hipótesis de sartas de palabras; La FIGURA 5 muestra una derivación de sub-frase ejemplar producida por los presentes métodos y aparatos para una sarta de palabras muestra; y La FIGURA 6 muestra las máquinas de cabecera de léxico y las transiciones requeridas para generar la derivación de sub-frase de la FIGURA 5. DESCRIPCIQW r-KTAT.T.Ar-A La presente invención se relaciona a métodos demodelación de lenguaje para utilizar en una variedad de aplicaciones de reconocimiento de lenguaje. El papel del modelo de lenguaje en el reconocimiento de lenguaje, involucra identificar la "mejor" sarta de palabras a partir de un conjunto de hipótesis de sartas de palabras desarrollado por otras partes del sistema de reconocimiento de lenguaje. La presente invención se describirá en el contexto de reconocimiento de habla. Habrá de comprenderse sin embargo que los presentes métodos son aplicables a todas las modalidades de reconocimiento de lenguaje, incluyendo sin limitación, reconocimiento de escritura a mano y reconocimiento óptico de caracteres. Habrá de apreciarse que los presentes métodos pueden implementarse como soporte lógico o equipo físico.
La FIGURA 1 es una ilustración de un método de reconocimiento de habla de acuerdo con la presente invención.
Reducido a su concepto básico, este método puede incluir procesamiento de señal de habla SSP, análisis de idioma LA y procesamiento de aplicaciones AP. El método empieza con procesamiento de señal de habla SSP, en donde una señal de habla se acepta y se genera un conjunto de hipótesis de sartas de palabras consistente con esta señal de habla. En un sistema de reconocimiento de habla, las hipótesis de sartas de palabras se generan por lo que se refiere como un "modelo acústico". Estos modelos son bien., conocidos por aquéllos con destreza en la especialidad. Con más detalle, el procesamiento de señal de habla SSP incluye convertir una señal de habla analógica a una señal de habla digitalizada en el bloque operativo 10 y buscar con una red de reconocimiento y generar hipótesis de sartas de palabras en el bloque operativo 15. Como se utiliza en los métodos de reconocimiento de lenguaje presentes, este procesamiento de señal genera las hipótesis de sartas de palabras como una secuencia de palabras, ya sea procesando una señal de habla o si este procesamiento se refiere a otras modalidades de reconocimiento de lenguaje. Este secuenciado de palabras puede incluir, sin limitación, un conjunto explícito de sartas de palabras candidatas o de preferencia una estructura de datos de red de palabras. La red de palabras es una construcción bien conocida para almacenar una colección de sartas posibles que permiten que se compartan sub-sartas. Las técnicas referidas en los bloques operativos 10 y 16 son bien conocidas en la especialidad. El análisis de lenguaje LA acepta las hipótesis de sartas de palabras y utiliza un modelo de lenguaje de acuerdo con las presentes enseñanzas, de ahí elige la mejor sarta de palabras. Los métodos y aparatos de la presente invención se refieren en particular a este aspecto del proceso de reconocimiento de lenguaje. El presente modelo de lenguaje luego puede implementarse en un sistema de reconocimiento de_ lenguaje, tal como el sistema de reconocimiento de habla-actualmente descrito. Con más detalle, las hipótesis de sartas de palabras se reciben del procesamiento de señal de habla SSP en el bloque operativo 20. El modelo de lenguaje se aplica para generar y asignar un rango a una lista de sartas posibles de palabras o frases que corresponden a. las señales en el bloque operativo 22. En el bloque operativo 24, la mejor sarta de palabras se elige y como se indica en el bloque operativo 26, se envía la mejor sarta de palabras a procesamiento de aplicación AP. El procesamiento de aplicación de esta manera acepta la mejor sarta y luego procesa esa sarta como sea apropiado, por ejemplo traducción, transcripción o semejantes. Habiendo descrito donde ajustan los métodos y aparatos para el presente modelo de lenguaje en un proceso o sistema de reconocimiento de lenguaje de acuerdo con la presente invención, el presente modelo de Lenguaje y métodos para su implementación se describirán ahora en detalle. Como se describió previamente, el análisis de
Lenguaje LA recibe un conjunto de hipótesis de sartas de palabras. De preferencia, estas sartas de palabras están en la forma de una red de palabras, es decir una gráfica acíclica dirigida. Una red de palabras ejemplar se ilustra en la FIGURA 2. La red de palabras tiene un conjunto de nodos iniciales J, representada en la FIGURA 2 por io, y un conjunto de nodos_ finales J , representan la FIGURA 2 por jl y j2. Las hipótesis-representadas por la red de palabras corresponden a trayectorias posibles del conjunto de nodos iniciales J al conjunto de nodos finales J. La red de palabras también se caracteriza por una pluralidad de "arcos de red" o "arcos de palabras", que se etiquetan con una palabra, w, entre dos posiciones que representan puntos de tiempo para habla. Los arcos también se etiquetan con un costo, cc, que reflejan que también ajusta la palabra a esa porción de la señal de alimentación. Por ejemplo, en la FIGURA 2, los arcos de palabras se etiquetan wO , cO a w8 , c8. La red y los costos se generan durante el procesamiento de señal de habla SSP utilizando técnicas bien conocidas en la especialidad. El costo de arco de palabras se acumula por el presente método y de esta manera contribuye al costo de una frase jugando de esta manera un papel en determinar la mejor frase. El conjunto de arcos en la red de palabras de alimentación, de esta manera puede representar por un conjunto de registros de la forma < w, i , j, c0 > en donde i y j son índices para los nodos de red. Para una red producida a partir de una señal de habla, la interpretación usual de este registro de arco es que la palabra w corresponde a la señal de habla de alimentación desde la posición de tiempo i a la posición de tiempo j con el costo c0. Presentadas con una red de palabras, las máquinas decabecera de léxico para las palabras presentes en la red, se activan. Cada máquina de cabecera de léxico consiste de un conjunto finito de estados Q, y una tabla de acción costeada T. Entradas en la tabla de¡ acción ya pueden ser acciones de inicio, transiciones a la izquierda, transiciones a la derecha o acciones de parada. La anotación C(A,m) representa el costo total de una secuencia de acciones A = ax ... ak que se realizan por la máquina de cabecera de léxico m, en donde a_. es una acción de inicio y ak es una acción de parada. C(A, ) de esta manera es la suma de los costos para acciones en la secuencia A .
La FIGURA 3 es un diagrama que muestra transiciones de estado para una máquina de cabecera de léxico ejemplar de acuerdo con la presente invención. Los nodos gl - g6 representan diversos estados, de la máquina de cabecera de léxico. Arcos entre los nodos muestran las transiciones de estado, en donde la máquina de cabecera consume una frase, indicada por w "n", por ejemplo 2 , etc. Las transiciones de estado pueden caracterizarse como acciones de izquierda o derecha, indicado por la dirección de la flecha adyacente a la frase. Por ejemplo, la máquina de cabecera de léxico ejemplar se mueve del estado 1 al estado 2 al consumir la frase w2 eru una transición izquierda. La máquina da seguimiento a dos- señaladores de posición en la sarta. Una transición a la izquierda mueve el señalador izquierdo hacia la izquierda y una transición a la derecha mueve el señalador derecho hacia la derecha. Las cabezas de flecha en gl y g2 indican que hay un costo de acción de inicio finito en estos estados. En otras palabras, probablemente hay puntos de partida para la frase. Los otros estados tienen costos de acción de inicio infinitos y de esta manera son improbables puntos de partida para la frase. Los círculos concéntricos en g3 y g6 indican que hay un costo de acción de parada finito en estos estados. La máquina de cabecera de léxico para una palabra, w , construye o deriva una frase, es decir un ordenamiento de las palabras en la red, por una serie de transiciones izquierda o derecha. En cada transición, la frase se extiende al "consumir" una frase adyacente, que a su vez se formó como una "derivación de sub-frase" por otra máquina de cabecera de léxico para una palabra w' . Este movimiento corresponde a formar una asociación entre w "la cabecera" y w' "lo dependiente". De esta manera una pluralidad de estas frases se crean por las máquinas de cabecera de léxico para las diversas palabras, conforme constituyen asociaciones con otras palabras en la red de palabras. Un ejemplo de una derivación de subfrase, máquinas de cabecera de léxico y las transiciones actuales para estas máquinas, como se genera de acuerdo con la_ presente invención para reconocer una frase de muestra, se-presenta posteriormente en esta especificación. El método procede al agregar estas frases, en diferentes estados de terminación, a una red de frases. Esta red, distinguida de la red de palabras, es un conjunto de registros de frases, cada uno que corresponde a un estado particular de hacer funcionar una máquina de cabecera de léxico para alguna palabra. Un registro de frase tiene los siguientes campos: <vr ,s ,i , j ,q ,m,c> . En el registro, w es la cabecera de una frase, posiblemente incompleta, que extiende las posiciones i a j en su etapa de terminación corriente. La frase se construye de acuerdo con una máquina de cabecera de léxico n , el estado corriente de m es q. Además, s es la lista de palabras de salida, construida hasta ese punto, y c es la calificación corriente asociada con la hipótesis de frase. La calificación corriente es la suma de los costos aplicados a ese punto en la formación de la frase. El costo para una frase se calcula por máquinas de cabecera de léxico. Cada movimiento de la máquina de cabecera contribuye al costo de la frase por una cantidad que depende del estado de la máquina y las identidades de las dos palabras w y w' . La sarta de palabras o frase selecta por el método es aquélla que tenga el costo más bajo que se extiende por toda la red de palabras completa, es decir desde el inicio de la señal de habla de alimentación al fin de esa señal. El costo para derivar una frase que se extiende por toda la red, involucra los costos de acciones de máquina que llevan a la derivación, junto con costos adicionales para asociar máquinas con palabras y para asociaciones entre cada palabra de cabecera y sus palabras dependientes. Los parámetros de costo adicionales incluyen parámetros de asociación que especifican el costo para una palabra Wj. que es la cabecera de la palabra w^ : C(h(wp w^ ) ) , y los parámetros de léxico que suministran el costo para la palabra w que corre la máquina m: C(m,w) . Cada apareamiento entre una palabra y una máquina, junto con su parámetro de léxico correspondiente, aparece como una entrada en un léxico o diccionario. Habrá de entenderse que puede haber más de una entrada, es decir máquina por palabra en el léxico. La razón para esto es que una palabra determinada puede emplearse en más de un sentido, tal como por ejemplo como un pronombre o un verbo. El costo C(Do r w0 ) de una derivación de sub-frase Do l con una palabra de cabecera, es la suma del costo de léxico para elegir una máquina m,-, el costo de las acciones de máquina AQ que se toman por m0 en la derivación, los parámetros de asociación para asociar w0 con sus palabras dependientes Wx ... wm l y los costos de derivación de las sub-frases encabezadas por estos dependientes calculados en forma recursiva: C(Do t wQ ) = fAIo, w0 ) + C(?3, fllo) + !! <.<» C(h(wo r wm ) ) + C(Da , wm ) Diversas funciones de costo pueden emplearse para calcular el~ costo de una frase. Usualmente, la función de costo se basa en probabilidades, en donde asociaciones de palabras menos probables o menos posibles llevan a costos más altos. De esta manera, el costo refleja asociaciones de largo rango entre palabras en una sarta. Funciones de costo se describirán con más detalle posteriormente en esta especificación. El método por el cual las máquinas de cabecera de léxico analizan la red de palabras, se describe con más detalle a continuación. En una modalidad preferida, conforme se extienden las frases, se calcula un costo de operación o de corrida de estas frases, de manera tal que las frases puedan cortarse a medida que es evidente que no serán parte de la frase de más bajo costo. Una tabla de elección arbitraria de preferencia se emplea para este propósito. Las entradas en la tabla de elección arbitraria incluyen una clave de elección arbitraria <w ,i , j ,q,w> , y un valor de elección arbitraria que es un señalador al registro de frase. La tabla de elección arbitraria mantiene un señalador al registro de frase con costo más bajo que se encuentra entre i y j encabezado por w en el estado q de la máquina m . La información que constituye la clave de elección arbitraria se refiere como un "estado íntegro" y c se refiere como el "costo de estado completo" . El método para analizar la red de palabras de preferencia tiene una estructura de control de "fondo hacia arriba" similar a aquélla para algoritmos de análisis-sintáctico libres de contexto, tales como CKY como se describe" por Younger y utiliza estructuras de datos similares a aquéllas en el así llamado "Análisis Sintáctico de Carta" como se describe por Early. Ver Younger, D. , "Recognition and Parsing of Context-Free Languages in Time n3" (Reconocimiento y Análisis Sintáctico de Lenguaje Libres de Contexto en el Tiempo n3 ) , Information and Control, Vol. 10, págs. 189-208, 1967; Early, J. , "An Efficient Context-Free Parsing Algorithm" (Un Algoritmo de Análisis Sintáctico Libre de Contexto Eficiente), Comm. Of the ACM, Vol. 14, págs. 453-460, 1970. El presente método se dirige por las máquinas de cabecera de léxico para las palabras en la red de palabras.
La FIGURA 4 ilustra una modalidad de un método de acuerdo con la presente invención, por la cual la pluralidad de máquinas de cabecera de léxico se emplean para generar una pluralidad de registros de frase de la cual se elige un mejor registro de frase, es decir mejor sarta de palabras. De esta manera, la FIGURA 4 ilustra un método de acuerdo con la presente invención para lograr la etapa 2 de la FIGURA 1. Como se indica en el bloque de operación 100, la red de palabras generada por el procesador de señal de habla SSP se recibe. El método empieza con una etapa de inicialización que se logra por los bloques de operación 105 a 120, identificados-colectivamente por el número de referencia 130. La inicialización se lleva a cabo al agregar a una lista de espera un conjunto de registro de frases <w , [w] , i , j , m, qo l c> desarrollado a partir de la red de palabras. Este registro de frase se agrega por cada ítem <w, i , j , cQ> , en la red de palabras y cada entrada (m, w) en el léxico. De esta manera, en el bloque de operación 105, se activa una máquina de cabecera de léxico que corresponde a una de las palabras en la red de palabras. Más específicamente, una máquina de cabecera de léxico que corresponde a una palabra w, de la red de palabras se recupera de un léxico almacenado en un dispositivo de memoria. La entrada de léxico que corresponde a la palabra w incluye una máquina, m y un costo cx = C(m, ). La máquina m incluye una acción de inicio que tiene un costo c2 = Cf start , qa , m) . El costo c, de cada registro de frase es la suma de costo de léxico c1( el costo de inicio de máquina c2 y el costo de arco de palabra c0 asignados por el reconocedor de habla 10. Todas las máquinas de cabecera de léxico por cada arco de palabra en la red de palabras se activan a través de las configuraciones de bucles por los bloques de decisión 115 y 105. Los restantes bloques de operación/decisión 140-196 forman un bucle que consume ítems de las lista de espera y crean nuevos registros de frase. El bloque de decisión 140 interroga si está vacia la lista de espera. Si la lista deespera está vacia, todos los registros de frase de costo baja que puedan desarrollarse a partir de la red de palabras de alimentación, se han extendido lo más ampliamente posible. La red de frases, es decir la colección de registros de frases desarrollados por los presentes métodos luego se post-procesan para seleccionar la mejor sarta de palabras como se indica en el bloque operativo 200. Este post-procesamiento se describe posteriormente en esta especificación. Si la lista de espera no está vacía, el procesamiento continúa en el bloque de operación 145, en donde un registro de frase se retira de la lista de espera. En una modalidad preferida del presente método, el costo c del registro de frases se compara con la frase de más bajo costo, es decir el costo de estado íntegro, en la tabla de elección arbitraria en el bloque 150. Si el costo c del registro de frases bajo consideración ("la frase presente") no es menor que el costo de estado íntegro, la frase presente se descarta o "corta" . El procesamiento luego regresa al bloque 140, para determinar si está disponible otro registro de frase. Si el registro de frase presente tiene un menor costo que la frase de costo más bajo en la tabla de elección arbitraria, se agrega a la red de frases en el bloque de operación 155. Mientras que el bloque 150 no se requiere como una etapa en el presente método, mejora la eficiencia debido a que evita crear registros de frase que se descartarán posteriormente . Si, después de agregar el registro de frases a la red-de frases en el bloque operativo 155, el registro de frase está adyacente a otra frase, entonces una acción de combinación puede llevarse a cabo. De esta manera, el bloque de decisión 160 interroga si hay más frases o no para combinar. De no ser así, el procesamiento entra en bucle de regreso al bloque de decisión 140. Si hay más frases, una operación de combinación realizada por los bloques operativos identificados colectivamente por el número de referencia 180, resulta en un nuevo registro para una frase extendida. Los viejos registros aún permanecen en la red. Son posibles dos tipos de combinaciones, combinación izquierda y combinación derecha. En una combinación izquierda, la máquina para el registro de frase a la derecha se somete a una acción izquierda como se describe a continuación. Si la red contiene un primer registro de frase <W? , sí t i , K, pi? , qx, c_>, a la izquierda de un segundo registro de frase <w2, s2, k, j , m2, q2, c2> , m2 incluye una acción izquierda con un costo c3 = C(left , q' 2, q2 , m2) y ?ÍI incluye una acción de parada con un costo c4 = C(stop, qx ? iB?) , luego la combinación realizada en el bloque de operación 165 produce la siguiente frase extendida: <w2 , s '2 l i , j, m2 , , >, en donde s'2 = concaténate (Sx , s2 ) . La combinación derecha es la imagen en el espejo de la combinación izquierda. Se estableció un nuevo estado en el bloque de operación 170, de acuerdo con la transición de máquina. En el ejemplo anterior, el nuevo__ estado es q' 2, de manera tal que la frase extendida se vuelve :- <w2 f s ' 2, i , j , m2, q' 2, >. El costo de la nueva frase se determina en el bloque de operación 175. El nuevo costo es la suma del costo de la transición de máquina, costo de asociación de palabras, costo de consumir frases, costo de frase consumida y costo de parada de máquina consumida. Para el ejemplo anterior, el nuevo costo C2, de esta manera se da por c'2 = c + c2 + c3 + ct + C(h(w2, Wx) ) . El registro de frase extendido luego se vuelve: <w2, s' 2 , i , j, m2, q' 2, c' 2> . Para cada nuevo registro de frase que resulta de la operación de combinación 180, el costo de registro se compara, en el bloque 185, con el costo de estado íntegro en la tabla de elección arbitraria. Si el costo del nuevo registro de frase es superior que el costo de estado total, entonces el procesamiento regresa al bloque operativo 160, sin agregar el nuevo registro de frase a la lista de espera, de manera tal que se descarte efectivamente. Si el costo del nuevo registro de frase es menor que el valor de estado íntegro, entonces la entrada de tabla de elección arbitraria se actualiza con el nuevo señalador de registro en la etapa 190 y el viejo registro de estado completo se retira de la red de frases. El nuevo registro de frases de bajo costo se agrega entonces a la lista de espera en la etapa 195 y el procesamiento continúa en el bloque 160. Después de que se ha vaciado la lista de espera, e_L-procesamiento continúa al bloque operativo 200, en donde se realizan las siguientes etapas para elegir la sarta de palabras que tiene el costo más bajo. Primero, una lista de todos los registros de red <w , s, i, j, q, , c> desde un nodo inicial i e J a un nodo final j e j se compila. Por cada registro en la lista, se agrega el costo para la máquina m deteniendo en el estado q , es decir C(stop, q, m) . Luego, se selecciona la sarta s del registro con el costo total más bajo. Si hay varias de estas frases de extensión con el costo mínimo, entonces se elige una de preferencia al azar. Considerando los parámetros de costo, los presentes métodos no requieren nincfuna interpretación específica de los diversos parámetros de costo para las acciones de máquina y los costos de léxico y de asociación aparte del requerimiento general que los costos menores correspondan a sartas más convenientes. Estos son métodos conocidos por aquéllos con destreza en la técnica para proporcionar funciones de costo específicas aplicables a los métodos presentes. De preferencia, la función de costo es probabilidad log-negado. Un método para derivar costos de probabilidad log para los métodos de la presente invención se describe a continuación. Las acciones de máquina, selecciones de léxico y selecciones de asociación se toman como eventos en un modo generativo, específicamente un modelo probabilístico para generar sartas de palabras. Un conjunto de señales de mención de habla de__ alimentación se transcribe desde los datos recolectados para la-aplicación de reconocimiento de habla particular. El método ilustrado en la FIGURA 4 para generar registros de frase se corre sobre las redes de palabras producidas por el procesamiento de señal de habla, manteniendo un recuento de acciones de máquinas , selecciones de máquina de léxico y selecciones de cisociación de palabras que conducen a las sartas transcritas por cada señal de mención de habla. A continuación, se estiman probabilidades para estas cuentas utilizando los métodos estadísticos standard. Por cada probabilidad estimada P(e) para un evento e, se ajuste el costo para e como -log (P(e) ) .
Habrá de apreciarse que otros métodos para estimar probabilidades conocidos por aquéllos con destreza en la técnica pueden utilizarse, tales como expectación-maximización. Además, funciones de cesto aparte de la probabilidad log, pueden utilizarse, tales como, sin limitación, la proporción de probabilidad. La proporción de probabilidad es la relación del número de veces en entrenar que una acción de máquina particular o selección lleva a la sarta incorrecta y el número de veces que conduce elegir la sarta transcrita. Ejemplo La FIGURA 5 muestra una derivación de sub-frase-ejemplar producida por los presentes métodos y aparatos para la" sarta "Please showmethe cheapest f1 iqhts from Boston to Newark" (Mostrar oor favor los vuelos más baratos de Boston a Newark) . Máquinas de cabecera de léxico ejem- piares asociados con las palabras en esta frase se ilustran en laFiquraß. Las transiciones actuales requeridas para reconocer la sarta se ilustran en la FIGURA 6 como líneas sólidas. Una cuantas de las muchas otras transiciones posibles no tomadas en esta derivación particular, se ilustran como líneas punteadas. La anotación "->" indica una transición a la derecha y la anotación "<-" indica una transición a la izquierda. Las palabras bajo las cuales aparecerán las máquinas en el léxico se ilustran a continuación a los estados de inicio, es decir gl, g4, g7, etc.
Las transiciones realizadas por las máquinas de cabecera de léxico en reconocer la sarta "Please shown me the cheapest flights from Boston to Newark" que se ilustra en la FIGURA 6, se describen a continuación. Acciones de inicio para todas las palabras en las sartas se toman: "please" en g9, "show" en gl, "me" en q8, "the" en g7, "cheapest" en gl6, "from" en glO, "Boston" en gl4, "to" en gl2 y "Newark" en gl5. Las palabras para las siguientes máquinas toman acciones de parada ya que no hay posibles transiciones para ellas: "please" , "me", "the", "cheapest", "Boston" y Newark". La máquina para la palabra "from" toma una transición a la derecha-de glO a gil consumiendo la máquina para la palabra "Boston" y se detiene, formando una frase completa "from Boston". La máquina para la palabra '"to" toma una transición a la derecha de gl2 a gl3, consumiendo la máquina para la palabra "Newark" y se detiene formando una frase completa "to Boston". Este completa el nivel más bajo de la derivación de sub-frase ilustrado en la Figura 5„ La máquina para la palabra "flights" toma una transición izquierda de g4 a g5, consumiendo la máquina para la palabra "cheapest", una transición derecha de g5 de regreso a g5 consumiendo la frase "from Boston", otra transición derecha de g5 de regreso a g5, consumiendo la frase "to Newark", una transición izquierda de ?r5 a g6 consumiendo la máquina para la palabra "the" y se detiene. Esto completa el reconocimiento de la frase "the cheapest flights from Boston to Newark" correspondiendo a los dos niveles más bajos de la derivación de sub-frase ilustrada en la Figura 5. La máquina para la palabra "show" toma una transición izquierda de gl de regreso a gl consumiendo la máquina para la palabra "please", una transición derecha de gl en g2 consumiendo la máquina para la palabra "me", una transición derecha de g2 a g3 consumiendo la frase encabezada por "flights", es decir "the cheapest flights from Boston to Newark" y se detiene. Esto completa toda la derivación ilustrada en la Figura 5, y el reconocimiento de "Please shown- e the cheapest flights from Boston to Newark11. Habrá de entenderse que las modalidades aqui descritas son ilustrativas de los principios de esta invención y que diversas modificaciones puedan ocurrirse 'a, e implementarse por aquéllos con destreza en la especialidad, sin apartarse del alcance y espíritu de esta invención. Por ejemplo, mientras que modalidades aquí descritas se relacionan a reconocimiento de habla, los presentes métodos pueden ser utilizados en otros tipos de sistemas de reconocimiento de lenguaje. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.
Habiéndose descrito la invención como antecede, se reclama como propiedad le contenido en las siguientes:
Claims (13)
- REIVINDICACIONES 1. Un método para reconocimiento de lenguaje, caracterizado porque se genera una señal indicativa de lenguaje a reconocerse, que comprende las etapas de: generar sartas de palabras candidato para la señal; seleccionar entre las candidatas utilizando un modelo de lenguaje usando una pluralidad de máquinas de estado finito, cada máquina tiene la capacidad por reconocer un par de secuencias, una secuencia se explora hacia la izquierda, la otra se explora a la derecha, y cada máquina corresponde a una palabra en un vocabulario del modelo de lenguaje.
- 2. El método de conformidad con la reivindicación 1 ,-caracterizado porque la etapa de elegir además comprende utilizar solo máquinas de estado finito que corresponden a las palabras contenidas en las sartas de palabras candidatas.
- 3. El método de conformidad con la reivindicación 1, caracterizado porque la etapa de generar sarta de palabras candidatas además comprende generar esta sarta de palabras en la forma de una red de palabras.
- 4. El método de conformidad con la reivindicación 1, caracterizado porque la etapa de elegir además comprende utilizar las máquinas de estado finito para derivar frases de las palabras contenidas en la sarta de palabras candidatas y calcular un costo para las frases derivadas, en donde el costo se relaciona al grado de correspondencia entre la frase derivada y lenguaje representado por la señal.
- 5. El método de conformidad con la reivindicación 4, caracterizado porque un costo inferior indica un mucho mayor grado de correspondencia..
- 6. El método de conformidad con la reivindicación 5, caracterizado porque la etapa de elegir además comprende determinar la frase de costo más bajo.
- 7. El método de conformidad con la reivindicación 4 , caracterizado porque el costo de una frase se basa en probabilidades, en donde las asociaciones de palabras menos.. probables resultan en costos superiores.
- 8. El método de conformidad con la reivindicación 4, caracterizado porque se aplican costos de manera incremental conforme se derivan frases.
- 9. El método de conformidad con la reivindicación 1 , caracterizado porque el lenguaje a reconocerse es hablado y la etapa de generar sartas de palabras candidatas además comprende aplicar un modelo acústico.
- 10. Un medio de almacenamiento legible por computadora, que comprende instrucciones de programa legibles por computadora codificadas para utilizar en conjunto con una computadora programable, estas instrucciones provocan que la computadora seleccione una sarta de lenguaje de una pluralidad de hipótesis de sartas de lenguaje, la sarta selecta proporciona la mejor correspondencia a una señal representativa de lenguaje, en donde esta selección resulta de la acción de una pluralidad de máquinas de estado finito capaces de reconocer un par de secuencias, una secuencia se explora hacia la izquierda, la otra se explora a la derecha a través de una estructura de datos con base en la pluralidad de hipótesis de sartas de lenguaje.
- 11. El medio de almacenamiento legible por computadora de conformidad con la reivindicación 10, caracterizado porque la estructura de datos es una red de frases que comprende frases formadas por la pluralidad demáquina de estado finito.
- 12. El medio de almacenamiento legible por computadora de conformidad con la reivindicación 10, caracterizado porque el sistema de reconocimiento de lenguaje es un sistema de reconocimiento de habla, las hipótesis de sartas de lenguaje se presentan en la forma de una red de palabras y en donde las máquinas de estado finito que actúan corresponden a las palabras en la red de palabras.
- 13. Un método para elegir una sarta de palabras a partir de una pluralidad de hipótesis de sartas de palabras, en donde las hipótesis de sartas de palabras se derivan de una señal de alimentación representativa de lenguaje y la sarta de palabras selecta que mejor representa el lenguaje, caracterizado porque comprende las etapas de: (a) activar máquinas de estado que corresponden a las palabras en las hipótesis de sartas de palabras, en donde las máquinas de estado activadas se eligen de una pluralidad de estas máquinas de estado que definen un léxico, en donde cada una de las máquinas de estado activadas son capaces de reconocer un par de secuencias, una secuencia se explora hacia la izquierda, la otra se explora hacia la derecha y además en donde cada máquina de estado se caracteriza por un estado inicial; (b) generar una primer pluralidad de registros de frase, en donde un registro de frase se genera por cada palabra en las hipótesis de sartas de palabras y cada registro de frase se caracteriza por una-.-palabra, una máquina de estado, el estado inicial y un costo r (c) generar una red de frases al formar una estructura de datos que comprende los registros de frase de la etapa (b); (d) generar una pluralidad de registros de frase extendidos, en donde se forma un registro de frase extendido cuando un registro de frase dentro de la red de frases consume un registro de frase adyacente en la red de frase por una transición de máquina de estado, en donde el registro de frase extendido: contiene las palabras tanto del registro de frase como el registro de frase adyacente y se caracteriza por la máquina de estado del registro de frase consumidor, un nuevo estado que corresponde a la transición de la máquina de estado y un nuevo costo, en donde el nuevo costo es la suma de los costos de la frase consumida y la frase consumidora, un costo asociado con la transición de máquina de estado de la frase consumidora y un costo asociado con una parada que se realiza por la máquina de estado consumida, y un costo que pertenece a una asociación entre las palabras en los registros de frases consumidas y consumidoras; (e) agregar el registro de frase extendido a la red de frases, si el nuevo costo de registro de frase extendido es menor que un costo de registro de frase de referencia; (f) repetir las etapas (d) y (e) , en donde un registro de frase puede consumir un registro de frase adyacente hasta que todos los registros de frase se hayan extendido completamente y en donde el costo de registro de frase de_ referencia se actualiza por los registros de frase extendidos-que se agregan a la red de frases; y (g) seleccionar el registro de frase de más bajo costo que se extiende por toda la señal de alimentación.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/631,874 US5870706A (en) | 1996-04-10 | 1996-04-10 | Method and apparatus for an improved language recognition system |
US08631874 | 1996-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
MX9702521A MX9702521A (es) | 1997-10-31 |
MXPA97002521A true MXPA97002521A (es) | 1998-07-03 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5870706A (en) | Method and apparatus for an improved language recognition system | |
EP1475778B1 (en) | Rules-based grammar for slots and statistical model for preterminals in natural language understanding system | |
Chen | Building probabilistic models for natural language | |
US6983239B1 (en) | Method and apparatus for embedding grammars in a natural language understanding (NLU) statistical parser | |
US6963831B1 (en) | Including statistical NLU models within a statistical parser | |
CA2461777C (en) | Linguistically informed statistical models of constituent structure for ordering in sentence realization for a natural language generation system | |
Ward | Extracting information in spontaneous speech. | |
US20020128821A1 (en) | Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces | |
Nießen et al. | A DP based search algorithm for statistical machine translation | |
Lavie | GLR*: A robust grammar-focused parser for spontaneously spoken language | |
Chelba | Exploiting syntactic structure for natural language modeling | |
Carter et al. | The speech-language interface in the spoken language translator | |
WO2001093246A2 (en) | Creating a unified task dependent language models with information retrieval techniques | |
EP1475779B1 (en) | System with composite statistical and rules-based grammar model for speech recognition and natural language understanding | |
Wang et al. | Combination of CFG and n-gram modeling in semantic grammar learning. | |
Goddeau | Using probabilistic shift-reduce parsing in speech recognition systems. | |
Palmer et al. | Robust information extraction from automatically generated speech transcriptions | |
Bod | Context-sensitive spoken dialogue processing with the DOP model | |
Drenth et al. | Context-dependent probability adaptation in speech understanding | |
MXPA97002521A (es) | Metodo y aparato para un sistema de reconocimientode lenguaje mejorado | |
Smaïli et al. | An hybrid language model for a continuous dictation prototype. | |
Jurafsky et al. | Integrating experimental models of syntax, phonology, and accent/dialect in a speech recognizer | |
Collins | Head-driven probabilistic parsing for word lattices | |
к жз ин г Ьгжгвиг | Head-Driven Probabilistic Parsing For Word Lattices | |
Siu | Learning local lexical structure in spontaneous speech language modeling |