[[Software]]

*azarashi [#te69ffa1]

azarashiは、[[django>https://www.djangoproject.com/]]と[[gensim>http://radimrehurek.com/gensim/]]とmongodbをベースにした履歴ベースとコンテンツベースの両方に対応したレコメンデーションエンジンです。集計に関しては、現状mongodbのmapreduce機能を用いて実現しています。(MongoDBをshard構成で使うとはまりどころが多いので、全履歴を保持せずに、至近N日のみmongodb上に保持するなどして一台構成にするのが良いと思われます。item-user行列はインクリメンタルに作成するのでログは古い物がなくても問題ないです。)。コンテンツベースのレコメンドに関しては、説明文の類似度・画像の類似度・メタデータ、タグの類似度を元にレコメンドします。


履歴に基づいた基本的なレコメンドや、タグの類似度やテキストの類似度や画像の類似度(color coherence vector)を用いたコンテンツベースのレコメンデーションを提供します。現在は、gensimをラップする形で、tf-idf(ベーシックな協調フィルタ)、[[LSI>http://en.wikipedia.org/wiki/Latent_semantic_indexing]]、[[Okapi BM25>http://en.wikipedia.org/wiki/Okapi_BM25]]、[[LDA>http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation]]の4つのモデルにもとづいてレコメンデーションを実現すると同時に、商品のメタデータごとに集計したランキングに基づくレコメンデーション機能を提供しています。


**レポジトリ [#qe6b25fa]
-https://bitbucket.org/aihara/azarashi


** バックエンド [#we6e2ec7]
-mongodb
-memcache
** 依存ライブラリ [#v4ccd395]
: django | 1.5系
: gensim | 0.84以上(pypiの最新版のtop-kクエリに不具合があって異常に遅いのでgithubの最新版を利用してください)
: numpy | gensimの仕様に合わせてください
: scipy | gensimの仕様に合わせてください
: msgpack_python | ヴァージョン指定無し
: mongoengine | 0.8.3以上
: pyccv | 0.07以上
: PIL | 1.1.6以上
: Bottleneck | 0.8以上
: gunicorn | -
: python-memcached | -
: mecab| -

*使い方 [#a417fedd]

** マスターデータの投入 [#f53f9bb7]

** 履歴情報のトラッキングAPI [#dd37ee9c]

** 履歴情報の集計 [#p1b276c8]

** レコメンデーションモデルの構築 [#z52a5733]

** レコメンデーションAPI [#xf681542]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS