CN111563148A - 一种基于词组多样性的对话生成方法 - Google Patents
一种基于词组多样性的对话生成方法 Download PDFInfo
- Publication number
- CN111563148A CN111563148A CN202010304195.4A CN202010304195A CN111563148A CN 111563148 A CN111563148 A CN 111563148A CN 202010304195 A CN202010304195 A CN 202010304195A CN 111563148 A CN111563148 A CN 111563148A
- Authority
- CN
- China
- Prior art keywords
- vector
- decoder
- context
- word
- encoder
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于词组多样性的对话生成方法,构造对话生成模型,包括句子编码器、上下文编码器、转化层、条件变分自编码器、解码器以及词袋层,包括步骤:将对话上下文编码为一个上下文向量;将上下文向量映射为符合解码器输入大小的隐含状态,并将得到的隐含状态作为解码器的初始隐含状态;获取随机潜在变量;将得到的随机潜在变量、上下文向量、前一个词的词向量以及前一个时间步的隐含状态输入解码器的循环神经网络单元,得到循环神经网络单元输出的当前时间步的隐含状态;将解码器输出的当前时间步的隐含状态输入到词分类器,得到词分类器输出的一个词表大小的概率分布向量。本发明能够生成较为流畅且具词组层级多样性的对话回复。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于词组多样性的对话生成方法。
背景技术
随着互联网与自然语言处理技术的发展,对话***作为一种全新的人机交互方式,正逐步走进人们的生活。各大企业瞄准对话***的巨大商业价值,纷纷围绕其进行平台布局,其中便有阿里巴巴的“阿里小蜜”,苹果的“Siri”以及微软的“小冰”等等。
对话***依据不同的目标可以大致分为两类——面向任务型对话***和非面向任务型对话***。面向任务型对话***旨在帮助人们完成某项具体的任务(例如订购机票、订餐、购物等),而非面向任务型对话***则更关注于与人们进行开放式的对话。
当前,对话***的实现方式主要分为基于检索和基于生成两种方法。基于检索的方法需要事先利用语料集构造一个候选回复库,当用户输入一个对话上下文时,该方法通过匹配算法,计算对话上下文与候选回复之间的匹配分数,之后再根据匹配分数挑选出合适的候选回复作为对话回复,返回给用户。基于检索的方法的一大优点是得到的对话回复一般比较精确,但是缺点也很明显,就是无法得到候选回复库中没有的对话回复。相比于基于检索的方法,基于生成的方法能生成语料集中没有的回复。基于生成的方法利用了深度学习的方法以及大量的训练语料来构建有效的语言模型,使得构建的模型能够根据输入的对话上下文,逐词逐字地生成一个对话回复。比较经典的基于生成的方法是2014年GoogleBrain团队提出的序列到序列模型,该模型包含两个模块,一个称为编码器,另一个称为解码器。其中,编码器负责将输入的对话上下文编码为一个上下文向量,解码器则负责将这个上下文向量解码为一个对话回复。序列到序列模型生成的对话回复可能是语料集中未出现的,但是该方法也有缺陷,那就是其生成的回复一般是比较通用和枯燥的回复(例如“是的”、“我不知道”等)。
针对以上问题,许多研究者致力于改进序列到序列模型,以提高其生成的对话回复的多样性。其中,有研究者尝试在序列到序列对话生成模型中引入随机潜在变量。他们认为,对于同一对话上下文,对话回复是因人而异的,存在多种可能,然而普通的序列到序列对话生成模型生成的回复是相对确定的,其倾向于生成在数据集中出现概率较高的回复,因此会倾向于生成通用的回复。通过在生成模型引入随机潜在变量,模型在生成对话回复之前先通过采样得到随机潜在变量,再解码这个随机潜在变量来生成回复,这样模型便可以借助随机潜在变量的随机性生成不同的、多样的回复。
基于以上思想,Tiancheng Zhao等人于2017年提出了一种基于条件变分自编码器的对话生成模型——kgCVAE。该模型改进了序列到序列模型的编码器,引入了条件变分自编码器的方法,通过一个随机潜在变量隐式地捕获多样的对话意图,并利用该随机潜在变量在句子层级上指导对话回复的生成。虽然该方法能够在句子层面上为对话回复的生成提供全局指导,提高对话回复在句子层级上的多样性,但是其没有对回复内的词组多样性进行建模,因此无法很好地捕获对话回复在词组层级上的多样性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于词组多样性的对话生成方法。本发明通过在序列到序列模型中的解码器的每一个时间步中引入条件变分自编码器,从而捕获对话回复在词组层级上的多样性,提高对话回复在词组层级上的多样性。此外,本发明还加入了一种称为“词袋损失”的辅助损失作为辅助优化目标,提高了模型生成的对话回复的流畅性。
本发明的目的能够通过以下技术方案实现:
一种基于词组多样性的对话生成方法,构造对话生成模型,所述模型包括句子编码器、上下文编码器、转化层、条件变分自编码器、解码器以及词袋层,包括步骤:
通过编码器将对话上下文编码为一个上下文向量;
通过转化层将上下文向量映射为符合解码器输入大小的向量;
在解码器的每个时间步,将上下文向量、解码器前一个时间步的隐含状态输入到条件变分自编码器的先验网络,获得先验网络输出的一个随机潜在变量;若处于训练阶段,则将上下文向量、当前要预测的词的词向量以及解码器前一个时间步的隐含状态输入到条件变分自编码器的识别网络,识别网络会输出一个随机潜在变量;
将得到的随机潜在变量(训练阶段使用识别网络输出的随机潜在变量,测试阶段使用先验网络输出的随机潜在变量)、上下文向量、前一个词的词向量以及前一个时间步的隐含状态输入解码器的循环神经网络单元,循环神经网络单元会输出当前时间步的隐含状态;
将解码器输出的当前时间步的隐含状态输入到词分类器,词分类器会输出一个词表大小的概率分布向量。概率分布向量的每一维度分别对应词表中的一个词,表示当前时间步预测为这个词的概率,最终当前时间步输出的词为这些概率值中最大的那一维度对应的词。此外,概率分布向量与先验网络、识别网络的中间结果会被用于计算变分自编码器的变分下界。
若为训练阶段,还需将识别网络输出的随机潜在变量输入词袋层,词袋层会输出一个词袋向量,词袋向量会被用于计算“词袋损失”。
具体地,所述通过编码器将对话上下文编码为一个上下文向量的步骤中,若对话为单轮对话,则通过句子编码器将输入的对话上下文编码为一个上下文向量;若对话为多轮对话,则通过一个层次结构的循环神经网络编码器将对话上下文编码为一个上下文向量。其中,层次结构的循环神经网络编码器包含两个子模块,一个句子编码器和一个上下文编码器。句子编码器负责将对话上下文中的每个句子编码为句子向量,上下文编码器负责将所有句子向量编码为一个上下文向量。
本发明相较于现有技术,具有以下的有益效果:
1、本发明通过在序列到序列模型的解码器的每一个时间步中引入条件变分自编码器,从而捕获对话回复在词组层级上的多样性。
2、本发明还加入了一种称为“词袋损失”的辅助损失作为辅助优化目标,提高了模型生成的对话回复的流畅性。相比于其他的对话生成模型,本发明能够生成较为流畅且具词组层级多样性的对话回复。
附图说明
图1为本发明中对话生成模型的结构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例提供了一种基于词组多样性的对话生成方法,构造对话生成模型,所述模型的结构如图1所示,包括句子编码器、上下文编码器、转化层、条件变分自编码器、解码器以及词袋层,所述方法包括步骤:
(1)采用编码器将对话上下文编码为一个上下文向量。
其中,若对话为单轮对话,则通过句子编码器将输入的对话上下文编码为一个上下文向量;若对话为多轮对话,则通过一个层次结构的循环神经网络编码器将对话上下文编码为一个上下文向量。如图1所示,层次结构的循环神经网络编码器包含两个子模块,一个句子编码器和一个上下文编码器。句子编码器负责将对话上下文中的每个句子编码为句子向量,上下文编码器负责将所有句子向量编码为一个上下文向量。
设对话上下文为u={u1,u2,…,uk-1},其中,ui={x0,x1…,xn}表示一个对话上下文句子。
所述步骤(1)包括:
(1-2)若上下文u只包含一个句子,即为单轮对话,句子编码器将其编码为上下文向量ct。若上下文u不止包含一个句子,即多轮对话,则句子编码器先将每一个对话上下文句子的词向量表示编码为句子向量上下文编码器再将所有的句子向量编码为上下文向量ct。
(2)通过转化层将上下文向量映射为符合解码器输入大小的隐含状态,并将得到的隐含状态作为解码器的初始隐含状态。
由于编码器的输出大小与解码器的输入大小设置不一定相同,因此本发明在编码器与解码器之间增加一个转化层,其作用是将编码器输出的上下文向量的大小映射为解码器的输入大小。其中,转化层为单层的前向神经网络,用MLPd表示。
(3)若处于对话生成阶段,则在解码器的每个时间步,将上下文向量以及解码器前一个时间步的隐含状态输入到条件变分自编码器的先验网络,得到先验网络输出的一个随机潜在变量;
若处于训练阶段,则在解码器的每个时间步,将上下文向量、当前要预测的词的词向量以及解码器前一个时间步的隐含状态输入到条件变分自编码器的识别网络中,得到识别网络输出的一个随机潜在变量。
所述步骤(3)包括:
其中,[*,*]表示两个向量拼接。利用重参数技巧,可以得到随机潜在变量zt:
zt=μ′t+σ′t*∈
其中,∈服从标准高斯分布N(0,I)。
同样利用重参数技巧,可以得到随机潜在变量zt:
zt=μt+σt*ε
(4)将步骤(3)得到的随机潜在变量,包括训练阶段使用识别网络输出的随机潜在变量以及测试阶段使用先验网络输出的随机潜在变量、上下文向量、前一个词的词向量以及前一个时间步的隐含状态输入解码器的循环神经网络单元,循环神经网络单元会输出当前时间步的隐含状态。
(5)将步骤(4)解码器输出的当前时间步的隐含状态输入到词分类器,所述词分类器为单层的前向神经网络,包含在解码器中,得到词分类器输出的一个词表大小的概率分布向量。所述概率分布向量的每一维度分别对应词表中的一个词,表示当前时间步预测为这个词的概率,最终当前时间步输出的词为这些概率值中最大的那一维度对应的词。此外,概率分布向量与先验网络、识别网络的中间结果会被用于计算变分自编码器的变分下界。所述词分类器为单层的前向神经网络,其本质上是将解码器的循环神经网络单元输出的隐含状态映射为一个词表大小的概率分布向量。
所述步骤(5)包括:
(5-1)用MLPo表示词分类器,则词分类器输出的概率分布向量为:
(5-2)得到概率分布向量后,通过softmax函数对概率分布向量进行归一化,使其各维度概率值之和为1,最终取概率值最大的维度对应的词作为当前时间步的输出。
具体地,若为训练阶段,还需将步骤(3)中识别网络输出的随机潜在变量输入词袋层,词袋层会输出一个词袋向量,词袋向量会被用于计算“词袋损失”。
词袋层为单层的前向神经网络,用MLPb表示词袋层,将随机潜在变量zt输入词袋层,可得词袋向量:
bt=MLPb(zt)
词袋向量会被用于计算“词袋损失”:
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种基于词组多样性的对话生成方法,其特征在于,构造对话生成模型,所述模型包括句子编码器、上下文编码器、转化层、条件变分自编码器、解码器以及词袋层,所述方法包括步骤:
采用编码器将对话上下文编码为一个上下文向量;
通过转化层将上下文向量映射为符合解码器输入大小的隐含状态,并将得到的隐含状态作为解码器的初始隐含状态;
将得到的隐含状态输入条件变分自编码器中,获取随机潜在变量;
将得到的随机潜在变量,包括训练阶段使用识别网络输出的随机潜在变量以及测试阶段使用先验网络输出的随机潜在变量、上下文向量、前一个词的词向量以及前一个时间步的隐含状态输入解码器的循环神经网络单元,得到循环神经网络单元输出的当前时间步的隐含状态;
将解码器输出的当前时间步的隐含状态输入到词分类器,得到词分类器输出的一个词表大小的概率分布向量。
4.根据权利要求1所述的方法,其特征在于,所述将得到的隐含状态输入条件变分自编码器中,获取随机潜在变量的步骤中,
若处于对话生成阶段,则在解码器的每个时间步,将上下文向量以及解码器前一个时间步的隐含状态输入到条件变分自编码器的先验网络,得到先验网络输出的一个随机潜在变量;
若处于训练阶段,则在解码器的每个时间步,将上下文向量、当前要预测的词的词向量以及解码器前一个时间步的隐含状态输入到条件变分自编码器的识别网络中,得到识别网络输出的一个随机潜在变量;
其中,[*,*]表示两个向量拼接。利用重参数技巧,可以得到随机潜在变量zt:
zt=μ′t+σ′t*∈
其中,∈服从标准高斯分布N(0,I);
同样利用重参数技巧,可以得到随机潜在变量zt:
zt=μt+σt*∈。
7.根据权利要求4所述的方法,其特征在于,若为训练阶段,还需将识别网络输出的随机潜在变量输入词袋层,词袋层会输出一个词袋向量,词袋向量会被用于计算“词袋损失”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304195.4A CN111563148B (zh) | 2020-04-17 | 2020-04-17 | 一种基于词组多样性的对话生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304195.4A CN111563148B (zh) | 2020-04-17 | 2020-04-17 | 一种基于词组多样性的对话生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563148A true CN111563148A (zh) | 2020-08-21 |
CN111563148B CN111563148B (zh) | 2023-06-20 |
Family
ID=72074333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010304195.4A Active CN111563148B (zh) | 2020-04-17 | 2020-04-17 | 一种基于词组多样性的对话生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563148B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287641A (zh) * | 2020-12-25 | 2021-01-29 | 上海旻浦科技有限公司 | 一种同义句生成方法、***、终端及存储介质 |
CN112581954A (zh) * | 2020-12-01 | 2021-03-30 | 杭州九阳小家电有限公司 | 一种高匹配性语音交互方法和智能设备 |
CN116932726A (zh) * | 2023-08-04 | 2023-10-24 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及*** |
CN110083710A (zh) * | 2019-04-30 | 2019-08-02 | 北京工业大学 | 一种基于循环神经网络与潜变量结构的词语定义生成方法 |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110569499A (zh) * | 2019-07-18 | 2019-12-13 | 中国科学院信息工程研究所 | 一种基于多模态词向量的生成式对话***编码方法及编码器 |
-
2020
- 2020-04-17 CN CN202010304195.4A patent/CN111563148B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及*** |
CN110083710A (zh) * | 2019-04-30 | 2019-08-02 | 北京工业大学 | 一种基于循环神经网络与潜变量结构的词语定义生成方法 |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110569499A (zh) * | 2019-07-18 | 2019-12-13 | 中国科学院信息工程研究所 | 一种基于多模态词向量的生成式对话***编码方法及编码器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112581954A (zh) * | 2020-12-01 | 2021-03-30 | 杭州九阳小家电有限公司 | 一种高匹配性语音交互方法和智能设备 |
CN112581954B (zh) * | 2020-12-01 | 2023-08-04 | 杭州九阳小家电有限公司 | 一种高匹配性语音交互方法和智能设备 |
CN112287641A (zh) * | 2020-12-25 | 2021-01-29 | 上海旻浦科技有限公司 | 一种同义句生成方法、***、终端及存储介质 |
CN116932726A (zh) * | 2023-08-04 | 2023-10-24 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
CN116932726B (zh) * | 2023-08-04 | 2024-05-10 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111563148B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763504B (zh) | 一种基于强化双通道序列学习的对话回复生成方法及*** | |
CN111859978B (zh) | 一种基于深度学习的情感文本生成方法 | |
US20210034817A1 (en) | Request paraphrasing system, request paraphrasing model and request determining model training method, and dialogue system | |
CN111563148B (zh) | 一种基于词组多样性的对话生成方法 | |
CN110321418A (zh) | 一种基于深度学习的领域、意图识别和槽填充方法 | |
JP2023544336A (ja) | 多言語発話認識フレームワークのためのシステム及び方法 | |
CN112883193A (zh) | 一种文本分类模型的训练方法、装置、设备以及可读介质 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN111462768A (zh) | 基于共享训练的多尺度StarGAN的语音转换方法 | |
JP2021033995A (ja) | テキスト処理装置、方法、デバイス及びコンピューター読み取り可能な記憶媒体 | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
Zhu et al. | Catslu: The 1st chinese audio-textual spoken language understanding challenge | |
CN113360610A (zh) | 基于Transformer模型的对话生成方法及*** | |
KR20200132619A (ko) | 구어에서 수어로의 주의 기반 인공신경망 기계 번역 방법 및 그 장치 | |
CN113591462A (zh) | 弹幕回复生成方法、装置及电子设备 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及*** | |
CN109635269B (zh) | 一种机器翻译文本的译后编辑方法及装置 | |
CN113343692B (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
Peguda et al. | Speech to sign language translation for Indian languages | |
Xu et al. | Beyond the status quo: A contemporary survey of advances and challenges in audio captioning | |
CN110188342B (zh) | 一种基于知识图谱与语义图技术的口语理解方法 | |
CN115017924B (zh) | 跨语际语言翻译的神经机器翻译模型构建及其翻译方法 | |
Zhang et al. | Keyword-driven image captioning via Context-dependent Bilateral LSTM | |
CN114692615A (zh) | 一种针对小语种的小样本意图识别方法 | |
CN110909142B (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 |