Saltar a contenido

Dataset

En esta sesión nos vamos a centrar en generar el dataset necesario para entrenar el modelo de IA del PIA Lara.

Nuestro objetivo es generar un dataset que contenga todas las características que hemos recogido con la aplicación de captura. En esta primera sesión nos vamos a centrar en generar un dataset simplificado, únicamente compuesto por audio y la frase con el texto (la etiqueta).

Para ello, utilizaremos los audios que hemos recopilado mediante la aplicación de captura y tenemos almacenados en S3, los cuales están codificados con el formato Opus dentro de un contenedor Ogg.

Recordad que tenemos la estructura de datos en MongoDB con la colección audios con la siguiente estructura:

{
  "_id": {
    "$oid": "641dfed8093018b216fa33d8"
  },
  "aws_object_id": "63ea809051c7dd6fe6e4527f_1679687384.wav",
  "usuario": {
    "id": {
      "$oid": "63ea809051c7dd6fe6e4527f"
    },
    "mail": "cliente@lara.com",
    "nombre": "Rocío López",
    "parent": "tecnico@lara.com"
  },
  "fecha": {
    "$date": "2023-03-24T20:49:44.782Z"
  },
  "texto": {
    "id": {
      "$oid": "640cb6abbd72df924a9f636b"
    },
    "texto": "Comí un flan que me dio flato.",
    "tag": "syllabus",
    "tipo": "syllabus"
  },
  "duracion": 3
}

En Aules dispones de una copia de la base de datos de MongoDB y archivo comprimido con una muestra de las audios almacenados en S3.

Para ello, en esta sesión, y mediante la librería datasets de Hugging Face se pide realizar:

  1. Script de conversión de la carpeta con audios a formato wav.
  2. Script de generación del dataset (debe conectarse a MongoDB) y obtener los datos necesarios (texto y audio).
  3. Script de generación de un dataset ampliado, recogiendo todas las características que consideres que puedan llegar a ser útiles (edad, sexo, etc...)
  4. Dataset persistido en formato Arrow en la carpeta del servidor.
  5. Cuaderno Jupyter que cargue el dataset persistido, y muestre un texto y permita reproducir un audio.

Plazo de entrega

  • Jueves 2 Mayo - 23:59: Scripts y datos en el servidor.