Enorme conjunto de dados abertos do discurso em russo

imagem

Há muito que os especialistas em reconhecimento de fala carecem de um grande corpus aberto de fala russa oral; portanto, apenas grandes empresas podem se dar ao luxo de realizar essa tarefa, mas não têm pressa em compartilhar suas melhores práticas.

Estamos com pressa de corrigir esse mal-entendido duradouro por anos.

Por isso, chamamos a atenção para um conjunto de dados de 4000 horas de discurso oral anotado, coletados de várias fontes da Internet.

Detalhes sob o corte.

Aqui estão os dados para a versão atual 0.3:
Tipo de dadosAnotaçãoQualidadeFrasesRelógioGB
Livrosalinhamento95% / puro1,1M1.511166
ChamadasASR70% / barulhento837K81289
Gerado (endereços russos)Tts100% / 4 votos1.7M75481
Discurso do vídeo do YouTubelegendas95% / barulhento786K72478
LivrosASR70% / barulhento124K11613
Outros conjuntos de dadosleitura e alinhamento99% / puro17K435

E aqui está um link para o site do nosso prédio .

Iremos desenvolver o projeto ainda mais?


Nosso trabalho sobre isso não está terminado, queremos obter pelo menos 10 mil horas de discurso anotado.

E então vamos criar modelos abertos e comerciais para reconhecimento de fala usando esse conjunto de dados. E sugerimos que você participe: ajude-nos a melhorar o conjunto de dados, use-o em nossas tarefas.

Por que nosso objetivo é 10 mil horas?


Existem vários estudos de generalização de redes neurais no reconhecimento de fala, mas sabe-se que uma boa generalização não funciona em conjuntos de dados de menos de 1000 horas. Um número da ordem de 10 mil horas já é considerado aceitável na maioria dos casos e, em seguida, já depende da tarefa específica.

O que mais pode ser feito para melhorar a qualidade do reconhecimento se os dados ainda não forem suficientes?


Muitas vezes, você pode adaptar a rede neural aos seus alto-falantes através de uma narração de anunciantes de texto.
Você também pode adaptar a rede neural a um dicionário da sua área de assunto (modelo de idioma).

Como fizemos esse conjunto de dados?


  • Canais encontrados com legendas de alta qualidade no YouTube, áudio e legendas baixados
  • Deu áudio para reconhecimento em outros sistemas de reconhecimento de fala
  • Lemos endereços com vozes robóticas
  • Encontramos livros de áudio e textos de livros na Internet, depois os dividimos em fragmentos por pausas e justapusemos um ao outro (a chamada tarefa de "alinhamento")
  • Adicionado na Internet pequenos conjuntos de dados russos.
  • Depois disso, os arquivos foram convertidos em um formato único (wav de 16 bits, 16 kHz, mono-hierárquico, arquivos em disco).
  • Os metadados foram armazenados em um arquivo manifest.csv separado.

Como usar:


Arquivo db


A localização dos arquivos é determinada por seus hashes, assim:

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) 

Lendo arquivos


 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 

Os arquivos de manifesto contêm triplos: o nome do arquivo de áudio, o nome do arquivo com a descrição do texto e a duração da frase em segundos.

Filtrar arquivos de apenas um determinado comprimento


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

O que ler ou procurar em russo para se familiarizar melhor com a tarefa de reconhecimento de fala?


Recentemente, como parte do curso de Deep Learning nos dedos, gravamos uma palestra sobre o problema do reconhecimento de fala (e um pouco sobre síntese). Talvez ela seja útil para você!


Problemas de licenciamento


  • Nós publicamos o conjunto de dados sob uma licença dupla: para fins não comerciais, oferecemos uma licença cc-by-nc 4.0 , para fins comerciais - use após acordo conosco.
  • Como sempre, nesses casos, todos os direitos de uso dos dados incluídos no conjunto de dados permanecem com seus proprietários. Nossos direitos se aplicam ao próprio conjunto de dados. Regras separadas aplicam-se para fins científicos e educacionais; consulte a legislação do seu país.

Mais uma vez , o site do projeto para quem não viu o link acima .

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


All Articles