CN110222155A - 知识选择策略的对话生成方法、装置以及终端 - Google Patents

知识选择策略的对话生成方法、装置以及终端 Download PDF

Info

Publication number
CN110222155A
CN110222155A CN201910515048.9A CN201910515048A CN110222155A CN 110222155 A CN110222155 A CN 110222155A CN 201910515048 A CN201910515048 A CN 201910515048A CN 110222155 A CN110222155 A CN 110222155A
Authority
CN
China
Prior art keywords
vector
knowledge
word
probability distribution
indicates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910515048.9A
Other languages
English (en)
Other versions
CN110222155B (zh
Inventor
鲍思琪
何煌
王凡
吴华
何径舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910515048.9A priority Critical patent/CN110222155B/zh
Publication of CN110222155A publication Critical patent/CN110222155A/zh
Application granted granted Critical
Publication of CN110222155B publication Critical patent/CN110222155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施例提出一种知识选择策略的对话生成方法、装置以及终端,方法包括:获取基于当前回复语句的上一句话的向量表示和基于上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于上一句话的历史对话构成基于当前回复语句的上文;基于当前回复语句的上一句话的向量表示和多条知识的向量表示进行相似度计算,得到第一概率分布;基于上一句话的历史对话的向量表示和多条知识的向量表示进行相似度计算,得到第二概率分布;将第一概率分布和第二概率分布求和,得到知识选择的概率分布;从知识选择的概率分布中选择最大概率值,并根据最大概率值对应的知识,生成当前回复语句。能够产生有信息量且连贯的回复。

Description

知识选择策略的对话生成方法、装置以及终端
技术领域
本发明涉及对话策略技术领域,尤其涉及一种知识选择策略的对话方法、装置以及终端。
背景技术
现阶段的对话系统可以模仿人与人的交谈,产生流畅的对话。但由于忽视了人与人对话的主要因素:交换信息和加强社交。对话系统经常产生通用的、无意义的回复,像“哈哈哈”、“么么哒”,“我不知道啊”等等。最近,一些新提出的知识聊天对话系统,可以在回复中融合知识。但是,由于在对话中,缺乏有效的知识选择策略,无法有效利用已有的背景知识进行回复,所以还是会经常产生一些冗余的、不连贯的回复。
发明内容
本发明实施例提供一种知识选择策略的对话方法、装置以及终端,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种知识选择策略的对话生成方法,包括:
获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于所述上一句话的历史对话构成基于当前回复语句的上文;
基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布;
基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布;
将所述第一概率分布和所述第二概率分布求和,得到知识选择的概率分布;
从所述知识选择的概率分布中选择最大概率值,并根据所述最大概率值对应的知识,生成所述当前回复语句。
在一种实施方式中,基于当前回复语句的上一句话ut-1和基于所述上一句话的历史对话ct-1构成基于当前回复语句的上文ct,当前回复语句为ut,获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,包括:
基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及多条知识Z分别通过词向量层,生成基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量;
将基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于所述上一句话的历史对话的向量表示cG t-1,以及所述多条知识的向量表示ZG
在一种实施方式中,基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布,包括:
基于当前回复语句的上一句话的向量表示uG t-1和所述多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
在一种实施方式中,基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布,包括:
基于所述上一句话的历史对话的向量表示cGt-1和所述多条知识的向量表示ZG经过所述多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
在一种实施方式中,还包括:
基于当前回复语句的上文以及多条回复语句构成多轮对话;
根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到所述多轮对话的综合分数R(τ);
利用策略梯度算法对所述循环神经网络模型和所述多层感知器网络模型中的全部网络参数进行更新,θ是所述全部网络参数,b为所述多轮对话的平均知识选择策略分数,Zi是被选择的知识。
第二方面,本发明实施例提供了一种知识选择策略的对话装置,包括:
向量表示获取模块,用于获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于所述上一句话的历史对话构成基于当前回复语句的上文;
第一概率分布计算模块,用于基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布;
第二概率分布计算模块,用于基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布;
知识选择的概率分布计算模块,用于将所述第一概率分布和所述第二概率分布求和,得到知识选择的概率分布;
当前回复语句计算模块,用于从所述知识选择的概率分布中选择最大概率值,并根据所述最大概率值对应的知识,生成所述当前回复语句。
在一种实施方式中,所述向量表示获取模块包括:
词向量生成单元,用于基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及多条知识Z分别通过词向量层,生成基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量;
向量表示生成单元,用于将基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于所述上一句话的历史对话的向量表示cG t-1,以及所述多条知识的向量表示ZG
在一种实施方式中,所述第一概率分布计算模块包括:
第一概率分布计算单元,用于基于当前回复语句的上一句话的向量表示uG t-1和所述多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
在一种实施方式中,所述第二概率分布计算模块包括:
第二概率分布计算单元,用于基于所述上一句话的历史对话的向量表示cG t-1和所述多条知识的向量表示ZG经过所述多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
在一种实施方式中,还包括:
多轮对话生成模块,用于基于当前回复语句的上文以及多条回复语句构成多轮对话;
综合分数计算模块,用于根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到所述多轮对话的综合分数R(τ);
网络参数更新模块,用于利用策略梯度算法对所述循环神经网络模型和所述多层感知器网络模型中的全部网络参数进行更新,θ是所述全部网络参数,b为所述多轮对话的平均知识选择策略分数,Zi是被选择的知识。
第三方面,本发明实施例提供了一种知识选择策略的对话终端,所述知识选择策略的对话终端的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述知识选择策略的对话终端的结构中包括处理器和存储器,所述存储器用于存储支持所述知识选择策略的对话终端执行上述交互方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述知识选择策略的对话终端还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储交互终端所用的计算机软件指令,其包括用于执行上述知识选择策略的对话方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:提出的一种知识选择策略的对话生成方法,对于当前回复语句的上一句话中对某一条知识的选择概率越小越好,对于历史对话中对某一条知识的选择概率越大越好。所以,基于当前回复语句的上一句话的向量表示和多条知识的向量表示进行相似度计算,得到第一概率分布。基于上一句话的历史对话的向量表示和多条知识的向量表示进行相似度计算,得到第二概率分布。将第一概率分布和第二概率分布求和,得到知识选择的概率分布。从知识选择的概率分布中选择最大概率值,并根据最大概率值对应的知识,生成当前回复语句。当前回复语句中与上一句话中的信息重复率较小,而能够覆盖历史对话中的信息量。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的一种知识选择策略的对话生成方法的流程图。
图2示出根据本发明实施例的另一种知识选择策略的对话生成方法的流程图。
图3示出根据本发明实施例的基于强化学习的知识对话系统框架示意图。
图4示出根据本发明实施例的对话生成的网络架构示意图。
图5示出根据本发明实施例的可视化知识选择策略。
图6示出根据本发明实施例的另一种知识选择策略的对话生成装置的结构框图。
图7示出根据本发明实施例的另一种知识选择策略的对话生成装置的结构框图。
图8示出根据本发明实施例的知识选择策略的对话生成终端的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
实施例一
在一种具体实施方式中,如图1所示,提供了一种知识选择策略的对话生成方法,包括:
步骤S10:获取基于当前回复语句的上一句话的向量表示和基于上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于上一句话的历史对话构成基于当前回复语句的上文。
在一种示例中,在一段对话中,当前回复语句是指根据上文需要回复的语句。上一句话是指当前回复语句的前一句。上一句话的历史对话是指除了当前回复语句以及上一句话的前文对话。例如,“A:今天端午节,你吃了什么?B:我吃了粽子。A:什么馅儿的粽子?B:因为我是北方人,所以我吃了蜜枣粽子。你是南方人,是不是吃了肉粽?A:还未生成(是的,我吃了腊肉粽子。)”。其中,A:(是的,我吃了腊肉粽子。)可以看成当前回复语句,上一句话可以是“B:因为我是北方人,所以我吃了蜜枣粽子。你是南方人,是不是吃了肉粽?”。基于上一句话的历史对话可以包括:“A:今天端午节,你吃了什么?B:我吃了粽子。A:什么馅儿的粽子?”。基于当前回复语句的上文可以包括:“A:今天端午节,你吃了什么?B:我吃了粽子。A:什么馅儿的粽子?B:因为我是北方人,所以我吃了蜜枣粽子。你是南方人,是不是吃了肉粽?”。多条知识是指AB双方各自具有的背景知识,例如端午节的日期,端午节当天的天气,A作为北方人在过端午节时候的习俗,B作为南方人在过端午节时候的习俗等。
步骤S20:基于当前回复语句的上一句话的向量表示和多条知识的向量表示进行相似度计算,得到第一概率分布。
步骤S30:基于上一句话的历史对话的向量表示和多条知识的向量表示进行相似度计算,得到第二概率分布。
在一种示例中,可以将全部对话和两端各自存储的多条知识都输入至向量编码层中,生成每条对话对应的向量表示,以及知识的向量表示。当前回复语句的上一句话所在的一端(如前例中的B端)中,将当前回复语句的上一句话的向量表示和两端中生成的多条知识的向量表示分别进行相似度计算,计算结果形成第一概率分布。第一概率分布表示当前回复语句的上一句话中对知识的选择概率分布。基于上一句话的历史对话的向量表示和两端中生成的多条知识的向量表示进行相似度计算,得到第二概率分布。第二概率分布表示了历史对话中对知识的选择概率分布。
需要指出的是,相似度计算的方法可以是将生成的向量表示通过多层感知神经网络(MLP,Multi-Layer Percepton),得到先验概率分布。当然,相似度计算还可以是其它方法,都在本实施方式的保护范围内。
步骤S40:将第一概率分布和第二概率分布求和,得到知识选择的概率分布。
步骤S50:从知识选择的概率分布中选择最大概率值,并根据最大概率值对应的知识,生成当前回复语句。
在一种示例中,为了避免生成的回复语句中的信息和上一句话中的信息重复,同时,回复语句中的信息又与历史对话中的信息相关联,避免谈话偏离主题。在对当前回复语句中知识的选择策略就是:当前回复语句的上一句话中对某一条知识的选择概率越小越好,历史对话中对某一条知识的选择概率越大越好。所以,从知识选择的概率分布中选择最大概率值,并根据最大概率值对应的知识,生成当前回复语句。
在一种实施方式中,如图2所示,基于当前回复语句的上一句话ut-1和基于所述上一句话的历史对话ct-1构成基于当前回复语句的上文ct,当前回复语句为ut,步骤S10包括:
步骤S101:基于回复语句的上一句话ut-1、基于上一句话的历史对话ct-1以及多条知识Z分别通过词向量层,生成基于回复语句的上一句话的向量、基于上一句话的历史对话的向量以及多条知识的向量;
步骤S102:将基于当前回复语句的上一句话的向量、基于上一句话的历史对话的向量以及多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于上一句话的历史对话的向量表示cG t-1,以及多条知识的向量表示ZG
在一种示例中,循环神经网络模型可以是门控单元网络编码器(GRU,GatedRecurrent Unit)等模型。
在一种实施方式中,如图2所示,步骤S20:包括:
步骤S201:基于当前回复语句的上一句话的向量表示uG t-1和多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
在一种实施方式中,步骤S30,包括:
步骤S301:基于上一句话的历史对话的向量表示cG t-1和多条知识的向量表示ZG经过多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
在一种实施方式中,如图2所示,还包括:
步骤S60:基于当前回复语句的上文以及多条回复语句构成多轮对话;
步骤S70:根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到多轮对话的综合分数R(τ);
步骤S80:利用策略梯度算法对循环神经网络模型和多层感知器网络模型中的全部网络参数进行更新,θ是全部网络参数,b为多轮对话的平均知识选择策略分数,zi是被选择的知识。
在一种示例中,每轮对话的信息量分数可以是通过统计生成回复语句中覆盖的背景知识中的关键词与回复语句的比值。每轮对话的连贯性分数可以是回复语句与上文ct之间的连贯性分数。
实施例二
在一种对应于实施例一的具体方法中,如图3所示,提出基于强化学习的知识对话系统。该系统包括对话生成、知识选择策略评估以及知识选择策略进化三部分。以两个对话机器人为例进行说明。两个对话机器人分别为第一对话生成端(A)和第二对话生成端(B)。两端在已经部署的知识选择策略下,分别根据各自的背景知识,产生合适的回复。然后,将生成的多轮对话和背景知识发送至评估端。评估端从背景知识的信息量和对话连贯性来对产生的多轮对话进行评估,并给出综合分数。最后,将综合分数作为强化学习的指导,指导知识选择策略的进化。
首先,进行对话生成。如图4所示,对话生成的具体网络架构。根据已有的对话上文ct和背景知识Z,对话策略会选择一条合适的知识zi进行回复ut的生成。值得注意的是,对话上文ct=contat(u1,u2,...,ut-1)被拆分为两部分基于当前回复语句的上一句话ut-1和基于所述上一句话的历史对话ct-1。原因是:考虑到与上文的连贯性,第t轮回复用到的知识,应该与对方说的上一句话ut-1在语义上相关。为了避免重复,第t轮回复用到的知识,应该与之前的对话历史ct-1尽量不同。基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及背景知识Z,在经过词向量层(Embedding Layer)和门控单元网络编码器(GRU,Gated Recurrent Unit)后,可以得到基于当前回复语句的上一句话的向量表示uG t-1、基于上一句话的历史对话的向量表示cG t-1,以及多条知识的向量表示ZG,每条知识的向量表示为zi G。其中,如图4所示,GRU包括三个编码器,背景知识编码器(knowledge Encoder)、上一句话编码器(Utterance Encoder)以及历史对话编码器(Context Encoder)。基于当前回复语句的上一句话ut-1和每条知识的向量表示zi G通过MLP注意力模型(MLP-ATT)得到第一概率分布。基于上一句话的历史对话ct-1和每条知识的向量表示zi G通过MLP注意力模型(MLP-ATT)得到第二概率分布。将第一概率分布和第二概率分布求和,得到知识选择的概率分布。根据知识选择的概率分布(通常取概率最大值)采样(Sampling)得到一条知识zi~p(Z|ct),zi送到译码器(Decoder),生成当前回复语句(Response ut)。该网络的参数由监督学习预训练,与知识选择相关的网络参数,则会基于强化学习继续进化。
然后,从信息量和连贯性对多轮对话进行知识选择策略评估。两方面的评估指标的打分作为整个多轮对话τ的综合打分R(τ)。最后,知识选择策略进化。在强化学习框架下,知识对话系统的目标是最大化综合打分:max J(θ)=Eτ~`P(τ;θ)R(τ)。其中,θ是网络参数,τ~p(τ;θ)是在已部署的对话策略下生成的多轮对话,R(τ)是策略评估给出的综合打分。以上目标函数的梯度是多次采样的均值。考虑到如果使用强化学习对Decoder参数进行更新,可能会不利于生成回复的流畅度。因此,集中在知识选择策略上,梯度更新为:以上公式的物理含义为,那些带来较高对话打分的知识选择策略会被强化,而那些带来较低对话打分的知识选择策略会被抑制。
在公开数据集上进行了对话实验,且与以下的最优方法进行了对比:Mem-Net(memory network,记忆网络)是经典的知识对话网络,它把文本知识存放在存储器中,辅助产生有信息量的回复。KG—Net(knowledge grounded network,基础知识网络)在训练中利用了后验知识分布,在对话上取得了最优的效果。RL-DG(reinforcement learning fordialogue generation,对话生成的强化学习网络)是基于强化学习的多轮对话方法。使用人工评估,与各个方法进行了对比,试验结果如表1所示,可见本实施方式提出的方法显著优于其它方法。
表1(粗体表示最优结果,win是赢,表示本方法相对表中其它方法效果更好,Tie表示平手)
如图5所示,多轮对话中知识选择策略的可视化。上面的部分是本实施例提供的方法,下面的部分是KG-Net方法。12轮对话以竖线分割。横轴:前12个生成对话里的背景知识利用。纵轴:每条回复中的知识选择概率。图中可见,本实施例提供的方法得到的对话中每一条对话均覆盖了知识。而KG-Net中,由于缺乏有效的多轮信息利用控制,容易重复的利用知识(圆圈圈出)。
实施例三
如图6所示,本发明实施例提供了一种知识选择策略的对话装置,包括:
向量表示获取模块10,用于获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于所述上一句话的历史对话构成基于当前回复语句的上文;
第一概率分布计算模块20,用于基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布;
第二概率分布计算模块30,用于基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布;
知识选择的概率分布计算模块40,用于将所述第一概率分布和所述第二概率分布求和,得到知识选择的概率分布;
当前回复语句计算模块50,用于从所述知识选择的概率分布中选择最大概率值,并根据所述最大概率值对应的知识,生成所述当前回复语句。
在一种实施方式中,如图7所示,所述向量表示获取模块10包括:
词向量生成单元101,用于基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及所述多条知识Z分别通过词向量层,生成基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量;
向量表示生成单元102,用于将基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于所述上一句话的历史对话的向量表示cG t-1,以及所述多条知识的向量表示ZG
在一种实施方式中,如图7所示,所述第一概率分布计算模块20包括:
第一概率分布计算单元201,用于基于当前回复语句的上一句话的向量表示uG t-1和所述多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
在一种实施方式中,如图7所示,所述第二概率分布计算模块30包括:
第二概率分布计算单元301,用于基于所述上一句话的历史对话的向量表示cG t-1和所述多条知识的向量表示ZG经过所述多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
在一种实施方式中,如图7所示,还包括:
多轮对话生成模块60,用于基于当前回复语句的上文以及多条回复语句构成多轮对话;
综合分数计算模块70,用于根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到所述多轮对话的综合分数R(τ);
网络参数更新模块80,用于利用策略梯度算法对所述循环神经网络模型和所述多层感知器网络模型中的全部网络参数进行更新,θ是所述全部网络参数,b为所述多轮对话的平均知识选择策略分数,zi是被选择的知识。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
实施例四
图8示出根据本发明实施例的知识选择策略的对话终端的结构框图。如图8所示,该终端包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的知识选择策略的对话方法。所述存储器910和处理器920的数量可以为一个或多个。
该终端还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandardArchitecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种知识选择策略的对话生成方法,其特征在于,包括:
获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于所述上一句话的历史对话构成基于当前回复语句的上文;
基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布;
基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布;
将所述第一概率分布和所述第二概率分布求和,得到知识选择的概率分布;
从所述知识选择的概率分布中选择最大概率值,并根据所述最大概率值对应的知识,生成所述当前回复语句。
2.根据权利要求1所述的方法,其特征在于,基于当前回复语句的上一句话ut-1和基于所述上一句话的历史对话ct-1构成基于当前回复语句的上文ct,当前回复语句为ut,获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,包括:
基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及多条知识Z分别通过词向量层,生成基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量;
将基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于所述上一句话的历史对话的向量表示cG t-1,以及所述多条知识的向量表示Z
3.根据权利要求2所述的方法,其特征在于,基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布,包括:
基于当前回复语句的上一句话的向量表示uG t-1和所述多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
4.根据权利要求3所述的方法,其特征在于,基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布,包括:
基于所述上一句话的历史对话的向量表示cG t-1和所述多条知识的向量表示ZG经过所述多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
5.根据权利要求2至4任一项所述的方法,其特征在于,还包括:
基于当前回复语句的上文以及多条回复语句构成多轮对话;
根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到所述多轮对话的综合分数R(τ);
利用策略梯度算法对所述循环神经网络模型和所述多层感知器网络模型中的全部网络参数进行更新,θ是所述全部网络参数,b为所述多轮对话的平均知识选择策略分数,zi是被选择的知识。
6.一种知识选择策略的对话装置,其特征在于,包括:
向量表示获取模块,用于获取基于当前回复语句的上一句话的向量表示和基于所述上一句话的历史对话的向量表示,以及多条知识的向量表示,基于当前回复语句的上一句话和基于所述上一句话的历史对话构成基于当前回复语句的上文;
第一概率分布计算模块,用于基于当前回复语句的上一句话的向量表示和所述多条知识的向量表示进行相似度计算,得到第一概率分布;
第二概率分布计算模块,用于基于所述上一句话的历史对话的向量表示和所述多条知识的向量表示进行相似度计算,得到第二概率分布;
知识选择的概率分布计算模块,用于将所述第一概率分布和所述第二概率分布求和,得到知识选择的概率分布;
当前回复语句计算模块,用于从所述知识选择的概率分布中选择最大概率值,并根据所述最大概率值对应的知识,生成所述当前回复语句。
7.根据权利要求6所述的装置,其特征在于,所述向量表示获取模块包括:
词向量生成单元,用于基于当前回复语句的上一句话ut-1、基于所述上一句话的历史对话ct-1以及多条知识Z分别通过词向量层,生成基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量;
向量表示生成单元,用于将基于当前回复语句的上一句话的向量、基于所述上一句话的历史对话的向量以及所述多条知识的向量分别通过循环神经网络模型,生成基于当前回复语句的上一句话的向量表示uG t-1、基于所述上一句话的历史对话的向量表示cG t-1,以及所述多条知识的向量表示ZG
8.根据权利要求7所述的装置,其特征在于,所述第一概率分布计算模块包括:
第一概率分布计算单元,用于基于当前回复语句的上一句话的向量表示uG t-1和所述多条知识的向量表示ZG经过多层感知器网络模型,得到第一概率分布p(Z|ut)。
9.根据权利要求8所述的装置,其特征在于,所述第二概率分布计算模块包括:
第二概率分布计算单元,用于基于所述上一句话的历史对话的向量表示cG t-1和所述多条知识的向量表示ZG经过所述多层感知器网络模型,得到第二概率分布p(Z|ct-1)。
10.根据权利要求7至9任一项所述的装置,其特征在于,还包括:
多轮对话生成模块,用于基于当前回复语句的上文以及多条回复语句构成多轮对话;
综合分数计算模块,用于根据每轮对话的信息量分数和连贯性分数得到每轮对话的知识选择策略分数,对每轮对话的知识选择策略分数求和,得到所述多轮对话的综合分数R(τ);
网络参数更新模块,用于利用策略梯度算法对所述循环神经网络模型和所述多层感知器网络模型中的全部网络参数进行更新,θ是所述全部网络参数,b为所述多轮对话的平均知识选择策略分数,Zi是被选择的知识。
11.一种知识选择策略的对话终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述方法。
12.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述方法。
CN201910515048.9A 2019-06-13 2019-06-13 知识选择策略的对话生成方法、装置以及终端 Active CN110222155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910515048.9A CN110222155B (zh) 2019-06-13 2019-06-13 知识选择策略的对话生成方法、装置以及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910515048.9A CN110222155B (zh) 2019-06-13 2019-06-13 知识选择策略的对话生成方法、装置以及终端

Publications (2)

Publication Number Publication Date
CN110222155A true CN110222155A (zh) 2019-09-10
CN110222155B CN110222155B (zh) 2020-10-02

Family

ID=67817113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910515048.9A Active CN110222155B (zh) 2019-06-13 2019-06-13 知识选择策略的对话生成方法、装置以及终端

Country Status (1)

Country Link
CN (1) CN110222155B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688470A (zh) * 2019-09-27 2020-01-14 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN111259668A (zh) * 2020-05-07 2020-06-09 腾讯科技(深圳)有限公司 阅读任务处理方法、模型训练方法、装置和计算机设备
CN111428014A (zh) * 2020-03-17 2020-07-17 北京香侬慧语科技有限责任公司 一种基于最大互信息的非自回归对话说生成方法及模型
WO2022033332A1 (zh) * 2020-08-14 2022-02-17 腾讯科技(深圳)有限公司 对话生成方法、网络训练方法、装置、存储介质及设备
WO2022121161A1 (zh) * 2020-12-10 2022-06-16 平安科技(深圳)有限公司 多轮对话文本生成方法、装置、设备及存储介质
CN116028615A (zh) * 2023-03-30 2023-04-28 北京红棉小冰科技有限公司 基于知识引导的回复生成方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170316775A1 (en) * 2016-04-27 2017-11-02 Conduent Business Services, Llc Dialog device with dialog support generated using a mixture of language models combined using a recurrent neural network
CN107885756A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 基于深度学习的对话方法、装置及设备
CN109086329A (zh) * 2018-06-29 2018-12-25 出门问问信息科技有限公司 基于话题关键词引导的进行多轮对话方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170316775A1 (en) * 2016-04-27 2017-11-02 Conduent Business Services, Llc Dialog device with dialog support generated using a mixture of language models combined using a recurrent neural network
CN107885756A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 基于深度学习的对话方法、装置及设备
CN109086329A (zh) * 2018-06-29 2018-12-25 出门问问信息科技有限公司 基于话题关键词引导的进行多轮对话方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688470A (zh) * 2019-09-27 2020-01-14 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN110688470B (zh) * 2019-09-27 2022-04-26 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN111428014A (zh) * 2020-03-17 2020-07-17 北京香侬慧语科技有限责任公司 一种基于最大互信息的非自回归对话说生成方法及模型
CN111259668A (zh) * 2020-05-07 2020-06-09 腾讯科技(深圳)有限公司 阅读任务处理方法、模型训练方法、装置和计算机设备
WO2022033332A1 (zh) * 2020-08-14 2022-02-17 腾讯科技(深圳)有限公司 对话生成方法、网络训练方法、装置、存储介质及设备
WO2022121161A1 (zh) * 2020-12-10 2022-06-16 平安科技(深圳)有限公司 多轮对话文本生成方法、装置、设备及存储介质
CN116028615A (zh) * 2023-03-30 2023-04-28 北京红棉小冰科技有限公司 基于知识引导的回复生成方法、装置和电子设备
CN116028615B (zh) * 2023-03-30 2023-06-30 北京红棉小冰科技有限公司 基于知识引导的回复生成方法、装置和电子设备

Also Published As

Publication number Publication date
CN110222155B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN110222155A (zh) 知识选择策略的对话生成方法、装置以及终端
Wang et al. Cnn+ cnn: Convolutional decoders for image captioning
US11069345B2 (en) Speech recognition using convolutional neural networks
CN108921284B (zh) 基于深度学习的人际交互肢体语言自动生成方法及系统
CN104538028B (zh) 一种基于深度长短期记忆循环神经网络的连续语音识别方法
CN108334499A (zh) 一种文本标签标注设备、方法和计算设备
CN110297908A (zh) 诊疗方案预测方法及装置
CN109923558A (zh) 混合专家神经网络
US20160217129A1 (en) Method and Apparatus for Determining Semantic Matching Degree
CN109977212A (zh) 对话机器人的回复内容生成方法和终端设备
CN107066445A (zh) 一种属性情感词向量的深度学习方法
CN110209926A (zh) 商家推荐方法、装置、电子设备及可读存储介质
CN110135551A (zh) 一种基于词向量和循环神经网络的机器人聊天方法
CN109637669A (zh) 基于深度学习的治疗方案的生成方法、装置及存储介质
CN106682387A (zh) 用于输出信息的方法和装置
CN115641543B (zh) 一种多模态抑郁情绪识别方法及装置
CN110362651A (zh) 检索和生成相结合的对话方法、系统、装置和存储介质
CN108170676A (zh) 故事创作的方法、系统和终端
CN108959388A (zh) 信息生成方法及装置
CN112131368A (zh) 对话生成方法、装置、电子设备及存储介质
CN110069611A (zh) 一种主题增强的聊天机器人回复生成方法及装置
WO2018113260A1 (zh) 情绪表达的方法、装置和机器人
Zaidi et al. Cross-language speech emotion recognition using multimodal dual attention transformers
CN111062203B (zh) 基于语音的数据标注方法、装置、介质以及电子设备
Ida Deep neural networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant