Base de datos para síntesis de dominio restringido Proyecto Natural Vox: Mejora de calidad de síntesis de voz femenina.

Slides:



Advertisements
Presentaciones similares
Estudio sobre la aplicación del comercio electrónico B2B en las PYMES españolas 2003 Resumen.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
UN MUNDO LLENO DE PROBLEMAS
ESTIMACIÓN DE DENSIDAD
La Moda, Mediana y Media.
Conocimiento, Uso y Evaluación de Medicamentos Genéricos
Universidad San Martín de Porres
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
Matemática Financiera 1º ADEUtilización de la Función TIR en el cálculo del tanto efectivo 1 de 37 Cálculo de tantos efectivos Utilización de la función.
TEMA 2 MÚLTIPLOS Y DIVISORES
INTERFERENCIAS y DIFRACCIÓN
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Introducción Programación Matemática Objetivos:
4. ANÁLISIS FACTORIAL Introducción Modelo factorial ortogonal
Respuestas Buscando a Nemo.
SIMULACIÓN DE MONTECARLO
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Profesor : Rodrigo Sanchez H.
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Árboles de decisión Tema 9 Parte teórica Minería de datos
Álgebra 2010 Clase N° 1 Conjuntos numéricos I
Medidas de Posición Central:
Ejemplo A continuación aparecen las tasas de retorno de dos fondos de inversión durante los últimos 10 años. 1. ¿Cuál es más riesgoso? 2. ¿En cuál invertiría.
Unidad de competencia II Estadística descriptiva:
Unidad de competencia II Estadística descriptiva:
Capítulo 4 Otras medidas descriptivas
Capítulo 3 Descripción de datos, medidas de tendencia central
Estadística Administrativa I
Generación de Números Seudo-Aleatorios
Distribuciones de probabilidad bidimensionales o conjuntas
Banco Río, siempre pensando en su comodidad, ha diseñado el Cajero Auto Bank, para servirlo cómodamente a su auto, así, apreciado cliente, tiene la posibilidad.
Taller de Matemáticas Financieras
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Phone2Wave-Server Manual de Operación.
50 principios La Agenda 1.- Presentar un único interlocutor a los clientes. 2.- Tratar de modo distinto a las diferentes clases de clientes. 3.- Saber.
GIO 3. Introducción y ejemplos de modelamiento.
Vocabulario querer comerlo -paja por supuesto - madera
Tema 1.- Aritmética. 1.-Usar el algoritmo de Euclides para calcular el máximo común divisor de a y b y expresarlo en función de a y b para: a) a= 56,
La prosodia.
EL OSO APRENDIZ Y SUS AMIGOS
50 principios 1. Los clientes asumen el mando.
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Proyecto para Centros que trabajan una vez por semana.
Diapositiva No. 1 Observatorio Industrial de la Provincia de Córdoba Noviembre de 2008.
UNIDAD 3 Progresiones.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt El vocabulario.
Ecuaciones Cuadráticas
RAZONAMIENTO MATEMATICO Mg. CORNELIO GONZALES TORRES
La minimización de los costes
Combinadores SK.
¡Primero mira fijo a la bruja!
Investigación Algorítmica
Grupo de Tecnología del Habla
La ley de los grandes números
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Programación dinámica (1)
PASOS PARA CONSTRUIR UN
UNIDAD IV VLSM Y CIDR.
La transformada de Laplace
Objetivo. Dado que ya tenemos la planificación temporal del proyecto, que responde a: ¿Qué se hará?, ¿Quién lo hará?, y ¿Cuándo lo hará? ¿Qué recursos.
REGLAS DE LOS SIGNOS.
Realimentacion de la salida
FACULTAD DE ECONOMÍA Y NEGOCIOS
ESTADIGRAFOS DE DISPERSION
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
Estadística Administrativa I
Tema 2: Métodos de ajuste
Transcripción de la presentación:

Base de datos para síntesis de dominio restringido Proyecto Natural Vox: Mejora de calidad de síntesis de voz femenina

Índice è Introducción è Diseño de la base de datos è Algoritmos voraces (greedy) è Marcado è Modelado prosódico è Conclusiones

Introducción è Natural Vox: ¤ Empresa de aplicaciones telefónicas de calidad ¤ Necesita una voz femenina ¤ BORIS: según ellos, la mejor síntesis en castellano del mercado ¤ Aplicaciones: ç Tráfico (inicialmente) y Bancos (finalmente) è Nos interesaba, aún a bajo precio: ¤ desarrollo de una nueva voz (sin FGG, JAV...) y femenina ¤ aplicaciones telefónicas ¤ conversión de voces ¤ síntesis por selección de unidades ¤ Son temas de moda

