ES2237345B1 - Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes. - Google Patents

Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.

Info

Publication number
ES2237345B1
ES2237345B1 ES200500441A ES200500441A ES2237345B1 ES 2237345 B1 ES2237345 B1 ES 2237345B1 ES 200500441 A ES200500441 A ES 200500441A ES 200500441 A ES200500441 A ES 200500441A ES 2237345 B1 ES2237345 B1 ES 2237345B1
Authority
ES
Spain
Prior art keywords
stage
words
phonic
word
group
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.)
Expired - Fee Related
Application number
ES200500441A
Other languages
English (en)
Other versions
ES2237345A1 (es
Inventor
Josep Prous Blancafort
Marti Balcells Capellades
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Prous Institute for Biomedical Research SA
Original Assignee
Prous Institute for Biomedical Research SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Prous Institute for Biomedical Research SA filed Critical Prous Institute for Biomedical Research SA
Priority to ES200500441A priority Critical patent/ES2237345B1/es
Publication of ES2237345A1 publication Critical patent/ES2237345A1/es
Priority to EP06380037A priority patent/EP1696422A2/en
Priority to JP2006052438A priority patent/JP2006243728A/ja
Priority to US11/362,796 priority patent/US20060195319A1/en
Application granted granted Critical
Publication of ES2237345B1 publication Critical patent/ES2237345B1/es
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

Procedimiento de conversión de fonemas a texto escrito y sistema informático y programa informático correspondientes. En lenguas con una baja correspondencia entre sonidos y letras la conversión de fonemas a texto es compleja. La continua incorporación de neologismos, con una pronunciación adaptada pero con una ortografía original dificulta aún más la conversión. La conversión basada únicamente en diccionarios fonéticos requiere diccionarios extremadamente extensos, y permanentemente actualizados El procedimiento de conversión de fonemas a texto escrito comprende: [a] una etapa de lectura de una secuencia finita de fonemas a convertir que conforman una palabra a convertir, [b] una etapa de generación de una pluralidad de palabras posibles, [c] una etapa de elección de una de dichas palabras posibles como la palabra correcta. Así se desdobla el problema en dos pasos y se puede aplicar en cada paso la estrategia más adecuada.

Description

Procedimiento de conversión de fonemas a texto escrito y sistema informático y programa informático correspondientes.
Campo de la invención
La invención está situada dentro del área del reconocimiento automático de voz, específicamente se refiere a un procedimiento de conversión de fonemas a texto escrito, es decir, un procedimiento capaz de generar una transcripción ortográfica (o sea, un texto escrito) a partir de una transcripción fonética. La invención se refiere asimismo a un sistema informático que comprende un entorno de ejecución apto para ejecutar un programa informático que comprende unos medios de conversión de fonemas a texto escrito aptos para realizar un procedimiento de acuerdo con la invención, y se refiere también a un programa informático directamente cargable en la memoria interna de un ordenador y/o almacenado en un medio apto para ser usado por un ordenador que comprende instrucciones aptas para realizar un procedimiento de acuerdo con la invención.
Estado de la técnica
El problema de la conversión de fonemas a texto escrito no ha generado demasiada atención por parte de la comunidad científica. La gran mayoría de sistemas de reconocimiento de voz lo han solucionado utilizando un diccionario fonético que contiene las palabras y sus respectivas transcripciones fonéticas. A pesar de que los diccionarios utilizados por estos sistemas suelen contener también nombres propios, apellidos, nombres de lugares, etc... no pueden garantizar, al menos por aplicaciones generales, que contengan todas las palabras que aparecerán en el audio. Es imprescindible, pues, dotar a estos sistemas de un sistema alternativo para cuando aparezca una palabra que no figure en el diccionario. La mayoría de artículos publicados sobre la conversión de fonemas a texto han surgido de los grupos de investigación que trabajan en la generación de voz, es decir, el problema inverso, pasar de texto a fonemas. Muchos de estos sistema son bidireccionales y por lo tanto, también pueden ser utilizados para la conversión de fonemas a texto. Dentro de estos sistemas hay dos grandes categorías. Los sistemas que funcionan con normas para convertir la transcripción fonética de entrada a texto, y los que intentan inferir la ortografía de la transcripción fonética buscando similitudes parciales con palabras presentes en un diccionario fonético. Dentro del primer grupo encontramos los trabajos de Fisher [1] y Yannakoudakis y Hutton [2]. Dentro del segundo grupo cabe destacar los trabajos de Parfitt y Sharman [3] y Alleva y Lee [4], basados en modelos ocultos de Markov, el sistema de Lucas y Damper [5] basado en redes neuronales o el método de pronunciación por analogía de Marchand y Damper [6]. En medio de estos dos grupos de estrategia se encuentra el trabajo de Meng [7], que utiliza una estructura jerárquica para incorporar información morfológica. En general es difícil comparar el rendimiento de los diferentes algoritmos entre sí debido a que cada uno ha sido verificado con diccionarios diferentes y por lo tanto las tasas de error y reconocimiento conseguidas por cada uno de los sistemas pueden haber sido distorsionadas por el contenido diferente de cada diccionario.
Sumario de la invención
La invención tiene por objetivo superar estos inconvenientes, en particular, tiene por objeto poder generar una transcripción ortográfica para aquellas palabras que no estén presentes en el diccionario fonético. Esta finalidad se consigue mediante un procedimiento de conversión de fonemas a texto escrito caracterizado porque comprende:
[a] una etapa de lectura de una secuencia finita de fonemas a convertir que conforman una palabra a convertir,
[b] una etapa de generación de una pluralidad de palabras posibles,
[c] una etapa de elección de una de las palabras posibles como la palabra correcta.
Efectivamente, en el problema de la conversión de fonemas a texto, se ha observado que la complejidad depende altamente de la lengua y el registro para el que se diseñe el sistema. En lenguas con una alta correspondencia entre sonido y letras, como por ejemplo el español, la conversión de fonemas a texto puede ser relativamente sencilla, mientras que en otras lenguas que tengan una baja correspondencia entre sonido y letras, como el inglés o el francés, la tarea puede pasar a ser muy difícil. Tomando como ejemplo el inglés, se puede observar que un mismo fonema se puede escribir de muchas formas distintas, como por ejemplo el sonido /k/ se escribe con la letra c en "cat" pero con la letra k en "kitten". Por otro lado, un mismo conjunto de letras puede tener representaciones fonéticas diversas, como por ejemplo la combinación de letras ough se pronuncia /ah f/ en "enough", pero /ow/ en "though", /ao/ en "thought", y /aw/ en "plough". Además a este hecho se le debe añadir la continua incorporación a una lengua de neologismos o palabras prestadas de otras lenguas, sobretodo en sectores técnicos. Palabras que, mientas han adaptado su pronunciación a la pronunciación propia de la lengua, han mantenido su ortografía original.
Por todo ello, el intento de basar la transcripción únicamente en diccionarios fonéticos tropieza con la dificultad de requerir diccionarios extremadamente extensos, y permanentemente actualizados.
En este sentido, el procedimiento de acuerdo con la invención desdobla la transcripción en dos etapas: una primera etapa en la que se transcribe la secuencia finita de fonemas que conforma una palabra en una secuencia de letras (de hecho se generan una pluralidad de secuencias de letras posibles), y una segunda etapa en la que se analiza cual de las secuencias de letras es la correcta. Ello permite desdoblar el problema en dos pasos y se puede aplicar en cada paso la estrategia más adecuada. Así, al transcribir la secuencia de fonemas en una secuencia de letras se puede tener en cuenta las reglas de pronunciación del idioma y se pueden generar incluso palabras escritas que no estén presentes en un diccionario. El procedimiento permite, además, generar una pluralidad de palabras escritas posibles que, preferentemente, pueden ser ordenadas por algún criterio que indique la "bondad" de cada una de ellas, tal como se describirá más adelante. La etapa posterior de análisis permite escoger la palabra correcta (o la que tenga mayor probabilidad de ser correcta) de entre las palabras escritas generadas en la etapa anterior aplicando, por ejemplo, reglas ortográficas, consulta en diccionarios y/o consulta en cualquier otro tipo de modelo de lenguaje. En cualquier caso, el procedimiento es capaz de generar por lo menos una palabra escrita aun en el caso que la etapa posterior de análisis no pueda confirmar la bondad de la palabra escrita.
El procedimiento de la presente invención es apto para transcribir una secuencia de fonemas en una secuencia de letras, sin embargo requiere que la secuencia de entrada (la de fonemas) tenga la misma cantidad de elementos que la secuencia de salida. Dado que la correspondencia entre fonemas y letras no es una a una y, de hecho, ni siquiera mantiene una proporción constante entre fonemas y letras (como ya se ha mostrado en el apartado anterior), es necesario agrupar los fonemas en lo que llamaremos grupos fónicos y a su vez, agrupar las letras en lo que llamaremos grafemas de tal modo que la transcripción fonética o secuencia de entrada tenga el mismo número de elementos (grupos fónicos) que la transcripción ortográfica o secuencia de salida (formada por grafemas). Más concretamente, se define un grupo fónico como un conjunto de uno o más fonemas que se corresponde con un grafema. A su vez, un grafema se define como un conjunto de una o más letras que se corresponde con un grupo fónico.
La invención también tiene por objeto un sistema informático que comprende un entorno de ejecución apto para ejecutar un programa informático caracterizado porque comprende unos medios de conversión de fonemas a texto escrito aptos para realizar un procedimiento de acuerdo con la invención.
La invención tiene asimismo por objeto un programa informático directamente cargable en la memoria interna de un ordenador caracterizado porque comprende instrucciones aptas para realizar un procedimiento de acuerdo con la invención.
La invención tiene igualmente por objeto un programa informático almacenado en un medio apto para ser usado por un ordenador caracterizado porque comprende instrucciones aptas para realizar un procedimiento de acuerdo con la invención.
Breve descripción de los dibujos
Otras ventajas y características de la invención se aprecian a partir de la siguiente descripción, en la que, sin ningún carácter limitativo, se relatan unos modos preferentes de realización de la invención, haciendo mención de los dibujos que se acompañan. Las figuras muestran:
Fig. 1, una malla de formación de palabras posibles.
Descripción detallada de unas formas de realización de la invención
A continuación se describen unos procedimientos de acuerdo con la invención, para la conversión de fonemas a texto en los que se asocia a cada grupo fónico que conforma una palabra todos sus posibles grafemas, es decir, todas sus posibles representaciones ortográficas, se calcula la probabilidad total de cada una de las posibles combinaciones de grafemas que podrían representar el conjunto de fonemas que se desea convertir, y, teniendo en cuenta las probabilidades calculadas y un modelo de lenguaje, se escoge la mejor combinación de grafemas de entre todas las posibles. Específicamente, el procedimiento comprende las tres etapas [a], [b] y [c] indicadas anteriormente:
[a] una etapa de lectura de una secuencia finita de fonemas a convertir que conforman una palabra a convertir,
[b] una etapa de generación de una pluralidad de palabras posibles,
[c] una etapa de elección de una de las palabras posibles como la palabra correcta.
Preferentemente, en el procedimiento de acuerdo con la invención, la etapa [b] de generación de una pluralidad de palabras posibles comprende, a su vez:
[b1] una etapa de adjudicación a cada grupo fónico de todos los grafemas posibles asociados a dicho grupo fónico,
[b2] una etapa de formación de todas las palabras posibles a partir de las adjudicaciones de la etapa [b1],
[b3] una etapa de cálculo de la probabilidad de ocurrencia de una pluralidad de las palabras posibles de la etapa [b2] anterior.
La formación de todas las palabras no debe entenderse de una forma estricta, en el sentido que se genera necesariamente un listado con todas las palabras posibles sino que es suficiente con que se considere o plantee todas las posibles combinaciones de grafemas, aunque finalmente no se realicen todas las combinaciones posibles. En este sentido, como puede verse en el ejemplo descrito más adelante, una forma de realizar esta etapa es planteando una malla de interconexiones entre todos los grafemas posibles pero sin llegar a desarrollar todas las palabras posibles, ya que existen métodos, como se comentará más adelante, mediante los cuales no es necesario desarrollar todas las palabras de una forma sistemática sino que permite desarrollar de una forma ordenada las de mayor probabilidad de ocurrencia en primer lugar, de manera que se puede interrumpir el desarrollo de palabras cuando se alcance un cierto valor de probabilidad de ocurrencia, o cuando se alcance una cierta cantidad de palabras desarrolladas, sin necesidad de desarrollar las restantes palabras, que tendrán un valor de ocurrencia menor. Ello es posible, por ejemplo, empleando el algoritmo de Viterbi [8] para la formación de las palabras posibles y cálculo de su probabilidad de ocurrencia. Por lo tanto, en el presente caso se debe interpretar que la palabra "formación" quiere decir mas bien "planteo" o "definición".
Asimismo, por el mismo motivo se indica en la etapa siguiente que se calcula la probabilidad de una pluralidad de las palabras posibles, pero no necesariamente de todas ellas ya que no siempre se calculará la probabilidad de todas ellas, por ejemplo si se emplea el ya citado algoritmo de Viterbi.
Por otro lado, en el caso que haya una única palabra posible, debe entenderse que, de una forma excepcional, la expresión "pluralidad" incluye también este caso en el que realmente se calculará una única probabilidad de ocurrencia.
Ventajosamente la etapa [c] de elección de una de dichas palabras posibles como la palabra correcta comprende, a su vez:
[c1] una etapa de selección de las palabras posibles de la etapa [b3] en función de su probabilidad de ocurrencia calculada, formando un subgrupo que comprende las de mayor probabilidad de ocurrencia.
Efectivamente, como ya se ha comentado anteriormente una alternativa es obtener todas las palabras posibles para tenerlas todas en cuenta en el momento de elegir la palabra correcta. Sin embargo, es posible que la cantidad de palabras posibles generadas sea muy elevada y/o que la etapa de elección de la palabra correcta sea más o menos laboriosa en función de la cantidad de palabras posibles generadas, por lo que puede ser conveniente limitar de alguna forma la cantidad de palabras posibles a tratar. El hecho de calcular la probabilidad de ocurrencia permite emplear esta probabilidad de ocurrencia como herramienta de filtrado, de manera que solamente se generan las palabras posibles con mayor probabilidad de ocurrencia, formando el citado subgrupo. De esta manera se agiliza la etapa de generación de palabras posibles y, seguramente, también la etapa de elección de la palabra correcta. Esto puede ser realizado de una forma particularmente eficaz empleando el ya citado algoritmo de Viterbi, que permite generar la palabras posibles por orden descendente de probabilidad de ocurrencia, lo que permite formar el citado subgrupo de manera que contenga las palabras posibles de mayor probabilidad de ocurrencia.
En general, en la presente descripción y reivindicaciones se han descrito la etapas siguiendo un determinado orden. Sin embargo, debe entenderse que este orden es simplemente un orden explicativo y no debe ser necesariamente la secuencia temporal de las diversas etapas, es decir, el procedimiento de la invención puede realizar las etapas en cualquier otra secuencia temporal que sea compatible con el concepto de la invención. Asimismo es posible que se realicen dos o más etapas total o parcialmente en paralelo. Debe entenderse que las reivindicaciones cubren cualquiera de estas posibilidades. Así, por ejemplo, en el caso del apartado anterior, al emplear el algoritmo de Viterbi, las etapas [b2], [b3] y parcialmente [c1] (por lo que respecta a la formación del subgrupo) se realizan simultáneamente.
Preferentemente el subgrupo está formado por como máximo las 500 palabras posibles de mayor probabilidad de ocurrencia, y muy preferentemente por como máximo las 100 palabras posibles de mayor probabilidad de ocurrencia. Efectivamente, estos valores han mostrado ser un buen equilibrio entre complejidad del sistema necesario (por requerimientos técnicos, como por ejemplo velocidad de procesado) y calidad del resultado obtenido. Por el otro lado, es ventajoso que el subgrupo tenga por lo menos 10 palabras posibles, lógicamente siempre y cuando el grupo de todas las palabras posibles tenga más de 10 palabras posibles. En caso contrario el riesgo de descartar la palabra posible que finalmente sería la correcta es demasiado elevado y el procedimiento no permite obtener buenos resultados.
Ventajosamente la etapa [c] de elección de una de las palabras posibles como la palabra correcta comprende, adicionalmente:
[c2] una etapa de búsqueda de las palabras posibles del subgrupo de la etapa [c1] anterior en un modelo de lenguaje.
Efectivamente, una vez formadas las palabras posibles se debe elegir cual es la palabra correcta. Ventajosamente se emplea un modelo de lenguaje que puede ser, por ejemplo, unas reglas de ortografía o un diccionario convencional, y se puede tomar como palabra correcta aquella palabra con la probabilidad de ocurrencia más elevada que sea correcta de acuerdo con el modelo de lenguaje, es decir, que cumpla con las reglas de ortografía y/o que conste en el diccionario. Pero preferentemente el modelo de lenguaje es un modelo de primer orden o sea, un diccionario que incluya, por ejemplo, la frecuencia con la que cada una de las palabras es utilizada (probabilidad lingüística). Es posible perfeccionar aun más el sistema empleando un modelo de lenguaje de segundo orden, es decir, un diccionario en el que se tenga en cuenta la frecuencia con la que cada palabra es utilizada en función de cuál ha sido la palabra anterior. En estos últimos dos casos (modelos de lenguaje de primer y segundo orden) la forma de elegir la palabra correcta es diferente: se determina la probabilidad lingüística de todas las palabras posibles del subconjunto (o del conjunto total) de palabras posibles y se selecciona como palabra correcta aquella palabra posible que tenga una mayor probabilidad lingüística. Es decir, la palabra finalmente escogida lo es en función de la probabilidad lingüística mientras que la probabilidad de ocurrencia solamente se emplea para formar el subconjunto (caso de emplear la variante de procedimiento que prevé formar dicho subconjunto). Como puede verse, esta forma de elegir la palabra correcta puede ser aplicada al subconjunto de palabras posibles o bien a todo el conjunto de palabras posibles. La elección entre ambas alternativas vuelve a ser una cuestión de equilibrio entre complejidad técnica del sistema informático empleado y la calidad del resultado obtenido.
El procedimiento de acuerdo con la invención permite resolver de una forma particularmente ventajosa la situación en la que ninguna de las palabras posibles buscadas en el modelo de lenguaje es encontrada: se elige la palabra posible con mayor probabilidad de ocurrencia calculada. Efectivamente, dado que se dispone de dos parámetros para determinar la "bondad" de una palabra posible (su probabilidad de ocurrencia y su probabilidad lingüística), en el caso de fallar el parámetro más determinante (la probabilidad lingüística) aun queda el otro parámetro (la probabilidad de ocurrencia) para efectuar una elección. El sistema es, por lo tanto, muy autónomo y puede enfrentarse a la transcripción de textos con palabras nuevas y/o desconocidas con resultados satisfactorios.
Preferentemente el cálculo de las probabilidades de ocurrencia de cada una de las palabras posibles tiene en cuenta el valor de las probabilidades de transición entre pares de correspondencias grupo fónico-grafema que forman dicha palabra posible.
Para convertir una transcripción fonética a texto, preferentemente primero se generan todas las posibles combinaciones de grafemas (o al menos una pluralidad de ellas) con las que se puede escribir aquella transcripción fonética. Para este proceso se tiene en cuenta las correspondencias grupos fónicos-grafemas que pueden haber sido introducidas manualmente en su totalidad o, preferentemente, pueden haber sido encontradas durante una etapa de entrenamiento. Esta fase da lugar a una gran malla de nodos enlazados (ver Fig. 1) entre sí donde cada nodo representa una correspondencia grupo fónico-grafema y donde los enlaces entre nodos representan la transición entre cada par de correspondencias grupo fónico-grafema y tienen asignada una probabilidad de transición. Una vez construida la malla se calculan ordenadamente (de mayor a menor) las N representaciones ortográficas más probables para aquella transcripción fonética determinada, generando una lista de posibles palabras donde la primera posición la ocupa la representación más probable. Una vez la lista ha sido generada, se reordena utilizando un modelo de lenguaje de primer orden (aunque también se podrían utilizar modelos de mayor orden). Es decir, las palabras de la lista que son más frecuentes en el idioma del modelo de lenguaje pasan a ocupar las primeras posiciones en frente a otras palabras que, a priori, no tienen ningún significado o contienen errores ortográficos. Alternativamente, como ya se ha comentado, y en función del modelo de lenguaje escogido, puede ser suficiente con que se escoja la palabra más probable que pueda ser validada por el diccionario o las reglas ortográficas.
Se considera que cada palabra está formada conjuntamente por su representación fonética y su representación ortográfica. Cada una de estas representaciones a su vez está formada por una secuencia de símbolos. Si se define la transcripción fonética de una palabra s como \phi(S) = p_{1}p_{2} ... p_{m} y su ortografía como \omega(S) = l_{1}l_{2}... l_{m'}, donde p_{i} son fonemas y l_{i} son letras, las dos representaciones se pueden alinear agrupando los fonemas en grupos fónicos f_{i} y las letras en grafemas g_{i} de tal modo que la nueva representación fonética \phi(S) = f_{1}f_{2}... f_{n} y la nueva representación ortográfica \omega(s) = g_{1}g_{2} ...g_{n}, tengan el mismo número de símbolos y que haya una correspondencia uno a uno entre ellos. Entonces la palabra s puede estar representada conjuntamente por la transcripción fonética y su representación ortográfica a través de los nuevos símbolos que estarán formados por correspondencias entre grupos fónicos y grafemas. Si se define la nueva representación como \gamma(S) =c_{1}c_{2}...c_{n}, donde c_{i} =< f,g >_{i} representa una correspondencia entre un grupo fónico f y un grafema g, entonces se puede asociar a la palabra s la probabilidad conjunta
P(\gamma (s)) = P(c_{1}c_{2}...c_{n}) = P(c_{1}) \times P(c_{2}|c_{1}) \times P(c_{3}|c_{1}c_{2}) \times ...\times P(c_{n}|c_{1}...c_{n-1}).
Asumiendo que la representación c_{1}c_{2}...c_{n} es una cadena de Markov, la expresión se simplifica a:
1
Entonces pasar de la representación fonética a la representación ortográfica equivale a encontrar la secuencia de grafemas g_{1n} * que, dada la secuencia de grupos fónicos f_{1n}, maximiza la probabilidad conjunta P(\gamma(s)) Formalmente se puede expresar:
g_{1n} \text{*} = arg \ max P(\gamma (s)|f_{1n})
Teóricamente P(\gamma(s)|f_{1n}) debería ser la suma sobre todas las posibles alineaciones de grupos fónicos y grafemas que dieran como resultado la misma palabra s, pero a la práctica, para simplificar el proceso de búsqueda, sólo se considera la alineación que tiene probabilidad máxima. Efectivamente, una vez construida la malla de nodos, puede haber dos caminos distintos (por lo tanto con símbolos distintos) que lleven a la misma transcripción ortográfica. Por ejemplo, si tenemos la palabra inglesa "talk" y sus fonemas T AO K, podría pasar que un posible camino en la malla fuera T-t, AO-a, K -1k, y que otro fuera T-t, AO-al, K-k. Son dos caminos distintos que llevan a la misma solución: "talk". Si el primer camino tuviera probabilidad 0.32 y el segundo 0.15, la probabilidad real de la transcripción "talk" sería la suma de esas dos probabilidades, es decir, 0.47. Entonces, para calcular la probabilidad total de una transcripción ortográfica se tendrían que calcular las probabilidades de todas las posibles transcripciones ortográficas que genera la malla de nodos, y por lo tanto ya no tendría sentido utilizar el algoritmo de Viterbi que permite obtener las probabilidades de forma ordenada ya que igualmente se tendrían que calcular todas. Para evitar el coste computacional que esto implicaría, es preferible hacer una aproximación y asumir que la probabilidad de una transcripción ortográfica determinada (por ejemplo "talk") es la probabilidad de la transcripción ortográfica más probable. Es decir, en el ejemplo anterior, se asumiría que la probabilidad de la palabra "talk" sería 0.32 en vez de 0.47. En general los resultados no se ven afectados de una forma significativa por esta aproximación.
Para poder generar texto a partir de la transcripción fonética, es ventajoso que el sistema realice antes una etapa de entrenamiento o aprendizaje para aprender, a través de un listado de ejemplos (el conjunto de entrenamiento), las relaciones implícitas que hay entre las dos representaciones (grupos fónicos y grafemas). Una vez el sistema ha sido entrenado es capaz de generar la versión en texto de cualquier transcripción fonética, incluso si esta transcripción no aparecía en el conjunto de entrenamiento.
Preferentemente la etapa de entrenamiento consiste de tres fases. En la primera fase (etapa [d1]) se determinan todas las correspondencias existentes entre fonemas o grupos de fonemas (grupos fónicos) y letras o grupos de letras (grafemas) en el conjunto de entrenamiento, de tal modo que cada palabra tenga el mismo número de grupos fónicos que de grafemas y de tal manera que cada grupo fónico tenga por lo menos una correspondencia con un grafema. Por lo tanto pueden existir correspondencias de más de una letra con un solo fonema y viceversa, como ya se ha comentado anteriormente. Una vez encontradas estas correspondencias básicas, se ordenan automáticamente por orden de prioridad (etapa [d2]) y se utilizan para alinear cada una de las palabras del conjunto de entrenamiento símbolo a símbolo (etapa [d3]), es decir, cada grafema con su grupo fónico correspondiente. El orden de prioridad quiere decir que se deben priorizar los grafemas "dobles" en vez de los simples cuando en una palabra los dos alineamientos fueran posibles. Efectivamente, si se realiza el alineamiento de las palabras del conjunto de entrenamiento sin fijar ninguna prioridad, se pueden producir algunos alineamientos incorrectos, sobre todo en el caso de letras dobles. Por ejemplo la palabra ABERRANT se puede alinear de la siguiente forma: *A B ER R A N T* - #AE B EH R AH N T# en vez de *A B E RR A N T* - #AE B EH R AH N T# (en el primer caso al grupo fónico EH se le asocia el grafema ER y al grupo fónico R se le asocia el grafema R, mientras que en el segundo caso al grupo fónico EH se le asocia el grafema E y al grupo fónico R se le asocia el grafema RR). Por ello resulta ventajoso establecer un orden de prioridad que escoja los grafemas "dobles" en vez de los simples cuando en una palabra sean posibles ambos alineamientos. Una vez alineadas todas las palabras se estiman las probabilidades de transición entre pares de grupos fónicos-grafemas (etapa [d4]) y estas probabilidades son las que se utilizarán más tarde para convertir la transcripción fonética a texto.
Para entrenar el sistema se parte de un diccionario fonético. Este diccionario contiene cada palabra con su respectiva transcripción fonética. Sin embargo, en general, un diccionario fonético no especificará que letra o grupo de letras corresponde a cada fonema o grupo fónico. Este proceso se hace preferentemente de la siguiente manera:
- primero se proporciona al sistema una lista de los grafemas más típicos que representan cada fonema (etapa [d11]),
- con estas correspondencias el sistema intenta segmentar cada una de las palabras del conjunto de entrenamiento con el objetivo de que la representación fonética y la representación en grafemas tengan el mismo número de símbolos. Si encuentra una palabra que no puede ser segmentada con las correspondencias existentes, pide al usuario que entre una nueva correspondencia grupo fónico-grafema (etapas [d12] y [d13]). Y así hasta que se tiene una lista de todas las posibles correspondencias grupos fónicos-grafemas que aparecen en el conjunto de entrenamiento,
- una vez conseguida esta lista el sistema vuelve a alinear todas las palabras pero esta vez lo hace teniendo en cuenta todas las correspondencias encontradas en el conjunto de entrenamiento y no solo las que se le han proporcionado de entrada (etapa [d13] citada anteriormente). Preferentemente el proceso de alineación es recursivo y utiliza el algoritmo de Viterbi [8].
Una vez se ha obtenido el diccionario con los grafemas y los grupos fónicos debidamente alineados, se deben estimar las probabilidades de transición de una correspondencia a otra, P(c_{i}|c_{i-1}) = P(< f, g >_{i}|< f, g >_{i-1}). La forma más simple de hacerlo sería contar el número de veces que ocurre la transición c_{i-1}c_{i} y dividirlo por el número de veces que ocurre c_{i-1}. Es decir,
P(c_{i}|c_{i-1}) = \frac{|c_{i-1}c_{i}|}{|c_{i-1}|}
Esta aproximación es válida si el conjunto de entrenamiento es suficientemente grande y contiene varias realizaciones de todas las observaciones posibles. Sin embargo en la mayoría de casos es difícil tener grandes conjuntos de entrenamiento que permitan obtener una buena estimación de las probabilidades de transición. Por ejemplo, que la secuencia c_{x}c_{y} no ocurra en el conjunto de entrenamiento no implica que en un entorno real no se pueda encontrar dicha secuencia. Por lo tanto es ventajoso encontrar un método que también permita estimar las probabilidades de las secuencias que no aparecen en el conjunto de entrenamiento. Y esto se consigue preferentemente interpolando (en la presente descripción y reivindicaciones debe entenderse que la expresión interpolar se refiere a la combinación de un modelo de mayor orden con uno de menor orden para estimar un valor que no existe, tal como es habitual en este sector de la técnica) las estimaciones de P(c_{i}|c_{i-1}) con las estimaciones de menor orden:
P(c_{i}|c_{i-1}) = \frac{max\{|c_{i-1}c_{i}|-D,0\}}{|c_{i-1}|} + \lambda (c_{i-1})P(c_{i})
Esta fórmula es válida para todas las secuencias de dos símbolos, tanto en el caso de que hayan aparecido 1, 2 o más veces en el conjunto de entrenamiento como en el caso de que no apareciesen en el conjunto de entrenamiento. Es decir, después del recálculo (que usualmente se denomina suavizado), todas las probabilidades estimadas con el método "tradicional" habrán cambiado por su valor "suavizado" y a su vez, también se habrá asignado un valor a las secuencias que no aparecieron en el conjunto de entrenamiento. El nuevo valor, en ambos casos, es el que sale de calcular la fórmula anterior. Debe observarse que D es una constante que tiene el mismo valor para todas las probabilidades a suavizar.
Se puede observar que el primer término es la frecuencia de transición de c_{i-1} a c_{i} en el conjunto de entrenamiento, pero con un factor de descuento D:
D=\frac{N_{1} (c_{i-1}c_{i})}{N_{1} (c_{i-1}c_{i}) + 2N_{2} c_{i-1}c_{i}}
Donde N_{1}(c_{i-1}c_{i}) se define como el número de secuencias c_{i-1}c_{i} que ocurren exactamente una vez en el conjunto de entrenamiento, y N_{2}(c_{i-1}c_{i}) se define como el número de secuencias c_{i-1}c_{i} que ocurren exactamente dos veces. El objetivo de este factor de descuento es intentar equilibrar la estimación de las probabilidades disminuyendo el peso de las transiciones que ocurrieron poco en el conjunto de entrenamiento para repartirlo entre las transiciones que no aparecieron, asumiendo que sus probabilidades serán similares. Preferentemente el valor de D es el indicado anteriormente, sin embargo es posible definir otros valores de D que también pueden dar resultados satisfactorios.
A su vez, P(c_{i}) se define como el cociente entre el número de c_{i-1} diferentes que preceden c_{i} y el número total de secuencias diferentes c_{i-1}c_{i} que se encuentran en el conjunto de entrenamiento. Formalmente,
P(c_{i})=\frac{N_{1+} (\bullet c_{i})}{N_{1+} (\bullet \bullet)}
Donde N_{1+}(\bulletc_{i}) +=|{c_{i-1} :|c_{i-1}c_{i}|>0}| y N_{1+}(\bullet\bullet) se define de forma equivalente. Es decir, N_{1+}(\bulletc_{i}) es el número total de correspondencias diferentes que preceden a la correspondencia c; en el conjunto de entrenamiento y N_{1+} (\bullet\bullet) es el número total de combinaciones c_{i-1}c_{i} diferentes que aparecen en el conjunto de entrenamiento. Para que las probabilidades sigan sumando 1, \lambda(c_{i-1}) debe definirse como:
\lambda (c_{i-1}) = \frac{D}{|c_{i-1}|}N_{1+} (c_{i-1}\bullet )
Una vez se han estimado las probabilidades de transición, el sistema está a punto para convertir una secuencia de fonemas a texto. Por cada fonema o grupo de fonemas el sistema busca todas sus posibles correspondencias en grafemas y genera una malla de nodos o malla de formación de palabras posibles (también denominada graf) con todas las posibles combinaciones de correspondencias. En este graf cada nodo representa una correspondencia grupo fónico-grafema y cada enlace entre dos nodos tiene asociado una probabilidad de transición. Una vez el graf está generado se pueden buscar ordenadamente de mayor a menor, las N combinaciones de correspondencias más probables utilizando el algoritmo de Viterbi [8] y las probabilidades de transición que se han calculado durante la etapa de entrenamiento. En la lista generada las secuencias más probables ocupan las primeras posiciones y las menos probables las últimas. Sin embargo, puede ocurrir que las primeras secuencias de la lista no correspondan a palabras reales, que en principio conforman el espacio de salida. Podemos entonces aplicar un modelo de lenguaje para filtrar los mejores resultados. La información que contiene el modelo de lenguaje depende del orden del modelo. Un modelo de primer orden consistirá de las probabilidades de cada palabra en inglés. Un modelo de segundo orden, a parte de las probabilidades de cada palabra por sí sola, también contendría las probabilidades de transición de una palabra a otra. En caso de utilizar un modelo de primer orden, el resultado final de la conversión de fonemas a texto saldría de escoger, de entre todas las secuencias de grafemas de la lista, la secuencia más probable en inglés.
Como puede verse, el sistema es capaz de hacer la conversión absolutamente sin diccionario e incluso puede tener criterios de selección para escoger la palabra más adecuada de entre una pluralidad de palabras posibles, por ejemplo mediante criterios probabilísticos. Para lo único para lo que se emplea el diccionario o el modelo de lenguaje es para mirar si existen (y, en su caso, con que probabilidad lingüística) unas palabras ya escritas con letras en la etapa anterior. De esta manera, combinando ambas etapas, se tiene un sistema muy robusto, en el sentido que siempre es capaz de realizar una transcripción a texto escrito combinado simultáneamente con la calidad que permite garantizar el hecho que, en la práctica, la gran mayoría de palabras escritas habrán sido confirmadas como correctas por su presencia en el diccionario o modelo de lenguaje.
Ejemplos Ejemplo 1 Entrenamiento
Para entrenar el sistema se parte de un conjunto o diccionario de entrenamiento. Por ejemplo, suponiendo un conjunto de entrenamiento en idioma inglés:
\vskip1.000000\baselineskip
2
\vskip1.000000\baselineskip
El conjunto de entrenamiento no nos indica la correspondencia entre fonemas y letras. Por ello es necesario realizar una etapa de alineación entre la representación ortográfica y la representación fonética. Para que el sistema pueda realizar esta alineación se le debe proporcionar un conjunto inicial de posibles correspondencias entre fonemas y letras. Por ejemplo:
AE-A, AA-A, AH-A, EY-A, AO-O, EH-E, ER-ER, B-B, K-C, K-CK, K-CC, S-S, D-D, JH-G, T-T, T-TT, IY-I, IH-I, IY-I, F-F, V-V, G-G, HH-H, IX-I, DX-D, L-LL ...
Donde el primer símbolo de cada pareja representa un fonema o grupo fónico y el segundo símbolo representa un grafema o letra. Después de un proceso apoyado por el usuario donde se encuentran nuevas correspondencias entre grupos fónicos y grafemas, se efectúa el alineamiento de las palabras contenidas en el conjunto o diccionario de entrenamiento:
3
A continuación se calculan las probabilidades de transición entre parejas de grupos fónicos-grafemas:
EH-E N-N 0.157495
EH-E N-NH 0.000142015
EH-E N-NN 0.0161897
EH-E N-NNE 0.000426046
EH-E NG-N 0.00710076
EH-E NG-NG 0.00134914
Ejemplo 2 Transcripción de una secuencia fonética
Una vez se han obtenido las probabilidades de transición es posible generar la representación ortográfica de cualquier transcripción fonética. Si, por ejemplo, se desea obtener la representación ortográfica de la transcripción fonética:
#AE K T AH V EY T#
entonces el sistema genera una malla con todas las posibles representaciones ortográficas de la palabra, donde cada nodo representa una correspondencia grupo fónico-grafema y donde cada transición lleva asociada una probabilidad. En la figura 1 se muestra un ejemplo de malla.
Una vez generada la malla se obtienen las 500 posibles transcripciones más probables:
#AE K T AH V EY T#
*ACTOVATE* 2.91072e-010
*ACTAVATE* 1.51033e-010
*ACTEVATE* 1.01975e-010
*ACTIVATE* 9.86199e-011
*ACHTOVATE* 7.92504e-012
*ACTOVET* 5.88882e-012
*ACTOVAIT* 5.69468e-012
*ACKTOVATE* 4.15065e-012
*ACHTAVATE* 4.11218e-012
*ACTOVAITE* 3.0663 8e-012
*ACTAVET* 3.05562e-012
*ACTAVAIT* 2.95488e-012
a continuación se buscan todas estas palabras posibles en el modelo de lenguaje, que en el presente ejemplo se trata de un modelo de lenguaje de primer orden, es decir un diccionario que incluye para cada palabra el porcentaje de frecuencia de aparición de dicha palabra. Finalmente se escoge la palabra posible que tiene la probabilidad más elevada de acuerdo con el modelo de lenguaje y se considera que es la palabra correcta. En el presente ejemplo sería:
*ACTIVATE*
En el caso que ninguna de las palabras posibles generadas fuese detectada en el modelo de lenguaje, se selecciona como palabra correcta aquella palabra posible que tenía la probabilidad de transcripción más elevada, que en el presente ejemplo sería:
*ACTOVATE*
Referencias
[1] W.M. Fisher. "A Statistical text-to-phone Function Using Ngrams and Rules", ICASSP 1999, pp. 649-652.
[2] E.J. Yannakoudakis, and P.J. Hutton. "Generation of spelling rules from phonemes and their implications for large dictionary speech recognition", in Speech Communication, vol. 10, pp.381-394, 1991.
[3] S.H. Parfitt and R.A. Sharman. "A bidirectionnal model of English pronunciation". In Proceedings of the European Conference on Speech Communication and Technology (Euro-speech), volume 2, pages 801-804, september 1991.
[4] Alleva, F., Lee, K.F. "Automatic new word acquisition: spelling from acoustics". Proceedings of the DARPA Speech and Natural Language Workshop, pp. 266-270, October 1989.
[5] S.M. Lucas and R. I. Damper. "Syntactic neural networks for birirectional text-phonetic transiation", in Talking Machines: Theories, Models and Desings. Elsevier Science Publishers.
[6] Y. Marchand and R. Damper. "A Multi-Strategy Approach to Improving Pronunciation by Analogy", in Computational Linguistics, vol. 26, un. 2, pp. 195-219, 2000.
[7] H. Meng. "A hierarchical representation for bi-directional spelling-to-pronunciation/pronunciation-to-spelling generation", Speech Communication 2000, no. 33, pp. 213-239.
[8] Viterbi, A.J. "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm", in IEEE Transactions on Information Theory IT-13(2), 260-269, 1967.

Claims (18)

1. Procedimiento de conversión de fonemas a texto escrito caracterizado porque comprende:
[a] una etapa de lectura de una secuencia finita de fonemas a convertir que conforman una palabra a convertir,
[b] una etapa de generación de una pluralidad de palabras posibles,
[c] una etapa de elección de una de dichas palabras posibles como la palabra correcta.
2. Procedimiento según la reivindicación 1, caracterizado porque dicha etapa [b] de generación de una pluralidad de palabras posibles comprende, a su vez:
[b1] una etapa de adjudicación a cada grupo fónico de todos los grafemas posibles asociados a dicho grupo fónico,
[b2] una etapa de formación de todas las palabras posibles a partir de las adjudicaciones de la etapa [b1],
[b3] una etapa de cálculo de la probabilidad de ocurrencia de una pluralidad de las palabras posibles de la etapa [b2] anterior.
3. Procedimiento según la reivindicación 2, caracterizado porque dicha etapa [c] de elección de una de dichas palabras posibles como la palabra correcta comprende, a su vez:
[c1] una etapa de selección de las palabras posibles de la etapa [b3] en función de su probabilidad de ocurrencia calculada, formando un subgrupo que comprende las de mayor probabilidad de ocurrencia.
4. Procedimiento según la reivindicación 3, caracterizado porque dicho subgrupo está formado por como máximo las 500 palabras posibles de mayor probabilidad de ocurrencia, y preferentemente por como máximo las 100 palabras posibles de mayor probabilidad de ocurrencia.
5. Procedimiento según una de las reivindicaciones 3 ó 4, caracterizado porque dicha etapa [c] de elección de una de dichas palabras posibles como la palabra correcta comprende, adicionalmente:
[c2] una etapa de búsqueda de dichas palabras posibles de dicho subgrupo de la etapa [c1] anterior en un modelo de lenguaje.
6. Procedimiento según una de las reivindicaciones 1 ó 2, caracterizado porque dicha etapa [c] de elección de una de dichas palabras posibles como la palabra correcta comprende:
[c1'] una etapa de búsqueda de dichas palabras posibles de la etapa [b] anterior en un modelo de lenguaje.
7. Procedimiento según una de las reivindicaciones 5 ó 6, caracterizado porque dicho modelo de lenguaje es un modelo de primer orden.
8. Procedimiento según una de las reivindicaciones 5 ó 6, caracterizado porque dicho modelo de lenguaje es un modelo de segundo orden.
9. Procedimiento según cualquiera de las reivindicaciones 2 a 8, caracterizado porque si ninguna de las palabras posibles buscadas en dicho modelo de lenguaje es encontrada, se elige la palabra posible con mayor probabilidad de ocurrencia calculada.
10. Procedimiento según cualquiera de las reivindicaciones 2 a 9, caracterizado porque dicho cálculo de las probabilidades de ocurrencia de cada una de las palabras posibles tiene en cuenta el valor de las probabilidades de transición entre correspondencias grupo fónico-grafema.
11. Procedimiento según cualquiera de las reivindicaciones 1 a 10, caracterizado porque comprende una etapa de aprendizaje que comprende, a su vez, las siguientes etapas:
[d1] determinación de todas las correspondencias grupo fónico–grafema existentes entre los fonemas y las letras de un determinado conjunto de entrenamiento,
[d2] ordenación de dichas correspondencias por orden de prioridad,
[d3] alineación de cada grupo fónico del conjunto de entrenamiento con su grafema correspondiente,
[d4] cálculo de las probabilidades de transición entre cada par de grupo fónico-grafemas.
12. Procedimiento según la reivindicación 11, caracterizado porque dicha etapa [d1] comprende las siguientes subetapas:
[d11] introducción de un primer grupo de pares de grupos fónicos-grafemas más típicos,
[d12] segmentación de cada una de las palabras del conjunto de entrenamiento y detección de palabras que no han podido ser segmentadas por presentar pares de grupos fónicos-grafemas no presentes en dicho primer grupo,
[d13] introducción de los pares de grupos fónicos-grafemas necesarios para poder completar la segmentación de la subetapa [d12] de manera que dicho primer grupo queda completado con todos los pares de grupos fónicos-grafemas presentes en dicho conjunto de entrenamiento.
13. Procedimiento según una de las reivindicaciones 11 ó 12, caracterizado porque dicho proceso de alineación es recursivo y utiliza el algoritmo de Viterbi.
14. Procedimiento según cualquiera de las reivindicaciones 11 a 13, caracterizado porque dicha etapa [d4] calcula asimismo las probabilidades de transición de pares de grupos fónicos-grafemas no presentes en el conjunto de entrenamiento.
15. Procedimiento según la reivindicación 14, caracterizado porque dicho cálculo de las probabilidades de transición de pares de grupos fónicos-grafemas no presentes en el conjunto de entrenamiento se realiza interpolando las probabilidades de transición de pares de grupos fónicos-grafemas no presentes en el conjunto de entrenamiento P(c_{i}|c_{i-1}) con las probabilidades de transición de menor orden de pares de grupos fónicos-grafemas presentes en el conjunto de entrenamiento mediante la fórmula:
P(c_{i}|c_{i-1}) = \frac{max\{|c_{i-1}c_{i}|-D,0\}}{|c_{i-1}|} + \lambda (c_{i-1})P(c_{i})
donde:
- el primer término en el numerador es el número total de transiciones de c_{i-1} a c_{i} en el conjunto de entrenamiento al que se le resta un factor de descuento D calculado mediante la siguiente fórmula:
D=\frac{N_{1} (c_{i-1}c_{i})}{N_{1} (c_{i-1}c_{i}) + 2N_{2} c_{i-1}c_{i}}
donde N_{1} (c_{i-1}c_{i}) es el número de secuencias c_{i-1}c_{i} que ocurren exactamente una vez en el conjunto de entrenamiento, y N_{2} (c_{i-1}c_{i}) es el número de secuencias c_{i-1}c_{i}, que ocurren exactamente dos veces,
- P(c_{i}) es el cociente entre el número de c_{i-1} diferentes que preceden c_{i} y el número total de secuencias diferentes c_{i-1}c_{i} que se encuentran en el conjunto de entrenamiento, que se calcula mediante la fórmula:
P(c_{i})=\frac{N_{1+} (\bullet c_{i})}{N_{1+} (\bullet \bullet )}
donde N_{1+}(\bulletc_{i}) es el número total de correspondencias diferentes que preceden a la correspondencia c_{i} en el conjunto de entrenamiento, es decir, se define como N_{1+}(\bulletc_{i}) =|{c_{i-1}:|c_{i-1}c_{i}|>0}| y N_{1+}(\bullet\bullet) es el número total de combinaciones c_{i-1}c_{i} diferentes que aparecen en el conjunto de entrenamiento,
\lambda(c_{i-1}) se calcula mediante la fórmula:
\lambda (c_{i-1}) = \frac{D}{|c_{i-1}|}N_{1+} (c_{i-1}\bullet )
16. Sistema informático que comprende un entorno de ejecución apto para ejecutar un programa informático caracterizado porque comprende unos medios de conversión de fonemas a texto escrito aptos para realizar un procedimiento según por lo menos una de las reivindicaciones 1 a 15.
17. Programa informático directamente cargable en la memoria interna de un ordenador caracterizado porque comprende instrucciones aptas para realizar un procedimiento según por lo menos una de las reivindicaciones 1 a 15.
18. Programa informático almacenado en un medio apto para ser usado por un ordenador caracterizado porque comprende instrucciones aptas para realizar un procedimiento según por lo menos una de las reivindicaciones 1 a 15.
ES200500441A 2005-02-28 2005-02-28 Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes. Expired - Fee Related ES2237345B1 (es)

Priority Applications (4)

Application Number Priority Date Filing Date Title
ES200500441A ES2237345B1 (es) 2005-02-28 2005-02-28 Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.
EP06380037A EP1696422A2 (en) 2005-02-28 2006-02-27 Method for converting phonemes to written text and corresponding computer system and computer program
JP2006052438A JP2006243728A (ja) 2005-02-28 2006-02-28 音素をテキストに変換する方法、そのコンピュータシステム、及びコンピュータプログラム
US11/362,796 US20060195319A1 (en) 2005-02-28 2006-02-28 Method for converting phonemes to written text and corresponding computer system and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200500441A ES2237345B1 (es) 2005-02-28 2005-02-28 Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.

Publications (2)

Publication Number Publication Date
ES2237345A1 ES2237345A1 (es) 2005-07-16
ES2237345B1 true ES2237345B1 (es) 2006-06-16

Family

ID=34802870

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200500441A Expired - Fee Related ES2237345B1 (es) 2005-02-28 2005-02-28 Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.

Country Status (4)

Country Link
US (1) US20060195319A1 (es)
EP (1) EP1696422A2 (es)
JP (1) JP2006243728A (es)
ES (1) ES2237345B1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912716B2 (en) * 2005-10-06 2011-03-22 Sony Online Entertainment Llc Generating words and names using N-grams of phonemes
US8788256B2 (en) * 2009-02-17 2014-07-22 Sony Computer Entertainment Inc. Multiple language voice recognition
DE102012202407B4 (de) * 2012-02-16 2018-10-11 Continental Automotive Gmbh Verfahren zum Phonetisieren einer Datenliste und sprachgesteuerte Benutzerschnittstelle
KR101193362B1 (ko) * 2012-04-13 2012-10-19 최병기 문자열을 발음 단위로 분할하는 방법, 이를 이용하는 문자열의 어조 표현 방법 및 문자열의 어조를 표현하는 동영상 데이터가 저장된 저장매체
US9728185B2 (en) * 2014-05-22 2017-08-08 Google Inc. Recognizing speech using neural networks
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
GB2533370A (en) 2014-12-18 2016-06-22 Ibm Orthographic error correction using phonetic transcription
JP6580882B2 (ja) 2015-06-24 2019-09-25 株式会社東芝 音声認識結果出力装置、音声認識結果出力方法及び音声認識結果出力プログラム
US10387543B2 (en) * 2015-10-15 2019-08-20 Vkidz, Inc. Phoneme-to-grapheme mapping systems and methods
US9910836B2 (en) 2015-12-21 2018-03-06 Verisign, Inc. Construction of phonetic representation of a string of characters
US9947311B2 (en) 2015-12-21 2018-04-17 Verisign, Inc. Systems and methods for automatic phonetization of domain names
US10102203B2 (en) * 2015-12-21 2018-10-16 Verisign, Inc. Method for writing a foreign language in a pseudo language phonetically resembling native language of the speaker
US10102189B2 (en) 2015-12-21 2018-10-16 Verisign, Inc. Construction of a phonetic representation of a generated string of characters
US10706840B2 (en) 2017-08-18 2020-07-07 Google Llc Encoder-decoder models for sequence to sequence mapping
WO2020013946A1 (en) * 2018-07-13 2020-01-16 Google Llc End-to-end streaming keyword spotting
US11410642B2 (en) * 2019-08-16 2022-08-09 Soundhound, Inc. Method and system using phoneme embedding
CN111429912B (zh) * 2020-03-17 2023-02-10 厦门快商通科技股份有限公司 关键词检测方法、系统、移动终端及存储介质
US11908488B2 (en) * 2021-05-28 2024-02-20 Metametrics, Inc. Assessing reading ability through grapheme-phoneme correspondence analysis

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993018506A1 (en) * 1992-03-06 1993-09-16 Dragon Systems, Inc. Speech recognition system for languages with compound words
US5805772A (en) * 1994-12-30 1998-09-08 Lucent Technologies Inc. Systems, methods and articles of manufacture for performing high resolution N-best string hypothesization
GB9609321D0 (en) * 1996-05-03 1996-07-10 British Telecomm Automatic speech recognition
US5758024A (en) * 1996-06-25 1998-05-26 Microsoft Corporation Method and system for encoding pronunciation prefix trees
KR100453021B1 (ko) * 1996-09-27 2005-04-08 코닌클리케 필립스 일렉트로닉스 엔.브이. 구두텍스트인식방법및시스템
CA2321299A1 (en) * 1998-03-09 1999-09-16 Lernout & Hauspie Speech Products N.V. Apparatus and method for simultaneous multimode dictation
US6233553B1 (en) * 1998-09-04 2001-05-15 Matsushita Electric Industrial Co., Ltd. Method and system for automatically determining phonetic transcriptions associated with spelled words
US6684185B1 (en) * 1998-09-04 2004-01-27 Matsushita Electric Industrial Co., Ltd. Small footprint language and vocabulary independent word recognizer using registration by word spelling
US6963841B2 (en) * 2000-04-21 2005-11-08 Lessac Technology, Inc. Speech training method with alternative proper pronunciation database
JP3782943B2 (ja) * 2001-02-20 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識装置、コンピュータ・システム、音声認識方法、プログラムおよび記録媒体
US6999918B2 (en) * 2002-09-20 2006-02-14 Motorola, Inc. Method and apparatus to facilitate correlating symbols to sounds
US20040128132A1 (en) * 2002-12-30 2004-07-01 Meir Griniasty Pronunciation network
US7146319B2 (en) * 2003-03-31 2006-12-05 Novauris Technologies Ltd. Phonetically based speech recognition system and method
EP1618556A1 (en) * 2003-04-30 2006-01-25 Loquendo S.p.A. Grapheme to phoneme alignment method and relative rule-set generating system
US7725319B2 (en) * 2003-07-07 2010-05-25 Dialogic Corporation Phoneme lattice construction and its application to speech recognition and keyword spotting
US8131538B2 (en) * 2003-09-30 2012-03-06 American Youth Literacy Foundation Phoneme decoding system and method

Also Published As

Publication number Publication date
EP1696422A2 (en) 2006-08-30
ES2237345A1 (es) 2005-07-16
JP2006243728A (ja) 2006-09-14
US20060195319A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
ES2237345B1 (es) Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.
Rao et al. Exploring architectures, data and units for streaming end-to-end speech recognition with rnn-transducer
Le et al. From senones to chenones: Tied context-dependent graphemes for hybrid speech recognition
Honnibal et al. Joint incremental disfluency detection and dependency parsing
Raymond et al. Generative and discriminative algorithms for spoken language understanding
US11270687B2 (en) Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models
McGraw et al. Learning lexicons from speech using a pronunciation mixture model
Sak et al. Morpholexical and discriminative language models for Turkish automatic speech recognition
Alkanhal et al. Automatic stochastic arabic spelling correction with emphasis on space insertions and deletions
Li et al. Integrating source-channel and attention-based sequence-to-sequence models for speech recognition
Rasipuram et al. Articulatory feature based continuous speech recognition using probabilistic lexical modeling
Hu et al. Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models
Deri et al. How to make a frenemy: Multitape FSTs for portmanteau generation
Avram et al. Towards a romanian end-to-end automatic speech recognition based on deepspeech2
Futami et al. Non-autoregressive error correction for CTC-based ASR with phone-conditioned masked LM
Fujimura et al. Simultaneous speech recognition and acoustic event detection using an LSTM-CTC acoustic model and a WFST decoder
Wang et al. Combination of CFG and n-gram modeling in semantic grammar learning.
Wang et al. RNN-based prosodic modeling for mandarin speech and its application to speech-to-text conversion
Moschitti et al. Spoken language understanding with kernels for syntactic/semantic structures
Acharya Wnut 2020 shared task-1: Conditional random field (crf) based named entity recognition (ner) for wet lab protocols
Miao et al. End-to-end architectures for speech recognition
Siivola et al. Morfessor and VariKN machine learning tools for speech and language technology
Kominek Tts from zero: Building synthetic voices for new languages
CN102156693A (zh) 一种盲文输入方法和系统
Lefevre A DBN-based multi-level stochastic spoken language understanding system

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20050716

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2237345B1

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20180809