论文网
首页 基础教育信息技术教学正文

中文语音识别系统研究与探寻

  • 投稿宇航
  • 更新时间2015-09-02
  • 阅读量735次
  • 评分4
  • 36
  • 0

陈佳硕 付兴建

【摘 要】随着社会文明的进步和科技水平的发展,人们在满足了生存和生活的需要之后,不断地追求着更高的生活质量。如今计算机为人类服务已经渗入到了生活的每一点一滴。然而,传统的控制方式已经不能满足当今社会的节奏需求。使用中文语音作为新的控制方式,可以为用户带来更好的服务体验。本文阐述了中文语音识别系统的搭建方法以及应用方向。

教育期刊网 http://www.jyqkw.com
关键词 语音识别;中文识别;人工分词;控制系统

【中图分类号】TP311 【文献标识码】A

【论文编号】1671-7384(2014)02-0069-03

引 言

计算机如今如此普及,计算机发展速度完全超乎想象。但目前为止,真正具备与人交流功能的电脑还不存在。有这样一个图灵测试——让测试员与被测试者和一台机器在隔开的情况下,通过一些装置向被测试者随意提问。问过一些问题后,如果测试人不能确认被测试者30%的答复哪个是人、哪个是机器的回答,那么这台机器就通过了测试。可惜的是,如今情况下最好的成绩是由俄罗斯专家设计的“叶甫根尼”电脑程序,也只是达到了29.2%。

语音,是人与人交流的一种手段,也是人类交流和交换信息中最便捷的工具。退而求其次,要做到通过图灵测试,不如先让电脑通过语音作为引信来帮人类做事情。为了充分阐述语音识别这套系统的原理,本文将小范围重现语音识别原理。

对于语音识别之后,让计算机去理解人的意思,不可缺少的就是将文字信息转化为计算机能理解的内容。把计算机比作一个人手中拿着一本象形文字对照手册,身处上文说的图灵测试的房子中。而另一人则在房间外向此房间发送象形文字问题。房间内的人只需按照对照手册,返回手册上的象形文字答案即可。毕竟只需要让计算机懂得我们的意思,并非让计算机来帮我们去思考。因此,只要给予足够多的“稿纸、笔”以及足够大的“词典”即可。

这次我们对系统的研究使用的是C语言,由于并没有采用面向对象化的语言来编程,大部分程序使用的编程并没有向“类”里面填充“方法”的概念。这套系统硬件开发、硬件编程采用的是51单片机来实现,后期的处理则是在上位机通过钩挂系统钩子读取内存来实现。下面,我们将一步一步讲述构建这个系统的过程。

平台构建

如今,国外已经有很多成品语音识别系统,中文的语音识别控制系统也有很多的企业、教育科研机构在做相关的项目。不过这些研究却依然停留在初级阶段。因为中文是世界上最难学的语言,人来学习尚且如此,更何况人来教给机器去识别。

虽然如此,做语音识别首先要有一个平台来去搭建中文语音识别系统。第一步要做的便是将声音讯号转化为电讯号。这里采用一个高阻抗麦克风,作为音源进行声电转化。通常的麦克风是三个端子输出,分别是两个信号源和一个接地端。大部分的麦克风两个端读入的是相同信号,少部分高品质的则读入的是差分信号。

麦克风的输入是毫伏级别,类似空气声、干扰波都会使得输入的信号有噪波。因此,输入的两个端分别进行旁路电容滤波等操作,去除杂波。无源麦克风的输入电压过低,之后要将信号接入放大器,放大后的信号才能使得后续的操作中,模拟—数字信号转换器获得足够被感应的信号强度。

理论上讲,音频信号可以看作周期信号,按照傅立叶级数定理可知,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示。因此,通过将音频信号进行傅立叶级数展开,去除杂波频段的波形即可得到优质波形。

而实践中,通过硬件操作步骤较为烦琐,软件分析需要时间较长,出于经济等方面因素考虑,本系统不采用傅立叶变换来实现识别音频特性,而采用比较法取波形相似度等方式进行识别。

语音识别

上文中的信号经过模拟—数字转换器转换成为了数字信号,接入处理器的IO接口线程中,此时,读入的信号会通过地址总线和IO端口读入。因此在硬件上,我们使用中断程序来进行信号预处理。

软件方面中断程序部分,仅需要将读入的IO数据以数组形式存放入内存即可。

声音有三要素:音高、响度、音色。读入的信号即每个时间点的声音感受器震动位置,我们可以通过电流接入到压片陶瓷上来还原声音,而如果我们要去分析音频则需要对照三要素下手。

响度即声波数组中的数值高低,为了让声波数组中的响度和预存的响度相同,我们通过统计整段中有效波形能量数值和与预存数组的能量数值做比例处理,使得响度和预存数组相近。

音高即声音的频率,频率的定义是:单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量。通过声波数组寻找相邻两点是否为相反数,即可寻找到过0点次数得到频率。这时,时间段的频率即可求出,间接可得到整段声音的频率。

我们发现,对音高进行频率化处理,同样也需要对预存数组进行频率化处理。因此,尽管我们可以去频率化处理提高识别精度,但相比对音频直接做响度匹配,所谓黑盒操作更易于分析和匹配。

汉语是由声母和韵母组成的,通过五声韵母和声母匹配,即可收集有限个声源。用这些声源和预处理的声音进行匹配,即可得出每个字的读音。