Introducción è Empleamos concatenación y TD-PSOLA (nuestra mejor calidad hoy en día) è Exploraremos varias posibilidades en cuanto a prosodia: ¤ Duraciones: ç ANN: continuación de un PFC de RCH ç Modelo multiplicativo: experimento con los mejores parámetros ¤ F0: ç ANN: continuación de la tesis de JVP ç Modelo de picos y valles: versión implementada en el sistema ç Fujisaki: Ha habido bastante trabajo y no ha dado tiempo para explorar esta posibilidad.

Diseño de la base de datos è Cuestiones abiertas: ¤ Qué tipo de textos? ¤ Cuántas frases o palabras? ¤ Cuáles? ¤ Cuánto tiempo se necesita para marcarlo? è Factores limitantes: ¤ El bajo presupuesto ¤ Nuestra poca experiencia directa ¤ Las aplicaciones de Natural Vox ¤ Empleo de becarios para marcar

Diseño de la base de datos: ¿Qué tipo de textos? è Frases y vocabulario típicos de una aplicación telefónica como las deseadas. è Inicialmente nos proponen: 22 frases portadoras con 30 campos variables: ç Poblaciones, puertos, nombres y apellidos. ç Movimientos bancarios, expresiones bancarias (tipos de cuentas, fondos de inversión, divisas, estado de un cheque, etc.), entidades financieras. ç Horas. ç Números de teléfono. ç Combinaciones de letras y números.

Diseño de la base de datos: Primer filtrado è Por estar ya cubiertas usando concatenación de mensajes pregrabados, eliminamos de su propuesta: ¤ Horas ¤ Teléfonos ¤ Combinaciones de letras y números è Nos quedamos con 19 frases y 3 tipos de campos: ¤ Nombres propios en enunciativas: frases 1-7, 17 y 19 ¤ Sintaxis sencilla en enunciativas: frases 8-12 y 14. ¤ Sintaxis sencilla en interrogativas: frases 13, 15, 16 y 18 è Establecemos que las grabaciones de los campos variables se harán entre-pausas y con prosodia no enfática ¤ información clave y facilidad de modelado

Diseño de la base de datos: Selección de los textos è Partimos de los resultados de Onomástica: ¤ pueblos o ciudades ¤ 8736 nombres de pila simples ¤ apellidos simples è Usamos datos de la empresa: ¤ 255 entidades financieras ¤ 246 puertos de montaña ¤ datos varios: 23 operaciones, 150 movimientos, etc. è Por consideraciones de tiempo y de dinero, decidimos grabar unas 600 frases de cada tipo (nosotros marcamos 2 tipologías y ellos marcan la tercera)

Diseño de la base de datos: Nombres Propios  Frases 2 y 3: 3 Campos Variables: 100 frases:  150 puertos resumidos.  Frases 6, 7 y 17: 3 CV: 360 apellidos, 360 frases:  150 apellidos simples resumidos,  130 apellidos simples muy frecuentes (desde García hasta Montes)  80 apellidos compuestos (80 apellidos simples muy frecuentes+80 apellidos simples resumidos, algunos incluyen la preposición de) è Frases 1, 4, 5 y 19: 5 CV 50 pueblos por campo, 200 frases: ¤ 250 pueblos resumidos

Diseño de la base de datos: Enunciativas  Frases 8 y 9: 4 CV 74 frases (36+38):  150 movimientos bancarios (36+3x38) :  Frase 10: 1 CV, 23 frases.  23 operaciones bancarias  Frase 11: 1 CV 7 frases:  7 estados de cheques,  Frase 12: 2 CV 172 frases ( ):  43 tipos de cuentas y tarjetas,  172 nombres de bancos (157 nombres castellanos resumidos +15 no castellanos elegidos manualmente por Emilia),  Frase 14: 1 CV 31 fondos de inversión, 31 frases.

Diseño de la base de datos: Interrogativas  Frase 13: 1 CV 200 frases:  43 tipos de cuentas y tarjetas  34 movimientos seleccionados  123 apellidos resumidos  Frase 15: 1 CV 200 frases:  31 fondos de inversión  46 movimientos seleccionados  123 apellidos resumidos è Frase 16 y 18 : 2 CV 200 frases: ¤ 10 divisas ¤ 20 tipos de información ¤ 48 movimientos seleccionados ¤ 122 apellidos resumidos

