📖 Necesitamos más frases en español

Hola,

Actualmente sólo tenemos 6687 frases en la base de datos de Common Voice en español.

Esto quiere decir que si de media cada frase son 4s de lectura, nos permiten tener 7,43 horas de voces sin repetir frases.

Ahora mismo hay 25 horas validadas en español, lo que quiere decir que hace mucho que estamos grabando las mismas frases una y otra vez.

¿Por qué es esto importante?

Cuando entrenamos los modelos de Deep Speech realmente no es muy útil tener más de una vez una frase grabada ya que reduce significativamente la calidad del modelo, por que tenemos que procurar que cada frase es grabada muy pocas veces, idealmente solo una.

¿Qué hacer?

Necesitamos añadir más frases de dominio público en la herramienta y validarlas.

Hasta que podamos tener el extractor de wikipedia para el español es la única forma que tenemos de añadir frases.

Para poder tener un buffer de 25 horas, necesitaríamos unas 22500 frases (a 4s por frase), que entiendo que es muchísimo, por lo que la alternativa es esperar a que el extractor de wikipedia esté listo y no hacer grandes eventos hasta entonces.

Un saludo.

2 Likes

Los textos de Wikipedia funcionan? Creo que por ahí leí que no cumplian los requisitos del proyecto.

No, no podemos usar textos de wikipedia directamente, pero si ves el tema que enlacé, hay una forma legal de poderlo hacer (de forma muy limitada) bajo “fair use”, pero queremos asegurarnos que se hace bajo el control de este script que estamos desarrolando y es ejecutado por el equipo de Common Voice, para evitar problemas legales.

Excelente, yo no envié más frases de librivox debido a que la mayoría de los textos fueron creados por OCR y por momentos hay palabras separadas, o dos palabras juntas. De las 1000h de español que en teoría son apenas conseguí sacar 100h aprox.
Ya estoy haciendo últimas validaciones para liberar esas 100h, yo sé que es de lejos lo ideal, pero será algo para iniciar, en español hay muy muy pocos datos que se puedan usar.

Fijate @nukeador que en El Salvador tenemos un proyecto de autores salvadoreños que se encuentra recopilando obras que se encuentren en el dominio público. El proyecto es autores.sv y pues por ejemplo la obra de jicaras tristes de Alfredo Espino ya que existe una versión .txt del mismo y pues de copiar pegar y fragmentar devidamente.

¿se podria agregar por frases u oraciones al colector?

Claro, siempre que sean Public Domain. Lo idea sería hacerlo para que las frases tuvieran sentido y no se vieran como frases cortadas, por lo que habría que crear un algoritmo de filtrado que las dejara adecuadas para leer en trozos cortos de 4 a 8s aprox.

1 Like

A chivo, si es que me acorde de la plataforma y asi podria ponerme a fragmentar y si entiendo lo de los trozos adecuados. :slight_smile: Pero tenia mis dudas. jejejeje ¡gracias! por el momento seguire a mano… pero le planteare a mi compañero su se anima a crear un algoritmo que extraiga de la web o de plano lo envio a la entrada del proyecto de lo con la wikipedia.

1 Like

El problema que le veo es el mismo que mencioné antes, si el texto fue creado por OCR es muy difícil filtrarlo.

Ejemplo

i Anchas calles sol* is, llenas dettng^, iduoiti
das débilmente .aróles de ga: que, ontr ?
niebla espesa y el agua, parecen po -f candil s
i de pueblo. ü

De wikipedia yo evitaría cualquier esfuerzo, ya que va a estar integrado en el script oficial y es el único que se va a usar para wikipedia por las restricciones legales. Estoy hablando con el equipo para ver cuando podemos tener algo que compartir para que las comunidades puedan adaptar este script para otros idiomas, espero tener alguna respuesta en las próximas semanas.

1 Like

Se podría usar un diccionario y comprobar que las palabras existen. De todas formas el sentence collector hace comprobaciones básicas para que no “se cuelen” símbolos o caracteres especiales.

El código está aquí y permite hacer validaciones diferentes por idioma:

