读论文《Simple or Complex? Complexity-Controllable Question Generation with Soft Templates and Deep Mixture of Experts Model》笔记
首先上网络结构图
Simple or Complex? Complexity-Controllable Question Generation with Soft Templates and Deep Mixture of Experts Model
Methodology
给定一篇文章、一个预期的答案和一个复杂性级别,CCQG的任务是生成具有指定复杂性的问题。
问题的复杂性取决于两个因素:
1.独立回答问题的能力(因个别学习者而异,因此找一个普遍适用的标准是不可能的)
2.回答问题所需的一般过程(理解问题的内容和背景知识,推断答案的推理步骤)
引入外部知识(模板机制),用模板生成的问题往往是流畅和自然的https://blog.csdn.net/appleml/article/details/89306681
Model Details
(1)基于BiLSTM的文章和答案编码器(灰色);
(2)基于MoE的模板元素选择器,用于输入专家和不同模板的复杂性和输出概率分布(绿色);
(3)通过相应复杂度的中心聚类初始化模板元素(浅蓝色)
用改进的k-means算法对每个复杂度级别的结果进行聚类,结果的聚类质心作为初始嵌入。
(4)生成模块(黄色)
LSTM解码器利用软模板和专家混合生成复杂可控问题。
复杂性评估
问题中从句的数目
事件/事实的数量是问题复杂性的有力指标。
使用nltk寻找问题的语法树来计算子句的数量
问题中某些依赖关系的数量
词语之间的某些依赖关系会影响对问题内容的理解。
计算问题中advmod, amod, nounmod, npmod的数量以及所有格修饰符
文章中句子的主题连贯性
如果句子的主题连贯性高,一篇文章就容易理解。
使用JS散度(Jensen–Shannon divergence)测量句子之间的主题连贯性
问题的实体在文章中问题出现的频率
一个关于一个经常出现在文章中的实体的问题常常是比不常见实体的问题更容易回答。
计算问题和文章中提到实体的平均频率
问题与答案之间的距离在文章中跨越
一个问题的答案通常很容易找到,如果问题中提到的实体位于同一篇文章的答案附近。
通过取问题中实体与文章中答案之间标记的平均数量来表示的距离
Classification rule
上述特征的评分函数是归一化后所有特征值的平均值
设置一个阈值λ,大于λ的为复杂问题,小于的是简单问题