导读:本文深入探讨后处理环节。.在本环节要处理的重要特性有分词、断句、标点符号、大小写、数字等的格式归一等。.分词.和NLP、搜索等场景下的分词含义不同。对于拼音类的语言,比如英语、法语等,句子由多个单词组成,语音输出的结果,需要按需在各个单词之间补充或者去掉空格。对于中文来说,字和词
本文深入探讨后处理环节。
在本环节要处理的重要特性有分词、断句、标点符号、大小写、数字等的格式归一等。
和NLP、搜索等场景下的分词含义不同。对于拼音类的语言,比如英语、法语等,句子由多个单词组成,语音输出的结果,需要按需在各个单词之间补充或者去掉空格。对于中文来说,字和词之间不以空格作为边界,因此分词的意义不明显。
狭义的语音识别只处理语音到文字的转换,由于语音数据中缺少一些明确的提示信息,因此语音识别的结果中欠缺断句的信息。对于用户使用语音识别的结果时,缺少断句的文本会降低阅读体验,增加理解的困难,同时限制了语音识别的使用场景。为了解决这个问题,需要在语音识别的输出结果中,增加必要的断句的信息,比如可以增加标点符号,将输出结果划分句子和段落。
合理的标点符号,有助于用户恰当的理解语音识别的结果,提升语音识别产品的使用体验。
可以使用基于规则的方法或者机器学习模型的方式来为语音识别的文本中增加标点符号。
考虑到人在讲话时,会在有标点符号的位置,自然的增加一些停顿,因此可以利用这个特征,为语音识别的结果文本中增加标点符号,此即基于规则的方法的实现假设。
本方法存在的问题:
基于规则的方法在实现时:
本方法对文本及其中的标点符号同时建模,训练专用的语言模型,外挂在后处理过程中,即语音识别环节输出的文本、断句、时间偏移等信息,作为标点符号推断过程的输入,一起用于协助标点符号模块工作。
相比于基于规则的方法,本方法似乎适应性相对要好一点,但实现的难度相应有所增加,比如:
对于中文而言,语言自身缺少大、小写的特点,因此不需要考虑。但对于拼音语言比如英语、法语等,相同的单词、不同的大小写形式,其含义可能有明显的不同。这对于使用中文作为母语的人群而言,理解起来还是比较有困难的。
作为语音识别产品,在处理类似英语、法语等具备大、小写特征的语种时,为提升可读性,需要针对语言自身的特点,考虑对应的解决方案。
针对本问题,同样存在基于规则的方法和基于机器学习模型的方法。
对于英语、法语等语言,有一些简单的规则可以遵循。比如:
I
,在句中任意位置,均需要使用大写。NBA
、USA
、LGTM
、ASAP
、KIA
等,需要全字母大写。President
和president
。但人类的语言并不是一成不变的,相应的规则很难穷举,并且特例太多,在一个句子中具体应用哪个、哪些规则,其实很难判断。比如:
President
和president
,这两个单词拼写一致,发音一致,但出现在句子中,含义不同。因此,考虑到上述特征,基于规则的方法,使用的场景相对受限。
采用机器学习模型的方法来对语音识别的结果进行预测,输出基本的结果,同时结合标点符号的输出结果,二者整合后输出最终的结果。
对于机器学习的部分,收集数据、标注数据、设计模型时,增加各单词大小写的特征,然后使用训练得到的模型来预测文本中各单词的大、小写。
本特性在实现时的困难,比如有:
业界通行的方法是基于规则来处理文本,即结合正则表达式和代码,来处理语音识别结果中出现的数字、物理单位等信息,将其转写为相应的书面表达形式。
处理本问题时,可以考虑基于机器学习的方法来实现,但从实践的结果看,效果很差且不稳定,不满足商用的要求。
以数字的表达为例,不同语言有各自的特点,相同语言在不同的地域也有不同的特点,并没有统一的规则。
考虑到数字在书面场景下使用时,一般以阿拉伯数字的形式书写,并且各语言的朗读习惯相对稳定,因此基于规则的方法,实现简单并且有效,从实践角度看,可以覆盖80%的常用场景。
本特性在实现时的困难,比如有:
上一篇:软件工程快速入门(下)
下一篇:质量保障体系建设演进案例