Q&A 答案比较多个句子使用

数据挖掘 机器学习 nlp
2022-02-19 16:20:30

我一直在开发一个问答应用程序,它有一个问答模板。希望是从用户那里获取答案文本,并将其与正确答案进行比较。我想根据关键字/流行语和响应的一般准确性来衡量它。

我是一名移动开发人员,不是一名数据科学家,也不是精通机器学习,所以我有点迷失在这片森林里,不确定我是否走在正确的道路上。

我一直在研究自然语言过程和一些评估句子的相关 python 库/模型。

 


我是否朝着正确的方向前进?还是我应该以另一种方式去做?

1个回答

这取决于您希望系统有多复杂:

  • 最基本的方法是使用简单的字符串相似性度量(例如重叠系数)将用户答案与黄金答案进行比较。基本上它只计算共同的单词,并且将有一个最小阈值来计算答案是正确的(例如 80% 的共同单词)。这不是很好,因为一个小的拼写错误就足以使分数出错,并且它赋予每个单词同样的重要性。
  • 相同的想法,但使用 TF-IDF 权重,通常具有余弦相似度。这需要一个语料库来计算 IDF 权重(通常反映单词的重要性)。
  • 仍然基于字符串相似性度量,但更先进:一种混合相似性度量,它结合了单词之间的字符级相似性(例如 Jaro、Levenshtein 编辑距离)和单词之间的相似性。Soft-TFIDF 是一个常见的例子。缺点:可能很难正确适应任务。
  • 除此之外,还有很多花哨的选择:使用 WordNet 的语义相似性(同义词)、词嵌入等。

注意:仅供参考,这与称为问答的任务无关,问答是关于计算机生成的问题答案。