【发布时间】:2019-10-03 15:55:46
【问题描述】:
我想根据给定的上下文无关语法随机生成句子。
随机是重要的部分,因为我的语法非常大,NLTK 生成所有可能的递归不足的话语(即E -> A E)并且需要很长时间才能在短时间内生成“有趣”的话语(有趣不同于当前话语之前的其他话语)。
是否有任何 Python 库可以做到这一点?谢谢!
【问题讨论】:
-
你的CFG是什么样子的;即它是什么类型的?
-
@L3viathan 它在 EBNF 中。
-
并且所有可能的扩展都是同样可能的;你没有 PCFG?
-
它是一种编程语言的 CFG,所以是的,它们都有同样的可能性(或者可以假设如此)。
-
啊,那我被你提到的 NLTK 弄糊涂了。那时我不知道有任何这样的库;只需将您的语法解析为字典并迭代扩展以
["start"]开头的列表,直到无法进行更多扩展。
标签: python random context-free-grammar