ES2978890T3 - Sistemas y procedimientos de reconocimiento y comprensión de entidades de nombres propios adaptativas - Google Patents
Sistemas y procedimientos de reconocimiento y comprensión de entidades de nombres propios adaptativas Download PDFInfo
- Publication number
- ES2978890T3 ES2978890T3 ES14803708T ES14803708T ES2978890T3 ES 2978890 T3 ES2978890 T3 ES 2978890T3 ES 14803708 T ES14803708 T ES 14803708T ES 14803708 T ES14803708 T ES 14803708T ES 2978890 T3 ES2978890 T3 ES 2978890T3
- Authority
- ES
- Spain
- Prior art keywords
- acoustic
- words
- utterance
- recognition means
- speech recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/32—Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
Varias realizaciones contemplan sistemas y métodos para realizar reconocimiento automático de voz (ASR) y comprensión del lenguaje natural (NLU) que permiten el reconocimiento y la comprensión de alta precisión de enunciados hablados libremente que pueden contener nombres propios y entidades similares. Las entidades de nombre propio pueden contener o estar compuestas totalmente de palabras que no están presentes en los vocabularios de estos sistemas tal como están constituidos normalmente. El reconocimiento de las otras palabras en los enunciados en cuestión (por ejemplo, palabras que no forman parte de las entidades de nombre propio) puede ocurrir con una precisión de reconocimiento alta y regular. Varias realizaciones proporcionan como salida no solo un texto continuo transcrito con precisión del enunciado completo, sino también una representación simbólica del significado de la entrada, incluidas representaciones simbólicas apropiadas de entidades de nombre propio, adecuadas para permitir que un sistema informático responda adecuadamente a la solicitud hablada sin un análisis adicional de la entrada del usuario. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Sistemas y procedimientos de reconocimiento y comprensión de entidades de nombres propios adaptativas REFERENCIA CRUZADA A SOLICITUDES RELACIONADAS
[0001] Esta solicitud tiene derecho al beneficio y reivindica la prioridad de la solicitud de patente no provisional de e E. UU. n° 14/292.800, titulada "Systems And Methods For Adaptive Proper Name Entity Recognition And Understanding" (expediente de apoderado n.° 110707-8068.US02) depositada el 30 de mayo de 2014, la solicitud de patente no provisional de EE. u U. n° 14/290.890, titulada "Systems And Methods For Adaptive Proper Name Entity Recognition And Understanding" (expediente de apoderado n.° 110707-8068.US01) depositada el 29 de mayo de 2014, y la solicitud de patente provisional de EE. u U. n° 61/828,919, titulada "Adaptive Proper Name Recognition and Understanding" (expediente de apoderado n° 110707-8068.US00) depositada el 30 de mayo de 2013.
CAMPO
[0002] Varias de las realizaciones descritas están relacionadas con sistemas y procedimientos para el reconocimiento y comprensión automáticos del habla humana natural fluida, especialmente el habla que puede incluir entidades de nombres propios, como se expone en esta invención.
ANTECEDENTES Y PROBLEMA RESUELTO
[0003] La tecnología de reconocimiento automático del habla (Automatic Speech Recognition, ASR) y la tecnología de comprensión del lenguaje natural (Natural Language Understanding, NLU) han experimentado un avance significativo en la última década, marcando la era de la interfaz del lenguaje hablado. Por ejemplo, el sistema "Siri®", que permite a los usuarios expresar con la voz multitud de preguntas e instrucciones al teléfono móvil "iPhone®" y el servicio similar de Google "Google Voice™" han conseguido la aceptación del mercado masivo. El teléfono móvil "iPhone®" y el servicio similar de Google "Google VoiceTM", han conseguido la aceptación del mercado masivo.
[0004] Si bien dichos productos han tenido un éxito notable a la hora de reconocer peticiones genéricas como "establece un recordatorio para el cumpleaños de papá el 1 de diciembre" o "qué tengo en mi calendario para hoy”, pueden provocar frustración ante enunciaciones que contienen nombres propios, especialmente los que son poco comunes. Instrucciones como "fija mi destino a Barbagelata Real Estate”, "dime cómo ir a Guddu de Karahi”, o "dame los detalles de Narayanaswamy Harish, DVM", todas las cuales son peticiones razonables, dentro de los contextos apropiados, a menudo producen resultados que son incorrectos cuando no francamente cómicos.
La solicitud de patente de Estados Unidos n° 2011/0173000 de Yamamoto y col. describe un procedimiento de estimación de categorías de palabras y un procedimiento de reconocimiento del habla. Según este documento, es posible obtener información que indique una pluralidad de secuencias de palabras, o una N-secuencia de mejores palabras (secuencia de N mejores palabras). Se sugiere el uso de grafos de palabras. Un grafo de palabra detalla las posiciones de palabras hipotéticas en relación entre ellas, y palabras o secuencias de palabras alternativas, como objetos léxicos.
El documento D9 (Steve Young y col.: "The HTK Book", 1 de diciembre de 1995, XP055430396, URL: http://www.dsic.upv.es/docs/posgrado/20/RES/materialesDocentes/alejandroViewgraphs/htkbook.pdf) describe soluciones en relación con HTK. HTK es un conjunto de herramientas para construir modelos ocultos de Markov (Hidden Markov Models, HMM).
[0005] En consecuencia, existe la necesidad de sistemas que proporcionen un reconocimiento más preciso de nombres propios.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0006] Las técnicas introducidas en este caso pueden entenderse mejor con referencia a la siguiente descripción detallada en conjunción con los dibujos adjuntos.
La FIG. 1 es una captura de pantalla de una interfaz gráfica de usuario de ejemplo en una aplicación de asistente personal que implementa diversas características de algunas realizaciones.
La FIG. 2 es una representación gráfica de una gramática generada usando una solicitud en el ejemplo de la FIG.
1 en algunas realizaciones.
La FIG. 3 es un diagrama de tratamiento de ejemplo que representa las operaciones de tratamiento de una realización tal como se aplica a una oración de palabras de ejemplo.
La FIG. 4 es una captura de pantalla de una interfaz gráfica de usuario de ejemplo que representa los resultados después del tratamiento en un sistema de ejemplo tal como puede ocurrir en algunas realizaciones.
La FIG. 5 es un desglose de ejemplo de una forma de onda de enunciación tal como puede ocurrir en algunas realizaciones.
La FIG. 6 es un desglose de ejemplo de una forma de onda de enunciación tal como puede ocurrir en algunas realizaciones.
La FIG. 7 es un desglose de ejemplo de una forma de onda de enunciación tal como puede ocurrir en algunas realizaciones.
La FIG. 8 es un diagrama de bloques que representa varios componentes en un sistema de tratamiento del habla de ejemplo que tiene módulos de resolución de nombres propios de servidor y cliente tal como puede ocurrir en algunas realizaciones.
La FIG. 9 es un diagrama de flujo que representa el procedimiento de reconocimiento de nombres propios a un alto nivel para varias realizaciones usando componentes de reconocimiento automático del habla (ASR) y comprensión del lenguaje natural (NLU).
La FIG. 10 es un diagrama de flujo que representa varias etapas en un procedimiento de reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones.
La FIG. 11 es un corpus de hipótesis de ejemplo tal como puede generarse en algunas realizaciones.
La FIG. 12 es un ejemplo de un primer desglose de hipótesis basado en el ejemplo de la FIG. 11 tal como puede ocurrir en algunas realizaciones.
La FIG. 13 es un ejemplo de un segundo desglose de hipótesis basado en el ejemplo de la FIG. 11 tal como puede ocurrir en algunas realizaciones.
La FIG. 14 es un diagrama de flujo que representa varias etapas en un procedimiento en el lado del servidor para reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones.
La FIG. 15 es un diagrama de flujo que representa varias etapas en un procedimiento en el lado del cliente para reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones.
La FIG. 16 y la FIG. 17 son tratamientos de ejemplo adicionales sin y con fusión de puntuaciones respectivamente tal como puede ocurrir en algunas realizaciones.
La FIG. 18 es un diagrama de bloques de un sistema informático tal como puede usarse para implementar características de algunas de las realizaciones.
GLOSARIO
[0007] El siguiente glosario se proporciona para mayor comodidad del lector, reuniendo en un lugar los acrónimos, abreviaturas, símbolos y terminología especializada usados a lo largo de la presente memoria descriptiva.
[0008] Un "prefijo acústico" tal como se refiere en esta invención es una o más palabras, según se decodifica en la etapa de reconocimiento primario, que preceden a un intervalo diana. También puede denominarse "contexto acústico izquierdo”.
[0009] Un "intervalo acústico" es una parte de una forma de onda de audio.
[0010] Un "sufijo acústico" es una o más palabras, según se decodifica en la etapa de reconocimiento primario, que siguen a un intervalo diana. También puede denominarse "contexto acústico derecho”.
[0011] Un "objeto de adaptación" es información almacenada en ordenador que permite la adaptación (en algunas realizaciones, adaptación muy rápida) de un medio de reconocimiento secundario a una colección especificada de palabras y secuencias de palabras reconocibles. En sistemas de ASR basados en la gramática, se trata de una gramática, que puede estar en forma compilada o finalizada.
[0012] Un "módulo de generación de objetos de adaptación" crea objetos de adaptación. Puede aceptar como entrada una palabra o una secuencia de palabras, algunas de las cuales pueden ser totalmente nuevas, y especificaciones de formas permitidas de ensamblar las palabras o secuencias de palabras dadas.
[0013] Un "generador de objetos de adaptación" es lo mismo que un "módulo de generación de objetos de adaptación”.
[0014] Una "etapa de generación de objetos de adaptación" es una etapa en el funcionamiento de algunas realizaciones, que puede comprender el uso de un módulo de generación de objetos de adaptación, que opera según entradas apropiadas, para crear un objeto de adaptación. Este procedimiento puede dividirse en dos fases, que son respectivamente la preparación del objeto y la finalización del objeto. Si el medio de reconocimiento secundario usa tecnología de ASR basado en la gramática, la "preparación del objeto" puede comprender la compilación de gramática y la "finalización del objeto" puede comprender el llenado de ranuras de tipo gramático.
[0015] Una "palabra agregada" es una "palabra” teórica, con muchas pronunciaciones, que representa una colección completa de nombres propios. Puede utilizarse como sinónimo de "marcador de posición" o "palabra de marcador de posición”.
[0016] "ARPAbet" se refiere a un alfabeto fonético para la lengua inglesa. Véase http://en.wikipedia.org/wiki/Arpabet
[0017] "ASR" se refiere al reconocimiento automático del habla: la conversión automática de lenguaje hablado en texto.
[0018] Una "puntuación de confianza de ASR" se refiere a una puntuación numérica que refleja la fuerza de la evidencia para una transcripción determinada de una señal de audio dada.
[0019] Un "forma básica" se refiere a un triple sentido que asocia: (1) una palabra como un objeto léxico (es decir, una secuencia de letras tal como se pronuncia normalmente una palabra); (2) un índice que puede usarse para distinguir muchas formas básicas para la misma palabra entre sí; y (3) una pronunciación para la palabra, que comprende una secuencia de fonemas. Una palabra dada puede tener varias formas básicas asociadas, que se distinguen por su pronunciación. Por ejemplo, en este caso están las formas básicas para la palabra inglesa "tomato", que según se recoge en una canción popular tiene dos pronunciaciones aceptadas. El número contenido entre paréntesis es el índice mencionado anteriormente:
tomato(01) T AX M EY T OW
tomato(02) T AX M AA T OW
(Estas pronunciaciones se reproducen en el alfabeto fonético "ARPAbet").
[0020] Un "intervalo de decodificación" o "intervalo acústico de decodificación" es lo mismo que un "intervalo completo" o un "intervalo acústico completo".
[0021] Un "vector de características" es un vector multidimensional, con elementos que son normalmente números reales, que comprenden una representación procesada del audio en una trama de habla. Un nuevo vector de características puede calcularse para cada avance de 10 ms dentro de la enunciación de origen. Véase "trama”.
[0022] Una "trama" es el menor elemento individual de una forma de onda que coincide con un modelo acústico del sistema ASR, y normalmente puede comprender aproximadamente 200 ms de habla. Para el fin de calcular los vectores de características, pueden superponerse tramas de habla sucesivas, de manera que cada nueva trama avanza, por ejemplo, 10 ms dentro de la enunciación de origen.
[0023] Un "intervalo completo" o "intervalo acústico completo" es el segmento de audio completo decodificado por una etapa de reconocimiento secundario, que incluye el audio de palabras de prefijo acústico y de palabras de sufijo acústico, más el posible intervalo diana.
[0024] Una "gramática" es una representación simbólica de todas las secuencias de palabras permitidas que puede reconocer un caso particular de un sistema de ASR basado en la gramática. Véase "VXML" en este glosario para una exposición de una forma de representar dicha gramática. La gramática usada por un sistema de ASR basado en la gramática puede ser fácil de cambiar.
[0025] "ASR basado en la gramática" es una tecnología para el reconocimiento automático del habla en la que solo las secuencias de palabras permitidas por la gramática especificada adecuadamente pueden ser reconocidas a partir de una entrada de audio dada. Compárese con "ASR de dictado abierto”.
[0026] La variable "h" se refiere a una "historia" o "contexto de modelo de lenguaje”, que comprende normalmente dos o más palabras anteriores. Funciona como la información de acondicionamiento en una probabilidad de modelo de lenguaje tal comop(w|h).
[0027] "NLU" se refiere a la comprensión del lenguaje natural: la extracción automática, a partir de un texto legible por personas, de una representación simbólica del significado del texto, suficiente para que un dispositivo completamente mecánico de diseño apropiado ejecute la acción requerida sin guía humana adicional.
[0028] Una "puntuación de confianza de NLU" es una puntuación numérica que refleja la fuerza de la evidencia para una hipótesis de significado de NLU en particular.
[0029] "ASR de dictado abierto" es una tecnología para el reconocimiento automático del habla en la que en principio una secuencia de palabras arbitraria, tomada de un vocabulario fijo pero por lo demás no limitado a ningún orden o estructura gramatical en particular, puede ser reconocida a partir de una entada de audio dada. Compárese con "ASR basado en la gramática”.
[0030] Un "marcador de posición" o "palabra de marcador de posición" es lo mismo que un "agregado" o una "palabra agregada”.
[0031] Un "alfabeto fonético" es una lista de todas las unidades de sonido individuales ("fonemas") que se encuentran dentro de un lenguaje dado, con una notación asociada para escribir secuencias de estos fonemas con el fin de definir una pronunciación para una palabra dada.
[0032] Una "etapa de reconocimiento primario" es una etapa en el funcionamiento de algunas realizaciones, que comprende el suministro de una instrucción o solicitud hablada de un usuario como entrada para el medio de reconocimiento primario, que produce como salida una o más transcripciones de esta entrada, etiquetadas con el tiempo de inicio y el tiempo de fin, dentro de esta entrada, de cada palabra transcrita.
[0033] Un "medio de reconocimiento primario" es un sistema de reconocimiento automático del habla (ASR) de dictado abierto convencional, en principio capaz de transcribir una enunciación formada por una secuencia de palabras arbitraria en el vocabulario grande pero nominalmente fijo del sistema.
[0034] Un "nombre propio" o "entidad de nombres propios" es una secuencia de una o más palabras que hacen referencia a una persona, un lugar, una empresa u otra entidad específicos. Por las convenciones de la ortografía en lengua inglesa, normalmente la forma escrita de una entidad de nombres propios incluirá una o más palabras en mayúsculas, como por ejemplo "Barack Obama”, "Joseph Biden”, "1600 Pennsylvania Avenue”, "John Doe's Diner”, "The Grand Ole Opry”, "Lincoln Center”, "Cafe des Artistes”, "AT&T Park”, "Ethan's school”, "All Along the Watchtower”, "My Favorite Things”, "Jimi Hendrix”, "The Sound of Music" y así sucesivamente. Sin embargo, este no es un requisito, y dentro del contexto de la presente memoria descriptiva frases puramente descriptivas como "guardería" o "casa de la abuela" pueden considerarse también entidades de nombres propios.
[0035] Una "etapa de reconocimiento secundario" es una etapa en el funcionamiento de algunas realizaciones, que comprende el suministro de una parte seleccionada de la instrucción o solicitud hablada del usuario como entrada para el medio de reconocimiento secundario, que produce como resultado una o más transcripciones de esta entrada, con cada transcripción etiquetada posiblemente con (1) una puntuación de confianza y (2) una o más variables de significados asociadas y sus valores.
[0036] Un "medio de reconocimiento secundario" es un sistema de reconocimiento automático del habla (ASR), caracterizado por su capacidad para realizar una adaptación muy rápida a nuevas palabras de vocabulario, nuevas secuencias de palabras, o ambas, que incluye nombres propios y palabras completamente nuevos. Un medio de reconocimiento secundario genera una puntuación de confianza de ASR para su salida, y puede manejarse en "nmejor modo" para generar hasta un número n dado de distintas salidas, cada una de las cuales lleva una puntuación de confianza de ASR asociada.
[0037] El término "semántica" se refiere a (1) del o perteneciente al significado, según se extrae por el sistema NLU, (2) el conjunto de posibles significados que pueden ser extraídos por el sistema NLU, tomados en conjunto.
[0038] Un "intervalo" es una sección contigua de la enunciación introducida, identificada por su tiempo de inicio y su tiempo de fin dentro del conjunto de la enunciación introducida (denominada en lo sucesivo "extensión del intervalo"), que se supone que comprende una entidad de nombres propios, y se etiqueta con el posible tipo de esta entidad (denominada en lo sucesivo "tipo de intervalo"). El término también puede incluir palabras de prefijo y sufijo acústicos, no parte nominalmente de la entidad de nombres propios de por sí. Véase también "prefijo acústico" "sufijo acústico", "intervalo diana" e "intervalo completo”.
[0039] Una "extensión del intervalo" es el tiempo de inicio y el tiempo de fin de un intervalo, dentro de una enunciación de entrada.
[0040] Un "tipo de intervalo" es el tipo posible de la entidad de nombres propios que se cree que está presente dentro del intervalo; así un nombre personal, un nombre de empresa, una dirección de calle con número, etc.
[0041] Un "intervalo diana" es la parte del intervalo acústico, decodificada por una etapa de reconocimiento secundario, que nominalmente contiene las palabras de la entidad de nombres propios. Así, el término se refiere al intervalo acústico, excluyendo las palabras de prefijo acústico y las palabras de sufijo acústico.
[0042] Una "etapa de comprensión" es una etapa en el funcionamiento de algunas realizaciones, que comprende el suministro como entrada de los tiempos de texto y de palabra de la enunciación del usuario tal como es generado por el medio de reconocimiento primario, y que produce como resultado uno o más significados simbólicos hipotéticos de la entrada de usuario, de manera que cada uno de dichos significados incluye posiblemente la identificación de uno o más intervalos acústicos, que comprende una extensión del intervalo y el tipo de intervalo, en en la que cada uno de dichos intervalos será tratado por separado mediante una etapa de reconocimiento secundario. Cada significado simbólico hipotético incluye una puntuación de confianza de NLU asociada.
[0043] Una "enunciación" se presenta mediante audio como la entrada para un sistema ASR, que será transcrita (convertida en texto) por ese sistema.
[0044] Un "vocabulario" es, informalmente, una lista de las palabras con pronunciaciones asociadas, que forma parte de la entrada a un sistema ASR, y que define las palabras que en principio podrían ser reconocidas por dicho sistema. Formalmente, el término puede referirse a una lista de formas básicas.
[0045] "VXML" es una norma popular para especificar la gramática, para sistemas de ASR basados en la gramática.
[0046] La variable "w" se refiere a una palabra genérica, que incluye una palabra agregada. La salida de texto que marca un periodo de silencio, en una transcripción generada por un sistema ASR, se considera también una palabra.
DESCRIPCIÓN DETALLADA
Visión general de las realizaciones
[0047] A continuación se describirán con mayor detalle varios ejemplos de las técnicas descritas. La siguiente descripción proporciona detalles específicos para una comprensión minuciosa y que permiten la descripción de estos ejemplos. Un experto en la materia pertinente entenderá, sin embargo, que las técnicas expuestas en esta invención pueden realizarse sin muchos de estos detalles. De forma similar, un experto en la materia pertinente también comprenderá que las técnicas pueden incluir muchas otras características evidentes no descritas en detalle en esta invención. Además, algunas estructuras o funciones bien conocidas pueden no mostrarse o describirse en detalle a continuación, para evitar dificultar innecesariamente la descripción de interés.
[0048] La terminología usada más adelante debe interpretarse en su manera razonable más extensa, aun cuando se use en conjunción con una descripción detallada de ciertos ejemplos específicos de las realizaciones. De hecho, algunos términos pueden incluso ser resaltados más adelante; sin embargo, cualquier terminología destinada a ser interpretada en cualquier forma restringida se definirá de forma explícita y específica como tal en esta sección. Es preciso reconocer que una misma cosa puede explicarse de muchas maneras diferentes y que diferentes partes de la memoria descriptiva pueden elaborarse a partir del mismo concepto o de conceptos similares.
[0049] Varias de las realizaciones descritas alcanzan una alta exactitud de reconocimiento y comprensión de las enunciaciones habladas libremente que contienen nombres propios tales como, por ejemplo, nombres de personas, calles, ciudades, empresas, puntos de referencia, canciones, vídeos u otras entidades que se sabe que son pertinentes para un usuario determinado de dicho sistema. Varias realizaciones aumentan el sistema de reconocimiento con procedimientos que reconocen y comprenden completamente nuevos nombres propios, nunca antes incorporados en el sistema en cuestión. Varias realizaciones pueden conseguir este beneficio con una latencia extraordinariamente baja, por ejemplo, en el orden de unos centenares de milisegundos.
[0050] Algunas realizaciones pueden usarse para reconocer entidades, como las direcciones de calles con número, o las intersecciones de calles, que incluyen en su seno nombres de calles y posiblemente también nombres de ciudades y estados. Un ejemplo de lo último sería "333 Ravenswood Avenue" o la más precisa "333 Ravenswood Avenue, Menlo Park, California”. Secuencias de palabras que son puramente descriptivas y genéricas, como "casa de la abuela”, "la oficina”, "guardería”, "el recreo" y así sucesivamente, que el usuario ha identificado en el sistema como significativas personalmente, también pueden abordarse en algunas realizaciones. A lo largo de este documento, se entenderá que los términos "nombres propios" y "entidades de nombres propios" hacen referencia a los nombres propios y las secuencias de palabras expuestos en este párrafo y en el anterior.
[0051] Algunas realizaciones también extraen un significado simbólico, de manera apropiada, asociado con la identidad o los detalles relevantes de la entidad reconocida (como el índice de una determinada entrada en una lista de empresas o nombres de contacto personales, la parte del número de la dirección de una calle, la dirección actual del usuario o la etiqueta simbólica interna de un nombre de calle dentro de un sistema automático de mapas o de navegación), de manera que el sistema en su conjunto puede responder de forma apropiada a la solicitud hablada del usuario.
[0052] Una ventaja adicional de algunas realizaciones es la mayor exactitud en el reconocimiento de entidades de nombres propios que puede conseguirse con procedimientos convencionales, tales como la adaptación directa de un sistema ASR de dictado abierto. Esta ventaja puede obtenerse porque algunas realizaciones ponen fuentes adicionales de información a disposición del procedimiento de decodificación del habla y asignación de significado. Esta información puede obtenerse principalmente pero no exclusivamente de una etapa intermedia de tratamiento de NLU, a partir del estado del sistema en su conjunto, tales como entradas de usuario y resultados de búsqueda previos recientes, o información sobre o asociada con el usuario, tal como los contenidos de un calendario personal o profesional.
[0053] Una ventaja adicional de algunas realizaciones es que el componente de ASR de dictado abierto del sistema, preparado por algunos de los procedimientos descritos en este caso, puede no requerir mayor adaptación o modificación para permitir el reconocimiento de nombres y entidades que inicialmente no están presentes en este vocabulario. Así, este componente de ASR de dictado abierto puede ser compartido por una multitud de usuarios, con las adaptaciones necesarias para permitir el reconocimiento de nombres propios confinado a otros componentes del sistema. Esto puede proporcionar varias ventajas importantes.
[0054] En primer lugar, la adaptación de los sistemas de ASR de dictado abierto es generalmente un procedimiento que consume tiempo, ejecutado en el curso de varias horas, cuando no días o semanas. Tales requisitos de cómputo pueden hacer inviable modificar rápidamente un sistema de ASR de dictado abierto para permitir el reconocimiento, por ejemplo, de nombres personales que un usuario acaba de introducir en una lista de contactos, nombres de empresas en un evento o un registro de citas que un usuario acaba de introducir en un calendario electrónico, o nombres de calles de una región por la que un usuario está navegando actualmente o por la que tiene intención de navegar. En cambio, varias realizaciones permiten que el sistema en su conjunto se adapte instantáneamente de forma eficaz a dichos nombres.
[0055] En segundo lugar, dicha adaptación de sistemas de ASR de dictado abierto implica normalmente la preparación de un nuevo vocabulario, modelo de lenguaje y modelo acústico, o algún subconjunto de los mismos, cada uno de los cuales es un archivo informático electrónico. Tales archivos pueden ser grandes incluso para los estándares actuales de la tecnología electrónica de almacenamiento. Por ejemplo un modelo de lenguaje típico puede ocupar unos 4 GB de almacenamiento. El coste de cómputo y, con ello, económico de preparar estos archivos adaptados especialmente, y el coste económico asociado para almacenarlos y cargarlos a demanda, para cada usuario individual del sistema, puede ser prohibitivamente alto. En cambio, algunas realizaciones no requieren adaptación del sistema de ASR de dictado abierto, no obstante lo cual producen una exactitud igual o superior al rendimiento de un sistema de ASR de dictado abierto que ha sido adaptado de la forma convencional.
[0056] En tercer lugar, en algunas realizaciones un sistema de ASR de dictado abierto “primario” reside en un servidor central, mientras que un sistema de ASR basado en la gramática “secundario” reside en un teléfono inteligente, el cuadro de instrumentos de un automóvil, una televisión, un ordenador portátil u otro dispositivo de cómputo electrónico que es de propiedad personal del usuario. En esta invención, este último dispositivo se refiere como "dispositivo cliente" o "cliente". En algunas realizaciones, las adaptaciones del sistema para permitir el reconocimiento y la comprensión de las entidades de nombres propios asociadas con ese usuario en particular pueden confinarse al sistema de ASR secundario y pueden ejecutarse exclusivamente dentro del dispositivo cliente.
[0057] Esto significa que al realizar esta adaptación, la privacidad del usuario no se ve amenazada por la transmisión, almacenamiento y tratamiento de los contenidos de la libreta de direcciones personal del usuario a un servidor central. Dado que cada mes se conocen noticias de violaciones de sistema informáticos comerciales y gubernamentales de “alta seguridad”, es altamente conveniente disponer de una arquitectura que asegure que la información personal del usuario nunca se envía a otros dispositivos.
Visión general del sistema
[0058] Varias realizaciones aceptan como entrada una señal de audio que comprende habla humana natural fluida, que notablemente puede contener uno o varios nombres propios, o secuencias no canónicas de palabras por lo demás corrientes. Las realizaciones pueden producir como salida una transcripción textual exacta de esta señal de audio, y opcionalmente una reproducción simbólica de su significado.
[0059] El sistema comprende cuatro grandes componentes funcionales, respectivamente unmedio de reconocimiento del habla primario(o más sencillamente unmedio de reconocimiento primario),unmódulo de comprensión del lenguaje natural(también denominadomódulo NLU, módulo de comprensión de lenguajeo simplementemódulo de comprensión),ungenerador de objetos de adaptacióny unmedio de reconocimiento del habla secundario(omedio de reconocimiento secundario).El sistema incluye un quinto gran componente funcional, elmódulo de fusión de puntuaciones y selección de hipótesis,que se expondrá en secciones posteriores. El sistema en su conjunto puede incluir mecanismos que hagan que estos componentes funcionen y se comuniquen tal como se describe en esta invención, y almacenen la señal de audio de entrada de tal forma que pueda ser reprocesada, en su totalidad o en parte, durante el funcionamiento de algunas realizaciones.
[0060] Elmedio de reconocimiento primariopuede incluir un sistema de reconocimiento automático del habla (ASR) de dictado abierto convencional. Dicho sistema acepta como entrada una señal de audio que comprende habla humana. Produce como salida una transcripción textual de esta entrada, etiquetada con el tiempo de inicio y el tiempo de fin, dentro de la señal de audio de entrada, de cada palabra transcrita. También puede llevar adjunta una puntuación de confianza de ASR para cada palabra transcrita y opcionalmente para la transcripción de salida en su conjunto. El medio de reconocimiento primario puede ser un sistema ASR de "dictado abierto" en el que puede transcribir una enunciación que comprende una secuencia de palabras arbitraria que pertenecen a ese vocabulario. Esto contrasta con un sistema de ASR basado en la gramática que puede reconocer solo ciertas secuencias de palabras predeterminadas. En aquellas realizaciones en que el medio de reconocimiento es "convencional", esta denominación se usa en el sentido de que el medio de reconocimiento no hace uso de las realizaciones descritas en esta invención. Como consecuencia, puede suponerse que el medio de reconocimiento primario tiene un vocabulario grande pero fijo.
[0061] Este vocabulario puede ser difícil o imposible de aumentar con nombres propios u otras nuevas palabras que no figuran actualmente en el vocabulario. Intentar hacerlo puede requerir muchos minutos, horas o posiblemente incluso días de esfuerzo de cómputo. Estos nombres propios u otras nuevas palabras desconocidos, "desconocidos" en el sentido de que no han sido enumerados en el vocabulario fijo, son por tanto no reconocibles por este medio de reconocimiento primario. Por otra parte, si se presentan con una señal de audio que comprende palabras que pertenecen al vocabulario, pero que se pronuncian en una secuencia inhabitual y posiblemente sin significado en el sentido nominal, tales como "The The" (el nombre de un grupo musical inglés fundado en 1979), el medio de reconocimiento primario puede tener dificultades para generar una transcripción correcta. De nuevo, a menudo es difícil que el medio de reconocimiento primario transcriba con exactitud estas secuencias no canónicas de palabras sin un esfuerzo de cómputo importante.
[0062] Elmódulo de comprensión del lenguaje naturalacepta como entrada la transcripción y los tiempos de palabra generados por el medio de reconocimiento primario y emite como salida una o máshipótesisdel significado de la enunciación (también denominadashipótesis NLU, hipótesis de significadoo simplementesignificado).Este significado se representa de una forma simbólica adecuada para su tratamiento o ejecución por un ordenador. Cada hipótesis de significado incluye una puntuación numérica de confianza de NLU, que refleja la fuerza de la evidencia para ese significado en concreto.
[0063] Este módulo puede identificar una palabra o secuencia de palabras en particular en la transcripción de entrada que comprende potencialmente una entidad de nombres propios y etiquetar esta palabra o secuencia de palabras con un tipo posible (por ejemplo, un nombre de una persona, una intersección de una calle, una dirección de calle con número, y así sucesivamente). Cada una de estas palabras o secuencias de palabras se denominaintervalo acústico de entidades de nombres propios,ointervalo acústico de una entidad de nombres propios,o simplementeintervalo acústico.La base para marcar esta palabra o secuencia de palabras como un intervalo acústico puede ser bastante indirecta, y puede no reflejar el significado nominal de las palabras que comprende.
[0064] Una hipótesis dada puede incluir uno o más de dichos intervalos acústicos, cada uno de los cuales constituye un elemento de información que debe ser resuelto para especificar plenamente el significado de la frase. La transcripción y el significado del intervalo pueden determinarse por el contexto en el que se aplicó la realización. En algunas realizaciones, una hipótesis dada puede no incluir ningún intervalo acústico en absoluto. En este caso es posible que no se apliquen las realizaciones de reconocimiento de nombres propios expuestas en esta invención.
[0065] Elmódulo de generación de objetos de adaptaciónogenerador de objetos de adaptacióncrea objetos computacionales que se usan para adaptar el medio de reconocimiento secundario de la manera descrita en el párrafo siguiente. Como se detalla en esta invención, este procedimiento puede dividirse en dos fases, respectivamente preparación del objeto y finalización del objeto.
[0066] Finalmente, elmedio de reconocimiento secundariotambién comprende un sistema ASR, en la medida en que acepte una señal de audio como entrada y genere una transcripción, y otra información, como salida. También puede llevar adjunta una puntuación de confianza de ASR a cada palabra transcrita y opcionalmente a la transcripción de salida en su conjunto; también puede operarse en "n-mejor modo”, para generar hasta un número n dado de distintas salidas, cada una de las cuales lleva una puntuación de confianza de ASR asociada. Sin embargo, su característica puede ser marcadamente diferente de las del medio de reconocimiento primario. Específicamente, el medio de reconocimiento secundario puede ser capaz de una adaptación muy rápida a las nuevas palabras de vocabulario, las nuevas secuencias de palabras, o ambas, lo que incluye nombres propios y palabras completamente nuevos. En este caso "muy rápido" puede ser "realizado normalmente en unos centenares milisegundos o menos”. Esta adaptación se consigue normalmente cargando el medio de reconocimiento secundario con un objeto de adaptación generado por el módulo de adaptación. El medio de reconocimiento secundario puede ser también diferente del medio de reconocimiento primario ya que está limitado a transcribir solo una colección de frases relativamente pequeña, numeradas, por ejemplo, en las decenas, los centenares o los miles, y no, por ejemplo, los miles de millones de frases soportadas por el medio de reconocimiento primario.
[0067] Los medios de reconocimiento primario y secundario pueden distinguirse además basándose en su uso. El medio de reconocimiento secundario, en lugar de tratar la señal de audio que comprende la totalidad de la entrada hablada del usuario, puede funcionar solo con uno o dos segmentos breves de la señal, extraídos, por ejemplo, de una copia guardada de la señal. Estos segmentos se refieren en esta invención comointervalos acústicos(o simplementeintervalos).
Intervalos acústicos
[0068] El medio de reconocimiento primario descrito anteriormente puede asemejarse a un sistema de ASR de dictado abierto de gran vocabulario, que se basa en la ecuación de codificación de error mínimo bayesianaW* = argmaxWP(AIW) • P(W),en la queAes la señal de audio que será decodificada (transcrita),Wes una hipótesis (suposición) sobre la decodificación (transcripción) correcta,W*es la decodificación (transcripción) final y P(A|W) yP(W)son los valores numéricos del modelo acústico y el modelo de lenguaje, respectivamente, para las entradas indicadas. Dicho sistema puede obtener su generalidad del uso de un modelo de lenguaje estadístico para calcular la cantidadP(W).Pero esta misma generalidad puede implicar la incapacidad de modificar o adaptar que es una de las características del medio de reconocimiento primario. De forma similar, las características y el rendimiento del generador de objetos de adaptación pueden ser los de un compilador de gramática; de manera similar las características y el rendimiento del medio de reconocimiento secundario pueden ser los de un sistema de ASR basado en la gramática.
[0069] Debe observarse que se trata solo de ejemplos de la tecnología de ASR encontrados en algunas realizaciones y no debe entenderse que las realizaciones se limitan a estos casos. Lo importante son las capacidades de los medios de reconocimiento primario y secundario, no los medios específicos por los que se consiguen sus funciones. Sin embargo, en algunas realizaciones el medio de reconocimiento primario es un sistema de ASR de dictado abierto de gran vocabulario que usa modelos de lenguaje estadísticos tal como se describe anteriormente y el medio de reconocimiento secundario es un sistema de ASR basado en la gramática. Muchos de los ejemplos presentados en esta invención se apoyarán en esta base.
Visión general de un tratamiento estándar de ejemplo
[0070] A continuación se ofrece una aplicación de ejemplo de algunas realizaciones. Este ejemplo considera el tratamiento de dos instrucciones, la primera de las cuales no emplea varias de las realizaciones descritas, mientras que la segunda sí lo hace. Esta exposición se reconocerá meramente como un ejemplo, para que el lector pueda comparar y contrastar las dos secuencias de operaciones. Considérese un sistema con una interfaz del lenguaje hablado, que discurre en un ordenador portátil de tipo tableta conectado a Internet, que permite a un usuario buscar empresas por categoría o servicio, y si lo desea, solicitar información adicional pertinente sobre las empresas individuales que se han recuperado.
[0071] Supóngase por ejemplo que el usuario está situado en el vecindario de Golden Gate Heights de San Francisco y emite la instrucción hablada "find some nearby Indian restaurants" ("busca algunos restaurantes indios cercanos”). La siguiente descripción explica cómo esta instrucción inicial, que no contiene entidades de nombres propios, es transcrita y analizada por su significado. Es decir, dado que esta instrucción no incluye nombres propios ni entidades de nombres propios, no necesita emplear varias de las realizaciones descritas. En consecuencia, las siguientes operaciones pueden ser realizadas por los módulos de medio de reconocimiento primario y de comprensión del lenguaje natural respectivamente, sin usar las realizaciones descritas.
[0072] En primer lugar se suministra la entrada de audio al medio de reconocimiento primario, que emite una transcripción que comprende una secuencia de palabras en el vocabulario del medio de reconocimiento primario. Se supone que todas las palabras de la instrucción de muestra anterior están en este vocabulario. A continuación se suministra esta transcripción como entrada para el módulo de comprensión del lenguaje natural. Supóngase que no se identifica ningún intervalo acústico de entidad de nombres propios y que solo se genera una hipótesis de significado único. Se produce entonces una representación simbólica del significado de la instrucción
YelpSearch [m_latitude=37.755196, m_longitude= -122.46853, m_sortBy=PROXIMITY, m_categories=[indpak], m_maxResults=5]
que el sistema convierte a continuación en una consulta en el servicio de búsqueda de empresas en línea "Yelp®". Esta consulta se pasa al servicio Yelp®, que devuelve una lista de cinco restaurantes que sirven cocina india, dispersos en torno a la latitud y la longitud indicadas, que corresponden a la ubicación actual del usuario. El sistema usa a continuación otros servicios en línea, y su lógica integrada, para crear la respuesta final dirigida al usuario. En la FIG.
1 aparece el contenido de la pantalla de la tableta, que enumera los cinco restaurantes recuperados, y muestra sus ubicaciones en un mapa.
[0073] En referencia a la FIG. 1, las empresas recuperadas son "Masala Dosa”, "Tikka Masala”, "Guddu de Karahi”, "Naan-N-Curry” y "Noori Pakistani & Indian Cuisine”. Para algunas de las palabras en estos nombres de empresas, por ejemplo "cuisine”, "curry”, "Indian" y "Pakistani”, podría coincidirse ampliamente en que pertenecen al inglés estadounidense estándar y, por tanto, es probable que se encuentren en el vocabulario de cualquier sistema de ASR razonablemente robusto. Sin embargo otras, tales como "masala" y "tikka”, son más dudosas. "Karahi”, aunque nominalmente es de hecho una palabra en inglés, dado que está presente en algunos diccionarios, es tan poco habitual que resulta improbable que se encuentre en cualquier vocabulario de un sistema ASR. Y en cuanto a "goddu”, que es un nombre que se aplica a un niño varón en el subcontinente indio, está casi garantizado que no estará presente en ningún sistema de ASR comercial en el mercado estadounidense.
[0074] Aunque el sistema tal vez no incluya ninguna de las palabras "de”, "Dosa”, "Guddu”, "Karahi”, "Masala”, "Noon" o "Tikka" en su vocabulario de ASR, el sistema que implementa las presentes realizaciones es capaz, no obstante, de reconocer y responder adecuadamente a una instrucción como "tell me how to get to Guddu de Karahi" ("dime cómo ir a Guddu de Karahi”). Esto puede conseguirse en algunas realizaciones creando un medio de reconocimiento especializado capaz de tratar los nombres de empresas indicados (y en algunas realizaciones nada más), aprovechando la información obtenida por el medio de reconocimiento primario y el módulo de lenguaje natural, y otra información que pudiera ser relevante, de manera que pueda identificarse un intervalo acústico apropiado, y a continuación desplegar este medio de reconocimiento especializado con buenos resultados.
[0075] En primer lugar, anticipando que la instrucción siguiente pueda hacer referencia por nombre a una de las empresas recogidas en la pantalla de la tableta, el sistema activa el generador de objetos de adaptación para crear un objeto adecuado para adaptar el medio de reconocimiento secundario con el fin de reconocer con precisión estos nombres. Esto puede hacerse preparando una gramática, ilustrada en forma gráfica en la FIG. 2, que contiene exactamente estos nombres, y compilándola en formato binario de manera que sea fácil de usar por el medio de reconocimiento secundario. Esta operación, que normalmente puede llevar unos centenares de milisegundos, puede realizarse inmediatamente después de recibir de Yelp® la lista de nombres que se mostrarán en la pantalla de la tableta. La compilación puede implicar (1) la obtención de una o más pronunciaciones para cada palabra indicada en la gramática (lo que puede hacerse normalmente primero buscando en un vocabulario, pero si esta búsqueda falla, puede generarse automáticamente cualquier pronunciación requerida por un módulo de tratamiento de "grafema a fonema" o "g2p", que aplica las reglas estándar de la pronunciación en inglés a la pronunciación de la palabra dada para producir una o más pronunciaciones plausibles), (2) la creación de una estructura de cómputo que permita que las palabras sean decodificadas solo en el orden permitido por la gramática, (3) el añadido a esta estructura de operaciones que se realizarán en las variables de significado indicadas cuando se obtiene una decodificación dada (que puede comprender normalmente la asignación de valores a estas variables), y (4) la emisión de esta estructura en una forma tal que pueda ser cargada inmediatamente por un sistema de ASR basado en la gramática adecuado y usada para guiar su decodificación de entrada de audio. Esta gramática compilada, denotada por "business-names.g" en la FIG. 3. puede etiquetarse con su tipo (en este caso nombres de empresas) y guardarse para un posible uso futuro. En algunas realizaciones, esto comprende la etapa de generación de objetos de adaptación.
[0076] Debe observarse que esta gramática puede crearse de forma especulativa y que esta acción puede no requerir ninguna presciencia importante por parte del sistema. En algunas realizaciones, otras gramáticas, por ejemplo que cubren los contactos personales del usuario, las empresas en el calendario personal del usuario, los artistas, los títulos de canciones y los nombres de álbumes guardados en el iPod® del usuario o en una unidad USB, o todas las direcciones de calles con número para la ciudad en la que está ubicado actualmente el usuario, pueden haberse creado de una forma igualmente especulativa. El resultado neto es que efectivamente puede estar disponible una panoplia de medios de reconocimiento secundario adaptados especialmente para su uso en la etapa de reconocimiento secundario, con el fin de tratar diversos intervalos que pueden ser identificados, de distintos tipos.
[0077] El sistema puede esperar ahora una entrada adicional. No hay garantía de que la siguiente instrucción haga referencia a una de las empresas. De hecho el usuario podría en potencia emitir una solicitud para una cocina diferente, diciendo tal vez "actually I feel more like Italian food instead" ("en realidad me apetece más comida italiana”). Dado que esta oración, al igual que la solicitud de restaurantes italianos, no cuenta con ninguna entidad de nombres propios, esta instrucción sería tratada de la forma convencional descrita anteriormente, para producir el significado simbólico YelpSearch [m_latitude=37.755196, m_longitude= -122.46853, m_sortBy=PROXIMITY, m_categories=[italian], m_maxResults=5]
que a su vez daría lugar a una consulta similar para restaurantes italianos y a la presentación en pantalla de esos resultados. De manera similar, podría emitirse una instrucción totalmente diferente, tal como "show me some nearby hardware stores" ("muéstrame algunas ferreterías cercanas”) o "where can I get my shoes repaired" ("dónde puedo arreglarme los zapatos”), que sería tratada de una forma similar.
[0078] No obstante, con fines de ilustración, supongamos que el usuario pronuncia ahora la instrucción "tell me how to get to Guddu de Karahi" ("dime cómo ir a Guddu de Karahi”). Tal como se describe anteriormente, la entrada de audio pasa primero al medio de reconocimiento primario, que genera una transcripción nominal inicial de su entrada, etiquetada con tiempos de palabra. En esta invención la anterior se refiere comoetapa de reconocimiento primario.La entrada de audio de usuario también puede conservarse para un tratamiento posterior por el medio de reconocimiento secundario.
[0079] Esta transcripción inicial puede muy bien ser incorrecta. De hecho, si el vocabulario del medio de reconocimiento primario no incluye todas las palabras pronunciadas por el usuario es muy probable que sea incorrecta. Para la instrucción de muestra actualmente en discusión, y una entrada de audio particular que comprende una vocalización de esta instrucción, el medio de reconocimiento primario produjo realmente como salida la secuencia de palabras "tell me how to get to go to do a call Rocky", ("dime cómo ir a ir a hacer una llamada Rocky”), etiquetada con tiempos de palabra tal como se muestra en la FIG. 3.
[0080] A continuación esta transcripción inicial imperfecta puede presentarse al módulo de comprensión del lenguaje natural. Este módulo trata la entrada secuencia de palabras, y determina por aplicación de procedimientos estándar de lingüística computacional a las primeras tres palabras de la transcripción -"tell me how to get to" ("dime cómo ir")- que el usuario está haciendo una solicitud de direcciones. Al observar que el resto de la transcripción -"go to do a call Rocky" ("ir a hacer una llamada Rocky")- carece nominalmente de sentido y además ocupa una posición en la frase en su conjunto que en el idioma convencional de conversación comprendería probablemente el nombre del objeto en torno al cual se va a navegar, el módulo de comprensión de lenguaje determina también que la parte de la entrada de audio correspondiente a esta parte de la transcripción probablemente contiene una reproducción hablada de los nombres de empresas mostrados. Como se expone en esta invención esta parte seleccionada de la entrada de audio se refiere comointervalo acústico de entidades de nombres propios,ointervalo acústico de una entidad de nombres propios,o simplementeintervalo acústicopara abreviar, que ahora será tratado por el medio de reconocimiento secundario. Debe observarse que en virtud de los tiempos de palabra generados por el medio de reconocimiento primario, se sabe que el intervalo acústico en cuestión empieza a 1.330 ms en la entrada de audio, lo que corresponde al inicio de la palabra "go" ("ir”), y termina a los 2.900 ms en la entrada de audio, lo que corresponde al final de la palabra "Rocky”. De esta forma se ha determinado la extensión asociada al intervalo. Esta operación al completo comprende laetapa de comprensión del lenguajede este ejemplo.
[0081] El sistema puede pasar a continuación a laetapa de reconocimiento secundario.En virtud del módulo de comprensión de lenguaje que ha determinado que un segmento particular de la entrada de audio comprende probablemente uno de los nombres de empresas mostrados, la gramática ya compilada que permite el reconocimiento de estos nombres (y en algunas realizaciones, solo estos nombres) se carga en el medio de reconocimiento secundario. El intervalo acústico del supuesto nombre de empresa -es decir, la secuencia de muestras de 1.330 ms a 2.900 ms de la entrada de señal de audio- se presenta al medio de reconocimiento secundario como su entrada. Dado que el audio que comprende las palabras extrañas "tell me how to get to" ("dime cómo ir") se ha suprimido de la entrada del medio de reconocimiento secundario, y dado que el medio de reconocimiento secundario está limitado por su gramática para reconocer solo las frases "Masala Dosa”, "Tikka Masala”, "Guddu de Karahi”, "Naan-N-Curry” y "Noori Pakistani & Indian Cuisine”, la transcripción correcta "Guddu de Karahi" del intervalo acústico es fácil de obtener. Por otra parte, asociada con el reconocimiento con éxito de "Guddu de Karahi”, la variable de significado selected_business_index se ajusta al valor 3. Así se completa la etapa de reconocimiento secundario en este ejemplo.
[0082] Con estos resultados de reconocimiento secundario a mano, la transcripción del intervalo acústico "Guddu de Karahi" puede interpolarse en la transcripción del medio de reconocimiento primario, sustituyendo la secuencia de palabras "go to do a call Rocky" ("ir a hacer una llamada Rocky") que se supuso inicialmente para este intervalo, produciendo por tanto una transcripción final "tell me how to get to Guddu de Karahi" ("dime cómo ir a Guddu de Karahi”). De forma correspondiente, el significado simbólico directionapnrCommand se rellena con un parámetro que identifica la diana de navegación, para producir el significado simbólico completo directionapnrCommand [selected_business_index=3].
[0083] Este significado simbólico puede tratarse a continuación mediante otros elementos funcionales del sistema, extrayendo información (que incluye la ubicación) pertinente para la tercera empresa de la matriz de cinco elementos de tales objetos, ejecutando las operaciones apropiadas para encontrar una ruta desde la posición actual del usuario a la ubicación indicada, reproduciendo un mapa que muestra esta ruta, etc. El mapa puede representar otra información asociada que los diseñadores del sistema consideren útil y pertinente para el contexto de aplicación. En la FIG. 4 se muestra la imagen resultante en este ejemplo.
[0084] Como demuestra este ejemplo, las realizaciones descritas proporcionan muchas ventajas sobre los sistemas convencionales. El "talón de Aquiles" de la tecnología de ASR basado en la gramática es que el usuario debe hablar dentro de la gramática o, en caso contrario, la tecnología no funcionará. En cambio, las realizaciones descritas no comprenden simplemente hacer que el usuario se mantenga dentro de una gramática, cuando pronuncia su solicitud.
[0085] Las realizaciones descritas permiten al usuario hablar con libertad, usando las palabras y la estructura de las frases que le salgan de forma natural cuando exprese la acción deseada. A continuación puede analizarse la entrada de audio asociada por el medio de reconocimiento primario y el módulo de comprensión de lenguaje para determinar si una entidad de nombres propios, sustantiva para el tratamiento correcto de la instrucción, de hecho ha sido pronunciada. Si es así, se identifica la extensión de la entidad de nombres propios dentro de la entrada de audio, y el tipo posible, y este segmento de audio específico puede ser tratado a continuación por el medio de reconocimiento secundario, adaptado para reconocer la entidad de nombres propios dentro de una lista de posibilidades relativamente pequeña. Este estrechamiento de la tarea, en dos sentidos importantes -primero al podar el audio formado libremente y ahora extraño que confundiría a un sistema de ASR basado en la gramática, y segundo al adaptar el medio de reconocimiento secundario para reducir drásticamente el espacio de posibles transcripciones- puede permitir el éxito de la etapa de reconocimiento secundario. Este análisis y posterior estrechamiento puede depender a su vez de la capacidad, proporcionada por varias realizaciones descritas, de integrar la información y las perspectivas normalmente fuera del alcance de la tecnología ASR, específicamente en este caso en que una instrucción anterior generó una lista de empresas y por tanto que no es improbable que una instrucción de seguimiento nombre una de ellas, más la observación de que la frase "tell me how to get to" ("dime cómo ir”), o una infinidad de otras frases de significado similar, se siguiera probablemente de un nombre propio u otra vocalización de una diana de navegación.
[0086] Se reconocerá que existen muchos procedimientos por los cuales el medio de reconocimiento primario y el módulo de comprensión de lenguaje determinan que está presente un intervalo acústico apropiado para el tratamiento por el medio de reconocimiento secundario (más adelante se proporcionan algunos ejemplos). Muchos de estos diferentes procedimientos pueden usarse. Puede emplearse cualquier información adecuada y procedimientos conocidos en la técnica si son eficaces para identificar intervalos, adaptar el medio de reconocimiento secundario y después funcionar en cada intervalo con un medio de reconocimiento adaptado de forma apropiada. De hecho, si se reutilizan las herramientas existentes para realizar las funciones anteriores las realizaciones pueden implementarse fácilmente en diseños existentes.
[0087] Algunas realizaciones pueden incluir incluso varios mecanismos distintos y en competencia para identificar intervalos acústicos, con todos ellos tratados por medios de reconocimiento secundario distintos y adaptados por separado, con una determinación final de una o algunas hipótesis supervivientes (supervivientes para la presentación al usuario y la interpretación última por dicho usuario) realizada por el módulo de "fusión de puntuaciones y selección de hipótesis" expuesto en esta invención.
Exposición detallada de las características
[0088] Las siguientes secciones presentan una descripción más precisa de varias realizaciones, explican formas importantes en las que pueden aplicarse con buenos resultados, describen arquitecturas particulares que se adaptan a aplicaciones específicas, detallan técnicas para superar diversos obstáculos, explican cómo manejar los errores en la identificación de la extensión o el tipo de un intervalo y describen procedimientos para elegir entre múltiples transcripciones y significados en competencia de la entrada de voz de un usuario.
[0089] Varias realizaciones dividen el procedimiento de decodificación del habla (y como veremos, también el procedimiento de extracción del significado o "comprensión") en una etapa dereconocimiento primario,una o más etapas decomprensión,una o más etapas degeneración de objetos de adaptación(que pueden comprender dos fases, una fase depreparación del objetoy una fase definalización del objeto),una o más etapas dereconocimiento secundarioy (opcionalmente) una etapa defusión de puntuaciones y selección de hipótesis.
[0090] La etapa de reconocimiento primario comprende el reconocimiento de la enunciación introducida por un sistema de ASR de dictado abierto convencional, aunque este sistema puede haber sido preparado especialmente para ayudar al módulo de comprensión de lenguaje a identificar la extensión y el tipo de uno o más intervalos acústicos. Se produce así una transcripción de la enunciación (y posiblemente también transcripciones alternativas) en el vocabulario del medio de reconocimiento de dictado abierto, más los tiempos nominales de inicio y final para cada palabra transcrita.
[0091] La etapa de reconocimiento primario, que puede ser realizada por el medio de reconocimiento primario, nominalmente más potente, más flexible y más exigente en términos computacionales (el objeto del "más" comparativo es el medio de reconocimiento secundario), puede no asumir la responsabilidad completa de generar la transcripción final de la enunciación introducida. En su lugar, la diana principal de esta etapa puede ser proporcionar una transcripción suficientemente exacta para que el módulo de comprensión de lenguaje haga su trabajo de presentar hipótesis sobre uno o más significados simbólicos para la instrucción del usuario, lo que incluye la extensión y el tipo de cualquier intervalo acústico de entidades de nombres propios que pueda figurar en la especificación completa de este significado. A partir del ejemplo de la visión general debe estar claro que las palabras en la transcripción del medio de reconocimiento primario pueden distar bastante de lo correcto. De hecho el medio de reconocimiento primario puede proporcionar varias transcripciones alternativas de la forma de onda de entrada, cada una sujeta a la etapa de tratamiento descrito a continuación; se explicará de forma abreviada un medio para elegir la transcripción preferida final y su significado asociado.
[0092] La salida de la etapa de reconocimiento primario, que comprende (1) una transcripción nominal, (2) el tiempo de inicio y fin dentro de la forma de onda de cada palabra transcrita en la granularidad de una sola trama y (3) posiblemente información, descrita adicionalmente más adelante, del uso para determinar la extensión y el tipo de cualquier intervalo acústico, puede pasarse a continuación a la etapa de comprensión.
[0093] La etapa de comprensión aplica los procedimientos de comprensión del lenguaje natural para presentar hipótesis de uno o más significados simbólicos para la transcripción nominal y para identificar de manera apropiada la extensión y el tipo de cualquier intervalo acústico de entidades de nombres propios que contribuya a este significado. Cada intervalo acústico se convierte en un elemento de la hipótesis, para su tratamiento por una etapa de reconocimiento secundario asociada para producir la transcripción y el significado del intervalo.
[0094] En este punto puede incorporarse información relevante, aunque antes no aprovechable, en el procedimiento de reconocimiento del habla y extracción del significado. Notablemente, la información que se deriva de cualquier parte de la transcripción de reconocimiento primario de la enunciación actual, de enunciaciones previamente decodificadas o incluso de fuentes de información totalmente no lingüísticas, tales como la ubicación física del usuario determinada por GPS, o las preferencias o las características conocidas del usuario, puede aprovecharse en esta fase para asignar extensiones y tipos de intervalos, y adaptar de forma apropiada el medio de reconocimiento secundario. La adaptación del medio de reconocimiento secundario, o más bien la preparación de uno o más objetos que pueden usarse para adaptar uno o más casos del medio de reconocimiento secundario, comprende laetapa de generación de objetos de adaptación.Como se observa en el ejemplo anterior, varias realizaciones pueden crear o hacer uso de forma especulativa de varios objetos de adaptación, apropiados para el tipo o tipos de intervalos que se tratarán. Esta adaptación puede comprender la preparación del medio de reconocimiento secundario para reconocer palabras completamente nuevas, restringir el medio de reconocimiento secundario de manera que no use otras palabras determinadas en su vocabulario o las use solo en órdenes determinados, o ambos.
[0095] En lo que respecta a la salida de la etapa de comprensión, la salida puede comprender una colección de hipótesis, cada una de las cuales contiene uno o más intervalos acústicos. A continuación, pasamos a la tercera etapa, que es laetapa de reconocimiento secundario.De hecho, puede haber muchas de estas etapas, ya que cada uno de dichos intervalos es ahora decodificado por un medio de reconocimiento del habla basado en la gramática, que ha sido adaptado especialmente al tipo de intervalo. Ahora bien, en algunas realizaciones, mientras la adaptación de un medio de reconocimiento de dictado abierto a un vocabulario o un contexto especializado suele ser cara en términos de cómputo, una nueva gramática puede ser generada o compilada, o una gramática con “ranuras” de marcadores de posición no rellenas puede ser completada y estar lista para el servicio en unos milisegundos o menos. La salida de esta etapa de reconocimiento secundario, realizada en solitario en el intervalo acústico objeto, usando una gramática especializada adecuadamente, puede tomarse como la transcripción nominal del intervalo. Observamos en este punto que las secuencias literales de esta misma gramática pueden etiquetarse, de formas apropiadas y convencionales, con el significado de cada vía de decodificación potencial a través de la gramática. Así el acto de transcribir el intervalo puede generar al mismo tiempo un significado simbólico apropiado, asociado a la transcripción.
[0096] Así, mientras el ASR basado en la gramática falla cuando se presenta con habla humana formada libremente, que normalmente se sitúa fuera del ámbito de incluso gramáticas elaboradas, las realizaciones descritas funcionan bien cuando se presentan con enunciaciones dentro de la gramática. Las fases de tratamiento anteriores establecen esta condición deseada. Considérese un intervalo acústico del que se sabe, o más correctamente se conjetura mediante las etapas de tratamiento anteriores, que consiste en el nombre de una de las pocas empresas extraídas de las enumeradas en un calendario de citas diarias de un usuario para un día determinado. Si esa única parte de la enunciación original se proporciona como la entrada de audio a un sistema de ASR basado en la gramática, y la gramática usada para la decodificación comprende todos y solo los nombres de empresas extraídos del calendario del usuario para ese día, entonces es altamente probable que se decodifique el nombre propio correcto.
[0097] Dichos reconocimientos secundarios pueden realizarse para cada uno de los intervalos acústicos identificados por las fases de decodificación anteriores, hasta que se obtiene una transcripción final para el conjunto de la enunciación original. Si no se propusieron hipótesis de significado alternativas en competencia en las etapas de tratamiento anteriores, entonces la decodificación está completa. Sin embargo, no siempre sucede así. Con más probabilidad pueden haberse generado varias transcripciones alternativas, cada una con una o más hipótesis de significado asociadas, teniendo cada hipótesis puntuaciones de confianza de NLU y ASR. Aún queda por seleccionar la decodificación preferida final, o como mínimo, asignar una puntuación de confianza a cada decodificación completa, y proporcionar una lista clasificada de alternativas. Dado que las diferentes hipótesis pueden comprender distintos números de intervalos acústicos, esto puede forzar la comparación de hipótesis que se basan en diferentes números de puntuaciones de confianza. Se reconocerán varios enfoques para combinar dichas puntuaciones de una forma consistente, con el fin de permitir una clasificación basada en las puntuaciones significativa y fiable. El sistema NLU en sí interviene en la generación de esta clasificación.
[0098] Esta es la función de la etapa final, defusión de puntuaciones y selección de hipótesis.En esta etapa se prepara una "gramática de clasificación de hipótesis completa" especial, en la que cada vía admisible comprende la totalidad de una transcripción completa individual. A continuación, puede decodificarse la enunciación original en su totalidad en relación con esta gramática con el medio de reconocimiento secundario que actúa en el n-mejor modo, para producir una puntuación de confianza acústica para cada hipótesis completa, expresada nominalmente comoP(Ti|A).En este casoTies el texto asociado con la i-ésima hipótesis, yAes la entrada acústica, que es constante en todas las hipótesis sujetas a clasificación. Es posible que con esto baste, y una clasificación de hipótesis puede realizarse exclusivamente basada en esta puntuación acústica.
[0099] Sin embargo, si las puntuaciones de confianza de NLU pueden normalizarse en probabilidades, pueden combinarse significativamente con las puntuaciones de confianza de ASR mediante la siguiente aplicación de las leyes de la probabilidad condicionada. Supóngase queTiyAdenotan la transcripción y la entrada acústica como anteriormente, y supóngase queMidenota el significado simbólico asignado por el tratamiento de NLU a la i-ésima hipótesis. Se escribiráP(Mi|Ti)para la puntuación de confianza de NLU del significado de la i-ésima hipótesis, dada la transcripción asociada. Entonces, por la ley del producto para probabilidades condicionadas tenemosP(Mi, Ti|A)=P(Mi|T, A) P(Ti| A). A continuación se realiza la aproximación razonableP(Mi|Ti, A) ~ P(Mi|T),que expresa matemáticamente el concepto de que el significado de la entrada hablada del usuario es transportado con exactitud por una transcripción correcta del habla del usuario. A continuación, lo anterior produceP(M,T,| A) =P(Mi|Ti)P(Ti| A), que expresa nuestra confianza en que tenemos el significado y la transcripción correctos de la entrada acústica (fija) A.
Aplicaciones de ejemplo
[0100] A continuación se expondrán diversas aplicaciones de las realizaciones descritas, y se mostrará cómo pueden usarse para conseguir ciertas funciones deseadas. Por ejemplo, las realizaciones descritas pueden aplicarse, por ejemplo, a: nombres de empresas (resultante de una búsqueda); nombres de empresas (recuperado de una guía telefónica personal, un calendario personal, o ambos); nombres de contacto personales (recuperado de una guía telefónica, o de un calendario); ubicaciones (direcciones de calles con número); ubicaciones (intersecciones); ubicaciones (puntos de referencia); búsqueda en la biblioteca de música; y búsqueda en la videoteca.
[0101] En el primer caso de nombres de empresas el objeto de adaptación puede construirse a partir de los nombres recuperados en la búsqueda recién realizada. En el segundo caso de nombres de empresas el objeto de adaptación puede construirse a partir de nombres de empresas recuperados de una guía telefónica personal, un calendario personal o ambos, posiblemente limitados al calendario personal del día de hoy. En el caso de los nombres de contacto personales el objeto de adaptación puede construirse a partir de nombres de contacto personales recuperados de una guía telefónica personal, un calendario personal o ambos, posiblemente limitados al calendario personal del día de hoy. En el caso de la primera ubicación el objeto de adaptación puede ser uno de los muchos construidos con mucha antelación, de manera que cada objeto comprende las direcciones de calle válidas para cada calle en todas las subdivisiones políticas de un país (normalmente una ciudad), de manera que el objeto de adaptación usado en realidad se determina mediante la ubicación actual del usuario determinada, por ejemplo, por GPS, por una solicitud anterior explícita o implícita para una subdivisión en particular, o por la identidad de la subdivisión política decodificada por el medio de reconocimiento primario a partir de cierta parte de la enunciación del usuario (es decir, las palabras transcritas "Menlo Park" en la transcripción del medio de reconocimiento primario "tell me how to get to three thirty three Ravenswood Avenue in Menlo Park" ["dime cómo ir al treinta y tres de Ravenswood Avenue en Menlo Park"]).
[0102] En el segundo caso de ubicaciones el objeto de adaptación puede ser, de forma similar, uno de los muchos construidos con mucha antelación, comprendiendo cada objeto intersecciones de cada calle en todas las subdivisiones políticas de un país, con el objeto de adaptación usado en realidad determinado tal como se describe anteriormente. En el caso de la búsqueda en la biblioteca de música se construyen varios objetos de adaptación a partir de los nombres de artistas, los nombres de canciones, los nombres de álbumes y los nombres de géneros en un dispositivo de almacenamiento de música personal del usuario. En el caso de la búsqueda en la videoteca se construyen varios objetos de adaptación a partir de los nombres de actores, los nombres de directores y los nombres de géneros en un catálogo dado de contenido de vídeo por el que se navegará. Sin embargo esta lista pretende ser puramente ilustrativa y no exhaustiva. Las realizaciones descritas pueden aplicarse también de otros modos.
Incorporación del contexto acústico
[0103] Como saben bien tanto los lingüistas especializados en fonología como los desarrolladores de tecnología de ASR, las palabras emitidas antes y después de cualquier palabra dada en una frase expresada con fluidez pueden tener un impacto importante en la pronunciación de la palabra dada. Se trata del fenómeno de coarticulación. Comúnmente se reconocen dos variedades:coarticulación anticipatoria,en la que la palabra o palabras emitidas antes de una palabra dada cambian su pronunciación, ycoarticulación de arrastreocoarticulación perseverativa,en la que la palabra o palabras emitidas después de una palabra dada cambian de forma similar su pronunciación.
[0104] Las causas de la coarticulación son complejas, pero el efecto se debe al menos en parte al hecho de que los elementos del aparato del habla humana (labios, mandíbula, lengua, cuerdas vocales, etc.) son objetos físicos con masa no nula que, por tanto, no pueden moverse instantáneamente de una configuración a la siguiente. Así la posición de este aparato antes de que el hablante produzca un fonema dado, y de forma similar la posición que se pretende adoptar a continuación, influirán en la posición usada cuando se produce el fonema y, con ello, del sonido en sí.
[0105] Para abordar este fenómeno pueden usarse alófonos, en los que las plantillas o modelos usados para coincidir con un fonema determinado se hacen depender de la secuencia de fonemas que lo anteceden y de los que lo siguen. Sin embargo, la etapa de reconocimiento secundario, o más apropiadamente la generación del objeto de adaptación asociado a esta etapa en algunas realizaciones, no tiene en cuenta la coarticulación. En el ejemplo ofrecido anteriormente, el objeto de adaptación, en el ejemplo una gramática de nombres de empresas, que se preparó no muestra palabras que antecedan o sigan a los nombres enumerados. Dicha gramática sería apropiada para decodificar un habla que consista en uno de estos nombres que se han pronunciado de forma aislada, sin palabras que lo precedan o lo sigan. Sin embargo, en realidad el habla que se decodifica es un extracto de una frase más larga pronunciada de manera fluida. Aunque en el ejemplo al nombre pronunciado le sigue solo un silencio, en realidad está precedido de varias palabras, y estas influirán probablemente en la pronunciación del hablante de una o más de las palabras dentro del nombre de empresa en sí. Si este contexto acústico no se refleja en cierto modo en el procedimiento de reconocimiento, es posible que el reconocimiento secundario falle.
[0106] En consecuencia, algunas realizaciones emplean un procedimiento para incorporar el contexto acústico en la etapa de generación de objetos de adaptación, de manera que el medio de reconocimiento secundario pueda dar cabida a los efectos de la coarticulación. En la siguiente exposición se ofrece un ejemplo corriente que muestra el funcionamiento de una realización del procedimiento. El ejemplo se expone en relación con las FIG. 5, 6 y 7.
[0107] Supongamos que el usuario pronuncia la instrucción al sistema "send a message to Steve Youngest hi Steve how are you" ("enviar un mensaje a Steve Young hola steve qué tal estás”). El medio de reconocimiento primario transcribe esta entrada de audio, para producir la salida nominal "send a message to steve young us hi steve how are you" ("enviar un mensaje a steve young us hola steve qué tal estás”). El módulo de lenguaje natural recibe esta transcripción y los tiempos de palabra asociados, y basándose en la evidencia presentada decide que las palabras "steve young us" comprenden un intervalo acústico de tipo nombre de contacto personal, con extensión desde 1.690 ms a 2.530 ms dentro de la enunciación introducida.
[0108] El objeto de adaptación nominal, que comprende los nombres de contacto por ejemplo en la libreta de direcciones del usuario, tiene la estructura ilustrada en la FIG. 5. Es decir, comprende una lista de alternativas, cada una de ellas un nombre de contacto personal, y cada una etiquetada con alguna instrucción adecuada de variable de significado para su ejecución si la secuencia literal asociada es decodificada por el medio de reconocimiento secundario. Pero no contiene ninguna información sobre el contexto acústico en el que se pronunció el nombre de contacto. En ausencia de dicha información, cuando la gramática se compila, es imposible ajustar los modelos de fonemas usados para representar cada nombre de contacto literal que tengan en cuenta el hecho de que el nombre pronunciado que se decodificará estuvo precedido por las palabras expresadas de manera fluida "message to" ("mensaje a”), y le siguió un silencio y después la palabra pronunciada "hi" ("hola") (obsérvese que el hecho de que el silencio siga al nombre pronunciado puede ser en sí informativo para el procedimiento de compilación de la gramática, ya que sugiere que los fonemas posteriores al nombre de contacto verbalizado no estaban sujetos de hecho a coarticulación anticipatoria).
[0109] Sin embargo, esta información precisa puede exponerse al procedimiento de compilación ampliando la extensión del intervalo para incluir un cierto número de las palabras que anteceden al posible nombre de contacto, y de forma similar a las palabras que lo siguen. Así se ilustra en la FIG. 6, que también introduce alguna nomenclatura nueva. En este caso la realización se ha elegido de forma que incorpore en la gramática las dos palabras anteriores al nombre, "message to" ("mensaje a”), y las dos palabras posteriores al nombre, "SIL hi" ("SIL hola") (obsérvese, de paso, que el silencio se considera una palabra, en este caso denotada por "SIL" en la transcripción por el medio de reconocimiento primario). Como se ilustra en la FIG. 6, estas palabras se denominan respectivamenteprefijo acústicoysufijo acústico(equivalente a "intervalo acústico de prefijo”, "intervalo de prefijo" o "precontexto"; y de forma similar a "intervalo acústico de sufijo”, " intervalo de sufijo" o "poscontexto"). El posible nombre de contacto en sí, que antes era tan solo el "intervalo", se denota ahora como "intervalo acústico diana”, "intervalo diana" o simplemente "diana " para abreviar. Finalmente, si deseamos dejar claro que estamos aludiendo a la extensión ahora ampliada del intervalo completo, que incluye tanto el prefijo como la diana y el sufijo, haremos referencia al "intervalo acústico completo" o "intervalo acústico de decodificación" (o simplemente "intervalo completo" o "intervalo de decodificación" para abreviar).
[0110] Volviendo ahora al procedimiento de compilación, la gramática de adaptación se revisa según la estructura mostrada en la FIG. 6. Es decir, la decodificación del prefijo acústico por parte del medio de reconocimiento primario se inserta como literales a lo largo de arcos que conducen a la estructura anterior, y las palabras decodificadas para el sufijo se insertan de forma similar a lo largo de arcos que salen de ella. En este ejemplo, estos literales no comportan ninguna variable de significado, ya que no sirven para la función de determinar el significado del intervalo. Al contrario, su función es proporcionar el contexto acústico necesario para el procedimiento de compilación, seleccionando los alófonos para asociar a las pronunciaciones de cada uno de los nombres de contacto personales dentro de la sección diana de la gramática.
[0111] En este ejemplo de realización, cuando se lleva a cabo la etapa de reconocimiento secundario asociada, el extracto de audio que se trata comprende la extensión del intervalo completo, a partir del inicio nominal de la primera palabra del prefijo acústico hasta el final nominal de la última palabra del sufijo acústico (motivo por el cual también se refiere en esta invención como "intervalo de decodificación”, ya que en la práctica se trata y se decodifica toda la extensión, por el medio de reconocimiento secundario). Dado que no existen vías alternativas en la gramática para el prefijo y el sufijo, esto tiene el efecto de hacer que el medio de reconocimiento secundario realice una alineación forzada entre los literales del prefijo y su audio correspondiente, y de forma similar entre los literales del sufijo y su audio.
[0112] Este procedimiento de ejemplo tiene también otra ventaja importante. En ocasiones puede ser difícil, tanto para un ordenador como para un usuario humano entrenado, decidir exactamente el lugar dentro de una forma de onda en que termina una palabra y empieza la palabra siguiente. Si se consulta la FIG. 6, ¿la primera aparición de la palabra "steve" empieza exactamente a 1.690 ms? ¿O comienza tal vez una o dos tramas antes, a 1.680 ms o 1.670 ms? ¿O quizá un poco más tarde, a 1.700 ms o 1.710 ms? Se plantean cuestiones similares para el extremo de la palabra "us”, que define el extremo del intervalo diana. Si el medio de reconocimiento secundario trata solo la extensión del intervalo diana, entonces los tiempos de palabra asociados pueden tener que ser altamente precisos, tal vez de forma poco razonable.
[0113] Por comparación, al incluir los literales de prefijo y sufijo en la gramática, y al ampliar la extensión del intervalo para incluir el audio correspondiente, el problema de encontrar los límites del intervalo se desplaza al inicio del prefijo y al final del sufijo, respectivamente. Errores menores en la asignación de estos límites pueden no tener consecuencias, porque se está realizando una decodificación no sustantiva, en el sentido de elegir entre alternativas. Si se omiten algunas tramas del inicio de la palabra "mensaje" en el intervalo, o se incluyen erróneamente del extremo de "un", la alineación forzada de los literales de prefijo acústico tendrá éxito, no obstante. Lo mismo puede aplicarse al sufijo. No obstante, en este ejemplo, todas las tramas que comprenden la diana están disponibles con mayor seguridad y el medio de reconocimiento puede calcular libremente la mejor correspondencia acústica entre los literales alternativos en la sección diana de la gramática y la señal de audio asociada.
[0114] En este ejemplo de realización, el objeto de adaptación -es decir, en esta realización, la gramática de nombres de contacto personal- puede llenarse con las palabras de prefijo y de sufijo según se determine en la etapa de reconocimiento primario. Este hecho parecería presentar un reto frente al deseo de conseguir una decodificación de baja latencia de la frase enunciada por el usuario, ya que parte de la etapa de adaptación se ejecuta ahora entre la etapa de comprensión del lenguaje y una o más de las etapas de reconocimiento secundario.
[0115] Varias realizaciones contemplan una gramática con las denominadas "ranuras”, que son marcadores de posición para literales que se rellenarán en el último momento, con muy baja latencia. Esta "gramática de ranuras”, con una sección diana que comprende los nombres de la lista de contactos personales del usuario, y con cuatro ranuras no rellenadas para los literales de prefijo acústico y los literales de sufijo acústico, puede crearse de forma especulativa en el tiempo libre del sistema en cuanto se disponga de la lista de nombres. Esta gramática se ilustra en la FIG. 7. La creación y compilación de esta gramática, dejando las ranuras sin llenarse, es la fase de preparación de la etapa de generación de objetos de adaptación. A continuación se mantiene lista para su uso en el momento apropiado. Esta gramática de ranuras puede llenarse posteriormente con las palabras apropiadas extraídas de la transcripción del medio de reconocimiento primario, en la fase de finalización de la etapa de generación de objetos de adaptación.
Topología de cliente y servidor de ejemplo
[0116] La FIG. 8 es un diagrama de bloques que representa varios componentes en un sistema de tratamiento del habla 800 que tienen módulos de resolución de nombres propios de servidor y cliente tal como puede ocurrir en algunas realizaciones. La topología representada es meramente un ejemplo proporcionado con fines de explicación y se reconocerá que es fácil que existan variaciones. Por ejemplo, los módulos representados pueden reubicarse del cliente al servidor y a la inversa (p. ej., el cumplimiento puede realizarse en el servidor y los resultados devolverse al cliente). En consecuencia, la colocación de componentes y la topología representadas son meramente un ejemplo de muchas configuraciones posibles.
[0117] Como se expone anteriormente, el sistema representado puede usarse para abordar enunciaciones que no incluyen entidades propias (p. ej., "Show me nearby restaurants" ["Muéstrame restaurantes cercanos"]) así como enunciaciones que incluyen entidades propias (p. ej., "Tell me how to get to Guddu du Karahi" ["Dime cómo ir a Guddu du Karahi"]). Un usuario 805 puede expresar una instrucción 810 para una interfaz de usuario 820 de un dispositivo cliente 815. Por ejemplo, el usuario puede pedir "Show me nearby restaurants" ("Muéstrame restaurantes cercanos"). El dispositivo cliente 815 puede ser un iPhone®, un iPad®, una tableta, un ordenador personal, un asistente digital personal, etc., o cualquier dispositivo capaz de recibir audio del usuario 805. La interfaz de usuario 820 puede convertir la instrucción de entrada en una forma de onda 825a. La forma de onda 825a puede almacenarse localmente antes de ser transmitida al servidor 850. El almacenamiento de la forma de onda localmente puede permitir que partes de la forma de onda sean consideradas más adelante por el dispositivo cliente, basándose en las hipótesis, sin pedir que la forma de onda 825b sea de nuevo transmitida al cliente desde el servidor (se reconocerá que en algunas otras realizaciones el servidor puede transmitir en su lugar la totalidad o una parte de la forma de onda de nuevo al cliente).
[0118] El servidor 850 puede enviar la forma de onda 825b a un medio de reconocimiento primario 830. El medio de reconocimiento primario 830 puede ser un sistema de ASR de "dictado abierto" tal como se conoce en la técnica. Por ejemplo, el medio de reconocimiento primario 830 puede emplear un léxico que asocie patrones de energía en una forma de onda con componentes fonéticos para identificar palabras correspondientes a los componentes fonéticos. Pueden aplicarse técnicas bayesianas tal como se conocen en la técnica.
[0119] El servidor sistema 850 puede incluir un módulo de comprensión del lenguaje natural (NLU) 855 configurado para convertir la transcripción y los tiempos de palabra del medio de reconocimiento primario 830 en hipótesis. Las hipótesis 815 y los metadatos asociados puede ser después transmitidos a través de un medio (p. ej., Internet) al sistema cliente 815. Obsérvese, como se expone anteriormente, que cuando en la enunciación no aparecen entidades propias, puede generarse una hipótesis sin intervalos acústicos. Sin embargo, cuando aparecen entidades propias (p. ej., "Guddu du Karahi") en la enunciación, en la hipótesis pueden indicarse uno o más intervalos acústicos.
Los metadatos de hipótesis pueden incluir los resultados del ASR, tales como las marcas de tiempo para apariciones de palabras y la confianza del reconocimiento para una palabra dada.
[0120] Las hipótesis pueden recibirse en un medio de reconocimiento secundario 860. El medio de reconocimiento secundario 860 puede ser un ASR basado en la gramática como se expone en esta invención. Si las hipótesis no incluyen intervalos acústicos, las hipótesis pueden pasar a través del módulo de puntuaciones 885 (si fuera necesario) para identificar la mejor coincidencia y pasar a la unidad de cumplimiento 890, posiblemente como una representación simbólica, que intentará cumplir con la solicitud (p. ej., hacer una solicitud a Yelp®). Para la solicitud de ejemplo "Show me nearby restaurants" ("Muéstrame restaurantes cercanos"), por ejemplo, la unidad de cumplimiento 890 puede ponerse en contacto con un servidor de mapas y solicitar una lista de restaurantes cerca de las coordenadas del usuario 805 . Una vez recuperados los resultados 870, el dispositivo cliente puede presentar los resultados al usuario.
[0121] Sin embargo, si las hipótesis incluyen intervalos acústicos (p. ej., en la solicitud "Tell me how to get to Guddu du Karahi" ["Dime cómo ir a Guddu du Karahi"]), el medio de reconocimiento secundario 860 puede consultar con el generador de objetos de adaptación 865 para identificar una gramática de nombres propios apropiada a partir de los distintos componentes 840a-e del dispositivo del usuario. Una vez identificados los posibles nombres propios para los intervalos acústicos, el medio de reconocimiento secundario 860 puede aplicar varias de las entidades propias identificadas y determinar los niveles de confianza correspondientes. Estas decodificaciones pueden referirse al módulo de puntuaciones 885 de manera que pueda identificarse el candidato más probable. El candidato más probable puede pasarse a continuación al módulo de cumplimiento 890 como se expone anteriormente.
[0122] Así, es posible tratar de una forma tradicional consultas que no hacen referencia a nombres propios de personas, ubicaciones o marcas comerciales sin significado semántico. Sin embargo, las consultas que incluyan estas entidades propias también pueden identificarse fácilmente usando el medio de reconocimiento secundario tal como se describe en esta invención. De nuevo, aunque la FIG. 8 representa una arquitectura de cliente-servidor en la que los módulos de resolución de nombres propios se dividen entre los dispositivos se reconocerán fácilmente variaciones para esta topología. Por ejemplo, en lugar de una arquitectura de cliente-servidor, todas las operaciones expuestas pueden tener lugar en una única máquina (p. ej., el dispositivo cliente 815).
Visión general del flujo de procedimiento de ejemplo
[0123] La FIG. 9 es un diagrama de flujo que representa el procedimiento de reconocimiento de nombres propios a un alto nivel para varias realizaciones usando componentes de reconocimiento automático del habla (ASR) y comprensión del lenguaje natural (NLU). Como se expone en esta invención, el reconocimiento de un nombre propio dentro de una enunciación puede realizarse generalmente en cuatro etapas, representadas en la FIG. 9. En esta invención, a estas etapas se hace referencia en general como "Reconocimiento primario" 905, "Comprensión" 910, "Reconocimiento secundario" 915 y "Fusión" 920. El cliente puede realizar la fase de preparación del objeto de "Generación de objetos de adaptación" en el bloque 900a, aunque se reconocerá que el orden representado se muestra meramente con fines de ilustración y el bloque de procedimiento puede tener lugar en otros momentos en realizaciones distintas a la representada en este caso.
[0124] El "Reconocimiento primario" 905 para la frase de ejemplo "Dime cómo ir a Guddu du Karahi" puede tener lugar en la unidad (ASR) de dictado abierto 830. La salida 805 de "Reconocimiento primario" 905 puede incluir una transcripción nominal, los tiempos de inicio y fin dentro de la forma de onda de cada palabra transcrita en la granularidad de una sola trama, más normalmente uno o más intervalos acústicos de entidades de nombres propios posibles e información relativa al tipo de cada intervalo.
[0125] La NLU 855 puede llevar a cabo a continuación la etapa de "Comprensión" 910, aplicando los procedimientos de comprensión del lenguaje natural para presentar hipótesis de uno o más tipos en cada intervalo, posiblemente también ajustando los límites de los intervalos (trama de inicio y trama de fin) según son asignados por la etapa de reconocimiento primario, y puede proporcionar información adicional, tal como palabras de cuña potenciales, y palabras de contexto acústico de prefijo y sufijo, todas definidas en la secuela, que pueden ayudar a la decodificación de cada intervalo.
[0126] Así, el servidor puede inferir la presencia de nombres propios en el texto tal como se describe a continuación y preparar una o más hipótesis 815 para su resolución. Las hipótesis 815 pueden ser enviadas al cliente. El cliente puede identificar así entidades propias de los distintos componentes 840a-e del dispositivo del usuario. Por ejemplo, un componente de GPS 840a puede proporcionar nombres de calles relevantes cerca de la ubicación del usuario, una libreta de direcciones 840c puede almacenar los contactos del usuario 805, una memoria caché de búsqueda 840d puede reflejar consultas y operaciones recientes realizadas por el usuario 805, y un calendario 840b puede reflejar reuniones y eventos asociados con el usuario 805. El contenido de uno o más de estos componentes puede considerarse cuando se identifiquen entidades propias como se expone en esta invención.
[0127] El cliente puede realizar la fase de finalización de "Generación de objetos de adaptación" en el bloque 900b. Por ejemplo, el cliente puede consultar varios módulos locales (p. ej., la memoria caché de búsqueda) para identificar entidades propias apropiadas para su consideración en la gramática para "Reconocimiento secundario" 915. Se reconocerá que no es necesario que las etapas avancen en este orden y que la "Generación de objetos de adaptación" puede tener lugar antes en el procedimiento.
[0128] El cliente puede llevar a cabo a continuación el "Reconocimiento secundario" 915, buscando sustituir varias entidades propias para los intervalos acústicos para conseguir resultados adecuados de resolución local. Por ejemplo, el cliente puede usar un ASR o un sistema de ASR independiente basado en la gramática para determinar la probabilidad de que una parte dada de la forma de onda corresponda a un nombre propio identificado a partir de los componentes 840a-d.
[0129] Durante el "Reconocimiento secundario" 915, cada uno de dichos intervalos puede ser ahora decodificado por un medio de reconocimiento del habla basado en la gramática dentro de resoluciones de nombres propios en el lado del cliente, usando una gramática que ha sido adaptada especialmente para el tipo y el usuario individual del sistema basado en componentes 840a-d. Mientras que la adaptación de un medio de reconocimiento de dictado abierto a un vocabulario o un contexto especializado puede ser caro en términos de cómputo, una nueva gramática, o una gramática con “ranuras” de marcadores de posición no rellenas”, puede generarse y ponerse al servicio en el cliente en unos segundos o menos.
[0130] La salida de la etapa de "Reconocimiento secundario" 915, realizada en el intervalo acústico objeto, usando una gramática especializada de forma adecuada, puede considerarse la transcripción nominal del intervalo. Las secuencias literales de esta misma gramática pueden etiquetarse con el significado de cada posible vía de decodificación a través de la gramática. Así, la generación de la transcripción puede al mismo tiempo generar un significado simbólico apropiado, para la vía de decodificación seleccionada. Si solo la parte de la enunciación original asociada con el nombre propio se proporciona como entrada de audio a un sistema de ASR basado en la gramática, y la gramática usada para la decodificación comprende la totalidad y solo los nombres de empresas extraídos del calendario del usuario para ese día, entonces es muy probable que se decodifique el nombre propio correcto.
[0131] Si no se propusieron hipótesis alternativas en competición relativas a la presencia, el tipo o la extensión de cada intervalo, en las etapas de tratamiento anteriores, entonces el "Reconocimiento secundario" 915 puede estar completo y el resultado decodificado puede remitirse para su cumplimiento. Sin embargo, en ocasiones no sucede así cuando puedan haberse presentado varias hipótesis sobre decodificaciones alternativas (que pueden o no incluir intervalos acústicos correspondientes a entidades propias), cada una con puntuaciones de confianza de NLU y ASR asociadas. En esta situación el módulo de cliente puede seleccionar la decodificación final preferida, o asignar una puntuación de confianza a cada decodificación completa, y proporcionar una lista clasificada de alternativas al servidor. Dado que las diferentes hipótesis pueden comprender distintos números de intervalos acústicos, esto puede forzar la comparación de hipótesis que se basan en diferentes números de puntuaciones de confianza. La "Fusión" 920 de las diferentes puntuaciones puede tener lugar cuando los nombres propios se consideran en el contexto de la unidad de NLU.
[0132] Como se expone anteriormente, la etapa de “Reconocimiento primario” 905, puede ser realizada por la tecnología de ASR de dictado abierto 830, que puede ser más potente y más flexible, pero más exigente en términos de cómputo, que un ASR basado en la gramática. En algunas realizaciones que reconocen nombres propios, la etapa de “Reconocimiento primario” 905 puede no cargar con la responsabilidad principal de generar la transcripción final de la enunciación introducida. Al contrario, esta etapa puede determinar la parte o partes de la forma de onda de entrada que comprenden una o más de las entidades de nombres propios. Por ejemplo, el ASR de dictado abierto 830 puede anotar simplemente partes de las formas de onda para las cuales las palabras identificadas tienen niveles de confianza extremadamente bajos.
[0133] Dado que un ASR de dictado abierto 830 puede usarse inicialmente, este enfoque puede conseguir una alta exactitud de reconocimiento y comprensión de nombres propios y entidades similares (en lo sucesivo, "entidades de nombres propios"), que tienen lugar dentro de enunciaciones que en su conjunto no están limitadas para adecuarse a una gramática de ASR. Por otra parte, las entidades de nombres propios pueden contener o estar formadas en su totalidad por palabras no presentes en los vocabularios de los sistemas de a Sr tal como se constituyen normalmente.
[0134] Puede usarse la misma técnica para reconocer entidades, tales como direcciones de calles con número, que incluyen en su interior nombres de calles y posiblemente también nombres de ciudades y estados. Un ejemplo de lo último sería "333 Ravenswood Avenue" o la más precisa "333 Ravenswood Avenue, Menlo Park, California”. Finalmente, las secuencias de palabras que son puramente descriptivas y genéricas, tales como "casa de la abuela”, "la oficina”, "guardería”, "el club de campo" y así sucesivamente, que el usuario ha identificado en el sistema como personalmente significativas, también pueden ser tratadas por el procedimiento de la FIG. 9.
[0135] Algunas realizaciones ponen fuentes de información adicionales -las derivadas de la etapa intermedia de tratamiento de NLU- a disposición del procedimiento de decodificación del habla y asignación de significados en su conjunto. En algunas realizaciones, el componente de ASR de dictado abierto del sistema, preparado por los procedimientos descritos en este caso, no requiere una adaptación o modificación adicional para permitir el reconocimiento de nombres y entidades que no están presentes incluso en su vocabulario. Así, este componente puede ser compartido por una multitud de usuarios, con las adaptaciones necesarias para permitir el reconocimiento de nombres propios confinado a otros componentes del sistema.
Procedimiento generalizado de reconocimiento de nombres propios
[0136] La FIG. 10 es un diagrama de flujo que representa varias etapas en un procedimiento de reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones. En el bloque 1005, el sistema puede recibir una forma de onda de enunciación de un usuario. Cuando el procedimiento se divide entre dispositivos de cliente y de servidor, puede conservarse una copia de la forma de onda en el cliente como se expone en esta invención.
[0137] En el bloque 1010, puede aplicarse un ASR de dictado abierto “estándar” a la forma de onda. Esto puede producir una palabra de texto completa para cada aspecto de la forma de onda, incluso cuando los niveles de confianza son excepcionalmente bajos. Sin embargo, algunas realizaciones contemplan además la aplicación de una versión modificada del ASR de dictado abierto a la forma de onda para conseguir una o más lecturas de texto que identifican explícitamente palabras que pueden reflejar nombres propios (p. ej., basándose en el máximo nivel de confianza posible para una palabra que sigue sin superar un umbral). Estos sistemas modificados pueden indicar palabras de marcadores de posición para los posibles nombres propios (p. ej., designacionesfna, Inaysacomo se expone en esta invención). El bloque 1010 puede corresponder aproximadamente a la etapa de “Reconocimiento primario” 905. El bloque 1020 puede corresponder aproximadamente a la etapa de "Comprensión" 910.
[0138] En el bloque 1030, el sistema puede determinar si uno o más valores de confianza de palabras son deficientes, por ejemplo, si tienen niveles de confianza situados por debajo de un umbral, o si los sistemas modificados han identificado por otros medios uno o más nombres propios posibles. Cuando todos los valores de confianza superan un umbral, o cuando no se identifican por otros medios candidatos de nombres propios, el sistema puede pasar al bloque 1035. En el bloque 1035, el sistema puede completar el tratamiento para generar una representación simbólica de la solicitud. En el bloque 1040, el sistema puede intentar el cumplimiento usando la representación simbólica y devolver al usuario el posible resultado. Como se expone anteriormente, se reconocerá que el cumplimiento es solo una aplicación posible de los procedimientos anteriores. En consecuencia, los bloques 1035 y 1040 pueden ser sustituidos fácilmente por otras aplicaciones, por ejemplo, la realización de operaciones en el dispositivo cliente.
[0139] Por el contrario, si se identifican posibles nombres propios en el bloque 1030, entonces en el bloque 1045 el sistema puede generar una o más hipótesis basándose en la o las palabras deficientes que incluyen intervalos acústicos tal como se describe en mayor detalle en esta invención. En el bloque 1050, el sistema, por ejemplo el dispositivo cliente, puede decodificar cada segmento de nombre de pila probable frente a su gramática de nombre de pila. El bloque 1050 puede corresponder en general a la etapa de "Reconocimiento secundario" 915. En algunas realizaciones, la etapa de "Reconocimiento secundario" 915 se reduce a poco más que insertar el resultado de la decodificación más probable de la gramática de segunda fase en la ubicación apropiada en el texto producido por las operaciones de "Reconocimiento primario" 905 y/o "Comprensión" 910.
[0140] En el bloque 1055, el sistema puede determinar cuál de las entidades propias propuestas para los intervalos acústicos (y/o los niveles de confianza asociados con una hipótesis sin intervalos acústicos) se corresponde mejor con la enunciación. Por ejemplo, el sistema puede identificar la resolución con los valores de confianza acumulados más altos. Esta determinación se lleva a cabo considerando uno o más de los valores de confianza de ASR de dictado abierto originales, los valores de confianza de NLU originales, los valores de confianza basados en gramática de ASR determinados en el bloque 1050, y posiblemente una segunda determinación de NLU que usa los resultados de la gramática de ASR, como parte de una "Fusión de puntuaciones" 920.
[0141] Si se identifica una resolución apropiada, el sistema puede convertir el nombre propio en forma simbólica en el bloque 1060 y presentar la representación simbólica de la enunciación completa para su cumplimiento. Por el contrario, si no se encuentran resoluciones apropiadas en el bloque 1055, el sistema puede anunciar un fallo en el bloque 1065. En algunas realizaciones, más que anunciar un fallo, el sistema puede intentar en su lugar el cumplimiento de las palabras que tienen probabilidades deficientes o con las aproximaciones más cercanas.
Ejemplo de creación de "Comprensión" / Hipótesis
[0142] La FIG. 11 es un corpus de hipótesis de ejemplo tal como puede generarse en algunas realizaciones. Estas hipótesis de ejemplo pueden generarse como parte del bloque 1045. Una forma de onda 1005 puede asociarse con la enunciación del usuario "Where is Guddu de Karahi, the restaurant, located?" ("¿Dónde está situado Guddu de Karahi, el restaurante?") 1010. El cliente ASR/NLU y/o el servidor ASR/NLU pueden generar las decodificaciones propuestas 1015a-c. La decodificación 1015a interpreta la enunciación como "Where is goose karate the restaurant, located?" ("¿Dónde está situado goose karate, el restaurante?") con valores de confianza de 110 y 150 asociados con las palabras "goose" y "karate", respectivamente. s Este ejemplo, cuando se generan valores de confianza bajos, pero las palabras se identifican de otro modo, puede corresponder a la vía a través de los bloques 1015 y 1045 expuesta anteriormente. Estos valores de confianza pueden ser inferiores a un umbral, por ejemplo, 300, lo que indica una asociación incorrecta. En este ejemplo, "goose" no se corresponde con "Guddu" y "karate" no se corresponde "Karahi" ya que las palabras son superficialmente similares. En consecuencia, los niveles de confianza 110 y 150 reflejan una coincidencia improbable (p. ej., debido a que el carácter espectral de la forma de onda no coincide con el carácter esperado de los fonemas en estas palabras). Sin embargo, si no se encuentra una mejor coincidencia de nombre propio para las propuestas 1115b-c, el sistema puede aceptar esta interpretación por defecto, y enviar estas palabras a la representación simbólica para su cumplimiento.
[0143] En lo que respecta a la segunda decodificación propuesta 1115b, el cliente ASR/NLU y/o el servidor ASR/NLU puede interpretar "Guddu" como "parking for" ("parking para") con los niveles de confianza 90 y 75 bajos correspondientes. En este caso, el sistema puede haber identificado simplemente la parte de la forma de onda dentro de "Karahi" como incognoscible y en consecuencia, un posible nombre propio. Como se expone más adelante, puede insertarse para la hipótesis un identificador sustituido apropiado(fna, Ina,etc.).
[0144] Finalmente, en la decodificación propuesta 1115c, el sistema puede simplemente haber reconocido la totalidad de la forma de onda de "Guddu de Karahi" como incognoscible. El sistema puede reconocer que se pronunciaron dos palabras separadas, pero puede ser incapaz de reconocer la identidad de las palabras. Los ejemplos de decodificaciones 1115b y 1115c, en los que se usan marcadores de posición para identificar posibles nombres propios, pueden corresponder a la vía a través de los bloques 1010 y 1020 expuesta anteriormente.
[0145] La FIG. 12 es un ejemplo de un primer desglose de hipótesis basado en el ejemplo de la FIG. 11 tal como puede ocurrir en algunas realizaciones. En lo que respecta a la segunda propuesta 1115b, el sistema puede reconocer que la parte "Karahi" entre 1.520 ms y 1.750 ms podría no reconocerse. En consecuencia, puede generarse una hipótesis 1205 que tiene un intervalo acústico entre 1.520 y 1.750 (se reconocerá que los valores 1.520 y 1.750 son meramente ilustrativos y que pueden usarse representaciones, por ejemplo, milisegundos). La NLU puede inferir que se trata de una "Consulta de ubicación" y asignar un significado posible correspondiente, basado en las partes de la enunciación "Where" ("Dónde") y "parking for" ("parking para"). De manera similar, el NLU puede inferir basándose en la frase "restaurant" ("restaurante") que el intervalo es de tipo "Nombre de empresa". El Significado posible y el Tipo posible en la hipótesis pueden usarse para localizar la búsqueda de nombres propios en el dispositivo cliente. Por ejemplo, sabiendo que se trata de una "Solicitud de ubicación" el dispositivo cliente puede no considerar los nombres y apellidos en una libreta de direcciones, pero en cambio puede considerar solo las ubicaciones de reunión en un calendario. Basándose en el Tipo de intervalo posible solo pueden considerarse nombres de empresas asociados con ubicaciones en el calendario.
[0146] Como se expone en esta invención, en la pronunciación de un nombre propio pueden influir las palabras anteriores y posteriores. En consecuencia, también puede identificarse una parte de prefijo y una parte de sufijo en la hipótesis para su consideración por los componentes que buscan nombres propios. Alternativamente, algunas realizaciones pueden anteponer y posponer segmentos breves de silencio (o ruido de fondo de baja intensidad), en ascenso o descenso desde una potencia muy baja a la potencia nominal de la enunciación (p. ej., ascenso desde potencia baja a nominal, para el audio antepuesto, y descenso desde potencia nominal a baja para el audio posterior). Este suavizado temporal de la entrada de audio puede eliminar las transiciones de audio abruptas, que podrían equipararse falsamente con fonemas fricativos.
[0147] Si las palabras adyacentes al marcador de posición son decodificadas con puntuaciones de confianza notablemente bajas -o si una decodificación inicial de un segmento de audio dado por el medio de reconocimiento de segunda fase produce una puntuación de confianza anormalmente baja- algunas realizaciones perturban los tiempos nominales de inicio y final del segmento de audio extraído, produciendo así múltiples segmentos candidatos para la decodificación. Todos ellos pueden ser transferidos a continuación como variantes al "Reconocimiento secundario" 915, que puede decodificarlos todos y seleccionar la decodificación con la más alta puntuación de confianza como respuesta nominal.
[0148] La FIG. 13 es un ejemplo de un segundo desglose de hipótesis basado en la tercera propuesta 1115c en el ejemplo de la FIG. 11 tal como puede ocurrir en algunas realizaciones. En lo que respecta a la tercera propuesta 1115c, el sistema puede reconocer que la parte "Guddu de Karahi" entre 1.220 ms y 1.750 ms podría no ser reconocida. En consecuencia, puede generarse una hipótesis 1205 que tiene un intervalo acústico entre 1.220 ms y 1.750 ms, y ajustarse en consecuencia las partes de prefijo y de sufijo. La NLU puede identificar de nuevo el nombre propio como un "Nombre de empresa" en el tipo posible pero alternativamente puede considerar la consulta general como una consulta en la "Libreta de direcciones", lo que limita la búsqueda a solo el contenido de la libreta de direcciones.
Procedimiento de “Comprensión" / Generación de hipótesis
[0149] La FIG. 14 es un diagrama de flujo que representa varias etapas en un procedimiento en el lado del servidor para reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones. Por ejemplo, el procedimiento 1400 puede representar las operaciones del bloque 1030 en mayor detalle. En el bloque 1405, el sistema puede considerar la siguiente representación textual posible generada por el ASR y/o el NLU. Como parte de la representación textual puede incluirse una pluralidad de probabilidades y tiempos de palabra.
[0150] En el bloque 1410, el sistema puede preparar una plantilla de hipótesis, por ejemplo, una estructura de datos para guardar los diversos parámetros de hipótesis.
[0151] En el bloque 1415, el sistema puede generar un "significado posible" para la hipótesis con referencia a estadísticas NLU.
[0152] En el bloque 1420, el sistema puede generar un "tipo posible" para el intervalo con referencia a estadísticas NLU.
[0153] En el bloque 1430, el sistema puede determinar las marcas de tiempo asociadas con el principio y el fin del intervalo. Como se expone en mayor detalle más adelante, el prefijo y el sufijo del posible nombre propio en cuestión también pueden incluirse en esta determinación.
[0154] En el bloque 1435, el sistema puede considerar representaciones de texto posibles adicionales si existen. En caso contrario, el sistema puede avanzar al bloque 1440, en el que el sistema puede enviar las hipótesis en cola al sistema cliente para su análisis, o dependiendo de la topología, al componente apropiado para analizar las hipótesis. Por ejemplo, en algunas realizaciones, el sistema puede analizar las hipótesis localmente en el servidor, o pueden ser generadas y analizadas en el dispositivo cliente.
Procedimiento de "Reconocimiento secundario" - lado del cliente
[0155] La FIG. 15 es un diagrama de flujo que representa varias etapas en un procedimiento en el lado del cliente 1500 para el reconocimiento de nombres propios tal como puede ocurrir en algunas realizaciones. En el bloque 1505 el módulo de cliente puede considerar la siguiente hipótesis recibida del módulo de servidor.
[0156] En el bloque 1510, el módulo de cliente puede extraer el significado posible a partir de la hipótesis. En el bloque 1515, el módulo de cliente puede extraer el tipo de intervalo posible a partir de la hipótesis. En el bloque 1520, el módulo de cliente puede reunir el corpus de nombres apropiados basado en el significado posible y/o el tipo posible.
[0157] En el bloque 1525, el sistema puede extraer las marcas de tiempo asociadas con el intervalo posible y (si están presentes) las marcas de tiempo para cualquier parte de sufijo o prefijo. En el bloque 1530, el sistema puede considerar el siguiente nombre propio en el corpus identificado. Cuando la sustitución del miembro del corpus produce valores de confianza satisfactorios en el bloque en el bloque 1535, el sistema puede incluir el miembro sustituido entre las resoluciones acertadas en el bloque 1540.
[0158] Si en el corpus no se han considerado nombres propios en el bloque 1545, el sistema puede continuar con el siguiente miembro del corpus.
[0159] En el bloque 1550, el sistema determina qué resolución enviar para el cumplimiento, por ejemplo, usando los procedimientos de fusión de puntuaciones expuestos en esta invención.
"Fusión de puntuaciones"
[0160] Como se expone anteriormente, es probable que se haya generado más de una hipótesis y más de una solución para una hipótesis después del "Reconocimiento secundario". Además, como en las hipótesis de ejemplo de las decodificaciones 2 y 3, diferentes hipótesis pueden comprender distintos números de intervalos acústicos. Esto puede requerir que las hipótesis basadas en diferentes números de valores de confianza se consideren para conseguir una clasificación basada en las puntuaciones significativa y fiable. En algunas realizaciones, la clasificación de hipótesis puede realizarse exclusivamente con estas puntuaciones de confianza de ASR. Sin embargo, varias realizaciones contemplan incluir el sistema de NLU 855 para influir en esta clasificación. Si las puntuaciones de confianza de NLU pueden normalizarse en probabilidades, pueden combinarse significativamente con las puntuaciones de confianza de ASR de gramática y/o dictado abierto.
[0161] A continuación se ofrece un ejemplo para realizar esta combinación. Supóngase queTiyAdenotan la transcripción (p. ej., texto 880) y la entrada acústica (p. ej., forma de onda 825), y supóngase queMidenota el significado simbólico asignado por el tratamiento de NLU a la i-ésima hipótesis. La expresiónP(M\T)refleja la puntuación de confianza de NLU del significado de la i-ésima hipótesis, dada la transcripción asociada.
[0162] Por las leyes del producto para probabilidades condicionadas:
[0163] Suponiendo la aproximación:
A continuación, se obtiene
[0164]
que expresa la confianza que han adquirido el significado y la transcripción correctos de la entrada acústica (fija) A. Preparación de la gramática
[0165] Después del "Reconocimiento primario" 905, el sistema ha identificado no solo el tiempo de inicio y fin de cada uno de dichos segmentos, sino también el tipo probable del nombre en cuestión -es decir, el nombre de una persona, el apellido de una persona, un nombre de calle, y así sucesivamente. Para cada uno de estos tipos de nombre puede usarse una gramática especializada. Estas gramáticas pueden ser relativamente pequeñas en comparación con el espacio completo de nombres del tipo apropiado, pero que, no obstante, tienen una alta probabilidad de contener el nombre que se pronunció.
[0166] Cada gramática de tipo de nombre individual puede prepararse a partir de una fuente de datos apropiada, especializada para información sobre los amigos y socios del usuario, la ubicación, las actividades pasadas, actuales y futuras, y así sucesivamente. Por ejemplo, puede prepararse una gramática de nombres de pila preparando una lista de todos los nombres de pila de cualquier contacto encontrado en la libreta de direcciones del usuario, junto con los apodos o abreviaturas corrientes; se procederá de manera similar con los apellidos. De forma similar puede prepararse una gramática de nombres de calles combinando los nombres de todas las calles dentro de un radio dado de la ubicación actual del usuario, posiblemente aumentada con todos los nombres de calles extraídos de citas pasadas o futuras, como se observa en el calendario personal del usuario, o de todas las calles situadas en o cerca de cualquier ruta recorrida recientemente, según se determina con el sistema GPS de un automóvil o de un teléfono. Como se expone anteriormente, una característica útil de esta arquitectura es que estas gramáticas pueden prepararse en el cliente, y no comunicarse nunca al servidor.
Agregados de secuencias de múltiples palabras
[0167] Puede suceder que algunos nombres que se incorporarán en un agregado puedan comprender no solo una única palabra, sino una secuencia de palabras. Así sucede de forma natural en la consideración de los nombres de calles, que normalmente están compuestos por un nombre y un tipo, de manera que este último puede verbalizarse o no. Considérese por ejemplo el caso de "Rengstorff Avenue”, "Fourteenth Street” y "Riverside Drive", a cada una de las cuales puede también hacerse referencia respectivamente como "Rengstorff', "Fourteenth" o "Riverside". Obsérvese que no es infrecuente que la palabra inglesa "avenue" se pronuncie con solo la sílaba "ave”, que rima con "have”. Esto sugiere que, sea cual sea la solución que se escoja para manejar el tipo de calle, pueden requerirse dos formas de variantes para el tipo "avenue". Por otra parte, con independencia de la noción de tipo de calle, algunos nombres propios tienen varias palabras, por ejemplo "The Embarcadero”, "Dry Creek [Road]” o "El Camino Real”.
[0168] Para estos últimos casos, varias realizaciones concatenan entre sí los elementos de la secuencia de palabras del nombre que son obligatorios, en el sentido de que siempre se verbalizarán. El objeto resultante puede tratarse como una única palabra, y su pronunciación puede incluirse en el agregado. Así algunas realizaciones pueden tratar "The Embarcadero”, "Dry_Creek” y "El_Camino_Real", cada una, como una única palabra.
[0169] Para las palabras en dichas secuencias que no pueden verbalizarse se contemplan dos enfoques. El primer enfoque consiste en concatenar todas las palabras asociadas a un nombre dado como acaba de explicarse, con y sin las palabras opcionales. En el agregado se incluirían todas las variantes. Así considerando los casos mostrados anteriormente se produciría: Rengstorff_Avenue; Rengstorff_Ave; Rengstoff; Fourteenth_Street; Fourteenth; Riverside_Drive; Riverside; Dry_Creek; Dry_Creek_Road. Así se cubrirá bien el espacio acústico.
[0170] El segundo enfoque consiste en introducir un agregado adicional para capturar el tipo, por ejemplo un agregado de tipo de calle, osta,e incluir dentro del mismo las pronunciaciones de todos los tipos. Así es posible dividir por la mitad aproximadamente el número de pronunciaciones incluidas nominalmente ensa.Sin embargo puede debilitar el modelo de lenguaje, y con ello perjudicar la capacidad del medio de reconocimiento de la primera fase de encontrar el extremo del segmento de audio que comprende el nombre de la calle.
Procedimiento alternativo para generación de modelos de lenguaje
[0171] El procedimiento descrito anteriormente para generación de modelos de lenguaje produce valores razonables para cada agregado, en contextos bastante generales. Sin embargo puede consumir mucho tiempo y tal vez no se requiera toda su generalidad.
[0172] En consecuencia, algunas realizaciones implementan un procedimiento más restringido, que puede producir buenos resultados en los contextos en los que resulta probable que la técnica sea más útil. Este procedimiento puede preprocesar todo el corpus de entrenamiento con el sistema NLU, sustituyendo las entidades de nombres propios por palabras agregadas apropiadas, en su contexto. Esto producirá recuentos de n-gramas con palabras agregadas, a partir de los cuales pueden construirse modelos de lenguaje, por ejemplo, por medios convencionales, con tales palabras como objetos de primera clase.
[0173] Algunas realizaciones pueden adoptar un enfoque híbrido en el que las probabilidades condicionadasp (fna-i|h)podrían determinarse mediante este procedimiento mientras que los valores parap(x\h’),confna-i e hpodrían determinarse mediante el procedimiento expuesto anteriormente.
Gramática de no coincidencia intencionada para el tipo de nombres propios
[0174] Las etapas de "Reconocimiento primario" 905 y "Comprensión" 910 puede devolver la secuenciafna-i Ina-j.El procedimiento propuesto anteriormente realizaría una decodificación de "Reconocimiento secundario" 915 del segmento de audio asociado afna-icon una gramática de nombres de pila, y una decodificación independiente de "Reconocimiento secundario" 915 del segmento de audio asociado aIna-jcon una gramática de apellidos.
[0175] Sin embargo, estas dos decodificaciones independientes podrían producir un nombre que no corresponde a una aparición individual en la libreta de direcciones del usuario. La secuenciafna-i Ina-jen la salida del decodificador de la primera fase puede corresponder a un único nombre completo. Así todo el tramo de audio, desde el inicio del segmentofnaal extremo del segmentoIna,puede ser reconocido durante el "Reconocimiento secundario" 915 frente a una gramática que consiste en todos los nombres de contacto completos, tal como aparecen en la libreta de direcciones del usuario.
Etiquetado semántico de decodificaciones de marcadores de posición
[0176] En algunas realizaciones, por ejemplo, cuando la instrucción incluye una solicitud para enviar un mensaje a un destinatario, puede ser necesario extraer, como parte del significado de la enunciación, el destinatario pretendido de un mensaje. Por ejemplo, considérese la enunciación "send a message to Barack thanks so much for the invitation comma we'd love to visit you and Michelle the next time we're in Washington" ("enviar un mensaje a Barack muchas gracias por la invitación coma estaremos encantados de visitarles a usted y a Michelle la próxima vez que estemos en Washington"). La salida del medio de reconocimiento de la primera fase puede así leerse muy bien: enviar un mensaje afnamuchas gracias por la invitación coma estaremos encantados de visitarles a usted yfnala próxima vez que estemos en Washington
[0177] Obsérvese que en este caso se identifican dos segmentos de audio como nombres de pila probables y que ambos pueden marcarse para su decodificación por el medio de reconocimiento "Reconocimiento secundario" 915 (p. ej., el ASR basado en la gramática). Suponiendo que "Barack" y "Michelle" están los dos en la lista de contactos del usuario, estas decodificaciones contendrán probablemente los resultados correctos. Después es posible cruzar "Barack" con un número de teléfono o una dirección de correo electrónico adecuados para su uso como destino del mensaje.
[0178] Sin embargo, como se expone en esta invención, el NLU puede estar situado en el servidor y no en el cliente. Sin una mayor comunicación desde el cliente de nuevo con el servidor de los resultados del medio de reconocimiento "Reconocimiento secundario" 915, puede no haber ninguna manera de realizar el análisis necesario para determinar que "Barack" es de hecho el nombre del destinatario pretendido.
[0179] En consecuencia, en algunas realizaciones el NLU será capaz de deducir la posición del destinatario pretendido a partir de la información de que un determinado elemento(fna)en la decodificación es probable que corresponda al nombre propio de una persona, y a partir de las palabras que aparecen adyacentes o cercanas a este elemento. Esta información puede ser comunicada al cliente, en el que el medio de reconocimiento "Reconocimiento secundario" 915 puede identificar definitivamente el nombre del destinatario. Otros elementos del software del cliente pueden tratar este nombre para determinar una dirección de destino adecuada.
[0180] Una forma de comunicar esta información desde el NLU al medio de reconocimiento "Reconocimiento secundario" 915 sería añadir un campo apropiado, que comprenda el significado simbólico, al elemento de protocolo que identifica el segmento de audio como un objeto para su tratamiento por el decodificador de segunda fase. (En casos en que el segmento no tiene un significado especial, como en el segundo caso defnaen el ejemplo anterior, este campo puede contener "nuil" o algún otro valor neutro).
[0181] En algunas realizaciones, el tipo posible del segmento de audio podría cambiarse, de una manera comprensible para el cliente, para comunicar al cliente tanto la gramática que será utilizada por el decodificador de segunda fase como el significado especial, si lo hubiera, del segmento de audio. Por ejemplo, el primer caso defnapodría cambiarse a un tipofna-destinatario,con el cliente modificado de la forma adecuada para decodificar el segmento de audio asociado frente a la gramática de nombres de pila como anteriormente, y después interpretar el resultado como el nombre del destinatario pretendido.
Gramáticas diseñadas para errores de extensión de intervalos
[0182] La selección apropiada de la extensión del intervalo puede mejorar la decodificación secundaria. Además, algunas realizaciones permiten efectos de coarticulación en la selección de modelos telefónicos durante el procedimiento de decodificación. Estas cuestiones pueden abordarse ampliando el intervalo acústico para incluir un cierto número de palabras de prefijo acústico y de palabras de sufijo acústico, que son las que anteceden y siguen inmediatamente a la entidad de nombres propios nominal. Se produce así la importante distinción entre el intervalo diana, que es el intervalo de palabras que comprende la entidad de nombres propios nominal, y el intervalo completo, que incluye el audio que puede corresponder a las palabras de prefijo acústico y las palabras de sufijo acústico que acaban de mencionarse. Por otra parte la gramática de reconocimiento secundario debe estructurarse así de manera que permita la decodificación de estas palabras. De hecho, puede ser útil que el reconocimiento secundario proceda a través de la primera palabra del prefijo acústico y la última palabra del sufijo acústico.
[0183] Así puede hacerse que el reconocimiento secundario indicado sea menos sensible al inicio y el fin nominales del intervalo completo, y el reconocimiento secundario puede a continuación elegir libremente dónde comienza y dónde termina la entidad de nombres propios en sí dentro del intervalo completo. Por otra parte, mediante una estructuración apropiada de la gramática, puede disponerse que el audio correspondiente a las palabras de prefijo que anteceden inmediatamente a las palabras de la entidad de nombres propios posible, y de forma similar las palabras de sufijo que la siguen inmediatamente, pueda ser absorbido en palabras con buena coincidencia dentro de la gramática activa. Esto puede permitir que una palabra decodificada como "to" por el medio de reconocimiento primario, y por tanto marcada como externa al intervalo diana, pueda ser de hecho el inicio del nombre propio "Toby”, que está presente entre los nombres en la gramática activa. Al hacer opcional la decodificación de esta palabra de prefijo acústico (p. ej., al proporcionar una ruta épsilon a su alrededor), las tramas de audio apropiadas pueden así participar en una acertada decodificación del nombre "Toby”.
[0184] Puede ser conveniente estructurar la gramática asociada a las palabras de prefijo y sufijo de manera que esas palabras puedan subdividirse a su vez en límites acústicos plausibles. Por ejemplo, si la palabra de prefijo acústico inmediatamente anterior es "filbert”, la gramática que la integra debería permitir que la palabra se divida fonéticamente dentro del procedimiento de decodificación en "fill" y "bert", permitiendo así que el audio asociado con la segunda sea absorbido en la decodificación del nombre propio "Bert”, si se hubiera pronunciado, y estuviera presente dentro de la gramática activa. Esto puede conseguirse comparando la secuencia de fonemas nominal de la decodificación primaria con el contenido del vocabulario, y usando el modelo de lenguaje para presentar hipótesis de divisiones de palabras alternativas plausibles, que después pueden reflejarse en la estructura de gramática asociada.
[0185] Mientras varios de los aspectos anteriores pueden ser apropiados para errores de intervalos demasiado pequeños, también puede producirse el problema inverso. El sistema puede generar un error de intervalo demasiado grande, y deducir incorrectamente que el audio correspondiente a una palabra o palabras que, de hecho, es externo a la entidad de nombres propios se encuentra dentro de él.
[0186] Para abordar este problema, algunas realizaciones contemplan "palabras de cuña". Las palabras de cuña son palabras que deberían estar presentes en la decodificación del medio de reconocimiento primario, adyacentes al intervalo diana, pero para las cuales el audio se ha incorporado erróneamente en el intervalo diana. Para permitir que el reconocimiento secundario opere de forma apropiada y suprima la coincidencia de las tramas asociadas frente a palabras diana en la gramática, la gramática puede ampliarse con vías opcionales que incluyan dichas palabras de cuña.
[0187] Como puede no haber evidencia de la necesidad de palabras de cuña, o de cuáles deberían ser las palabras de cuña, pueden conjeturarse usando un modelo de lenguaje (convencional) hacia delante que identifica una probable extensión hacia delante de las palabras de prefijo acústico. De manera similar puede usarse un modelo de lenguaje hacia atrás que identifique una probable extensión hacia atrás de las palabras de sufijo acústico. Por tanto, estas consideraciones pueden producir una o más de dichas palabras, que pueden incorporarse como alternativas opcionales dentro de las palabras de cuña de la gramática diana (y la selección de las mismas por medio de modelos de lenguaje).
Sistema informático
[0188] La FIG. 18 es un diagrama de bloques de un sistema informático tal como puede usarse para implementar características de algunas de las realizaciones. El sistema informático 1800 puede incluir una o más unidades centrales de tratamiento ("procesadores") 1805, una memoria 1810, dispositivos de entrada/salida 1825 (p. ej., teclado y dispositivos de apuntamiento, dispositivos de pantalla), dispositivos de almacenamiento 1820 (p. ej., unidad de disco) y adaptadores de red 1830 (p. ej., interfaces de red) que están conectados a una interconexión 1815. La interconexión 1815 se ilustra como una abstracción que representa uno cualquiera o más buses físicos separados, conexiones punto a punto, o ambos conectados por puentes, adaptadores o controladores apropiados. Por tanto, la interconexión 1815, puede incluir, por ejemplo, un bus de sistema, un bus de tipo interconexión de componentes periféricos (Peripheral Component Interconnect, PCI) o un bus PCI-Express, un bus HyperTransport o un bus de arquitectura estándar de la industria (Industry Standard Architecture, ISA), un bus de interfaz de sistemas informáticos pequeños (Small Computer System Interface, SCSI), un bus en serie universal (universal serial bus, USB), un bus IIC (I2C) o un bus de Institute of Electrical and Electronics Engineers (IEEE) norma 1394, también llamado "Firewire".
[0189] La memoria 1810 y los dispositivos de almacenamiento 1820 son medios de almacenamiento legibles por ordenador que pueden almacenar instrucciones que implementan al menos partes de las diversas realizaciones. Además, las estructuras de datos y las estructuras de mensajes pueden almacenarse o transmitirse por medio de un medio de transmisión de datos, tal como una señal en un enlace de comunicaciones. Pueden usarse varios enlaces de comunicaciones, tales como Internet, una red de área local, una red de área extensa o una conexión de acceso telefónico punto a punto. Así, los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador (p. ej., medios "no transitorios") y medios de transmisión legibles por ordenador.
[0190] Las instrucciones almacenadas en la memoria 1810 pueden implementarse como software y/o firmware para programar el o los procesadores 1805 con el fin de realizar las acciones descritas anteriormente. En algunas realizaciones, dicho software o firmware puede proporcionarse inicialmente al sistema de tratamiento 1800 descargándolo de un sistema remoto a través del sistema informático 1800 (p. ej., por medio de un adaptador de red 1830).
[0191] Las diversas realizaciones introducidas en esta invención pueden implementarse, por ejemplo, mediante circuitos programables (p. ej., uno o más microprocesadores) programados con software y/o firmware, o totalmente en circuitos cableados de propósito especial (no programables), o en una combinación de dichas formas. Los circuitos cableados de propósito especial pueden estar en forma, por ejemplo, de uno o más ASIC, PLD, FPGA, etc.
Observaciones
[0192] La descripción y los dibujos anteriores son ilustrativos y no deben entenderse como limitativos. Se describen numerosos detalles específicos para proporcionar una comprensión minuciosa de la descripción. Sin embargo, en algunos casos no se describen detalles bien conocidos para no complicar la descripción. Además, es posible hacer diversas modificaciones sin desviarse del alcance de las realizaciones. En consecuencia, las realizaciones solo están limitadas por las reivindicaciones adjuntas.
[0193] A lo largo de la presente memoria descriptiva la referencia a "una realización" o "alguna realización" significa que una cualidad, estructura o característica descrita en relación con la realización se incluye en al menos una realización. No todas las apariciones de la frase "en una realización" en diversos lugares de la memoria descriptiva se refieren necesariamente a la misma realización, ni las realizaciones separadas o alternativas son mutuamente excluyentes de otras realizaciones. Además, se describen diversas características que pueden presentar algunas realizaciones y no otras. De manera similar, se describen diversos requisitos que pueden ser requisitos para algunas realizaciones pero no para otras realizaciones.
[0194] Los términos utilizados en esta memoria descriptiva tienen generalmente sus significados ordinarios en la técnica, dentro del contexto de la descripción y en el contexto específico en el que se usa cada término. A continuación, o en otra parte de la memoria descriptiva, se exponen algunos términos que se usan para describir la descripción, al objeto de proporcionar orientación adicional al profesional con respecto a la descripción de la descripción. Para mayor comodidad, se pueden resaltar ciertos términos, por ejemplo, usando cursivas y/o comillas. El uso del resaltado no tiene influencia en el alcance y el significado de un término; el alcance y significado de un término es el mismo, en el mismo contexto, esté o no resaltado. Se apreciará que lo mismo se puede decir de más de una manera. Se reconocerá que una "memoria" es una forma de "almacenamiento" y que los términos pueden en ocasiones usarse indistintamente.
[0195] En consecuencia, se puede usar un lenguaje y sinónimos alternativos para uno cualquiera o varios de los términos expuestos en esta invención, y no se debe dar ninguna importancia especial a si un término se elabora o se expone en esta invención. Para algunos términos se proporcionan sinónimos. La mención de uno o más sinónimos no excluye el uso de otros sinónimos. El uso de ejemplos en cualquier lugar de la presente memoria descriptiva que incluya ejemplos de cualquier término expuesto en esta invención es tan solo ilustrativo, y no pretende limitar adicionalmente el alcance y el significado de la descripción o de cualquier término ilustrado. De forma similar, la descripción no se limita a las diversas realizaciones proporcionadas en la presente memoria descriptiva.
[0196] Sin pretender limitar adicionalmente el alcance de la descripción, a continuación se ofrecen ejemplos de instrumentos, aparatos, procedimientos y sus resultados relacionados según las realizaciones de la presente descripción. Obsérvese que los títulos o subtítulos pueden haberse usado en los ejemplos para comodidad del lector, lo que en ningún modo debe limitar el alcance de la descripción. Salvo si se define de otro modo, todos los términos técnicos y científicos usados en esta invención tendrán el mismo significado que entiende habitualmente un experto en la materia a la que pertenece esta descripción. En caso de conflicto prevalecerá el presente documento, incluidas las definiciones.
Claims (4)
1. Un procedimiento implementado por ordenador para reconocer y entender instrucciones del habla que incluye una o más entidades de nombres propios, que comprende:
recepción de una enunciación (825a, 825b, 1110) de un usuario (805);
realización de un tratamiento de reconocimiento automático del habla primario sobre dicha enunciación (825b) con un medio de reconocimiento automático del habla primario (830) para enviar un conjunto de datos que comprende al menos una secuencia de palabras transcritas nominales y tiempos de inicio y final para cada palabra transcrita nominal dentro de dicha enunciación (825b);
realización de un tratamiento de comprensión de lenguaje natural sobre dicho conjunto de datos con un procesador de comprensión de lenguaje natural (855) para generar y aumentar el conjunto de datos con un significado nominal que incluye un significado semántico para la enunciación y para determinar la posible presencia y el tipo de una o más entidades de nombres propios del habla dentro de dicha enunciación, cada una con un intervalo acústico correspondiente, en el que cada intervalo acústico comprende una sección contigua de audio dentro de dicha enunciación determinada a partir de dichos tiempos de inicio y final de las palabras de la entidad de nombres propios posible correspondiente según se transcribe por el medio de reconocimiento automático del habla primario, que proporciona hipótesis de significado de las transcripciones, teniendo cada hipótesis una puntuación de confianza de comprensión del lenguaje natural (NLU);
realización de un tratamiento de reconocimiento automático del habla secundario sobre cada uno de dichos intervalos acústicos con un medio de reconocimiento automático del habla secundario (860), estando en cada caso dicho medio de reconocimiento automático del habla secundario (860) especializado para tratar un tipo de intervalo acústico dado posible para generar una o más transcripciones y los significados semánticos asociados para cada uno de dichos intervalos acústicos;
sustitución de la una o más transcripciones y los significados semánticos asociados obtenidos de cada reconocimiento secundario de manera apropiada dentro del conjunto de datos para revisar los resultados del medio de reconocimiento automático del habla primario (830) y el procesador de comprensión de lenguaje natural (855) para generar una pluralidad de transcripciones alternativas con una o más hipótesis de significado asociadas, teniendo cada hipótesis una puntuación de confianza de reconocimiento automático del habla (ASR); determinación de una puntuación de confianza final basada en al menos una de entre dicha puntuación de confianza de ASR y dicha puntuación de confianza de NLU de cada transcripción alternativa; y
envío de una o más transcripciones alternativas y los significados semánticos asociados para la enunciación completa basándose en dichas puntuaciones de confianza finales.
2. Un aparato (800, 1800) para reconocer y entender instrucciones del habla que incluye una o más entidades de nombres propios, que comprende:
un procesador (1805) configurado para recibir una enunciación (1110) de un usuario;
estando configurado dicho procesador para realizar un tratamiento de reconocimiento automático del habla primario sobre dicha enunciación con un medio de reconocimiento automático del habla primario (830) para enviar un conjunto de datos que comprende al menos una secuencia de palabras transcritas nominales y tiempos de inicio y final para cada palabra transcrita nominal dentro de dicha enunciación;
estando configurado dicho procesador para realizar un tratamiento de comprensión de lenguaje natural sobre dicho conjunto de datos con un procesador de comprensión de lenguaje natural para generar y aumentar el conjunto de datos con un significado nominal que incluye un significado semántico para la enunciación y para determinar la posible presencia y el tipo de una o más entidades de nombres propios del habla dentro de dicha enunciación, cada una con un intervalo acústico correspondiente, en el que cada intervalo acústico comprende una sección contigua de audio dentro de dicha enunciación determinada a partir de dichos tiempos de inicio y final de las palabras de la entidad de nombres propios posible correspondiente según se transcribe por el medio de reconocimiento automático del habla primario (830), que proporciona hipótesis de significado de las transcripciones, teniendo cada hipótesis una puntuación de confianza de comprensión del lenguaje natural (NLU); estando configurado dicho procesador para realizar un tratamiento de reconocimiento automático del habla secundario sobre cada uno de dichos intervalos acústicos con un medio de reconocimiento automático del habla secundario (860) estando en cada caso dicho medio de reconocimiento automático del habla secundario especializado para tratar un tipo de intervalo acústico dado posible para generar una o más transcripciones y los significados semánticos asociados para cada uno de dichos intervalos acústicos;
estando configurado dicho procesador para sustituir la una o más transcripciones y los significados semánticos asociados obtenidos de cada reconocimiento secundario de manera apropiada dentro del conjunto de datos para revisar los resultados del medio de reconocimiento automático del habla primario y el procesador de comprensión de lenguaje natural para generar una pluralidad de transcripciones alternativas con una o más hipótesis de significado asociadas, teniendo cada hipótesis una puntuación de confianza de reconocimiento automático del habla (ASR)
estando configurado dicho procesador para determinar una puntuación de confianza final basada en al menos una de entre dicha puntuación de confianza de ASR y dicha puntuación de confianza de NLU de cada transcripción alternativa; y
estando configurado dicho procesador para enviar una o más transcripciones alternativas y los significados semánticos asociados para la enunciación completa basándose en dichas puntuaciones de confianza finales.
3. El procedimiento implementado por ordenador según la reivindicación 1, en el que el envío de las transcripciones alternativas y los significados semánticos asociados para la enunciación completa basándose en dichas puntuaciones de confianza finales incluye el suministro de una lista clasificada de las transcripciones alternativas y los significados semánticos asociados.
4. El aparato según la reivindicación 2, en el que dicho procesador que está configurado para enviar las transcripciones alternativas y los significados semánticos asociados para la enunciación completa basándose en dichas puntuaciones de confianza finales incluye dicho procesador que está configurado para proporcionar una lista clasificada de las transcripciones alternativas y los significados semánticos asociados.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361828919P | 2013-05-30 | 2013-05-30 | |
| US201414290890A | 2014-05-29 | 2014-05-29 | |
| PCT/US2014/040412 WO2014194299A1 (en) | 2013-05-30 | 2014-05-30 | Systems and methods for adaptive proper name entity recognition and understanding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2978890T3 true ES2978890T3 (es) | 2024-09-23 |
Family
ID=51989453
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES14803708T Active ES2978890T3 (es) | 2013-05-30 | 2014-05-30 | Sistemas y procedimientos de reconocimiento y comprensión de entidades de nombres propios adaptativas |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP3005152B1 (es) |
| ES (1) | ES2978890T3 (es) |
| WO (1) | WO2014194299A1 (es) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10170114B2 (en) | 2013-05-30 | 2019-01-01 | Promptu Systems Corporation | Systems and methods for adaptive proper name entity recognition and understanding |
| EP3364409A4 (en) * | 2015-10-15 | 2019-07-10 | Yamaha Corporation | INFORMATION MANAGEMENT SYSTEM AND INFORMATION MANAGEMENT PROCESS |
| AU2018365166A1 (en) | 2017-11-13 | 2020-06-04 | Promptu Systems Corporation | Systems and methods for adaptive proper name entity recognition and understanding |
| CN110728150B (zh) * | 2019-10-08 | 2023-06-20 | 支付宝(杭州)信息技术有限公司 | 一种命名实体筛取方法、装置、设备和可读介质 |
| US12315495B2 (en) | 2021-12-17 | 2025-05-27 | Snap Inc. | Speech to entity |
| US12361934B2 (en) | 2022-07-14 | 2025-07-15 | Snap Inc. | Boosting words in automated speech recognition |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1224569A4 (en) * | 1999-05-28 | 2005-08-10 | Sehda Inc | PHRASE BASED DIALOGUE MODELING WITH SPECIAL APPLICATION FOR GENERATING RECOGNITION GRAMMARK FOR LANGUAGE-CONTROLLED USER INTERFACE |
| US8285537B2 (en) * | 2003-01-31 | 2012-10-09 | Comverse, Inc. | Recognition of proper nouns using native-language pronunciation |
| KR100612839B1 (ko) * | 2004-02-18 | 2006-08-18 | 삼성전자주식회사 | 도메인 기반 대화 음성인식방법 및 장치 |
| US7461059B2 (en) * | 2005-02-23 | 2008-12-02 | Microsoft Corporation | Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks |
| US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| US8583436B2 (en) | 2007-12-21 | 2013-11-12 | Nec Corporation | Word category estimation apparatus, word category estimation method, speech recognition apparatus, speech recognition method, program, and recording medium |
| US8108214B2 (en) * | 2008-11-19 | 2012-01-31 | Robert Bosch Gmbh | System and method for recognizing proper names in dialog systems |
| WO2012116110A1 (en) * | 2011-02-22 | 2012-08-30 | Speak With Me, Inc. | Hybridized client-server speech recognition |
-
2014
- 2014-05-30 EP EP14803708.8A patent/EP3005152B1/en active Active
- 2014-05-30 ES ES14803708T patent/ES2978890T3/es active Active
- 2014-05-30 WO PCT/US2014/040412 patent/WO2014194299A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014194299A1 (en) | 2014-12-04 |
| EP3005152B1 (en) | 2024-03-27 |
| EP3005152A4 (en) | 2017-01-25 |
| EP3005152A1 (en) | 2016-04-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12154570B2 (en) | Systems and methods for adaptive proper name entity recognition and understanding | |
| US9449599B2 (en) | Systems and methods for adaptive proper name entity recognition and understanding | |
| US9818401B2 (en) | Systems and methods for adaptive proper name entity recognition and understanding | |
| AU2022263497B2 (en) | Systems and methods for adaptive proper name entity recognition and understanding | |
| AU2023258338B2 (en) | Systems and methods for adaptive proper name entity recognition and understanding | |
| US10229675B2 (en) | Scalable dynamic class language modeling | |
| US20200349923A1 (en) | Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models | |
| US9594744B2 (en) | Speech transcription including written text | |
| KR101445904B1 (ko) | 현장 음성 번역 유지 시스템 및 방법 | |
| KR102191425B1 (ko) | 인터랙티브 캐릭터 기반 외국어 학습 장치 및 방법 | |
| ES2978890T3 (es) | Sistemas y procedimientos de reconocimiento y comprensión de entidades de nombres propios adaptativas | |
| US8566076B2 (en) | System and method for applying bridging models for robust and efficient speech to speech translation | |
| US20150073796A1 (en) | Apparatus and method of generating language model for speech recognition | |
| JP2008243080A (ja) | 音声を翻訳する装置、方法およびプログラム | |
| KR20120045906A (ko) | 코퍼스 오류 교정 장치 및 그 방법 | |
| Rayner et al. | Lightweight spoken utterance classification with CFG, tf-idf and dynamic programming | |
| Lane et al. | Class-based statistical machine translation for field maintainable speech-to-speech translation |