【问题标题】:Does CKY really require CNF?CKY 真的需要 CNF 吗?
【发布时间】:2016-04-27 22:19:03
【问题描述】:

我已经阅读了许多 CYK/CKY 算法要求语法为乔姆斯基范式 (CNF) 的地方,例如

CYK 的标准版本仅在上下文无关文法上运行 以乔姆斯基范式 (CNF) 给出 ~Wikipedia

但是,我也看到了许多 CKY 算法的示例,其中语法不在 CNF 中。 Christopher Manning 使用的一个常见示例是“鱼人鱼缸”(参考:PPT slide #19),其中包含一元规则:

S -> NP VP [0.9]
S -> VP [0.1]
VP -> V NP [0.4]
Vp -> V [0.6]
...

我还看到了演示 CKY 的其他示例,这些示例在生产的 RHS 中使用了三个非终结符(例如 VP -> Verb NP NPreference)。为什么会出现差异?

【问题讨论】:

    标签: nlp grammar context-free-grammar chomsky-normal-form cyk


    【解决方案1】:

    CYK 的运行时间取决于最长产生式规则的长度,因为该算法考虑了将字符串分解为 k 个部分以产生长度为 k 的所有可能方式。这意味着每个阶段的运行时间为 O(nk),其中 k 是最长生产的长度。由于存在 O(n) 个阶段,CYK 在具有最大生产长度 k 的文法上的运行时间为 O(nk+1)。

    CYK 将在 CNF 中没有的语法上正常工作,但运行时可能不会以字符串长度结束。 CNF 要求只是强制 k = 2,因此保证了 O(n3) 的整体运行时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 2020-01-29
      • 2014-02-28
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2011-04-21
      相关资源
      最近更新 更多