1 Like

Sin usar un diccionario estas son las que salen:

https://pastebin.com/JRKk94jH

Usando diccionario no pasa ninguna, tendré que hacerlo un poco más grande.

Sí, es importante que no haya palabras que no existen o cortadas. Además que lo ideal es que las palabras sean de uso moderno, por eso muchos libros de dominio público no son buenos, porque son difíciles de leer por la gente.

Pensando un poco más como solucionar este problema de las frases y la importancia de frases actuales se me ocurrió crear un generador de frases.

¿Cómo sería?

Bueno no es complicado obtener listas de nombres de profesiones, nombres de personas, nombres de los días, nombres del mes, nombres de los países, nombres de ciudades, números escritos, nombres de empresas relacionadas, nombres de animales salvajes, nombres de animales domésticos, nombres de planetas, nombres de estrellas, nombres de partes del cuerpo, nombres de enfermedades, nombres de los elementos, nombres marcas de autos, nombres de escritores, nombres de canciones, nombres de programas de software, y así con muchos otros.

Bueno la idea con todos esos grupos es algo así como lo que hace las herramientas de NLP de Google como dialowflow o LUIS de MS, pero sería lo contrario, no vamos a detectar las sentencias relacionadas, vamos a crearlas mezclando los grupos.

Para hacer un ejemplo digamos que:

[nombreGrupo] = sería el nombre del grupo de palabras relacionadas que quiero usar

(10,rand) = cantidad de sentencias, tipo para generalas ya sea secuencial siguiendo el orden de cada lista o random

Bueno con eso ya definido podríamos iniciar a crearlas ej:

en el año [añosEscritos] en [ciudades] mi [familiares] se compró un [animalesdomesticos] (10,rand)

Y las sentencias generadas serían algo así:

  • en el año mil quinientos dos en Madrid mi papá se compró un perro

  • en el año dos mil cinco en Heredia mi sobrina se compró un gato

Y así hasta completar la cantidad de oraciones indicadas, sería cuestión de que los usuarios se pongan creativos.

creo que para generarlas sería muy fácil, copias y pegas unas cuentas cambiando palabras y ya tiene una buena cantidad.

Así:

  • era el año [añosEscritos] en [ciudades] y estaba con mi [familiares] (100,rand)
  • el [nombredías] de [meses] viajo con mi [familiares] (100,rand)
  • en [meses] llega mi [familiares] de [ciudades] (100,rand)
  • en [meses] viajo donde mi [familiares] en [ciudades] (100,rand)
  • en [paises] no hay vuelos para [cuidades] de [aerolineas] (100,rand)
  • en [paises] sí hay vuelos directos a [cuidades] de la compañia [aerolineas] para el [nombredías] (100,rand)

Me gustaría ver opiniones sobre lo que propongo.

Aquí creo que hablaban de algo similar en inglés

Hoy he estado hablando con el equipo y vamos a dar un vistazo a estos modelos ya entrenados para generar qué palabras pueden sustituirse

1 Like

en españa creo que los derechos de autor estan sobre los 70 años despues de la muerte del autor aqui dan un listado de autores y obras de domino publico

http://www.bne.es/es/Servicios/InformacionBibliografica/AutoresDominioPublico/

1 Like

Por ejemplo puede haber obras de Benito Perez Galdos que aunque es antiguo es de principios del siglo pasado y el lenguaje puede no ser tan diferente al actual

Exacto, aunque mucho ojo porque hay trampa, las editoriales sacan nuevas versiones cuyo copyright empieza a contar desde su publicación.

Puedes encontrar obras de la antigua Grecia cuya traducción y/o edición es de 1980 por ejemplo y están aún sujetas a copyright :S

Eso que dices es correcto pero el contenido de la obra salvo que lo cambiasen es el que es las frases no deberian cambiar cambiara el formato del libro el prologo etc pero esta bien que lo indiques gracias

1 Like

Aunque las frases no cambien, es lo absurdo del sistema de copyright, que toda la obra vuelve a tener vigente porque es la versión de tal editorial.