Download Front-End de Sistemas TTS - Grupo de Procesamiento del Habla

Document related concepts

Síntesis de habla wikipedia , lookup

Prosodia (lingüística) wikipedia , lookup

Transcript
Front-End de Sistemas TTS
Introducción a las Tecnologías del Habla
2o cuatrimestre 2014 – Agustín Gravano
Sistema text-to-speech (TTS)
●
Front end
–
–
●
Input: Texto en algún formato: HTML, email, etc.
● Procesamiento del texto de entrada:
tokenización, segmentación, normalización.
● Análisis fonético: grafemas → fonemas.
● Análisis lingüístico: clase de palabra, parsing.
● Análisis prosódico: asignación de prosodia (F0, dur, int).
Output: Secuencia de fonemas + prosodia deseada.
Back end
–
Input: Secuencia de fonemas + prosodia deseada.
–
Síntesis del habla propiamente dicha:
Articulatoria, de formantes, contatenativa, etc.
Output: Archivo de audio.
●
Sistema text-to-speech (TTS)
●
Front end
–
Clase
de hoy
–
●
Input: Texto en algún formato: HTML, email, etc.
● Procesamiento del texto de entrada:
tokenización, segmentación, normalización.
● Análisis fonético: grafemas → fonemas.
● Análisis lingüístico: clase de palabra, parsing.
● Análisis prosódico: asignación de prosodia (F0, dur, int).
Output: Secuencia de fonemas + prosodia deseada.
✔
Back end
–
Input: Secuencia de fonemas + prosodia deseada.
–
Síntesis del habla propiamente dicha:
Articulatoria, de formantes, contatenativa, etc.
Output: Archivo de audio.
●
Posibles textos de entrada
LAGOS Y LA OMC.- El Presidente Lagos saluda al director general de
la OMC, Mike Moore, quien visita América Latina. Posteriormente
partió viaje a EE.UU. para iniciar su visita a Silicon Valley.
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc. En Silicon Valley hay 6.000 empresas.
Hace 10 años había menos de 2.500”.
LA CALERA (Alfredo Umaña).- El director del Hospital “Dr. Mario
Sánchez Vergara” de esta ciudad, doctor Julio Trigo, afirmó ayer [...]
El llamado lo hizo en el 222º natalicio de O’Higgins. Pdte. Lagos, dijo
que todas las instituciones y personas deben estar a la altura de los
tiempos.
(Textos sacados del diario El Mercurio de Valparaíso del año 2000.)
Posibles textos de entrada
LAGOS Y LA OMC.- El Presidente Lagos saluda al director general de
la OMC, Mike Moore, quien visita América Latina. Posteriormente
partió viaje a EE.UU. para iniciar su visita a Silicon Valley.
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc. En Silicon Valley hay 6.000 empresas.
Hace 10 años había menos de 2.500”.
LA CALERA (Alfredo Umaña).- El director del Hospital “Dr. Mario
Sánchez Vergara” de esta ciudad, doctor Julio Trigo, afirmó ayer [...]
El llamado lo hizo en el 222º natalicio de O’Higgins. Pdte. Lagos, dijo
que todas las instituciones y personas deben estar a la altura de los
tiempos.
(Textos sacados del diario El Mercurio de Valparaíso del año 2000.)
Abreviaturas
LAGOS Y LA OMC.- El Presidente Lagos saluda al director general de
la OMC, Mike Moore, quien visita América Latina. Posteriormente
partió viaje a EE.UU. para iniciar su visita a Silicon Valley.
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc. En Silicon Valley hay 6.000 empresas.
Hace 10 años había menos de 2.500”.
LA CALERA (Alfredo Umaña).- El director del Hospital “Dr. Mario
Sánchez Vergara” de esta ciudad, doctor Julio Trigo, afirmó ayer [...]
El llamado lo hizo en el 222º natalicio de O’Higgins. Pdte. Lagos, dijo
que todas las instituciones y personas deben estar a la altura de los
tiempos.
(Textos sacados del diario El Mercurio de Valparaíso del año 2000.)
Expresiones numéricas
LAGOS Y LA OMC.- El Presidente Lagos saluda al director general de
la OMC, Mike Moore, quien visita América Latina. Posteriormente
partió viaje a EE.UU. para iniciar su visita a Silicon Valley.
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc. En Silicon Valley hay 6.000 empresas.
Hace 10 años había menos de 2.500”.
LA CALERA (Alfredo Umaña).- El director del Hospital “Dr. Mario
Sánchez Vergara” de esta ciudad, doctor Julio Trigo, afirmó ayer [...]
El llamado lo hizo en el 222º natalicio de O’Higgins. Pdte. Lagos, dijo
que todas las instituciones y personas deben estar a la altura de los
tiempos.
(Textos sacados del diario El Mercurio de Valparaíso del año 2000.)
Palabras extranjeras y
palabras fuera de vocabulario
LAGOS Y LA OMC.- El Presidente Lagos saluda al director general de
la OMC, Mike Moore, quien visita América Latina. Posteriormente
partió viaje a EE.UU. para iniciar su visita a Silicon Valley.
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc. En Silicon Valley hay 6.000 empresas.
Hace 10 años había menos de 2.500”.
LA CALERA (Alfredo Umaña).- El director del Hospital “Dr. Mario
Sánchez Vergara” de esta ciudad, doctor Julio Trigo, afirmó ayer […]
El llamado lo hizo en el 222º natalicio de O’Higgins. Pdte. Lagos, dijo
que todas las instituciones y personas deben estar a la altura de los
tiempos.
(Textos sacados del diario El Mercurio de Valparaíso del año 2000.)
Preprocesamiento del Texto
●
Segmentación (identificar oraciones).
●
Tokenización (identificar palabras).
●
Expansión de abreviaturas.
●
Expansión de expresiones numéricas.
Segmentación:
¿Qué es una oración?
●
El punto como fin de oración:
“Si vamos a hacer un centro empresarial de alta tecnología, tenemos
que buscar que exista esa interacción entre universidades, centros de
investigación, empresas, etc☻ En Silicon Valley hay 6☻000
empresas☻ Hace 10 años había menos de 2☻500”☻
El llamado lo hizo en el 222º natalicio de O’Higgins☻ Pdte☻ Lagos,
dijo que todas las instituciones y personas deben estar a la altura de
los tiempos☻
●
Otros símbolos: ¿ ? ¡ ! ...
¿Va a implicar mayores costos para la medicina? Existen borradores y
prevenciones acerca del fallo, o sea […]
Bajo el título “Comercio y Medioambiente en América del Sur: ¿Quo
Vadis?”, se desarrolló en la costera localidad de Zapallar un encuentro
que reunió a especialistas de [...]
Segmentación:
Reglas construidas a mano
●
Para cada palabra p seguida de ‘.’:
Si p es una abreviatura (p.ej.: ‘Sr.’, ‘Dra.’),
●
entonces p no termina una oración;
●
caso contrario, p termina una oración.
●
¿Cómo sabemos que p es una abreviatura?
●
¿Y si una abreviatura termina una oración?
–
Estos son los aparatos Air Tractor 802 que propuso la empresa
española Servicios Ecológicos S.A.
–
...interacción entre universidades, centros de investigación,
empresas, etc.
Segmentación:
Enfoques de machine learning
●
Construir un clasificador de ML:
–
–
Instancias = Potenciales finales de oración.
Atributos:





