首页 > 其他分享 >ASR项目实战-后处理

ASR项目实战-后处理

时间:2023-12-30 09:03:54浏览次数:29  
标签:实战 ASR 文本 结果 后处理 标点符号 语音 规则 识别

本文深入探讨后处理环节。
在本环节要处理的重要特性有分词、断句、标点符号、大小写、数字等的格式归一等。

分词

和NLP、搜索等场景下的分词含义不同。对于拼音类的语言,比如英语、法语等,句子由多个单词组成,语音输出的结果,需要按需在各个单词之间补充或者去掉空格。对于中文来说,字和词之间不以空格作为边界,因此分词的意义不明显。

断句

狭义的语音识别只处理语音到文字的转换,由于语音数据中缺少一些明确的提示信息,因此语音识别的结果中欠缺断句的信息。对于用户使用语音识别的结果时,缺少断句的文本会降低阅读体验,增加理解的困难,同时限制了语音识别的使用场景。为了解决这个问题,需要在语音识别的输出结果中,增加必要的断句的信息,比如可以增加标点符号,将输出结果划分句子和段落。

标点符号

合理的标点符号,有助于用户恰当的理解语音识别的结果,提升语音识别产品的使用体验。
可以使用基于规则的方法或者机器学习模型的方式来为语音识别的文本中增加标点符号。

基于规则的方法

考虑到人在讲话时,会在有标点符号的位置,自然的增加一些停顿,因此可以利用这个特征,为语音识别的结果文本中增加标点符号,此即基于规则的方法的实现假设。
本方法存在的问题:

  • 只能实现简单的标点符号,比如逗号、句号。
  • 要求讲话人讲话速度相对稳定,不至于在一段话的过程语速忽快、忽慢,这将导致本方法失效。

基于规则的方法在实现时:

  • 需要语音识别环节输出各元素对应的时间偏移,即开始时间和结束时间,元素包括文本和静音段。
  • 配置静音段的时长,用于区分逗号、句号。
    配置信息可以作为系统级参数实现,这将要求所有的语音数据遵循相同的特征,显然不够灵活。另外,给出一组可以满足大部分应用场景的配置参数,本身是一件比较复杂的工作。
    假如配置信息作为会话级参数来实现,相关信息由调用方提供给后处理系统,此时可以提供一定的灵活性,适配不同讲话人的语速的特点。这需要调用方事先了解语音数据中讲话人的特征,否则将影响标点符号的准确性。

基于机器学习模型的方法

本方法对文本及其中的标点符号同时建模,训练专用的语言模型,外挂在后处理过程中,即语音识别环节输出的文本、断句、时间偏移等信息,作为标点符号推断过程的输入,一起用于协助标点符号模块工作。
相比于基于规则的方法,本方法似乎适应性相对要好一点,但实现的难度相应有所增加,比如:

  • 机器学习模型建模、训练、训练数据收集和标注等传统的难点。
  • 语音识别的结果文本,其准确性假如不足,字错率过高,相应的会造成标点符号模型在工作时无法得到准确的输入,进而影响到输出质量。
  • 断句,讲话人的特征,口语化表达方式,比如重复字、重复词、词之间不稳定的静音块等,会导致断句的判断出现错误,从而影响标点符号模型的准确性。
  • 时间偏移,本特性和标点符号模块的整合。时间偏移信息作为标点符号模块的输入和输出,标点符号模块将在输入的时间偏移信息中增加标点符号的信息,整合过程中需要考虑有效利用已有时间偏移信息,同时在输出结果中,注意不能错误的修改文本的时间偏移,造成明显的错误。

大小写

对于中文而言,语言自身缺少大、小写的特点,因此不需要考虑。但对于拼音语言比如英语、法语等,相同的单词、不同的大小写形式,其含义可能有明显的不同。这对于使用中文作为母语的人群而言,理解起来还是比较有困难的。
作为语音识别产品,在处理类似英语、法语等具备大、小写特征的语种时,为提升可读性,需要针对语言自身的特点,考虑对应的解决方案。
针对本问题,同样存在基于规则的方法和基于机器学习模型的方法。

基于规则的方法

对于英语、法语等语言,有一些简单的规则可以遵循。比如:

  • 出现在句首的单词,首字母要求为大写,句中的单词,一般为小写。
  • 习惯表达法中,个别单词使用大写,比如英语中的I,在句中任意位置,均需要使用大写。
  • 人名、地名,要求各组成部分的首字母大写。
  • 缩写词,比如NBAUSALGTMASAPKIA等,需要全字母大写。
  • 特定的表达习惯,比如Presidentpresident
  • 等等。

但人类的语言并不是一成不变的,相应的规则很难穷举,并且特例太多,在一个句子中具体应用哪个、哪些规则,其实很难判断。比如:

  • 处理人名、地名,几乎没有规则,并且数量很大。
  • 缩写词,和领域、使用群体强相关,并且数量巨大。
  • 表达习惯,比如Presidentpresident,这两个单词拼写一致,发音一致,但出现在句子中,含义不同。

因此,考虑到上述特征,基于规则的方法,使用的场景相对受限。

基于机器学习模型的方法

采用机器学习模型的方法来对语音识别的结果进行预测,输出基本的结果,同时结合标点符号的输出结果,二者整合后输出最终的结果。
对于机器学习的部分,收集数据、标注数据、设计模型时,增加各单词大小写的特征,然后使用训练得到的模型来预测文本中各单词的大、小写。
本特性在实现时的困难,比如有:

  • 机器学习模型建模、训练、训练数据收集和标注等传统的难点。
  • 时间偏移、标点符号的识别结果,作为大、小写识别的输入,二者之间如何整合,确保单词在句子的边界以及句子中间可以得到正确的结果。

