NLP - 句子不遵循语法分析中的任何语法规则

时间:2018-02-07 06:30:54

标签: python parsing nlp stanford-nlp text-parsing

我从nltk库中的Treebank数据集中提取语法。现在解析器将使用这些规则来解析句子。所以例如我有如下语法:

A->B C
B->'b'
C->'c'
D->'d'

现在假设我有b c这样的句子,所以解析器会生成如下的解析树

    A
   / \
  B   C
  |   |
  b   c

所以我喜欢训练数据集中的所有语法。现在进行测试假设一个全新的句子就像"c d"

一样

上面句子的解析树将是

  C   D
  |   |
  c   c

并且解析器将停止,因为A->C D

没有规则

那么如何解析这些句子,因为训练语法没有像A -> C D这样的语法

所以问题是如果在训练数据集中没有全新的语法规则,如何解析句子?我正在使用概率语法。

1 个答案:

答案 0 :(得分:0)

您可以尝试的一件事是关闭不可解析的输入句子的不同部分并扣除某个置信度分数,然后尝试将其与现有语法匹配。如果置信度降至某个阈值以下,您只需返回一条关于无法解析并删除此句子的消息。虽然在同一时间你可以记录这些句子并提出新的语法。

这就是我为其中一个个人助理项目所做的,试图回答所有看不见甚至无效的输入几乎是不可能的。