语句识别方法、装置、机器设备和计算机可读存储介质与流程

文档序号:19376536发布日期:2019-12-10 23:55阅读:140来源:国知局
语句识别方法、装置、机器设备和计算机可读存储介质与流程

本发明涉及自然语言处理技术领域,尤其涉及一种语句识别方法、装置、机器设备和计算机可读存储介质。



背景技术:

识别用户输入语句所表达的语义是语音交互中的核心模块,其中包括意图识别和属性标注两个任务。意图识别是根据用户输入的口语文本判断用户的真实意图。在智能电视语音交互场景中,常见的意图识别包括播放电影、观看电视剧、浏览综艺节目、播放音乐、查看天气等;而属性标注是指与用户意图相关的特定信息,语音交互系统根据抽取出的意图相关信息,完成与用户意图相关的特定的任务,例如,根据用户的语音搜索由刘德华参演的电影。

用户意图识别一般使用机器学习算法对用户输入的口语文本进行语义分类,属性标注一般使用模板匹配或条件随机场进行任务相关的特定信息抽取。现有的做法是将意图分类与属性标注分割为两个子任务,首先进行意图分类获得意图标签,然后在识别出的意图分类下,进行属性标注获得属性标签,该方式容易将意图分类阶段的误差,传递到属性标注阶段,导致对输入语句所表达的语义识别不准确。

因此,在现有技术的实现中,亟待解决由于误差的传递所导致的用户意图识别以及属性标注中准确度不高的局限性。



技术实现要素:

为了解决上述技术问题,本发明的一个目的在于提供一种语句识别方法、装置、机器设备和计算机可读存储介质。

其中,本发明所采用的技术方案为:

一种语句识别方法,包括:以字为单位,根据所对应上下文进行输入语句中字的向量化获得所述字对应的分布式表达;通过所述输入语句中字所对应分布式表达的前向和后向遍历得到所述字对应的隐向量;根据所述输入语句中字所对应的隐向量分别进行所述字的属性标签以及所述输入语句的意图标签预测,获得所述字对应的属性标签以及所述输入语句对应的意图标签;根据所述输入语句中字所对应的属性标签和所述输入语句对应的意图标签对所述输入语句进行搜索。

进一步地,所述以字为单位,根据所对应上下文进行输入语句中字的向量化获得所述字对应的分布式表达包括:相对所述输入语句中的全部周边字,对所述输入语句中的每一个字分别运算在存储文本语料信息中出现的概率,获得所述输入语句中每一个字相对于所述输入语句中的全部周边字所形成的概率序列;将所述输入语句中每一个字的概率序列映射成低维向量,得到所述输入语句中字所对应的分布式表达。

进一步地,所述通过所述输入语句中字所对应分布式表达的前向遍历和后向遍历得到所述字对应的隐向量包括:根据所述输入语句中字所对应的分布式表达分别进行前向遍历和后向遍历,获得所述字的前向隐向量和后向隐向量;拼接所述输入语句中字的前向隐向量和后向隐向量得到所述字对应的隐向量。

进一步地,所述根据所述输入语句中字所对应的隐向量进行所述字的属性标签预测,获得所述字对应的属性标签包括:通过目标参数矩阵将所述输入语句中字所对应的隐向量进行非线性映射,得到所述字的加权向量;对所述输入语句中字的加权向量进行概率归一化,得到所述字对应的属性标签概率分布向量;从所述输入语句中字所对应的属性标签概率分布向量中选取最大概率所对应的属性标签作为所述字对应的属性标签。

进一步地,所述根据所述输入语句中字所对应的隐向量进行所述输入语句对应的意图标签预测,获得所述输入语句的意图标签包括:拼接所述输入语句中全部字所对应的隐向量得到所述输入语句对应的隐向量;通过目标参数矩阵将所述输入语句所对应的隐向量进行非线性映射,得到所述输入语句的加权向量;对所述输入语句的加权向量进行概率归一化,得到所述输入语句对应的意图标签概率分布向量;从所述输入语句所对应的意图标签概率分布向量中选取最大概率所对应的意图标签作为所述输入语句对应的意图标签。

