基于循环神经网络的对话方法、系统及电子设备与流程

文档序号:19788178发布日期:2020-01-24 13:53阅读:162来源:国知局
基于循环神经网络的对话方法、系统及电子设备与流程

本说明书涉及数据处理技术领域,更具体地,涉及基于循环神经网络的对话方法、基于循环神经网络的对话系统以及电子设备。



背景技术:

随着人工智能的发展,人机对话系统得到快速发展。特别是近年来随着深度学习技术、自然语言处理技术和人工构造的知识库规模的提升,对话系统涌现出大量的算法。

基于现有的人机对话系统,不能准确地判断出用户的意图,进而不能有效地为用户提供对答服务,影响了用户体验。



技术实现要素:

本说明书的实施例提供利用神经网络的数据处理的新技术方案。

根据本说明书的第一方面,提供了一种基于循环神经网络的对话方法,所述循环神经网络包括输入节点、隐藏节点和输出节点,输入节点向隐藏节点传递数据,隐藏节点向输出节点传递数据,当前隐藏节点中的至少一个向下一轮隐藏节点中的至少一个传递数据,以及所述方法包括:向输入节点中的至少一个话题输入节点输入对话过程的总话题数据,其中,所述总话题数据是基于对话过程的话题而设置的;向输入节点中的至少一个对话输入节点输入对话过程中用户输入的用户对话数据;以及通过输出节点输出对话过程的答复数据。

根据本说明书的第二方面,提供了一种基于循环神经网络的对话系统,其中,所述循环神经网络包括输入节点、隐藏节点和输出节点,输入节点向隐藏节点传递数据,隐藏节点向输出节点传递数据,当前隐藏节点中的至少一个向下一轮隐藏节点中的至少一个传递数据,以及所述系统包括:第一输入模块,向输入节点中的至少一个话题输入节点输入对话过程的总话题数据,其中,所述总话题数据是基于对话过程的话题而设置的;第二输入模块,向输入节点中的至少一个对话输入节点输入对话过程中用户输入的用户对话数据;以及输出模块,通过输出节点输出对话过程的答复数据。

根据本说明书的第三方面,提供了一种电子设备,包括处理器和存储器,其中,所述存储器存储可执行指令,以及所述可执行指令当被处理器执行时实现根据任何一个实施例的基于循环神经网络的对话方法。

在不同的实施例中,可以从全局控制对话数据处理,使得对话处理的结果容易收敛。

通过以下参照附图对本说明书的示例性实施例的详细描述,实施例的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了各个实施例,并且连同其说明一起用于解释各个实施例的原理。

图1是可用于实现本说明书任意实施例的电子设备的硬件配置的框图。

图2是根据本说明书一个实施例的对话方法的示意性流程图。

图3示出了根据本说明书一个实施例的循环神经网络的结构示意图。

图4示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

图5示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

图6示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

图7为根据本说明书一个实施例的对话系统的示意性框图。

图8为根据本说明书的一个例子。

具体实施方式

现在将参照附图来详细描述各种示例性实施例。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对它们本身及其应用或使用的任何限制。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<硬件配置>

图1是可用于实现本说明书任意实施例的电子设备的硬件配置的框图。

在一个实施例中,电子设备1000为终端设备。终端设备可以是手机、平板电脑、笔记本电脑中任一种。

在一个例子中,电子设备1000可以如图1所示,包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。

其中,处理器1100例如可以是中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、串行接口、红外接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏、led显示屏触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。

尽管在图1中对电子设备1000均示出了多个装置,但是,本说明书任一实施例可以仅涉及其中的部分装置,例如,电子设备1000只涉及存储器1200和处理器1100。

应用于本说明书的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100执行本说明书实施例提供的利用神经网络的数据处理方法或者用于对话系统的利用神经网络的数据处理方法。

在上述描述中,技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

本说明书的各个实施例提供了基于循环神经网络的对话方案。通过这里的对话方案,可以自动与用户进行交互,提供用户希望的信息。例如,这里的对话方案可以用于人机对话、在线客服、商品推荐等。