Diseño de la base de datos: Objetivo  Empleando pocas grabaciones, conseguir recoger gran parte de la riqueza de los casos posibles (balanced), según criterios:  Prosódicos: cubrir la mayoría de los fenómenos prosódicos que se podían dar, empleando un número reducido de ejemplos:  Duraciones: variedad fonética, silábica, de longitudes de palabra, etc.  Entonación: variedad de tipos de acentuación y de distancia entre acentos.  Segmentales, tener variedad, ya que podía llegar a ser usada como fuente de unidades:  nuevos difonemas, debido a que los iniciales no fuesen adecuados (así fue: eran demasiado breves),  síntesis por selección de unidades: por problemas de calidad segmental insuficiente, podríamos tener que recurrir a ella (como está siendo el caso: la calidad no les es suficiente en algunos casos)

Diseño de la base de datos: Criterios de selección (I)  Posibilidades con interés:  Fonema y su contexto (clase de los fonemas anterior y siguiente)  Debemos cubrir todos los posibles valores intentando reproducir la distribución de probabilidad de nuestra base de datos  ¿Está en sílaba acentuada?  ¿Pertenece a un diptongo?  ¿Está en sílaba abierta?  Posición del fonema dentro de la sílaba  Debemos reproducir la distribución de probabilidad de nuestra base de datos

Diseño de la base de datos: Criterios de selección (II)  Número de fonemas de la sílaba  Posición del fonema dentro de la palabra  Número de fonemas de la palabra  Posición del fonema dentro del grupo fónico  Número de fonemas del grupo fónico  ¿Está en posición inicial de grupo fónico?  ¿Está en posición final de grupo fónico?  Tipo de acento de la palabra (aguda, llana, esdrújula o palabra función)  Distancia silábica entre acentos  Debemos cubrir todos los posibles valores intentando reproducir la distribución de probabilidad de nuestra base de datos

Diseño de la base de datos: Criterios de selección (III)  Tipo de grupo fónico  Enunciativo entre pausas con entonación ascendente  Enunciativo entre pausas con entonación descendente  Interrogativo  Es imposible cumplir tantas condiciones con un número reducido de grabaciones

Diseño de la base de datos: Criterios de selección (y IV)  6 Criterios finales:  Criterio fonético: intentaremos conseguir un histograma fonético (probabilidad de aparición de cada fonema) que no se aleje más de un 5% (como máximo) de la distribución original de la base de datos de nombres propios de que disponemos.  Criterio silábico: buscamos reproducir la distribución original de sílabas acentuadas/ no_acentuadas, abiertas/ cerradas, con_diptongo/ sin_diptongo, en posición final/ en posición no final (5% de desviación máxima)  Criterio acentual: distribución adecuada de palabras acentuadas / palabras función, agudas / llanas / esdrújulas... ç Criterio de palabras: dado que los nombres pueden ser compuestos buscaremos reproducir la base de datos original en número de palabras por campo variable y número de sílabas por palabra.

Algoritmos voraces (I)  El problema de búsqueda presenta una complejidad exponencial:  Pueblos: la mejor de las combinaciones de elementos tomados de 250 en 250.  Apellidos: la mejor de las combinaciones de tomados de 150 en 150.  La solución óptima (full search) es computacionalmente implanteable.  Aproximación: un algoritmo voraz (van Santen 97)  En cada paso busca minimizar localmente una distancia (o maximizar un medida de bondad), confiando en que ello no le llevará muy lejos del máximo global (hipótesis optimista)

Algoritmos voraces (II) è Partimos de que sabemos cuántos ejemplos tenemos y cuántos queremos seleccionar (resumen) è ¿ qué distancia usar para seleccionarlos? ¤ Energía ¤ Correlación ¤ Correlación normalizada ¤ Distancia con penalización ¤ Distancia a un objetivo parcial è Inicialmente el problema me pareció no muy complicado (¿en qué estaría yo pensando?) y muy interesante (ahí no me equivoqué): la mochila multidimensional (knapsack)

Algoritmos voraces (III) è La mejor distancia encontrada: energía del error respecto a un objetivo parcial proporcional, con penalización para casos extremos: ¤ En cada iteración: – CalculaDistribSegunPaso(numPaso, criterioGlobal, distribOptima); ¤ En cada recorrido: – distribLocal= distribActual; – Resta_Distrib_Probab32(distribLocal, distribPalabra); – coordenada=MINIMO_RELATIVO(distribLocal, criterioGlobal); – Resta_Distrib_Probab32(distribLocal, distribOptima); – if (coordenada.valor<0) – result= VALOR_CASTIGO*coordenada.valor; – else – result= -ACUMULA_ABS_DISTRIB_PROBAB32(distribLocal);