上述的程序段只是匹配所需要的函数,在外部需要循环来赋给数组对应指针位置才能实现,在对比中,如何确定开头是一个难点。因此需要对音频数据的开头做识别。在本系统中,采用读取5个相邻数据,如果连续的峰值高于30且持续了超过25毫秒以上,则判定这个时间点为数据的开始。

在系统中,虽然我们采用了去除抖动的算法,但声音音响处理过后,也会丢失一些精度,此处的算法若提高精度,则需要在前期处理做根据香农采样定理计算低通信道的最高大码元传输速率,进而做精确的采样以及还原,同时滤波采用更先进的算法来实现,这里只实现采样而不做精细讨论。

人工分词

中文,全世界有近20亿的人在使用。然而,中文的语法是世界上无章可循的语法之一。古人云:“句读之不知,惑之不解”,想要用中文交流,就必须知道如何断句。这样,才能正常地和人交流,才能清晰地理解对方的意思。

欲断句,先断词。让计算机来执行控制,而计算机处理的却是整个词组。前面步骤已经讲述了如何将语音识别成一个个的单字,识别成一个个句子。但是中文并不像英文,说“我是一个学生”这句话的时候不会像“Iam a student”这样中间有空格从而判断词组。这就需要我们对句子做一个特殊的处理——人工分词。

以“我是一个学生”为例,人类来理解这句话,他的意思就是“‘我’的职业属性是学生”。从这个例子可以看出,提取“是”这个动词为关键字,便可以将前后转变为赋值表达式的形式“我->职业=学生”。

优先提取出一句话的动词,是分词处理的关键。但并非每个动词都可以这样来操作,例如,“他鞠躬下台”,很明显“鞠躬”是个动词,“下台”也是一个动词;如果按照上文中所述,“他->鞠躬=下台”就会出问题。为了处理这个问题,我们引入现代汉语中及物动词和不及物动词的概念。将“鞠躬”、“下台”这种不及物动词和“打”、“吃”这样的及物动词分开。

当然,这需要字典来处理,借助现代科技的发展,一本电子版的现代汉语词典就可以解决这个问题,通过词库来查询每个词语的意思,从而抽离出动词。我们只需要设计不及物动词代表动作即可,这样就可以将信息存储成“他->动作=鞠躬&下台”。

若是英文,如此做便可以了。但上文说过,中文语法是世界上无章可循的语法之一。英文中设置了动词字典基本上就处理了大部分问题。可中文中会出现如下句子:“今天的比赛在大学生活动中心召开。”

人工模拟电脑来理解,副词可以修饰形容词、修饰动词,用副词来修饰试探:比赛可以“不比赛”不能“很比赛”,因此它不是形容词,而是动词,“我比赛你”这句话不通,因此是不及物动词;“活动”和“召开”也是同理,是不及物动词。因此这句话要理解成“今天->动作=比赛&活动&召开”。

但不能说“今天->动作=比赛&活动&召开”,很显然这句话真正的意思是“比赛->地点=大学生活动中心”。出现这个问题,核心原因就是计算机没有把“大学生活动中心”当作一个词,任何一本字典都不会去收录“大学生活动中心”这个词。

在中文分词中, 中科天玑出品了一套中文分词系统架构,加载头文件"ICTCLAS50.h"可以用头文件定义的命令#pragma comment读取它所提供的数据库(lib,"ICTCLAS50.lib")

执行过该程序段后,会将分词结果以test.txt的形式保存在硬盘中。

结 语

做完人工分词,基本上也就实现了读取用户所要达到的目的。这套系统贯穿底层到软件层,如果有可能甚至需要设计到云端。虽然局部的测试没有出现严重的错误,但由于时间原因,并没有做综合测试。

其中的一些理论和实践衔接的地方还存在着不足,一些算法也存在着改进的空间,但这些问题终将在以后得到解决。也希望这套系统能在最后的实践和发展中真正用于生活,从而提供更好的生活体验,为人们体验生活、享受人生做出贡献。

基金项目: 本文系北京市自然科学基金项目(4132009);北京市属高等学校高层次人才引进与培养计划项目(CIT&TCD201304120);北京市教委科技计划项目(KM201211232008)的研究成果。

教育期刊网 http://www.jyqkw.com
参考文献

何嘉. 基于遗传算法优化的中文分词研究[D].电子科技大学,2012.

赵培. 中文语音识别结果文本分类的研究与实现[D].大连理工大学,2008.

曹卫峰. 中文分词关键技术研究[D].南京理工大学,2009.

龙树全,赵正文,唐华. 中文分词算法概述[J]. 电脑知识与技术,2009,10:2605-2607.

宋勇刚. 图灵测试:哲学争论及历史地位[J]. 科学文化评论,2011,06:42-57.

谭超. 学习型中文语音识别系统研究及实现[J]. 电脑开发与应用,2012,04:35-37.

胡宝洁,赵忠文,曾峦,张永继. 图灵机和图灵测试[J]. 电脑知识与技术,2006,23:132-133.

陈淑芳. 基于51单片机的教学实验系统的设计与开发[D].中国海洋大学,2011.

张文国. 中文语音识别技术的发展现状与展望[J].上海微型计算机,1998,35:46.

张宜. 汉语语音识别技术的研究与发展[J]. 广西广播电视大学学报,2003,04:18-22.

申小龙. 汉语动词分类研究述评[J]. 绥化师专学报,1988,04:63-72.

(作者单位:北京信息科技大学自动化学院)