先日リリースしたナイーブベイズ分類器のライブラリを組み込んだアプリケーションを 2 つ用意した。

ひとつはいい話判定器である。
http://goodstory.id774.net/goodstory/

これは以前にもブログ記事を書いている。前回のバージョンでは RubyPython を利用して Rails アプリから Python のライブラリを呼んでいた。これをアップデートして Ruby で実装された自前の naivebayes ライブラリを呼ぶように変更した。このいい話分類器は誰でも自由に分類器を訓練できるというオープンな分類器なのでぜひ遊んでみて欲しい。

もうひとつはつい先日リリースしたニュースサイトである。
http://newscloud.id774.net/newscloud

これにカテゴリを表示するようにした。カテゴリはあらかじめ与えておいた教師データをもとにナイーブベイズで記事の内容を分類しその結果を表示している。たとえば特に明示的に与えたわけではないのにイチローの記事がちゃんとスポーツに分類されていたりと、そこそこの精度は出ているように見える。

ナイーブベイズのうち、いい話判定器についてはベルヌーイ分布を採用している。人々が自由に訓練できるので憶えた語彙が増えるたび判定の基準が増えていく。これに対しニュースサイトのカテゴリー判定は多項分布である。なお、両者とも元となる教師データに自身の判定結果を追加して賢くなっていくという方式をとっている。すなわち両者とも情報が増えるごとにどんどん判定器が賢く成長していくのである。これらを仮に自律学習型ナイーブベイズモデルとでも呼んでおきたい。

ナイーブベイズは簡単な割に幅広く応用が利くので色々なアプリケーションに組み込みつつ、独自の理論を取り入れて改良していきたい。ナイーブベイズのライブラリは以下のコマンドを入力するか Gemfile で指定することで簡単に利用することができる。

gem install naivebayes

投稿日: 作成者: 774