基于端到端框架的智能问答系统实现方法、设备及介质与流程

文档序号:26728706发布日期:2021-09-22 21:27阅读:232来源:国知局
基于端到端框架的智能问答系统实现方法、设备及介质与流程

1.本说明书实施例涉及智能问答领域,尤其涉及基于端到端框架的智能问答系统实现方法、设备及介质。


背景技术:

2.在智能问答领域,多轮问答系统实现架构主要分为两种:管道式架构和端到端架构。管道式架构各个模块相互分离,可解释性强,在遇到问题后可快速定位和修改,前多轮问答系统主要基于管道式架构进行实现。但由于管道式架构在实现上,各个模块之间相互分离,因此上游模块发生错误容易传到下游,影响用户体验。
3.端到端架构采用seq

to

seq框架,整体架构没有明确的模块划分,通过反向传播的方式进行整体优化,可以有效的弥补管道式架构的缺点。但端到端结构在涉及到槽位填充需要和用户进行多次交互的情况时,无法在中间环节针对特定槽值进行设计,相比于管道式架构,端到端架构对这种问题的处理显得非常的迟钝。


技术实现要素:

4.本说明书实施例提供基于端到端框架的智能问答系统实现方法、设备及介质,用以解决现有技术中的如下技术问题:
5.多轮问答系统中的端到端架构模型在涉及到槽位填充需要和用户进行多次交互时,灵活性弱、交互性差的问题。
6.为解决上述技术问题,本说明书实施例是这样实现的:
7.一方面,本说明书实施例提供了基于端到端框架的智能问答系统实现方法,包括:根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,以使得流程控制模块将所述第一输入信息和所述第一回复信息存储至上下文存储模块,构成历史回复信息;通过多头attention机制,使得所述多头attention机制的其中一个头的内容设置为槽位信息,基于所述历史回复信息和第二输入信息,得到所述槽位信息对应的意图,进行槽位填充;确定完成所述槽位填充,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息。
8.在一个实施例中,所述根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,具体包括:根据输入到encoder模块中的第一输入信息,使得所述encoder模块对所述第一输入信息进行编码得到第一编码信息;获取所述第一编码信息,对所述第一编码信息进行解码得到第一解码信息,从预先设定的回答数据集中获取与所述第一解码信息相匹配的第一回复信息。
9.在一个实施例中,在为所述第二输入信息匹配相应的第二回复信息之前,所述方法还包括:获取附加信息模块中的附加信息,所述附加信息至少包括谈话主题、谈话场景和用户画像。
10.在一个实施例中,在确定所述第二回复信息为最终回复信息之后,所述方法还包
括:响应于数据清理请求,定时删除指定的问答相关信息,所述问答相关信息包括所述历史回复信息、所述第二输入信息、所述第二回复信息以及所述附加信息。
11.在一个实施例中,所述为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息,具体包括:从预存在所述上下文存储模块中的所述预先设定的回答数据集中获取与所述第二输入信息相匹配的第二回复信息,确定所述第二回复信息为最终回复信息;或者基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息。
12.在一个实施例中,在所述获取附加信息模块中的附加信息之后,所述为所述第二输入信息匹配相应的第二回复信息之前,所述方法还包括:根据输入至所述decoder模块中的第二输入信息和所述附加信息,通过所述多头attention机制判断所述意图的任务类型。
13.在一个实施例中,所述从预存在所述上下文存储模块中的所述预先设定的回答数据集中获取与所述第二输入信息相匹配的第二回复信息,确定所述第二回复信息为最终回复信息;或者基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息,具体包括:若所述任务类型为具体任务,从所述上下文存储模块中获取与所述具体任务相匹配的信息作为所述第二回复信息,确定所述第二回复信息为最终回复信息;若所述任务类型为非具体任务,判断是否存在与所述非具体任务匹配的候选答案;若是,将所述候选答案作为所述第二回复信息,确定所述第二回复信息为最终回复信息;若否,基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息。
14.在一个实施例中,所述判断是否存在与所述非具体任务匹配的候选答案,具体包括:获取预先存储在所述上下文模块中的候选答案集,判断所述候选答案集中是否存在与所述非具体任务的匹配度高于预设阈值的所述候选答案。
15.另一方面,本说明书实施例提供了基于端到端框架的智能问答系统实现设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,以使得流程控制模块将所述第一输入信息和所述第一回复信息存储至上下文存储模块,构成历史回复信息;通过多头attention机制,使得所述多头attention机制的其中一个头的内容设置为槽位信息,基于所述历史回复信息和第二输入信息,得到所述槽位信息对应的意图,进行槽位填充;确定完成所述槽位填充,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息。
16.本说明书实施例采用上述至少一个技术方案能够达到以下有益效果:解决了端到端架构模型的智能问答系统在处理槽位填充需要和用户进行多次交互情况时灵活性差的问题。
附图说明
17.此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对申请的不当限定。在附图中:
18.图1为本技术实施例提供的基于端到端框架的智能问答系统实现方法的流程示意
图;
19.图2为本技术实施例提供的基于端到端框架的智能问答系统实现方法的架构示意图;
20.图3为本技术实施例提供的基于端到端框架的智能问答系统实现设备的结构示意图。
具体实施方式
21.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本技术技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.本技术实施例提供了基于端到端框架的智能问答系统实现方法、设备及介质,下面进行具体说明:
23.图1为本技术实施例提供的基于端到端框架的智能问答系统实现方法的流程示意图,如图1所示,本技术实施例提供的基于端到端框架的智能问答系统实现方法可以包括以下步骤:
24.s101:根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,以使得流程控制模块将所述第一输入信息和所述第一回复信息存储至上下文存储模块,构成历史回复信息。
25.在智能问答系统中,首先,由用户发起提问,将用户发起的问题作为第一输入信息输入到encoder模块中,decoder模块可以为用户提出的问题匹配一个相应的回复,这个回复可以是对用户提出的问题的回答,也可以是针对用户提出的问题,反问用户一个或多个相匹配的问题。比如用户a问1号机器人:“今天天气怎么样?”,1号机器人反问用户a:“请问哪个城市的天气?”。
26.在一些业务场景下,用户和机器人之间可能需要多轮问答,才能使得机器人提供给用户一个准确的回复,对于多轮问答过程中涉及到的输入信息和回复信息,流程控制模块对其进行控制,将多轮问答过程中涉及到的输入信息和回复信息存储至上下文存储模块中,在机器人提供给用户一个准确的回复之前的回复信息可称之为历史回复信息。
27.需要说明的是,上下文存储模块主要存储对话过程中的有用信息。包括每轮中用户的问题、机器人的回答、用户自定义的场景、用户的人物画像及本次对话的主题等信息。
28.进一步地,根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,具体包括:根据输入到encoder模块中的第一输入信息,使得所述encoder模块对所述第一输入信息进行编码得到第一编码信息;获取所述第一编码信息,对所述第一编码信息进行解码得到第一解码信息,从预先设定的回答数据集中获取与所述第一解码信息相匹配的第一回复信息。
29.s102:通过多头attention机制,使得所述多头attention机制的其中一个头的内容设置为槽位信息,基于所述历史回复信息和第二输入信息,得到所述槽位信息对应的意图,进行槽位填充。
30.encoder模块负责用户输入信息的编码。具体实现方式是采用transformer模型的
encoder层,在进行多头attention时可以采用八头的self

