簡體   English   中英

在給定 CFG 的情況下*隨機*生成句子

[英]Generating Sentences *Randomly* Given a CFG

我想從給定的上下文無關語法中隨機生成句子。

隨機是重要的部分,因為我的語法非常大,並且NLTK生成所有可能的話語,這些話語在遞歸上不足(即E -> AE )並且需要很長時間才能在短時間內生成“有趣”的話語(有趣的是不像其他當前話語之前的話語)。

是否有任何 Python 庫為此? 謝謝!

NLTK 沒有提供從語法生成隨機句子的方法,盡管如相關的 SO 問題中所述,如何使用 NLTK 從誘導語法生成句子? ,它可以從三元組生成隨機句子。

如果您想編寫自己的 Python function,您可能會對 Bruce Mackenzie 於 1997 年撰寫的這篇論文感興趣,即從上下文無關語法隨機生成字符串 (我在這個答案中找到了另一個 SO question的鏈接。)該算法涉及在 O(N 2 ) 預處理步驟中預先計算權重,並且要求語法沒有 epsilon 產生式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM