Énorme ensemble de donnĂ©es ouvertes du discours russe

image

Les spécialistes de la reconnaissance vocale manquent depuis longtemps d'un grand corpus ouvert de discours oral russe, de sorte que seules les grandes entreprises pouvaient se permettre de faire cette tùche, mais elles n'étaient pas pressées de partager leurs expériences.

Nous sommes pressés de corriger ce malentendu durable pendant des années.

Nous portons donc à votre attention un ensemble de données de 4000 heures de discours oral annoté, collectées auprÚs de diverses sources Internet.

Détails sous la coupe.

Voici les données de la version actuelle 0.3:
Type de donnéesAnnotationLa qualitéPhrasesHorlogeGB
Livresalignement95% / pur1,1M1 511166
AppelsASR70% / bruyant837K81289
Généré (adresses russes)Tts100% / 4 voix1,7 M75481
Discours à partir d'une vidéo YouTubesous-titres95% / bruyant786K72478
LivresASR70% / bruyant124K11613
Autres jeux de donnéeslecture et alignement99% / pur17K435

Et voici un lien vers le site internet de notre immeuble .

Allons-nous développer davantage le projet?


Notre travail n'est pas terminé, nous voulons obtenir au moins 10 mille heures de discours annoté.

Et puis nous allons créer des modÚles ouverts et commerciaux pour la reconnaissance vocale en utilisant cet ensemble de données. Et nous vous suggérons de nous rejoindre: aidez-nous à améliorer l'ensemble de données, utilisez-le dans nos tùches.

Pourquoi notre objectif est-il de 10 mille heures?


Il existe diverses études sur la généralisation des réseaux de neurones dans la reconnaissance vocale, mais il est connu qu'une bonne généralisation ne fonctionne pas sur des ensembles de données de moins de 1000 heures. Un chiffre de l'ordre de 10 000 heures est déjà considéré comme acceptable dans la plupart des cas, puis il dépend déjà de la tùche spécifique.

Que peut-on faire d'autre pour améliorer la qualité de la reconnaissance si les données ne sont toujours pas suffisantes?


Souvent, vous pouvez adapter le réseau neuronal à vos haut-parleurs grùce à une narration d'annonceurs de texte.
Vous pouvez également adapter le réseau neuronal à un dictionnaire de votre domaine (modÚle de langue).

Comment avons-nous créé cet ensemble de données?


  • ChaĂźnes trouvĂ©es avec sous-titres de haute qualitĂ© sur YouTube, audio et sous-titres tĂ©lĂ©chargĂ©s
  • A donnĂ© l'audio pour la reconnaissance Ă  d'autres systĂšmes de reconnaissance vocale
  • Nous lisons des adresses avec des voix robotiques
  • Nous avons trouvĂ© des livres audio et des textes de livres sur Internet, puis les avons fragmentĂ©s par des pauses et juxtaposĂ©s les uns aux autres (la tĂąche dite «d'alignement»)
  • Ajout sur Internet de petits jeux de donnĂ©es russes.
  • AprĂšs cela, les fichiers ont Ă©tĂ© convertis en un seul format (wav 16 bits, 16 kHz, mono, disposition hiĂ©rarchique des fichiers sur disque).
  • Les mĂ©tadonnĂ©es ont Ă©tĂ© stockĂ©es dans un fichier manifest.csv distinct.

Comment l'utiliser:


Fichier db


L'emplacement des fichiers est déterminé par leurs hachages, comme ceci:

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) 

Lecture de fichiers


 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 

Les fichiers manifestes contiennent des triplets: le nom du fichier audio, le nom du fichier avec la description textuelle et la durée de la phrase en secondes.

Filtrer les fichiers d'une certaine longueur seulement


 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') 

Que lire ou regarder en russe pour mieux se familiariser avec la tĂąche de la reconnaissance vocale?


RĂ©cemment, dans le cadre du cours Deep Learning sur les doigts, nous avons enregistrĂ© une confĂ©rence sur le problĂšme de la reconnaissance vocale (et un peu sur la synthĂšse). Elle vous sera peut-ĂȘtre utile!


ProblĂšmes de licence


  • Nous publions l'ensemble de donnĂ©es sous une double licence: Ă  des fins non commerciales, nous proposons une licence cc-by-nc 4.0 , Ă  des fins commerciales - Ă  utiliser aprĂšs accord avec nous.
  • Comme d'habitude dans de tels cas, tous les droits d'utilisation des donnĂ©es incluses dans l'ensemble de donnĂ©es restent la propriĂ©tĂ© de leurs propriĂ©taires. Nos droits s'appliquent Ă  l'ensemble de donnĂ©es lui-mĂȘme. Des rĂšgles distinctes s'appliquent Ă  des fins scientifiques et Ă©ducatives, voir la lĂ©gislation de votre pays.

Encore une fois , le site du projet pour ceux qui n'ont pas vu le lien ci-dessus .

Source: https://habr.com/ru/post/fr450760/


All Articles