attention。在任务型对话系统中,当遇到槽值填充问题时,需要与用户进行多轮问答进行槽值填充。为了在端到端模型中解决这个问题,本方法将多头机制的其中一个头设置成槽位信息。在多轮问答中,除了考虑用户输入信息的同时,也要考虑上下文的信息,也就是历史回复信息。上下文存储模块提供历史回复信息给encoder模块,历史回复信息包括指的是用户和机器人之间前n轮的提问和回答。该输入也作为encoder模块的其中一个头。将所有信息编码后,输出给decoder模块。
31.多头attention机制是深度学习中的一种注意力机制,通过将输入信息attention后,可以获取每个词和其他词之间的关系向量,从而使得机器更好的理解输入向量。
32.槽位填充指的是为了让用户意图转化为用户明确的指令而补全信息的过程。在智能问答中,机器人可能会将第一输入信息识别为一个不完全信息,也就是第一输入信息不够充分和明确,在仅有第一输入信息的情况下机器人不能给到一个准确的回复,于是机器人输出第一回复信息,再基于用户的第二输入信息获得更多有用的信息,得到槽位信息对应的意图,进行槽位填充。
33.例如,用户b:“帮我订张机票,从杭州出发。”这里就应该填充了两个槽,把『机票』、『杭州』填入名为『交通工具』、『目的地』。那么在智能问答系统中,2号机器人理解到用户是想要买一张去往杭州的机票,但是由于缺少出发地点,还会进行一轮询问的对话。最后2号机器人根据用户b补充的信息,生成指令,调用接口购买从某地去往杭州的机票。
34.s103:确定完成所述槽位填充,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息。
35.进一步地,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息,具体包括:从预存在所述上下文存储模块中的所述预先设定的回答数据集中获取与所述第二输入信息相匹配的第二回复信息,确定所述第二回复信息为最终回复信息;或者基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息。
36.在本说明书的一些实施例中,所述为所述第二输入信息匹配相应的第二回复信息之前,所述方法还包括:根据输入至所述decoder模块中的第二输入信息和所述附加信息,通过所述多头attention机制判断所述意图的任务类型。
37.进一步地,从预存在所述上下文存储模块中的所述预先设定的回答数据集中获取与所述第二输入信息相匹配的第二回复信息,确定所述第二回复信息为最终回复信息;或者基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息,具体包括:若所述任务类型为具体任务,从所述上下文存储模块中获取与所述具体任务相匹配的信息作为所述第二回复信息,确定所述第二回复信息为最终回复信息;若所述任务类型为非具体任务,判断是否存在与所述非具体任务匹配的候选答案;若是,将所述候选答案作为所述第二回复信息,确定所述第二回复信息为最终回复信息;若否,基于所述第二输入信息,生成所述第二回复信息,确定所述第二回复信息为最终回复信息。
38.本发明改进了端到端智能对话框架,使其既适用于任务型对话系统,也适用于非任务型对话系统。任务型对话系统中的任务类型为具体任务,非任务型对话系统中的任务类型为非具体任务,非任务型对话系统也可以理解为闲聊型对话系统。
39.在本说明书的一些实施例中,所述判断是否存在与所述非具体任务匹配的候选答
案,具体包括:获取预先存储在所述上下文模块中的候选答案集,判断所述候选答案集中是否存在与所述非具体任务的匹配度高于预设阈值的所述候选答案。
40.在本说明书的一些实施例中,在为所述第二输入信息匹配相应的第二回复信息之前,所述方法还包括:获取附加信息模块中的附加信息,所述附加信息至少包括谈话主题、谈话场景和用户画像。
41.由此可见,decoder模块的输入信息有三个来源:第一为encoder模块输出的信息,也就是上文提到的第一编码信息;第二为附加信息模块的输出的谈话主题、谈话场景等附加信息;第三为上下文存储模块提供的可选回答信息。
42.在本说明书的一些实施例中,本方法还提出:在确定所述第二回复信息为最终回复信息之后,所述方法还包括:响应于数据清理请求,定时删除指定的问答相关信息,所述问答相关信息包括所述历史回复信息、所述第二输入信息、所述第二回复信息以及所述附加信息。
43.在本说明书的一些实施例中,图2为本技术实施例提供的基于端到端框架的智能问答系统实现方法的架构示意图,如图2所示,流程控制模块可以实现对整体流程的控制。
44.流程控制模块,控制了其余所有模块。对于encoder模块,流程控制模块决定其哪些信息需要存储到上下文存储模块,以及在多轮对话中控制encoder模块应该考虑前面几轮的信息。对于decoder模块,流程控制模块控制decoder模块输出的回复信息是否应该存入上下文存储模块。对于附加信息模块,流程控制模块决定附加信息模块中的哪些附加信息应该输入传到decoder模块中。对上下文存储模块,流程控制模块可以控制上下文存储模块定时删除历史回复信息以及是否在encoder模块中加入上下文存储模块中的信息、该考虑多少轮的历史回复信息等。由此可见,流程控制模块是用户对系统控制的入口。
45.综上,本技术提供的基于端到端框架的智能问答系统实现方法,能够解决端到端架构模型的智能问答系统在处理槽位填充需要和用户进行多次交互情况时灵活性差的问题。
46.图3为本技术实施例提供的基于端到端框架的智能问答系统实现设备的结构示意图,如图3所示,本技术实施例提供的基于端到端框架的智能问答系统实现设备,可以包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复信息,以使得流程控制模块将所述第一输入信息和所述第一回复信息存储至上下文存储模块,构成历史回复信息;通过多头attention机制,使得所述多头attention机制的其中一个头的内容设置为槽位信息,基于所述历史回复信息和第二输入信息,得到所述槽位信息对应的意图,进行槽位填充;确定完成所述槽位填充,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息。
47.处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
48.本技术的一些实施例提供的对应于图1的基于端到端框架的智能问答系统的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:根据输入到encoder模块中的第一输入信息,decoder模块为所述第一输入信息匹配相应的第一回复
信息,以使得流程控制模块将所述第一输入信息和所述第一回复信息存储至上下文存储模块,构成历史回复信息;通过多头attention机制,使得所述多头attention机制的其中一个头的内容设置为槽位信息,基于所述历史回复信息和第二输入信息,得到所述槽位信息对应的意图,进行槽位填充;确定完成所述槽位填充,为所述第二输入信息匹配相应的第二回复信息,确定所述第二回复信息为最终回复信息。
49.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
50.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1