Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Shinsuke Sugaya
PDF, PPTX
5,231 views
ElasticsearchとTasteプラグインで作るレコメンドシステム
Apache Mahout で提供されているTasteフレームワークをElasticsearchに組み込むことで、Elasticsearchをレコメンドシステムとして利用する方法をご紹介します。
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PDF
Elasticsearchで作る形態素解析サーバ
by
Shinsuke Sugaya
PDF
Elasticsearchプラグインの作り方
by
Shinsuke Sugaya
PDF
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
by
Shinsuke Sugaya
PDF
elasticsearchソースコードを読みはじめてみた
by
furandon_pig
PDF
Elasticsearch Authプラグインでアクセスコントロール
by
Shinsuke Sugaya
PDF
elasticsearchプラグイン入門
by
Shinsuke Sugaya
PDF
MySQLユーザ視点での小さく始めるElasticsearch
by
Kentaro Yoshida
PDF
Elasticsearch at CrowdWorks
by
佑介 九岡
Elasticsearchで作る形態素解析サーバ
by
Shinsuke Sugaya
Elasticsearchプラグインの作り方
by
Shinsuke Sugaya
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
by
Shinsuke Sugaya
elasticsearchソースコードを読みはじめてみた
by
furandon_pig
Elasticsearch Authプラグインでアクセスコントロール
by
Shinsuke Sugaya
elasticsearchプラグイン入門
by
Shinsuke Sugaya
MySQLユーザ視点での小さく始めるElasticsearch
by
Kentaro Yoshida
Elasticsearch at CrowdWorks
by
佑介 九岡
What's hot
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PDF
Fess/Elasticsearchを使った業務で使える?全文検索への道
by
Shinsuke Sugaya
PDF
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
by
Shinsuke Sugaya
PDF
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
by
Shinsuke Sugaya
PDF
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
by
Kentaro Yoshida
PDF
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
by
VirtualTech Japan Inc.
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
by
Kentaro Yoshida
PDF
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
PDF
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
PDF
SolrとElasticsearchの比較
by
genta kaneyama
PDF
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
by
Kentaro Yoshida
PPT
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
by
MasayukiIke
PDF
はじめての検索エンジン&Solr 第13回Solr勉強会
by
Noritsugu Suzuki
PDF
Kibanaでsysstatを可視化する
by
Kensuke Maeda
PDF
Elasticsearchのサジェスト機能を使った話
by
ktaro_w
PDF
Solrベースの全文検索サーバ Fess
by
Shinsuke Sugaya
PDF
DBFluteを用いて開発されている全文検索システムFess
by
Shinsuke Sugaya
PDF
オフィスに1台!全文検索Fess
by
Shinsuke Sugaya
PPTX
Elasticsearch 変わり種プラグインの作り方
by
Ryoji Kurosawa
ODP
mysqlftppc 紹介
by
Hiroaki Kawai
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
Fess/Elasticsearchを使った業務で使える?全文検索への道
by
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
by
Shinsuke Sugaya
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
by
Shinsuke Sugaya
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
by
Kentaro Yoshida
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
by
VirtualTech Japan Inc.
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
by
Kentaro Yoshida
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
SolrとElasticsearchの比較
by
genta kaneyama
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
by
Kentaro Yoshida
Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒
by
MasayukiIke
はじめての検索エンジン&Solr 第13回Solr勉強会
by
Noritsugu Suzuki
Kibanaでsysstatを可視化する
by
Kensuke Maeda
Elasticsearchのサジェスト機能を使った話
by
ktaro_w
Solrベースの全文検索サーバ Fess
by
Shinsuke Sugaya
DBFluteを用いて開発されている全文検索システムFess
by
Shinsuke Sugaya
オフィスに1台!全文検索Fess
by
Shinsuke Sugaya
Elasticsearch 変わり種プラグインの作り方
by
Ryoji Kurosawa
mysqlftppc 紹介
by
Hiroaki Kawai
Viewers also liked
PDF
PredictionIOでSparkMLを使った開発方法
by
Shinsuke Sugaya
PDF
Scala警察のすすめ
by
takezoe
PDF
生成モデルの Deep Learning
by
Seiya Tokui
PDF
TensorFlowで逆強化学習
by
Mitsuhisa Ohta
PPTX
AI社会論研究会
by
Hiroshi Nakagawa
PDF
Tensor Decomposition and its Applications
by
Keisuke OTAKI
PDF
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
by
Deep Learning JP
PredictionIOでSparkMLを使った開発方法
by
Shinsuke Sugaya
Scala警察のすすめ
by
takezoe
生成モデルの Deep Learning
by
Seiya Tokui
TensorFlowで逆強化学習
by
Mitsuhisa Ohta
AI社会論研究会
by
Hiroshi Nakagawa
Tensor Decomposition and its Applications
by
Keisuke OTAKI
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
by
Deep Learning JP
More from Shinsuke Sugaya
PDF
LastaFluteでKotlinをはじめよう
by
Shinsuke Sugaya
PDF
社内ドキュメント検索システム構築のノウハウ
by
Shinsuke Sugaya
PDF
DBFlute Mavenプラグインを用いてCRUD作成
by
Shinsuke Sugaya
PDF
PredictionIOのPython対応計画
by
Shinsuke Sugaya
PDF
Sc2009autumn s2robot
by
Shinsuke Sugaya
PDF
PredictionIO構築入門
by
Shinsuke Sugaya
LastaFluteでKotlinをはじめよう
by
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
by
Shinsuke Sugaya
DBFlute Mavenプラグインを用いてCRUD作成
by
Shinsuke Sugaya
PredictionIOのPython対応計画
by
Shinsuke Sugaya
Sc2009autumn s2robot
by
Shinsuke Sugaya
PredictionIO構築入門
by
Shinsuke Sugaya
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
PPTX
ddevについて .
by
iPride Co., Ltd.
PDF
Drupal Recipes 解説 .
by
iPride Co., Ltd.
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
ddevについて .
by
iPride Co., Ltd.
Drupal Recipes 解説 .
by
iPride Co., Ltd.
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
ElasticsearchとTasteプラグインで作るレコメンドシステム
1.
ElasticsearchとTasteプラグインで作る レコメンドシステム 白ヤギ勉強会(第16回)
2.
白ヤギ勉強会(第16回) ■ 名前: 菅谷信介 ■
所属: N2SM, Inc. ■ オープンソース活動: • Apache Portals (Jetspeed2) コミッタ • Codehausコミッタ • Seasar Projectコミッタ • CodeLibsプロジェクト運営 などなど・・・ ■ Blog: http://www.chazine.com/ ■ Twitter: https://twitter.com/shinsuke_sugaya/ 自己紹介 2
3.
白ヤギ勉強会(第16回) アジェンダ ■ 概要 ➜ Elasticsearchとは ➜
Mahoutとは ■ Tasteプラグインとは ■ 今後対応したいこと ■ まとめ 3
4.
白ヤギ勉強会(第16回) 概要 ElasticsearchとMahout 4
5.
白ヤギ勉強会(第16回) Elasticsearchとは 5 ■ OSSの分散リアルタイム検索&分析エンジン ➔ Luceneベースの全文検索ができるシステム ➔
ドキュメント指向なデータ操作が可能 ➔ 簡単に分散環境(クラスタ)を構築できる ➔ プラグインで機能を拡張できる ◆ ネイティブなプラグイン (Tasteプラグインはコレ) ◆ サイトプラグイン ➔ 処理を実行する機能(River)を提供(廃止予定) 弊社(N2SM)ではElasticsearchやFess/Solrなどの検索システム構築支援サービスを提供しています http://www.n2sm.net/services/search-support.html
6.
白ヤギ勉強会(第16回) Mahoutとは 6 ■ 機械学習アプリを作るための環境を提供 ➜ 2015/4に0.10.0リリース ■
機械学習に関する様々な実装を提供している ■ 近頃はScala向けのSamsaraを提供 ➜ MapReduceはやめて、Sparkにシフトしてきている ■ レコメンドはTasteフレームワークとして提供
7.
白ヤギ勉強会(第16回) Mahout Tasteとは 7 ■ レコメンドエンジン・協調フィルタリング のフレームワーク ➜
DataModel ➜ UserSimilarity ➜ ItemSimilarity ➜ UserNeighborhood ➜ Recommender ■ JavaのAPIを呼び出して、Javaや JavaEEアプリから呼び出して利用する
8.
白ヤギ勉強会(第16回) Mahoutの問題点 8 ■ どこを目指しているのかがわからない・・・ ➜ MapReduceからSparkへ ➜
JavaからScalaへ ✓ これら自体は良いと思うのだが、プロジェクトとし ては場当たり的な対応をしている感じが強い ■ 導入できるマーケットがない・・・ ➜ 大企業はHadoopはあるけど、Mahout使わないでも 自分たちで解決できる ➜ 中小企業はHadoop入れてまでMahoutを使う動機 がない Mahoutは個別に見れば良いものもあるが…
9.
白ヤギ勉強会(第16回) そのあたりの課題を 解決していくためにも… 9
10.
白ヤギ勉強会(第16回) Elasticsearch Taste Plugin 10
11.
白ヤギ勉強会(第16回) Tasteプラグインとは 11 ■ Mahout Tasteをベースのレコメンド機能 ➜
Taste部分のソースコードをフォークしている ➜ Elasticsearchのスケールのしやすさを活かす ■ 利用者/商品/嗜好データ管理 ■ 情報をElasticsearchのインデックスで管理 ■ 利用者/商品ベースのレコメンド ■ 類似利用者の算出 ■ テキストレコメンド (タームベクターの情報を利用) ■ Pluggableな実装
12.
白ヤギ勉強会(第16回) Index データ構造 12 ■ 利用者(User)、商品(Item)、嗜好(Preference)を ElasitcsearchのIndexのTypeごとに管理する ■ UsersとItemsには任意のデータも登録可能 Preferences user_id item_id value @timestamp long long float date Users user_id system_id @timestamp (any) long string date (any) Items item_id system_id @timestamp (any) long string date (any)
13.
白ヤギ勉強会(第16回) データ登録 13 ■ レコメンドに利用されるデータは「利用者(U001)が商品 (I001)に評価(5)を与える」ようなものを想定 ■ 利用者、商品、嗜好の3つのTypeに個別に登録するこ とも可能だが、Tasteプラグインでは1リクエストで登録 可能なAPI(_taste/event)を提供 $
curl -XPOST localhost:9200/インデックス名/_taste/event -d '{ "user":{"id":"U001"}, "item":{"id":"I001"}, "value":5, "timestamp":"2014/01/01 00:00:00" }'
14.
白ヤギ勉強会(第16回) 商品レコメンド 14 ■ 同じ評価の利用者からの商品をレコメンド ■ TasteのUserBasedRecommenderを利用 ➜
ItemBasedRecommenderによる方法も提供 ■ 利用方法 ■ 〜Factoryにより類似利用者の計算を差し替え可能 $ curl -XPOST localhost:9200/_taste/action/recommended_items_from_user -d '{ "num_of_items": 10, "index_info": { "index": "movielens" } }'
15.
白ヤギ勉強会(第16回) 商品レコメンドの評価 15 ■ 平均二乗誤差などを簡単に確認できる ■ TasteのEvaluatorを利用 $
curl -XPOST localhost:9200/_taste/action/evaluate_items_from_user -d '{ "evaluation_percentage": 1.0, "training_percentage": 0.9, "margin_for_error": 1.0, "index_info": { "index": "movielens" }, "neighborhood": { "factory": "org.codelibs.elasticsearch.taste.neighborhood.NearestNUserNeighborhoodFactory", "neighborhood_size": 100 }, "evaluator": { "id": "movielens_result", "factory": "org.codelibs.elasticsearch.taste.eval.RMSEvaluatorFactory" } }'
16.
白ヤギ勉強会(第16回) 類似利用者 16 ■ 同じ評価の類似する利用者を取得 ■ TasteのNeighborhoodを利用 ■
利用方法 ■ 〜Factoryにより計算方法を差し替え可能 $ curl -XPOST localhost:9200/_taste/action/similar_users -d '{ "num_of_users": 10, "data_model": { "cache": { "weight": "100m" } }, "index_info": { "index": "movielens" } }'
17.
白ヤギ勉強会(第16回) テキストレコメンド 17 ■ 利用者/商品/嗜好→ドキュメント/ターム/出現数として、協 調フィルタリングによるドキュメントのレコメンド ■ Elasticsearch(Lucene)のタームベクター情報を用いて、 テキスト文書をベクトル化する curl
-XPOST localhost:9200/_taste/action/generate_term_values?pretty -d '{ "source": { "index": "ap", "type": "article", "fields": ["description"] }, "event": { "index": "ap_term", "user_type": "doc", "item_type": "term", "preference_type": "preference" } }'
18.
白ヤギ勉強会(第16回) 拡張ポイント (その1) 18 ■ DataModelに対する利用者または商品の絞り込み ■
差し替え可能な機能 ➜ Recommender ✓ UserBasedRecommender ✓ ItemBasedRecommender ➜ Neighborhood ✓ NearestNUserNeighborhood ✓ ThresholdUserNeighborhood "neighborhood": { "factory": "org.codelibs.elasticsearch.taste.neighborhood. NearestNUserNeighborhoodFactory", "neighborhood_size": 100 } 使用例
19.
白ヤギ勉強会(第16回) 拡張ポイント (その2) 19 ➜ Similarity ✓
CityBlockSimilarity ✓ LogLikelihoodSimilarity ✓ SpearmanCorrelationSimilarity ✓ TanimotoCoefficientSimilarity ✓ EuclideanDistanceSimilarity ✓ PearsonCorrelationSimilarity ✓ UncenteredCosineSimilarity ➜ Evaluator ✓ RMSEvaluator ✓ AverageAbsoluteDifferenceEvaluator
20.
白ヤギ勉強会(第16回) 今後対応したいこと 20 ■ 分散処理化 ➜ Elasticsearchのクラスタ内通信を利用して、計算を 分散処理をしたい ➜
Riverが廃止になるので、適切な運用方法の提供 ■ 交差検定等での評価方法の強化 ■ Bulk APIの対応
21.
白ヤギ勉強会(第16回) まとめ 21
22.
白ヤギ勉強会(第16回) ■ Mahoutの課題について ➜ TasteをElasticsearch上で実現することで、簡単に 導入できるようにする ■
Tasteプラグインについて ➜ 商品レコメンド ➜ 類似利用者 ➜ テキストレコメンド ■ 今後対応したいこと ➜ 分散処理化 ➜ バルクAPI対応 まとめ 22
23.
白ヤギ勉強会(第16回) Q&A 23
Download