Calidad de las frases de wikipedia

Habría que ver cómo implementamos el filtrado de spacy en el script para ejectuarlo de cero y que no nos reste del resultado final.

¿Tienes los comandos que ejecutaste en spacy y si hay que bajar algún modelo o algo?

Alternativamente podemos darle la lista de palabras al script y que las evite al hacer la extración.

No sé cómo sería para unir el spacy con el extractor, el spacy hasta donde sé solo tiene cliente en python.

Para la instalación depende de cada sistema operativo: https://spacy.io/usage

Es un requerimiento usar el modelo es_core_news_md así que se tiene que instalar con :

python -m spacy download es_core_news_md

¿Para el archivo de las reglas no importa que sean listas de palabras muy extensas? digo por si hay algún orden o límite.

Podríamos pedir que se añada a la config el meter un archivo de blacklist y otro de whitelist.

Y luego ¿cómo generaste la lista de las palabras con menos de 5 apariciones? ¿Tuviste que darle un corpus? Si pudieras subir a algún lado todo el proceso sería útil, ya que en otros idiomas quieren hacerlo también.

Intento poder tener todas las instrucciones para poder generar esta lista yo y ver con los devs como pasársela a extractor de wikipedia.

Gracias.

Lo integré al tool de dabinat, espero no sea muy tarde.

Automáticamente agregará otro campo que indica si la palabra está fuera de vocabulario de spacy y lo guardará en un archivo.

Los cambios están aquí:

La instalación aún es necesaria:

Usando la lista generada por el tool de dabinat para luego crear una colección donde le podía hacer consultas, la manera de crear la colección ya depende de cada lenguaje. Los elementos de la consulta al final solo los usaba como blacklist.

¿Puedes enlazarme a las intrucciones paso a paso qué debería ejecutar para el español?

Para generar la lista completa son los mismos pasos de la sección word usage de mi fork del tool de dabinat :

Para la selección no sé como explicarla paso a paso, eso depende del lenguaje y como se lea del arhivo.

En mi caso estoy usando un split y linq para la selección en C#.

var wordsFilter = File.ReadAllLines(@"D:\filter.txt", Encoding.UTF8).Select(x => new WordFilter
            {
                Word = x.Split(' ')[0],
                Occurrences = Convert.ToInt32(x.Split(' ')[1]),
                OutVocab = Convert.ToBoolean(x.Split(' ')[2].ToLower())
            }).ToList();
            var blacklist = wordsFilter.Where(x => (x.Occurrences <= 5 && x.OutVocab)).Select(x => x.Word).ToHashSet();

Esta fracción de código es lo que los dev deben implementar en rust leyendo del archivo que se genera con el tool de dabinat

¿Queda más claro ahora?

Quizá sea entonces más últil subir nuestra blacklist del español que ya generaste en el issue que abrí para implementarlo, así tienen un ejemplo para probar:

Actualización: Estoy usando la blacklist que generó @carlfm01 para hacer una extracción de cero, ya que el script ya está adaptado para usar blacklists.

Por la cantidad de frases que veo saliendo por archivo, estimo que como mucho será capaz de extraer unas 900 mil frases, lo cual puede estar bien de momento, pero solo daría para 1000 horas de voz y habría que buscar otro millón de frases de otro lado.

El script le quedan aún unas horas, pero parece que van a salir bastantes más frases (calculo 1,2M).

En cuando esté listo necesitaría al menos un par de personas para revisar una muestra de unas 500 y estimar si el número de frases con palabras complejas es aceptable o no.

Número final de frases: 1,3M

Aquí os dejo una muestra de 500 aleatorias

https://paste.mozilla.org/pk4jnFhm

Necesitaría que varias personas le dieran un vistazo y respondieran:

Si se te pidiera leer en voz alta estas frases:

  • ¿Consideras que el número de las que te costaría pronunciar es muy elevado?
  • Haciendo una estimación rápida, ¿qué porcentaje crees que representan del total?
  • De las que te costaría pronunciar, ¿cuales son los motivo más habituales?

Me gustaría tener estas opiniones en unas horas para mañana poder tomar la decisión de si incluirlas a la web o no.

Muchas gracias.

Nota: No hace falta leer todas las frases, simplemente unas cuantas para hacer una estimación aproximada.

Si alguien quiere ver más de 500, aquí están todas.

1 Like

Me lei la mayoria y la verdad es que a diferencia de las primeras lecturas estas estan mejor concretadas. No estan dificiles de pronunciar en un tono elevado y pues solo aquellas palabras que tienen pronunciación en ingles podrian ser dificiles de pronunciar pero son inevitables ya que son nombres propios de lugares o personas.

1 Like

Creo que eso no sería tan malo, al final creo que tiene que buscar otro tipo de sentencias, por ejemplo preguntas. De lo que veo el texto de wikipedia casi no tiene preguntas, cuando alguien hace preguntas lo hace como en un sonido diferente que creo puede beneficiar al reconocimiento en tener más allá de wikipedia.

Sí, en secciones lo veo aceptable, diría un 20% mal y el otro 80% bien tomando secciones de 100, en otras secciones diría que es un 50% mal y 50% otro bien.

Creo las que contengan abreviaturas hay que eliminarlas o ponerles un estándar, ejemplo dr, sr, doc, sra pasarlas a doctor, señor, señora y así con las de este tipo.

Así como Kelly menciona el problema de los números, lo mismo pasa con abreviaciones.

También quedan palabras en inglés, se podría implementar los foreign stop words para evitar esto? El ejemplo estaba en :https://github.com/carlfm01/common-voice-wiki-scraper/commit/26a98c7567f8049c509118d968cf6d9b11d28969 comentado en el issue https://github.com/Common-Voice/common-voice-wiki-scraper/issues/33

Esos número son mucho más elevados de los que me han comentado otras personas. Un 20% es ¿2 frases de cada 10 son complejas?

He generado con otra blacklist más grande otro export, esta vez tiene 1,17M de frases (algo menos que el anterior)

¿Podéis mirar esta muestra de 500 y decir si es mejor o peor a la muestra anterior?

https://paste.mozilla.org/s5Ms9Rqq

1 Like

Parece que la última muestra soluciona muchos de las frases más complejas de la anterior versión, por lo que a menos que alguien crea que hay algo grave, vamos a dar el OK y esa es la que vamos a importar con 1,17M de frases.

Es correcto, ya me cuesta encontrar palabras raras. Mi única preocupación son las abreviaciones (que ahora no son tantas).

Excelente trabajo.

Una mejoria bastante significativa por el momento ahora si casi que no hay palabras extrañas o simbolos extraviados. A mi me parecen que de las 500 ya van siendo utiles unas 450 asi como que el 90%

Veo que ya están las frases en la web, sería bueno probar que todo está correcto

Muchas gracias a todos los que habéis ayudado a filtrar, mejorar y probar las frases.

¡Ahora tenemos suficientes frases para incentivar grandes eventos y grandes aportaciones! :slight_smile:

3 Likes

Bueno ante todo enhorabuena por el esfuerzo realizado, parece que ha surtido efecto y la gente esta respondiendo.Bueno ya parece que llego tarde a este debate ya que las frases estan subidas . Solo dira si es posible corregirlo o seleccionar las que mayoritariamente esten en español ya que los patrones de lectura seran diferentes segun que la persona conozca algo de ingles o no lo digo por la cantidad de nombres en ingles bueno un saludo y repito mi enhorabuena :slightly_smiling_face:

1 Like

Totalmente en hora buena, en El Salvador vamos ir viendo por darle espacios para ir trabajando en ello.