2011-04-21 33 views
12

我想創建一個近50000字的ARPA語言模型文件語言模型文件。通過將我的文本文件傳遞給CMU語言工具,我無法生成語言模型。是否有其他鏈接可用於我可以爲這些詞彙獲取語言模型?創建ARPA與50,000字

+0

你的意思是說,你需要的英語單詞集合? – 2011-06-14 17:46:46

回答

10

我想我會回答這個問題,因爲它有幾票,雖然基於克里斯蒂娜的其他問題,我不認爲這將是自5萬字的語言模型爲她可用的答案几乎可以肯定不會由於硬件限制,目前使用這種格式的語言模型的iOS應用內識別系統具有可接受的字錯誤率或識別速度(或者很可能甚至長時間運行)。我想這是值得記錄,因爲我認爲它可能是幫助他人誰正在使用一個平臺,保持詞彙這個尺寸在內存中更多的是一種可行的事情,也許這將是未來的設備型號可能爲好。

沒有基於Web的工具,我知道像獅身人面像知識庫工具,將Munge時間5萬字語料的明文和返回ARPA語言模型。但是,您可以通過以下步驟獲得一個已完成的64,000字DMP語言模型(可以在命令行中使用Sphinx或在其他平臺實現中使用,與ARPA .lm文件相同):

  1. 從CMU語音網站下載該語言模型:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Language%20Model/HUB4_trigram_lm.zip

在該文件夾是一個名爲language_model.arpaformat.DMP文件,這將是你的語言模型。

  • 下載這款由CMU講話站點文件,這將成爲你的發音詞典:
  • https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic

    轉換的cmu07a.dic內容爲全部大寫字母。

    如果你願意,你也可以通過刪除任何在語料庫中找不到的單詞language_model.vocabulary(這將是一個正則表達式問題)來修剪發音詞典。這些文件適用於Sphinx英語語言模型之一。

    如果渴望使用50,000字的英語語言模型是由做某種廣義的大詞彙量語音識別的想法驅動的,而不是需要使用非常具體的50,000個詞(例如,某些特殊的東西一本醫學詞典或50,000條記錄的聯繫人列表),如果硬件可以處理它,這種方法應該給出這些結果。可能會出現一些Sphinx或Pocketsphinx設置,這些設置需要進行更改,以便優化通過此模型大小的搜索。

    +1

    開放式耳朵新版本0.91具有創建語言模型文件的內置功能。這真的解決了我的問題。並希望其他人能夠從此獲得幫助。 – Christina 2011-06-15 11:56:01

    +0

    嗨,Christina,很高興聽到OpenEars.91動態語言模型生成工作正常很好,但是我很驚訝地聽到它可以用於生成50,000字的語言模型。這是在設備上還是在模擬器上工作? – Halle 2011-06-15 12:02:36

    +0

    我只是因爲好奇而問,因爲當我設計LanguageModelGenerator類時,我不知道它會被用於或可用於這樣的大型模型 - 我正在考慮10-500個字的順序來進行特定於上下文的命令和控制語言模型。 – Halle 2011-06-15 12:14:02

    0

    有多大規模訓練語料?如果它只有50000字,那就太小了。

    在一般情況下,你既可以使用該工具包從CMU或HTK

    詳細的HTK語音識別工具包文檔在這裏:http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz

    這裏也是CMU的SLM工具包的描述:http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html

    另請參閱: Building openears compatible language model

    您可以根據更大的語料庫採用更一般的語言模型,並插入較小的語言模型語言模型與它..例如退後語言模型...但這不是一項微不足道的任務。

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