RSSリーダーHeimdallrに搭載されている自動学習機能は、ユーザの興味対象を学習し、興味のありそうな記事を優先的に表示するという機能です。
この機能は、Heimdallrの特徴的な機能なのですが、上手く動いているかどうか評価することが難しく、開発者としてはなかなか扱い難い機能です。
そこで、自動学習機能の評価として、ユーザによる自動評価ができないかと考えています。
評価が難しいのは、ユーザの興味対象を適切に学習できているのか、といったことが数値化できないからです。
数値化できないと、例えばアルゴリズムを改良したとき、本当に良くなったかどうか分かりません。
こうした評価が難しい自動学習機能を、どうやって評価するかというのは、Heimdallrの大きな課題なのです。
何か参考なるかと思い、日本語の文書からキーワードを抽出する技術についての論文などを読んでみると、
人間が主観で正解を決め、それにどれくらい近づけたかというのを数値化しているようです。
人数が多ければ客観的な正解になると思うので、なかなか良いやり方だと思います。
たぶん研究室の仲間に手伝って貰っているのでしょう。
しかし、私は、もう学生ではないので研究室の仲間は居ません。
けれども、ユーザの皆様に手伝って貰うという手があります。
具体的にはこんな方法です。
自動学習機能をバージョンアップしたら、前より良くなったか、それとも悪くなったのか、皆様からコメントを貰うのです。アンケートでも良いですね。
1000件位集めて、半分以上良くなったと感じる人が居たら、バージョンアップは成功。そんな方法です。
しかし、このサイトのコメント数を見る限り、どう考えても1000件もコメントを貰えそうに無いです。
そして、コメントが少ないと、ユーザの嗜好が偏ると思いますので、あまり参考になる結果が得られるとは思えません。
そこで、もっとお手軽に、ユーザによる自動評価ができないか、と思っています。
例えば、Heimdallr起動後にユーザが一番最初にクリックした記事が、自動学習機能により「ユーザが興味あり」と判定されていたら得点+1、「ユーザが興味なし」と判定されていたら得点-1、こんな感じで、得点を計算し、定期的に私に送って貰うようにするのです。
自動学習機能に変更を加えれば、その結果が数値として得られるはずなので、改善と改悪のどちらになったのかはっきりします。
そうして集めた情報、個人情報にならないかという懸念はあります。しかし、ユーザ環境で0.5とか0.9とか数値化された上で私に送られるので、問題ないと思います。(もちろん本当にやるときは、ちゃんとユーザの許可を取ってからやりますが)
これでしたら、お手軽に登録できるので、1000人位集まるのではないかと期待できます(無理かな^^;)
1000人集めることができれば、自動学習機能が上手く働いているかどうか判断するための客観的(に近い)数値が得られるのではないかと思います。
というわけで、このユーザによる自動評価という評価のやり方は、自動学習機能をお手軽に、そして客観的に評価できる良いやり方だと思います。
研究室の仲間を呼び集めてやるよりも、良いやり方かもしれません。ちょっと作ってみたくなりました。
しかし、私の専門は自然言語処理ではありませんし、今後も自然言語処理を専門にしようとはあまり思っていないので、深入りしたくないなぁという想いもあります。
というわけで、これについては「気が向いたら」試してみようと思います。