一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

查询改写方法及装置与流程

2023-02-19 11:36:54 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种查询改写方法及装置。


背景技术:

2.随着互联网技术的发展与进步,人机对话服务正逐渐走进人们的工作与生活,并给人们带来极大的便利,人们与智能设备(如智能机器人、智能音箱或者其他智能电子产品)进行对话时,智能产品会生成sql结构化查询语句在数据库查询并向人们反馈对应的信息。在多轮对话场景中,由于查询项往往会进行指代、省略,同时可能会具有口头语冗余之类的噪声存在,对话系统的各模块处理起来会十分困难。而多轮对话中的查询项改写,就是将这类噪声查询项进行指代消歧,省略补全以及冗余删除,最终得到去噪的查询项,这样对话系统各模块处理起来会更加容易,可以更进一步提升对话系统的性能。
3.相关技术中,多轮对话中的查询项改写方案通常都是基于规则系统或基于生成式的改写模型方案,然而,基于规则系统的模型具有规则简单,维护和升级困难等缺点,很难根据大规模数据进行模型的升级优化和性能提升;基于生成式神经网络的改写模型容易生成不可控和错误的内容;基于文本编辑的神经网络模型受限于操作类别限制,不能很好扩展到查询项改写任务,且其具有的生成器同样具有生成式模型的问题。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种查询改写方法及装置,以解决相关技术中查询改写方案存在的系统难维护、难升级以及生成式模型的可控性不高的技术问题,改写得到的查询项,表达逻辑准确,能够更精确地查询用户所需的信息,提升用户体验。
6.根据本技术实施例的一个方面,提供了一种查询改写方法,包括:在多轮对话过程中,获取本轮对话的目标查询项;在所述目标查询项为待改写的查询项时,确定所述目标查询项中的待改写内容;确定所述待改写内容与上下文之间的依存关系,其中,所述上下文为所述多轮对话过程中与所述本轮对话关联的对话;依据所述依存关系对所述待改写内容进行改写。
7.根据本技术实施例的另一方面,还提供了一种查询改写装置,包括:获取模块,用于在多轮对话过程中,获取本轮对话的目标查询项;第一确定模块,用于在所述目标查询项为待改写的查询项时,确定所述目标查询项中的待改写内容;第二确定模块,用于确定所述待改写内容与上下文之间的依存关系,所述上下文为所述多轮对话过程中与所述本轮对话关联的对话;改写模块,用于依据所述依存关系对所述待改写内容进行改写。
8.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述的查询改写方法。
9.根据本技术实施例的另一方面,还提供了一种电子设备,包括:处理器和与所述处
理器连接的存储器,所述存储器用于为所述处理器提供处理以下处理步骤的指令:在多轮对话过程中,获取本轮对话的目标查询项;在所述目标查询项为待改写的查询项时,确定所述目标查询项中的待改写内容;确定所述待改写内容与上下文之间的依存关系,其中,所述上下文为所述多轮对话过程中与所述本轮对话关联的对话;依据所述依存关系对所述待改写内容进行改写。
10.在本技术实施例中,在多轮对话过程中获取本轮对话的目标查询项;在目标查询项为待改写的查询项时,确定目标查询项中的待改写内容;然后确定待改写内容与上下文之间的依存关系,其中,上下文为多轮对话过程中与本轮对话关联的对话;再依据依存关系对待改写内容进行改写。其中,通过引入基于文本编辑的用于多轮对话查询改写的目标神经网络模型,依据目标查询项与多轮对话中上下文间的依存关系对目标查询项进行改写,实现了指代消歧和省略补全,从而解决了相关技术中查询改写方案存在的系统难维护、难升级以及生成式模型的可控性不高的技术问题,同时,改写得到的查询项表达逻辑准确,能够更精确地查询用户所需的信息,提升用户体验。
附图说明
11.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1是根据本技术实施例1的一种计算机终端的硬件结构示意图;
13.图2是根据本技术实施例1的一种查询改写方法的流程示意图;
14.图3是根据本技术实施例1的一种神经网络模型的结构示意图;
15.图4是根据本技术实施例2的一种查询改写装置的结构示意图。
具体实施方式
16.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
17.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
18.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
19.多轮对话的查询改写:将多轮对话中的查询项根据多轮上下文context信息,进行指代消歧,省略补全,冗余删除,最终得到包含更加完善信息的查询项的任务。
20.文本编辑方法:将给定的一段文本序列,通过操作(增加、删除、保留之类的操作)预测,将序列按照对应操作进行编辑,得到编辑后的文本序列。
21.迭代改写:一次改写是指根据输入的context和查询项生成改写后的revised查询项(改写查询),然而一次改写存在补全不完整等问题,迭代改写就是反复迭代调用一次改写的算法,将上次生成的改写后的revised查询项,当做本次的查询项进行迭代生成更优化的revised查询项。
22.sigmoid函数:是神经网络输出层常用于两类判别的激活函数,其将一个实数映射到(0,1)的区间,可以用来做二分类。sigmoid在特征相差比较复杂或是相差不是特别大时效果比较好;但不适合用在神经网络的中间层,因为对于深层网络,sigmoid函数反向传播时,很容易出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。
23.softmax函数:又称归一化指数函数,其是二分类函数sigmoid在多分类上的推广,它能将一个含任意实数的k维向量z压缩到另一个k维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1,该函数多用于多分类问题之中。
24.实施例1
25.在人机对话过程中,智能产品会通过深度学习和自然语言处理技术,将获取的语言信息进行分类识别,生成sql结构化查询语句在数据库进行查询,并向人们反馈对应的信息,从而完成交互过程。然而,在多轮对话场景中,由于查询项往往会进行指代、省略,同时可能存在口头语等冗余,使得对话系统的各模块处理起来十分困难。多轮对话的查询改写,就是将这类噪声查询项进行指代消歧,省略补全以及冗余删除,最终得到去噪的查询项,使对话系统各模块更容易处理。
26.相关技术中的查询改写方案通常都是基于规则系统或是基于生成式的改写模型,然而,基于规则系统的模型具有规则简单,维护和升级困难等特点,很难根据大规模数据进行模型的升级优化和性能提升;基于生成式神经网络的改写模型容易生成不可控和错误的内容;基于文本编辑的神经网络模型受限于操作类别限制,不能很好地扩展到查询项改写任务,且其具有的生成器同样具有生成式模型的问题。
27.为解决上述问题,本技术实施例提供了一种查询改写方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
28.本技术实施例所提供的查询改写方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现查询改写方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同
的配置。
29.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
30.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的查询改写方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
31.传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
32.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
33.在上述运行环境下,本技术实施例提供的查询改写方法的具体流程如图2所示,该方法包括步骤s202-s208,其中:
34.步骤s202,在多轮对话过程中,获取本轮对话的目标查询项。
35.在本技术一些可选的实施例中,首先在多轮会话过程中获取本轮对话的目标查询项。通常,目标查询项由多个字组成,因此,可以获取目标查询项中的每个字对应的字向量;获取每个字在多轮对话中对应的位置向量;获取每个字在多轮对话中对应的段落向量,其中,每轮会话均对应一个段落;将字向量、位置向量以及段落向量输入目标神经网络模型中的自注意变换网络模型,得到每个字对应的第一目标向量。
36.其中,目标神经网络模型是本技术实施例提出的一种新的基于文本编辑的多轮对话查询改写模型,其可以通过多任务学习将目标查询项与多轮对话中上下文间的依存关系引入到模型中,使得模型可以更加自由地进行指代消歧和省略补全。图3示出了一种可选的目标神经网络模型的结构示意图,该模型可以分为三个部分,包括:输入层30,隐藏层32及输出层34,其中:
37.输入层30:由token embeddings(字嵌入)、position embeddings(位置嵌入)和segment embeddings(段落嵌入)三个嵌入层组成,其中,token embeddings用于将输入文本即目标查询项中的各个字转换成固定维度的向量,[cls]和[sep]是插入的句开头和结尾,为后面的分类任务和划分句子对服务,通常,每个字会被转换成768维的字向量表示;segment embeddings用于处理对输入句子对的分类任务,类似于判断两个文本语义是否相似,例如,当句子对中的两个句子被简单得拼接在一起后输入时,由于segment embeddings
层只有两种向量表示,前一个向量把0赋给第一个句子中的各个token,后一个向量把1赋给第二个句子中的各个token,最终得到各段落向量;position embeddings用于辅助识别输入的序列的顺序性,由于输入层能够处理最长512个token的输入序列,通过在各个位置上学习一个向量表示来将序列顺序的信息添加进来,position embeddings层实际上是一个大小为(512,768)的lookup表,表的第一行代表第一个序列的第一个位置,第二行代表序列的第二个位置,以此类推,从而得到各位置向量。
[0038]
隐藏层32,主要可分为:由多个transformer block组成的自注意变换网络,用于对输入的字向量、位置向量以及段落向量进行分析,得到各个字的目标向量(即图3中的h);双向长短期记忆网络模型(bilstm)和依存关系分析模型(deep biaffine attention)用于对得到的目标向量进行分析,得到目标字与上下文其他字之间的依存概率,依据目标字与其他字之间的依存关系确定补充信息。
[0039]
输出层34,包括:第一分类模型classifier,用于对目标查询项进行预测分类,将其划分为第一类型(negative)查询项或第二类型(positive)查询项,其中,第一类型查询项为存在噪声的待改写的查询项,第二类型查询项为无需改写的查询项;第二分类模型operation classifier,用于对目标查询项中的各个字进行预测分类,确定各个字的操作类型,用于指示对各个字进行删除(del)、增加(add)或保留(keep)操作。
[0040]
在本技术一些可选的实施例中,当确定目标查询项后,通过获取目标查询项中的每个字对应的字向量e
wi
、位置向量e
pi
以及段落向量e
si
,将其进行融合得到e
ri
,其中,将e
ri
输入目标神经网络模型中的自注意变换网络模型进行分析,得到每个字对应的第一目标向量。
[0041]
步骤s204,在目标查询项为待改写的查询项时,确定目标查询项中的待改写内容。
[0042]
在本技术一些可选的实施例中,在确定目标查询项中每个字对应的第一目标向量后,首先将每个字对应的第一目标向量输入目标神经网络模型中的第一分类模型进行分析,得到目标查询项的类型,其中,目标查询项的类型包括待改写的查询项和无需改写的查询项。
[0043]
具体地,目标神经网络模型中的第一分类模型通过sigmoid激活函数对每个字的第一目标向量进行计算,依据计算结果将目标查询项划分为第一类型查询项或第二类型查询项,其中,第一类型查询项为待改写的查询项,第二类型查询项为无需改写的查询项。
[0044]
其中,sigmoid函数是神经网络输出层常用于两类判别的激活函数,其将一个实数映射到(0,1)的区间,可以用来做二分类。sigmoid在特征相差比较复杂或是相差不是特别大时效果比较好;但不适合用在神经网络的中间层,因为对于深层网络,sigmoid函数反向传播时,很容易出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。
[0045]
具体地,计算p(y
pos
|c,x)=sigmoid(v
l t h0),其中,c代表目标查询项的上下文context,c=(w1,...,wc);x代表目标查询项中的字向量,x=(x1,...,xm);y则代表改写后的查询项,y=(y1,...,yn);h0则代表输入的第一目标向量。通常,如果p(y
pos
|c,x)的结果大于0.5,则将目标查询项分类为正样本(positive),即第二类型查询项,表明该目标查询项中不存在噪声,无需进行改写;反之,如果p(y
pos
|c,x)的结果小于0.5,则将目标查询项分类为负样本(negative),即第一类型查询项,表明该目标查询项中存在噪声,需要进行改写。
[0046]
在确定目标查询项为待改写的查询项时,可以将目标查询项中每个字对应的第一目标向量输入目标神经网络模型中的第二分类模型,确定每个字对应的操作类型,其中,操作类型包括以下至少之一:添加、删除和保留;然后将所有操作类型为添加的字确定为待改写内容。
[0047]
具体地,目标神经网络模型中的第二分类模型通过softmax激活函数对每个字的第一目标向量进行计算,依据计算结果确定每个字对应的操作类型。其中,softmax函数又称归一化指数函数,其是二分类函数sigmoid在多分类上的推广,它能将一个含任意实数的k维向量z压缩到另一个k维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1,该函数多用于多分类问题之中。
[0048]
具体地,计算其中,w0代表目标查询项中的字token,hi则代表第i个位置的字对应的第一目标向量。由于对目标向量预测的操作类型有删除、增加和保留共三种,则输出结果也包括删除操作对应的概率p1,增加操作对应的概率p2,保留操作对应的概率p3,其中,p1 p2 p3=1;将得到的三个概率进行比较,选择其中的最大值,从而确定每个字对应的操作类型。例如,三个概率中p1最大,则表示该字存在冗余,需要删除该字;若p2最大,则表示该字表达语义不清楚,需要为其增加补充内容;若p3最大,则表示该字语义清晰,可以保留该字。
[0049]
步骤s206,确定待改写内容与上下文之间的依存关系,其中,上下文为多轮对话过程中与本轮对话关联的对话。
[0050]
在本技术一些可选的实施例中,通过确定待改写内容与上下文之间的依存关系,以此得到目标查询项中的待改写内容所需要添加的待补充内容。具体地,可以遍历上下文中的每个字,确定待改写内容与上下文中的每个字之间的依存概率;将依存概率超过预设阈值的字作为与待改写内容存在依存关系的待补充内容。
[0051]
可选地,也可以确定待改写内容中的目标字,以目标字作为当前字,重复以下遍历过程,直至补充字为目标字:遍历上下文中的每个字,确定当前字与上下文中的每个字之间的依存概率,将依存概率最大的字作为补充字,并将补充字作为当前字重复遍历;其中,目标字为待改写内容中的任意一个字;最后,将得到的各个补充字作为待补充内容。
[0052]
以图3为例,目标查询项的文字内容为“w
1-w2,w
3-w
4-go-x
1-x2。”其中,预测目标元素“x
1”的操作类型为del,即需要删除;“x
2”的操作类型为keep,即需要保留;“go”的操作类型为add,即“go”为待改写内容,需要为其确定待补充内容,于是,将“go”作为当前字开始执行上述遍历过程:确定上下文中与“go”依存概率最大的字为w1时,将w1确定为补充字,然后以w1作为当前字执行遍历过程;确定上下文中与w1依存概率最大的字为w2时,将w2也确定为补充字,然后以w2作为当前字执行遍历过程;确定上下文中与w2依存概率最大的字为w3时,将w3也确定为补充字,然后以w3作为当前字执行遍历过程;确定上下文中与w3依存概率最大的字为“go”时,结束遍历;此时,得到的补充字包括w1、w2和w3,即待改写内容“go”对应的待补充内容为w1w2w3。
[0053]
在本技术一些可选的实施例中,在确定当前字与上下文中的每个字之间的依存概率时,需要先确定当前字对应的第一目标向量,并将当前字对应的第一目标向量输入目标神经网络模型中的双向长短期记忆网络模型,得到当前字对应的第二目标向量;将当前字对应的第二目标向量输入目标神经网络模型中的依存关系分析模型,得到当前字与上下文
中的每个字之间的依存概率。
[0054]
具体地,先通过双向长短期记忆网络模型(bilstm)对当前字对应的第一目标向量进行分析,得到(z1,z2,...,z
c m
)=bilstm(h1,h2,...,h
c m
),其中,(h1,h2,...,h
c m
)分别表示第一个位置的字至第c m个位置的字对应的第一目标向量,(z1,z2,...,z
c m
)分别表示第一个位置的字至第c m个位置的字经bilstm分析转换得到的第二目标向量,之后,再由依存关系分析模型(deep biaffine attention)对每个第二目标向量进行分析,过程如下:
[0055][0056][0057][0058][0059][0060]
其中,和分别表示第i个位置的字和第j个位置的字作为依存节点和作为父亲节点的向量表示,h
head
为各个位置上对应向量的拼接,si是第i个位置的字作为依存节点时其他位置作为其父亲节点所对应的打分,最终仍是依据多分类函数softmax计算得到即最终位置i的字到各个位置为父亲节点的依存概率。
[0061]
本技术实施例通过多任务学习设定将目标查询项与上下文之间的依存关系预测引入到目标神经网络模型中,减少了操作类别的稀疏性,使得模型可以更加自由的进行指代消歧和省略补全,同时去掉了基于生成式神经网络改写模型中的生成器部分,避免了其生成不可控内容的问题。
[0062]
步骤s208,依据依存关系对待改写内容进行改写。
[0063]
通过上述步骤已经确定了目标查询项中各个字对应的操作类型,并确定了与目标查询项中待改写内容存在依存关系的待补充内容,因此,在对目标查询项进行改写时,直接将得到的待补充内容添加到目标查询项中的待改写内容中;同时,将操作类型为删除的字从目标查询项中删除;将操作类型为保留的字在目标查询项中保留。
[0064]
在本技术一些可选的实施例中,为了更好地训练目标神经网络模型,还提出了一种基于迭代改写的训练算法,该算法使得神经网络模型具有了迭代改写的能力,其具体算法流程基本如下:
[0065]
算法输入为对话上下文c和改写后的数据r;
[0066]
算法输出为模型参数θ;
[0067]
对于每一个训练时期epoch(当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch,即一个epoch就是将所有训练样本训练一次的过程):
[0068]
对于训练的每一步:
[0069]
从上下文中采样一个小批量样本的数据,包括负例《c,x,y》和正例《c,y,y》;
[0070]
基于当前数据推理改写的预测y’;
[0071]
如果y’≠y,则将y’作为伪数据加入到输入的数据r和小批量样本中;
[0072]
否则,从r中采样其他改写后的数据加入到当前小批量样本;
[0073]
更新模型参数θ。
[0074]
该基于迭代改写的模型框架,使得得到的目标神经网络模型应用于本技术实施例中的查询改写方法时,可以通过迭代改写进一步提升查询项改写的质量。
[0075]
本技术实施例在多轮对话过程中,获取本轮对话的目标查询项;在目标查询项为待改写的查询项时,确定目标查询项中的待改写内容;然后确定待改写内容与上下文之间的依存关系,其中,上下文为多轮对话过程中与本轮对话关联的对话;再依据依存关系对待改写内容进行改写。其中,通过引入基于文本编辑的用于多轮对话查询改写的目标神经网络模型,依据目标查询项与多轮对话中上下文间的依存关系对目标查询项进行改写,实现了指代消歧和省略补全,还提出了基于迭代改写的模型框架,使得模型可以在应用时通过迭代改写进一步提升查询改写的质量,从而解决了相关技术中查询改写方案存在的系统难维护、难升级以及生成式模型的可控性不高的技术问题,由于改写得到的查询项表达逻辑准确,能够更精确地查询用户所需的信息,可以大幅提升用户体验。
[0076]
在本技术一些可选的实施例中,上述的查询改写方法可以应用于智能客服服务中。具体地,在用户与智能客服进行多轮对话的过程中,智能客服可以接收用户在交互界面中输入的文本信息,或是对用户的语音信息进行自然语言处理后得到对应的文本信息,然后依据该文本信息生成目标查询查询项。由于用户的口语化表达,目标查询项中可能存在指代、省略及冗余,智能客服的对话系统直接处理起来会比较困难,查询的结果也可能存在较大偏差,因此,智能客服可以将目标查询项输入到目标神经网络模型中进行分析,首先依据第一分类模型确认该目标查询项是否需要进行改写;在确认目标查询项需要进行改写时,再通过第二分类模型分析目标查询项中各个字所需要进行的操作类型,并依据多轮对话中目标查询项与上下文之间的依存关系,对每个字执行相应的操作。如某个字表达语义不完整,可以通过上下文为其补充缺失的内容,若某个字为口语化表达存在冗余,则可以删除该字,对表达语义清晰的字则进行保留。通过以上过程,完成了对目标查询项的指代消歧、省略补全及冗余删除,使改写得到的查询项表达逻辑更加准确,智能客服的对话系统处理起来更加简单,从而能够更精确地查询用户所需的信息,提升用户体验。该方法可应用于电信、金融等多个领域的智能客服服务中,完成与用户之间更加高效的人机对话。
[0077]
实施例2
[0078]
根据本技术实施例,还提供了一种用于实现上述查询改写方法的查询改写装置,该查询改写装置的结构如图4所示,该装置包括:获取模块40,第一确定模块42,第二确定模块44及改写模块46,其中:
[0079]
获取模块40,用于在多轮对话过程中,获取本轮对话的目标查询项。
[0080]
在本技术一些可选的实施例中,首先在多轮会话过程中获取本轮对话的目标查询项。通常,目标查询项由多个字组成,因此,可以获取目标查询项中的每个字对应的字向量;获取每个字在多轮对话中对应的位置向量;获取每个字在多轮对话中对应的段落向量,其中,每轮会话均对应一个段落;将字向量、位置向量以及段落向量输入目标神经网络模型中的自注意变换网络模型,得到每个字对应的第一目标向量。
[0081]
第一确定模块42,用于在目标查询项为待改写的查询项时,确定目标查询项中的待改写内容。
[0082]
在本技术一些可选的实施例中,在确定目标查询项中每个字对应的第一目标向量后,首先将每个字对应的第一目标向量输入目标神经网络模型中的第一分类模型,通过sigmoid激活函数对每个字的第一目标向量进行计算,依据计算结果确定目标查询项的类型,其中,目标查询项的类型包括待改写的查询项和无需改写的查询项。
[0083]
在确定目标查询项为待改写的查询项时,可以将目标查询项中每个字对应的第一目标向量输入目标神经网络模型中的第二分类模型,通过softmax激活函数对每个字的第一目标向量进行计算,依据计算结果确定每个字对应的操作类型,其中,操作类型包括添加、删除和保留;然后将所有操作类型为添加的字确定为待改写内容。
[0084]
第二确定模块44,用于确定待改写内容与上下文之间的依存关系,上下文为多轮对话过程中与本轮对话关联的对话。
[0085]
在本技术一些可选的实施例中,通过确定待改写内容与上下文之间的依存关系,以此得到目标查询项中的待改写内容所需要添加的待补充内容。具体地,确定待改写内容中的目标字,以目标字作为当前字,重复以下遍历过程,直至补充字为目标字:遍历上下文中的每个字,确定当前字与上下文中的每个字之间的依存概率,将依存概率最大的字作为补充字,并将补充字作为当前字重复遍历;其中,目标字为待改写内容中的任意一个字;最后,将得到的各个补充字作为待补充内容。
[0086]
其中,在确定当前字与上下文中的每个字之间的依存概率时,需要先确定当前字对应的第一目标向量,并将当前字对应的第一目标向量输入目标神经网络模型中的双向长短期记忆网络模型,得到当前字对应的第二目标向量;将当前字对应的第二目标向量输入目标神经网络模型中的依存关系分析模型,得到当前字与上下文中的每个字之间的依存概率。
[0087]
改写模块46,用于依据依存关系对待改写内容进行改写。
[0088]
在本技术一些可选的实施例中,在对目标查询项进行改写时,直接将得到的待补充内容添加到目标查询项中的待改写内容中;同时,将操作类型为删除的字从目标查询项中删除;将操作类型为保留的字在目标查询项中保留。
[0089]
需要说明的是,本技术实施例提供的查询改写装置中各模块与实施例1中的查询改写方法各步骤是一一对应的,具体实施的细节部分可以参考实施例1,在此不再过多赘述。
[0090]
实施例3
[0091]
根据本技术实施例,还提供了一种电子设备,该电子设备包括处理器和存储器,其中:存储器与处理器连接,用于为处理器提供处理以下处理步骤的指令:在多轮对话过程中,获取本轮对话的目标查询项;若目标查询项为待改写的查询项,确定目标查询项中的待改写内容;确定待改写内容与上下文之间的依存关系,其中,上下文为多轮对话过程中与本轮对话关联的对话;依据依存关系对待改写内容进行改写。
[0092]
在本技术一些可选的实施例中,上述电子设备的具体结构可以参考如图1所示的计算机终端。需要说明的是,图1所示的结构仅为示意,其并不对上述电子设备的结构造成限定,该电子设备的结构可以与图1所示的计算机终端相同,也可以包括比图1中所示更多或更少的组件,还可以具有与图1所示不同的配置。
[0093]
实施例4
[0094]
根据本技术实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的查询改写方法。
[0095]
可选地,在程序运行时控制非易失性存储介质所在设备执行实现以下步骤:在多轮对话过程中,获取本轮对话的目标查询项;若目标查询项为待改写的查询项,确定目标查询项中的待改写内容;确定待改写内容与上下文之间的依存关系,其中,上下文为多轮对话过程中与本轮对话关联的对话;依据依存关系对待改写内容进行改写。
[0096]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0097]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0098]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0099]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0100]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0101]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0102]
以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献