进一步地,所述语句识别方法还包括:对属性标签预测偏差和意图标签预测偏差进行求和运算,得到所述输入语句对应的语句识别偏差,所述属性标签预测偏差是所述输入语句中字所对应的意图标签与真实属性标签之间的误差值,所述意图标签预测偏差是所述输入语句对应的意图标签与真实意图标签之间的误差值;最小化所述语句识别偏差,获得中间参数矩阵;将所述中间参数矩阵更新为目标参数矩阵。

一种语句识别装置,包括:低维向量映射模块,用于根据输入语句中字所对应的上下文将所述输入语句中的字映射为低维向量,以获得所述字的分布式表达;前后向遍历模块,用于根据所述输入语句中字的分布式表达进行前向和后向遍历,得到所述字的隐向量;语句标签预测模块,用户根据所述输入语句中字所对应的隐向量分别进行所述字的属性标签预测以及所述输入语句的意图标签预测,以获得所述字对应的属性标签以及所述输入语句对应的意图标签。

进一步地,所述语句识别中装置还包括:偏差计算模块,用于对属性标签预测偏差和意图标签预测偏差进行求和运算,得到所述输入语句的语句识别偏差,所述属性标签预测偏差是所述输入语句中字所对应的意图标签与真实属性标签之间的误差值,所述意图标签预测偏差是所述输入语句对应的意图标签与真实意图标签之间的误差值;偏差值处理模块,用于对所述语句识别偏差进行最小化处理,获得中间参数矩阵;参数调整模块,用于将所述中间参数矩阵更新为目标参数矩阵。

一种机器设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的语句识别方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的语句识别方法。

在上述技术方案中,首先通过输入语句中字的上下文信息对输入语句中的字进行向量化得到字所对应的分布式表达,然后通过对输入语句中的字所对应的分布式表达进行前向和后向遍历得到字的隐向量,最后根据输入语句中字所对应的隐向量分别预测字所对应的属性标签以及输入语句所对应的意图标签。

在上述技术方案中,输入语句中每个字所对应的属性标签和输入语句所对应的意图标签是基于对输入语句中每个字所对应的隐向量分别进行标签预测得出的,充分考虑了意图分类与属性标注二者之间共享语义文本信息的关联性,避免了现有技术中由于误差的传递所导致的用户意图识别以及属性标注准确度不高的问题。

此外,本发明采用的技术方案通过输入语句中字的上下文信息对输入语句中的字进行向量化得到字所对应的分布式表达,以及通过对输入语句中的字所对应的分布式表达进行前向和后向遍历得到字的隐向量,以使输入语句中每个字的隐向量充分考虑输入语句中的上下文信息,使得语句识别更加精准。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据本发明所涉及的一种智能电视的框图。

图2是根据一示例性实施例示出的一种语句识别方法的流程图。

图3是图2对应实施例中步骤210在一个实施例的流程图。

图4是一示例性实施例示出的一种对输入语句进行前向和后向遍历过程的示意图。

图5是图2对应实施例中步骤230在一个实施例的流程图。

图6是图2对应实施例中步骤250在一个实施例的流程图。

图7是图2对应实施例中步骤250在另一实施例的流程图。

图8是一实施例根据图2所示的方法获得的结果分析示意图。

图9是另一实施例根据图2所示的方法获得的结果分析示意图。

图10是另一实施例根据图2所示的方法获得的结果分析示意图。

图11是另一实施例根据图2所示的方法获得的结果分析示意图。

图12是根据另一示例性实施例示出的一种语句识别方法的流程图。

图13是根据一示例性实施例示出的一种语句识别装置的框图。

图14是根据另一示例性实施例示出的一种语句识别装置的框图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1为一种智能电视的框图。需要说明的是,本发明提供的技术方案可应用于所有涉及自然语言处理和机器学习技术的设备,不仅限于图1所示的智能电视,图1所示的智能电视是为了便于理解本发明的内容而提出的,不能认为是提供了对本发明的使用范围的任何限制。并且,图1所示的智能电视只是根据一示例性实施例示出的一种智能电视的框图,该智能电视不能解释为需要依赖于或者必须具有图1中所示出的示例性智能电视中的一个或者多个组件。

如图1所示,智能电视包括至少一个(图1仅示出一个)处理器120、存储器110、通信模块130、音频模块140以及显示屏150。

