2021年山东大学软件学院创新项目实训QG研发团队工作日志(四)

项目进度

本周五我们小组开会讨论各自部分的进展,并进行交流与总结。对各自面对的问题共同进行探讨,商量解决办法。同时,我们对接下来的一周制定详细计划,稳步执行。

统一版本

在自然语言处理方面,市面上流行python语言,于是我们统一使用较新版本的Python,例如python3.7,python3.8 。在pytorch, cuda 版本上我们也尽量做到统一,以方便后续的代码执行。

项目执行

疑问词分类

为了更加精准地生成问题,我们在QG前加一个疑问词分类器——Interrogative-Word-Aware Question Generation (IWAQG),再将预测到的疑问词输入到QG的编码器中。下图即是问题生成的模型结构。
在这里插入图片描述.

Interrogative-Word Classifier 步骤为:Bert输入包含答案的文章,得到[CLS]token,再concat答案的实体类别,进行疑问词类型预测。

数据集我们目前采用 CMRC2018 中文数据集
链接为:https://worksheets.codalab.org/worksheets /0x92a80d2fab4b4f79a2b4064f7ddca9ce

举个栗子:
我们根据所拥有的数据集进行训练数据降采样

在这里插入图片描述.

分出疑问词类别:what, which, where, when, who, why, how, others

问题生成

我们采用基于序列到序列生成方法(Seq2Seq,Sequence-to-sequence),这种结构的特点在于输入序列和输出序列的长度可变。输入序列是文本,输出序列是生成的问题。

在这里插入图片描述.

基于序列到序列的问题生成框架主要包括两部分:编码器(Encoder)与解码器(Decoder),通过编码器对句子语义进行编码,然后将编码后的语义信息输入解码器生成相应的问句。Encoder 阶段将输入序列进行编码,通过一个双向的 LSTM将 source 进行编码。基础 Seq2Seq 模型使用的是 RNN,Decoder 阶段为了获得用于初始化解码器隐藏状态的语句编码器的输出。

基本的编码器解码器框架,解码器都是从编码器的最后输出开始的,只有一个向量来传递信息,且向量的长度固定。如果编码器编码的内容过于长,会丢失很多重要的信息。所以引入了 attention 机制,解码过程中不同时刻输入解码器的上下文状态不同。

对于文档序列 S,其由单词序列[w1,w2 ,w3 , …,wn] 构成。将其转换为词向量[x1 ,x2,x3,… , xn,]。 再 通 过 编 码 器 将 整 个 句 子 转 换 为 一 个 向 量 序 列[ b1,b2 ,b3 , … ,bn ] 。我们的最终目标是要能够帮助 decoder 在生成词语时,有一个不同词语的权重的参考。在训练时,对于 decoder 我们是有训练目标的,此时将 decoder 中的信息定义为一个 Query。而 encoder 中包含了所有可能出现的词语,我们将其作为一个字典,该字典的 key 为所有 encoder 的序列信息。n 个单词相当于当前字典中有 n 条记录,而字典的 value 通常也是所有encoder 的序列信息。

首先我们就是要 计算注意力权重。用我们的学习目标 Query 来参与这个过程,因此对 Query 的每个向量,通过一个函数,计算预测词时,需要学习注意力权重,由于包含n 个单词,因此应当是一个 n 维的向量,为了后续计算方便,需要将该向量进行 softmax 归一化,让向量的每一维元素都是一个概率值。attention 机制比较核心的地方就是如何对 Query 和 key 计算注意力权重。

总结

项目已经进行了四周,我们在各自的分工配合下逐步走上正轨。学习许多自然语言处理方面的知识和技术,在不断摸索中取得胜利。这次的合作也让我们明白团队合作的重要性,锻炼了我们沟通交流的能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值