基于深度学习的智能问答系统研究
发布时间:2020-11-21 03:49
近年来,随着人工智能领域尤其是深度学习的快速发展,自然语言处理在人类的学习工作与生活中正发挥着越来越重要的作用。智能问答的出现使得一大批应用或服务涌现出来,如百度的小度,阿里的天猫精灵,小米的小爱同学,苹果的Siri。智能问答是知识的一种表现形式,知识是人类最宝贵的财富,所以研究智能问答对于人类知识的提取与运用有着重要意义,让机器明白的比人类更多,回答的更准确,这是智能问答研究者的共同目标。但是智能问答领域还不是特别成熟,很多人想当然的把科幻水平误认为是当今的发展水平,所以要提高智能问答系统的准确率,让机器更智能,回答的问题更接近于人类甚至超越人类的水平,让人类对机器的回答更满意。本文的研究就是基于此目的。首先介绍了自然语言处理的基本模型,从独热编码,词嵌入到Seq2seq(sequence to sequence),然后介绍了由Transformer带火的预训练模型尤其是BERT(Bidirectional Encoder Representation from Transformers),标志着自然语言处理进入了黄金时期。自然语言处理的概念或基础为之后深入研究智能问答打下了坚实的基础。然后在基本模型双向注意力流即BiDAF(Bidirectional Attention Flow)模型的基础上,使用数据集SQuAD 2.0(Stanford Question-Answering Dataset)作为训练数据,使用精确匹配EM值(Exact Match)和模糊匹配F1的值作为评价指标,EM值代表模型预测的答案和标准答案是否完全一样,EM值越大就表示模型预测的结果和标准答案越接近;F1参数是根据模型给的答案与标准答案的重合度求出一个0到1之间的分数,这个分数就是精确率和召回率的调和平均。经过训练,得到BiDAF模型在SQuAD 2.0数据集上的表现是EM值为58.60,F1为61.95。最后,使用预训练模型ALBERT(A Lite BERT)进行研究,共分为5个模型进行研究,模型一直接使用ALBERT加输出层,模型二在ALBERT的基础上增加了高速网络,模型三则增加了门控循环单元GRU(Gate Recurrent Unit)和注意力层,模型四是GRU加高速网络,模型五是使用ALBERT-xxlarge版本。经过训练,在使用ALBERT基础版本的模型一、二、三、四中,模型一直接加输出层的效果最好,比基本BiDAF模型EM值提高了17.68,F1值提高了16.73。5个模型中ALBERT-xxlarge版本效果最好,较BiDAF模型的EM值提高了24.35,F1值提高了23.35。本论文的创新点是使用了现今最强大的ALBERT模型进行研究,而不是用前一两年很火的BERT或XLNet进行研究。在ALBERT的基础上,提出了添加不同层来进行研究的方法,极大的提高了在SQuAD 2.0版本数据集上的准确率。其中参数最多的ALBERT-xxlarge模型效果最好,比基础模型的EM值和F1值分别提高了41.55%和37.69%,效果显著。
【学位单位】:电子科技大学
【学位级别】:硕士
【学位年份】:2020
【中图分类】:TP18;TP391.1
【部分图文】:
第二章自然语言处理及预训练语言模型的理论研究15TkQKAttentionQKV=softmaxVd(,,)()(2-5)图2-3自注意力计算[37]以Thinking和Machine作为输入为例:1.首先得到Thinking和Machine的词嵌入的向量表示2.Thinking的词嵌入向量与权重矩阵qW,kW,vW相乘得到111q,k,v。权重矩阵是模型在进行训练的时候学习到的参数。3.为了计算句子中的其他词与Thinking的联系,用Thinking的查询向量1q与其他单词以及自己的key向量1k和2k去做内积,得到相关度。内积越大,就越相似。用softmax得到概率,如0.88代表注意自己,0.12代表注意另外的词Machine。4.用softmax得到的概率值分别乘以value值1v和2v,加权求和得到1z。
第二章自然语言处理及预训练语言模型的理论研究23图2-8排列模型XLNet[39]假设预测第3个单词“like”,“like”的上文是“I”和“really”,下文是“UESTC”,希望看到下文的单词信息,XLNet把“like”的位置固定,之后随机排列组合句子中的4个单词,在随机进行的排列组合里,选取其中的一部分输入到模型。比如之前的排列是“IreallylikeUESTC”,分别用1234代表。现在的排列有可能是[3241]、[2431]、[1423]、[4312],在[3241]中3的上文没有内容,所以3只与mem有关;在[2431]中3只与3前面的2和4相关;在[1423]中3与前面的142都相关,在[4312]中3只与4有关,与图片一一对应。2.5.2AttentionMask在BERT中掩码告诉模型要预测的单词的位置和上下文关系,在XLNet中用了2种流自注意力,一个是内容流,另一个是查询流。内容流负责查询上下文,并且可以看到自己。而查询流就是用来代替掩码,负责把内容流产生的表示拿来做预测,不能看到自己。同BERT的掩码一样,查询流只在预训练时预测单词会用到,到了优化的时候就不会用到了。这种关系通过注意力掩码AttentionMask来实现:
第三章基本模型BiDAF在SQuAD数据集的研究29第三章基本模型BiDAF在SQuAD数据集的研究基本模型是基于BiDAF的,即BidirectionalAttentionFlow双向注意力流。用基本模型在SQuAD数据集上训练,得到基本模型的效果,然后再在基本模型双向注意流的基础上使用ALBERT进行研究,基本模型就是起到参考标准的作用,通过比较与基本模型的效果来看模型效果的提升情况。3.1SQuAD数据集SQuAD1.0数据集是问题回答或阅读理解最常用的数据集,由斯坦佛大学的Rajpurkar等人于2016年提出第一个版本[27],在读取维基百科文章的基础上,它具有十万个问题回答对。给定一段话,给定这段话里的一个问题,每个问题都有3个人类回答的标准答案。Rajpurkar于2018年提出了SQuAD的第二个版本即SQuAD2.0[32],在1.0版本的基础上,增加了5万个人类特别设计的很难回答的问题,有的问题并没有答案。所以对于模型提出了很高的要求,模型不仅要回答出有答案的问题,如果问题没有答案,模型还要得出“不能回答”的结论。本文使用的是SQuAD2.0版本。3.1.1SQuAD2.0样例给定一段文本:图3-1SQuAD样例的上下文[47]
【参考文献】
本文编号:2892481
【学位单位】:电子科技大学
【学位级别】:硕士
【学位年份】:2020
【中图分类】:TP18;TP391.1
【部分图文】:
第二章自然语言处理及预训练语言模型的理论研究15TkQKAttentionQKV=softmaxVd(,,)()(2-5)图2-3自注意力计算[37]以Thinking和Machine作为输入为例:1.首先得到Thinking和Machine的词嵌入的向量表示2.Thinking的词嵌入向量与权重矩阵qW,kW,vW相乘得到111q,k,v。权重矩阵是模型在进行训练的时候学习到的参数。3.为了计算句子中的其他词与Thinking的联系,用Thinking的查询向量1q与其他单词以及自己的key向量1k和2k去做内积,得到相关度。内积越大,就越相似。用softmax得到概率,如0.88代表注意自己,0.12代表注意另外的词Machine。4.用softmax得到的概率值分别乘以value值1v和2v,加权求和得到1z。
第二章自然语言处理及预训练语言模型的理论研究23图2-8排列模型XLNet[39]假设预测第3个单词“like”,“like”的上文是“I”和“really”,下文是“UESTC”,希望看到下文的单词信息,XLNet把“like”的位置固定,之后随机排列组合句子中的4个单词,在随机进行的排列组合里,选取其中的一部分输入到模型。比如之前的排列是“IreallylikeUESTC”,分别用1234代表。现在的排列有可能是[3241]、[2431]、[1423]、[4312],在[3241]中3的上文没有内容,所以3只与mem有关;在[2431]中3只与3前面的2和4相关;在[1423]中3与前面的142都相关,在[4312]中3只与4有关,与图片一一对应。2.5.2AttentionMask在BERT中掩码告诉模型要预测的单词的位置和上下文关系,在XLNet中用了2种流自注意力,一个是内容流,另一个是查询流。内容流负责查询上下文,并且可以看到自己。而查询流就是用来代替掩码,负责把内容流产生的表示拿来做预测,不能看到自己。同BERT的掩码一样,查询流只在预训练时预测单词会用到,到了优化的时候就不会用到了。这种关系通过注意力掩码AttentionMask来实现:
第三章基本模型BiDAF在SQuAD数据集的研究29第三章基本模型BiDAF在SQuAD数据集的研究基本模型是基于BiDAF的,即BidirectionalAttentionFlow双向注意力流。用基本模型在SQuAD数据集上训练,得到基本模型的效果,然后再在基本模型双向注意流的基础上使用ALBERT进行研究,基本模型就是起到参考标准的作用,通过比较与基本模型的效果来看模型效果的提升情况。3.1SQuAD数据集SQuAD1.0数据集是问题回答或阅读理解最常用的数据集,由斯坦佛大学的Rajpurkar等人于2016年提出第一个版本[27],在读取维基百科文章的基础上,它具有十万个问题回答对。给定一段话,给定这段话里的一个问题,每个问题都有3个人类回答的标准答案。Rajpurkar于2018年提出了SQuAD的第二个版本即SQuAD2.0[32],在1.0版本的基础上,增加了5万个人类特别设计的很难回答的问题,有的问题并没有答案。所以对于模型提出了很高的要求,模型不仅要回答出有答案的问题,如果问题没有答案,模型还要得出“不能回答”的结论。本文使用的是SQuAD2.0版本。3.1.1SQuAD2.0样例给定一段文本:图3-1SQuAD样例的上下文[47]
【参考文献】
相关期刊论文 前5条
1 张剑;屈丹;李真;;基于词向量特征的循环神经网络语言模型[J];模式识别与人工智能;2015年04期
2 赵妍妍;秦兵;刘挺;;文本情感分析[J];软件学报;2010年08期
3 张琳;胡杰;;FAQ问答系统句子相似度计算[J];郑州大学学报(理学版);2010年01期
4 曹勇刚;曹羽中;金茂忠;刘超;;面向信息检索的自适应中文分词系统[J];软件学报;2006年03期
5 向晓雯,史晓东,曾华琳;一个统计与规则相结合的中文命名实体识别系统[J];计算机应用;2005年10期
相关硕士学位论文 前3条
1 桑志杰;生成式问答系统技术研究与实现[D];北京邮电大学;2019年
2 杨理想;面向特定领域的问答系统及其在NAO机器人平台上的实现[D];南京大学;2015年
3 邢超;智能问答系统的设计与实现[D];北京交通大学;2015年
本文编号:2892481
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/2892481.html