基于条件随机场的稳健口语理解研究∗
2016-10-30程露红黄浩马平
程露红,黄浩,马平
(新疆大学信息科学与工程学院,新疆乌鲁木齐830046)
0 引言
一个典型的人机对话系统由自动语音识别(Automatic Speech Recognition,ASR)、口语理解(Spoken Language Understanding,SLU)、对话管理(Dialogue Management,DM)以及语音合成(text-to-speech,TTS)四个部分[1]组成.语音识别将语音信号转换为文字序列,而口语理解则是分析用户意图的过程.因此,人机对话系统的性能不仅依赖于语音识别系统,还要取决于口语理解研究的发展.
国内外学者经过几十年的研究,提出了各种不同的口语理解方法.大体可以分为以下三种:基于规则的方法、基于数据驱动的方法以及两者结合的方法[2].常用的基于规则的方法有语法分析以及语义分析,也就是确定输入语句的语法成分和结构以及确定各个语法成分的意义;而基于统计的方法有:用隐马尔可夫模型[3,4](Hidden Markov model,HMM)进行语义解析,如AT&T的CHRONUS系统;使用概率上下文无关文法(Probabilistic Context-Free Grammar,PCFG)构建模型,如BBN的层级理解模型(Hierarchical Understanding Model HUM);另外还有隐向量状态(Hidden Vector State,HVS)模型等等.而两者结合的方法能利用规则方法和数据驱动方法的优点,通常性能上要优于单一的基于规则或数据驱动的方法.
尽管研究人员在口语理解任务中进行了各种尝试,但口语理解研究仍然面临着巨大的挑战,其中之一即为口语理解的稳健性.因为即使自动语音识别技术在近年来深度神经网络声学模型的带动下识别率获得了极大的改进,但是自动语音识别过程仍可能出现识别错误.因为口语也经常不符合语法规则,所以如何改善口语理解的稳健性,从而提高口语理解的性能成为解决人机交互系统问题的热点问题之一.本文提出了改进基于条件随机场模型的稳健性口语理解的方法,在训练数据中人工加入识别错误(噪声)作为输入并对其标注,送入条件随机场训练来保证条件随机场口语理解模型对噪声的稳健性.用训练后得到的模型文件对带噪测试集进行测试,以提高口语理解的稳健性.在汉语的交通信息查询领域分别进行了口语理解实验,实验结果表明所提出的方法显著提高了口语理解的稳健性.
1 口语理解任务
1.1 口语理解
口语理解的任务主要是对语音识别的结果进行处理.分析用户的意图,并将其转换成语义表示以方便机器理解.口语对话系统不同理解任务中所用的语义表示方式也有所不同.汉语信息查询领域中,可以用语义框架来表示该领域的语义结构.每个框架中包含几个语义槽(slot),每个语义槽表示当前词所处的状态.图1所示就是句子“请问坐公交车从火车站到新疆大学怎么走”对应的语义框架[2].
图1 例句“请问坐公交车从火车站到新疆大学怎么走”所对应的语义框架
上图语义框架中[ShowRoute]表示整个交通路线查询的框架,[Route]框架表示路线,其中包含了3个语义槽,[Origin]代表出发地,[Dest]表示目的地,[Transtype]表示所使用的交通工具.通过框架和语义槽,可以清楚的将用户的意图表示出来并交由机器进行下一步的处理.在简单口语对话系统中,用框架和语义槽可以直观表现出语音识别的结果,但在一些比较复杂的系统中,用框架和语义槽是不适合的.如[Dest],当目的地是一个很长的短语句子“胜利路新疆大学本部”的时候,就需要在[Dest]内部再进行详细划分,整个过程会比较麻烦.本文引入IBO策略,B表示整个模块的开始,I是该模块的延续,O是该模块外词.用 floc表示出发地,tloc表示目的地.则短语句子“胜利路新疆大学本部”可以表示为“B-tloc,I-tloc,I-tloc”.
1.2 基于条件随机场的口语理解
本文采用条件随机场作为口语理解模型.2001年Lafferty[5]等人在最大熵模型与隐马尔可夫模型的基础上,结合二者特点提出了一个用来解决序列标注等问题的概率模型–条件随机场(CRF,Conditional Random Fields).条件随机场是一种无向图模型,其最简单的形式是线性的条件随机场,也就是模型中每个节点之间都形成线性结构,如图2所示.一个链性的条件随机场等效为一个有限状态机,对线性序列标注有很好的效果.目前条件随机场在中文分词[6]、实体命名识别[7]、词性标注[8]等方面都表现出了良好的性能.对于口语理解而言,如果将一句话当作序列来处理,那么,口语理解的问题可以用条件随机场的预测序列来解决.例如,在问路系统中,可以记一个中文问路句子X=(请问,坐,公交车,从,火车站,到,新疆大学,怎么走),Y可以表示成句子中每个词的状态序列即Y=(O,O,B-bus,B-From,B- floc,B-To,B-tloc,O).条件随机场模型不仅克服了隐马尔科夫模型的强独立性假设,而且不具有最大熵马尔科夫模型的标注偏置(Label Bias)问题.
图2中,我们将观察序列作为条件随机场的输入条件,过程中没有对X做任何的独立性假设,因此输入序列的元素间并不存在图的结构.于是在给定输入序列X的情况下对应的输出序列为:
图2 线性链状结构的条件随机场图模型
其中,fk是特征函数,λk是对应fk的权重,t是当前标记,Z(X)是归一化函数.给定训练数据X和人工标记Y,条件随机场的训练过程通过调整参数λk来最大化条件概率P(Y|X).在建立了统计模型之后,当给定口语输入X时,口语理解任务就是求最适合的Y∗使得概率P(Y|X)最大,由于Z(X)与Y是不相关的,因此所要求的Y∗可以用以下式子表示:
求解最优解Y∗可以用维特比动态优化算法[9],就可以得到所需要的最优口语理解输出序列,具体方法可参见文献[9].
1.3 模型参数的优化
给定一组训练数据集D={(o,l)1,...(o,l)i...(o,l)N}其中oi表示第i个词被条件随机场所预测的状态,li表示该词的实际状态.条件随机场的训练目标是最大化该训练集D的似然对数:
式中的第二项是高斯先验值,用于特征参数的平滑处理.本文采用L-BFGS[10]算法对目标函数进行优化求解.假定第i个训练目标的标注使它的状态序列不产生二义性,用mi表示产生该状态的路径,那么似然对数LΛ的一阶导数为:
式中Ck(m|o)表示特征fk在路径m不同位置的和,式中前两项相当于特征fk的经验期望值E(fk)与模型期望值EΛ(fk)的差,可以用动态规划算法计算得出.
2 稳健性口语理解
2.1 口语理解模块的建立
使用条件随机场的口语理解系统框架构建过程如图3所示.
2.2 纯净文本条件下的口语理解
无噪声标注的语义文本对条件随机场进行训练之后,在测试时同时使用无噪声文本进行测试,这时模型对未知数据有很好的口语理解结果.表1是对句子“你好,请问,从火车站到新疆大学怎么走?”进行语义解码得到的结果.训练与测试过程都用的是纯净文本,句子中没有对理解无关的字或词.通过训练后的模型文件对测试集的测试性能较好.
图3 基于条件随机场口语理解研究的模型框架
2.3 噪声文本条件下的口语理解
2.3.1 纯净数据训练模型对噪声数据的口语理解结果
如前所述,口语往往是是病态、不合语法的,我们通过对口语对话中的语句进行分析,总结了口语中存在许多对理解无关的字或词,语气词、否定词如“呃,嗯,不对……”等等,这些字或词在句中对口语理解往往会造成一定的干扰从而造成口语理解错误.
表2是通过训练后的模型文件对句子“你好,请问,从火车站,呃,到新疆大学怎么走?”进行口语理解得到的结果.可以看出,口语中的不合语法的成分往往会对口语理解造成一定的干扰.
表1 无噪声训练模型对无噪声测试数据的口语理解结果
表2 无噪声训练模型对噪声数据的口语理解结果
2.3.2 加入噪声数据训练的稳健口语理解方法
基于以上分析,本文在条件随机场的训练过程中人工加入错误文本噪声,直接将一些不常出现的字或词作为噪声处理,在训练过程中强制标记为“O”,如:
纯净文本训练数据:
请问坐公交车从人民广场到水上乐园怎么走
O O B-bus B-From B- floc B-To B-tloc O
人工加入噪声文本的训练数据:
请问坐公交车从人民广场呃 到 水上乐园 怎么走
O O B-bus B-From B- floc O B-To B-tloc O
同样如表1中的问题,人工加入错误文本噪声训练后,“呃”作为无关因素处理被强制标记为“O”,在CRFs参数优化之后会在未知数据上测试时对该类噪声数据进行口语理解时会自动将其标注为“O”,如表3所示.经过处理,在测试过程中句子中的无关因素如“呃”等,会被自动识别为“O”,不参与口语理解问题的下一步处理,改善了口语理解的稳健性.句子“你好,请问,从火车站,呃,到新疆大学怎么走?”经过测试得到结果如表3所示.表2中“呃”在测试过程中被识别成“I- floc”,而表3中“呃”被识别成无关因素,符合了本实验的设计思想.
表3 噪声训练模型对噪声数据的口语理解结果
3 实验结果分析
3.1 实验配置
实验数据收集了问路网上的城市交通问路语句7 714句以及在校园内学生中收集的校园问路语句1 050句.在所收集的语料库中随机取7 014句作为训练集,1 750句作为测试集.实验开始前,首先对语料进行预处理:分词并去除标点符号,然后对处理后的文本以词为特征项用序列的方式进行标注.用条件随机场训练得到的模型文件对测试集的标注进行预测.为了评测实验最终的效果,本文使用准确率(Precision)、召回率(Recall)及F1值这三个指标来表示,公式如下:
为了比较不同特征时的效果,本实验分别选取了3组不同的特征模板(表4)作对比.其中U01,U02...表示特征种类的标号.以下每个模板都是由%x[列偏移,行位置]来表示输入词的一个特征.如%x[-1,0]表示当前所预测词特征的前一个特征,%x[0,0]表示当前所预测词的特征标注,%x[-1,0]/%x[0,0]表示前一个特征标注与当前特征标注所形成的二元组,%x[-1,1]/%x[0,1]/%x[1,1]表示的是前一个特征的标注、当前特征的标注与下一个特征的标注所形成的三元组.
表4 特征模板
3.2 实验结果
图4 无噪声训练模型对噪声数据的准确率结果
图5 噪声训练模型对噪声数据的准确率结果
图4,5中,横轴表示的是训练数据,纵轴表示的是实验准确率.其中,图4是未加入人工文本噪声时不同大小的训练数据所得到的实验结果,图5是加入了文本噪声之后所得到的实验结果.以上两图很明显可以看出,加入文本噪声后,实验的总体准确率较之没有加入噪声的准确率要高出不少,验证了该方法的有效性.在4组不同的数据大小对比中,模板2的总体准确率较其余两个模板要高,这与表5所得到的结果一致.同时,从准确率对比中也可以看出,训练数据越大,实验的准确率越高.
表5 加入人工噪声数据与未登录词的实验结果对比
在之前4组实验的基础上,本文通过加入未登录词另做了一组对比实验.首先选取7 014句的训练样本、模板2送入条件随机场进行训练及测试,得到表5所示的实验结果.其中,实验1是直接按照条件随机场规则对语料进行标注最后测试的结果,而实验2在训练过程中人为加入了噪声数据后用实验1的测试集测试所得到的结果.可以看出,在训练过程中人工加入噪声数据之后,测试集中的噪声词对识别结果的影响有所降低,也就增加了口语理解的稳健性,使得实验准确率有所提升.实验3是在实验2的基础上在测试集中增加了未登录词,实验结果可以看出实验准确率并没有明显下降,进一步表明了本文提出方法的有效性.
4 结束语
本文提出一种提高口语理解稳健性的方法,在条件随机场的口语理解模的参数训练过程中人工加入噪声数据来提高口语理解模型对噪声词的稳健性.实验在交通信息查询领域的口语理解任务上进行,实验结果表明训练过程中噪声数据的引入的模型能够明显提高口语理解的稳健性,且准确率提高了4.6%.而在测试集中加入未登录词时,而准确率并没有明显下降,进一步表明了所提出方法的有效性.
猜你喜欢
杂志排行
新疆大学学报(自然科学版)(中英文)的其它文章
- On the Page Number of Lexicographic Product of Paths and Cycles in Books∗
- Community Diversity and its Seasonal Dynamics of Soil Mites in Oasis of the Sangong River Watershed of Xinjiang,China∗
- 新疆伊犁铁列克特金矿床流体包裹体特征分析∗
- 工业企业规模、分布与区域经济增长∗
- Hartman-Wintner Theorem on the Noncommutative Hardy Spaces∗
- Laplacian Spectral Characterization of Graphs with Exactly Two Laplacian Eigenvalues Greater than Two∗