Algoritmos voraces (IV): Ejemplo con 100 pueblos è criterio-cumple-criterios è PALABRAS: è NUMSILABAS: è FONEMAS: è ACENTOS: è NUMFONEMAS: è SILAB: è seleccionada-cumple-criterios è PALABRAS: è NUMSILABAS: è FONEMAS: è ACENTOS: è NUMFONEMAS: è SILAB:

Algoritmos voraces (V): Ejemplo con 100 pueblos è Error absoluto medio:  PALABRAS: / =  NUMSILABAS: / =  FONEMAS: / =  ACENTOS: / =  NUMFONEMAS: / =  SILABAS: / = è PAL: difMedia: difMax: pearson: è NUMSIL: difMedia: difMax: pearson: è FONEM:difMedia: difMax: pearson: è ACENT:difMedia: difMax: pearson: è NUMFON:difMedia: difMax: pearson: è SILAB:difMedia: difMax: pearson:

Algoritmos voraces (VI): Ejemplo con 150 pueblos è Error absoluto medio: è PALABRAS: / = è NUMSILABAS: / = è FONEMAS: / = è ACENTOS: / = è NUMFONEMAS: / = è SILABAS: / = è PAL: difMedia: difMax: pearson: è NUMSIL:difMedia: difMax: pearson: è FON: difMedia: difMax: pearson: è ACENT: difMedia: difMax: pearson: è NUMFON: difMedia: difMax: pearson:  SIL: difMedia: difMax: pearson:

Algoritmos voraces (VII): Ejemplo con 250 pueblos è Error absoluto medio: è PALABRAS: / = è NUMSILABAS: / = è FONEMAS: / = è ACENTOS: / = è NUMFONEMAS: / = è SILABAS: / = è PAL: difMedia: difMax: pearson: è NUMSIL: difMedia: difMax: pearson: è FON: difMedia: difMax: pearson: è ACENT:difMedia: difMax: pearson: è NUMFON: difMedia: difMax: pearson: è SILAB: difMedia: difMax: pearson:

Algoritmos voraces (VIII): Ejemplos con apellidos  Error absoluto medio con 150 ejemplos: è PALABRAS / = è NUMSILABAS / = è FONEMAS / = è ACENTOS / = è NUMFONEMAS / = è SILABAS / =  Error absoluto medio con 60 ejemplos: è PALABRAS / = è NUMSILABAS / = è FONEMAS / = è ACENTOS / = è NUMFONEMAS / = è SILABAS / =

Algoritmos voraces (IX): Ejemplos con baja ratio è Cuando tenemos poco donde escoger y baja ratio de selección, el error es más alto  Bancos: error absoluto medio con 150 ejemplos: è PALABRAS / è NUMSILABAS / è FONEMAS / è ACENTOS / è NUMFONEMAS / è SILABAS /  Puertos: error absoluto medio con 150 ejemplos: è PALABRAS / è NUMSILABAS / è FONEMAS / è ACENTOS / è NUMFONEMAS / è SILABAS /

Algoritmos voraces (X): Errores graves è El error desciende con el número de ejemplos, pero no su gravedad è Apellidos y pueblos: error absoluto medio con 100 ejemplos: è Apellidos y pueblos : error absoluto medio con 300 ejemplos: è Apellidos y pueblos: error absoluto medio con 600 ejemplos: è Apellidos y pueblos: error absoluto medio con 1000 ejemplos: è Apellidos y pueblos: error absoluto medio con 5000 ejemplos: è Apellidos y pueblos: errores con 100 ejemplos: 18 (2 del 100%) è Apellidos y pueblos: errores con 300 ejemplos: 7 (2 del 100%) è Apellidos y pueblos: errores con 600 ejemplos: 6 (1 del 100%) è Apellidos y pueblos: errores con 1000 ejemplos: 5 (1 del 100%) è Apellidos y pueblos: errores con 5000 ejemplos: 5 (3 del 100%)

Algoritmos voraces (X): Búsqueda por pasos è Si en vez de buscar el objetivo directamente nos planteamos pasos intermedios, los resultados mejoran considerablemente, sobre todo si la ratio es baja: è Pueblos: ¤ error con 100 ej. y 1 paso: 60/2131= ¤ error con 100 ej. y 100 pasos: 27/2131= ¤ error con 150 ej. y 1 paso: 53/3198= ¤ error con 150 ej. y 100 pasos: 38/31980= ¤ error con 250 ej. y 1 paso: 48/5330= ¤ error con 250 ej. y 100 pasos: 44/5330=

