Ruby | 20:40 | Aho Corasick 法を読んで、そう言えばキーワードリンクに関していつか調べようと思っていたことを思い出しました。ライブラリのインストール今回はUbuntu 8.10にRubyからAho Corasickを利用するライブラリをインストールしました。 $ sudo gem install ruby-ahocorasick プログラムの実行以下のようなプログラムを作成して実行しました。ahocorasick-sample.rb require 'rubygems' require 'ahocorasick' keyword_tree= AhoCorasick::KeywordTree.new # ツリーを作成 keyword_tree.add_string("pen") # キーワードをツリーに追加 keyword_tree.add_string("This
id:naoyaさんが,クラスカルのアルゴリズムをPythonで実装されています。 http://d.hatena.ne.jp/naoya/20090610/1244647082 自分の理解を深めるために,Rubyで書いてみました。 mst_kluskal.rb #!/usr/bin/env ruby class DisjointSet attr_accessor :parent, :rank def initialize(size) @parent = Array.new(size, 0) @rank = Array.new(size, 0) for i in 0...size @parent[i] = i end end def union(x, y) self.link(self.find_set(x), self.find_set(y)) end def link(x, y) if
ダイクストラ法が小さなサンプルデータで動いたら、実際のデータを使ってみたくなるのが人情。東京を走る地下鉄のデータでやってみたいと思った。 JavaScriptとPrototype.jsとGoogleMapsAPIとすったもんだしたあげく、なんとか動くものができた。 502 Bad Gateway テストアプリはこちら JavaScriptのソースはここのhtmlに 駅や路線のデータは駅データ.jpのものを使わせてもらいました。 使ったのは東京メトロ+都営+山手線 駅(ノード)の数は、同じ駅でも路線ごとで別にカウントして 322 駅同士をつなぐ線路(エッジ)の数は、徒歩や乗換えを含め 912 体感もっさり感じるけど、経路の検索以外のところがかなりかかってる Tips Prototype.js Array.without は超重い、使うな! Hash.keys で返ってくるキーはすべて文字列に
最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めの本です。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン
Programming Collective Intelligence: Building Smart Web 2.0 Applications 作者: Toby Segaran出版社/メーカー: O'Reilly Media発売日: 2007/08/26メディア: ペーパーバック購入: 3人 クリック: 117回この商品を含むブログ (31件) を見る「集合知」を解説するこの本にはいろんな実例とサンプルが出てくる。サンプルは python なので ruby に書き換えてみた。書き換えたのは第二章の "Making Recommendations" の一部です。なんらかのアイテム(本とか映画とか)とその評価(Amazonレビューの★とか)を複数の人間が行った場合に,その情報を元に「似た傾向の評価者」を探し,似た傾向の評価者のリストから自分が未評価のアイテム(つまり未読の本とか未見の映画とか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く