自然语言处理算法



我正计划使用NLP开发一个自然语言问题系统。我对适用于NLQ系统的可能算法进行了文献研究。

最终用户在完成该工具后,应该能够向系统提出问题,系统依次以表格的形式给出答案。该表格将以图形的形式显示答案。

此外,回答部分已经完成。编程将使用PyNLPl库在Python中进行。

主工具已经可以执行数学运算,并总结这些运算的结果。用户应该能够提出以下问题:

  • "一月雨天的销售情况如何?">
  • "整个欧洲的……数量是多少">

这个问题不是主观的,正如我之前提到的,我做了文献研究。我对我发现的算法列表进行了适当的选择。我的决定是:

  • POST、Chunking、命名实体提取
  • 正在分析
  • 主题建模和关键词提取

每个要点的算法为:

  • 条件随机场-隐马尔可夫模型
  • CKY算法-Earley算法
  • 潜在狄利克雷分配

此外,问题中应该提到的变量不是独立的。Naive Bayes在这种情况下也适用吗?所选择的算法应该优于其他算法,并达到最佳拟合。

我一直在阅读,几乎找到了所有问题的答案。我坚持Early算法,因为它提供了一种动态编程方法(CKY也这样做)。这两种算法都是图表解析算法。

Earley是一种上下文无关、自上而下的解析算法。这使它成为一种目标驱动的算法。从开始符号向下。此外,它比CKY算法更有效。比较和解释幻灯片:https://www.cs.bgu.ac.il/~michaluz/研讨会/CKY1.pdf

注意:Earley和CKY解析算法只会产生一个无法执行任何操作的解析树。然而,使用例如shift reduce依赖性解析算法,除了解析和标定句子结构之外,不仅可以给出真实单词之间的依赖性,这些依赖性还可以用于问题中的关系提取。为了真正理解这个问题。

最新更新