*随机生成句子*给定CFG

问题描述 投票:0回答:1

我想根据给定的上下文无关文法生成句子随机

[随机是重要的部分,因为我的语法相当大,并且NLTK生成所有可能的发音,而这些递归不能满足递归要求(即E -> A E),而花费的时间太长,无法在短时间内生成“有趣的”表达(有趣的是与当前说话之前的其他说话不同)。

是否有用于此的Python库?谢谢!

python random context-free-grammar
1个回答
0
投票

[NLTK没有提供一种从语法生成随机句子的方法,尽管如本[相关的SO问题(How to use NLTK to generate sentences from an induced grammar?)所示,它可以从三字母语法生成随机句子。

[如果您想编写自己的Python函数,您可能会对Bruce Mackenzie于1997年发表的这篇论文Generating Strings at Random from a Context Free Grammar感兴趣。 (我在this answer to a different SO question中找到了链接。)该算法包括在O(N 2)预处理步骤中预先计算权重,并且要求语法没有ε产生。

© www.soinside.com 2019 - 2024. All rights reserved.