CN111680123A - 对话模型的训练方法、装置、计算机设备及存储介质 - Google Patents

对话模型的训练方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111680123A
CN111680123A CN202010450194.0A CN202010450194A CN111680123A CN 111680123 A CN111680123 A CN 111680123A CN 202010450194 A CN202010450194 A CN 202010450194A CN 111680123 A CN111680123 A CN 111680123A
Authority
CN
China
Prior art keywords
dialogue
dialog
conversation
reply
model
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
CN202010450194.0A
Other languages
English (en)
Other versions
CN111680123B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010450194.0A priority Critical patent/CN111680123B/zh
Publication of CN111680123A publication Critical patent/CN111680123A/zh
Priority to JP2022538829A priority patent/JP7431977B2/ja
Priority to PCT/CN2021/091954 priority patent/WO2021238599A1/zh
Priority to US17/715,778 priority patent/US20220309088A1/en
Application granted granted Critical
Publication of CN111680123B publication Critical patent/CN111680123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种对话模型的训练方法、对话回复生成方法、装置、计算机设备及存储介质,属于人工智能技术领域。所述方法包括:获取第一对话的至少两个第一对话特征和至少两个第二对话特征;基于所述第一对话的至少两个第一对话特征和至少两个第二对话特征,更新对话模型;基于所述第一对话的至少两个第一对话特征,更新所述后验网络;根据第二对话的至少两个第一对话特征和至少两个第二对话特征,更新所述对话模型中的判别器;响应于满足训练结束条件,将训练得到的模型作为对话模型。上述技术方案,考虑了对话的不同语义,使得对话的回复包含多种语义,提高了通过对话模型生成的对话回复的多样性。

Description

