2011年7月22日金曜日

Rubyでコンテンツベースのレコメンドエンジンを作成

Rubyでコンテンツベースのレコメンドエンジンを作ってみました.といっても,元々Perlで書かれたものをRubyで書き直しただけです.元のプログラムはWEB+DB PRESS Vol.58の記事[1]で解説されていたものです.今回はソースファイル四つとデータファイル四つです.それらは次のリンクからダウンロードできます.

Term.rb
sample01.rb
sample02.rb
sample06.rb
url.txt
page01.txt
page02.txt
page03.txt

sample02.rbの元のプログラムでは,Yahoo!検索APIを利用しています.それと同様にするはずだったのですが,利用制限によりいつもエラーページがかえってきていたので,Googleの通常の検索サービスを利用することにしています.また,sample02.rbとsample06.rbをサイズの大きいHTML文書に対して実行する際は,処理時間がものすごく長くなるので注意してください.参考資料[1]の記事には,上記に含まれていないプログラムがあります.処理内容がちょっとディープすぎて,作成するのに時間がかかりそうだったので,それらについては実装していません.

実行方法と実行結果は,以下のとおりです.

$ ruby sample01.rb http://dl.dropbox.com/u/15893102/wdpress58_algorithm/page01.html
1 Ruby
1 Perl
1 言語
1 軽量
$ ruby sample02.rb http://dl.dropbox.com/u/15893102/wdpress58_algorithm/page01.html
7 Ruby
6 Perl
6 言語
7 軽量
$ ruby sample06.rb url.txt http://dl.dropbox.com/u/15893102/wdpress58_algorithm/page03.html
1: 0.45 page01
2: 0.00 page02


参考資料
[1] 伊藤 直也, 内容からの記事推薦に挑戦, アルゴリズム実践教室 第3回, WEB+DB, Vol. 58, pp. 147-155, 2010-09

関連資料
[2] MacPortsでrb-hpricotをインストール
[3] MacPortsでrb-mecabをインストール
[4] Rubyでレコメンドエンジンを作成
[5] Rubyでベイジアンフィルタを作成

0 件のコメント: