2009-11-03 89 views
5

我正在尋找用於生成隨機但真實文本的工具。我自己實現了一個馬爾可夫鏈文本生成器,雖然結果很有希望,但是我嘗試改進它們並沒有取得任何成功。用於生成隨機但真實文本的庫或工具

我很喜歡那些使用語料庫或基於上下文敏感或上下文無關語法的工具。我希望該工具適合納入另一個項目。 我最近的大部分工作都是在Java中進行的,所以我最喜歡使用該語言的工具,但是我可以使用C#,C,C++甚至JavaScript。

這與question類似,但範圍較大。

+0

在參考下面的評論 - 什麼是你的尋找與原文的參數?字長?人物概率?句子長度?在字符或單詞中?也許如果你在你的需求中得到更多具體的東西,可以找到一些東西。 – 2009-11-03 23:52:03

回答

6

如果你想要「隨機」文本,擴展你自己的馬爾可夫鏈生成器可能是你最好的選擇。生成具有上下文的東西是一個開放的研究問題。

嘗試(如果你還沒有):

  • Tokenising標點分開,或包括標點符號在你的鏈條,如果你不已經。這包括段落標記。
  • 如果您使用的是2條或3條歷史馬爾可夫鏈,請嘗試在遇到滿座或換行時重置爲使用1條歷史記錄。

或者,你可以分兩次使用WordNet與語料庫:

  1. 分析句子以確定字類型,即名詞,動詞,形容詞和副詞的共同序列。 WordNet包含這些。其他一切(代詞,連詞,任何)都被排除在外,但你基本上可以直接通過這些。 這將使「快速棕色狐狸跳過懶惰的狗」變成「[形容詞] [形容詞] [名詞] [動詞]在[形容詞] [名詞]」
  2. 通過隨機選擇重現句子一個模板句,用實際的形容詞名詞和動詞替換[形容詞],[名詞]和[動詞]。

這種方法也存在很多問題:例如,您需要從周圍的單詞中獲取上下文以瞭解選擇哪個同音詞。在wordnet中查找「快速」會產生關於快速的東西,而且還會產生指甲的一點點。


我知道這並不能解決您對圖書館或工具的需求,但可能會給你一些想法。

+0

我最近發現了wordnet,同時尋找類似於這個的解決方案 – 2012-02-25 06:35:07

0

類似this Lorem ipsum generator?還有幾個API的鏈接。

+0

非常相似,但我正在尋找一種可以消耗文本語料庫並生成隨機但類似文本的文件。我道歉,我應該在問題上更清楚。 – 2009-11-03 23:45:14