CN114036267A - 对话方法及系统 - Google Patents

对话方法及系统 Download PDF

Info

Publication number
CN114036267A
CN114036267A CN202010707211.4A CN202010707211A CN114036267A CN 114036267 A CN114036267 A CN 114036267A CN 202010707211 A CN202010707211 A CN 202010707211A CN 114036267 A CN114036267 A CN 114036267A
Authority
CN
China
Prior art keywords
dialog
candidate
context
conversation
semantic similarity
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.)
Pending
Application number
CN202010707211.4A
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010707211.4A priority Critical patent/CN114036267A/zh
Publication of CN114036267A publication Critical patent/CN114036267A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Human Computer Interaction (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本公开实施例公开一种对话方法及系统。该方法包括:获得用户查询的对话上下文;根据对话上下文获得多个候选对话;在多个候选对话中选择与对话上下文最匹配的候选对话作为答复对话;根据答复对话确定用户查询的应答。和对比文件相比,本公开实施例得到的应答更加准确。

Description

对话方法及系统
技术领域
本公开涉及自然语言处理领域,具体而言,涉及一种对话方法及系统。
背景技术
近年来,随着深度学习模型在自然语言处理方面的日趋成熟,深度学习模型已经广泛应用于对话系统。对话系统按照实现方式可分为:生成式对话系统和检索式对话系统。生成式对话系统是根据用户输入语句构建应答语句。检索式对话系统是根据用户输入语句检索以往的对话数据集并选择最匹配的应答语句。目前检索式对话系统在实践中应用较为广泛,例如线上客服系统。
图1是一个现有技术的检索式对话系统的示意图。该对话系统包括步骤S10的粗粒度筛选和步骤S20的细粒度筛选。具体地,步骤S10采用对话上下文对整个对话数据集进行筛选,从中筛选出多个候选应答,该筛选依据主要是TF-IDF(term frequency–inversedocument frequency,词频-逆文本频率指数)等常规方法,此步骤效率高但准确率相对较低。步骤S20从多个候选应答中使用CRM(context-to-response matching,上下文应答匹配)模型筛选出最终应答。CRM模型会分别计算对话上下文与多个候选应答之间的匹配程度,并基于匹配程度确定最终应答。但是CRM模型在计算过程中,忽略了候选应答的上文信息,而这些信息通常是十分有用的。CRM忽略候选应答的上文信息可能导致计算结果并不准确,进而导致不能输出最匹配应答。
发明内容
有鉴于此,本公开的目的是提供一种对话方法以及对话系统,以解决检索式对话系统中存在的上述问题。
第一方面,本公开实施例提供一种对话方法,包括:
获得用户查询的对话上下文;
根据所述对话上下文获得多个候选对话;
在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话;
根据所述答复对话确定所述用户查询的应答。
可选地,所述在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话,包括:
计算所述对话上下文与所述多个候选对话之间的语义相似度;
计算所述对话上下文与所述多个候选对话的应答之间的匹配程度;
根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话。
可选地,所述计算所述对话上下文与所述多个候选对话之间的语义相似度,包括:
将所述对话上下文和所述多个候选对话输入给训练好的第一模型,由所述第一模型计算所述对话上下文与所述多个候选对话之间的语义相似度;
其中,所述第一模型执行如下操作:
将所述对话上下文中的组成语句的词语表征为多个第一词向量;
将所述候选对话中的组成语句的词语表征为多个第二词向量;
根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度。
可选地,所述根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度,包括:
对所述多个第一词向量和所述多个第二词向量执行交叉注意力操作,得到第一矩阵;
针对所述多个第一词向量和所述多个第二词向量,先执行自注意力操作再执行交叉注意力操作,得到第二矩阵;
将所述第一矩阵和所述第二矩阵堆叠得到的矩阵输入到预设模型中,由所述预设模型提取匹配特征并将提取到的特征展开为多个一维向量;以及
基于所述多个一维向量使用图注意力网络和带有角色信息的注意力机制计算出表征语义相似度的第一向量。
可选地,所述根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话,包括:
根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值;
选择所述分值最高的候选对话作为答复对话。
可选地,所述根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值,包括:
将代表所述语义相似度的第一向量和代表所述匹配程度的第二向量经过第一多层感知器进行建模后,利用第二多层感知器计算分值。
可选地,所述根据所述对话上下文获得多个候选对话包括:
将所述对话上下文从历史对话数据集筛选出所述多个候选对话,所述历史对话集的每一条数据均包括至少一轮对话。
可选地,所述采用TF-IDF算法从所述历史对话数据集中筛选出所述多个候选对话。
第二方面,本公开实施例提供一种对话系统,包括:
对话采集模块,用于获得用户查询的对话上下文;
第一筛选模块,用于根据所述对话上下文获得多个候选对话;
第二筛选模块,用于在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话;
应答确定模块,根据所述答复对话确定所述用户查询的应答。
可选地,所述第二筛选模块包括:
语义相似度计算单元,用于计算所述对话上下文与所述多个候选对话之间的语义相似度;
匹配程度计算单元,用于计算所述对话上下文与所述多个候选对话的应答之间的匹配程度;
答复对话确定单元,用于根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话。
可选地,所述语义相似度计算单元包括:
将所述对话上下文和所述多个候选对话输入给训练好的第一模型,由所述第一模型计算所述对话上下文与所述多个候选对话之间的语义相似度;
其中,所述第一模型执行如下操作:
将所述对话上下文中的组成语句的词语表征为多个第一词向量;
将所述候选对话中的组成语句的词语表征为多个第二词向量;
根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度。
可选地,所述根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度,包括:
对所述多个第一词向量和所述多个第二词向量执行交叉注意力操作,得到第一矩阵;
针对所述多个第一词向量和所述多个第二词向量,先执行自注意力操作再执行交叉注意力操作,得到第二矩阵;
将所述第一矩阵和所述第二矩阵堆叠得到的矩阵输入到预设模型中,由所述预设模型提取匹配特征并将提取到的特征展开为多个一维向量;以及
基于所述多个一维向量使用图注意力网络和带有角色信息的注意力机制计算出表征语义相似度的第一向量。
可选地,所述根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话,包括:
根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值;
选择所述分值最高的候选对话作为答复对话。
可选地,所述根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值,包括:
将代表所述语义相似度的第一向量和代表所述匹配程度的第二向量经过第一多层感知器进行建模后,利用第二多层感知器计算分值。
可选地,所述根据所述对话上下文获得多个候选对话包括:
将所述对话上下文从历史对话数据集筛选出所述多个候选对话,所述历史对话集的每一条数据均包括至少一轮对话。
第三方面,本公开实施例提供一种电子设备,包括存储器和处理器,所述存储器还存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的对话方法。
第四方面,本公开实施例提供计算机可读介质存储,该计算机可读介质存储有可由电子设备执行的计算机指令,所述计算机指令被执行时,实现上述任一项所述的对话方法。
本公开实施例选从多个候选对话中选择与对话上下文最匹配的候选对话作为答复对话,得到的应答更加准确。进一步地,本公开实施例结合对话上下文与多个候选对话的语义相似程度以及对话上下文与多个候选对话的各个应答的匹配程度而非仅仅依赖对话上下文与多个候选对话的各个应答的匹配程度确定应答,因此得到的最终应答更加准确。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是一个现有技术的检索式对话系统的示意图;
图2是对话系统的应用部署示意图;
图3是在线客服的示例图;
图4是本公开实施例提供的对话系统的示意图;
图5是一个本公开实施例使用的深度学习模型的架构图;
图6是图5中的表征层和交互层的详细示意图;
图7是本公开实施例提供的对话方法的流程图;
图8是图7所示的步骤S703更具体的流程图;
图9是用于本公开实施例的电子设备的结构图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
图2是对话系统的部署示意图。如图2所示,各种终端201通过网络203与服务器202建立通信。终端201是采用计算机系统的各种电子设备,例如个人电脑、手机、笔记本、平板电脑、等等。网络203可以基于通过交换信号实现的各种通信技术之一或多种通信技术的组合,包括但不限于采用电和/或光传导线缆的有线技术,以及采用红外、射频和/或其它形式的无线技术。在不同的应用场景下,网络203可以是互联网、广域网或局域网,例如为公司的专有网络。网络203还可以为有线网络或无线网络。服务器202可以为实体服务器,也可以为云服务器。云服务器是利用虚拟化技术可以将实体服务器的硬件和软件资源进行整合,进而基于用户所需向提供计算能力、存储能力或者各种应用服务。具体到本公开,服务器202部署并运行对各种终端的用户查询作出应答的对话系统。
结合图3所示的在线客服的示例继续说明检索式对话系统。如图上所示,终端201的显示屏显示聊天窗口21。在聊天窗口21中,当接收到用户输入的语句时,在该语句之前已经存在该用户与客服的一轮或多轮对话。在图上采用QC表征该语句以及该语句之前的一轮对话(它即本文所指的用户查询的对话上下文的一个示例)。服务器202存储有历史对话数据集。历史对话数据集22是基于原始对话记录整理出来的数据集。在实际操作时,可以先采集批量的原始对话记录,每个原始对话记录记录了客服与顾客之间的一次完整沟通过程,通常包括多轮对话,然后将原始对话记录过滤,去掉芜杂信息,然后切分并组成历史对话数据集的一条条数据。可选地,历史对话数据集的每条数据都包括由顾客发起的提问问句以及该问句之前的至少一轮对话。
参考图上所示,服务器202的对话系统接收对话上下文,从历史对话数据集22找到多个匹配的候选对话DS1至DSn,然后根据应答CR1-CRn确定最终应答。最终应答被提供给终端201。如果客服系统是是智能客服(没有人工客服),则最终应答将直接显示在聊天窗口21中,如果上述客服是人工客服,则最终应答可作为推荐应答提供给人工客服,人工客服可对推荐应答进行修改加工并将其推送到聊天窗口21中。
结合图1所示,CRM模型的输入是对话上下文QC和应答CR1至CRn(由S10的粗粒度筛选步骤得到),然后CRM模型基于对话上下文QC与应答CR1至CRn的匹配程度来确定最终应答,最终得到的应答为CR1。但在计算匹配度的过程中,CRM模型并不考虑应答CR1至CRn所对应的候选对话DS1至DSn,因此就此得到的应答CR1是不够准确的。从图上看出,顾客询问的是EMS的快递送达时间,CR1并不是针对EMS的快递送达时间。
图4是本公开实施例提供的对话系统的示意图。如图上所示,该对话系统包括对话采集模块401、第一筛选模块402、第二筛选模块403和应答确定模块404。
对话采集模块401用于获取用户查询的对话上下文。该对话上下文包括当前的用户输入的查询语句(通常包括提问语句)以及在此查询语句之前的至少一轮对话。对话采集模块401将得到的对话上下文输出给第一筛选模块402。
第一筛选模块402执行粗粒度筛选。具体地,采用对话上下文对整个历史对话数据集进行筛选,筛选出多个候选对话1-n。该操作例如可通过TF-IDF(term frequency–inverse document frequency,词频-逆文本频率指数)等常规方法实现。该操作效率高速度快但准确率相对较低。第一筛选模块402将多个候选对话1-n输出给第二筛选模块403。
第二筛选模块403用于在多个候选对话中选择与对话上下文最匹配的候选对话作为答复对话。
应答确定模块404根据答复对话确定用户查询的应答,如果是智能客服,则可以直接将答复对话的应答作为当前用户查询的应答输出在显示屏上,如果是人工客服,人工客服会修改应答后再输出。
在一些实施例中,第二筛选模块403包括语义相似度计算单元、匹配程度计算单元和答复对话确定单元。语义相似度计算单元计算对话上下文与多个候选对话之间的语义相似程度,匹配程度计算单元计算对话上下文与多个候选对话的各个应答之间的匹配程度,答复对话确定单元结合两者确定答复对话。
和现有技术相比,本实施例不仅计算对话上下文与多个候选对话之间的语义相似程度同时计算对话上下文与多个候选对话的各个应答之间的匹配程度,根据两者确定最终应答,因此本实施例能够获得更加准确的最终应答。
进一步地,如图5所示,第二筛选模块403采用训练好的深度学习模型500计算对话上下文与多个候选对话之间的语义相似度同时计算对话上下文与多个候选对话的应答之间的匹配程度,并根据语义相似度和匹配程度选择最匹配的候选对话作为答复对话。
图5是一个本公开实施例使用的深度学习模型的架构图。图6是图5中的表征层和交互层的详细示意图。
为了方便说明,我们将该深度学习模型500视为CCM模型、CRM模型和集成模型的组合。
CCM模型501的输入是对话上下文和多个候选对话,用于计算对话上下文分别与多个候选对话之间的语义相似程度,通俗地讲,即确定对话上下文与多个候选对话描述的内容是否相似程度。如果对话上下文与某个候选对话语义相似程度较高,相应地,该候选对话的应答成为对话上下文的应答的概率较高。
CRM模型502判断对话上下文与候选对话的各个应答之间的匹配程度,通俗地讲,即判断候选对话的各个应答是否能够很好地回答对话上下文。CRM模型502和图1中的CRM模型类似。
集成模型503根据CCM模型501和CRM模型502的输出确定最匹配的候选对话作为答复对话。
如图上所示,CCM模型501包括表征层5011、交互层5012和聚合层5013。
表征层5011将句子表征为带有句子信息的词向量,采用的方法为Transformer网络:
Figure BDA0002595246780000081
Figure BDA0002595246780000082
Figure BDA0002595246780000083
Figure BDA0002595246780000084
分别表示对话上下文uq中的第i个语句以及候选对话ur的第j个语句(utterance),其中q表示对应的部分属于对话上下文,r表示对应的部分属于候选对话。
Figure BDA0002595246780000091
代表
Figure BDA0002595246780000092
的向量表达,
Figure BDA0002595246780000093
代表
Figure BDA0002595246780000094
的向量表达,其中R表示实数空间,t为语句内词的个数,d为词向量的维度。
参考图6所示,首先根据
Figure BDA0002595246780000095
Figure BDA0002595246780000096
得到Transformer网络的输入为Q,K和V,分别表示查询向量序列,键向量序列和值向量序列。它们首先经过一个自注意力层(Attention),之后通过加法和正则化操作(ADD&Norm)获得新的表示,之后通过前馈神经网络(FeedForward)和加法及正则化操作(ADD&Norm)获得对应的向量表达。
参考图5所示,表征层5011将向量表达输出给交互层5012。交互层5012得到向量表达之后,会执行以下步骤。
步骤S1用于根据对话上下文的各个向量表达和候选对话中的各个向量表达,进行交叉注意力操作,得到结果矩阵M。具体地,直接根据表征层的输出
Figure BDA0002595246780000097
做交叉注意力(cross attention)操作得到关于
Figure BDA0002595246780000098
的矩阵为Mi,j∈Rt*t,其中Mi,j的a行第b列的元素的计算方式如下:
Figure BDA0002595246780000099
其中,
Figure BDA00025952467800000910
表示
Figure BDA00025952467800000911
的第a行元素,上标T表示转置操作
步骤S2用于根据对话上下文的各个向量表达和候选对话中的各个向量表达,先进行自注意力操作,再进行交叉注意力操作,并得到结果结构M′。即先对
Figure BDA00025952467800000912
进行自注意力(self-attention)操作,具体是采用自注意力函数fatt做如下计算得到
Figure BDA00025952467800000913
Figure BDA00025952467800000914
Figure BDA00025952467800000915
Figure BDA00025952467800000916
然后再基于
Figure BDA00025952467800000917
Figure BDA00025952467800000918
进行交叉注意力(cross attention)操作,一个新的矩阵为M′i,j∈Rt*t,其中M′i,j的第a行第b列的元素的计算方式如下:
Figure BDA00025952467800000919
步骤S3得到M,M′之后,将对应元素堆叠起来:
Fi,j=fstack(Mi,j,M′i,j),其中Fi,j∈R2*t*t (7)
步骤S4是用一个2D CNN模型来提取匹配特征,并将提取到的特征展开到多个一维向量上:
Si,j=fflatten(fCNN(Fi,j)) (8)
其中fCNN是2D CNN模型对应的函数表达。fflatten表示展平操作,将fCNN的输出展平成一维向量。
上述步骤可以参考图5。在图上,交互层5012按照上述步骤,得到
Figure BDA0002595246780000101
Figure BDA0002595246780000102
然后得到Mi,j和M′i,j,再将Mi,j和M′i,j输入到一个CNN模型,得到Si,j
聚合层5013从交互层5012接收一维向量Si,j。其中i代表的含义是对话上下文的第i个语句,j的含义代表候选对话的第j个语句(utterance),因此Si,j代表了对话上下文的第i个语句和候选对话的第j个语句的匹配关系向量。而此时,由于
Figure BDA0002595246780000103
是一个元素为向量的矩阵,因此传统的方法不能很好的编码这一形式的张量,这里我们利用图网络来处理这一问题。我们认为S是一个无向图(undirected graph),S的每一个元素都对应无向图的一个节点(node)。我们直接用图注意力网络(Graph Attention Network)来进行,即可以表示为:
A=fgat(S) (9)
其中fgat(S)是图注意力网络表征的函数。
之后通过带有角色信息的注意力机制(role-aware attention)对A进行整合。表示为
Figure BDA0002595246780000104
其中E是角色信息矩阵,Ei,Ej,Ea,Eb分别表示角色信息矩阵E的第i,j,a,b行。Ai,j是上述图注意力网络的输出A的第i行第j列的元素。Aa,b是上述图注意力网络的输出A的第a行第b列的元素。MLP表示多层感知器,exp表示指数函数。
最终得到对话上下文与多个候选对话之间的语义相似程度,即下面公式所示。
Rcc=fcc(query′s context,candicate′s session)=Ar (11)
其中,query’s context表示对话上下文,candicate’s session表示一个候选对话。
CRM模型402用到了深交互层。深交互层利用深层次交互,能充分地捕获对话上下文和候选应答(candidate response)之间的语义关系。深交交互层在论文《One Time ofInteraction May Not Be Enough:Go Deep with an Interaction-over-InteractionNetwork for Response Selection in Dialogues》提出并有详细描述,这里就不再赘述。最终的CRM模型402可表示为:
Rcr=fcr(query′s context,response) (12)
其中,query’s context表示对话上下文,response表示应答。
集成模型503得到CCM模型501和CRM模型502的向量表达Rcc,Rcr之后,如图上所示,采用多层感知机来建模两者的关系,即如下公式:
γ=sigmoid(MLPg(Rcc,Rcr)) (12)
其中,多层感知器(MLP,Multilayer Perceptron)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上,Sigmoid函数是模型中的激活函数,将变量映射到设定区间,例如映射在[0,1]的区间。
此外,根据以下公式得到:
Rcs=γRcc+(1-γ)Rcr (13)
得到Rcs后,再过另一个多层感知机(MLP)即可得到最终的分值,该分值表征。
score=MLP2(Rcs) (14)
与上述实施例相对应,如图7示,本公开提供一种对话方法,包括以下步骤。
在步骤S701中,获得用户查询的对话上下文。
步骤S701是将当前用户输入的查询语句以及在该语句之前的至少一轮对话作为对话上下文。可选地,可以将该查询语句之前的所有对话都放在对话上下文中。
在步骤S702中,根据对话上下文获得多个候选对话。
步骤S702是粗筛选步骤。它将对话上下文与数据集中现有的多个候选对话分别比较,以从历史对话数据集筛选出多个候选对话。
历史对话数据集是对话(dialog session)的集合。每个对话(dialog session)至少包括用户输入的查询语句以及在该语句之前的一轮或多轮对话,用户输入的查询语句通常包含一个提问语句。为了得到历史对话数据集,需要采集多条历史对话记录,每个历史对话记录就是一次完整的沟通记录,然后将每条历史对话记录切分成对话。
候选对话是与对话上下文具有一定关联的对话,例如候选对话与对话上下文都提到了某个产品品牌。为了避免粗筛选的步骤将多个与对话上下文语义关系不大的片段筛选出来,可通过关键词过滤掉大多数的候选对话。
在步骤S703中,在多个候选对话中选择与对话上下文最匹配的候选对话作为答复对话。
在一些实施例中,如图8所示,该步骤包括步骤S7031-S7033。步骤S7031计算对话上下文与多个候选对话之间的语义相似度。步骤S7032计算对话上下文与多个候选对话的应答之间的匹配程度。S7033根据语义相似度和匹配程度选择最匹配的候选对话作为答复对话。
进一步地,步骤S7033包括:根据语义相似度和匹配程度计算多个候选对话的分值;选择分值最高的候选对话作为答复对话。
进一步地,如图8所示的步骤均通过深度学习模型执行。关于深度学习模型,上文结合图5-6已经详细描述,这里不再重复描述。
在步骤S704中,根据答复对话确定用户查询的应答。具体地,可以直接将答复对话的应答作为用户查询的应答,或者将答复对话的应答修改后作为用户查询的应答。
综上,和现有技术相比,本公开实施例兼顾对话上下文与多个候选对话的语义相似程度以及对话上下文与多个候选对话的各个应答之间的匹配程度,确定最终的应答,从而提高了应答的准确度。
本公开实施例还提供一种电子设备90,在硬件层面,包括存储器902和处理器901,除此之外,一些情况下还包括输入输出设备903和其他硬件904。存储器902例如为高速随机存取存储器(Random-Access Memory,RAM),也可能是非易失性存储器(non-volatilememory),例如为至少1个磁盘存储器等。输入输出设备903例如为显示器、键盘、鼠标、网络控制器等设备。处理器901可以基于目前市场上各种型号的处理器构建。处理器901、存储器902、输入输出设备903和其他硬件904通过总线相互连接,该总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个线条表示,但并不表示仅有一根总线或一种类型的总线。
存储器902用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机指令。存储器可以包括内存和非易失性存储器,并向处理器901提供计算机指令和数据。处理器901从存储器902中读取对应的计算机程序到内存中然后运行,在逻辑层面上对话方法,具体包括以下步骤:获得用户查询的对话上下文;根据所述对话上下文获得多个候选对话;在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话;根据所述答复对话确定所述用户查询的应答。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (17)

1.一种对话方法,包括:
获得用户查询的对话上下文;
根据所述对话上下文获得多个候选对话;
在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话;
根据所述答复对话确定所述用户查询的应答。
2.根据权利要求1所述的对话方法,其中,所述在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话,包括:
计算所述对话上下文与所述多个候选对话之间的语义相似度;
计算所述对话上下文与所述多个候选对话的应答之间的匹配程度;
根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话。
3.根据权利要求2所述的对话方法,其中,所述计算所述对话上下文与所述多个候选对话之间的语义相似度,包括:
将所述对话上下文和所述多个候选对话输入给训练好的第一模型,由所述第一模型计算所述对话上下文与所述多个候选对话之间的语义相似度;
其中,所述第一模型执行如下操作:
将所述对话上下文中的组成语句的词语表征为多个第一词向量;
将所述候选对话中的组成语句的词语表征为多个第二词向量;
根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度。
4.根据权利要求3所述的对话方法,其中,所述根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度,包括:
对所述多个第一词向量和所述多个第二词向量执行交叉注意力操作,得到第一矩阵;
针对所述多个第一词向量和所述多个第二词向量,先执行自注意力操作再执行交叉注意力操作,得到第二矩阵;
将所述第一矩阵和所述第二矩阵堆叠得到的矩阵输入到预设模型中,由所述预设模型提取匹配特征并将提取到的特征展开为多个一维向量;以及
基于所述多个一维向量使用图注意力网络和带有角色信息的注意力机制计算出表征语义相似度的第一向量。
5.根据权利要求2-4中任一项所述的对话方法,其中,所述根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话,包括:
根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值;
选择所述分值最高的候选对话作为答复对话。
6.根据权利要求5所述的对话方法,其中,所述根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值,包括:
将代表所述语义相似度的第一向量和代表所述匹配程度的第二向量经过第一多层感知器进行建模后,利用第二多层感知器计算分值。
7.根据权利要求1所述的对话方法,其中,所述根据所述对话上下文获得多个候选对话包括:
根据所述对话上下文从历史对话数据集筛选出所述多个候选对话。
8.根据权利要求7所述的对话方法,其中,所述采用TF-IDF算法从所述历史对话数据集中筛选出所述多个候选对话。
9.一种对话系统,包括:
对话采集模块,用于获得用户查询的对话上下文;
第一筛选模块,用于根据所述对话上下文获得多个候选对话;
第二筛选模块,用于在所述多个候选对话中选择与所述对话上下文最匹配的候选对话作为答复对话;
应答确定模块,根据所述答复对话确定所述用户查询的应答。
10.根据权利要求9所述的对话系统,其中,所述第二筛选模块包括:
语义相似度计算单元,用于计算所述对话上下文与所述多个候选对话之间的语义相似度;
匹配程度计算单元,用于计算所述对话上下文与所述多个候选对话的应答之间的匹配程度;
答复对话确定单元,用于根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话。
11.根据权利要求10所述的对话系统,其中,所述语义相似度计算单元包括:
将所述对话上下文和所述多个候选对话输入给训练好的第一模型,由所述第一模型计算所述对话上下文与所述多个候选对话之间的语义相似度;
其中,所述第一模型执行如下操作:
将所述对话上下文中的组成语句的词语表征为多个第一词向量;
将所述候选对话中的组成语句的词语表征为多个第二词向量;
根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度。
12.根据权利要求11所述的对话系统,其中,所述根据所述多个第一词向量和所述多个第二词向量计算所述语义相似度,包括:
对所述多个第一词向量和所述多个第二词向量执行交叉注意力操作,得到第一矩阵;
针对所述多个第一词向量和所述多个第二词向量,先执行自注意力操作再执行交叉注意力操作,得到第二矩阵;
将所述第一矩阵和所述第二矩阵堆叠得到的矩阵输入到预设模型中,由所述预设模型提取匹配特征并将提取到的特征展开为多个一维向量;以及
基于所述多个一维向量使用图注意力网络和带有角色信息的注意力机制计算出表征语义相似度的第一向量。
13.根据权利要求9-12中任一项所述的对话系统,其中,所述根据所述语义相似度和所述匹配程度选择最匹配的候选对话作为答复对话,包括:
根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值;
选择所述分值最高的候选对话作为答复对话。
14.根据权利要求13所述的对话系统,其中,所述根据所述语义相似度和所述匹配程度计算所述多个候选对话的分值,包括:
将代表所述语义相似度的第一向量和代表所述匹配程度的第二向量经过第一多层感知器进行建模后,利用第二多层感知器计算分值。
15.根据权利要求1所述的对话系统,其中,所述根据所述对话上下文获得多个候选对话包括:
将所述对话上下文从历史对话数据集筛选出所述多个候选对话。
16.一种电子设备,包括存储器和处理器,所述存储器还存储有可由所述处理器执行的计算机指令,所述计算机指令被执行时,实现所述如权利要求1至8任一项所述的对话方法。
17.一种计算机可读介质,所述计算机可读介质存储有可由电子设备执行的计算机指令,所述计算机指令被执行时,实现所述如权利要求1至8任一项所述的对话方法。
CN202010707211.4A 2020-07-21 2020-07-21 对话方法及系统 Pending CN114036267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010707211.4A CN114036267A (zh) 2020-07-21 2020-07-21 对话方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010707211.4A CN114036267A (zh) 2020-07-21 2020-07-21 对话方法及系统

Publications (1)

Publication Number Publication Date
CN114036267A true CN114036267A (zh) 2022-02-11

Family

ID=80134059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010707211.4A Pending CN114036267A (zh) 2020-07-21 2020-07-21 对话方法及系统

Country Status (1)

Country Link
CN (1) CN114036267A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878775A (zh) * 2022-12-23 2023-03-31 北京百度网讯科技有限公司 生成跨类型对话数据的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878775A (zh) * 2022-12-23 2023-03-31 北京百度网讯科技有限公司 生成跨类型对话数据的方法和装置
CN115878775B (zh) * 2022-12-23 2024-04-12 北京百度网讯科技有限公司 生成跨类型对话数据的方法和装置

Similar Documents

Publication Publication Date Title
US20210257066A1 (en) Machine learning based medical data classification method, computer device, and non-transitory computer-readable storage medium
WO2021078027A1 (zh) 构建网络结构优化器的方法、装置及计算机可读存储介质
CN108829822B (zh) 媒体内容的推荐方法和装置、存储介质、电子装置
GB2547068B (en) Semantic natural language vector space
CN110083693B (zh) 机器人对话回复方法及装置
CN112131383B (zh) 特定目标的情感极性分类方法
CN112085565B (zh) 基于深度学习的信息推荐方法、装置、设备及存储介质
CN109992676B (zh) 一种跨媒体资源检索方法及检索系统
CN112926308B (zh) 匹配正文的方法、装置、设备、存储介质以及程序产品
CN113707299A (zh) 基于问诊会话的辅助诊断方法、装置及计算机设备
CN113297410A (zh) 一种图像检索方法、装置、计算机设备及存储介质
CN112418059A (zh) 一种情绪识别的方法、装置、计算机设备及存储介质
CN111695024A (zh) 对象评估值的预测方法及系统、推荐方法及系统
CN110598084A (zh) 对象排序方法、商品排序方法、装置及电子设备
CN112995414A (zh) 基于语音通话的行为质检方法、装置、设备及存储介质
CN112632248A (zh) 问答方法、装置、计算机设备和存储介质
CN112489689B (zh) 基于多尺度差异对抗的跨数据库语音情感识别方法及装置
WO2021129411A1 (zh) 文本处理方法及装置
CN114036267A (zh) 对话方法及系统
CN115206421B (zh) 药物重定位方法、重定位模型的训练方法及装置
CN111143533A (zh) 一种基于用户行为数据的客服方法及系统
CN115640378A (zh) 工单检索方法、服务器、介质及产品
CN113010664B (zh) 一种数据处理方法、装置及计算机设备
CN114281990A (zh) 文档分类方法及装置、电子设备和介质
CN111382246B (zh) 文本的匹配方法、匹配装置、终端及计算机可读存储介质

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