一种查询语句的意图识别方法、问答方法及计算设备与流程

文档序号:26800658发布日期:2021-09-29 01:50阅读:124来源:国知局
一种查询语句的意图识别方法、问答方法及计算设备与流程

1.本发明涉及计算机领域,尤其涉及一种查询语句的意图识别方法、问答方法、计算设备及可读存储介质。


背景技术:

2.近年来,越来越多的智能对话产品走进了大众的视野,如私人助理siri、情感陪护机器人小忆以及语音助手google now等。这些智能对话产品给人们的生活和工作带来了极大的方便,深受人们的喜爱。
3.其中,在人机对话系统中,意图识别至关重要。意图识别是指机器通过分析用户的自然语言来识别用户的目的。意图识别是实现人机对话的关键技术之一,如果不能快速准确地判断出用户的意图,将会直接影响用户的体验。然而,目前意图识别的准确度和效率并不理想,不能满足用户对人机交互的期待,意图识别的准确度和效率有待提高。


技术实现要素:

4.为此,本发明提供了一种查询语句的意图识别方法、问答方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
5.根据本发明的一个方面,提供一种查询语句的意图识别方法,适于在计算设备中执行,该方法包括:将查询语句与意图识别模板集中的意图识别模板进行匹配,以获取查询语句的第一意图;若第一意图的完成度大于或等于第一意图的预设值,则将第一意图作为查询语句的目标意图,第一意图的完成度为第一意图的意图模板与查询语句的匹配值;若第一意图的完成度小于第一意图的预设值,则将第一意图和查询语句输入到训练好的意图识别模型进行处理,以获取查询语句的第二意图,并将第二意图作为查询语句的目标意图。
6.可选地,在根据本发明的查询语句的意图识别方法中,将查询语句与意图识别模板集中的意图识别模板进行匹配,以获取查询语句的第一意图的步骤,包括:将查询语句与意图识别模板集中的意图识别模板进行匹配,得到查询语句的待选意图集合;将待选意图集合中完成度最高的待选意图作为查询语句的第一意图。
7.可选地,在根据本发明的查询语句的意图识别方法中,将第一意图和查询语句输入到训练好的意图识别模型进行处理,以获取查询语句的第二意图的步骤,包括:将第一意图和查询语句输入到训练好的意图识别模型进行处理,得到查询语句的候选意图集合;将候选意图集合中置信度最高的候选意图作为查询语句的第二意图。
8.可选地,在根据本发明的查询语句的意图识别方法中,将第二意图作为查询语句的目标意图的步骤,包括:将第二意图的置信度与第二意图的预设值进行比较;若第二意图的置信度大于或等于第二意图的预设值,将第二意图作为查询语句的目标意图。
9.可选地,在根据本发明的查询语句的意图识别方法中,将第二意图作为查询语句的目标意图的步骤,还包括:若第二意图的置信度小于第二意图的预设值,将候选意图集合中的各个候选意图按照置信度进行降序排序;依次将前预设数量个候选意图和查询语句输
入到训练好的意图识别模型进行处理,重新获取查询语句的第二意图,直至重新获取到的第二意图的置信度大于或等于第二意图的预设值,停止第二意图的获取,并将最终获取到的第二意图作为查询语句的目标意图;若重新获取到的第二意图的置信度都小于第二意图的预设值,将基于第一意图和查询语句得到的候选意图集合中置信度最大的候选意图作为查询语句的目标意图。
10.可选地,在根据本发明的查询语句的意图识别方法中,还包括:若第二意图的置信度大于或等于第二意图的预设值,将查询语句存储至第二意图对应的语句存储器中,并判断第二意图对应的语句存储器中存储的查询语句的数量是否超过了阈值;若超过了阈值,基于语句存储器中存储的查询语句提取意图模板,并将提取到的意图模板作为第二意图的意图模板;将第二意图和意图模板添加至意图识别模板集中。
11.可选地,在根据本发明的查询语句的意图识别方法中,意图识别模型采用bert模型和adaboost模型的串联模型。
12.可选地,在根据本发明的查询语句的意图识别方法中,意图识别模型基于下述方法训练得到:将训练集中的查询语句与查询语句的真实意图输入到预训练的意图识别模型中,得到查询语句的预测意图;基于真实意图与预测意图之间的损失值,更新意图识别模型的参数,直至损失值满足预定条件,训练结束,得到训练好的意图识别模型。
13.根据本发明的又一个方面,提供一种问答方法,适于在计算设备中执行,该方法包括:获取用户输入的查询语句;根据查询语句,按照本发明的查询语句的意图识别方法获取查询语句的意图;根据查询语句的意图,获取查询语句的回复语句,并将回复语句返回给用户。
14.根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上方法中的任一方法的指令。
15.根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上方法中的任一方法。
16.根据本发明的查询语句的意图识别方法,将查询语句与意图识别模板集中的意图识别模板进行匹配,以获取查询语句的第一意图。若第一意图的完成度大于或等于第一意图的预设值,则将第一意图作为查询语句的目标意图。若第一意图的完成度小于第一意图的预设值,则将第一意图和查询语句输入到训练好的意图识别模型进行处理,以获取查询语句的第二意图,并将第二意图作为查询语句的目标意图。可见,本发明的查询语句的意图识别方法,对于通用的查询语句,通过意图识别模板集便可获得其意图,保证了识别速度。对于非通用的查询语句,在利用意图识别模型对查询语句进行识别时,基于的是意图识别模板集输出的第一意图和查询语句,有效的利用了意图模板的识别结果,提升了意图识别的准确度。因此,本发明的查询语句的意图识别方法能够从整体上优化自然语言意图的识别效率和准确度。
附图说明
17.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
18.图1示出了根据本发明一个实施例的对话系统100的示意图;
19.图2示出了根据本发明一个实施例的计算设备200的结构框图;
20.图3示出了根据本发明一个实施例的查询语句的意图识别方法300的流程图;
21.图4示出了根据本发明另一个实施例的查询语句的意图识别方法400的流程图;
22.图5示出了根据本发明一个实施例的问答方法500的流程图。
具体实施方式
23.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
24.图1示出了根据本发明一个实施例的对话系统100的示意图。如图1所示,对话系统100包括用户终端110和计算设备200。
25.用户终端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能音箱、智能可穿戴设备等,但不限于此。计算设备200用于向用户终端110提供服务,其可以实现为服务器,例如应用服务器、web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、平板电脑等,但不限于此。
26.根据一种实施例,计算设备200可以提供人机对话服务,终端设备110可以经由互联网与计算设备200建立连接,从而使得用户可以经由终端设备110与计算设备200进行人机对话。用户在终端设备110上打开浏览器或者人机对话类应用(app),例如人工智能助手,并通过输入查询语句(文本),由终端设备110将查询语句发送到计算设备200。计算设备200接收到用户输入的查询语句后,对查询语句进行语义识别,根据语义识别结果,向终端设备110返回合适的响应语句,从而实现人机对话。
27.在一种实现方式中,终端设备110还可以采集用户的语音数据,并对语音数据进行语音识别处理,得到用户的查询语句,或者,终端设备也可以将语音数据发送到计算设备200,由计算设备200对语音数据进行语音识别处理,得到用户的查询语句。
28.人机对话的过程中,计算设备200需要对用户的潜在意图进行识别,以便根据用户的潜在意图对用户的查询语句进行准确的响应,从而使得对话能够流畅进行。
29.在一个实施例中,对话系统100还包括数据存储装置120。数据存储装置120可以是关系型数据库例如mysql、access等,也可以是非关系型数据库例如nosql等;可以是驻留于计算设备200中的本地数据库,也可以作为分布式数据库例如hbase等设置于多个地理位置处,总之,数据存储装置120用于存储数据,本发明对数据存储装置120的具体部署、配置情况不做限制。计算设备200可以与数据存储装置120连接,并获取数据存储装置120中所存储的数据。例如,计算设备200可以直接读取数据存储装置120中的数据(在数据存储装置120为计算设备200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置120中的数据。
30.在本发明的实施例中,数据存储装置120适于存储各种实体识别模型、实体词典、意图识别模型、问题库、答案库、话术模板等,这样,计算设备200就可以基于存储的数据来相应地提供对话服务。
31.在对话系统中,对于用户语句意图的识别方法主要为分为模版识别和模型识别两种。模版识别通常是基于语义规则模板的识别,其优点是识别速度快,对查询语句中的词槽识别效果较好,适用于某些特定领域的对话系统,缺点是模版通常由人工进行编辑,数量比较有限,因此对意图语句的泛化识别效果有限,不能够准确识别出与模版雷同说法的语句。
32.模型识别通常是基于机器学习(包括深度学习)的识别,其优点是对意图识别的泛化效果较好,模型一旦构建完成,基本上就可以完成从用户语句到输出该语句意图的端到端的任务,缺点是模型构建过程复杂,需要甄选出适合训练的语料,并且训练模型需要大量的算力。另外,当模型足够复杂时,其识别速度较慢。
33.基于此,本发明提出了一种新的意图识别方法,将模板识别与模型识别进行结合。对查询语句先采用模板识别,如果模板识别结果第一意图的完成度大于或等于第一意图的预设值,将第一意图作为查询语句的目标意图。如果第一意图的完成度小于第一意图的预设值则进入模型识别,将第一意图和查询语句同时输入到模型识别形成第二意图。如果第二意图的置信度大于或等于第二意图的预设值,将第二意图作为查询语句的目标意图。
34.如果第二意图的置信度小于第二意图的预设值,将模板识别结果第一意图替换为第二意图,并将第二意图和查询语句输入到模型识别来重新获取第二意图,直至重新获取到的第二意图的置信度大于或等于第二意图的预设值,或者重新获取第二意图的累积次数达到了阈值,停止循环(即停止获取第二意图)。其中,若是在重新获取到的第二意图的置信度大于或等于第二意图的预设值的情况下停止的循环,将最终获取到的第二意图作为查询语句的目标意图。若是在重新获取第二意图的累积次数达到阈值的情况下停止的循环,将基于第一意图和查询语句形成的第二意图作为查询语句的目标意图。
35.可见,本发明采用的是模板识别和模型识别相结合的意图识别方法,对于典型的查询语句(即常用查询语句),仅经过模板识别便可获得其意图。对于非典型的查询语句,当经过模板识别输出的第一意图的完成度小于第一意图的预设值时,基于第一意图和查询语句利用模型识别对其进行再次识别,从而可获得更加准确的意图识别结果。因此,本发明的查询语句的意图识别方法能够从整体上优化自然语言意图的识别速度和准确度。
36.本发明的查询语句的意图识别方法可以在计算设备200中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
37.图2示出了根据本发明一个实施例的计算设备200的结构框图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的查询语句的意图识别方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的查询语句的意图识别方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
38.如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个
或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
39.取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
40.取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器ram,磁盘中的数据需要加载至物理内存中才能够被处理器204读取。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。操作系统220例如可以是linux、windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用222包括用于实现各种用户期望的功能的程序指令,应用222例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境ide、编译器等)等,但不限于此。当应用222被安装到计算设备200中时,可以向操作系统220添加驱动模块。
41.在计算设备200启动运行时,处理器204会从存储器206中读取操作系统220的程序指令并执行。应用222运行在操作系统220之上,利用操作系统220以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用222时,应用222会加载至存储器206中,处理器204从存储器206中读取并执行应用222的程序指令。
42.计算设备200还包括储存设备232,储存设备232包括可移除储存器236和不可移除储存器238,可移除储存器236和不可移除储存器238均与储存接口总线234连接。
43.计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元148和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
44.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
45.在根据本发明的计算设备200中,应用222包括用于执行本发明的查询语句的意图识别方法300或问答方法500的指令,该指令可以指示处理器204执行本发明的查询语句的意图识别方法或问答方法。本领域技术人员可以理解,除了用于执行查询语句的意图识别方法300或问答方法500的指令之外,应用222还可以包括用于实现其他功能的其他应用226。
46.图3示出了根据本发明一个实施例的查询语句的意图识别方法300的流程图,方法300适于在计算设备(例如图2所示的计算设备200)中执行。如图3所示,该方法300始于步骤s310。在步骤s310中,将查询语句与意图识别模板集中的意图识别模板进行匹配,以获取查询语句的第一意图。其中,意图识别模板集是基于语义规则构建的意图模板的集合。
47.根据本发明的一个实施例,可以通过如下方法来获取查询语句的第一意图。首先,将查询语句与意图识别模板集中的意图识别模板进行匹配,得到查询语句的待选意图集合。具体而言,将查询语句依次与意图识别模板集中的每一个模板进行匹配,得到查询语句的一个待选意图集合。然后,将待选意图集合中完成度最高的待选意图作为查询语句的第一意图。其中,某一意图的完成度是指该意图的模板与用户查询语句的匹配值。
48.根据一种实施例,可以通过下式来获取查询语句与各个意图的模板的匹配值e(即完成度)。
[0049][0050]
其中,f为模板包含的槽位数量l与查询语句中可以填槽的实体数量h的比值,n为查询语句中包含的总实体数量,m为查询语句中不能填槽的实体数量,ws是模板中各个槽位的权重之和。
[0051]
进一步地,考虑到查询语句中不能填槽的实体数量m可能为0,因此可以给m加一个偏移量b,则查询语句与各个意图的模板的匹配值e为:
[0052][0053]
其中,w
i
为模板中第i个槽位的权重值。
[0054]
为了更好的理解本发明中获取查询语句的第一意图的方式,下面通过一个具体的示例来进行说明。某用户输入的查询语句为“宝马三系油耗怎么样”。需要说明的是,对于用户输入查询语句的方式,本发明不作限定,例如可以为语音输入。
[0055]
对查询语句进行分词、提取实体后,得到该查询语句总共包含3个实体:宝马三系(cx)、油耗(pz)和怎么样(kbc)。基于这三个实体,将查询语句依次与意图识别模板集中的每一个模板进行匹配(即对于每一个模板,将查询语句中的实体填充到相应的槽位中),得到该查询语句的待选意图集合。具体地,待选意图集合中包含三个待选意图:单实体、配置和配置口碑,每一个待选意图对应的完成度为0.3、1.5、5.4。其中,三个待选意图的完成度通过如下方式获得。
[0056]
单实体意图的模板车系(cx)
[0057]
配置意图的模板车系(cx)车身配置(pz)
[0058]
配置口碑意图的模板车系(cx)车身配置(pz)口碑词(kbc)
[0059]
其中,车系槽位的权重为0.3,车身配置槽位的权重为0.2,口碑词槽位的权重为
0.1。另外,将匹配值e计算式中的偏移量b的取值设定为1。基于此,利用上式便可获得上述三个待选意图与查询语句的匹配值,即三个待选意图的完成度。
[0060]
单实体意图的完成度
[0061]
配置意图的完成度
[0062]
配置口碑意图的完成度
[0063]
在获得上述三个待选意图的完成度后,将完成度最高的配置口碑意图作为查询语句的第一意图。
[0064]
根据本发明的另一个实施例,在得到查询语句的待选意图集合后,还可以通过如下方法来获取查询语句的第一意图。将待选意图集合中的各个待选意图按照完成度进行降序排序。对于前m个待选意图,依次将待选意图的完成度与待选意图的预设值进行比较。若某一待选意图的完成度大于或等于该待选意图的预设值,停止比较,并将该待选意图作为该查询语句的第一意图。否则,将排在首位的待选意图作为查询语句的第一意图,即将待选意图集合中完成度最高的待选意图作为查询语句的第一意图。其中,关于m的取值,在此不做限定。在具体的实施例中,本领域的技术人员可以根据实际需要进行设定。另外,需要说明的是,对于每一意图模板,本领域的技术人员一般都会根据业务设定一个不同的阈值,即每一意图都有一个预设值。
[0065]
在获得查询语句的第一意图之后,将第一意图的完成度与第一意图的预设值进行比较。若第一意图的完成度大于或等于第一意图的预设值,进入步骤s320,将第一意图作为查询语句的目标意图。继续以上述的示例为例,若配置口碑意图的完成度5.4大于配置口碑意图的预设值,将配置口碑作为查询语句“宝马三系油耗怎么样”的目标意图。
[0066]
若第一意图的完成度小于第一意图的预设值,进入步骤s330,将第一意图和查询语句输入到训练好的意图识别模型进行处理,以获取查询语句的第二意图,并将第二意图作为查询语句的目标意图。其中,为了提高用户意图识别的准确度,可以将bert和adaboost的串联模型作为意图识别模型。
[0067]
根据本发明的一个实施例,可以通过如下方法来对意图识别模型进行训练。利用预训练样本集对意图识别模型进行预训练,得到预训练的意图识别模型。作一示例,假设是汽车领域的意图识别模型,则可以采用大量的汽车相关文本对意图识别模型进行预训练,预训练语料包括但不限于汽车领域的新闻、论坛、汽车知识等文本数据。本发明对于预训练语料没有严格的格式要求,只要段落清晰即可。
[0068]
在得到预训练的意图识别模型之后,将微调训练样本集中的查询语句与查询语句的真实意图输入到预训练的意图识别模型中,得到查询语句的预测意图。然后,计算查询语句的真实意图与预测意图之间的损失值,并根据这一损失值对意图识别模型的参数进行调整。重复上述步骤,直至计算得到的损失值满足预定条件,训练结束,得到训练好的意图识别模型。
[0069]
根据本发明的一个实施例,可以通过如下方法来获取查询语句的第二意图。首先,将第一意图和查询语句输入到训练好的意图识别模型进行处理,得到查询语句的候选意图集合。具体而言,将基于意图识别模板集获得的查询语句的第一意图与查询语句进行拼接,并将拼接后的语句输入到训练好的意图识别模型中进行处理,得到查询语句的候选意图集合。然后,将候选意图集合中置信度最高的候选意图作为查询语句的第二意图。其中,候选意图的置信度基于意图识别模型中的softmax层来计算。
[0070]
下面通过一个具体的示例来对查询语句的第二意图的获取方法进行说明。用户输入的查询语句为“30万左右,带全景天窗的非日系车”,基于意图识别模板集获得该查询语句的第一意图为询价,且第一意图询价的完成度小于询价意图的预设值,则将询价意图与查询语句“30万左右,带全景天窗的非日系车”输入到意图识别模型中,得到查询语句的候选意图集合,具体为:选车,0.8984342;询价,0.3215144;配置,0.1241252;
……
。然后,比较各个候选意图的置信度,并将置信度最高的候选意图选车作为查询语句“30万左右,带全景天窗的非日系车”的第二意图。
[0071]
根据本发明的另一个实施例,在得到查询语句的候选意图集合后,还可以通过如下方法来获取查询语句的第二意图。将候选意图集合中的各个候选意图按照置信度进行降序排序。对于前n个候选意图,依次将候选意图的置信度与候选意图的预设值进行比较。若某一候选意图的置信度大于或等于该候选意图的预设值,停止比较,并将该候选意图作为查询语句的第二意图。否则,将排在首位的候选意图作为查询语句的第二意图,即将候选意图集合中置信度最高的候选意图作为查询语句的第二意图。其中,关于n的取值,在此不做限定。在具体的实施例中,本领域的技术人员可以根据实际需要进行设定。
[0072]
根据本发明的一个实施例,在获得查询语句的第二意图之后,还将第二意图的置信度与第二意图的预设值进行比较。若第二意图的置信度大于或等于第二意图的预设值,将第二意图作为查询语句的目标意图。继续以上述示出的查询语句“30万左右,带全景天窗的非日系车”为例,若选车意图的置信度0.8984342大于选车意图的预设值,将选车作为查询语句“30万左右,带全景天窗的非日系车”的目标意图。
[0073]
若第二意图的置信度小于第二意图的预设值,重新获取查询语句的第二意图。具体地,首先将候选意图集合中的各个候选意图按照置信度进行降序排序。然后,依次将前预设数量个候选意图和查询语句输入到训练好的意图识别模型进行处理,来重新获取查询语句的第二意图,直至重新获取到的第二意图的置信度大于或等于第二意图的预设值,停止第二意图的获取,并将最终获取到的第二意图作为查询语句的目标意图。否则,即将前预设数量个候选意图和查询语句输入到训练好的意图识别模型中重新获取到的查询语句的第二意图都小于第二意图的预设值,将基于第一意图和查询语句得到的候选意图集合(即,将第一意图和查询语句输入到训练好的意图识别模型中得到的候选意图集合)中置信度最大的候选意图作为查询语句的目标意图。
[0074]
根据一种实施例,查询语句为q,基于意图识别模板集获得查询语句q的第一意图为i1(i1的完成度小于i1的预设值),将意图i1和查询语句q输入到意图识别模型后,得到查询语句q的候选集合为:i2,α;i3,β;i4,r;i5,u。其中,候选意图i2的置信度α最大。如果i2的置信度α小于i2的预设值,则将候选集合中的各个候选意图按照置信度进行降序排序。置信度的降序排序结果为α、β、r、u,因此各个候选意图排序后的结果为i2,i3,i4,i5。
[0075]
然后,依次将排在前三位的候选意图(具体选取前几位的候选意图可以根据实际需要进行设定)和查询语句q输入到训练好的意图识别模型进行处理,来重新获取查询语句q的第二意图。
[0076]
具体地,先将i2和q输入到训练好的意图识别模型中,获取查询语句q的第二意图j(与基于i1和q获取第二意图的方法相同),如果第二意图j的置信度大于或等于意图j的预设值,停止重新获取查询语句q的第二意图(即,不再基于i3和i4来获取查询语句q的第二意图),并将第二意图j作为查询语句q的目标意图。否则,继续将i3和q输入到训练好的意图识别模型中,重新获取查询语句q的第二意图k,同样如果第二意图k的置信度大于或等于意图k的预设值,停止获取,并将第二意图k作为查询语句q的目标意图。如果第二意图k的置信度还是小于意图k的预设值,继续将i4和q输入到训练好的意图识别模型中,获取查询语句q的第二意图p,此时如果第二意图p的置信度大于或等于意图p的预设值,将第二意图p作为查询语句q的目标意图,否则将第二意图i2作为查询语句q的目标意图。需要说明的是,上述利用j、k、p表示重新获取到的第二意图仅仅是为了便于描述,并不代表三者为不同的意图,第二意图j、k和p有可能为相同的意图。
[0077]
下面作一个具体的示例,用户的查询语句为“雅阁后排有没有座椅加热”。基于意图识别模板集命中的意图是选车,没有达到选车意图的阈值0.85,继续进入意图识别模型对该查询语句的意图进行识别。意图识别模型基于第一轮输入的选车和查询语句得到的候选意图集合为:选车,0.6314215;配置,0.4235135;口碑,0.2543614,配置口碑0.1027356
……
。显然,选车意图的置信度0.6314215还是低于选车意图的阈值,则对各个候选意图按照置信度进行降序排序,并设定迭代次数为3(即重新获取第二意图的累积次数最大为3)。
[0078]
接下来,基于排在首位的选车意图来重新获取查询语句的第二意图。将“选车+查询语句”输入到意图识别模型中,得到查询语句的候选意图集合为:选车,0.714215;配置,0.3835135;口碑,0.2643614
……
。可见,选车意图的置信度0.714215仍然低于选车意图的阈值,则继续基于排在第二位的配置意图来重新获取查询语句的第二意图。将“配置+查询语句”输入到意图识别模型中,得到查询语句的候选意图集合为:选车,0.6514215;配置,0.8235135;口碑,0.1543614
……
。此时,配置意图的置信度大于了配置意图的阈值0.8,基于此将配置意图作为查询语句的目标意图。
[0079]
当将第一意图和查询语句输入到训练好的意图识别模型中获得的第二意图的置信度小于第二意图的预设值时,通过上述的多次迭代可以引导意图识别模型输出更准确的结果,从而能够提高意图识别的准确度。
[0080]
根据本发明的一个实施例,当将第一意图和查询语句输入到训练好的意图识别模型中获得的查询语句的第二意图的置信度大于或等于第二意图的预设值时,或者是当将候选意图集合中的某个候选意图与查询语句输入到训练好的意图识别模型中获得的查询语句的第二意图的置信度大于或等于第二意图的预设值时(即,在重新获取查询语句的第二意图过程中得到的第二意图的置信度大于或等与第二意图的预设值时),还将查询语句存储至第二意图对应的语句存储器中,并判断第二意图对应的语句存储器中存储的查询语句的数量是否超过了阈值。若超过了阈值,基于语句存储器中存储的查询语句提取意图模板,并将提取到的意图模板作为第二意图的意图模板。同时,将提取出的意图模板和其对应的
第二意图添加至意图识别模板集中。
[0081]
可见,当基于意图识别模型识别出的同一意图所对应的查询语句超过阈值时,本发明自动基于该意图对应的所有查询语句提取意图模板,并将提取的意图模板和该意图添加至意图识别模板集合中,这样可以不断升级意图识别模板集的广泛度,从而可以提升意图识别的准确度和速度。
[0082]
图4示出了根据本发明另一个实施例的查询语句的意图识别方法400的流程图,该方法400始于步骤s410。在步骤s410中,基于用户输入的查询语句,通过意图识别模板集形成查询语句的第一意图。随后进入步骤s420,判断查询语句的第一意图的完成度是否大于或等于第一意图的预设值。若第一意图的完成度大于或等于第一意图的预设值,进入步骤s430,将第一意图作为查询语句的目标意图。若第一意图的完成度小于第一意图的预设值,进入步骤s440,基于第一意图和查询语句,通过意图识别模型形成查询语句的第二意图。随后,进入步骤s450,判断第二意图的置信度是否大于或等于第二意图的预设值,以及判断累积判断的次数是否超过了预定值。若第二意图的置信度小于第二意图的预设值且累积判断的次数未超过预定值,进入步骤s460,将查询语句基于意图识别模板形成的第一意图替换为第二意图,并进入步骤s440。若形成的第二意图的置信度大于或等于第二意图的预设值,进入步骤s470,将最终形成的第二意图作为查询语句的目标意图。若第二意图的置信度小于第二意图的预设值但累积判断的次数超过了预定值,也进入步骤s470,将基于第一意图和查询语句,通过意图识别模型形成的第二意图作为查询语句的目标意图。
[0083]
图5示出了根据本发明一个实施例的问答方法500的流程图,方法500适于在计算设备(例如图2所示的计算设备200)中执行。如图5所示,该方法500始于步骤s510。在步骤s510中,获取用户输入的查询语句。随后,进入步骤s520,根据用户输入的查询语句,按照上述所描述的查询语句的意图识别方法,获取查询语句的意图(即查询语句的目标意图)。在获取到查询语句的意图之后,进入步骤s530,根据查询语句的意图,获取查询语句的回复语句,并将回复语句返回给用户。
[0084]
其中,关于获取查询语句意图的具体方法已在基于图1至图4的描述中详细公开,在此不再赘述。
[0085]
根据本发明的查询语句的意图识别方法,将查询语句与意图识别模板集中的意图识别模板进行匹配,以获取查询语句的第一意图。若第一意图的完成度大于或等于第一意图的预设值,则将第一意图作为查询语句的目标意图。若第一意图的完成度小于第一意图的预设值,则将第一意图和查询语句输入到训练好的意图识别模型进行处理,以获取查询语句的第二意图,并将第二意图作为查询语句的目标意图。可见,本发明采用的是意图识别模板和意图识别模型相结合的意图识别方法。对于通用的查询语句,通过意图识别模板便可获得其意图,保证了识别速度。对于非通用的查询语句,利用意图识别模型进行识别时,输入的是意图识别模板输出的第一意图和查询语句,有效的利用了意图模板的识别结果,从而可使意图的识别结果更加准确。因此,本发明的查询语句的意图识别方法能够从整体上优化自然语言意图的识别效率和准确度。
[0086]
并且,当将第一意图和查询语句输入到训练好的意图识别模型中进行处理,得到的第二意图的置信度小于第二意图的预设值时,基于获取到的第二意图和查询语句重新来获取查询语句的第二意图,不断重复这一步骤,直至重新获取到的第二意图的置信度大于
或等于第二意图的预设值,或者是重复获取第二意图的累积次数达到预设值。通过这种多次迭代可以引导意图识别模型输出更准确的结果,从而能够进一步地提高意图识别的准确度。
[0087]
进一步地,当基于意图识别模型识别出的同一意图所对应的查询语句超过阈值时,本发明自动基于该意图对应的所有查询语句提取一个新的意图模板,并将提取出的意图模板和其对应的意图添加至意图识别模板集合中,这样可以不断升级意图识别模板集的广泛度,从而可以进一步地从整体上优化自然语言意图的识别效率和准确度。
[0088]
另外,本发明的意图识别模型采用的是bert和adaboost的串联模型,可以有效地提高用户意图识别的准确度。
[0089]
a8、如a1

a7中任意一项所述的方法,其中,意图识别模型基于下述方法训练得到:
[0090]
将训练集中的查询语句与所述查询语句的真实意图输入到预训练的意图识别模型中,得到所述查询语句的预测意图;
[0091]
基于所述真实意图与预测意图之间的损失值,更新所述意图识别模型的参数,直至损失值满足预定条件,训练结束,得到训练好的意图识别模型。
[0092]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd

rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0093]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文档加载方法。
[0094]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0095]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0096]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0097]
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求
书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0098]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0099]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0100]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0101]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0102]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0103]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1