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