其中,存储器110作为资源存储的载体可用于存储计算机程序以及模块,如本发明示例性实施例中的语句识别方法及装置对应的计算机可读指令及模块,处理器120通过运行存储在存储器110内的计算机可读指令,从而执行各种功能以及数据处理,即完成语句识别方法。

存储器110可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。

通信模块130用于收发无线或者有线信号,从而通过该无线或者有线信号与其他设备进行通讯。无线或者有线信号所基于的通讯网络包括但不限于蜂窝式电话网、无线局域网或者城域网等,上述通信网络可以使用各种通信标准、协议及技术。

音频模块140用于输入/输出音频信号,其可包括一个或多个麦克风、一个或多个扬声器以及一个或多个音频接口,例如耳机接口、耳麦接口等。用户可以通过音频模块140向智能电视输入语音信号,以对智能电视进行语音控制。

显示屏150用于提供一个输出界面,以使智能电视将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过显示屏150显示输出。

可以理解,图1所示的结构仅为示意,智能电视还可包括比图1中所示更多或更少的组件,或者具有与图1所示不同的组件。

此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。

图2是根据一示例性实施例示出的一种语句识别方法的流程图。图2所示的语句识别方法可以应用于图1所示的智能电视,还可以应用于其他涉及自然语言处理和机器学习技术的设备。如图2所示,该语句识别方法包括以下步骤:

在步骤210中,以字为单位,根据所对应上下文进行输入语句中字的向量化获得所述字对应的分布式表达。

其中,以该语句识别方法应用于图1所示智能电视的示例来说,输入语句可以是智能电视对用户输入的语音信号进行语音识别得到的文本信息,还可以是用户通过遥控器或者其他方式向智能电视输入的文本信息。

将输入语句中的字进行向量化是将该输入语句中的字映射为低维向量的过程,所得到的低维向量称为该输入语句中字的分布式表达,以通过输入语句中字的分布式表达建立不同字之间的语义关联。

对输入语句其中的一个字来说,将该字映射为低维向量具体是将该字分别相对于输入语句中的其他周边字依次进行条件映射得到的,该输入语句中的其他周边字也称作该字所对应的上下文信息。

映射条件具体可以是,分别依次计算该字分别相对其他周边字所在存储的文本语料信息中出现的概率,然后将获得的全部概率值分别按照输入语句中周边字的排列顺序组合形成低维向量。

举例来说,在对输入语句“我想看刘德华的电影”中的“刘”字进行条件映射时,分别依次计算“刘”相对于“我”“想”“看”“德”“华”“的”“电”“影”在文本语料信息中出现的概率,然后将得到的概率值依次按照“我”“想”“看”“德”“华”“的”“电”“影”所对应的顺序组合形成一个向量的表达形式,将获得的这个向量作为“刘”字的低维向量。

具体的,计算输入语句中的字相对其他周边字所在存储的文本语料信息中出现的概率,是计算当前字与其他周边字所在存储的文本语料信息中同时出现的概率。在一种实施例中,计算得到“刘”和“我”在文本语料信息中同时出现的概率为0.25、“刘”和“想”在文本语料信息中同时出现的概率为0.2、“刘”和“看”在文本语料信息中同时出现的概率为0.12、“刘”和“德”在文本语料信息中同时出现的概率为0.88、“刘”和“华”在文本语料信息中同时出现的概率为0.87、“刘”和“的”在文本语料信息中同时出现的概率为0.11、“刘”和“电”在文本语料信息中同时出现的概率为0.76,以及“刘”和“影”在文本语料信息中同时出现的概率为0.67,最终得到“刘”字的分布式表达为(0.25,0.2,0.13,0.88,0.87,0.11,0.76,0.67)。

为了得到输入语句中每个字的分布式表达,需要将输入语句中的每个字分别根据上述方法映射得到各自所对应的低维向量。

图3为一种示例性实施例示出的实施步骤210的流程图。如图3所示,实施步骤210可以包括以下步骤:

在步骤211中,相对所述输入语句中的全部周边字,对所述输入语句中的每一个字分别运算在存储文本语料信息中出现的概率,获得所述输入语句中每一个字相对于所述输入语句中的全部周边字所形成的概率序列。

对输入语句其中的一个字来说,该字相对输入语句中的全部周边字包括对输入语句中从首字到尾字中除去该字后所剩余的全部字。

