1、基于语音识别的语种识别研究 陈灏 长沙市南雅中学 摘 要: 围绕语种识别进行研讨, 并采用 Langid 工具进行实验。由于在多语音语言识别系统中扮演着重要角色, 所以在信息检索、国家安全和军事领域具有重要的作用。关键词: 语音识别; Langid; 语种识别; 0 前言语音识别是使计算机经过训练算法把语音信号转变为计算机可以理解的文本, 简单来说就是使计算机理解人的语音。例如, 字符序列、按键或二进制编码等。语音识别有两个研究方向, 即语种识别和说话人识别。围绕语种识别进行研讨, 并采用 Langid 工具进行实验, 语种识别是指计算机通过理解和识别过程判定输入语音的语种。语种识别, 在多语
2、音语言识别系统中扮演着重要的角色, 它在信息检索、国家安全和军事领域扮演着越来越重要的角色。1 语音识别概述(1) 语音识别介绍。语音识别也称为自动语音识别, 目的是使计算机能自动将人类的输入语音转化成为相应的文本文字。语音识别技术所涉及的相关领域有模式识别、信号处理、信息论和概率论、听觉机理和发声机理、人工智能等。运用领域, 如语音文档检索、简单的听写数据录入、语音拨号、室内设备控制、语音导航等。(2) 语音识别发展。1952 年由 AT前苏联科学家 Vintsyuk 提出的动态时间规整技术;隐马尔科夫模型的应用。2 研究背景及意义(1) 研究背景。由于全球化趋势的快速发展, 国际交流不断加
3、深, 多语言交流的需求也在加大, 迫切需要有一种机器能够代替人类进行多语言的学习, 从而提高生产效率, 促进社会进步。在此大背景下尝试通过实验等方式, 探求出一个语种识别的方法。(2) 语种识别的意义。语种识别在信息检索和军事领域都扮演很重要的角色, 包括多语言信息补偿/自动转换服务等。从微观上说, 多语种识别可应用在跨国酒店和机场咨询等场所。例如, 客户打电话时, 系统识别说话人的语种信息, 分配给掌握相应语音的客服人员分机上, 进而提供相应服务;从宏观上说, 在国家信息化服务方面, 多语言服务的一些客户需求逐步出现在一些多信息查询系统上, 可实现多语种的输入。随着信息时代的到来, 语种识别
4、越来越显示出重要的应用意义。3 语种识别发展及研究方法3.1 语种识别基本流程2 种语种识别的方法, 即根据语音进行语种识别和根据文本进行语种识别。实验部分采用的是第二种语种识别方法 (图 1) 。图 1 根据语音进行语种识别流程 下载原图根据语音进行语种识别有 3 个过程, 即语音信号特征提取, 语种模型构建和判决规则。自动语种识别包含训练阶段和识别阶段。在训练阶段, 系统会提取不同种语音数据的特征, 然后转变成一个特征向量序列, 利用一些相应的训练算法, 最后产生一个或多个参考模型并存储起来。在识别阶段, 输入一些待识别的语音数据, 然后提取特征, 根据训练阶段训练好的对应语音或语言模型进
5、行相似度度量, 得到一个相似性得分。判决模块根据该相似度得分给出识别判决结果, 也就是识别出的语种信息。3.2 语种识别的传统方法(1) 传统的基于 HMM (Hidden Markov Models, 隐马尔可夫模型) 的语种识别。主要包括:为了使效率更高, 误差更少, 把音频的首尾两端无用的静音段进行切除 (VAD) ;分帧处理, 把声音分开成不同的段, 每段称为一帧;波形变换, 传统的方法是提取音频信号的 MFCC (Mel Frequency Cepstral Coefficients, 梅尔频率倒谱系数) 特征, 一帧迫性就可以使用 12 维的向量进行描述;比对数据库, 得出语种信息
6、。(2) 基于音素识别器的语种识别方法。主要包括:通过音素识别器将语音信号转换为音素序列;根据音素序列提取 N-gram 单元统计量作为特征;根据这些统计特性建立每个语种的 N-Gram 语言模型;比对后, 得出语种。4 语种识别实验4.1 Langid (语言标识) 工具包及内容(1) Langid 工具简介。Langid 作为一个应用非常广泛的语音识别工具, 可用于因特网信息, 网络搜索词, 文本检索, 语法分析等多个领域。langid.py 可以看作是一个全监督分类器, 主要基于多项式的朴素贝叶斯分类器, 包含 97 种语言, 并对每种语言场景进行模型训练。(2) Langid 工具优点
7、。主要包括:能够直接使用, 而且不同于传统文本识别工具;多种文本场景都可以适用于该模型;代码部署简单;执行速度快;可作为网络服务;与 WSGI 兼容, 可以部署在 WSGI 服务器上, 从而实现并行操作。4.2 langid 语种识别原理(1) 确定目标函数。使用 Langid 进行语种分类, 目的是对于一篇包含 n 个特征的 x1.xn的文档 D, 计算出属于闭集 C 中某一分类 Ci的概率, 并将其分配给最可能的分类。(2) 使用多项式贝叶斯分类模型, 将上述问题放在贝叶斯学习框架中建立一个参数模型, 并估算出贝叶斯最优的参数模型。(3) 确定目标文档的分类。根据给定的参数值计算每个分类后
8、的检验概率, 并选择最大概率值作为目标文档的分类。4.3 实验结构框图语种识别实验中, 对于输入的一个文本文件, 经过 Python 语言书写程序, 读取my Input File.txt 文件的每一行, 调用 Langid 工具包中的 classify () 函数, 对每一行的语种信息进行判断, 进而将非中文行进行打印, 输出到 my Output File.txt 文档中。通过 classify () 函数, 可以得到一个二元组, 其中, 第一项是该文本所属的语系信息, 例如, zh 表示中文、en 表示英语等。4.4 实验分析及结果本实验的输入输出是:Python 代码处理输入文档中的每一行, 并对每一行输入文件中的语种信息进行判断, 然后将非中文行的信息输出到 my Output File.txt 文件中。需要注意的是, 文件 my Output File.txt 是程序自动生成的文件, 文件 my Input File.txt 也是程序运行前放置好的文件, 可以实现一些简单直观的语种识别。结果表明, Langid () 函数能够容易识别出语种类别。