我可以将哪种解析算法用于 NLP 问答系统?

人工智能 自然语言处理 问答 算法请求
2021-11-05 02:27:22

我目前正在做我毕业前的最后一个项目。对于这个项目,我必须开发一个自然语言问答系统。现在,我已经阅读了很多关于这个主题的研究论文,并且已经弄清楚了除了解析算法之外的所有内容。

NL QA 将用 Python 编写,我将使用spaCy 库来完成这个项目。但是,在解析算法方面,我陷入了困境。我设法将解析算法减少到 3 个:

  • Cocke-Kasami-Younger (CKY)算法
  • 厄利算法
  • 图表解析算法

注意:我知道这三种算法都是图表解析算法。我也知道Earley算法是上下文无关的,但编译器的效率很低。

我不知道的是:我应该选择哪一个?(请对这个问题提供一个非主观的答案!)

该系统适用于特定域。自然问题的答案将以某种计算结果的形式显示。最好采用表格或图形形式。

我已经完成了我的研究。但是,我可能没有正确理解算法,这使得选择变得困难。算法应该是有效的,并且可能优于其他算法。

1个回答

我一直在阅读和阅读,并找到了几乎所有问题的答案。

我坚持使用Earley算法,因为它提供了一种动态编程方法(CKY 也是如此)。两种算法都是图表解析算法。

Earley 是一种上下文无关、自上而下的解析算法,这使其成为一种目标驱动的算法。从开始符号向下。此外,它比 CKY 算法更有效。

以下是提供更多信息的幻灯片。