仍以输入语句“我想看刘德华的电影”为例,其中“刘”字相对输入语句中的全部周边字包括“我想看德华的电影”中的全部字,而“电”字相对输入语句中的全部周边字包括“我想看刘德华的影”中的全部字。

相对输入语句中的全部周边字,对输入语句中的每一个字分别运算在存储文本语料信息中出现的概率,目的在于获得输入语句中每一个字分别与其周边字所对应的关联程度,概率值越大则表示当前字与该周边字的关联程度越高,例如,“电影”二字作为一个常用词使用,“电”字相对其周边字“影”运算得出的概率值较大。

在一个示例性实施例中,相对输入语句中的全部周边字,对输入语句中的每一个字分别运算在存储文本语料信息中出现的概率是根据word2vector(词向量)模型计算的。

背景语料库中存储有大量的文本语料信息,以供word2vector模型进行语句训练。背景语料库可以是从多媒体介质中下载的语料库,例如,北京大学ccl语料库、搜狗文本分类语料库等。

根据背景语料库中存储的文本语料信息,使用word2vector模型对输入语句中的每个字运算该字分别与每一个周边字在背景语料库中共同出现概率,以得到输入语句中的每个字相对输入语句中的全部周边字所形成的概率序列。

word2vector模型的目标函数如下:

minimizej=-logp(wt|wt-m,…,wt-1,wt+1,…,wt+m)

其中,“wt”表示所要进行概率计算的当前字,“t”表示当前字所在输入语句中的位置,例如在输入语句“我想看刘德华的电影”中,对当前字“刘”进行概率计算时的“t”值为4;“wt-m,…,wt-1,wt+1,…,wt+m”表示当前字“wt”在输入语句中的全部周边字,“m”则表示周边字相对当前字所在的输入语句中的位置。

以输入语句为“我想看刘德华的电影”为例,在使用word2vector模型计算“刘”的概率序列时,周边字“我”所在输入语句中的位置为:相对“刘”字向前的第3个字,周边字“影”所在输入语句中的位置为:相对“刘”字向后的第5个字,因此,周边字“我”表示为“wt-3”,周边字“我”表示为“wt+5”。又如,在使用word2vector模型计算“电”的概率序列时,周边字“我”表示为“wt-7”,周边字“我”表示为“wt+1”。

在一种示例性的实施例中,假设通过word2vector模型计算得出“刘”字分别相对“我”“想”“看”“德”“华”“的”“电”“影”在背景语料库中出现的概率序列为0.25、0.2、0.13、0.88、0.87、0.11、0.76和0.67,“电”分别相对“我”“想”“看”“刘”“德”“华”“的”“影”在背景语料库中出现的概率序列为:0.53、0.18、0.24、0.43、0.39、0.33、0.43、0.58。

在步骤213中,将所述输入语句中每一个字的概率序列映射成低维向量,得到所述输入语句中字所对应的分布式表达。

其中,将步骤211中得出的输入语句中每个字分别的概率序列组合成向量的表达形式,以形成输入语句中每个字的分布式表达。例如,得到输入语句为“我想看刘德华的电影”中“刘”字的分布式表达为:

v(刘)=(0.25,0.2,0.13,0.88,0.87,0.11,0.76,0.67)

“电”字的分布式表达为:

v(电)=(0.53,0.18,0.24,0.43,0.39,0.33,0.43,0.8)

相较于现有技术中对语句中的字采用one-hot(独热)表达方式,本发明采用的分布式表达能够与语句中的周边字建立关联,能够使得语义相似字的向量表达是一致的,以提高对输入语句进行语义理解的准确度。

便于理解的,假设输入语句“我想看刘德华的电影”中“刘”的one-hot表达是:v(刘)=(0,0,1,0,0,0,0,0),“电”的one-hot表达是:v(电)=(0,0,0,0,1,0,0,0),通过余弦文本相似度计算公式计算得出“刘”和“电”的分布式表达的余弦相似度为0.8763,而“刘”和“电”的one-hot表达的余弦相似度为0。因此从语义相似度出发,one-hot表达仅是标识字在整个背景语料库中出现的位置,无法得到与语句中上下文之间的语义关联。

