2011-02-14 38 views
2

我想拍攝一下在我的應用中將傳入文檔表徵爲「好」還是「差」。我意識到這並非易事,但即使是粗略的想法也是有用的。我覺得要做到這一點的方法是通過兩個類的樸素貝葉斯分類器,但我很樂意提供建議。所以兩個問題:NLP和Ruby來描述寫作質量

  1. 是這個方法的最佳(考慮到簡單)的方式來做到這一點 假設一個足夠大的訓練分貝?

  2. 是紅寶石 有庫(或任何可集成的JRuby或 什麼),我可以插入我的 Rails應用程序來實現這一目標用有點小題大做?

謝謝!

回答

2

你可能會嘗試使用詞彙向量分析。討論了一些在這裏:

http://en.wikipedia.org/wiki/Semantic_similarity

基本上你建立你認爲「寫得很好」或「寫得不好」和計數的某些詞的頻率文本的語料庫。爲每一個製作一個歸一化的矢量,然後計算它們與每個傳入文檔的矢量之間的距離。我不是統計學家,但我被告知它與貝葉斯過濾類似,但似乎更好地處理拼寫錯誤和異常值。

這並不完美,無論如何。根據你需要的準確度,你可能仍然需要人類做出最終的判斷。但是,我們將它作爲一個預過濾器來減少審閱者的數量,運氣不錯。

+0

Ken-您是否在使用特定的庫來完成此操作?或者只是手工編碼?看起來像一個好地方開始。 – 2011-02-14 18:08:28

1

另一個簡單的檢出算法是Flesch-Kincaid可讀性度量。它使用非常廣泛,應該很容易實現。我假設其中一個Ruby NLP libraries有音節方法。