一种基于双通道RNN的人机交互意图判断方法与流程

文档序号:16532865发布日期:2019-01-05 10:54阅读:511来源:国知局
一种基于双通道RNN的人机交互意图判断方法与流程

本发明涉及多媒体分析技术领域,具体涉及一种基于双通道rnn的人机交互意图判断方法。



背景技术:

对话系统是人机交互的一种相当重要的形式,也是自然语言处理过程中的一个关键的研究方向。在music领域,能否正确判断用户的某条话语是否表达一个music领域内的意图是一个很基础但是也很重要的任务,在很多地方比如语音助手、music平台都有很丰富的应用场景。对于用户某条话语,在实际对话系统中,用户的一条话语往往存在相当大的歧义和模糊,要判断其是否表达了music意图显得十分困难。在中文领域,很多方法首先对句子进行分词,提出特征期望获取更好的句子语义表征;或者将每一个字当做独立个体对待,这些方法都没有充分利用句子的语义特征。本发明提出了一种基于双通道rnn的music意图识别方法,charrnn模块负责处理按字切分的句子序列,wordrnn模块负责处理按词切分的句子序列,最后输入到全连接层进行统一处理得到输出,输出为二分类结果。

现在常用处理方法分为两大类,一类为传统机器学习方法,通常使用tf-idf(词频-逆文档频率)方法将句子表示成一维向量,tf表示词频,idf表示逆文档频率,然后放入传统机器学习算法如支持向量机、随机森林进行分类,从而得到意图判断结果。另一类方法为深度学习方法,目前经常用于处理句子这一类时序数据的是循环神经网络(rnn)技术,rnn能很好的处理捕捉句子的词序信息。但是目前rnn在处理句子序列时,要么将句子中的词当做最小单元,要么将句子中的字当做独立的单元。

rnn处理详细过程如下:

ht=f(uxt+wht-1)

y=sigmod(vht)

其中xt是第t时刻的输入,ht是第t时刻隐藏状态,ht由上一层的隐藏状态和本层的输入共同决定,f通常为非线性的激活函数,比如tanh。由于每一层的ht都会向后一直传递,所以理论上ht能够捕捉到前面每一层的信息,u,w,v为变换矩阵。ht为序列最后一个时刻的隐藏状态,y为最终输出,从而实现分类,分类为正类的表示此话语句子表达了music意图,分类为负类表示此话语没有表达music意图。

rnn把每个词作为一个时间节点,把词向量作为每个单元的输入特征,计算后每个单元有个状态特征以及输出特征,当rnn过完整个句子序列输出最后一个时刻的输出特征,整个特征会接一个全连接层,最后加上激活函数实现二分类。

传统机器学习方法,此方法首先需要将句子向量化,然后放入传统机器学习算法如支持向量机、随机森林进行分类,从而得到意图判断结果。传统的方法将句子表征成one-hot或者将通过tf-idf方法将句子表示成一维向量,这种表示方法无法考虑到词序信息。另一类方法为深度学习方法,目前经常用于处理句子这一类时序数据的是循环神经网络(rnn)技术,rnn能很好的处理捕捉句子的词序信息。但是目前rnn在处理句子序列时,要么将句子中的词当做最小单元,要么将句子中的字当做独立的单元。无论是那种方式,都会丢失某些信息,这对判断本来就比较短的用户话语句子是否表达了music意图是很不利的。



技术实现要素:

本发明目的是:提供一种基于双通道rnn的人机交互意图判断方法。

本发明的技术方案是:一种基于双通道rnn的人机交互意图判断方法,包括以下步骤:

步骤1:使用word2vec工具用整个维基百科中文语料预训练字向量,并同理训练一份词向量;

步骤2::charrnn处理:通过分字处理模块将句子按字切分,然后按照序列输入charrnn模块;

步骤3:wordrnn处理:通过分词处理模块将句子按字切分,然后按照序列输入wordrnn模块;

步骤4:输入到全连接层进行统一处理得到输出:将charrnn捕捉到的信息和wordrnn捕捉到的信息拼接之后进行全连接处理,采用公式y=sigmod(u[ht;h't]),其中[ht;h't]表示将charrnn和wordrnn输出的信息进行拼接,sigmod为激活函数,y为最终输出。

进一步的:所述步骤2中的charrnn处理采用公式为ht=f(ucct+wcht-1),其中ct是第t时刻的字向量输入,所述字向量为所述步骤1中所得的预训练字向量,ht是charrnn第t时刻隐藏状态,f为非线性的激活函数,uc和wc均为charrnn的变换矩阵,ht为字序列最后一个时刻的隐藏状态。

进一步的:所述步骤2中wordrnn处理采用公式为h′t=f(uwwt+wwh′t-1),其中wt是第t时刻词向量输入,ht′是wordrnn第t时刻隐藏状态,f通常为非线性的激活函数,uw,ww为wordrnn的变换矩阵,h't为词序列最后一个时刻的隐藏状态。

进一步的:所述步骤4中的y输出为1时,则判断该话语句子表达了music领域相关意图,所述y输出为0时,则判断该话语句子没有表达music领域相关意图。

与现有技术相比,本发明的优点是:本发明提出了一种基于双通道rnn的人机交互意图判断方法,charrnn模块负责处理按字切分的句子序列,charrnn能捕捉句子字序列的语义信息,wordrnn模块负责处理按词切分的句子序列,wordrnn能捕捉句子词序列的语义信息,最后输入到全连接层进行统一处理得到输出,这样能更大程度的挖掘话语句子的信息,从而能够更精准的判断用户话语是否表达了music领域的相关意图。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明的流程图;

具体实施方式

实施例:如图1所示,训练过程:

训练数据集类型如下:

请播放周杰伦的双节棍1

今天要去世界之窗玩0

.......

“请播放周杰伦的双节棍”处理:

首先进行分字处理和分词处理得到:

字序列:请播放周杰伦的双节棍

词序列:请播放周杰伦的双节棍

将字序列对应的字向量依次输入charrnn得到字序列的语义信息ht,将词序列对应的词向量依次输入wordrnn得到词序列的语义信息h't,通过全连接层y=sigmod(u[ht;h't]),得到预测值y,而话语句子的真是值为y',要优化的目标为最小化损失函数:l=ylogy'+(1-y)log(1-y')。对所有的训练样本都进行类似操作,最后训练得到模型。

预测过程:

对于新的话语句子:唱一首稻香

首先进行分字处理和分词处理得到:

字序列:唱一首稻香

词序列:唱一首稻香

将字序列对应的字向量依次输入charrnn得到字序列的语义信息ht,将词序列对应的词向量依次输入wordrnn得到词序列的语义信息h't,通过全连接层y=sigmod(u[ht;h't]),得到预测值y为1,表示话语句子表达了music领域的相关意图。

上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1