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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000006243 chemical reaction Methods 0.000 title abstract description 10
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012549 training Methods 0.000 claims description 44
- 230000007704 transition Effects 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims 2
- 238000001514 detection method Methods 0.000 claims 1
- 206010028916 Neologism Diseases 0.000 abstract description 2
- 238000010348 incorporation Methods 0.000 abstract description 2
- 238000013518 transcription Methods 0.000 description 25
- 230000035897 transcription Effects 0.000 description 25
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000001594 aberrant effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- 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/26—Speech 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.
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.
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.
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.
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.
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:
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.
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
\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:
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 |
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*
[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.
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)
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)
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 |
-
2005
- 2005-02-28 ES ES200500441A patent/ES2237345B1/es not_active Expired - Fee Related
-
2006
- 2006-02-27 EP EP06380037A patent/EP1696422A2/en not_active Withdrawn
- 2006-02-28 JP JP2006052438A patent/JP2006243728A/ja active Pending
- 2006-02-28 US US11/362,796 patent/US20060195319A1/en not_active Abandoned
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 |