2011-04-07 122 views
2

我正在創建一個檢測短文本語言的應用程序,平均爲< 100個字符並且包含俚語(例如tweet,用戶查詢,短信)。極短文本的語言檢測

我測試的所有庫都適用於普通網頁,但不適用於非常短的文本。迄今爲止效果最好的庫是Chrome的語言檢測(CLD)庫,我必須將它作爲共享庫構建。

當文本由非常短的單詞組成時,CLD失敗。看過CLD的源​​代碼後,我發現它使用4克,所以可能是原因。

我在想,現在提高精度的方法是:

  • 刪除名牌,號碼,URL和文字,如「軟件」,「下載」,「互聯網」
  • 使用字典當文本包含多個短語時,或者當它包含太少的單詞時。
  • 該字典來自維基百科新聞文章+ hunspell字典。

什麼數據集最適合這項任務?我該如何改進這種方法?

到目前爲止,我正在使用EUROPARL和維基百科的文章。我在大部分工作中使用NLTK。

+0

您是否設法將CLD構建爲共享庫?你願意分享嗎? – Stuart 2011-10-18 20:57:49

+0

@Stuart是的,我有。您需要在構建時將此作爲參數傳遞: './build/gyp_chromium -f make -D library = shared_library' 然後僅採用您想要的'make cld'的特定庫。 此處的完整說明http://code.google.com/p/chromium/wiki/LinuxFasterBuilds – MrD 2011-10-18 22:06:58

回答

5

很短文本的語言檢測是當前研究的主題,所以沒有確定的答案。推特數據的算法可以在Carter, Tsagkias and Weerkamp 2011中找到。另請參閱那裏的參考資料。

+0

感謝您的鏈接 – MrD 2011-04-12 09:13:25

4

是的,這是一個研究課題,並且已經取得了一些進展。

例如,http://code.google.com/p/language-detection/的「語言檢測」作者已創建了短消息的新配置文件。目前,它支持17種語言。

我將它與Bing語言檢測器進行了比較,收集了大約500條推文,這些推文大多是英文和西班牙文。精度如下:

Bing = 71.97% 
    Language-Detection Tool with new profiles = 89.75% 

欲瞭解更多信息,可以查看他的博客指出: http://shuyo.wordpress.com/2011/11/28/language-detection-supported-17-language-profiles-for-short-messages/

-2

而且省略學名或藥品等你的做法似乎很細到我的名字。我認爲維基百科是創建字典的最佳選擇,因爲它包含標準語言。如果你沒有耗盡時間,你也可以使用報紙。