在步骤230中,通过所述输入语句中字所对应分布式表达的前向和后向遍历得到所述字对应的隐向量。

其中,对输入语句中字所对应分布式表达的前向和后向遍历是通过循环神经网络模型进行。

具体的,将输入语句中每个字所对应的分布式表达分别作为循环神经网络的输入,通过循环神经网络对输入语句分别进行从前往后遍历和从后往前遍历,具体遍历过程如图4所示,x1~x6分别表示输入语句中的每个字所对应的分布式表达,对输入语句进行前向遍历和后向遍历后,得到输入语句中每个字对应的隐向量分别为y1~y6。

输入语句中字的隐向量表达了该字结合输入语句中全部字在语义上的关联。前向遍历在遍历输入语句每个字的过程中,建立每个字与其之前所有字之间的语义关联;后向遍历在遍历每个字的过程中,建立每个字与其之后所有字之间的语义关联。通过对输入语句中每一个字所对应分布式表达的前向和后向遍历,能够建立每个字结合输入语句全局的语义表达。

在一个示例性实施例中,对输入语句中的字所对应分布式表达进行前向和后向遍历是通过双向长短时记忆模模型(bi-lstm)进行的,以得到输入语句中每个字所对应的隐向量。

图5为一种示例性实施例示出的实施步骤230的流程图。如图5所示,实施步骤230可以包括以下步骤:

在步骤231中,根据所述输入语句中字所对应的分布式表达进行前向和后向遍历,获得字的前向隐向量和后向隐向量。

其中,通过采用双向长短时记忆模模型(bi-lstm)对输入语句中字所对应的分布式表达进行前向和后向遍历,得到对应的字的隐向量具体包括前向隐向量和后向隐向量。

具体的,双向长短时记忆模型(bi-lstm)由两个独立的长短时记忆模型(lstm)构成,其中第一个长短时记忆模型(lstm)用于对输入语句中每个字的分布式表达进行前向遍历,另外一个长短时记忆模型(lstm)用于对输入语句中每个字的分布式表达进行后向遍历。

长短时记忆模型可以考虑上下文的联系,根据输入向量序列输出一个向量序列。其中一个长短时记忆模型根据输入语句中每个字的分布式表达从前往后地遍历输入语句,以得到输入语句中每个字所对应的前向隐向量。另一个长短时记忆模型根据输入语句中每个字的分布式表达从后往前地遍历输入语句,以得到输入语句中每个字所对应的后向隐向量。

由于长短时记忆模型的前后向遍历过程是本领域的技术人员所熟知的,此处不进行赘述。

在步骤233中,拼接所述输入语句中字的前向隐向量和后向隐向量得到所述字对应的隐向量。

其中,输入语句中的每个字的隐向量由每个字所对应的前向隐向量和后向隐向量拼接组成。将前向隐向量和后向隐向量拼接的实质是将两个向量进行拼接,得到的拼接向量则为输入语句中字的隐向量。

在步骤250中,根据所述输入语句中字所对应的隐向量分别进行所述字的属性标签以及所述输入语句的意图标签预测,获得所述字对应的属性标签以及所述输入语句对应的意图标签。

其中,对输入语句中每个字所对应的隐向量进行属性标签预测过程和对输入语句中所对应的隐向量进行意图标签预测过程是同步进行的。

图6和图7分别表示在一种示例性实施例中实施步骤250的流程图。其中图6为一种示例性实施例示出的对输入语句中每个字所对应的隐向量进行属性标签预测的流程图,图7为一种示例性实施例示出的对输入语句所对应的隐向量进行意图标签预测的流程图。

如图6所示,对输入语句中每个字所对应的隐向量进行属性标签预测的方法包括以下步骤:

在步骤251中,通过目标参数矩阵将所述输入语句中字所对应的隐向量进行非线性映射,得到所述字的加权向量。

通过目标参数矩阵将所述输入语句中每个字所对应的隐向量进行非线性映射,以将输入语句中每个字所对应的分布式特征映射到样本标记空间,从而将输入语句中的每个字分别与样本标记空间建立关联。目标参数矩阵表示了输入语句中字的隐向量与不同属性标签预测概率之间的映射关系,目标参数矩阵直接影响属性标签预测的准确度。

