Flujo de trabajo

Preparación de entrevistas para el CORESAA

En la siguiente página se detalla el procedimiento que deben seguir los colaboradores del proyecto CORESAA para preparar sus archivos de audio para el corpus.

Paso a paso

Flujo de trabajo para la preparación de entrevistas de CORESAA

Proceso recomendado para convertir grabaciones de entrevistas en archivos JSON listos para su incorporación al corpus.

Comienzo
1 Ejecute el script 01_batch_01.py en el archivo de audio
2 Corrija manualmente la transcripción, las etiquetas de los hablantes y los metadatos. Se recomienda utilizar el editor de CORESAA para simplificar este proceso.
3 Ejecute el script 02_batch_02.py con --flatten-sentences
4 Ejecute el script 03_semantics.py para añadir los campos semánticos al JSON
5 Revise unmatched_semantic_fields.csv para identificar cualquier campo semántico sin definición.
¿Hay algún
posiciones de lemma+UPOS
que falte?
Añada entradas al diccionario de campos semánticos
Ejecutar 03_semantics.py otra vez
Vuelva al paso 5
No
6 Ejecute el script 04_praat.py para añadir información prosódico al JSON
7 Ejecute el script 05_split.py para optimizar el JSON para su uso en línea
7 Suba el JSON a CORESAA.

Scripts y instrucciones

En esta sección se encuentran los scripts mencionados arriba en la diagrama con los instrucciones necesarios para ejecutarlos.



01_batch_01.py

Este script transcribe los archivos de audio mediante WhisperX, alinea las palabras con sus marcas temporales y, si se proporciona un token de Hugging Face, realiza la diarización de hablantes. El resultado es un archivo JSON preparado para la corrección manual, con campos para el texto ASR (reconocimiento automático de hablantes) y los metadatos básicos.

Descargar

Instrucciones de uso

Asegúrese de sustituir los datos en naranja por la información correspondiente a su sistema.

Uso básico

python 01_batch_01.py ^
    --input-dir C:\dirección\de\la\grabación.m4a ^
    --output-dir C:\dirección\de\las\transcripciones ^
    --language es ^
    --model large-v3-turbo ^
    --hf-token SU_TOKEN_DE_HUGGING_FACE ^
    --min-speakers 2 ^
    --max-speakers 2

Argumentos alternativos

    --model tiny | base | small | medium | large | large-v3 | large-v3-turbo

02_batch_02.py

Este script procesa los JSON corregidos, normaliza los hablantes y añade anotación lingüística con SpaCy, incluyendo lemas, categorías gramaticales, rasgos morfológicos y dependencias sintácticas.

Descargar

Instrucciones de uso

Asegúrese de sustituir los datos en rojo por la información correspondiente a su sistema.

Uso básico

python 02_batch_02.py ^
    --input-dir C:\dirección\del\JSON ^
    --output-dir C:\dirección\de\las\transcripciones ^
    --spacy-model es_dep_news_trf

Argumentos opcionales

    --flatten-sentences
    --overwrite

03_semantics.py

Este script añade campos semánticos a los tokens del corpus a partir de un diccionario CSV de lemma;upos;semantic_field, y genera un informe de formas no encontradas.

Descargar script Descargar diccionario

Instrucciones de uso

Asegúrese de sustituir los datos en rojo por la información correspondiente a su sistema.

Uso básico

python 03_semantics.py ^
    --input-dir C:\dirección\del\JSON ^
    --output-dir C:\dirección\del\JSON ^
    --dictionary C:\dirección\del\diccionario.csv

Argumentos opcionales

--overwrite

Sobrescribe los archivos JSON originales en lugar de guardarlos en la carpeta de salida (output-dir).

--report unmatched_semantic_fields.csv

Genera un informe en formato CSV con las combinaciones de lemas y categorías gramaticales que no coinciden.

--keep-existing

No se sobrescribirá un semantic_field existente.

04_praat.py

Este script calcula mediante Parselmouth (Praat in Python) las medidas prosódicas a partir del audio y del JSON del corpus, como duración, pausas, F0 medio, rango tonal, intensidad, velocidad de habla y contorno final.

Descargar

Instrucciones de uso

Asegúrese de sustituir los datos en rojo por la información correspondiente a su sistema.

Uso básico

python 04_praat.py entrevista.json ^
    --audio grabación.wav ^
    --out entrevista.prosody.json

Argumentos opcionales

--declaratives-only

Se tomarán en cuenta únicamente las oraciones declarativas.

--include-contour

Se añadirán puntos de contorno F0 (¡aumento del tamaño del archivo!)

--csv prosody.csv

Se creará un archivo CSV con los valores numéricos también.

05_split.py

Este script divide los archivos JSON completos en dos versiones optimizadas: una ligera para las herramientas generales del corpus y otra centrada en los datos prosódicos.

Descargar

Instrucciones de uso

Asegúrese de sustituir los datos en rojo por la información correspondiente a su sistema.

Uso básico

python 05_split.py "C:\dirección\del\JSON"

Argumentos opcionales

--pretty

Indica al script que escriba el JSON con sangría y saltos de línea. (Esto facilita su lectura, pero la contrapartida es un archivo mucho más grande.)

--remove-f0-points

Se borarán los puntos de contorno F0.

--corpus-out /corpus --prosody-out /prosody

Los archivos de corpus y prosodia resultantes se guardarán en sus respectivas carpetas.