对话模型的训练方法、装置、计算机设备及存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种对话模型的训练方法、对话 回复生成方法、装置、计算机设备及存储介质。
背景技术
随着人工智能技术的不断发展,自然语言处理可以应用在更广阔的范围。 例如,应用于闲聊机器人、对话系统以及终端智能助手等人机交互场景。计算 机设备可以根据用户在对话过程中输入的对话上文,来输出对应的对话回复。 如何使避免计算机设备输出的对话回复过于单调,是一个需要解决的问题。
目前,可以基于多隐变量机制训练对话模型,训练的方式为通过多隐变量 机制建模对话上文和对话回复之间一对多的关系。具体的,首先通过编码器对 对话上文和对话回复进行编码,然后将对话上文的向量映射成不同的隐向量, 然后根据当前的对话回复选择对应的隐变量,即选择生成该对话回复的隐变量。 从而实现一个对话上文对应对个对话回复的目的。其中,多隐向量的映射和隐 向量的选择方式由不同的算法来决定。
上述技术方案存在的问题是,仅是简单的建立了对话上文和对话回复之间 一对多的关系,并未考虑语义的复杂性,从而导致对话过程中生成的对话回复 的多样性质量较低。
发明内容
本申请实施例提供了一种对话模型的训练方法、对话回复生成方法、装置、 计算机设备及存储介质,通过根据对话的对话特征,多次更新对话模型的参数, 考虑了对话的不同语义,使得对话的回复包含多种语义,提高了通过对话模型 生成的对话回复的多样性。所述技术方案如下:
一方面,提供了一种对话模型的训练方法,所述方法包括:
获取第一对话的至少两个第一对话特征和至少两个第二对话特征,所述第 一对话特征和所述第二对话特征分别用于表示第一对话上文和一个第一对话回 复的后验特征和先验特征,一个对话上文对应于至少两个对话回复;
基于所述第一对话的至少两个第一对话特征和至少两个第二对话特征,更 新对话模型,所述对话模型中包括先验网络和后验网络,所述后验网络用于估 计所述先验网络所输出的对话特征的概率分布;
基于所述第一对话的至少两个第二对话特征,更新所述后验网络;
根据第二对话的至少两个第一对话特征和至少两个第二对话特征,更新所 述对话模型中的判别器;
响应于满足训练结束条件,将训练得到的模型作为对话模型。
另一方面,提供了一种对话回复生成方法,所述方法包括:
获取对话上文;
将所述对话上文输入对话模型,基于所述对话模型中的先验网络,从多个 对话回复对应的第二对话特征中随机抽取一个目标对话特征;
基于所述对话模型中的解码器对所述目标对话特征进行解码,输出目标对 话回复;
展示所述目标对话回复。
另一方面,提供了一种对话模型的训练装置,所述装置包括:
特征获取模块,用于获取第一对话的至少两个第一对话特征和至少两个第 二对话特征,所述第一对话特征和所述第二对话特征分别用于表示第一对话上 文和一个第一对话回复的后验特征和先验特征,一个对话上文对应于至少两个 对话回复;
模型更新模块,用于基于所述第一对话的至少两个第一对话特征和至少两 个第二对话特征,更新对话模型,所述对话模型中包括先验网络和后验网络, 所述后验网络用于估计所述先验网络所输出的对话特征的概率分布;
所述模型更新模块,还用于基于所述第一对话的至少两个第二对话特征, 更新所述后验网络;
所述模型更新模块,还用于根据第二对话的至少两个第一对话特征和至少 两个第二对话特征,更新所述对话模型中的判别器;
模型获取模块,用于响应于满足训练结束条件,将训练得到的模型作为对 话模型。
在一种可选的实现方式中,所述特征获取模块,用于对于任一第一对话回 复,基于所述对话模型,对所述第一对话上文和所述第一对话回复分别进行编 码,得到所述第一对话上文的第一向量和所述第一对话回复的第二向量;基于 所述后验网络,根据所述第一向量和所述第二向量,获取第一对话特征;基于 所述先验网络,根据所述第一向量和所述第一对话回复所属的回复类别,获取 第二对话特征,所述回复类别包括与所述第一对话回复属于相同类别的至少一 个其他对话回复。
在一种可选的实现方式中,所述特征获取模块,还用于将所述第一对话上 文和所述第一对话回复分别输入所述对话模型的编码器,所述编码器为基于双 向门控循环单元神经网络构建;根据所述编码器,对所述第一对话上文和所述 第一对话回复分别进行编码,得到所述第一对话上文的第一向量和所述第一对 话回复的第二向量。
在一种可选的实现方式中,所述特征获取模块,还用于基于所述后验网络, 根据所述第一向量和所述第二向量,获取第一参数均值和第一参数方差;根据 所述第一参数均值、所述第一参数方差以及第一采样值,获取第一对话特征, 所述第一采样值为从标准正态分布中获取的采样点的值。
在一种可选的实现方式中,所述特征获取模块,还用于根据所述第一向量 和所述第一对话回复所属的回复类别,确定目标概率分布,所述目标概率分布 为所述先验网络所输出的对话特征的概率分布中所述回复类别对应的概率分布; 基于所述先验网络,根据所述第一向量,获取第二参数均值和第二参数方差; 根据所述第二参数均值、所述第二参数方差以及第二采样值,获取第二对话特 征,所述第二采样值为从所述目标概率分布中获取的采样点的值。
在一种可选的实现方式中,所述模型更新模块,用于对于任一第一对话回 复,获取所述第一对话回复对应的第一对话特征和第二对话特征;根据所述第 一对话上文编码得到的第一向量、所述第一对话特征和所述第二对话特征,获 取判别器损失和重构损失;根据所述判别器损失,更新所述对话模型中后验网 络和先验网络的参数;根据所述重构损失,更新所述对话模型中编码器、所述 后验网络、所述先验网络以及解码器的参数;根据所述判别器损失,更新所述 对话模型中判别器的参数。
在一种可选的实现方式中,所述模型更新模块,还用于基于所述对话模型 中的判别器,根据所述第一对话上文的第一向量、所述第一对话特征和所述第 二对话特征,获取所述第一对话特征和所述第二对话特征之间的第一瓦瑟斯坦 距离,将所述第一瓦斯斯坦距离作为判别器损失。
在一种可选的实现方式中,所述模型更新模块,还用于基于所述对话模型 中的解码器,对所述第一对话特征进行解码,获取解码得到的目标对话回复对 应的目标对话特征;根据所述第一向量、所述第一对话特征、所述第二对话特 征和所述目标对话特征,获取重构损失。
在一种可选的实现方式中,所述模型更新模块,还用于对于任一第一对话 特征,获取所述至少两个第一对话特征中除所述第一对话特征外其他第一对话 特征的平均值,将所述平均值作为平均对话特征;获取所述第一对话特征与所 述平均对话特征之间的第二瓦瑟斯坦距离,将所述第二瓦瑟斯坦距离作为语义 损失;根据所述语义损失,更新所述后验网络的参数。
另一方面,提供了一种对话回复生成装置,所述装置包括:
对话获取模块,用于获取对话上文;
特征抽取模块,用于将所述对话上文输入对话模型,基于所述对话模型中 的先验网络,从多个对话回复对应的第一对话特征中随机抽取一个目标对话特 征;
回复输出模块,用于基于所述对话模型中的解码器对所述目标对话特征进 行解码,输出目标对话回复;
回复展示模块,用于展示所述目标对话回复。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器, 所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器 加载并执行以实现本申请实施例中的对话模型的训练方法中所执行的操作,或 者执行以实现本申请实施例中的对话回复生成方法中所执行的操作。
另一方面,提供了一种存储介质,所述存储介质中存储有至少一段程序代 码,所述至少一段程序代码用于执行本申请实施例中的对话模型的训练方法, 或者执行本申请实施例中的对话回复生成方法。
本申请实施例提供的技术方案带来的有益效果是:
在本申请实施例中,通过第一对话的多个对话特征来多次更新对话模型, 以及再次更新后验网络,再根据第二对话的多个对话特征来更新对话模型中的 判别器。使得根据对话的对话特征,多次更新对话模型的参数,考虑了对话的 不同语义,使得对话的回复包含多种语义,提高了通过对话模型生成的对话回 复的多样性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的一种对话模型的训练方法的实施环境示意 图;
图2是本申请实施例提供的一种对话模型的训练方法的流程图;
图3是本申请实施例提供的一种对话回复生成方法的流程图;
图4是本申请实施例提供的一种对话模型的训练方法的流程图;
图5是根据本申请实施例提供的一种对话模型的结构示意图;
图6是根据本申请实施例提供的一种多语义WAE算法的流程示意图;
图7是根据本申请实施例提供的一种对话模型的训练装置的框图;
图8是根据本申请实施例提供的一种对话回复生成装置的框图;
图9是本申请实施例提供的一种终端的结构框图;
图10是根据本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请 实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描 述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。 以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方 式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一 致的装置和方法的例子。
下面简单介绍一下本申请实施例可能用到的技术:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制 的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳 结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一 个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的 方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实 现方法,使机器具有感知、推理与决策的功能。
人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即 服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台 会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服 务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式 来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可 以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能 服务。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工 智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有 效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学 于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语 言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本 处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统 计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模 拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构 使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能 的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括 人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例提供了一种对话模型的训练方法,可以基于人工智能技术实 现。该方法训练得到的对话模型,可以应用于人机交互的场景中。例如,聊天 机器人、对话系统以及终端智能助手等。用户在与聊天机器人进行聊天时,聊 天机器人可以将用户输入的内容作为对话上文输入对话模型中,由对话模型输 出多个对话回复,然后向用户展示其中一个对话回复。同理,对话系统和终端 智能助手也可以根据用户输入的内容,来输出符合用户需求的对话回复。
下面介绍一下对话模型的训练方法的实施环境,图1是根据本申请实施例 提供的一种对话模型的训练方法的实施环境示意图。该实施环境可以包括:终 端110和服务器120。
终端110以及服务器120可以通过有线或无线通信方式进行直接或间接地 连接,本申请在此不做限制。终端110可以是智能手机、平板电脑、笔记本电 脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110可以安 装和运行有支持人机交互的应用程序。该应用程序可以是聊天机器人类应用程 序、社交类应用程序以及终端智能助手类应用程序等。示意性的,终端110是 用户使用的终端,终端110中运行的应用程序内登录有用户账户。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服 务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、 云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及 大数据和人工智能平台等基础云计算服务的云服务器。服务器120用于为支持 人机交互的应用程序提供后台服务。可选地,服务器120承担主要模型训练工 作,终端110承担次要模型训练工作;或者,服务器120承担次要模型训练工 作,终端110承担主要模型训练工作;或者,服务器120或终端110分别可以 单独承担模型训练工作。
可选地,服务器120可以由接入服务器、模型训练服务器和数据库服务器 构成。接入服务器用于提供终端110提供接入服务。模型训练服务器用于根据 终端提供的已授权的对话数据进行模型训练。模型训练服务器可以是一台或多 台。当模型训练服务器是多台时,存在至少两台模型训练服务器用于提供不同 的服务,和/或,存在至少两台模型训练服务器用于提供相同的服务,比如以负 载均衡方式提供同一种服务,本申请实施例对此不加以限定。
终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终 端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述 对话模型的训练方法的实施例中还包括其他终端。本申请实施例对终端的数量 和设备类型不加以限定。
在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施 例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的 技术方法,本申请实施例对此不作限定。图2是本申请实施例提供的一种对话 模型的训练方法的流程图。该实施例以执行主体为服务器为例进行说明,参见 图2,该实施例包括:
201、服务器获取第一对话的至少两个第一对话特征和至少两个第二对话特 征,该第一对话特征和该第二对话特征分别用于表示第一对话上文和一个第一 对话回复的后验特征和先验特征,一个对话上文对应于至少两个对话回复。
在本申请实施例中,服务器可以从多个对话中选取一个对话作为第一对话, 该第一对话包括一个第一对话上文和该第一对话上文对应的至少两个第一对话 回复。对于任一一组第一对话上文和第一对话回复,服务器可以通过先验网络 和后验网络,分别获取对应先验特征和后验特征。
202、服务器基于该第一对话的至少两个第一对话特征和至少两个第二对话 特征,更新对话模型,该对话模型中包括先验网络和后验网络,该后验网络用 于估计该先验网络所输出的对话特征的概率分布。
在本申请实施例中,服务器可以获取第一对话的至少一个对话特征和至少 两个第二对话特征。其中第一对话中的一组第一对话上文和第一对话回复,可 以得到一个第一对话特征和一个第二对话特征,根据该第一对话特征和第二对 话特征对对话模型进行一次更新,更新对话模型中包括的先验网络和后验网络 的参数。再根据第一对话中的另一组第一对话上文和第一对话回复,得到另一 个第一对话特征和另一个对话特征,再对对话模型进行一次更新。对话模型更 新的次数与第一对话中包含的第一对话上文和第一对话回复的组数相同。
需要说明的是,该对话模型还可以包括编码器、解码器以及判别器,服务 器在更新上述先验网络和后验网络的参数的同时,还会更新上述编码器、解码 器以及判别器的参数。
203、服务器基于该第一对话的至少两个第一对话特征,更新该后验网络。
在本申请实施例中,服务器可以获取基于后验网络得到的上述第一对话的 至少两个第二对话特征,然后基于每个第二对话特征更新一次后验网络的参数。
204、服务器根据第二对话的至少两个第一对话特征和至少两个第二对话特 征,更新该对话模型中的判别器。
在本申请实施例中,服务器可以从多个对话中选择至少一个对话作为第二 对话,对于任一第二对话,服务器可以根据步骤201所描述的方式,获取该第 二对话的至少两个第一对话特征和至少两个第二对话特征。对于根据任一组第 二对话的第二对话上文和第二对话回复,可以得到一个第一对话特征和一个第 二对话特征,基于该第一对话特征和第二对话特征对判别器的参数进行一次更 新。此时,判别器更新的次数为第二对话中包含的第二对话上文和第二对话回 复的组数。
需要说明的是,上述过程只是判别器的一次迭代过程,服务器可以获取判 别器的迭代次数,然后根据该迭代次数进行多次迭代。
205、服务器响应于满足训练结束条件,将训练得到的模型作为对话模型。
在本申请实施例中,训练结束条件可以是达到预定的迭代次数,或者模型 收敛,或者模型输出的结果符合目标条件,或者符合其他训练结束条件等,本 申请实施例对此不进行限制。
在本申请实施例中,通过第一对话的多个对话特征来多次更新对话模型, 以及再次更新后验网络,再根据第二对话的多个对话特征来更新对话模型中的 判别器。使得根据对话的对话特征,多次更新对话模型的参数,考虑了对话的 不同语义,使得对话的回复包含多种语义,提高了通过对话模型生成的对话回 复的多样性。
在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施 例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的 技术方法,本申请实施例对此不作限定。图3是本申请实施例提供的一种对话 回复生成方法的流程图。该实施例以执行主体为终端为例进行说明,参见图3, 该实施例包括:
301、终端获取对话上文。
在本申请实施例中,该对话上文可以是终端用户输入的内容,例如文字、 语音或者表情符号等。
302、终端将该对话上文输入对话模型,基于该对话模型中的先验网络,从 多个对话回复对应的第二对话特征中随机抽取一个目标对话特征。
在本申请实施例中,终端可以设置有对话模型,将用户输入的内容作为对 话上文输入对话模型中,由该对话模型对输入的对话上文进行编码,将编码得 到的特征输入对话模型中的先验网络,基于该先验网络从多个第一对话特征中 随机抽取一个目标对话特征。由于是随机抽取,当终端再次输入该对话上文时, 先验网络抽取的对话特征可能与上一次抽取的对话特征不同,从而对话模型输 出的对话回复也就不同。
303、终端基于该对话模型中的解码器对该目标对话特征进行解码,输出目 标对话回复。
在本申请实施例中,对话模型中的解码器可以对随机抽取得到的目标对话特征进行解码,得到目标对话回复。先验网络随机抽取得到的对话特征不同,则解 码器解码得到的对话回复不同,。
304、终端展示该目标对话回复。
在本申请实施例中,终端可以采取语音播放、文字显示或者展示对应表情 符号的方式来对上述目标对话回复进行展示。
在本申请实施例中,通过采用随机抽取的方式获取对话上文所对应的对话 回复,使得同一对话上文在多次输入时,可以得到不同的对话回复,从而提高 了对话回复的多样性。
在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施 例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的 技术方法,本申请实施例对此不作限定。图4是本申请实施例提供的一种对话 模型的训练方法的流程图。该实施例以服务器进行一次迭代为例进行说明,参 见图4,该实施例包括:
401、服务器从多个对话中获取第一对话。
在本申请实施例中,服务器可以从多个对话中随机选择N个对话作为第一 对话,其中N为正整数。对于任一第一对话,该第一对话包括一个第一对话上 文以及与该第一对话上文对应的K个第一对话回复,其中K为大于等于2的正 整数。不同第一对话包括的第一对话回复的数量可以相同,也可以不同。
例如,数据集中包括1000个对话,服务器从中随机选择10个对话作为第 一对话,得到第一对话A、B、C、D、E、F、G、H、I和J,其中第一对话A 对应5个第一对话回复a1、a2、a3、a4以及a5,第一对话B对应6个第一对话 回复b1、b2、b3、b4、b5以及b6,第一对话C对应5个第一对话回复c1、c2、 c3、c4、c5以及c6。在此不再一一列举。
402、服务器获取第一对话的至少两个第一对话特征和至少两个第二对话特 征,该第一对话特征和该第二对话特征分别用于表示第一对话上文和一个第一 对话回复的后验特征和先验特征,一个对话上文对应于至少两个对话回复。
在本申请实施例中,一个第一对话中包括至少两个第一对话回复,则N个 第一对话中至少包括2N个第一对话回复。对于任一第一对话回复,服务器可以 对该第一对话回复以及对应的第一对话上文进行编码,然后将编码得到的向量 表示分别输入到先验网络和后验网络,得到先验特征和后验特征,也即第二对 话特征和第一对话特征。
以一个第一对话为例,对于该第一对话包括的每个第一对话回复,服务器 可以基于后验网络和先验网络,获取一个第一对话特征和一个第二对话特征。 相应的,服务器获取一个第一对话的至少两个第一对话特征和至少两个第二对 话特征的步骤,可以通过以下子步骤4021至子步骤4023来实现。
4021、对于任一第一对话回复,服务器可以基于该对话模型,对第一对话 上文和该第一对话回复分别进行编码,得到该第一对话上文的第一向量和第一 对话回复的第二向量。
在本申请实施例中,服务器可以将第一对话上文和第一对话回复分别输入 对话模型的编码器,该编码器为基于双向门控循环单元神经网络构建。服务器 可以根据该编码器,对上述第一对话上文和该第一对话回复分别进行编码,得 到该第一对话上文的第一向量和该第一对话回复的第二向量。
需要说明的是,编码器可以通过双向门控循环单元神经网络对所有输入, 如第一对话上文和第一对话回复,进行编码,编码得到的向量为固定长度的向 量。例如,以对第一对话上文
Figure BDA0002507426650000111
进行编码得到第一向量c为例进行说明。第一向 量c可以通过以下公式(1)至公式(4)计算得到。
Figure BDA0002507426650000112
其中,
Figure BDA0002507426650000113
表示第一对话上文
Figure BDA00025074266500001116
中左数第t个单词的向量表示,CRU()表示 门控循环单元,
Figure BDA0002507426650000114
表示第一对话上文
Figure BDA0002507426650000115
中左数第t-1个单词的向量表示,
Figure BDA0002507426650000116
表示第一对话上文
Figure BDA0002507426650000117
中左数第t个单词对应的编码。
Figure BDA0002507426650000118
其中,
Figure BDA0002507426650000119
表示第一对话上文
Figure BDA00025074266500001110
中右数第t个单词的向量表示,CRU()表示 门控循环单元,
Figure BDA00025074266500001111
表示第一对话上文
Figure BDA00025074266500001112
中右数第t+1个单词的向量表示,
Figure BDA00025074266500001113
表示第一对话上文
Figure BDA00025074266500001114
中右数第t个单词对应的编码。
Figure BDA00025074266500001115
其中,ht表示第一对话上文
Figure BDA0002507426650000121
中左数第t个单词的向量表示和第一对话上文
Figure BDA0002507426650000122
中右数第t个单词的向量表示的拼接向量。
Figure BDA0002507426650000123
其中,c表示第一对话上文
Figure BDA0002507426650000124
中左数第T个单词的向量表示和第一对话上文
Figure BDA0002507426650000125
中右数第1个单词的向量表示的拼接向量,T表示第一对话上文
Figure BDA0002507426650000126
中包括的单 词个数。
4022、服务器可以基于后验网络,根据该第一向量和第二向量,获取第一 对话特征。
在本申请实施例中,后验网络用于基于对话上文和对话回复来学习对话的 对话特征的分布,根据回复信息可以使得训练得到的对话模型中对话特征的分 布更准确。后验网络输出的对话特征的概率分布称为后验分布,该后验分布用 于估计先验分布,也即先验网络所输出的对话特征的概率分布。
在一种可选的实现方式中,假设当前需要重构的对话回复为第一对话回复, 后验分布服从正态分布。相应的,服务器基于后验网络,根据该第一向量和第 二向量,获取第一对话特征的步骤可以为:服务器可以基于后验网络,根据第 一对话上文的第一向量和第一对话回复的第二向量,获取后验分布的第一参数 均值和第一参数方差。服务器可以根据该第一参数均值、第一参数方差以及第 一采样值,获取第一对话特征。其中,第一采样值为从标准正态分布中或的采 样点的值。由于通过标准正态分布上的采样值来获取第一对话特征,使得在训 练过程中,基于该第一对话特征由解码器重构出对话回复,并基于重构出的对 话回复与第一对话回复之间的差别来调整对话模型的参数,使该第一对话特征 与第一对话回复的差别较小,从而可以用第一对话特征来表示第一对话回复。
需要说明的是,服务器基于后验网络,获取第一对话特征时,可以通过以 下公式(5)和公式(6)来计算得到。
Figure BDA0002507426650000127
其中,μk表示第一参数均值,σk表示第一参数方差,W表示可变参数,gφ() 表示后验网络,xk表示第一对话回复的第二向量,c表示第一对话上文的第一向 量,b表示偏置参数。
Figure BDA0002507426650000128
其中,zk表示第一对话特征,μk表示第一参数均值,σk表示第一参数方差, 表示第一采样值,
Figure BDA0002507426650000131
表示∈服从标准正态分布。
4023、服务器可以基于先验网络,根据该第一向量和该第一对话回复所属 的回复类别,获取第二对话特征,该回复类别包括与该第一对话回复属于相同 类别的至少一个其他对话回复。
在本申请实施例中,先验网络用于表示真实的对话特征的概率分布,可以 由后验分布估计得出。在通过后验分布估计先验分布时,需要从先验分布中选 择一个子分布去匹配后验分布。为了能够精确的匹配后验分布和先验分布,可 以对一个对话上文对应的至少两个对话回复进行聚类,得到多个回复类别。然 后在获取第二对话特征时,根据第一对话回复所属的回复类别来选择先验分布 中的子分布。
在一种可选的实现方式中,假设先验分布服从混合高斯,服务器可以根据 第一对话回复所属的回复类别来选择子分布,然后从该子分布上采样得到第二 对话特征。相应的,服务器基于先验网络,根据该第一向量和该第一对话回复 所属的回复类别,获取第二对话特征的步骤可以为:服务器可以根据第一向量 和第一对话回复所属的回复类别,确定目标概率分布,该目标概率分布为先验 网络所输出的对话特征的概率分布中该回复类别对应的概率分布,也即用于与 后验分布进行匹配的子分布。服务器可以基于先验网络,根据第一向量,获取 第二参数均值和第二参数方差。服务器可以根据第二参数均值、第二参数方差 以及第二采样值,获取第二对话特征。其中,该第二采样值为从目标概率分布 中获取的采样点的值。由于通过混合高斯分布中的子分布上的采样值来获取第 二对话特征,使得在训练过程中,基于编码器,根据该第二对话特征与第一对 话特征,获取先验分布和后验分布之间的Wasserstein(瓦瑟斯坦)距离,从而 精确的匹配先验分布和后验分布。
需要说明的是,服务器基于先验网络,获取第二对话特征时,可以通过以 下公式(7)至公式(9)来计算能得到。
Figure BDA0002507426650000132
其中,
Figure BDA0002507426650000133
表示第二对话特征,
Figure BDA0002507426650000134
表示第二对话特征服从先验分布, 表示回复类别的标识,J表示回复类别的总数,πj表示子分布选择参数,rk表 示第k个对话回复,
Figure BDA0002507426650000135
表示先验分布。
Figure BDA0002507426650000141
其中,
Figure BDA0002507426650000142
表示回复类别j对应的目标概率分布的第二参数均值,
Figure BDA0002507426650000143
表示回 复类别j对应的目标概率分布的第二参数方差,
Figure BDA0002507426650000144
表示回复类别j对应的目标概 率分布的可变参数,fθ()表示先验网络,c表示第一对话上文的第一向量,
Figure BDA0002507426650000145
表 示回复类别j对应的目标概率分布的偏置参数。
Figure BDA0002507426650000146
其中,
Figure BDA0002507426650000147
表示第二对话特征,
Figure BDA0002507426650000148
表示回复类别j对应的目标概率分布的第二 参数均值,
Figure BDA0002507426650000149
表示回复类别j对应的目标概率分布的第二参数方差,
Figure BDA00025074266500001410
表示第二 采样值,
Figure BDA00025074266500001411
表示
Figure BDA00025074266500001412
服从标准正态分布。
需要说明的是,对于任一第一对话,根据该第一对话包括至少两个对话回 复,可以得到至少两个后验分布,从每个后验分布上可以采样得到一个第一对 话特征zk。根据该第一对话包括的对话上文,可以得到一个先验分布,该先验 分布包括至少两个子分布,从每个子分布上可以采样得到一个第二对话特征
Figure BDA00025074266500001413
也即针对于同一个第一对话,得到的至少两个第二对话特征
Figure BDA00025074266500001414
来自于同一个先验 分布。
403、服务器基于该第一对话的至少两个第一对话特征和至少两个第二对话 特征,更新对话模型,该对话模型中包括先验网络和后验网络,该后验网络用 于估计该先验网络所输出的对话特征的概率分布。
在本申请实施例中,对于任一第一对话回复,服务器可以获取该第一对话 回复对应的第一对话特征和第二对话特征。服务器可以根据第一对话上文编码 得到的第一向量、第一对话特征和第二对话特征,获取判别器损失和重构损失。 然后,服务器可以根据该判别器损失,更新对话模型中后验网络和先验网络的 参数,根据该重构损失,更新对话模型中编码器、后验网络、先验网络以及解 码器的参数。最后,服务器可以根据判别器损失,更新对话模型中判别器的参 数。
需要说明的是,判别器的损失可以通过对抗式网络优化后验分布与先验分 布之间的Wasserstein(瓦瑟斯坦)距离来获得。服务器可以基于对话模型中的 判别器,根据第一对话上文的第一向量、第一对话特征和第二对话特征,获取 第一对话特征和第二对话特征之间的第一瓦瑟斯坦距离,将该第一瓦斯斯坦距 离作为判别器损失。相应的,判别器损失可以通过公式(10)计算得到。
Figure BDA0002507426650000151
其中,
Figure BDA0002507426650000152
表示判别器损失,
Figure BDA0002507426650000153
表示第一对话特征zk的数学期望, D()表示判别器,zk表示第一对话特征,c表示第一对话上文的第一向量,
Figure BDA0002507426650000154
表示第二对话特征
Figure BDA0002507426650000155
的数学期望,
Figure BDA0002507426650000156
表示第二对话特征。
相应的,服务器根据判别器损失,更新对话模型中先验网络的参数时,可 以通过公式(11)计算得到。
Figure BDA0002507426650000157
其中,θP-net表示先验网络的参数,lr表示对话模型的学习率,
Figure BDA0002507426650000158
表示求导,
Figure BDA0002507426650000159
表示判别器损失。
相应的,服务器根据判别器损失,更新对话模型中后验网络的参数是,可 以通过公式(12)计算得到。
Figure BDA00025074266500001510
其中,θR-net表示先验网络的参数,lr表示对话模型的学习率,
Figure BDA00025074266500001511
表示求导,
Figure BDA00025074266500001512
表示判别器损失。
需要说明的是,重构损失可以根据后验分布上采样得到的第一对话特征, 基于解码器对该第一对话特征进行解码,重构对话回复,基于重构的对话回复 与第一对话回复之间的误差确定重构损失。服务器可以基于对话模型中的解码 器,对第一对话特征进行解码,获取解码得到的目标对话回复对应的目标对话 特征。服务器可以根据第一向量、第一对话特征、第二对话特征和目标对话特 征,获取重构损失。相应的,重构损失可以通过公式(13)计算得到。
Figure BDA00025074266500001513
其中,
Figure BDA00025074266500001514
表示重构损失,
Figure BDA00025074266500001515
表示从后验分布中无限次采样得到 的第一对话特征zk使得重构的目标对话特征的概率整体足够大的数学期望, pψ()表示解码器,xk表示目标对话特征。
相应的,服务器更新对话模型中编码器、后验网络、先验网络以及解码器 的参数时,可以通过公式(14)来计算得到。
Figure BDA00025074266500001516
其中,θnet表示net的参数,lr表示对话模型的学习率,
Figure BDA00025074266500001517
表示重构损失s.t.net∈{Enc,P-net,R-net,Dec}表示net是Enc、P-net、R-net以及Dec 中的一个,Enc表示编码器,P-net表示先验网络,R-net表示后验网络,Dec 表示解码器。
相应的,服务器根据判别器损失,更新对话模型中判别器的参数时,可以 通过公式(15)计算得到。
Figure BDA0002507426650000161
其中,θDisc表示判别器的参数,lr表示对话模型的学习率,
Figure BDA0002507426650000162
表示求导,
Figure BDA0002507426650000163
表示判别器损失。
404、服务器基于该第一对话的至少两个第一对话特征,更新该后验网络。
在本申请实施例中,服务器通过上述步骤可以得到至少两个第一对话特征, 也即后验特征,为了使对话模型最终学习到的先验分布是可区分的多语义分布, 服务器可以基于语义距离的优化目标来控制对话上文对应的后验分布之间的语 义距离。
在一种可选的实现方式中,服务器可以通过使用最大均值差异来最大化一 个第一对话特征和其他第一对话特征的平均值的Wasserstein距离。相应的服务 器基于该第一对话的至少两个第一对话特征,更新该后验网络的步骤可以为: 对于任一第一对话特征,服务器可以获取该至少两个第一对话特征中除该第一 对话特征外其他第一对话特征的平均值,将该平均值作为平均对话特征。服务 器可以获取该第一对话特征与平均对话特征之间的第二瓦瑟斯坦距离,将该第 二瓦瑟斯坦距离作为语义损失。服务器可以根据该语义损失,更新后验网络的 参数。由于控制了后验分布之间的语义距离,使得先验分布是可区分的多语义 分布。
需要说明的是,服务器在获取该至少两个第一对话特征中除该第一对话特 征外其他第一对话特征的平均值时,可以通过以下公式(16)计算得到。
Figure BDA0002507426650000164
其中,
Figure BDA0002507426650000165
表示平均对话特征,K表示第一对话特征的数量,zi表示第i个第 一对话特征,
Figure BDA0002507426650000166
表示i属于集合
Figure BDA0002507426650000167
集合
Figure BDA0002507426650000168
中不包括K 个第一对话特征中的zk
相应的,服务器可以通过以下公式(17)来计算语义损失。
Figure BDA0002507426650000169
其中,
Figure BDA0002507426650000171
表示语义损失,zk表示第一对话特征,
Figure BDA0002507426650000172
表示平均对话特征, GKF()表示高斯核函数,
Figure BDA0002507426650000173
表示从后验分布上采样不同的第一对话特征zk之间的距离足够小的数学期望,
Figure BDA0002507426650000174
表示从后验分布上采样的第一对话特征zk与其他后验分布的平均对话特征
Figure BDA0002507426650000175
距离足够大的数学期望,
Figure BDA0002507426650000176
表示其他后验 分布的平均对话特征
Figure BDA0002507426650000177
之间的距离足够小的数学期望。
相应的,服务器根据该语义损失,更新后验网络的参数时,可以通过以下 公式(18)来计算得到。
Figure BDA0002507426650000178
其中,θR-net表示后验网络的参数,lr表示对话模型的学习率,
Figure BDA0002507426650000179
表示求导,
Figure BDA00025074266500001710
表示语义损失。
405、服务器根据第二对话的至少两个第一对话特征和至少两个第二对话特 征,更新该对话模型中的判别器。
在本申请实施例中,服务器可以设置判别器的更新次数,每次更新判别器 时,服务器可以从多个对话中选择至少一个对话作为第二对话,然后获取第二 对话的至少两个第一对话特征和至少两个第二对话特征,可以参见步骤402,在 此不再赘述。对于任一第二对话的第二对话回复,服务器可以根据该第二对话 回复对应的第一对话特征和第二对话特征,获取判别器损失,具体可以参见步 骤403,在此不再赘述。服务器可以根据该判别器损失,更新对话模型中的判别 器。服务器更新对话模型中的判别器的参数时,可以参见上述公式(15),在此 不再赘述。
需要说明的是,上述步骤401至步骤405是本申请实施例提供的对话模型 的训练方法的一次迭代过程,服务器可以重复上述步骤,直至满足训练结束条 件。
在本申请实施例中,通过第一对话的多个对话特征来多次更新对话模型, 以及再次更新后验网络,再根据第二对话的多个对话特征来更新对话模型中的 判别器。使得根据对话的对话特征,多次更新对话模型的参数,考虑了对话的 不同语义,使得对话的回复包含多种语义,提高了通过对话模型生成的对话回 复的多样性。
图5是根据本申请实施例提供的一种对话模型的结构示意图,如图5所示, 左侧示意性示出了一个第一对话,该第一对话包括一个第一对话上文和K个第 一对话回复。将该第一对话输入编码器可以得到第一对话上文的第一向量和第 一对话回复的第二向量。将第一向量输入先验网络可以得到先验分布,从先验 分布的各子分布上可以采样得到多个第二对话特征。将第二向量分别输入后验 网络可以得到后验分布,从一个后验分布上可以采样得到一个第一对话特征, 第k个第一对话回复对应的第一对话特征为zk,其他第一对话特征的平均值为
Figure BDA0002507426650000181
解码器对第一对话特征为zk进行解码,得到重构的对话回复,重构的对话回复 与第一对话回复越相近越好。
下面介绍一下本申请实施例在训练上述对话模型时用到的多语义WAE(WassersteinAuto-Encoder,Wasserstein自动编码器)算法。
Figure RE-GDA0002613107480000182
Figure RE-GDA0002613107480000191
为了使上述多语义WAE算法所描述的步骤更清晰,可以参见图6所示,图 6是根据本申请实施例提供的一种多语义WAE算法的流程示意图。该WAE算 法的输入为多个对话,步骤1为初始化编码器参数;步骤2模型迭代判定条件; 步骤3为获取至少一个第一对话;步骤4为基于第一对话中的第一对话回复, 进行迭代判定;步骤5为对第一对话上文和第一对话回复进行编码;步骤6为 根据后验网络,得到第一对话特征;步骤7为根据先验网络,得到第二对话特 征;步骤8为根据判别器损失,更新先验网络;步骤9为根据判别器损失,更 新后验网络;步骤10为根据重构损失,更新编码器、后验网络、先验网络以及 解码器;步骤11为根据判别器损失更新判别器;步骤12为基于第一对话回复 的迭代结束;步骤13为基于第一对话特征,进行迭代判定;步骤14为根据语 义损失,更新后验网络。步骤15为基于第一对话特征的迭代结束;步骤16为 基于判别器更新次数,进行迭代判定;步骤17为获取至少一个第二对话;步骤 18为基于第二对话中的第二对话回复,进行迭代判定;步骤19为重复上述步骤 5至步骤7;步骤20为根据判别器损失更新判别器;步骤21为基于第二对话回 复的迭代结束;步骤22为判别器更新次数加1;步骤23为基于判别器更新次数 的迭代结束;步骤24为模型迭代次数加1;步骤25为模型迭代结束。
需要说明的是,上述WAE算法中可输入的文集
Figure BDA0002507426650000192
可以通 过下述算法得到。
Figure BDA0002507426650000201
需要说明的是,为了验证本申请实施例提供的对话模型的训练方法训练得 到的对话模型,具有良好的效果,本申请实施例还设计了实验进行验证。实验 通过两个公共会话数据集进行评估。一个数据集是Douban(出自YuWu,FuruWei, Shaohan Huang,YunliWang,Zhou jun Li,and Ming Zhou在2019年发表的 《Response generationby context-aware prototype editing》,发表于Proceedings of theAAAI Conference onArtificialIntelligence,第33卷,7281-7288页)。另一个 是DailyDialg(出自Yanran Li,Hui Su,Xiaoyu Shen,Wenjie Li,Ziqiang Cao,and Shuzi Niu在2017年发表的《DailyDialog:Amanually labelled multi-turn dialogue dataset》,发表于Proceedings oftheEighth International Joint Conference onNatural Language Processing(Volume 1:Long Papers),第986-995页)。数据集中样本数 量的统计汇总可以参见表1所示。需要说明的是,在Douban和DailyDialog对 话数据集的词汇量分别为20,000和10,000。
表1
数据集 train valid vest
Douban 894,721 15,000 15,000
DailyDialog 68,096 6,895 6,695
下面介绍一下实验中用于对比的其他方法。在实验时,将本申请实施例提 供的MS-WAE(Multi-Semantic wasserstein auto encoder,多语义瓦瑟斯坦自动编 码)方法与Bahdanau等人于2015年提出的Seq2Seq-attn(The standard Seq2Seq architecture withattentionmechanism,带有注意力机制的标准Seq2Seq架构)方 法,Gao等人于2019年提出的DCVAE(Adiscrete CVAE forresponse generation on short-text conversation,用于短文本对话产生响应的离散CVAE(Conditional Auto Encoder,有条件的自动编码))方法,Chen等人于2019年提出的MMPMS (Generating multiple diverse responses withmulti-mapping and posterior mapping selection,通过多映射和后验映射选择产生多种多样的响应)方法,以及Gu等 人于2018年提出的DialogWAE(Multimodal responsegeneration with conditional wasserstein auto encoder,使用条件瓦瑟斯坦自动编码器生成多模态响应)方法。
下面介绍一下实验的评价标准。在实验时,通过BLUE(一种机器翻译的自 动评价方法)、BOW Embedding(bag ofwords Embedding,词袋模型嵌入)、 intra-dist(内在差异),以及inter-dist(外在差异)者四个大的方面来进行评价。 其中,BLUE包括Recall(召回率)、Precision(精确度)以及F1(F1-Score,F1 分数)。BOWEmbedding包括Average(平均值)、Extrema(极值)以及Greedy (贪婪值)。intra-dist包括dist-1和dist-2,inter-dist包括dist-1和dist-2。
实验结果可以参见表2所示。
表2
Figure BDA0002507426650000211
表2中带有+号的数字表示超过最佳基本阈值的数值,具有统计学意义。表2中的数据表明,本申请提出的MA-WAE方法显著提高了多样性并保持了相关 性。
另外,本申请还设计了人工评判实验。实验过程中招募了5名参与人员, 分别从Informativeness(信息性,衡量一个对话回复是否提供有意义的信息)、 Appropriateness(恰当性,衡量一个对话回复是否符合逻辑)以及Semantic Diversity(语义多样性)。评分分值为0-2,0表示最差,2表示最好。
人工评判实验结果可以参见表3所示。
表3
Figure BDA0002507426650000221
表3中示出了所有方法的平均值±标准差,结果表明,在语义多样性方面, MS-WAE在两个数据集上都大大优于其他数据集,超过了基线。
图7是根据本申请实施例提供的一种对话模型的训练装置的框图。该装置 用于执行上述对话模型的训练方法执行时的步骤,参见图7,装置包括:特征获 取模块701、模型更新模块702以及模型获取模块703。
特征获取模块701,用于获取第一对话的至少两个第一对话特征和至少两个 第二对话特征,该第一对话特征和该第二对话特征分别用于表示第一对话上文 和一个第一对话回复的后验特征和先验特征,一个对话上文对应于至少两个对 话回复;
模型更新模块702,用于基于该第一对话的至少两个第一对话特征和至少两 个第二对话特征,更新对话模型,该对话模型中包括先验网络和后验网络,该 后验网络用于估计该先验网络所输出的对话特征的概率分布;
该模型更新模块702,还用于基于该第一对话的至少两个第一对话特征,更 新该后验网络;
该模型更新模块702,还用于根据第二对话的至少两个第一对话特征和至少 两个第二对话特征,更新该对话模型中的判别器;
模型获取模块703,用于响应于满足训练结束条件,将训练得到的模型作为 对话模型。
在一种可选的实现方式中,该特征获取模块701,用于对于任一第一对话回 复,基于该对话模型,对该第一对话上文和该第一对话回复分别进行编码,得 到该第一对话上文的第一向量和该第一对话回复的第二向量;基于该后验网络, 根据该第一向量和该第二向量,获取第一对话特征;基于该先验网络,根据该 第一向量和该第一对话回复所属的回复类别,获取第二对话特征,该回复类别 包括与该第一对话回复属于相同类别的至少一个其他对话回复。
在一种可选的实现方式中,该特征获取模块701,还用于将该第一对话上文 和该第一对话回复分别输入该对话模型的编码器,该编码器为基于双向门控循 环单元神经网络构建;根据该编码器,对该第一对话上文和该第一对话回复分 别进行编码,得到该第一对话上文的第一向量和该第一对话回复的第二向量。
在一种可选的实现方式中,该特征获取模块701,还用于基于该后验网络, 根据该第一向量和该第二向量,获取第一参数均值和第一参数方差;根据该第 一参数均值、该第一参数方差以及第一采样值,获取第一对话特征,该第一采 样值为从标准正态分布中获取的采样点的值。
在一种可选的实现方式中,该特征获取模块701,还用于根据该第一向量和 该第一对话回复所属的回复类别,确定目标概率分布,该目标概率分布为该先 验网络所输出的对话特征的概率分布中该回复类别对应的概率分布;基于该先 验网络,根据该第一向量,获取第二参数均值和第二参数方差;根据该第二参 数均值、该第二参数方差以及第二采样值,获取第二对话特征,该第二采样值 为从该目标概率分布中获取的采样点的值。
在一种可选的实现方式中,该模型更新模块702,用于对于任一第一对话回 复,获取该第一对话回复对应的第一对话特征和第二对话特征;根据该第一对 话上文编码得到的第一向量、该第一对话特征和该第二对话特征,获取判别器 损失和重构损失;根据该判别器损失,更新该对话模型中后验网络和先验网络 的参数;根据该重构损失,更新该对话模型中编码器、该后验网络、该先验网 络以及解码器的参数;根据该判别器损失,更新该对话模型中判别器的参数。
在一种可选的实现方式中,该模型更新模块702,还用于基于该对话模型中 的判别器,根据该第一对话上文的第一向量、该第一对话特征和该第二对话特 征,获取该第一对话特征和该第二对话特征之间的第一瓦瑟斯坦距离,将该第 一瓦斯斯坦距离作为判别器损失。
在一种可选的实现方式中,该模型更新模块702,还用于基于该对话模型中 的解码器,对该第一对话特征进行解码,获取解码得到的目标对话回复对应的 目标对话特征;根据该第一向量、该第一对话特征、该第二对话特征和该目标 对话特征,获取重构损失。
在一种可选的实现方式中,该模型更新模块702,还用于对于任一第一对话 特征,获取该至少两个第一对话特征中除该第一对话特征外其他第一对话特征 的平均值,将该平均值作为平均对话特征;获取该第一对话特征与该平均对话 特征之间的第二瓦瑟斯坦距离,将该第二瓦瑟斯坦距离作为语义损失;根据该 语义损失,更新该后验网络的参数。
在本申请实施例中,通过第一对话的多个对话特征来多次更新对话模型, 以及再次更新后验网络,再根据第二对话的多个对话特征来更新对话模型中的 判别器。使得根据对话的对话特征,多次更新对话模型的参数,考虑了对话的 不同语义,使得对话的回复包含多种语义,提高了通过对话模型生成的对话回 复的多样性。
需要说明的是:上述实施例提供的对话模型的训练装置在运行应用程序时, 仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上 述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模 块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对话模型 的训练装置与对话模型的训练方法实施例属于同一构思,其具体实现过程详见 方法实施例,这里不再赘述。
图8是根据本申请实施例提供的一种对话回复生成装置的框图。该装置用 于执行上述对话回复生成方法执行时的步骤,参见图8,装置包括:对话获取模 块801、特征抽取模块802、回复输出模块803以及回复展示模块804。
对话获取模块801,用于获取对话上文;
特征抽取模块802,用于将所述对话上文输入对话模型,基于所述对话模型 中的先验网络,从多个对话回复对应的第一对话特征中随机抽取一个目标对话 特征;
回复输出模块803,用于基于所述对话模型中的解码器对所述目标对话特征 进行解码,输出目标对话回复;
回复展示模块804,用于展示所述目标对话回复。
在本申请实施例中,通过采用随机抽取的方式获取对话上文所对应的对话 回复,使得同一对话上文在多次输入时,可以得到不同的对话回复,从而提高 了对话回复的多样性。
需要说明的是:上述实施例提供的对话回复生成装置在运行应用程序时, 仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上 述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模 块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对话回复 生成装置与对话回复生成方法实施例属于同一构思,其具体实现过程详见方法 实施例,这里不再赘述。
在本申请实施例中,计算机设备可被配置为终端或者服务器,当计算机设 备被配置为终端时,可以由终端作为执行主体来实施本申请实施例提供的技术 方案,当计算机设备被配置为服务器时,可以由服务器作为执行主体来实施本 申请实施例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申 请提供的技术方法,本申请实施例对此不作限定。
计算机设备被配置为终端时,图9是本申请实施例提供的一种终端900的 结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放 器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、 膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理 器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、 FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA (Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。 处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下 的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器); 协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施 例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器), GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用 于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储 介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失 性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中, 存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少 一个指令用于被处理器901所执行以实现本申请中方法实施例提供的对话模型 的训练方法,或者对话回复生成方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个 外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信 号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903 相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、 音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少 一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、 存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实 施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以 在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电 磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。 射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号 转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多 个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块 卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。 该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施 例中,射频电路904还可以包括NFC(NearField Communication,近距离无线 通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、 文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示 屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸 信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以 用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中, 显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏 905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些 实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折 叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。 显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置 摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设 置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、 景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深 摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及 VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施 例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可 以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以 用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声 波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路 904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别 设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。 扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器 可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬 声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为 人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以 包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS (LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的 GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的 格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、 直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电 电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个 传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器 913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加 速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上 的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制 显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还 可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感 器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器 901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根 据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当 压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持 信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快 捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用 户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操 作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914 采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识 别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户 执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、 支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。 当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键 或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以 根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地, 当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调 低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传 感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传 感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接 近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器 901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户 与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息 屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定, 可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件 布置。
计算机设备被配置为服务器时,图10是根据本申请实施例提供的一种服务 器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可 以包括一个或一个以上处理器(Central Processing Units,CPU)1001和一个或 一个以上的存储器1002,其中,该存储器1002中存储有至少一条指令,该至少 一条指令由该处理器1001加载并执行以实现上述各个方法实施例提供的对话模 型的训练方法或者对话回复生成方法。当然,该服务器还可以具有有线或无线 网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1000 还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质 应用于计算机设备,该计算机可读存储介质中存储有至少一条程序代码,该至 少一条程序代码用于被处理器执行并实现本申请实施例中的对话模型的训练方 法或者对话回复生成方法中计算机设备所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过 硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于 一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或 光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的 保护范围之内。

Claims (15)

1.一种对话模型的训练方法,其特征在于,所述方法包括:
获取第一对话的至少两个第一对话特征和至少两个第二对话特征,所述第一对话特征和所述第二对话特征分别用于表示第一对话上文和一个第一对话回复的后验特征和先验特征,一个对话上文对应于至少两个对话回复;
基于所述第一对话的至少两个第一对话特征和至少两个第二对话特征,更新对话模型,所述对话模型中包括先验网络和后验网络,所述后验网络用于估计所述先验网络所输出的对话特征的概率分布;
基于所述第一对话的至少两个第一对话特征,更新所述后验网络;
根据第二对话的至少两个第一对话特征和至少两个第二对话特征,更新所述对话模型中的判别器;
响应于满足训练结束条件,将训练得到的模型作为对话模型。
2.根据权利要求1所述的方法,其特征在于,所述获取第一对话的至少两个第一对话特征和至少两个第二对话特征,包括:
对于任一第一对话回复,基于所述对话模型,对所述第一对话上文和所述第一对话回复分别进行编码,得到所述第一对话上文的第一向量和所述第一对话回复的第二向量;
基于所述后验网络,根据所述第一向量和所述第二向量,获取第一对话特征;
基于所述先验网络,根据所述第一向量和所述第一对话回复所属的回复类别,获取第二对话特征,所述回复类别包括与所述第一对话回复属于相同类别的至少一个其他对话回复。
3.根据权利要求2所述的方法,其特征在于,所述基于所述对话模型,对所述第一对话上文和所述第一对话回复分别进行编码,得到所述第一对话上文的第一向量和所述第一对话回复的第二向量,包括:
将所述第一对话上文和所述第一对话回复分别输入所述对话模型的编码器,所述编码器为基于双向门控循环单元神经网络构建;
根据所述编码器,对所述第一对话上文和所述第一对话回复分别进行编码,得到所述第一对话上文的第一向量和所述第一对话回复的第二向量。
4.根据权利要求2所述的方法,其特征在于,所述基于所述后验网络,根据所述第一向量和所述第二向量,获取第一对话特征,包括:
基于所述后验网络,根据所述第一向量和所述第二向量,获取第一参数均值和第一参数方差;
根据所述第一参数均值、所述第一参数方差以及第一采样值,获取第一对话特征,所述第一采样值为从标准正态分布中获取的采样点的值。
5.根据权利要求2所述的方法,其特征在于,所述基于所述先验网络,根据所述第一向量和所述第一对话回复所属的回复类别,获取第二对话特征,包括:
根据所述第一向量和所述第一对话回复所属的回复类别,确定目标概率分布,所述目标概率分布为所述先验网络所输出的对话特征的概率分布中所述回复类别对应的概率分布;
基于所述先验网络,根据所述第一向量,获取第二参数均值和第二参数方差;
根据所述第二参数均值、所述第二参数方差以及第二采样值,获取第二对话特征,所述第二采样值为从所述目标概率分布中获取的采样点的值。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一对话的至少两个第一对话特征和至少两个第二对话特征,更新对话模型,包括:
对于任一第一对话回复,获取所述第一对话回复对应的第一对话特征和第二对话特征;
根据所述第一对话上文编码得到的第一向量、所述第一对话特征和所述第二对话特征,获取判别器损失和重构损失;
根据所述判别器损失,更新所述对话模型中后验网络和先验网络的参数;
根据所述重构损失,更新所述对话模型中编码器、所述后验网络、所述先验网络以及解码器的参数;
根据所述判别器损失,更新所述对话模型中判别器的参数。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一对话上文编码得到的第一向量、所述第一对话特征和所述第二对话特征,获取判别器损失,包括:
基于所述对话模型中的判别器,根据所述第一对话上文的第一向量、所述第一对话特征和所述第二对话特征,获取所述第一对话特征和所述第二对话特征之间的第一瓦瑟斯坦距离,将所述第一瓦斯斯坦距离作为判别器损失。
8.根据权利要求6所述的方法,其特征在于,所述根据所述第一对话上文编码得到的第一向量、所述第一对话特征和所述第二对话特征,获取重构损失,包括:
基于所述对话模型中的解码器,对所述第一对话特征进行解码,获取解码得到的目标对话回复对应的目标对话特征;
根据所述第一向量、所述第一对话特征、所述第二对话特征和所述目标对话特征,获取重构损失。
9.根据权利要求1所述的方法,其特征在于,所述基于所述第一对话的至少两个第一对话特征,更新所述后验网络,包括:
对于任一第一对话特征,获取所述至少两个第一对话特征中除所述第一对话特征外其他第一对话特征的平均值,将所述平均值作为平均对话特征;
获取所述第一对话特征与所述平均对话特征之间的第二瓦瑟斯坦距离,将所述第二瓦瑟斯坦距离作为语义损失;
根据所述语义损失,更新所述后验网络的参数。
10.一种对话回复生成方法,其特征在于,所述方法包括:
获取对话上文;
将所述对话上文输入对话模型,基于所述对话模型中的先验网络,从多个对话回复对应的第二对话特征中随机抽取一个目标对话特征;
基于所述对话模型中的解码器对所述目标对话特征进行解码,输出目标对话回复;
展示所述目标对话回复。
11.一种对话模型的训练装置,其特征在于,所述装置包括:
特征获取模块,用于获取第一对话的至少两个第一对话特征和至少两个第二对话特征,所述第一对话特征和所述第二对话特征分别用于表示第一对话上文和一个第一对话回复的后验特征和先验特征,一个对话上文对应于至少两个对话回复;
模型更新模块,用于基于所述第一对话的至少两个第一对话特征和至少两个第二对话特征,更新对话模型,所述对话模型中包括先验网络和后验网络,所述后验网络用于估计所述先验网络所输出的对话特征的概率分布;
所述模型更新模块,还用于基于所述第一对话的至少两个第一对话特征,更新所述后验网络;
所述模型更新模块,还用于根据第二对话的至少两个第一对话特征和至少两个第二对话特征,更新所述对话模型中的判别器;
模型获取模块,用于响应于满足训练结束条件,将训练得到的模型作为对话模型。
12.根据权利要求11所述的装置,其特征在于,所述特征获取模块,用于对于任一第一对话回复,基于所述对话模型,对所述第一对话上文和所述第一对话回复分别进行编码,得到所述第一对话上文的第一向量和所述第一对话回复的第二向量;基于所述后验网络,根据所述第一向量和所述第二向量,获取第一对话特征;基于所述先验网络,根据所述第一向量和所述第一对话回复所属的回复类别,获取第二对话特征,所述回复类别包括与所述第一对话回复属于相同类别的至少一个其他对话回复。
13.一种对话回复生成装置,其特征在于,所述装置包括:
对话获取模块,用于获取对话上文;
特征抽取模块,用于将所述对话上文输入对话模型,基于所述对话模型中的先验网络,从多个对话回复对应的第一对话特征中随机抽取一个目标对话特征;
回复输出模块,用于基于所述对话模型中的解码器对所述目标对话特征进行解码,输出目标对话回复;
回复展示模块,用于展示所述目标对话回复。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行权利要求1至9所述的对话模型的训练方法,或者执行权利要求10所述的对话回复生成方法。
15.一种存储介质,其特征在于,所述存储介质用于存储至少一段程序代码,所述至少一段程序代码用于执行权利要求1至9任一权利要求所述的对话模型的训练方法,或者执行权利要求10所述的对话回复生成方法。
CN202010450194.0A 2020-05-25 2020-05-25 对话模型的训练方法、装置、计算机设备及存储介质 Active CN111680123B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010450194.0A CN111680123B (zh) 2020-05-25 2020-05-25 对话模型的训练方法、装置、计算机设备及存储介质
JP2022538829A JP7431977B2 (ja) 2020-05-25 2021-05-06 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム
PCT/CN2021/091954 WO2021238599A1 (zh) 2020-05-25 2021-05-06 对话模型的训练方法、装置、计算机设备及存储介质
US17/715,778 US20220309088A1 (en) 2020-05-25 2022-04-07 Method and apparatus for training dialog model, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010450194.0A CN111680123B (zh) 2020-05-25 2020-05-25 对话模型的训练方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111680123A true CN111680123A (zh) 2020-09-18
CN111680123B CN111680123B (zh) 2024-01-26

Family

ID=72434775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010450194.0A Active CN111680123B (zh) 2020-05-25 2020-05-25 对话模型的训练方法、装置、计算机设备及存储介质

Country Status (4)

Country Link
US (1) US20220309088A1 (zh)
JP (1) JP7431977B2 (zh)
CN (1) CN111680123B (zh)
WO (1) WO2021238599A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702329A (zh) * 2020-12-21 2021-04-23 四川虹微技术有限公司 一种流量数据异常检测方法、装置和存储介质
CN113254597A (zh) * 2021-06-23 2021-08-13 腾讯科技(深圳)有限公司 模型训练方法、查询处理方法及相关设备
CN113569212A (zh) * 2021-07-30 2021-10-29 上海交通大学 基于自动编码器的击键动力学身份认证与识别方法及系统
WO2021238599A1 (zh) * 2020-05-25 2021-12-02 腾讯科技(深圳)有限公司 对话模型的训练方法、装置、计算机设备及存储介质
CN117785964A (zh) * 2024-02-28 2024-03-29 宜宾市万事通网络信息服务有限公司 应用于网络服务的数据处理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897797A (zh) * 2018-06-12 2018-11-27 腾讯科技(深圳)有限公司 对话模型的更新训练方法、装置、存储介质及电子设备
CN110222164A (zh) * 2019-06-13 2019-09-10 腾讯科技(深圳)有限公司 一种问答模型训练方法、问题语句处理方法、装置及存储介质
CN110457457A (zh) * 2019-08-02 2019-11-15 腾讯科技(深圳)有限公司 对话生成模型的训练方法、对话生成方法及装置
US20200104670A1 (en) * 2018-09-28 2020-04-02 Samsung Electronics Co., Ltd. Electronic device and method of obtaining emotion information
CN111143509A (zh) * 2019-12-09 2020-05-12 天津大学 一种基于静态-动态注意力变分网络的对话生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3454260A1 (en) * 2017-09-11 2019-03-13 Tata Consultancy Services Limited Bilstm-siamese network based classifier for identifying target class of queries and providing responses thereof
US10303978B1 (en) * 2018-03-26 2019-05-28 Clinc, Inc. Systems and methods for intelligently curating machine learning training data and improving machine learning model performance
KR102204979B1 (ko) * 2018-08-24 2021-01-19 네이버 주식회사 딥러닝 생성모델과 다중모달 분포를 이용하여 멀티턴 대화 응답을 생성하는 방법 및 시스템
CN111680123B (zh) * 2020-05-25 2024-01-26 腾讯科技(深圳)有限公司 对话模型的训练方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897797A (zh) * 2018-06-12 2018-11-27 腾讯科技(深圳)有限公司 对话模型的更新训练方法、装置、存储介质及电子设备
US20200104670A1 (en) * 2018-09-28 2020-04-02 Samsung Electronics Co., Ltd. Electronic device and method of obtaining emotion information
CN110222164A (zh) * 2019-06-13 2019-09-10 腾讯科技(深圳)有限公司 一种问答模型训练方法、问题语句处理方法、装置及存储介质
CN110457457A (zh) * 2019-08-02 2019-11-15 腾讯科技(深圳)有限公司 对话生成模型的训练方法、对话生成方法及装置
CN111143509A (zh) * 2019-12-09 2020-05-12 天津大学 一种基于静态-动态注意力变分网络的对话生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAREESH BAHULEYAN等: "Stochastic Wasserstein Autoencoder for Probabilistic Sentence Generation", 《ARXIV:1806.08462V2》, pages 1 - 9 *
黄畅;郭文忠;郭昆;: "基于双向量模型的自适应微博话题追踪方法", 小型微型计算机系统, no. 06, pages 1203 - 1209 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021238599A1 (zh) * 2020-05-25 2021-12-02 腾讯科技(深圳)有限公司 对话模型的训练方法、装置、计算机设备及存储介质
CN112702329A (zh) * 2020-12-21 2021-04-23 四川虹微技术有限公司 一种流量数据异常检测方法、装置和存储介质
CN113254597A (zh) * 2021-06-23 2021-08-13 腾讯科技(深圳)有限公司 模型训练方法、查询处理方法及相关设备
CN113569212A (zh) * 2021-07-30 2021-10-29 上海交通大学 基于自动编码器的击键动力学身份认证与识别方法及系统
CN113569212B (zh) * 2021-07-30 2024-04-26 上海交通大学 基于自动编码器的击键动力学身份认证与识别方法及系统
CN117785964A (zh) * 2024-02-28 2024-03-29 宜宾市万事通网络信息服务有限公司 应用于网络服务的数据处理方法及系统

Also Published As

Publication number Publication date
CN111680123B (zh) 2024-01-26
JP2023508062A (ja) 2023-02-28
US20220309088A1 (en) 2022-09-29
JP7431977B2 (ja) 2024-02-15
WO2021238599A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
CN110097019B (zh) 字符识别方法、装置、计算机设备以及存储介质
WO2021135577A9 (zh) 音频信号处理方法、装置、电子设备及存储介质
CN111680123B (zh) 对话模型的训练方法、装置、计算机设备及存储介质
US20220172737A1 (en) Speech signal processing method and speech separation method
CN110263131B (zh) 回复信息生成方法、装置及存储介质
US11995406B2 (en) Encoding method, apparatus, and device, and storage medium
CN110147533B (zh) 编码方法、装置、设备及存储介质
CN110162604B (zh) 语句生成方法、装置、设备及存储介质
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN112069309A (zh) 信息获取方法、装置、计算机设备及存储介质
CN112733970B (zh) 图像分类模型处理方法、图像分类方法及装置
CN111091166A (zh) 图像处理模型训练方法、图像处理方法、设备及存储介质
CN111324699A (zh) 语义匹配的方法、装置、电子设备及存储介质
CN111581958A (zh) 对话状态确定方法、装置、计算机设备及存储介质
CN113750523A (zh) 三维虚拟对象的动作生成方法、装置、设备及存储介质
CN113392180A (zh) 文本处理方法、装置、设备及存储介质
CN114281956A (zh) 文本处理方法、装置、计算机设备及存储介质
CN117454954A (zh) 模型训练方法、装置、计算机设备及存储介质
CN113570510A (zh) 图像处理方法、装置、设备及存储介质
CN111341307A (zh) 语音识别方法、装置、电子设备及存储介质
CN110990549A (zh) 获取答案的方法、装置、电子设备及存储介质
CN112988984B (zh) 特征获取方法、装置、计算机设备及存储介质
CN114328815A (zh) 文本映射模型的处理方法、装置、计算机设备及存储介质
CN111310701B (zh) 手势识别方法、装置、设备及存储介质
CN113822084A (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
GR01 Patent grant
GR01 Patent grant