将输入语句中的字所对应的分布式特征映射到样本标记空间的实质为,对输入语句中的字所对应的隐向量与目标参数矩阵进行加权和运算,以得到输入语句中字对应的加权向量。

用公式可表达为zj=wxj,其中“w”表示目标参数矩阵,“xj”表示输入语句其中一个字所对应的隐向量,“zj”则相应表示该字所对应的加权向量。

在步骤253中,对所述输入语句中字的加权向量进行概率归一化,得到所述字对应的属性标签概率分布向量。

在一个示例性实施例中,对所述输入语句中字的加权向量进行概率归一化是采用softmax多分类预测函数进行的。softmax多分类预测函数的定义如下,其中zj表示输入语句中的字所对应的加权向量:

通过softmax多分类预测函数将输入语句中字的加权向量映射成由(0,1)之间的概率值序列组合形成的概率向量,以获得输入语句中的每个字相对于该输入语句中的周边字所对应的属性标签概率分布向量。

在步骤255中,从所述输入语句中字所对应的属性标签概率分布向量中选取最大概率所对应的属性标签作为所述字对应的属性标签。

由于通过softmax多分类预测函数获得的属性标签概率分布向量是根据输入语句中的字与该输入语句中的周边字关联得出的,最大概率对应的属性标签最接近输入语句中字的真实属性标签。

因此,选择属性标签概率分布向量中最大概率所对应的属性标签作为输入语句中的字所对应的属性标签,最大可能地保证了该属性标签的准确性。

如图7所示,根据输入语句中字所对应的隐向量进行所述输入语句的意图标签预测的方法包括以下步骤:

在步骤252中,拼接所述输入语句中全部字所对应的隐向量得到所述输入语句对应的隐向量。

其中,通过将输入语句中全部字所对应的隐向量按照输入语句中字的顺序拼接得到此输入语句对应的隐向量,此输入语句所对应的隐向量为拼接向量。

由于输入语句中每个字所对应的隐向量充分考虑了输入语句中上下文的语义信息,拼接得到的此输入语句对应的隐向量也充分考虑了该输入语句中每个字的语义,以使获得的意图标签更精准。

在步骤254中,通过目标参数矩阵将所述输入语句所对应的隐向量进行非线性映射,得到所述输入语句的加权向量。

与对输入语句所对应的隐向量进行意图标签预测的方法类似,通过相同的目标参数矩阵将输入语句所对应的隐向量进行非线性映射的实质为将输入语句所对应的隐向量与目标参数矩阵进行加权和运算,以得到输入语句的加权向量。此处的目标参数矩阵则表示了输入语句的隐向量与不同意图标签预测概率之间的映射关系。

在步骤256中,对所述输入语句的加权向量进行概率归一化,得到所述输入语句对应的意图标签概率分布向量。

其中,使用与上述对输入语句所对应的隐向量进行意图标签预测相同的softmax多分类预测函数对输入语句所对应加权向量进行运算,获得输入语句基于该语句中全部字的属性标签所对应的意图标签概率分布向量。

在步骤258中,从所述输入语句所对应的意图标签概率分布向量中选取最大概率所对应的意图标签作为所述输入语句对应的意图标签。

由于通过softmax多分类预测函数获得的输入语句所对应的意图标签概率分布向量是拼接的该输入语句中全部字的隐向量进行预测的,最大概率所对应的意图标签最接近该输入语句的真实意图标签。因此,采用该方法获得输入语句所对应的意图标签最大可能保证了其准确性。

在步骤270中,根据所述输入语句中字所对应的属性标签和所述输入语句对应的意图标签对所述输入语句进行搜索。

其中,在通过上述步骤得到输入语句中每个字对应的属性标签和输入语句对应的意图标签后,根据所得的标签对该输入语句进行搜索,以得到对输入语句识别的结果。

仍以该语句识别方法应用于图1所示的智能电视为例,智能电视在执行上述实施例所述的语句识别方法获得输入语句中每个字对应的属性标签和该输入语句对应的意图标签后,根据获得的所有的属性标签以及意图标签获知用户意图并执行相应操作。例如,通过上述实施例所述的语句识别方法对输入语句“我想看刘德华的电影”进行标签预测,可获得如图8所示的标签信息,智能电视可根据图8所示的信息在其影视库中搜索刘德华参演的电影信息,并将搜索结果输出到显示屏进行展示。