Marcado: F0 y segmentación manuales è 2 becarios a media jornada, 2 meses è Formación inicial durante 2 semanas è Marcaron las frases 1, 2, 3, 4, 5, 6, 7, 8, 9 incompleta, 10, 11, 12, 14, 17 y 19: ficheros è Tras las grabaciones de las frases 2, 3 y 4, se corrigieron defectos en las condiciones de grabación (sin re-grabar). è Durante las primeras semanas, se hacía una revisión del marcado de los ficheros para corregir defectos (JMM, JGA) è Natural Vox marcó las interrogativas: 600 ficheros (menos de 2 meses)

Marcado: Segmentación automática è Modelos HMM semicontinuos, independientes del contexto ¤ Frecuencia de muestreo 8 KHz, ¤ Desplazamiento de trama 10 ms, ¤ Tamaño de trama 25 ms, ¤ Pre-énfasis 1.00 ¤ Parametrización MFCC (10+1) ¤ Parámetros: 11 parámetros estáticos y 11 dinámicos ¤ Alfabeto de 28 alófonos y 1 silencio ¤ Base de datos: alófonos para entrenar y evaluar è Tasa de aciertos % (error por debajo de 20 ms) è Error medio por marca: % è Haremos pruebas de síntesis por selección

Modelado: duraciones (I) è Usamos ANN, aunque hemos hecho un experimento con modelo multiplicativo ¤ La toma inicial de contacto con el sistema de desarrollo fue larga y con modificaciones intermedias (el PFC no estaba acabado) ¤ Finalmente, los parámetros para las red se generan con un conjunto de scripts y programas, compartidos con el PFC de síntesis por selección de unidades ç extracción de duraciones ç extracción de F0 ç extracción de difonemas ç generación de la base de datos de unidades ¤ Entrenamos en LINUX con MUME ¤ Evaluamos en MATLAB (con el entorno de desarrollo)

Modelado: duraciones (II) è 117 parámetros (como en PFC previo, salvo los tipos de grupos): ¤ ventana de 5 fonemas: 38 alófonos, 14 clases ¤ fonema acentuado ¤ ventana de 3 sílabas acentuadas ¤ sílaba tónica ¤ sílaba en diptongo ¤ sílaba abierta ¤ palabra acentuada ¤ posición del: fonema en la sílaba, en la palabra y en el grupo ¤ número de: fonemas en la sílaba, sílabas en la palabra, palabras en el grupo ¤ 5 tipos de grupos (;,. - ?)

Modelado: duraciones (y III) è Mejor experimento: 560/32000 (17.5ms) ¤ Empleando los valores medios de los fonemas: 25.1 ms ¤ Modelo multiplicativo: 19.8 ms ¤ El error en velocidad de elocución es importante (15.82%): es necesario normalizar por la velocidad media de cada tipo de frase ¤ El error es mayor en las frases 2, 7, 12, 13 ¤ Las interrogativas son más homogéneas ¤ Modelando cada tipo por separado: ç propios: ms ç sintagmas: ms ç interrogativas: falta realizar el experimento

Modelado: F0 (I) è Usamos modelo de picos y valles, aunque hemos hecho experimentos con ANN è Se desarrolló un programa para generar la base de datos usando PERL (aunque finalmente se integró en el conjunto de scripts por homogeneidad y seguridad) ¤ Entrenamos en LINUX con MUME ¤ Evaluamos en MATLAB (con el entorno de desarrollo) è Usamos la parametrización propuesta por Vallejo en su tesis, pero reducida: 43 parámetros ¤ ventana de 11 sílabas (tónica, inicial, final) ¤ Número de sílabas (5 niveles) ¤ Grupos fónicos: 5 tipos (;,. ? -)

Modelado: F0 (II) è Valor medio: 180 Hz (47 Hz Hz) è Desviación 32 Hz è Número de muestras: 5582 sílabas è Variantes: ¤ Menos parámetros: tarea más simple. ¤ Normalización lineal (A=.8/179, B=13.5/179): Hz (0.6849) ¤ Normalización con Z-score: 16,12 Hz (0.6424) ¤ Codificación logarítmica+Z-score: Hz (0.6982) ¤ Limitando el rango a ç >130 Hz: Hz (0.6763) ç >150 Hz: Hz (0.6748)

Modelado: F0 (III) è Distribución del error en general: ¤ Hz en iniciales ¤ Hz en iniciales y finales ¤ Hz en finales ¤ Hz en intermedias (menos datos, más difíciles) è Distribución del error en las tónicas: ¤ Hz en iniciales ¤ Hz en iniciales y finales ¤ Hz en finales ¤ Hz en intermedias

Modelado: F0 (y IV) è Error por tipos de frases ¤ Propios: 16 Hz ¤ Sintagmas: Hz ¤ Interrogativas: falta por realizar el experimento