2011-07-15 29 views

回答

2

要爲小型域創建一個體面的語言模型,它通常足以擁有大約100 MB的文本。您可以將它們與通用語言模型混合使用,以更好地概括語言模型。

要創建通用語言模型,開發人員需要使用非常大的語料庫。例如,有一個Google 1TB語料庫,其中包含數百萬字和太字節的數據。它的trigram部分大約是40Gb的bigram數量,但它必須是100TB的文本。

+0

我在哪裏可以下載這個1TB文集? –

+0

谷歌的數據可以從最不發達國家購買。 http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13另請參閱http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to -you.html –

0

添加到Nikolay的回答:

這不是一件小事。生成語言模型是一項時間和資源密集型任務。

如果你想擁有一個「好」的語言模型,你將需要一個大的或非常大的文本語料庫來訓練一個語言模型(想想幾年華爾街日記文本的數量級)。

「好」的意思是:如果語言模型將能夠從訓練數據,以新的和以前看不到的輸入數據

你應該看看的獅身人面像和HTK語言模型工具包的文檔來概括。

請檢查這兩個線程:

Building openears compatible language model

Ruby Text Analysis

你可以採取一個更一般的語言模型的基礎上,一個更大的語料庫,並用它插你的小語言模型..如回退的語言模型...但這不是一項簡單的任務。

看到:http://en.wikipedia.org/wiki/Katz「s_back-off_model