数字格式归一

业界通行的方法是基于规则来处理文本,即结合正则表达式和代码,来处理语音识别结果中出现的数字、物理单位等信息,将其转写为相应的书面表达形式。
处理本问题时,可以考虑基于机器学习的方法来实现,但从实践的结果看,效果很差且不稳定,不满足商用的要求。
以数字的表达为例,不同语言有各自的特点,相同语言在不同的地域也有不同的特点,并没有统一的规则。
考虑到数字在书面场景下使用时,一般以阿拉伯数字的形式书写,并且各语言的朗读习惯相对稳定,因此基于规则的方法,实现简单并且有效,从实践角度看,可以覆盖80%的常用场景。
本特性在实现时的困难,比如有:

  • 不同语种的人群,数字的读法不同,因此需要针对不同的语言定制处理模块。
  • 给定一种语言,其数字的读法,和地域、人群强相关,因此需要相关的规则,并提供针对性的实现。
  • 使用语音识别环节输出的识别文本作为输入,因此语音识别环节输出结果的准确性会影响数字格式归一的准确性。假如语音识别环节的结果存在错误,则可能需要做一些适配和兼容,改善最终结果的准确性。

标签:实战,ASR,文本,结果,后处理,标点符号,语音,规则,识别
From: https://www.cnblogs.com/jackieathome/p/17935662.html

相关文章

  • ASR项目实战-数据
    使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路。本文着重介绍通用语音识别产品对于数据的诉求。对数据的要求训练集相关要求,如下:地域,需要覆盖使用人群所在的地域,且数据的比例适中。口音,需要覆盖典型的......
  • ASR项目实战-构建Kaldi
    准备工作安装构建时依赖的基础软件软件清单如下:bzip2python3automakelibtoolcmakegccg++gfortrangitsubversion不同平台安装软件的方式不同,比如可以使用yum或者apt-get等。下载开源软件软件清单如下:LibunwindglogOpenFSTOpenBLASKaldi按照一定的规则,将下......
  • ASR项目实战-语音识别
    本文深入探讨语音识别处理环节。本阶段的重点特性为语音识别、VAD、热词、文本的时间偏移、讲话人的识别等。语音识别业界流派众多,比如Kaldi、端到端等,具体选择哪一种,需要综合考虑人员能力、训练数据量和质量、硬件设施、交付周期等,作出相对合理的交付规划。基于Kaldi的方案,优......
  • JVM-实战篇-GC调优
    1GC调优GC调优指的是对垃圾回收进行调优。GC调优的主要目标是避免由垃圾回收引起的程序性能下降。GC调优的核心分为三部分:通过JVM参数的设置;特定垃圾回收器的JVM参数的设置;解决由频繁的FULLGC引起的程序性能问题。GC调优没有唯一的标准答案,重点学习调优的工具和方法。......
  • JVM-实战篇-内存调优
    1内存溢出和内存泄漏概念:内存泄漏:在Java中如果不在使用一个对象,但是该对象依然在GCROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没特殊说明讨论的均为堆内存泄漏。若持续发生内存泄漏,不管有......
  • 记一次对某杀猪盘站点的实战渗透
    前言昨天半夜看到一篇文章 某菠菜网站渗透实战就想着自己也练一练手,打到一半发现,大师傅们对这类站点已经狠狠的蹂躏了,所以借鉴师傅们的经验,本着锻炼一下,想到哪就记一下,所以写的比较杂乱,其中有没有解决的地方也记录下来的,然后又换了个站点接着走了下去信息收集前台这样看一下其他......
  • Amazon S3 CORS 实战
    AmazonS3(SimpleStorageService)是一项强大的对象存储服务,而跨域资源共享(CORS)是为了在Web应用中安全实现跨域数据传输而设计的标准。在本文中,我们将深入探讨如何在AmazonS3上实战配置CORS,确保安全地处理跨域请求。1.CORS概述1.1同源策略回顾同源策略是浏览器的安全机制,限......
  • Amazon API Gateway CORS 实战
    AmazonAPIGateway是构建和部署RESTfulAPI的托管服务,而跨域资源共享(CORS)是为了在Web应用中安全实现跨域数据传输而设计的标准。在本文中,我们将深入探讨如何在AmazonAPIGateway上实战配置CORS,确保安全地处理跨域请求。1.CORS概述1.1同源策略回顾同源策略是浏览器的安......
  • 程序员必知!适配器模式的实战应用与案例分析
    适配器模式是一种结构型设计模式,它允许不同接口的对象协同工作,它通过将一个类的接口转换成客户希望的另外一个接口,使得不兼容的类可以一起工作。适配器模式提高了类的复用性、系统的灵活性和可扩展性,并降低了系统间的耦合度,在实际应用中,例如电源适配器和数据转换器,以及编程中封装......
  • Amazon CloudFront CORS 实战
    AmazonCloudFront是一项强大的内容分发服务,而跨域资源共享(CORS)则是为了在Web应用中安全实现跨域数据传输而设计的标准。在本文中,我们将探讨如何在AmazonCloudFront上实战配置CORS,确保安全地处理跨域请求。1.CORS概述1.1同源策略回顾同源策略是浏览器的安全机制,限制页面......