如何获取句子的上下文?

new*_*bie 5 nlp

我们使用一份调查问卷来评估学生的知识水平(我们手动执行此操作,如试卷中所示)。它由以下部分组成:

  1. 多项选择
  2. 理解问题(即:蜘蛛是昆虫吗?)

现在我接到了一项任务,那就是制作一个专家系统来自动执行此操作。所以基本上我们对此有一个正确的答案。但我的问题是“理解问题”。我需要将他们的答案的上下文与正确答案的上下文进行比较。

我最初已经在寻找答案,但这似乎是一项艰巨的任务。到目前为止我所搜索的是我可以通过 NLP 来做到这一点,这对我来说确实是新的。另外,如果我没记错的话,似乎我必须找到一本包含考官可能回答的所有单词的字典。

我走在正确的轨道上吗?如果不是,请建议我应该做什么(研究什么?)或给我一些我需要的材料的链接。另外,我应该自己制作字典吗?因为我将使用的词语是菲律宾语。

更新:理解问题

调查问卷的理解部分包含一段解释特定场景的段落。问题相当简单。这是一个例子:

邦妮的叔叔让她从树上摘苹果。她拿起一根棍子,戳那些水果,这样它们就会掉下来。正在做这事的时候,突然刮起了一阵强风。由于害怕水果掉到头上,她停下了手中的事情。但此后,她注意到风导致苹果从树上掉下来。这些掉落的苹果是她带回家给叔叔的。

问题是:

  1. 邦妮的叔叔让她做什么?
  2. 是什么导致邦妮不再从树上摘苹果?
  3. 邦妮是一个优秀的水果采摘者吗?请解释你的答案。

答案键指出的可能答案是:

对于数字 1:
1.1 邦妮的叔叔让她从树上摘苹果
1.2 获取苹果

对于第二个:
2.1 一阵强风吹过
2.2 她可能会被水果击中头部

对于第三个:
3.1 不,因为她得到的苹果已经在地上了
3.2 不,因为风导致水果掉落
3.3 是,因为刮风时很难采摘水果。
3.4 是的,因为至少她尝试过

现在我得到了答案。系统应该能够做的工作是将学生答案的上下文与正确答案的上下文进行比较,以便系统能够成功地对学生的答案进行评分。

小智 1

我能想到的一种简单的方法是使用余弦或杰卡德等字符串相似度度量来识别某些关键字是否出现在测试答案和已知的正确答案中。自动提取这些关键词可以通过使用 NLP 的词性标记来完成。例如,您可以提取所有名词(可能还有动词)。然后,将每个答案表示为关键字向量,您可以将测试向量与已知的正确向量进行比较。

例如,在第二个问题中,两个可能答案的向量可以是

  1. 阵风,风,吹过
  2. 击中, 头, 水果

与诸如“害怕水果掉到她头上”这样带有关键词:水果、掉落、头的答案相比,像“她拿起一根棍子”这样的答案,带有关键词:捡起,棍子,得分会非常低。

笔记:

  1. 这只能检测到极其错误的答案。此技术不会检测到包含正确关键字的错误答案。:)
  2. 我不确定非英语句子。如果是这种情况,您可能希望将答案中的每个单词作为关键字(删除停用词)。 这个问题也可能有帮助。