Python 多项选择题的干扰源生成

Python 多项选择题的干扰源生成,python,machine-learning,text,deep-learning,nlp,Python,Machine Learning,Text,Deep Learning,Nlp,我目前正在为多项选择题制作分心工具。训练集由问题、答案和3个干扰源组成,我需要为测试集预测3个干扰源。我已经阅读了很多关于这方面的研究论文,但我的问题是独一无二的。这里的问题是问题和答案是为了理解(通常是一篇大文章的文本故事),但没有给出基于它的理解,也没有为问题提供任何支持文本。此外,答案和干扰不是一个单词,而是句子。我去的研究论文主要是用一些支持性的文本。即使SciQ数据集也有一些支持文本,但我遇到的问题是不同的 我认为这篇研究论文与我想要的非常接近,我正计划实施这篇论文。下面是论文的摘录,

我目前正在为多项选择题制作分心工具。训练集由问题、答案和3个干扰源组成,我需要为测试集预测3个干扰源。我已经阅读了很多关于这方面的研究论文,但我的问题是独一无二的。这里的问题是问题和答案是为了理解(通常是一篇大文章的文本故事),但没有给出基于它的理解,也没有为问题提供任何支持文本。此外,答案和干扰不是一个单词,而是句子。我去的研究论文主要是用一些支持性的文本。即使SciQ数据集也有一些支持文本,但我遇到的问题是不同的

我认为这篇研究论文与我想要的非常接近,我正计划实施这篇论文。下面是论文的摘录,作者说它比NN模型更有效

我们将DG作为以下排序问题来求解:问题。 给定候选干扰物集D和MCQ数据集M={(qi,ai,{di1,…,dik}})N i=1,其中qi是问题干,ai是键,Di={di1…dik}⊆ D是与qi和ai相关的干扰因素,找到一个逐点排序函数r:(qi,ai,D)→ [0,1]表示d∈ D、 因此,Di中的干扰源排名高于D中的干扰源− 迪

我的问题是a)根据我的理解,上面几行说我们首先创建一个包含数据集中所有干扰因素的大列表,然后针对每个问题的所有干扰因素创建一个逐点排序函数?如果我们有n个问题和d个干扰。我们将有一个(nxd)矩阵,其中逐点函数值范围在o和1之间。此外,一个问题本身的干扰因素的排名应该高于其他问题。对吧?

为了了解排名函数,我们研究了两种类型的模型:基于特征的模型和基于nn的模型

基于特征的模型:给定一个元组(q,a,d),基于特征的模型首先将其转换为特征向量φ(q,a,d)∈ 具有φ函数的rd。我们为DG设计了以下特征,形成了26维特征向量:

  • Emb Sim卡。q与d的嵌入相似性及相似性 在a和d之间
  • POS Sim卡。a和d的POS标签之间的相似性
  • ED.a和d之间的编辑距离
  • 令牌Sim卡。Jaccard q和d的代币、a和d的代币以及q和a的代币之间的相似性
  • 长度。a和d的字符和标记长度及其差异 长度
  • 后缀。a和d的最长长度的绝对和相对长度 通用后缀
  • 频率a和d中的平均字频率
  • 单身。a和d的单数/复数一致性。这个
  • 维基模拟
我的问题是:这些特征生成的想法会同时适用于单词干扰和句子干扰吗?(根据报纸,他们声称会)

除了所有这些,我还有其他一些简单的问题,比如我应该在这里删除停止词吗


我是NLP的新手。因此,任何关于SOTA实现在这里工作的建议都将非常有用。提前感谢。

这是一个庞大的研究课题,确实,在您的情况下,生成flase答案或干扰因素在庞大的NLP中是一个非常重要的问题。从那时起,就没有最先进的完美解决方法

但已经尝试了几种实现方法,我建议使用两步方法:

1) 利用概念嵌入相似度生成干扰源以提供初始列表

2) 利用信息检索(IR)中的重新排序方法来改进预测


希望能有所帮助:

感谢您的回答和分享该论文。看起来很有趣!肯定会有帮助的