<对话方法>

图2示出了根据本说明书一个实施例的对话方法的示意性流程图。所述方法是基于循环神经网络(recurrentneuralnetwork,rnn)的。该循环神经网络包括输入节点、隐藏节点和输出节点。输入节点向隐藏节点传递数据。隐藏节点向输出节点传递数据。当前隐藏节点中的至少一个向下一轮隐藏节点中的至少一个传递数据。

如图2所示,在步骤s202,向输入节点中的至少一个话题输入节点输入对话过程的总话题数据。所述总话题数据是基于对话过程的话题而设置的。

例如,可以通过如下方式来设置所述总话题数据:接收用户输入的信息,以及从所述用户输入的信息中提取所述总话题数据。可选地,还可以由用户设置所述总话题数据。例如,可以提供总话题数据的选择界面;以及响应于用户触发的总话题数据的选择操作,获取所述总话题数据。

在步骤s204,向输入节点中的至少一个对话输入节点输入对话过程中用户输入的用户对话数据。

用户对话数据可以是文字、语音、图像、视频中任一种。可以将该输入数据转化为向量,然后将该向量输入至对话输入节点。

在步骤s206,通过输出节点输出对话过程的答复数据。

在这个实施例中,通过设置并输入总话题数据,使得在对话过程中,循环神经网络更容易收敛到用户希望的话题,从而输出更符合用户期望的答复。这样,可以得到更加准确的输出,提高对话处理的有效性。

图3示出了上述实施例的循环神经网络的一个示例性结构图。

如图3所示,循环神经网络包括对话输入节点x(t-1)、x(t)、x(t+1)……、隐藏节点h(t-1)、h(t)、h(t+1)……和输出节点o(t-1)、o(t)、o(t+1)……。

在对话过程中,用户的对话被输入到对话输入节点x(t-1)、x(t)、x(t+1)……。这里,(t-1)表示前一轮对话,(t)表示当前对话,(t+1)表示下一轮对话。对话输入节点x(t-1)、x(t)、x(t+1)……向隐藏节点h(t-1)、h(t)、h(t+1)……传递数据的系数矩阵由u表示。隐藏节点h(t-1)、h(t)、h(t+1)……向输出节点o(t-1)、o(t)、o(t+1)……传递数据的系数矩阵由p表示。在循环神经网络中,每一轮的隐藏节点还向下一轮隐藏节点传递数据,传递数据的系数矩阵由w表示。

可以基于输出节点o(t-1)、o(t)、o(t+1)……的数据产生每一轮对话的答复数据,输出给用户。

在这里,还设置了话题输入节点zconv。话题输入节点zconv通过系数矩阵q向隐藏节点h(t-1)、h(t)、h(t+1)……传递数据。话题输入节点zconv相对于对话输入节点的数据来说,是相对固定的。换句话说,对话输入节点x(t-1)、x(t)、x(t+1)……的输入数据可以是随着每轮对话而变化的。然而,话题输入节点zconv可以是在对于若干轮对话过程中不变的。通常,可以在一个主题的整个对话过程中,将话题输入节点zconv设置为固定的数据。

利用相对固定的话题输入节点zconv,可以使得与用户的对话更快速地达到用户期望的话题。

图4示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

在图4中,将当前输出节点o(t-1)、o(t)、o(t+1)……作为下一轮隐藏节点中的至少一个隐藏节点h(t-1)、h(t)、h(t+1)……的输入节点。当前输出节点o(t-1)、o(t)、o(t+1)……向下一轮隐藏节点中的至少一个隐藏节点h(t-1)、h(t)、h(t+1)……传递数据的系统矩阵为s。

这样,可以使得各轮对话的结果更加连续。此外,也可以使得对话的话题更加集中。

图5示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

