front-end de sistemas tts - habla.dc.uba.arhabla.dc.uba.ar/gravano/ith-2014/08-front-end.pdf ·...

50
Front-End de Sistemas TTS Introducción a las Tecnologías del Habla 2 o cuatrimestre 2014 – Agustín Gravano

Upload: trinhdang

Post on 12-Oct-2018

232 views

Category:

Documents


0 download

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

– 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.✔

Clasede hoy

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 ypalabras 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) Apuntar un puntero al comienzo de la secuencia.2) Buscar la palabra más larga con los siguientes símbolos.3) Avanzar el puntero.4) 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.

– cap., pág., Cía., km, srta.● Sigla: Palabra formada por las letras iniciales de una

expresión compuesta.

– 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.– :-) ;-P \o/ ~(_8º(|)

– Tcl, SCSI, JPEG, DVD, HDMI, MySQL.● 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:– Fecha, hora, dinero, teléfono, DNI, pasaporte, tarjeta de

crédito, cuenta de banco, dirección, código postal, clave.

● Desambiguación del sentido:– 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

– 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.✔

Clasede hoy

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: in-– superhéroe: super-

● Sufijos: van después de la raíz.– esperable: -able (transforma verbo en adjetivo)– simplemente: -mente (transforma adjetivo en

adverbio)

● 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

● Nominal: gat- -a -s● Verbal: caminábamos → caminar, pretérito imperfecto,

primera persona, plural.

– Derivación: cambios semánticos referenciales● 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, …

Análisis morfológico

¿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

– 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.✔

Clasede hoy

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 hay evidencia

● ¡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

Det Sust Verbo Conj Adv Verbo Sust

Aplicaciones de POS tagging

● Pronunciación en TTS– Lead Lead– INsult inSULT– OBject obJECT– DIScount disCOUNT

● Parsing sintáctico: e.g. La estrella contra la pared.– estrella es Sustantivo o Verbo?

● 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:

– N, V, Adj, Adv, Otros.● 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.

– 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...

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

S → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

Gramática

→ Reglas para la construcción de oraciones.

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NPNP

S → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

Gramática

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

S → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

NP

NP

Gramática

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

VP

VP

S → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

NP

NP

Gramática

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

VP

VP

PP

VP

S → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

NP

NP

Gramática

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

VP

VP

PP

VP

SS → NP VPNP → DT NPNP → NNVP → VB PPVP → RN VPVP → VB NP...

NP

NP

Gramática

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

VP

VP

PP

VP

S

NP

NP

● Parsing completo: muy caro computacionalmente.

– Cuanto más completa la gramática, mayor la complejidad algorítmica.

Análisis Sintáctico

DT NN VB CS RN VB NN

El informe dice que no hay evidencia

NP

VP

VP

NP

NP

● Parsing completo: muy caro computacionalmente.

– Cuanto más completa la gramática, mayor la complejidad algorítmica.

– Alternativas: shallow parsing; chunking.

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.✔

Clasede hoy