论文部分内容阅读
中图分类号:TN91; TN919.8 文献标志码:A 文章编号:1009-6868 (2015) 05-0050-006
摘要:部分可观测马尔可夫决策过程(POMDP)广泛应用于建模决策任务。模型中的观测矩阵主要用来建模环境的不确定性,通常很难从训练数据中直接获取,需要引入额外的信息进行估计。通过引入信息熵来修正模型中的观测矩阵,修正后的观测矩阵更能反映环境的不确定性。模拟环境下的实验表明,引入信息熵进行修正估计的观测矩阵有效提高了POMDP模型的性能,而在基于POMDP模型的对话系统中,修正的估计提高了系统的决策准确度。
关键词:部分可观测马尔可夫决策过程;不确定性;意图识别;观测矩阵;信息熵
Abstract: Partially Observable Markov Decision Process (POMDP) is a decision model used extensively for decision tasks. The observation matrix of the model is a channel that reflects the uncertainty of surroundings, which is hard to do directly from the corpus. Extra information needs to be introduced for estimation of the observation matrix and better reflection of surroundings. The concept of information entropy is introduced to modify the observation matrix in the model by which the modified observation matrix can reflect the uncertainty of the situation more precisely. Simulated experiment and real situation show that introducing information entropy to modify the observation matrix improves performance of the POMDP model together with the decision-making accuracy in a dialogue system based on POMDP.
Key words: partially observable markov decision process; uncertainty; intention identification; observation matrix; information entropy
人机对话是语言信息处理中的一个重要应用任务,对话管理是对话系统中的核心组成部分,决定了对话系统的质量,为此出现了很多关于对话管理模型的研究。
已有的对话管理技术[1]主要包括:基于自动机的方法[2-3],基于框架的方法[4-5],基于信息状态的方法[6],基于概率模型的方法[7-8]。基于自动机的方法虽然易于设计,但是不灵活,不自然,难以应付复杂的任务。基于框架的方法实现的复杂度较低,但是对话比较机械,人机交互的自然度较低。基于信息状态的方法比较灵活,能丰富的表达对话的状态,把对话过程看作是一列规则的变化,但是需要人工的定义规则与策略。概率方法主要基于马尔可夫决策过程(MDP)与部分可观测马尔可夫决策过程(POMDP)模型。与前3种方法相比,基于POMDP的方法不需要人工定义策略,而是通过数据学习策略,POMDP将客观世界的动态特性用状态转移来描述,在状态不完全可观测的情况下,系统通过与环境交互,进行决策,管理对话过程。
虽然基于POMDP模型的对话管理具有更大的灵活性,可用于状态不完全可观测的情况,但是模型需要统计状态转移矩阵,在训练过程比较依赖于数据;需要定义回报函数,目前没有很好的估计方法;需要估计观测概率矩阵,一般情况下是很难从数据中直接估计。这些问题会给基于POMDP模型的对话管理带来困难。
基于POMDP模型的对话管理是根据当前的信念状态分布来选择动作,因此信念状态的估计会直接影响到系统决策性能,而观测函数的估计也会直接影响到信念状态的估计。在对话系统中,POMDP模型的观测函数一般是建模从用户对话意图到系统状态的映射,但是,用户对话意图本身并不是直接可获得的,它是由用户的语言输入来体现的。一方面,用户对话意图十分丰富,且同一对话意图可以用几乎是无限种不同的语言输入来表现,另一方面,对一个确定的语言输入的意图识别也会存在不确定性,更不用说语言输入本身的识别也可能存在不确定性。因此,很难直接从训练数据直接获得,而需要另外的技术来进行估计。对观测函数专门研究的文献不多。文献[9]简单地把语音识别错误率引入到观测函数的估计中,主要建模语音输入识别错误的影响,但并不考虑对识别结果进行用户意图识别时的错误。这种估计方法也没有把训练数据的信息考虑到里面,性能较差。文献[10]结合连续信息与离散信息并应用到贝叶斯网路里面,观测的集合大小有4种,即观测是离散的,连续信息指的是观测的概率,但需要相关阈值确定离散信息,阈值的确定给计算POMDP的回报值带来困难。文献[7]对观测函数进行扩展,在原来的基础上加入置信度(Confidence)分数,用置信度来衡量该观测包含的信息量和对策略规划的重要程度,但是此方法的参数h很难估计,由于是直接引入置信度,因此很难在现有的工具训练模型。
观测函数是描述内部状态与外部环境之间的联系。对话管理的一个关键性的问题是部分可观测带来的不确定性[11-12],而信息的不确性可以使用信息熵来衡量,因此为了使观测函数更能反映环境的不确定信息和其所包含的信息量,本文引入信息熵来修正观测概率。 1 POMDP模型及观测函数
的估计
一个POMDP模型可以用一个六元组[]来描述,其含义如下:
*[S]:系统的状态集合
*[A]:系统的动作集合
*[T(s′,a,s)]:系统的状态转移函数,描述的是当系统在状态s下执行动作a可能转移到[s′]的概率
*[R(s,a)]:系统的报酬函数,描述的是当在状态s下执行动作a时,系统获得的立即回报值
*[Z]:系统的观测集合
*[O(s′,a,o)]:系统的观测函数,其中[o∈Z]
POMDP问题结构如图1所示。每个时刻,系统会处于一个隐状态s,系统会根据当前的信念分布b,选择一个动作a,得到一个立即回报r,然后转移到下一个隐状态[s′],[s′]依赖于s、a。此时系统会得到新的观测[o′],[o′]依赖于[s′]、a,然后根据动作a,新的观测[o′],更新当前的信念分布,继续选择动作。其中关于[o′]的观测概率,可用于确定转移到[s′]状态的置信度。
在POMDP中,观测函数一般情况下是很难直接从数据中估计得到,需要额外的信息去加强对观测函数的估计,反映环境的不确定性。
文献[9]在研究基于语音输入的人机对话系统建模时,把语音识别错误率引入到观测矩阵的估计中,而语音识别结果到意图的映射是一对一的。虽然这里是针对语言识别错误,假设输入为文本,不存在语音识别错误时,这里的语音识别错误也可以看成是意图识别的错误,因此,相同的模型可以建模文本输入时存在意图识别错误的情形。因此,后文中我们会替换使用语音识别和意图识别,其反映的都是类似的观测中的不确定性,可以类似进行建模。设[perr]为语音识别错误率,如果用户的意图与系统观测到的用户意图或行为一致的话,认为观测概率为1-[perr];否则观测概率[perr|Au|-1],其中[Au]为观测集合的个数。这种方法把语音识别的整体错误率信息引入到观测函数里面,但是却没有反映当前对话的信息。
文献[7]和文献[13]对文献[9]观测函数进行扩展,在原来的基础上加入置信度分数,反映当前对话的信息。在每个观测概率前乘以相应的观测置信度分数。这种方法把观测o分成两部分,一部分是离散的观测值,代表语音识别或意图识别的假设;一部分是连续分数,衡量该假设的置信度。由于直接在观测函数里面加入连续性的分数,目前训练工具基本都是要求观测部分是离散的,因此无法在现有的工具上直接训练。
2 改进的观测函数估计方法
在文献[14]中,每一个语音输入只有一个识别结果,即只使用识别率最高或分数最高的结果,相当于使用1-best识别结果。
但是,语音识别通常并不完美,采用1-best显然没有采用n-Best(n>1)得到的信息丰富。直接利用1-best结果作为观测已经一定程度损失了语音信息。例如:假设一个语音输入的标准识别结果是“我要购买从北京到广州的机票”,其1-best结果为“我要购买东京到广州的机票”。如果还有2rd-best的结果“我要购买从北京到广西的机票”以及3rd-best的结果“我要购买从北京到杭州的机票”,甚至N-best的结果...其中N-best列表中的第一个地点很有可能出现“北京”的次数多于其他的地点,采用语音识别的N-best结果可以使观测的结果更能反映真实的状态,使信念分布提供更具体的信息。
本文关注输入为文本的人机对话系统管理。如上所述,对于文本输入的对话,语言输入假设是正确的,那么需要考虑的是意图识别的错误。在采用POMDP建模时,需要基于文本输入估计对话意图作为真正的观测。一般,对每轮对话中用户的输入进行一次意图识别,对于一段语言输入判断其言语意图,可以用分类器(意图识别器)来进行识别,本文在实验中会选择采用两种不同的意图分类器进行考查,无论哪种分类器,均可以得到N-best识别结果。随后的问题就是,如何有效利用这些N-best信息。
本文提出利用N-best信息,计算其信息熵,引入到观测函数中,用于修正观测矩阵的值,使观测函数包含环境不确定性的信息,更加客观的描述环境。
为每个观测得到的是一个N-best列表(由意图识别器获得),N-best列表记录的最可能的N个用户意图假设,N-best列表中同时还记录了意图识别器为每个用户意图分配的概率,例如:
[o=[,,…,]]
其中向量的每一个元素都是(意图、概率)对,而对于概率[pn=p(a′nu|o) n=1…N];[ipi=1 i=1…N],我们通过下面的公式引入信息熵进行修正。
[αcorrect(pn)=epn*H(o)eH(o)-1] (2)
[αincorrect(pn)=epn*(1-H(o))e1-H(o)-1] (3)
其中,[αcorrect],[αincorrect]大于0,[H(o)=-ipilogpi],为了方便计算与分析,把观测o的信息熵做一个转换,使其的取值范围在[[0,1]]之间,令[H(o)=H(o)log|N|],N为观测集合的大小。
从[αcorrect]可以看出,[H(o)]越接近0,即信息熵越小,人处理信息的可靠度越大,越相信该观测结果,该观测概率越大。反之,该观测结果越不可信,观测概率越小。
对话管理的一个关键性的问题是部分可观测带来的不确定性。根据信息熵的概念可知,描述环境的信息越精确,信息的熵越大,即信息的精确性与熵之间是正相关的。因此把信息熵引入到观测函数里面,能有效反应环境的不确定信息。
3 实验
3.1 实验环境 本节基于对话系统对修正后的观测函数对POMDP模型的性能进行定量分析。实验分别在模拟和实际的对话系统中进行。
模拟系统实验是在给定一组策略下,经过多轮决策,估计总的期望回报。使用基于SARSOP 算法的Approximate POMDP Planning工具包,模拟决策次数是1 000次。
真实系统实验是在一个以机器人教学为目的的对话系统下进行的,通过接收实际的人类语言输入,POMDP模型采用修正后的观测函数(其他参数不变)进行决策,产生相应的应对句子。
实验采用的对话系统结构如图2所示,UserState为用户的状态即意图,Obs为系统的观测部分,由于需要计算Obs的信息熵,因此该观测值不是1-best,而是N-best,Action是对话系统的动作,Reward是系统得到的长期累计回报值,并不是当前得到的立即回报值。
系统根据用户的意图来选择动作,达到学习,回答,询问的结果。在该系统的设计中,使用156个对话作为训练语料,建模一个基于POMDP的对话系统,需要完成7部分工作。
(1)状态
在POMDP模型框架之上构建的对话系统,模型中的信念状态包含当前状态的信息和历史信息,允许系统不直接知道确定的状态,根据信念状态分布做出决策,所以可以把用户的意图直接作为状态变量。用户意图总共分4种类型:对话开始/结束状态;教学意图,教学形状、类别、颜色、名称、部位;查询意图,查询名称、颜色、形状、部位;其他意图。
(2)动作
动作是对话系统根据当前信念状态分布信息采取的操作,用于与用户交互。对话系统的动作可以分为5类:对话开始/结束;回答,回答形状、类别、颜色、名称、部位;提问,提问名称、颜色、形状、部位;学习,学习形状、类别、颜色、名称、部位;其他。
(3)观测
这个系统的观测是用户说话意图的表现,主要是用于描述在系统的角度下用户意图的表现,所以把观测状态集合定义为和状态集合一样。
(4)状态转移函数
系统是根据当前的信念状态得出动作,从而影响用户的下一步的状态,由于把用户状态定义为用户意图,即会影响用户意图。不同的动作选择会对用户意图的改变有着不同的影响。状态转移函数用于记录当前意图下,执行动作后,下一个出现某意图的可能性。
(5)观察函数
一般情况下观测函数是很难直接从训练语料直接统计出来,也是POMDP模型最复杂,最有挑战性的部分。不同的状态、动作会导致不同的观察出现。观测函数的性能也是直接影响信念状态的更新,从而影响对话系统的决策。为了方便计算,该系统认为系统的观测只跟当前的意图相关,与前一个动作无关,即[p(o|s′u,a)=p(o|s′u)]。
(6)回报函数
回报函数是用于描述在当前意图的情况下执行某动作后得到的回报。回报函数的定义虽然比较简单,但是却不能很好的定义回报函数。目前一般都是按照系统的实际用途人工定义回报函数。系统根据用户意图采取正确的动作就可以得到正的回报,执行错误的动作就会得到负的回报。比如,如果当前用户意图是Teach类别的话,系统采取Rlearn动作,就会得到+200的回报,采取Rquery类别的动作就会得到+150回报,否则会得到-200回报;如果当前意图是End,用户采取的动作是Rend,代表对话结束,可以给出+1000的回报。
(7)Belief初始值
如果没有对话的开始状态,一般情况下是每个状态的Belief值定义为一样,效果比较好。
根据这7部分的定义,搭建一个基于POMDP模型的对话系统,这个模型总共有12种状态,9种动作,12种观测,折扣因子为0.9,因为引入开始/结束状态,初始状态的信念值只有Start的值为1,其他状态的值为0。
为了加快POMDP模型的速度,训练时没有采用精确求解算法,而是采用SARSOP近似算法。
为了更全面的考察上文提出的修正观测概率方法在基于POMDP的对话系统的效果,设计了两个实验。
3.2 模拟环境实验
意图识别模块使用条件随机场(CRF)和支持向量机(SVM)两种分类器来估计观测概率,同时为了体现加入修正方法后,系统的健壮性,在估计状态转移时同时使用4种不同的平滑方法(不使用平滑(Origin),最大熵,最大使然,Good-turing)估计状态转移概率。模拟次数是1 000次。
表1的意图识别分类器都是使用CRF,而表1的第二列实验的POMDP模型中的观测概率是没有经过修正的,第三列的观测概率是经过修正的。从表1可以看出,经过修正后的系统回报值比没有经过修正的系统回报值要大,最高提高了2.5%,最低提高了2%。
表2的意图识别分类器都是使用SVM,而第二列实验的POMDP模型中的观测概率是没有经过修正的,第三列的观测概率是经过修正的。从表2可以看出,经过修正后的系统回报值比没有经过修正的系统回报值要大,最高提高了35%,最低提高了3.4%。
主要结论是:修正带来了性能提高,且不论是CRF还是SVM,都能提高。主要原因是观测函数是反映环境的不确定性与意图识别的错误信息的一个渠道,因此加入信息熵的概率来修正观测概率在理论上也有所支持。
3.3 真实对话实验
上一组实验是直接经过POMDP模型仿真模拟得出的结果,下面这一组实验是放在真实对话中测试经过修正观测概率后给对话系统带来的影响。
表3、表4中的每个实验都包含3个测试样本集,第一个样本集的对话轮数是212,第二个样本集的对话轮数是87,第三个样本集的对话轮数是100。分别对比表3和表4,可知对观测概率经过修正后,在真实对话中,该对话系统的决策准确度比没有使用修正的观测矩阵的系统是要高的,对系统的决策性能有所提高。 通过实验一与实验二两组实验可知,使用CRF分类进行意图识别得到的期望回报整体上会比使用SVM方法的要大,主要是因为本文使用的基于SVM分类器的意图识别模块的识别错误率perr为0.17,而基于CRF分类的意图识别错误率perr为0.05,也就是说意图识别错误率的大小会直接影响到模型的性能大小。
使用SVM作为意图识别模块的对话系统经过修改观测概率方法后,系统决策性能的提升幅度比使用CRF的要大,主要是因为本文使用的基于SVM分类器的意图识别模块的识别错误率比基于CRF分类的意图识别错误率要大,也就是说CRF的意图识别率已经很高,修正前与修正后的概率变化不大,而SVM的意图识别错误率比CRF的大,修正的观测概率给对话系统带来比较大的影响。如果从信息熵的角度来看的话,经过计算,使用CRF的意图识别的系统得到的观测平均信息熵是0.3168,而是用SVM的意图识别的系统得到的观测平均信息熵是1.0557。平均信息熵越高,不确定性越大,越需要修正观测矩阵,可提升的性能也越大。平均信息熵越低,代表观测比较可靠,越不需修正,甚至可以直接相信观测,同样可提升的性能也不大。
因此在意图识别错误率比较高的情况是有必要对观测概率进行合理的修正,以达到提高对话系统的决策性能的效果。
3.4 实验总结
意图识别模块的性能很明显对模型的期望回报有着很大的影响,模型的期望回报是反应该模型的性能重要指标,系统是通过意图识别的结果对具有不确定性的环境的进行估计,根据不完全可观测的结果,进行决策,执行动作,得到回报奖赏,进而与环境交互。因此意图识别的性能和对环境的估计准确程度与对话系统的性能有着密切关系。通过实验与分析可知,在意图识别错误率一定的情况下,在观测函数估计中引入对环境不确定性的信息,通过信息熵描述环境的不确定性,提高系统对环境的估计与判断,使系统在不完全可观测的情况下,提高决策的准确度与模型的期望回报。
4 结论
在本文中,把描述环境不确定性的信息熵加入到观测函数里,修正观测概率。以一个简单的机器人教学系统为例子实现具体的POMDP模型,并通过两个实验考察观测概率经过修正后与修正前的性能差异,验证使用修正后的观测概率的系统得到较好的效果。
作为使用POMDP模型来搭建对话系统这个方向的初步工作,本文的结果说明对话的决策性能受很多方面影响。可以通过很多方面提高对话决策性能,回报函数反映执行某动作得到的立即回报,也是与环境交互的结果之一,因此今后可以把回报函数的信息加入到观测函数里面,增强观测函数对环境的描述。
摘要:部分可观测马尔可夫决策过程(POMDP)广泛应用于建模决策任务。模型中的观测矩阵主要用来建模环境的不确定性,通常很难从训练数据中直接获取,需要引入额外的信息进行估计。通过引入信息熵来修正模型中的观测矩阵,修正后的观测矩阵更能反映环境的不确定性。模拟环境下的实验表明,引入信息熵进行修正估计的观测矩阵有效提高了POMDP模型的性能,而在基于POMDP模型的对话系统中,修正的估计提高了系统的决策准确度。
关键词:部分可观测马尔可夫决策过程;不确定性;意图识别;观测矩阵;信息熵
Abstract: Partially Observable Markov Decision Process (POMDP) is a decision model used extensively for decision tasks. The observation matrix of the model is a channel that reflects the uncertainty of surroundings, which is hard to do directly from the corpus. Extra information needs to be introduced for estimation of the observation matrix and better reflection of surroundings. The concept of information entropy is introduced to modify the observation matrix in the model by which the modified observation matrix can reflect the uncertainty of the situation more precisely. Simulated experiment and real situation show that introducing information entropy to modify the observation matrix improves performance of the POMDP model together with the decision-making accuracy in a dialogue system based on POMDP.
Key words: partially observable markov decision process; uncertainty; intention identification; observation matrix; information entropy
人机对话是语言信息处理中的一个重要应用任务,对话管理是对话系统中的核心组成部分,决定了对话系统的质量,为此出现了很多关于对话管理模型的研究。
已有的对话管理技术[1]主要包括:基于自动机的方法[2-3],基于框架的方法[4-5],基于信息状态的方法[6],基于概率模型的方法[7-8]。基于自动机的方法虽然易于设计,但是不灵活,不自然,难以应付复杂的任务。基于框架的方法实现的复杂度较低,但是对话比较机械,人机交互的自然度较低。基于信息状态的方法比较灵活,能丰富的表达对话的状态,把对话过程看作是一列规则的变化,但是需要人工的定义规则与策略。概率方法主要基于马尔可夫决策过程(MDP)与部分可观测马尔可夫决策过程(POMDP)模型。与前3种方法相比,基于POMDP的方法不需要人工定义策略,而是通过数据学习策略,POMDP将客观世界的动态特性用状态转移来描述,在状态不完全可观测的情况下,系统通过与环境交互,进行决策,管理对话过程。
虽然基于POMDP模型的对话管理具有更大的灵活性,可用于状态不完全可观测的情况,但是模型需要统计状态转移矩阵,在训练过程比较依赖于数据;需要定义回报函数,目前没有很好的估计方法;需要估计观测概率矩阵,一般情况下是很难从数据中直接估计。这些问题会给基于POMDP模型的对话管理带来困难。
基于POMDP模型的对话管理是根据当前的信念状态分布来选择动作,因此信念状态的估计会直接影响到系统决策性能,而观测函数的估计也会直接影响到信念状态的估计。在对话系统中,POMDP模型的观测函数一般是建模从用户对话意图到系统状态的映射,但是,用户对话意图本身并不是直接可获得的,它是由用户的语言输入来体现的。一方面,用户对话意图十分丰富,且同一对话意图可以用几乎是无限种不同的语言输入来表现,另一方面,对一个确定的语言输入的意图识别也会存在不确定性,更不用说语言输入本身的识别也可能存在不确定性。因此,很难直接从训练数据直接获得,而需要另外的技术来进行估计。对观测函数专门研究的文献不多。文献[9]简单地把语音识别错误率引入到观测函数的估计中,主要建模语音输入识别错误的影响,但并不考虑对识别结果进行用户意图识别时的错误。这种估计方法也没有把训练数据的信息考虑到里面,性能较差。文献[10]结合连续信息与离散信息并应用到贝叶斯网路里面,观测的集合大小有4种,即观测是离散的,连续信息指的是观测的概率,但需要相关阈值确定离散信息,阈值的确定给计算POMDP的回报值带来困难。文献[7]对观测函数进行扩展,在原来的基础上加入置信度(Confidence)分数,用置信度来衡量该观测包含的信息量和对策略规划的重要程度,但是此方法的参数h很难估计,由于是直接引入置信度,因此很难在现有的工具训练模型。
观测函数是描述内部状态与外部环境之间的联系。对话管理的一个关键性的问题是部分可观测带来的不确定性[11-12],而信息的不确性可以使用信息熵来衡量,因此为了使观测函数更能反映环境的不确定信息和其所包含的信息量,本文引入信息熵来修正观测概率。 1 POMDP模型及观测函数
的估计
一个POMDP模型可以用一个六元组[
*[S]:系统的状态集合
*[A]:系统的动作集合
*[T(s′,a,s)]:系统的状态转移函数,描述的是当系统在状态s下执行动作a可能转移到[s′]的概率
*[R(s,a)]:系统的报酬函数,描述的是当在状态s下执行动作a时,系统获得的立即回报值
*[Z]:系统的观测集合
*[O(s′,a,o)]:系统的观测函数,其中[o∈Z]
POMDP问题结构如图1所示。每个时刻,系统会处于一个隐状态s,系统会根据当前的信念分布b,选择一个动作a,得到一个立即回报r,然后转移到下一个隐状态[s′],[s′]依赖于s、a。此时系统会得到新的观测[o′],[o′]依赖于[s′]、a,然后根据动作a,新的观测[o′],更新当前的信念分布,继续选择动作。其中关于[o′]的观测概率,可用于确定转移到[s′]状态的置信度。
在POMDP中,观测函数一般情况下是很难直接从数据中估计得到,需要额外的信息去加强对观测函数的估计,反映环境的不确定性。
文献[9]在研究基于语音输入的人机对话系统建模时,把语音识别错误率引入到观测矩阵的估计中,而语音识别结果到意图的映射是一对一的。虽然这里是针对语言识别错误,假设输入为文本,不存在语音识别错误时,这里的语音识别错误也可以看成是意图识别的错误,因此,相同的模型可以建模文本输入时存在意图识别错误的情形。因此,后文中我们会替换使用语音识别和意图识别,其反映的都是类似的观测中的不确定性,可以类似进行建模。设[perr]为语音识别错误率,如果用户的意图与系统观测到的用户意图或行为一致的话,认为观测概率为1-[perr];否则观测概率[perr|Au|-1],其中[Au]为观测集合的个数。这种方法把语音识别的整体错误率信息引入到观测函数里面,但是却没有反映当前对话的信息。
文献[7]和文献[13]对文献[9]观测函数进行扩展,在原来的基础上加入置信度分数,反映当前对话的信息。在每个观测概率前乘以相应的观测置信度分数。这种方法把观测o分成两部分,一部分是离散的观测值,代表语音识别或意图识别的假设;一部分是连续分数,衡量该假设的置信度。由于直接在观测函数里面加入连续性的分数,目前训练工具基本都是要求观测部分是离散的,因此无法在现有的工具上直接训练。
2 改进的观测函数估计方法
在文献[14]中,每一个语音输入只有一个识别结果,即只使用识别率最高或分数最高的结果,相当于使用1-best识别结果。
但是,语音识别通常并不完美,采用1-best显然没有采用n-Best(n>1)得到的信息丰富。直接利用1-best结果作为观测已经一定程度损失了语音信息。例如:假设一个语音输入的标准识别结果是“我要购买从北京到广州的机票”,其1-best结果为“我要购买东京到广州的机票”。如果还有2rd-best的结果“我要购买从北京到广西的机票”以及3rd-best的结果“我要购买从北京到杭州的机票”,甚至N-best的结果...其中N-best列表中的第一个地点很有可能出现“北京”的次数多于其他的地点,采用语音识别的N-best结果可以使观测的结果更能反映真实的状态,使信念分布提供更具体的信息。
本文关注输入为文本的人机对话系统管理。如上所述,对于文本输入的对话,语言输入假设是正确的,那么需要考虑的是意图识别的错误。在采用POMDP建模时,需要基于文本输入估计对话意图作为真正的观测。一般,对每轮对话中用户的输入进行一次意图识别,对于一段语言输入判断其言语意图,可以用分类器(意图识别器)来进行识别,本文在实验中会选择采用两种不同的意图分类器进行考查,无论哪种分类器,均可以得到N-best识别结果。随后的问题就是,如何有效利用这些N-best信息。
本文提出利用N-best信息,计算其信息熵,引入到观测函数中,用于修正观测矩阵的值,使观测函数包含环境不确定性的信息,更加客观的描述环境。
为每个观测得到的是一个N-best列表(由意图识别器获得),N-best列表记录的最可能的N个用户意图假设,N-best列表中同时还记录了意图识别器为每个用户意图分配的概率,例如:
[o=[
其中向量的每一个元素都是(意图、概率)对,而对于概率[pn=p(a′nu|o) n=1…N];[ipi=1 i=1…N],我们通过下面的公式引入信息熵进行修正。
[αcorrect(pn)=epn*H(o)eH(o)-1] (2)
[αincorrect(pn)=epn*(1-H(o))e1-H(o)-1] (3)
其中,[αcorrect],[αincorrect]大于0,[H(o)=-ipilogpi],为了方便计算与分析,把观测o的信息熵做一个转换,使其的取值范围在[[0,1]]之间,令[H(o)=H(o)log|N|],N为观测集合的大小。
从[αcorrect]可以看出,[H(o)]越接近0,即信息熵越小,人处理信息的可靠度越大,越相信该观测结果,该观测概率越大。反之,该观测结果越不可信,观测概率越小。
对话管理的一个关键性的问题是部分可观测带来的不确定性。根据信息熵的概念可知,描述环境的信息越精确,信息的熵越大,即信息的精确性与熵之间是正相关的。因此把信息熵引入到观测函数里面,能有效反应环境的不确定信息。
3 实验
3.1 实验环境 本节基于对话系统对修正后的观测函数对POMDP模型的性能进行定量分析。实验分别在模拟和实际的对话系统中进行。
模拟系统实验是在给定一组策略下,经过多轮决策,估计总的期望回报。使用基于SARSOP 算法的Approximate POMDP Planning工具包,模拟决策次数是1 000次。
真实系统实验是在一个以机器人教学为目的的对话系统下进行的,通过接收实际的人类语言输入,POMDP模型采用修正后的观测函数(其他参数不变)进行决策,产生相应的应对句子。
实验采用的对话系统结构如图2所示,UserState为用户的状态即意图,Obs为系统的观测部分,由于需要计算Obs的信息熵,因此该观测值不是1-best,而是N-best,Action是对话系统的动作,Reward是系统得到的长期累计回报值,并不是当前得到的立即回报值。
系统根据用户的意图来选择动作,达到学习,回答,询问的结果。在该系统的设计中,使用156个对话作为训练语料,建模一个基于POMDP的对话系统,需要完成7部分工作。
(1)状态
在POMDP模型框架之上构建的对话系统,模型中的信念状态包含当前状态的信息和历史信息,允许系统不直接知道确定的状态,根据信念状态分布做出决策,所以可以把用户的意图直接作为状态变量。用户意图总共分4种类型:对话开始/结束状态;教学意图,教学形状、类别、颜色、名称、部位;查询意图,查询名称、颜色、形状、部位;其他意图。
(2)动作
动作是对话系统根据当前信念状态分布信息采取的操作,用于与用户交互。对话系统的动作可以分为5类:对话开始/结束;回答,回答形状、类别、颜色、名称、部位;提问,提问名称、颜色、形状、部位;学习,学习形状、类别、颜色、名称、部位;其他。
(3)观测
这个系统的观测是用户说话意图的表现,主要是用于描述在系统的角度下用户意图的表现,所以把观测状态集合定义为和状态集合一样。
(4)状态转移函数
系统是根据当前的信念状态得出动作,从而影响用户的下一步的状态,由于把用户状态定义为用户意图,即会影响用户意图。不同的动作选择会对用户意图的改变有着不同的影响。状态转移函数用于记录当前意图下,执行动作后,下一个出现某意图的可能性。
(5)观察函数
一般情况下观测函数是很难直接从训练语料直接统计出来,也是POMDP模型最复杂,最有挑战性的部分。不同的状态、动作会导致不同的观察出现。观测函数的性能也是直接影响信念状态的更新,从而影响对话系统的决策。为了方便计算,该系统认为系统的观测只跟当前的意图相关,与前一个动作无关,即[p(o|s′u,a)=p(o|s′u)]。
(6)回报函数
回报函数是用于描述在当前意图的情况下执行某动作后得到的回报。回报函数的定义虽然比较简单,但是却不能很好的定义回报函数。目前一般都是按照系统的实际用途人工定义回报函数。系统根据用户意图采取正确的动作就可以得到正的回报,执行错误的动作就会得到负的回报。比如,如果当前用户意图是Teach类别的话,系统采取Rlearn动作,就会得到+200的回报,采取Rquery类别的动作就会得到+150回报,否则会得到-200回报;如果当前意图是End,用户采取的动作是Rend,代表对话结束,可以给出+1000的回报。
(7)Belief初始值
如果没有对话的开始状态,一般情况下是每个状态的Belief值定义为一样,效果比较好。
根据这7部分的定义,搭建一个基于POMDP模型的对话系统,这个模型总共有12种状态,9种动作,12种观测,折扣因子为0.9,因为引入开始/结束状态,初始状态的信念值只有Start的值为1,其他状态的值为0。
为了加快POMDP模型的速度,训练时没有采用精确求解算法,而是采用SARSOP近似算法。
为了更全面的考察上文提出的修正观测概率方法在基于POMDP的对话系统的效果,设计了两个实验。
3.2 模拟环境实验
意图识别模块使用条件随机场(CRF)和支持向量机(SVM)两种分类器来估计观测概率,同时为了体现加入修正方法后,系统的健壮性,在估计状态转移时同时使用4种不同的平滑方法(不使用平滑(Origin),最大熵,最大使然,Good-turing)估计状态转移概率。模拟次数是1 000次。
表1的意图识别分类器都是使用CRF,而表1的第二列实验的POMDP模型中的观测概率是没有经过修正的,第三列的观测概率是经过修正的。从表1可以看出,经过修正后的系统回报值比没有经过修正的系统回报值要大,最高提高了2.5%,最低提高了2%。
表2的意图识别分类器都是使用SVM,而第二列实验的POMDP模型中的观测概率是没有经过修正的,第三列的观测概率是经过修正的。从表2可以看出,经过修正后的系统回报值比没有经过修正的系统回报值要大,最高提高了35%,最低提高了3.4%。
主要结论是:修正带来了性能提高,且不论是CRF还是SVM,都能提高。主要原因是观测函数是反映环境的不确定性与意图识别的错误信息的一个渠道,因此加入信息熵的概率来修正观测概率在理论上也有所支持。
3.3 真实对话实验
上一组实验是直接经过POMDP模型仿真模拟得出的结果,下面这一组实验是放在真实对话中测试经过修正观测概率后给对话系统带来的影响。
表3、表4中的每个实验都包含3个测试样本集,第一个样本集的对话轮数是212,第二个样本集的对话轮数是87,第三个样本集的对话轮数是100。分别对比表3和表4,可知对观测概率经过修正后,在真实对话中,该对话系统的决策准确度比没有使用修正的观测矩阵的系统是要高的,对系统的决策性能有所提高。 通过实验一与实验二两组实验可知,使用CRF分类进行意图识别得到的期望回报整体上会比使用SVM方法的要大,主要是因为本文使用的基于SVM分类器的意图识别模块的识别错误率perr为0.17,而基于CRF分类的意图识别错误率perr为0.05,也就是说意图识别错误率的大小会直接影响到模型的性能大小。
使用SVM作为意图识别模块的对话系统经过修改观测概率方法后,系统决策性能的提升幅度比使用CRF的要大,主要是因为本文使用的基于SVM分类器的意图识别模块的识别错误率比基于CRF分类的意图识别错误率要大,也就是说CRF的意图识别率已经很高,修正前与修正后的概率变化不大,而SVM的意图识别错误率比CRF的大,修正的观测概率给对话系统带来比较大的影响。如果从信息熵的角度来看的话,经过计算,使用CRF的意图识别的系统得到的观测平均信息熵是0.3168,而是用SVM的意图识别的系统得到的观测平均信息熵是1.0557。平均信息熵越高,不确定性越大,越需要修正观测矩阵,可提升的性能也越大。平均信息熵越低,代表观测比较可靠,越不需修正,甚至可以直接相信观测,同样可提升的性能也不大。
因此在意图识别错误率比较高的情况是有必要对观测概率进行合理的修正,以达到提高对话系统的决策性能的效果。
3.4 实验总结
意图识别模块的性能很明显对模型的期望回报有着很大的影响,模型的期望回报是反应该模型的性能重要指标,系统是通过意图识别的结果对具有不确定性的环境的进行估计,根据不完全可观测的结果,进行决策,执行动作,得到回报奖赏,进而与环境交互。因此意图识别的性能和对环境的估计准确程度与对话系统的性能有着密切关系。通过实验与分析可知,在意图识别错误率一定的情况下,在观测函数估计中引入对环境不确定性的信息,通过信息熵描述环境的不确定性,提高系统对环境的估计与判断,使系统在不完全可观测的情况下,提高决策的准确度与模型的期望回报。
4 结论
在本文中,把描述环境不确定性的信息熵加入到观测函数里,修正观测概率。以一个简单的机器人教学系统为例子实现具体的POMDP模型,并通过两个实验考察观测概率经过修正后与修正前的性能差异,验证使用修正后的观测概率的系统得到较好的效果。
作为使用POMDP模型来搭建对话系统这个方向的初步工作,本文的结果说明对话的决策性能受很多方面影响。可以通过很多方面提高对话决策性能,回报函数反映执行某动作得到的立即回报,也是与环境交互的结果之一,因此今后可以把回报函数的信息加入到观测函数里面,增强观测函数对环境的描述。