
Los especialistas en reconocimiento de voz han carecido durante mucho tiempo de un gran corpus abierto de habla oral en ruso, por lo que solo las grandes empresas podían permitirse hacer esta tarea, pero no tenían prisa por compartir sus mejores prácticas.
Tenemos prisa por solucionar este malentendido duradero durante años.
Por lo tanto, le presentamos un conjunto de datos de 4000 horas de discurso oral anotado, recopilado de varias fuentes de Internet.
Detalles debajo del corte.
Aquí están los datos para la versión actual 0.3:
Y aquí hay un
enlace al sitio web de nuestro edificio .
¿Desarrollaremos más el proyecto?
Nuestro trabajo en esto no está terminado, queremos obtener al menos 10 mil horas de discurso anotado.
Y luego vamos a hacer modelos abiertos y comerciales para el reconocimiento de voz utilizando este conjunto de datos. Y le sugerimos que se una: ayúdenos a mejorar el conjunto de datos, úselo en nuestras tareas.
¿Por qué nuestra meta es de 10 mil horas?
Existen varios estudios de generalización de redes neuronales en reconocimiento de voz, pero se sabe que una buena generalización no funciona en conjuntos de datos de menos de 1000 horas. Una cifra del orden de 10 mil horas ya se considera aceptable en la mayoría de los casos, y luego ya depende de la tarea específica.
¿Qué más se puede hacer para mejorar la calidad del reconocimiento si los datos aún no son suficientes?
A menudo, puede adaptar la red neuronal a sus altavoces a través de una narración de locutores de texto.
También puede adaptar la red neuronal a un diccionario de su área temática (modelo de idioma).
¿Cómo hicimos este conjunto de datos?
- Canales encontrados con subtítulos de alta calidad en YouTube, audio descargado y subtítulos
- Dio audio para reconocimiento a otros sistemas de reconocimiento de voz
- Leemos direcciones con voces robóticas
- Encontramos audiolibros y textos de libros en Internet, luego los dividimos en fragmentos por pausas y los comparamos entre sí (la llamada tarea de "alineación")
- Se agregaron en Internet pequeños conjuntos de datos rusos.
- Después de eso, los archivos se convirtieron a un único formato (wav de 16 bits, 16 kHz, mono, disposición jerárquica de archivos en disco).
- Los metadatos se almacenaron en un archivo manifest.csv separado.
Cómo usarlo:
Archivo db
La ubicación de los archivos está determinada por sus hashes, como este:
target_format = 'wav' wavb = wav.tobytes() f_hash = hashlib.sha1(wavb).hexdigest() store_path = Path(root_folder, f_hash[0], f_hash[1:3], f_hash[3:15]+'.'+target_format)
Lectura de archivos
from utils.open_stt_utils import read_manifest from scipy.io import wavfile from pathlib import Path manifest_df = read_manifest('path/to/manifest.csv') for info in manifest_df.itertuples(): sample_rate, sound = wavfile.read(info.wav_path) text = Path(info.text_path).read_text() duration = info.duration
Los archivos de manifiesto contienen triples: el nombre del archivo de audio, el nombre del archivo con la descripción del texto y la duración de la frase en segundos.
Filtrar archivos de solo una cierta longitud
from utils.open_stt_utils import (plain_merge_manifests, check_files, save_manifest) train_manifests = [ 'path/to/manifest1.csv', 'path/to/manifest2.csv', ] train_manifest = plain_merge_manifests(train_manifests, MIN_DURATION=0.1, MAX_DURATION=100) check_files(train_manifest) save_manifest(train_manifest, 'my_manifest.csv')
¿Qué leer o mirar en ruso para familiarizarse mejor con la tarea de reconocimiento de voz?
Recientemente, como parte del curso de
Aprendizaje profundo sobre los dedos, grabamos una conferencia sobre el problema del reconocimiento del habla (y un poco sobre síntesis). ¡Quizás ella te sea útil!
Problemas de licencia
- Publicamos el conjunto de datos bajo una doble licencia: para fines no comerciales, ofrecemos una licencia cc-by-nc 4.0 , para fines comerciales: uso después de un acuerdo con nosotros.
- Como es habitual en tales casos, todos los derechos de uso de los datos incluidos en el conjunto de datos permanecen con sus propietarios. Nuestros derechos se aplican al conjunto de datos en sí. Se aplican reglas separadas para fines científicos y educativos, consulte la legislación de su país.
Una vez más
, el sitio del proyecto para aquellos que no vieron el enlace de arriba .