
语音识别专家长期以来缺乏大型的俄语口语公开语料库,因此只有大型公司才能负担得起这项任务,但他们并不急于分享自己的最佳做法。
多年来,我们急于解决这一持久的误解。
因此,我们提醒您注意从各种Internet来源收集的4000小时带注释的口头语音数据集。
细节剪下。
以下是当前版本0.3的数据:
这是
我们大楼网站的链接 。
我们会进一步发展该项目吗?
我们在此方面的工作尚未完成,我们希望获得至少一万小时的带注释的语音。
然后,我们将使用该数据集为语音识别建立开放和商业模型。 我们建议您加入:帮助我们改进数据集,并在任务中使用它。
为什么我们的目标是一万小时?
关于语音识别中神经网络泛化的研究很多,但众所周知,良好的泛化不适用于少于1000小时的数据集。 在大多数情况下,上万小时的数字已被认为是可以接受的,然后它已经取决于特定的任务。
如果数据仍然不够,还可以采取哪些措施来提高识别质量?
通常,您可以通过文本播音员的叙述使神经网络适应您的说话者。
您还可以根据您的主题领域(语言模型)使神经网络适应词典。
我们如何制作此数据集?
- 在YouTube上找到带有高质量字幕,已下载音频和字幕的频道
- 提供音频以识别其他语音识别系统
- 我们用机器人的声音朗读地址
- 我们在互联网上找到了有声读物和书籍文本,然后将它们分成几段,然后将它们彼此并列(所谓的“对齐”任务)
- 在互联网上添加了小型俄罗斯数据集。
- 之后,文件被转换为单一格式(16位wav,16 kHz,磁盘上文件的单层分层排列)。
- 元数据存储在单独的manifest.csv文件中。
使用方法:
文件数据库
文件的位置由其哈希决定,如下所示:
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)
读取文件
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
清单文件包含三元组:音频文件的名称,带有文本描述的文件的名称以及短语的持续时间(以秒为单位)。
仅过滤特定长度的文件
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')
为了更好地熟悉语音识别的任务,该用俄语阅读或看什么?
最近,作为
手指深度学习课程的一部分
,我们录制了关于语音识别问题的讲座(以及有关合成的一些知识)。 也许她会对您有用!
许可问题
- 我们以双重许可发布数据集:出于非商业目的,我们提供cc-by-nc 4.0许可 ,出于商业目的-与我们达成协议后使用。
- 在这种情况下,照常,使用数据集中包含的数据的所有权利仍归所有者所有。 我们的权利适用于数据集本身。 单独的规则适用于科学和教育目的,请参阅您所在国家/地区的法律。
再次
,对于那些没有看到上面链接的项目站点 。