Amazon Random Walk

amazonのレコメンデーションで遊んできたけど、ブラウザ上で動作するものとしては「labs.hail2u.net/amazon/tree/」がいい感じ。

どうやらamazonウェブサービスから取得したXMLをXSLでJSONに変換してJavaScriptで処理しているようだ。凄いなー。私はjkl-parsexml.jsを使ってやろうと思ってたんだけど、XSSのあたりで躓いてたのでこのアプローチは素晴らしい。

というわけで、JavaScriptを勉強しながら前回のアルゴリズムを書いてみた。いろんな人のいろんなものを参考にさせてもらいました。

JavaScriptはまったく触ったことがないので一から勉強したわけだけど、どういうわけかRubyで実装したものよりも高速になった気がする。スクリプトもこんがらがってるんだけどね。Ruby仮想マシンで動かしていたからだろうか。

初めはデフォルトのASINを前回と同じく『ハルヒ』にしてたんだけど、テストしていてなかなか「遠く」に行けないようだったので、売れ筋の商品にしておいた。こっちの方が振れ幅が大きいと思う。行ったり来たりを繰り返すのはRandom Walkの仕様。特定の商品間を繰り返し移動し、新しい商品に移動しないのはamazonのSimilarityLookupの仕様だろう。

どこまで「遠く」へ行けるか試してみてほしい。