|
帯2(obi-2.x) は、日本語のテキストの難易度(リーダビリティ)を推定するプログラムです。
このプログラムは、難易度として、1から13までのいずれかの値を出力します。
これらの値は、次のような学年を意味します。
| 1 - 6 | : | 小学(1年 - 6年) |
| 7 - 9 | : | 中学(1年 - 3年) |
| 10 - 12 | : | 高校(1年 - 3年) |
| 13 | : | 大学 |
難易度の規準には、小中高大の教科書127冊から抽出した1478サンプル、約100万字のコーパス(教科書コーパス)を用いています。
プログラムは、まず、それぞれの難易度に対する尤度を、連続する2文字の生起確率(文字bigram)に基づいて計算します。
得られた尤度のうち、最大の尤度をとる難易度が、求める難易度となります。
実際の難易度の計算は、もう少し複雑です。
あるテキストに対して、文字の生起確率から計算された13個の尤度を難易度順にプロットしたのが、下のグラフの点線です。
理想的には、なめらかな曲線を描くはずですが、実際には、そうはなりません。
そこで、これら13個の値に対して、スムージングを適用します。
スムージングによって得られた結果を、青線(4次多項式)および赤線(2次多項式)で示しています。
スムージングを適用した結果に対しても、最大の尤度をとる難易度を求めます。
こうして、難易度が3つ(スムージングなしの場合、4次多項式でスムージングした場合、2次多項式でスムージングした場合)求まることになりますが、これらの値の中央値を、最終的な推定値として採用します。
本プログラムは、MacOS上で開発されました。
プログラミング言語rubyによって実現されているので、MacOS以外の標準的なunix環境でも動作します。
これまでの経過
- 2009年8月 - obi-2 (obi-2.30)の公開
- 2008年5月 - obi-one (obi-1.12)の公開
参考文献
- 帯2(obi-2.x)
- 帯(obi-one; obi-1.x)
|