本发明通过上述实施例所述的语句识别方法获得的意图标签充分考虑了该输入语句中的全部字的语义信息,以及获得的每个字的属性标签也充分考虑了每个字所在输入语句中的上下文信息,因此,本发明提供的方法具有以下几个方面的优点:

第一个方面,本发明提供的语句识别方法不依赖于输入语句中固定的句式模板。具体来说,本发明提供的方法可以对句式表达不规范的输入语句进行上下文处理,以获得准确的属性标签和意图标签。

仍以本发明提供的语句识别方法应用于图1所示的智能电视为例,若智能电视识别用户输入的语音信息为“电影刘德华的爱情的”,由于根据上述实施例所述的语句识别方法得到该输入语句中的每个字的隐向量充分考虑了该输入语句中的上下文信息,可以准确获得“爱”、“情”所对应的影视类型的属性标签。

通过本发明提供的方法对输入语句“电影刘德华的爱情的”进行语句识别得到的结果可以如图9所示,智能电视根据图9所示的信息在其影视库中搜索由刘德华参演的爱情类型的电影,并将搜索获得的影片信息输出至显示屏。

第二个方面,本发明提供的语句识别方法能够在一定程度上解决输入语句存在噪音的问题。

例如,智能电视识别用户输入的语音信息为“我想看刘德花的电影”,其中“刘德花”是识别错误,但本发明提供的方法能够根据该输入语句的上下文信息准确获得“花”的属性标签,如图10所示。

第三个方面,本发明提供的语句识别方法在一定程度上能够解决输入语句中存在干扰标签而影响意图识别的问题。

例如,智能电视识别用户输入的语音信息为“动画片孙悟空”,其中“孙悟空”的属性标签可以是歌曲名,也可以是影片名,但本发明提供的方法可以根据上下文信息将其属性标签准确预测为影片名,如图11所示。

本发明提供的语句识别方法在应用于设备的过程中可分别用作离线训练阶段和在线预测阶段。其中离线训练阶段的目的在于优化步骤250中对输入语句进行标签预测过程中使用的目标参数矩阵,以获得最优目标参数矩阵,通过此最优目标参数矩阵预测获得的标签的准确度最优。在线预测阶段直接使用离线训练阶段获得的最优目标参数矩阵对用户实时输入的文本信息进行标签预测,以直接获得准确度最高的属性标签以及意图标签。

图12是根据另一示例性实施例所示出的一种语句识别方法的流程图,图12所示的方法适用于离线训练阶段。如图12所示,该语句识别方法在采用上述实施例所述的方法获得属性标签以及意图标签后,还包括以下步骤:

在步骤310中,对属性标签预测偏差和意图标签预测偏差进行求和运算,得到所述输入语句对应的语句识别偏差。

其中,属性标签预测偏差是输入语句中字所对应的意图标签与真实属性标签之间的误差值,意图标签预测偏差是输入语句对应的意图标签与真实意图标签之间的误差值。

在一实施例中,输入语句对应的语句识别偏差值是根据交叉熵损失函数计算得出的。本发明定义的交叉熵损失函数为:

其中i表示意图类型个数,y为真实意图标签,值取0或者1,是预测该意图标签的置信得分。m表示当前语句中单词的个数,n表示属性标签类型的个数,am,j表示真实的属性标签,表示预测该属性标签的置信得分。

上述交叉熵损失函数共同考虑了对输入语句预测的属性标签和意图标签与其真实标签对比所产生的偏差值,采用该交叉熵损失函数得出的偏差值更加适合本发明进行标签预测的准确度的判断。

若通过上诉交叉熵损失函数计算获得的偏差值不能满足预设的阈值条件,则表示当前标签预测过程采用的目标参数矩阵不是最优的,因此需要寻求最优目标参数矩阵。

在步骤330中,最小化所述语句识别偏差,获得中间参数矩阵。

在一种示例性的实施例中,采用梯度下降法对语句识别偏差值进行最小化处理。具体处理过程为:

首先对交叉熵损失函数基于当前采用的目标参数矩阵进行求导,获得该交叉熵损失函数的对于采用的目标参数矩阵的偏导数。得到的偏导数也称为梯度值。