在图5中所述循环神经网络包括还包括子神经网络。子神经网络包括子输入节点、子隐藏节点z(t-1)、z(t)、z(t+1)……和子输出节点,子输入节点向子隐藏节点传递数据,子隐藏节点向子输出节点传递数据。这里,将所述隐藏节点中的至少一个隐藏节点h(t-1)、h(t)、h(t+1)……作为该子神经网络的子输入节点;以及将所述子输出节点作为所述循环神经网络的输出节点o(t-1)、o(t)、o(t+1)……。至少一个隐藏节点h(t-1)、h(t)、h(t+1)……向子隐藏节点z(t-1)、z(t)、z(t+1)……传递数据的系数矩阵是v,子隐藏节点z(t-1)、z(t)、z(t+1)……向输出节点o(t-1)、o(t)、o(t+1)……传递数据的系数矩阵是r。

在这里,在循环神经网络的输出部分,嵌套了一层子神经网络。通过这种方式,可以更容易的控制循环神经网络的输出结果,得到更加符合用户预期的输出结果语句。

图6示出了根据本说明书另一个实施例的循环神经网络的结构示意图。

在图6中,所述隐藏节点h(t-1)、h(t)、h(t+1)……中的至少一个隐藏节点和所述子隐藏节点z(t-1)、z(t)、z(t+1)……共同向所述输出节点传递数据o(t-1)、o(t)、o(t+1)……。

由于隐藏节点和子隐藏节点共同向输出节点传递数据,因此,可以兼顾神经网络的处理效率和数据输出结果的质量。

上面针对图3-6的描述是采用递进的方式的,各个附图中之间相同/相似的部分互相参见即可,针对每个附图所说明的都是与其他附图的不同之处。

<对话系统>

图7为根据本说明书一个实施例的对话系统的示意性框图。

对话系统300是基于循环神经网络302的。循环神经网络302包括输入节点、隐藏节点和输出节点,输入节点向隐藏节点传递数据,隐藏节点向输出节点传递数据,当前隐藏节点中的至少一个向下一轮隐藏节点中的至少一个传递数据。对话系统300包括第一输入模块304、第二输入模块306和输出模块308。

第一输入模块304向输入节点中的至少一个话题输入节点输入对话过程的总话题数据,其中,所述总话题数据是基于对话过程的话题而设置的。

第二输入模块306向输入节点中的至少一个对话输入节点输入对话过程中用户输入的用户对话数据。

输出模块308通过输出节点输出对话过程的答复数据。

与上面对话方法中相同/相似的部分被省略并且可以参见上面的对话方法。

<电子设备>

在各个实施例中,还可以提供电子设备,例如,如图1所示的电子设备。该电子设备可以包括处理器和存储器,其中,所述存储器存储可执行指令,以及所述可执行指令当被处理器执行时实现根据各个实施例的基于循环神经网络的对话方法。

<例子>

图8为根据本说明书的一个例子。

在图8的例子中,可以使用对话系统与用户进行对话。

在图8中,用户终端432、434、436可以通过有线或无线的方式连接到网络410。服务器422、424被设置中网络中。用户终端432、434、436通过网络410与服务器422、424通信。

用户终端432、434、436可以是智能手机、笔记本电脑、台式电脑等。

对话系统可以被设置中服务器422、424中的一台服务器中,也可以以分布式的方式被部署在服务器422、424中。

用户通过用户终端432、434、436与服务器422、424中的对话系统进行对话。用户可以在进行对话之前选择对话的总话题。可选地,对话系统也可以基于用户向网络传递的数据确定与用户进行对话的总话题。用户向网络传递的数据可以是用户所浏览的网址信息等。

在每一轮对话中,用户通过用户终端432、434、436输入的问询信息被转换成适合神经网络系统的数据ask(t-1)、ask(t)、ask(t+1)……。如前面所述,经过循环神经网络的处理,产生答复数据answer(t-1)、answer(t)、answer(t+1)……。答复数据answer(t-1)、answer(t)、answer(t+1)……通过网络被发送到用户终端432、434、436,从而用户得到期望的答复。

尽管在这里,对话系统被设置在网络上的服务器中,但是,对话系统也可以是被布置在本地设备中的,例如,被布置在用户的智能手机、笔记本电脑、台式电脑中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例中的说明的都是与其他实施例的不同之处。尤其,对于装置实施例和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

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