标题 | 基于Langid的语种识别研究 |
范文 | 徐立城 摘 要:语音识别技术飞速发展,在现实生活中扮演着越来越重要的角色,语音识别简单来说是让计算机理解人的语音,它有两大研究领域:语种识别和说话人识别。本文围绕语种识别展开,语种识别(Language Identification,LID),是指计算机通过理解和识别过程判定输入语音的语种。本论文并通过两个不同类型的实验,来研究语种识别问题,例如Langid工具包的使用。语种识别,在多语音语言识别系统中扮演着重要的角色,在语言翻译、手写体文字识别、键盘输入、信息发现和挖掘系统等研究领域都有应用,其发展非常迅速。 关键词:语音识别;语种识别;Langid等 中图分类号:TP391 文献标志码:A 1 语音识别发展概述 语音识别是一门包罗万象学科,其涉及很多不同的领域,其中就包括语言学、声学、统计学和人工智能等,也被称为自动语音识别。它的目标是把人类的语音中的词汇内容在计算机显示为计算机可读的信息,由计算机加以识别。语音识别技术如果与其他自然语言处理技术相结合,可以构建出更加复杂但却方便的应用,例如将机器翻译和语音合成相结合得到语音翻译。 由于语音识别在各个方面的重要意义和巨大优势,不少公司投入大量人力物力进行研究。随着siri、Google Now、百度语音、微软Corrtana等相关产品的横空出世,同时在服务提供商和设备厂商的共同推动下,现在几乎身边所有新推出的移动设备都会包括语音识别这一功能。 2 语种识别研究的目的及意义 随着科技水平的提高,互联网的发展带来了巨大的语言文字信息,网页文本的数据量也在与日俱增,与此同时语言也渐渐出现了多种混合的现象。语种识别系统可以把大量重复烦琐的劳动交给机器来处理,节约了人力、物力,提高了工作效率。语种识别的研究侧重于对算法和模型进行改进和优化,其主要方法是通过语言学和机器学习的方法。概率统计的方法或信息论的方法也被大量采用,在实际中的语音识别方法得到较为成功的应用。例如HMM,GMM等,正是由于这些方法的出现对语音识别走向实际应用具有极大的推进作用。例如在国际酒店中,前台客服在接到客人电话前,要先进行语种识别,然后才分配给相应的客服,提高了沟通效率。 3 语种识别的研究方法 3.1 语种识别基本流程 语种识别的一般流程分为训练和识别两个阶段,如图1所示,在训练阶段,将不同语言的语音音频输入系统中,然后进行特征提取,得到一组特征向量序列,根据特定的训练算法,然后得到一个或多个参考模型,并保存下来。在识别阶段,对测试语音进行特征提取,然后将这些特征同模型库中的模型进行比对,并计算得出一个相似性得分。最后根据经过判决模块的判决规则,由相似性得分即可得到识别的语言种类。 3.2 语种识别的方法 3.2.1 利用LDA文本对多语种识别进行研究 首先是伪训练过程,我们需要先从互联网上获取或者直接使用已经存在的语料库,然而这些数据来源都不能直接用来构建N-gram计数。在实际操作中我们对语料中的标点符号、数字、大小写等字符进行一些处理。根据需要保留一些有助于语种识别的符号并删掉一些相对于语种识别来说无关紧要的符号。得到预处理过的数据以后,选择可靠性高的语言模型工具生成1-5元的N-gram计数文件。得到N-gram计数文件的过程就是提取语料特征的过程。接着对数据集进行Collapsed Gibbs采样直到其收敛并更新LDA模型的参数。 第二阶段为语种识别阶段。首先对测试文本也做特征提取工作,根据需要保留一些有助于语种识别的符号并删掉一些相对于语种识别来说无关紧要的符号。然后将抽取出的1-5元N-gram计数文件通过Collapsed Gibbs抽样直到其收敛,就可以得出主题分布,即语种分类结果,如图2所示。 3.2.2 全局背景模型(UBM) GMM-UBM在说话人识别系统中已经得到了广泛的应用,在语言识别系统中,GMM-UBM模型是一个与语言无关的背景模型,利用语言识别种的无关信息训练得到一个语言全局背景模型。图3是一个基于GMM-UBM的语言辨识系统框圖。 给定了训练UBM模型的各种语言的数据后,有多种方法可以用来得到最终的模型,最简单的方法是EM算法来训练UBM模型。由于训练的是与语言无关的UBM模型,每种语言识别的耗时大约1h。 4 语种识别实验 4.1 语种识别的理论基础 4.1.1 条件概率和全概率 4.1.2 贝叶斯公式 在条件概率和全概率的基础上,很容易推导出贝叶斯公式: 看上去贝叶斯公式只是把A的后验概率+A的边缘概率的组合表达形式,因为很多现实问题中P(A|B)或很难直接观测但是P(B|A)和P(A)却很容易测得,利用贝叶斯公式可以方便我们计算很多实际的概率问题。 4.2 小文本语种识别实验 用python进行实验,这些文本中有不同的语种,通过程序来判断语种的概率,例如一种语言(unknown)与de的相似度是0.4,与en的相似度是0.95;取其中的最大值,表示该文本语en类似,从而缩小了范围。反过来unknown与de的0.6的概率不同,与en的不同的概率是0.05。也可以得出该文本语接近en。以此类推,可以得到各语种之间的相似度或差异性。未知语种减去已知语种可得差异性概率,概率最小的,该已知语种就是输入文本的语种。不同多语种根据程序进行分类。最后可根据自己的想法决定格式,最终得到分类后语种的排序。基于此,进行了小文本语种识别的实验,可以很随心所欲得到程序中已有语种的句子或段落。其不足之处在于首先该实验对概率的统计较为烦琐;其次是它实验范围较窄,因为是小文本实验,所以程序中可识别的语言较少,不能对所有语种进行分类和识别;在文字数量多的情况下进行语种识别的,而文字较少准确度不高,例如一个单词可能会出现在不同的语种中,只是其意思不一样。该实验在可规定语种分类后的格式这一点上还是可圈可点的。 4.3 多语种识别实验 由于上一个实验有一些不足之处,此实验将对不足之处进行改善,还是利用python对不同语种进行识别。按照程序步骤,先新建myfile文件,在其中输入需要识别的文字,用python打开文件,利用Langid工具包里的classify函数对输入文本的语种进行识别,此程序是对输入数据一行一行的读,可直接将想要的语种表达在另一文件夹中。 Langid工具包在语种识别中广泛应用,该工具包可以识别出来97种语种,通过classify函数可以将输入文本与Langid已有标签的97种语种进行比对,然后将相似度最大的语种标签作为输入文本的语种。举个简单的例子,例如字符串string为“Hello world!”, 然后调用classify(string),即可识别出输入文本的语种为英语。 结语 本文的研究工作主要集中在如何利用python对多语种进行分类处理和语种识别。第一,详细阐述了多项式贝叶斯分类模型和条件概率、全概率的公式,为构建多语种识别系统打下坚实的理论基础。根据不同的任务要求,使用合适的语种识别系统,对不同的材料进行实验。第二,通过两组实验验证挑选了Langid工具构建了多语言分类模型,并详细分析了实验结果,最终得出结论。 课题的研究需要大量地阅读国内外文献,研究公式定律背后的意义,同时也需要注意总结和归纳。将实验过程中的想法变成程序使计算机代替我来处理大规模数据的学习和识别任务。还做了大量的实验进行比对测试分析。这些工作使我在面对问题时变得更耐心仔细,会细致地考虑在工作中可能出现的各种问题。通过不断的操作,使我对python的操作更加熟悉,为以后的工作奠定了基础。 参考文献 [1]蒋兵.语种识别深度学习方法研究[D].中国科学技术大学,2015. [2]贾晓茹.基于LDA的文本多语种识别研究[D].中国海洋大学, 2014. [3]索宏彬,李明,吕萍,等.一种基于带语言模型并行音节解码器的语种识别系统[C]//全国网络与信息安全技术研讨会,2007. [4]王昊,李思舒,邓三鸿.基于N—Gram的文本语种识别研究[J].现代图书情报技术,2013(4):54-61. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。