2012-12-10 54 views
4

我正在研究用於估計sentence difficulty的算法,但我發現的方法似乎太舊以至於無法利用現代計算機可以執行的操作。最新的句子可讀性算法

今天使用的算法大都是在40到60年前開發的。 Flesch-Kincaid是最受歡迎的,仍然被國防部和許多州和企業用作文件的標準。我看過Flesch-Kincaid年級,Gunning霧指數,SMOG指數,Fry可讀性公式和Coleman-Liau指數。

我已經決定使用自動可讀性索引:基於語料庫

ARI = 4.71 * (characters/words) + .5 * (words/sentences) - 21.43; 

在我看來,它不會是困難的值分配給基於每個字詞頻列表,然後將工作這些值轉換爲舊的可讀性公式。
這可以爲前1000到5000個最常用單詞完成。 另外,爲某些不同類型的單詞和詞類製作單獨的列表可能會很有效。連詞的存在肯定會成爲句子複雜性的標誌。

有沒有這樣做的公式?

+0

我不認爲這個問題的actionscript標籤會幫助你得到最好的答案。嘗試發佈在編程論壇/堆棧交換 – Ryan

+0

感謝您指出我在正確的方向。 – oppositefrog

+0

幾年前,我做了一個包含ARI的演示:http://lt3.hogent.be/en/demos/readability/。輸入一個文本,你會得到所有的分數。點擊結果中的鏈接以獲取有關我們實施的文檔。 – pvoosten

回答

0

當過你看到一個硬編碼的機器學習公式不變,可疑......

Automated Readability Index的數字代表了一個模型,是適合用來構建它的數據集和所選擇的功能代表它。 除了適合性,我認爲作爲一種常用的措施,校準到學校的成績是另一個好處。

您在可讀性中添加字頻的想法聽起來像是一個很棒的功能。畢竟,一個簡單語法句子中的單個陌生單詞可能會導致它變得無法閱讀。

你應該選擇你想要表達給定單詞頻率的句子的方式。例子可能是整個句子的概率,非常見詞的數量,最小頻率等。

然後你應該建立一個數據集並學習它的模型參數。最直接的方法是使用人工標記爲可讀性的句子數據集。但是,建立這樣的數據集似乎非常耗時。

您可以通過使用一些可讀性級別通常已知的來源來繞過此問題,並根據來源標記句子可讀性。 例如,來自simple English wikipedia的句子應該比維基百科的句子更具可讀性。其他來源的共同可讀性水平可以是華爾街日報和網絡論壇。 對這些句子做一些手動標記以對齊和校準可讀性值。

通過使用此技術,您可以權衡標籤數量的標籤精度。由於證明機器學習可以在白噪聲甚至惡意錯誤的情況下完成,所以這種折衷通常是有益的。