然后将当前采用的目标参数矩阵与该偏导数进行减法运算,所得的结果即为中间参数矩阵。

在步骤350中,将所述中间参数矩阵更新为所述目标参数矩阵。

其中,在获得中间参数矩阵后,将该中间参数矩阵更新为步骤250对输入语句进行标签预测过程中所使用的目标参数矩阵。

在离线训练阶段,若获得的偏差值不能满足预设的阈值条件,则需对输入语句进行第二次训练。在第二次训练中,步骤250使用更新的目标参数矩阵对输入语句进行标签预测获得目标参数更新后的属性标签和意图标签后,再重新采用步骤310进行偏差值计算。若获得的偏差值仍不满足预设的阈值条件,重复上述实施例所述方法对输入语句进行下一次训练,直到获得的偏差值满足预设条件,则表示此次使用的目标参数矩阵是最优目标参数矩阵,此时离线训练阶段完成。

图13是根据一示例性实施例示出的一种语句识别装置的框图。该语句识别装置执行图2任一所示的语句识别方法的全部或者部分步骤,如图13所示,该语句识别装置包括但不限于低维向量映射模块410、前后向遍历模块430、语句标签预测模块450以及语句搜索模块470。

其中,低维向量映射模块410用于根据输入语句中字所对应的上下文将输入语句中的字映射为低维向量,以获得输入语句中字的分布式表达。

前后向遍历模块430用于根据输入语句中字的分布式表达进行前向和后向遍历,得到输入语句中字的隐向量。

语句标签预测模块450用于根据输入语句中字所对应的隐向量分别进行输入语句中字的属性标签预测以及输入语句的意图标签预测,以获得输入语句中字对应的属性标签以及输入语句对应的意图标签;

语句搜索模块470用于根据输入语句中字所对应的属性标签和输入语句对应的意图标签对输入语句进行搜索。

进一步地,低维向量映射模块410包括概率运算单元和向量映射单元。其中,概率运算单元用于相对输入语句中的全部周边字,对输入语句中的每一个字分别运算在存储文本语料信息中出现的概率,获得输入语句中每一个字相对于输入语句中的全部周边字所形成的概率序列。向量映射单元用于将输入语句中每一个字的概率序列映射成低维向量,得到输入语句中字所对应的分布式表达。

进一步地,前后向遍历模块430包括前后向遍历单元和隐向量拼接单元。其中,前后向遍历单元用于根据输入语句中字所对应的分布式表达分别进行前向遍历和后向遍历,获得输入语句中字的前向隐向量和后向隐向量。隐向量拼接单元用于拼接输入语句中字的前向隐向量和后向隐向量,得到输入语句中字对应的隐向量。

进一步地,语句标签预测模块450包括非线性映射单元、概率归一单元和标签获取单元。其中,非线性映射单元用于通过目标参数矩阵将输入语句中字所对应的隐向量以及输入语句所对应的隐向量进行非线性映射,得到输入语句中字的加权向量以及输入语句的加权向量。概率归一单元用于对输入语句中字的加权向量以及输入语句的加权向量进行概率归一化,得到输入语句中字的属性标签概率分布向量以及输入语句的意图标签概率分布向量。标签获取单元用于从输入语句中字的属性标签概率分布向量中获取最大概率所对应的属性标签,以及从输入语句的意图标签概率分布向量中获取最大概率所对应的意图标签。

图14是根据另一示例性实施例示出的一种语句识别装置的框图。如图14所示,该装置还包括偏差值计算模块510和参数调整模块530。

其中,偏差值计算模块510用于对属性标签预测偏差和意图标签预测偏差进行求和运算,得到输入语句对应的语句识别偏差,其中,属性标签预测偏差是输入语句中字所对应的意图标签与真实属性标签之间的误差值,意图标签预测偏差是输入语句对应的意图标签与真实意图标签之间的误差值。

偏差值处理模块530用于对语句识别偏差进行最小化处理,获得中间参数矩阵。

参数调整模块550用于将中间参数阵更新为目标参数矩阵。

在一种示例性实施例中,一种设备,包括:

处理器;及

存储器,所存储器上存储有计算机可读程序,计算机可读程序被处理器执行时实现上述各实施例中的语句识别方法。

在一种示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被执行时实现上述各实施例中的语句识别方法。

上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。

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