本文是一篇软件工程论文,本阶段的工作中,如何选取合适的解码逻辑是研究遇到的首要问题,在实验的最初阶段使用的是常见的两种解码逻辑--Beam Search 和 Greedy Search,但这种以 high probability 为目标去优化输出的解码策略,导致文本退化,使得生成的文本违背直观感觉。分析其特点且进行实验比较分析,最终选择 Nucleus Sampling、top-k Sampling、Temperature 采样方法来设置对话模型解码器的逻辑。
第 1 章 绪论
1.2 课题研究背景和意义
1.2.1 课题研究背景
随着信息时代的发展,互联网网络信息的爆炸增长,以及深度学习、人工智能的发展,使得人机智能聊天式交互成为可能。为了满足人们更人性化地与机器交流,更快和更便捷地获取信息的这种现代生活的需求,文本对话系统作为问答系统的一个分支进入人们的视野,迅速发展起来。
文本对话系统是基于文本输入式的一个聊天系统,通过理解聊天对象输入的文字语句,随之自动给出相应回答,目的在于让用户感觉不到自己是在跟机器聊天,在自然语言处理研究的领域中这属于问答系统的范畴,也可以称之为聊天机器人。聊天是连续的,并存在一定的语境,在聊天的过程中具有一定的连贯性。在不同语境下,相同的句子可能有不同的解释,模式匹配是现有文本对话系统最常用的寻找最佳答案的方式。系统对用户输入的聊天语句进行处理,到数据库中匹配对应的问题。对于匹配上的问题,选择对应答案并返回相对比较人性化的回答给用户;对于匹配不上的问题,通过回答不知道、转移话题、猜测的方式给出答案[1]。
聊天过程中包含代词、关键词或省略词等,各种句式层出不穷,这些现象非常常见。在聊天双方都有记忆的前提下沟通或许能够正常进行下去,但对于文本对话系统而言,如果缺乏记忆功能,一旦聊天内容被用户省略,它就会进入“无知”状态,出现逻辑混乱现象,无法正常理解用户输入的内容,从而给用户带来糟糕的使用体验感。
为了让聊天的过程更加真实,本课题给文本对话系统加上主题记忆功能和情感理解功能。记忆功能:通过对当前对话之前的对话信息捕捉聊天主题,让文本对话系统锁定聊天主题,以这样的方式记起来当前聊天的主题是什么。情感理解功能:判断用户当前输入的这句话的情感,并将这个情感作为文本对话系统生成回复的情感特征,结合记忆功能捕捉到的主题信息智能生成回复,从而使文本对话系统在具有一定的上下文理解能力的基础上增加一定的情感理解理解能力。
..........................
1.3 课题研究现状
1.3.1 文本对话系统的研究现状
1. 基于检索的文本对话系统研究现状
基于检索的方法构建的对话系统需要一个事先定义好的知识库用于存储大量对话实例,其中每一个对话实例由一个输入和其对应的回复组成。
检索式文本对话系统依据制定的答复规则,将问题在语料库中进行排序学习技术和深度(正则)匹配技术找到适合当前输入的最佳回复。当用户输入一条文本语句时,系统的检索模块会检索系统中与之匹配的输入,得到若干候选回复,并从中查找出一条最合适的回复作为系统给用户的回复。 换言之,检索式文本对话模型的输入是一段上下文内容,和一个可能作为回复的候选答案,模型的输出是对文本对话系统提供的若干个候选回复打分中打分最高的那个候选答案。
在检索式模型中,最合适的寻找回复内容的过程是:问题 Question 和回复Response 都是模型的输入,对于一个指定的问题 Question,需要对回复集合Collection 中的每一个回复 Response 进行打分并进行排序,模型从回复集合Collection 中找出分数最高的回复作为给用户的回复,而其中检索式聊天机器人的关注重点便是如何提取问题和回复的文本特征。
基于检索式方法给出的回复都是知识库中己经存在的,这虽然避免了回复的语法错误,但对用户交互来说缺乏新颖性。这样建模只能以固定的语言模式(设定的规则)进行回复,无法实现词语的多样组合,仅仅适合单轮对话,文本对话系统更像是只有 7 秒记忆的金鱼,不具有上下文理解的功能,完全没有考虑语义,比较死板,应用领域受限,同时语料库越庞大,回复速度回越慢。
基于检索方法的关键在于信息和响应的匹配,匹配算法需要解决输入信息和回复的语义鸿沟[4]。目前在文本对话系统领域,基于检索的方式仍然是工业界中广泛使用的方法。
...............................
第 2 章 相关理论基础
2.2 Transformer 原理
Transformer[29],由 Google 在 2017 年发表的论文“Attention Is All You Need”提出,将 Attention[5]思想发挥到极致,抛弃了以往深度学习任务里面使用到的 CNN[11] 和 RNN[12] ,目前热门的 BERT[27] 就是基于 Transformer 构建的。Transformer 在自然语言处理(NLP)的各个领域都应用的非常广泛,包括并不限于语音识别、文本摘要、问答系统和机器翻译等方向。
Transformer 可以替代 RNN 和 CNN 的新的网络结构,本质上就是一个Attention 结构,不像 RNN 需要逐步递归才能获得全局信息,也不像 CNN 只能获取局部信息,它能够直接获取全局的信息,并且其能够进行并行运算,这一特性上来说就要比 RNN 快上很多倍。
同 Attention 一样,Transformer 中也采用了 Seq2Seq 架构。但 Transformer模型结构相比于 Attention 模型更加复杂,下面将从 Seq2Seq 架构和 Attention 机制来揭开 Transformer 模型神秘的面纱。
2.2.1 Seq2Seq 架构
文本对话模型回复生成任务,即一种序列到序列的任务[32],Seq2Seq[33]的模型架构起初提出应用于 NMT[34](Neural Machine Translation)中,即通过一个RNN 作为 Encoder 将输入的源语言转化为某表征空间中的向量,再通过另一个RNN 作为 Decoder 将其转化为目标语言中的句子,故此 Seq2Seq 也称之为Encoder-Decoder 结构。通常 Encoder 及 Decoder 均采用 RNN 结构如 LSTM[24] [25]或 GRU[26]等。以一个将法语翻译成英语的 NMT 模型为例,其 Seq2Seq 模型如下图 2.1 所示,根据图示可以将 Decoder 看做预测目标句子 y 的下一个单词的语言模型,同时其概率依赖于源句子的 Encoding。
软件工程论文怎么写
软件工程论文怎么写
............................
2.3 Transformer 详解
以 Transformer 用于中英文翻译为例,下图 2.7 是 Transformer 用于中英文翻译的整体结构。
软件工程论文怎么写
软件工程论文怎么写
可以看到 Transformer 由 Encoder 和 Decoder 两个部分组成,Encoder 和 Decoder 都包含 6 个 Block。Transformer 的工作流程大体如下:
第一步:获取输入句子的每一个单词的表示向量 X,X 由单词的 Embedding 和单词位置的 Embedding 相加得到。如上图 2.8 所示:
第二步:将得到的单词表示向量矩阵 (如上图所示,每一行是一个单词的表示 x) 传入 Encoder 中,经过 6 个 Encoder block 后可以得到句子所有单词的编码信息矩阵 C,如下图。单词向量矩阵用 Xn×d表示, n 是句子中单词个数,d 是表示向量的维度 (d=512)。每一个 Encoder block 输出的矩阵维度与输入完全一致。
...................
第 3 章 基于 GPT-2 的文本对话生成 ····························· 23
3.1 引言 ·························· 23
3.2 GPT-2 文本对话模型 ······························ 23
第 4 章 基于 WE + CNN 的文本对话情感分析 ······················· 36
4.1 引言 ································· 36
4.2 BERT Embedding + CNN ························· 36
第 5 章 基于 Emotion + MMI GPT-2 的文本对话回复 ······················ 59
5.1 引言 ························· 59
5.2 短对话与长对话的情感融合策略 ·················· 59
第 5 章 基于 Emotion + MMI GPT-2 的文本对话回复
5.1 引言
受益于图像风格转换[40] [41] [42] [43] [44]的启发,本课题尝试在文本对话系统上来实现文本风格转换。本章首先利用上一章节的文本情分析算法分别捕捉文本对话中的短文本情感特征和长文本情感特征,并结合 MMI GPT-2 文本对话模型,实现基于情感重定向生成对话回复的 Emotion + MMI GPT-2 文本对话模型。 本章首先提出文本对话模型中短文本、长文本情感融合策略,再利用图像风格转换的思想,结合 MMI GPT-2 对模型中的最大化互信息思想,计算文本情感转换后的候选句子的 Loss 值,将 Loss 值最小的作为 Emotion + MMI GPT-2 文本对话模型的输出。
根据第四章的分析,本课题在短文本情感分析选择 BERT Embedding + CNN模型,长文本情感分析选择 ALBERT 模型。并将选择的模型继续训练得到:
软件工程论文参考
软件工程论文参考
..........................
结论与展望
6.1 结论
本文的研究工作主要是为了提升文本对话系统的质量。首先,本课题简要的介绍了对话文本分析方法研究现状,并介绍了文本情感分析的研究现状。其次,从最近几年大热的 BERT 算法出发,介绍了相关的基础,如 Seq2Seq 架构、Attention 机制和 Transformer 模型。再者,利用后 BERT 时代的各个深度迁移学习模型来实现本课题的研究内容。具体工作内容如下:
1. 基于 GPT-2 的对话生成模型,结合 Nucleus Sampling、Top-k Sampling、Temperature 采样方法来修改对话模型解码器的逻辑。该方法改善了在 GPT-2 Model 的对话生成任务中采用基于可能性最大化的 Beam Search 解码方法的输出输出文本平淡、不连贯,或者重复循环的问题。引入最大互信息思想,计算对话模型生成的回复于聊天对话的匹配度,实现 MMI GPT-2 对话模型。
本阶段的工作中,如何选取合适的解码逻辑是研究遇到的首要问题,在实验的最初阶段使用的是常见的两种解码逻辑--Beam Search 和 Greedy Search,但这种以 high probability 为目标去优化输出的解码策略,导致文本退化,使得生成的文本违背直观感觉。分析其特点且进行实验比较分析,最终选择 Nucleus Sampling、top-k Sampling、Temperature 采样方法来设置对话模型解码器的逻辑。
2. 文本情感分析,为精确捕捉聊天对话中的情感,分别从短文本(当前输入)和长文本(多轮对话)来分析文本情感特征。作为一种尝试,提出了 Word Embedding + CNN 的方式来实现文本情感分析,从 BERT 和 ALBERT 入手,并用实验验证并分析了 BERT 和 ALBERT 在短文本和长文本情感分析的有效性。 本阶段的工作中,选取了多种的文本情感分析算法进行对比分析,实验过FastText、TextCNN、BERT、ABERT 等多种文本情感分析算法,但本课题的实现的初衷立足于后 BERT 时代,因此作为尝试和验证确定了以 BERT 和 ALBERT为主的文本情感分析算法应用,并在此基础上分析了 BERT Embedding 和ALBERT Embedding,确当了将 BERT Embedding + CNN 的文本情感分析算法应用于短文的情感分析。