使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路。

本文着重介绍通用语音识别产品对于数据的诉求。

对数据的要求

训练集

相关要求,如下:

  • 地域,需要覆盖使用人群所在的地域,且数据的比例适中。
  • 口音,需要覆盖典型的口音。
  • 年龄,从18~60,覆盖各年龄段,且数据的比例适中。
    • 很多国家对未成年人有非常严格的保护措施,因此收集未成年人的数据比较困难。
    • 未成年男性的声音和青年女性的声音,从生理角度存在一定的相似度,这给质量控制增加了复杂度和相应的工作量。
  • 性别,男、女,比例适中。对于特定的语种,这个要求很难达成,比如某些严格执行教规的国家,很难采集到女性的声音。
  • 录音条件。
    • 一般要求静音,近场,10秒以内的短句,前、后静音不超出1秒。
    • 假如业务场景要求模型具备一定的搞噪能力,则需要增加对应场景的数据。
  • 母语人群提供的数据,其比例不低于某限定值。

测试集

相关要求,如下:

  • 数据的特征,接近应用场景。
  • 数据量适中,可以支撑功能和性能测试。

获取数据的方法

训练集

可行的方法有:

  • 采集开源训练数据集。这类数据通常用于研究,因此数据质量相对可控,唯一的问题在于数量较少,直白的说,用来写论文也许够用,但在工业强度下应用,则远远不满足要求。
  • 采购商业数据。数据公司可以通过如下方式收集数据:
    • 按照要求在指定的地域、寻找符合要求的人来录制语音数据。
    • 采用转包的方式,将任务包交给当地有资质的公司来收集数据。
    • 采用众包的方式,收集语音数据。
  • 自行采集数据。类似数据公司的操作方式,可以有如下方式:
    • 按照要求在指定的地域、寻找符合要求的人来录制语音数据。
    • 采用众包的方式,收集语音数据。

难点在于:

  • 交付周期长。收集数据的操作,从提出诉求到最终收到数据,中间耗时良久,进度基本不可控。
  • 质量不可控。语音数据没有比较好的手段可以实现自动化检查,因此需要花费相当的人力来整理、清洗数据,剔除质量差或者不满足要求的数据。

测试集

可行的方法有:

  • 客户提供带有标注的测试集。
  • 客户提供测试集的获取方法,交付团队按照要求采集数据用于测试。
  • 客户提供测试集的标准,交付团队按照要求自行准备数据。

注意:测试集用于验证模型的有效性,为保证公平性和有效性,测试集中的数据,绝对不允许作为训练集来使用。

参考资料

ASR项目实战-数据的更多相关文章

  1. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

  2. 【Rsync项目实战】备份全网服务器数据

    [Rsync项目实战]备份全网服务器数据 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转 ...

  3. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  4. Python Django CMDB项目实战之-2创建APP、建模(models.py)、数据库同步、高级URL、前端页面展示数据库中数据

    基于之前的项目代码来编写 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页index页文章页面 现在我们修改一个文章列表是从数据库中获取数据, 下面我们就需 ...

  5. webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)

    地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...

  6. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  7. 【Rsync项目实战一】备份全网服务器数据

    目录 [Rsync项目实战]备份全网服务器数据 [企业案例] 1.1 环境部署 1.2 开始部署backup服务器:Rsync服务端过程: 1.3 开始部署nfs01服务器:Rsync客户端过程: [ ...

  8. (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结

    Android项目实战(二十七):数据交互(信息编辑)填写总结   前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...

  9. 【java】itoo项目实战之大数据查询之使用 new map 优化hibernate之级联查询

    在我的上一篇博客<[java]itoo项目实战之hibernate 懒载入优化性能>中,我曾提到过学生数据有2万条,查询数据十分的慢,这是让人非常受不了的事情.看着页面进度条一直转着圈圈, ...

  10. 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 反向传播算法(Backpropagation Algorithm, ...

随机推荐

  1. python一键过杀软

    python过杀软新 利用python加载shellcode过360.火绒等杀软 先上代码 将以下代码保存到 mt.py import base64 import os import shutil b ...

  2. MySQL 表分区简介

    MySQL表分区是一种数据库管理技术,用于将大型表拆分成更小.更可管理的分区(子表).每个分区可以独立进行维护.备份和查询,从而提高数据库性能和管理效率.以下是详细介绍MySQL表分区的步骤和注意事项 ...

  3. CocoaPods 在iOS开发中养活了这么多项目,它到底是个啥?

    对于iOS开发者而言,CocoaPods并不陌生,通过pod相关的命令操作,就可以很方便的将项目中用到的三方依赖库资源集成到项目环境中,大大的提升了开发的效率.CocoaPods作为iOS项目的包管理 ...

  4. 聊聊JDK19特性之虚拟线程

    1.前言 在读<深入理解JVM虚拟机>这本书前两章的时候整理了JDK从1.0到最新版本发展史,其中记录了JDK这么多年来演进过程中的一些趣闻及引人注目的一些特性,在调研JDK19新增特性的 ...

  5. 14.8 Socket 一收一发通信

    通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式,当客户端发送数据到服务端后,我们希望服务端处理请求后同样返回给我们一个状态值,并以此判断我们的请求是否被执行成功了,另外增加收发同步有助 ...

  6. dig 简明教程

    哈喽大家好,我是咸鱼 不知道大家在日常学习或者工作当中用 dig 命令多不多 dig 是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙 ...

  7. 强化学习的一周「GitHub 热点速览」

    当强化学习遇上游戏,会擦出什么样的火花呢?PokemonRedExperiments 将经典的 Pokeman 游戏接上了强化学习,效果非同凡响,不然能一周获得 4.5k star 么?看看效果图就知 ...

  8. 为何 DevOps 会给开发人员带来压力和倦怠?

    企业正在享受 DevOps 实施带来的好处,但这也是有代价的.开发人员需要承担额外的责任,可能会导致他们感到疲惫不堪.因此我们可以采取一些方法来确保 DevOps 工程师的满意度. DevOps 的支 ...

  9. dijkstra算法(朴素 + 堆优化)

    dijkstra算法的大题思路是通过n - 1次迭代,每次迭代把一个点距汇点的最短路确定,当n - 1次循环过后所有点的最短路都已经确定 注意:dijkstra算法只适用于没有负权边的单源最短路 以下 ...

  10. 深度解析BERT:从理论到Pytorch实战

    本文从BERT的基本概念和架构开始,详细讲解了其预训练和微调机制,并通过Python和PyTorch代码示例展示了如何在实际应用中使用这一模型.我们探讨了BERT的核心特点,包括其强大的注意力机制和与 ...