–
●
¿Qué símbolo de puntuación hay?
¿La palabra anterior es una abreviatura conocida?
¿La palabra siguiente empieza en mayúscula?
¿Cuál es la longitud de la palabra anterior?
...
Clases = ¿Es un final de oración? {sí, no}
Entrenar sobre datos etiquetados a mano.
Tokenización:
¿Qué es una palabra?
●
¿Cuáles son los delimitadores?
deberán ser expendidos bajo receta médica o receta-cheque.
el jurado estará compuesto por cinco hispanos no cubanos, tres
blancos, tres afro-americanos y otro miembro de origen asiático
Desde Francia y por e-mail, Eduardo Parra cuenta cómo [...]
En opinión del ex-alcalde Rafael Vargas, [...]
El llamado lo hizo en el 222º natalicio de O’Higgins.
“Toy enamora'o” (Cuba) de Joel David Rodríguez
¿Y pa’qué?... Ahora las señales del tránsito serán sólo con
imágenes, sin texto!
Tokenización:
¿Qué es una palabra?
●
●
Las decisiones relativas a qué es una palabra son
arbitrarias, pero deben ser consistentes.
Definir reglas, por ejemplo:
–
–
Segmentar las palabras separadas con guión si las
componentes aparecen en un diccionario.
●
receta-cheque → receta cheque
●
afro-americano → afroamericano
Ignorar todos los apóstrofes.
●
O’Higgins → Ohiggins
●
enamora’o → enamorao
Tokenización:
¿Qué es una palabra?
●
Chino, japonés, coreano y otros: problema no trivial.
●
Chino:
[mǎ] [lù] [shàng] [shēng bìng] le (1)
[mǎ lù] [shàng] [shēng bìng] le (2)
(1) el caballo se enfermó en el camino
(2) alguien se enfermó en el camino
●
Algoritmos de máxima correspondencia:
1)
2)
3)
4)
Apuntar un puntero al comienzo de la secuencia.
Buscar la palabra más larga con los siguientes símbolos.
Avanzar el puntero.
Repetir hasta el final de la secuencia.
No siempre funcionan bien. Solución: modelo del lenguaje.
Expansión de abreviaturas
●
Abreviatura: Secuencia de letras usadas para
representar de forma breve una palabra o una frase.
–
●
Sigla: Palabra formada por las letras iniciales de una
expresión compuesta.
–
●
cap., pág., Cía., km, srta.
ONU, IVA, DGI, IBM, AFIP, EEUU, RRPP.
Acrónimo: Palabra formada por las letras iniciales de
una expresión compuesta, pero que suele ajustarse a
las reglas fonológicas de la lengua.
–
sida, radar, ovni, laser.
Expansión de abreviaturas
●
●
Abreviaturas web (chat, SMS, Twitter) y otras yerbas:
–
FYI, ASAP, OTOH, IMHO, AFAIK, RTFM.
–
b2b, ih8u, xmas, xing.
–
:-)
–
Tcl, SCSI, JPEG, DVD, HDMI, MySQL.
;-P
\o/
~(_8º(|)
Clasificados, recetas:
–
3amb,coc,blcn-corr,coch,sum,muy lum,estr,D$125.
–
lb, lt, cda, cdta, tz, oz, kg, gr.
Expansión de abreviaturas
●
Tablas de abreviaturas conocidas.
–
●
Cuidado con el número: 1 kg vs. 5 kg
Para abreviaturas ambiguas:
–
–
5 m → minutos o metros?
Guiarse por el dominio/tópico del contexto.
●
●
●
Carlos Zbinden, 400 m con obstáculos.
5 m → texto de cocina:
“5 minutos”
texto de arquitectura: “5 metros”
texto de fútbol:
??
Para abreviaturas desconocidas:
–
Idear reglas para crear abreviaturas: “terraza” → trz? terr?
Expansión de números
●
En Silicon Valley hay 6.000 empresas. Hace 10 años
había menos de 2.500.
–
●
seis mil, diez, dos mil quinientas.
El llamado lo hizo en el 222º natalicio de O’Higgins.
–
–
–
en el bicentésimo vigésimo segundo natalicio
en el doscientos veintidosavo natalicio ??
en el natalicio número doscientos veintidós
●
$10 millones → diez millones de pesos
●
75,2% → setenta y cinco coma dos por ciento
●
(+54) 11 4099-1234
●
VISA # 2222 1234 0987 1111 VENC: 02/14
Expansión de números
●
Convenciones regionales/culturales para:
–
●
Desambiguación del sentido:
–
●
Fecha, hora, dinero, teléfono, DNI, pasaporte, tarjeta de
crédito, cuenta de banco, dirección, código postal, clave.
Otra vez: información contextual.
Hecha la desambiguación, la conversión es
relativamente simple.
–
Ejemplo: Transductor pesado de estados finitos (WFST)
Expansión de números: WFST
ε
OpenFst Library
http://www.openfst.org
Sistema text-to-speech (TTS)
●
Front end
–
Clase
de hoy
–
●
Input: Texto en algún formato: HTML, email, etc.
● Procesamiento del texto de entrada:
tokenización, segmentación, normalización.
● Análisis fonético: grafemas → fonemas.
● Análisis lingüístico: clase de palabra, parsing.
● Análisis prosódico: asignación de prosodia (F0, dur, int).
Output: Secuencia de fonemas + prosodia deseada.
✔
Back end
–
Input: Secuencia de fonemas + prosodia deseada.
–
Síntesis del habla propiamente dicha:
Articulatoria, de formantes, contatenativa, etc.
Output: Archivo de audio.
●
Pronunciación
●
¿Cómo se pronuncia correctamente cada palabra?
–
●
●
¿Cuál es la secuencia de fonemas adecuada?
Crucial para inteligibilidad y naturalidad.
Español: casi trivial. Inglés: difícil!
–
Pero... un TTS en español también debe decir
expresiones extranjeras.
Reglas letra-a-sonido
(o grafema-a-fonema)
●
Definen correspondencias entre ortografía y
representación fonémica.
Por ejemplo:
–
–
●
●
●
c : _[aou] → /k/
c : _[ei]
→ /s/
(Español Argentino)
a : _{C}e → /ey/
(Inglés)
Ejemplos: ace, ale, made, later, rated, trade.
Sirven para procesar cualquier entrada.
Solución útil en español.
Muchas excepciones en inglés.
●
a : _{C}e → /ey/ es incorrecta para water
Enfoques basados en diccionarios
●
●
Usar diccionarios con la ortografía y pronunciación de
cada palabra.
–
CMU Pronouncing Dictionary (1993): 120k palabras.
–
UNISYN Dictionary (2002): 110k palabras.
Cobertura:
–
Black et al. (1998). De ~40k palabras en un corpus de
noticias, 1775 (4.4%) no figuraban en el diccionario:
●
●
●
1360 → Nombres propios
351 → Palabras desconocidas
64 → Typos
Enfoques basados en diccionarios
●
Problema: Items fuera de vocabulario (OOV)
–
–
–
●
Nombres propios: cubrir todos los apellidos del Reino
Unido requeriría >5M entradas.
Palabras nuevas: iPad, Kindle.
Palabras extranjeras: ciao, sushi.
Soluciones:
–
–
–
Agrandar el diccionario! :-\
Preprocesamiento morfológico
Usar reglas letra-a-sonido cuando no se encuentre
una palabra en el diccionario.
Análisis morfológico
●
●
Morfología: Estudia la estructura de la formación de
las palabras.
Morfema: Unidad minimal portadora de significado.
–
–
●
sol → un morfema: sol
gatas → tres morfemas: gat-, -a, -s.
Dos clases de morfemas: raíces y afijos.
–
–
Raíz: parte “principal” de la palabra (sol, gat-).
Afijos: agregan significados adicionales (-a: femenino,
-s: plural).
Análisis morfológico
●
Prefijos: preceden a la raíz.
–
–
●
inesperado: insuperhéroe: super-
Sufijos: van después de la raíz.
–
–
esperable: -able (transforma verbo en adjetivo)
simplemente: -mente (transforma adjetivo en
adverbio)
Análisis morfológico
●
Infijos e interfijos: Se insertan en medio de la palabra.
–
–
●
infijos: tienen significado.
●
Man-fucking-hattan, abso-bloody-lutely.
●
Tagalog (Filipinas):
hingi
(tomar prestado)
+ um
(agente de la acción)
= humingi
(quien tomó prestado)
interfijos: no tienen significado.
●
en-s-anchar, cafe-c-ito/cafe-l-ito, te-t-era.
Circunfijos: Rodean a la raíz.
–
Alemán: los participios se crean con ge- _ -t
●
Ejemplo: sagen (decir) → gesagt (dicho).
Análisis morfológico
●
Cómo combinar morfemas para crear palabras:
–
Flexión: cambios puramente gramaticales
●
●
–
Derivación: cambios semánticos referenciales
●
–
Nominal: gat- -a -s
Verbal: caminábamos → caminar, pretérito imperfecto,
primera persona, plural.
cuchillo → cuchillada
Composición: juntar dos o más raíces
●
sordomudo, medianoche, quienquiera, boquiabierto,
malpensado, salvoconducto, baloncesto, pasamontañas,
bocacalle, telaraña, correveidile, sabelotodo, nomeolvides,
bajorrelieve, pelirrojo, …
¿Cómo afecta la morfología a la
pronunciación?
●
Dada una palabra OOV, podemos derivar su
pronunciación...
–
... si encontramos que está compuesta por dos
palabras del léxico.
●
●
–
baloncesto (balón + cesto)
salvoconducto (salvo + conducto)
... si podemos descomponerla en raíces y afijos
conocidos.
●
●
recontrabuenísimas (recontra- + buen- + -ísim- + -a + -s)
clusterización (cluster (inglés!) + -iza + -ción)
¿Cómo afecta la morfología a la
pronunciación?
●
●
En sistemas TTS que modelen el fin de sílabla.
Antes de usar reglas de letras-a-sonidos, un análisis
morfológico puede prevenir errores de pronunciación
causados por una mala silabificación.
–
subregión
→ sub- región
(su · bre · gión)
–
desentender
→ des- entender (de · sen · ten · der)
Ortografías especiales
“Yer’ great puddin’ of a son don’ need fattenin’
anymore, Dursley, don’ worry.” (Hagrid)
¿Normalización? ¿Pronunciación?
Sistema text-to-speech (TTS)
●
Front end
–
Clase
de hoy
–
●
Input: Texto en algún formato: HTML, email, etc.
● Procesamiento del texto de entrada:
tokenización, segmentación, normalización.
● Análisis fonético: grafemas → fonemas.
● Análisis lingüístico: clase de palabra, parsing.
● Análisis prosódico: asignación de prosodia (F0, dur, int).
Output: Secuencia de fonemas + prosodia deseada.
✔
Back end
–
Input: Secuencia de fonemas + prosodia deseada.
–
Síntesis del habla propiamente dicha:
Articulatoria, de formantes, contatenativa, etc.
Output: Archivo de audio.
●
Clases de palabras
●
Part-of-speech (POS)
●
Hay palabras que exhiben comportamiento parecido:
●
–
Aparecen en contextos similares.
–
Desempeñan funciones similares en la oración.
–
Sufren transformaciones similares.
Tradicionalmente hay ~9 clases de palabras:
–
Sustantivo, verbo, adjetivo, adverbio, preposición,
pronombre, determinante, conjunción.
Clases de palabras
●
Algunos ejemplos:
–
sustantivo
silla, altoparlante, estar
–
verbo
estar, estoy, comprendería
–
adjetivo
púrpura, altas, ridículo
–
adverbio
desafortunadamente, despacio
–
preposición
de, por, a
–
pronombre
yo, mi, mío
–
determinante
el, un, ese, estas
–
conjunción
y, o, ni, sino
–
interjección
uh, esteh, ajáh
Clases de palabras
●
POS Tagging
–
Proceso de asignar una etiqueta de clase de
palabra (POS) a cada palabra de un texto.
El
informe dice que no
Det
●
Sust
hay evidencia
Verbo Conj Adv Verbo Sust
¡No es un mapeo directo!
–
–
–
La compra se concretó. la = artículo
compra = sust
La compra con crédito. la = pronombre compra = verbo
Ejemplo en inglés: Time flies like an arrow.
Time [VB,NN] flies [VB,NN] like [VB,PR] an DT arrow NN
Aplicaciones de POS tagging
●
Pronunciación en TTS
Lead
–
inSULT
–
obJECT
–
disCOUNT
Parsing sintáctico: e.g. La estrella contra la pared.
– estrella es Sustantivo o Verbo?
–
●
●
●
Lead
INsult
OBject
DIScount
Validación de hipótesis en reconocimiento del habla y
traducción automática:
–
Pronombres posesivos (mi, tu, su) suelen anteceder a sustantivos.
–
Pronombres reflexivos (me, te, se) suelen anteceder a verbos.
POS tags: Omnipresentes en SLP y NLP.
POS tagset
●
Primero hay que definir el conjunto de rótulos/etiquetas.
●
Podríamos elegir un conjunto reducido:
–
●
Brown Corpus: 1M palabras, 87 tags
–
●
Más informativo, pero más difícil de etiquetar.
Penn Treebank: corpus del Wall Street Journal, 1M
palabras, 45-46 tags.
–
●
N, V, Adj, Adv, Otros.
El más usado en la actualidad para el inglés.
Para el español: EAGLE
–
http://nlp.lsi.upc.edu/freeling/doc/tagsets/tagset-es.html
Penn Treebank Tagset
Algoritmos de POS tagging
●
Rule-based tagging (ej: EnCG ENGTWOL tagger)
●
Transformation-based tagging (ej: Brill tagger)
●
Machine learning: Support Vector Machines (SVM),
Hidden Markov Models (HMM).
●
Performance cercana a la humana: 95-99%
●
¿Problema aparentemente “resuelto”?
–
¡No! Habla espontánea: problema abierto.
●
el esteh el libro tiene un tiene una foto en la tapa no en
la contr- contratapa...
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
PP
VP
NP
→ Reglas para la construcción de oraciones.
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
PP
VP
NP
NP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
PP
VP
NP
NP
NP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
PP
VP
NP
VP
NP
NP
VP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
VP
PP
VP
NP
PP
VP
NP
NP
VP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Gramática
S
NP
NP
VP
VP
VP
...
→
→
→
→
→
→
NP
DT
NN
VB
RN
VB
Análisis Sintáctico
VP
NP
S
VP
PP
VP
NP
PP
VP
NP
NP
VP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Análisis Sintáctico
●
S
Parsing completo: muy caro computacionalmente.
VP la
– Cuanto más completa la gramática, mayor
complejidad algorítmica.
PP
VP
NP
NP
VP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Análisis Sintáctico
●
Parsing completo: muy caro computacionalmente.
–
Cuanto más completa la gramática, mayor la
complejidad algorítmica.
–
Alternativas: shallow parsing; chunking.
NP
NP
VP
VP
NP
DT NN
VB CS RN VB NN
El informe dice que no hay evidencia
Sistema text-to-speech (TTS)
●
Front end
–
Clase
de hoy
–
●
Input: Texto en algún formato: HTML, email, etc.
● Procesamiento del texto de entrada:
tokenización, segmentación, normalización.
● Análisis fonético: grafemas → fonemas.
● Análisis lingüístico: clase de palabra, parsing.
● Análisis prosódico: asignación de prosodia (F0, dur, int).
Output: Secuencia de fonemas + prosodia deseada.
✔
Back end
–
Input: Secuencia de fonemas + prosodia deseada.
–
Síntesis del habla propiamente dicha:
Articulatoria, de formantes, contatenativa, etc.
Output: Archivo de audio.
●