符斌 王宇星 丛龙腾 张振
摘 要:语言模型是语音识别技术中的一个重要模块,研究语音识别技术并将其作为新的交互方式引入舰船模拟器中,将在一定程度上提高其自动化程度。本文分析了语言模型的建模技术,搭建了舰船领域的专用语料库;采用N-Gram语言模型建模方法建立语言模型;最后,采用困惑度评价和语音识别实验对语言模型性能进行评估,为舰船模拟器适应智能无人船的发展需求奠定了研究基础。
关键词:语言模型;语音识别;舰船模拟器;语料库
中图分类号:U675.79 文献标识码:A 文章编号:1006—7973(2021)03-0064-04
随着人工智能的发展热潮,语音识别技术在识别性能上有很大的提升[1],作为自然的交互方式融入到日常产品应用中,传统的交互方式应时而变,革命性的交互方式不断涌现出来,从鼠标键盘到触控、手势、语音、眼控等。例如语音输入法、车载语音控制、能听懂人说话的智能家居等[2-4]。在电子技术发展智能化的时代中,航海智能化成为一种技术发展趋势[5]。近年来,在智能化无人驾驶船舶成为航海领域研究热点的背景下,越来越多的人工智能技术将会成为船舶智能化发展的新需求,其中包括语音识别技术、图像识别技术、无人驾驶技术等。
舰船模拟器作为我国航海教育培训的重要工具,从研发初始至今仍采用传统的鼠标键盘进行交互,操作较为繁琐,影响了用户便捷的使用。同时,在智能无人驾驶船舶发展的初步阶段,舰船模拟器将会作为重要的方案论证工具进行建造技术分析和建设方案论证实验。将语音识別应用于舰船模拟器中,为模拟器寻求更智能的人机交互方式,以满足智能无人驾驶船舶的高度自动化集控系统的需求。例如在驾驶员给模拟器控制台下操纵命令时,首先通过语音识别技术识别出当前命令,然后识别出来的命令计算机进行复述,如果正确并经驾驶员确认后,控制台设备自动进行相应的操作,用户不再需要复杂的设备,通过声音操作模拟器即可方便使用,这对于航海智能化发展有一定的促进意义[6]。然而模拟器的语音识别系统需要由声学模型、语言模型和解码器构成完整的语音识别系统,其中语言模型在整个语音识别过程中非常重要,其性能的好坏对语音识别系统识别效率有直接的影响。虽然现有的语言模型研究成果较多,但是在航海领域内却鲜有听闻,因此设计适用于舰船模拟器的语言模型成了语音识别功能开发中的重要环节。
1语言模型类型的选定
语言模型的主要功能是描述及把握自然语言的内在规律,被广泛运用在机器翻译、语音识别、智能搜索及智能输入等领域[7]。目前,统计语言模型中使用较多的是N-gram模型[8],因此本文采用N-gram统计语言模型为研究对象,设计舰船模拟器语音识别中的语言模型。
N-gram统计语言模型建立在数学模型的基础上,通过大量文本(语料库)的训练归纳最终总结得出概率统计结果[9]。假设表示一个语法正确的句子,由一串特定顺序排列的词组成,即,其中代表语句的长度(词个数),在整个语料库中,概率表示该句子出现的可能性。在语音识别中,表现为已知声学特征(以表示)的条件下求概率最大的词串,根据Bayes定理,采用数学方法表示为:
根据马尔科夫假设,任意一个当前词的出现概率只依赖前面的有限个词,则N-gram统计语言模型可以表示为:
其中,N值越大,语言模型的精度越高,但是计算复杂度也越大。结合舰船模拟器用于方面的操纵用语与平衡精度和计算复杂度之前的关系,在设计语言模型时将N的取值范围定在1~3之间 。
2语言模型的设计实现过程
2.1语料库建设
语料库的类型主要根据该语料库的用途而确定,自然语言处理学科中的语料库主要有四种类型:①异质型,主要特点是大量收集和储存广泛语料,不要求依据某一事先确定的选材规则选取语料;②同质型,与异质型相反,该语料库的语料属性必须一致;③系统型,该语料库按照预定的选材原则和比例收集语料,强调系统性、均匀性与合理性,具备反映特定范围语言事实的能力;④专门型,专门服务于某个特定用途领域的语料库。由于舰船模拟器中主要涉及一些航海领域的操作,在设计面向舰船模拟器的语音识别时,选定“专门型”作为语料库的建设类型。语料库的建设主要包括五个步骤,具体如下:
(1)规划。即确定语料库的类型为“专门型”;
(2)选材。在语料选材方面,考虑到应用于舰船模拟器的语音识别为航海中的专业术语及日常操作对话,因此以航海英文会话和海事英语方面的网络和书籍作为语料收集的平台,并将选取的语料以文本的形式存储;
(3)标注。通过Python脚本处理获取的生语料,每个句子单独成行且在句子的首尾部添加标注符号“”和“”;
(4)预处理。去除句子中的标点符号,对英文字母进行大写转换,以 “UTF-8” 编码格式进行语料数据储存,部分样例如图1所示。
2.2语言模型的建立
本文采用语言模型训练工具Srilm,根据语料库分别训练1-gram语言模型、2-gram语言模型、3-gram语言模型,目的是对三种语言模型性能进行对比,然后在语音识别系统中选择性能最好的语言模型进行后续模拟器语音识别功能的开发。该工具训练得到ARPA格式的模型文件,一个ARPA格式的3-gram语言模型结构如图2所示。
图中n1, n2, n3代表1-gram,2-gram,3-gram的词串数量,其中第一列为N-gram的条件概率对数值;第二列为具体词串文本,第三列表示回退权重的对数值,即当高阶的gram未出现时,以权重回退到低一阶的gram进行计算。
以3-gram语言模型为例,根据语料库在Linux环境下使用Srilm工具训练语言模型的过程如图3所示。
具体流程实现如下所述:
(1)外部准备阶段。语言模型在训练阶段需要根据语料库准备词表,该词表包含了语料库中出现的所有非重复的词汇,并将其用于词频统计阶段。首先对语料库进行断句分词操作获得初始的词表,考虑初始词表中包含重复词及非规范词,本文对初始词表采取去重及数据筛选操作获得最终词表。
(2)使用词表统计词频。通过词表对语料库对词频率进行统计,为后续概率值的计算提供基础。
(3)生成N元关系及模型概率参数计算阶段。3-gram语言模型的训练过程中,通过先生成低阶的词间关系然后递进生成高阶词间关系,运用词频统计的结果对数据进行切分,生成多个1-gram、2-gram、3-gram。这过程中并对N-gram做频度统计,为后续条件概率的计算提供条件。根据N元关系在语料库中出现的频次数,计算N元关系之间概率参数,并将概率值以对数的形式存于模型文件中。
(4)平滑处理。由于在语言模型中会出现数据稀疏问题,即一些N元对出现的概率很小甚至为零。为了更好的模拟语言现象中的概率分布规律,采用平滑技术使概率分布变得相对平缓,从而解决数据稀疏零概率问题,进而提高语言模型的性能。采用回退平滑技术,基于Good-Turing折扣平滑的基础,使用Katz平滑算法进行平滑[10]。
通过上述的训练步骤,训练得到语言模型,该3-gram语言模型部分示例结构如图5所示。
3语言模型性能评估
评价语言模型性能的好坏有理论方法及应用方法,理论方法采用困惑度评价,该方法较容易实现。由于需要将训练得到的语言模型应用于面向舰船模拟器的语音识别系统,所以在评估验证时不仅采用理论方法,同时还使用语音识别实验进行识别率测试验证,这是评价语言模型性能的应用方法
3.1使用困惑度評价
设为一个测试集句子,困惑度表示为已知测试句子某个词时,下一词出现的可能数,公式为:
该公式表明困惑度越小,下一个词出现的种类数越小,则语言模型性能就越好。测试集中随机选30条语句进行困惑度测试通过随机选择45条测试语句(句子内容为长短不一的船舶操作命令)进行,根据上述计算公式,分别对1-gram、2-gram、3-gram模型求困惑度,测试语句分别在三种模型中测试得出的困惑度如表1所示。
从表中结果可以看出,3-gram语言模型的困惑度最小,在理论上性能最佳。
3.2在语音识别系统中测试
语音识别系统为采用航海领域声学语料,基于GMM+HMM声学模型,将三种模型与声学模型和解码器有机结合为语音识别系统中进行测试验证,所得基于不同语言模型的语音识别系统实验识别率对比结果如下。
测试结果表明,语音识别的识别率和语言模型有关。1-gram语言模型的句子识别率与词识别率相差较大。 2-gram模型与3-gram模型之间的词识别率相差不大,但在句子识别率方面,3-gram模型较2-gram模型有较大的提升。因此,3-gram模型性能最好,适合应用于舰船模拟器语音识别功能开发。
4结论
本文以航海领域方面的文本制作了专用的语料库,运用该语料库设计实现语言模型。同时使用Good-Turing折扣平滑与Katz平滑相结合的方法解决语言模型中的数据稀疏问题,最后采用困惑度评价和语音识别实验检测对比了这三种语言模型的性能,最终确定3-gram语言模型最适合应用于舰船模拟器的语音交互,有效解决了航海领域内语言模型缺乏的问题,为舰船模拟器适应智能无人船的发展需求打下了一定的研究基础。
参考文献:
[1] Padmanabhan J, Premkumar M. Machine learning in automatic speech recognition: A survey[J]. IETE Technical Review, 2015, 32(4): 240-251.Padmanabhan J, Premkumar M. Machine learning in automatic speech recognition: A survey[J]. IETE Technical Review, 2015, 32(4): 240-251.
[2] Rao P V L N, Abhilash P S. Application of Mobile Robots by Using Speech Recognition in Engineering[J]. International Journal of u- and e-Service, Science and Technology, 2015, 8(6): 229-234.
[3] Kumar P S, Suraj S, Subramanian R V, et al. Voice Operated Micro Air Vehicle[J]. International Journal of Micro Air Vehicles, 2014, 6(2): 129-137.
[4] Pai N, Chen S, Chen P, et al. Application of HMM-based chinese speech recognition on internet of things for smart home systems[J]. ICIC Express Letters, Part B: Applications, 2016, 7(9): 1901-1909.
[5]张礼伟,吕延航. 浅析航海智能化的发展[J]. 机电设备, 2016, 42(1): 1-5.
[6]柳晨光,初秀民,谢朔,等. 船舶智能化研究现状与展望[J]. 船舶工程, 2016, 38(3): 77-84.
[7]邢永康, 马少平. 统计语言模型综述[J]. 计算机科学, 2003, 30(9): 22-26.
[8]娄新燕. 基于统计语言模型的交通会话识别[D]. 济南:山东大学, 2014.
[9]王贺福. 统计语言模型应用与研究[D]. 厦门:复旦大学, 2012.
[10]翟明新. 统计语言模型平滑技术和压缩技术的研究与实现[D]. 西安:西安电子科技大学, 2012.