Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第5回 cogbot勉強会!

1,229 views

Published on

2017/2/24に開催されたCogbot勉強会で、Cognitive Recommendations API, Azure Machine LearningのMatchbox Recommendations について説明した資料です。協調フィルタリングとコンテンツベースについても概要を説明しています。

Published in: Software
  • ⇒ www.HelpWriting.net ⇐ is a good website if you’re looking to get your essay written for you. You can also request things like research papers or dissertations. It’s really convenient and helpful.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

第5回 cogbot勉強会!

  1. 1. 第5回 Cogbot勉強会! 2017/2/24 http://www.uhdwallpapers.org/2014/12/technology-danbo-with-tablet.html Cognitive や Azure ML でレコメンドを 添えよう 株式会社ネクストスケープ 上坂貴志(@takashiuesaka)
  2. 2. 自己紹介 会社 株式会社ネクストスケープ 名前、年齢 上坂貴志(うえさかたかし)45歳 Twitter:@takashiuesaka 好き・興味 Azure( Microsoft MVP for Microsoft Azure) Scrum( 認定スクラムマスター) DDD、ソフトウェアアーキテクチャ、機械学習 講演活動 2016年 ◆ Schoo ドメイン駆動設計入門 出演  UMTP モデリングフォーラム2016 登壇  QCon Tokyo 2016 DDD実践報告  de:code 2016 DDD & Azure Service Fabric 登壇  NS Study No.6 Azure IoTHub紹介 登壇  アプレッソ Azure Machine Learning セミナー登壇  SANSAN DDD勉強会発表 2015年 ◆FEST2015 (Channel9で動画公開)  Developers Summit 2015  QCon Tokyo 2015  他 執筆活動 人工知能アプリケーション総覧 寄稿(日経BP社)
  3. 3. レコメンドとは
  4. 4. レコメンドとは ユーザーが好みそうなアイテムを自動的に予 測するユーティリティ関数を定義すること レコメンドの定義は進化しています 今までの定義+アルファ セレンディピティ(好ましい偶然) • ユーザーが既に知っていることは絶対に推奨しない ダイバーシティ(多様性) 深層学習との組み合わせが試みられている ちょっと前までは 今よくあるレコメンドはもっと進化していて・・・
  5. 5. 協調フィルタリング ユーザがアイテムに付けたレイティングが基本 • レートが無い場合は購買履歴などの他情報から補完・算出する https://en.wikipedia.org/wiki/Collaborative_filtering
  6. 6. 協調フィルタリングの種類 ユーザベースの協調フィルタリング • あるユーザに類似したユーザを探 しだしてレート付けされてないア イテムを推測する • ユーザーの行動履歴からユーザー 間の類似度を計算 アイテムベースの協調フィルタリン グ • アイテム間の類似度とユーザ自身 の他アイテムへのレーティングを 元にレート付けされていないアイ テムを推測する • ユーザーの行動履歴からアイテム 間の類似度を計算 メモリベース協調フィルタリング 類似度の計算にはピアソンの相関係数、コサイン類似度、ユークリッド距離、 加重平均などが用いられる 具体的な説明はMS大田さんの資料がわかりやすい http://www.slideshare.net/masayuki1986/recommendation-ml
  7. 7. 協調フィルタリングの種類 分類器 • ロジスティクス回帰 • ベイジアンネットワー ク • SVM • デシジョンツリーなど クラスタリング • K-means • Affinity Propagation • Spectral Clustering, HDPs など Latent Semantic モデル • 特異値分解 (SVD:Singular value decomposition) • probabilistic latent semantic analysis • multiple multiplicative factor • LDA(latent Dirichlet allocation) • マルコフ決定過程 (Markov decision process ) モデルベース協調フィルタリング • 機械学習モデルを利用した推薦。トレーニングデータに対してパターンを 見つける。 • スパース性の高い(スカスカ)データに対して、メモリベースより良い結 果を生成し、データの増大に対しての処理時間も高速。(後述)
  8. 8. 協調フィルタリングの問題 • レーティングが十分に無いと推薦対象とならないため、新しいユーザ、アイテムに対する推薦ができ ない コールドスタート • アイテム数が増えると、レーティングしてあるアイテムの網羅性が下がってしまう(精度が悪くな る) • ユーザー数xアイテム数の組み合わせはものすごい数となるため、計算に時間がかかる スパース性 & スケール • 既に人気のあるアイテムを推薦しがち(意外性がない) 人気バイアス • 類似アイテムが異なるアイテムとして登録されるとレコメンドの精度が悪くなる 類似性 • 複数のユーザに一致してしまうユーザに対しては、最適なレコメンド結果が出力されない 灰色の羊 • サクラによる推薦結果の悪意ある操作。他社製品に対して極端に低いレーティングを付けたり、自社 製製品に対して極端に高いレーティングを大量に付ける シリングアタック
  9. 9. コンテンツベース • ユーザの行動履歴ではなくアイテムの特徴(メタデータ)をベースにした レコメンド • アイテムの特徴を元にしたプロファイルベクトルと、ユーザの嗜好を元に したプロファイルベクトルとの類似度からアイテムを推測する ※メモリベース協調フィルタリングとコンテンツベースを 混ぜるハイブリッド型のレコメンドが最近のトレンド 長所 •他のユーザ情報が不要なためコールドスタートやスパース性(データのスカスカ)を考慮しなくて良い •ユーザ独自の好みに合わせることができる •レコメンドの理由を説明しやすい 短所 •アイテムの内容から意味のある特徴量を抽出する必要がある •セレンディピティのある推薦が難しい(ユーザに最適化されすぎる)
  10. 10. Cognitive Recommendations API
  11. 11. Cognitve リソースを作る 任意の名前 2017/2/24時点 米国西部のみ Freeを含む5種 類 ※Freeは1つの サブスクリプ ションで1つし か選択できない ので要注意! ※課金について は後程詳しく
  12. 12. Recommendations API 概要 Cognitive Recommendations アカウント カタログCSV 使用状況CSV Recommendations UI独自作成のApp, Web ※SDKは残念ながら未 提供。RESTAPIを頑 張って叩くしか! REST API (http) 1.モデル作成 2.データの投入 3.ビルド 3.レコメンドの取得 モデル ビルド ビルド使用状況 カタログ … Interface
  13. 13. 使用状況データのスキーマ • <User Id>,<Item Id>,<Time>,[<Event type>] • 各項目の詳細 項目名 必須 入力可能な値と最大長 詳細 User Id ○ [A-z], [a-z], [0-9], _, - 最大長: 255 ユーザーを一意に認識する値 Item Id ○ [A-z], [a-z], [0-9], _, - 最大長: 50 商品を一意に認識する値 Time ○ Date in format: YYYY-MM-DDTHH:MM:SS (e.g. 2013-06-20T10:00:00) イベント発生日時 Event Option 次のいずれか - Click - RecommendationClick - AddShopCart - RemoveShopCart - Purchase イベントのタイプです。 指定されなかった場合、 「Purchase」が適用されます。 サンプル 168064,6485200,2013/06/20T10:00:00, Purchase 263325,6485200,2013/06/20T10:00:00, Purchase 190485,6485200,2013/06/20T10:00:00, Click 225087,6485936,2013/06/20T10:00:00, Purchase ※使用状況のアップロード の前に、カタログのアップ ロードすること
  14. 14. カタログデータのスキーマ • < Id>,<Item Name>,<Item Category>,[<Description>],<Features list> 項目名 必須 入力可能な値と最大長 詳細 Id ○ [A-z], [a-z], [0-9], _, - 最大長: 50 アイテムを一意に認識する値 Item Name ○ 任意の英数字, 最大長: 255 アイテム名 Item Category ○ 任意の英数字, 最大長: 255 アイテムが所属するカテゴリ。 空でもOK (例: Cooking Books, Drama...) Description 特徴がない場合はOption。 特徴がある場合は必須。 任意の英数字, 最大長: 4000 アイテムの説明です。特徴有 りで必須時、空でもOK Features list Option 任意の英数字, 最大長: 4000 特徴の最大数: 20 特徴名=特徴値の形式をカンマ 区切りにしたもの。 特徴名最大長: 255 特徴値最大長: 255 ※Feature=特徴、です 特徴なしのサンプル AAA04294,Office Language Pack Online DwnLd,Office AAA04303,Minecraft Download Game,Games C9F00168,Kiruna Flip Cover,Accessories 特徴ありのサンプル AAA04294,Office Language Pack Online DwnLd,Office,, softwaretype=productivity, compatibility=Windows BAB04303,Minecraft DwnLd,Games,, softwaretype=gaming, compatibility=iOS, agegroup=all C9F00168,Kiruna Flip Cover,Accessories,, compatibility=lumia, hardwaretype=mobile
  15. 15. ビルド(モデルのトレーニング) • ビルドの種類は3つ(2017.2.24時点) Recommendation Item To Item • ある商品、もしくは商品リストと関連する商品リストを推奨します。 • 「この商品を見た人はこんな商品も見ています」 User To Item • ユーザーが高い関心を寄せる可能性のある商品を推奨します。 • 「これを買ったあなたにお勧め」 コールドスタート問題に対応するオプション有り。 FBT(Frequently Bought Together Recommendations) ある商品と同時に購入された商品を推奨します。 「他のユーザーはこれを一緒に買っています」 Rank カタログで指定した特徴の有効性を確認するためのビルド。 ※基本は購買履歴を レーティングとする 協調フィルタリング です。 ※コールドスタート に対応=コンテンツ ベースです。つまり 商品メタデータ(カ タログの特徴)の セットが必要です。
  16. 16. Recommendations UI • カタログ、使用状況データのアップロードからモデル のビルド、スコア(モデルの確認)が可能なWeb画面 • 英語版のみ • 使用方法 • URLにアクセスし、KEYを入力するだけ https://recommendations-portal.azurewebsites.net/
  17. 17. ビジネスルール • レコメンド結果を意図的に操作する機能。 • 以下のJSONをRESTAPIでアップロードする。 機能タイプ名 説明 データ例 BlockList 推奨結果に含みたくな いアイテムを設定しま す。 { "type": "blocklist", "parameters": { "blockList": { "itemIds": ["2406E770-QWR","3906E110-769"] } } } FeatureBlockList 推奨結果に含みたくな いアイテムについて、 特定の特徴値を設定し ます。 { "type": "featureBlockList", "parameters": { "featureBlockList": { "name": "Movie_category", "values":["Adult","Drama"] } } } Upsale 推奨結果に強制的に含 むアイテムを設定しま す。 { "type": "upsale", "parameters": { "upsale": { "itemIds":["2406E770-769C-4189-89DE-1C9283F93A96"], "NumberOfItemsToUpsale":5 } } } 1つのFeatureBlockListで1000を超えるア イテムを送信しないでください。 そうしないと、呼び出しがタイムアウト する可能性があります。 1000以上のアイテムをブロックする必要 がある場合は、複数のブロックリストを 設定します。
  18. 18. ビジネスルール 機能タイプ名 説明 データ例 WhiteList 推奨結果を、設定するアイテ ムに限定します。 { "type": "whitelist", "parameters": { "whitelist": { "itemIds":["2406E770-QWR","3906E110-769"] } } } FeatureWhiteList 推奨結果を限定するアイテム について、特定の特徴値を設 定します。 { "type": "featureWhiteList", "parameters": { "featureWhiteList": { "name":"Movie_rating", "values":["PG13", "PG"] } } } PerSeedBlockList BlockList同じように推奨結果 から特定のアイテムを除外し ますが、推奨結果のアイテム 単位に除外対象を設定します。 { "type": "perSeedBlockList", "parameters": { "perSeedBlockList": { "seedItems":["9949"], "itemsToExclude":["9862","8158","8244"] } } }
  19. 19. その他 Batchスコアリング 複数のレコメンドを1度に取得したい場合に使用 現在はitem-to-itemの結果のみ取得可能 使用例 •静的用にレコメンデーションのキャッシュを作成 •レコメンデーションの種類に関する分析 難易度ちょい高め。BlobStorageがバッチの入出力 1.blobにAPIが読み書きするためSASTokenを取得する 2.Blobにレコメンドを取得したいアイテムをjsonで記載したものを配置 3.Post Start batch job APIを叩く。(BodyのjsonでSASToken使用) 4.結果がBlobに格納される。 オフライン評価 データをトレーニングとテストに分割して精度を評価。Build時にパラメータ指定でオフライン評価となる。 評価の取得は Get build metrics APIを叩く。 詳細は↓ https://docs.microsoft.com/ja-jp/azure/cognitive-services/cognitive-services-recommendations-buildtypes#a- nameoffline-evaluationaオフライン評価
  20. 20. 課金 • API1つ呼び出すと1トランザクション。 • ファイルのアップロード、ビルド、推奨の取得など全てが 1トランザクション、ということ。 • Batchスコアリングの場合はAPI呼び出し時のスコア付 けする必要があるアイテムの数が1トランザクション。 無料 STANDARD S1 STANDARD S2 STANDARD S3 STANDARD S4 月額 ¥0 ¥7,650 ¥51,000 ¥255,000 ¥510,000 レベル内の最大トランザ クション数 10,000 100,000 1,000,000 10,000,000 50,000,000 超過料金 (1,000 トランザ クションあたり) 該当なし ¥76.50 ¥51 ¥25.50 ¥10.20
  21. 21. Recommendations API • APIの解説とテストの専用ページがあります(英語) • https://westus.dev.cognitive.microsoft.com/docs/services/Recom mendations.V4.0
  22. 22. Recommendations API DEMO
  23. 23. Azure Machine Learning によるレコメンド
  24. 24. Matchbox Recommender • Train Matchbox Recommender • トレーニングデータを受け取って、学習した結果のモデル を出力 • Score Matchbox Recommender • 学習済みモデルと、推薦したい人・アイテムを受け取って、 推薦した結果を出力 ※本番運用ではScore Matchbox Recommenderへの入力は、トレーニング済みのTrain Matchbox Recommenderにする
  25. 25. Train Matchbox Recommender • Train Matchbox Recommenderは、コンテンツベースと 協調フィルタリングのハイブリッドレコメンダ。 • 協調フィルタリングは、ベイシアンネットワークを使用し たモデルベース協調フィルタリングである。 • https://www.microsoft.com/en-us/research/wp-content/uploads/2009/01/www09.pdf user-item-rating 必須入力。 userId, ItemId, Ratingだ けを受け付ける。 user features オプション。 ユーザ特徴を入力する。 item features オプション。 アイテム特徴を入力する。 トレーニング済みMatchbox
  26. 26. Train Matchbox Recommender user features, item featuresの両オプションを使用するとハ イブリッド • ユーザのレーティング数が少ない場合はユーザ特徴からコンテンツベー スの推奨を行う。これによってコールドスタート問題に対応する。 • ユーザのレーティング数が増加すると、協調フィルタリングロジックに スムーズに移行する。 それ以外の場合は協調フィルタリング • ※MSの資料で上記と逆の説明がされているものがいくつか見 受けられるので注意。 オプションを入力した場合としない場合の違い
  27. 27. Train Matchbox Recommender • user-item-rating • <userId>,<itemId>,<rating> • 3つの列が必須。列が3つ以上あるとエラー。userId, itemIdに設定不可能な値はない。 Ratingは数値のみ。 • user-features • <userid>,[<option1>,<option2>,…] • user-item-ratingのuserIdと同じものをセット。Option列に制限なし。(文字列、数値、 bool値) • item-features • <itemId>,[<option1>,<option2>,…] • user-item-ratingのitemIdと同じものをセット。Option列に制限なし。(文字列、数値、 bool値) user-item-rating user features item features トレーニング済みMatchbox
  28. 28. Score Matchbox Recommender ※モデルトレーニング時にUser Featuresを入力しなかったのなら、 Score時にUser Featuresは入力しないこと ※モデルトレーニング時にItem Featuresを入力しなかったのなら、 Score時にItem Featuresは入力しないこと Traind Matchbox Recommender トレーニング済みのモ デル。必須入力。 Dataset to Score 推薦したい対象。userIdと itemIdが必須入力列。3列目 以降は無視される。 必須入力。 User Features オプション。新規ユー ザ、もしくは全くアイ テムをレーティングし ていないユーザーの userId(必須)と特徴。 Training Dataset オプション。 推奨結果から除外した いユーザを入力する。 アイテムにレーティン グ済みユーザーを入力 しても無視される Item Features オプション。新規アイ テム、もしくは未レー ティングのitemId(必 須)と特徴。 レーティング済みのアイテム を入力しても無視される
  29. 29. 課金 • Azure ML Studio 無料 STANDARD 料金 無料 ¥1,018.98/シート/月 ¥102/Studio 実行時間 Azure サブスクリプション 不要 必須 実験ごとのモジュールの最大数 100 無制限 最大実験時間 実験ごとに 1 時間 実験ごとに最大 7 日間、モ ジュールごとに最大 24 時間 最大の記憶域スペース 10 GB 無制限 – BYO オンプレミス SQL からのデータ読み 取り (プレビュー) いいえ はい 実行/パフォーマンス 単一ノード 複数のノード 実稼働 Web API いいえ はい SLA いいえ はい
  30. 30. 課金 • Web API 開発/テスト S1 S2 S3 レベル別の価格/ 月 ¥0 ¥10,200 ¥102,000 ¥1,020,000 機能 トランザクショ ンの無料分 (月単 位) 1,000 100,000 2,000,000 50,000,000 コンピューティ ング時間の無料 分 (月単位) 2 25 500 12,500 Web サービスの 合計数 2 10 100 500 超過料金 該当なし ¥51/1,000 トランザ クション ¥204/API コン ピューティング時間 ¥25.50/1,000 トラ ンザクション ¥153/API コン ピューティング時間 ¥10.21/1,000 トラ ンザクション ¥102/API コン ピューティング時間
  31. 31. Matchbox Recommender DEMO (Movie RecommendationTutorial の説明)
  32. 32. Train Matchbox Recommender • Number of traits • 特徴ベクトル数。User featuresと、Item featuresの特徴数より小さくする。最大は 100だが、20以下になるようにレーティング の加工が推奨。 • Number of recommendation algorithm iterations • Matchboxはメッセージパッシングアルゴリ ズムを使ってトレーニングするため、入力 データを複数回繰り返して使用する。この値が大きいと精度をあげることができ るが、トレーニングにかかる時間が増加する。一般的に1~10の数値にする。 • Number of training batches • この数値を元に、Mathboxの第1引数(レーティングデータ)はトレーニング時 のバッチ処理のために分割される。Matchboxはバッチ処理を並列稼働をするた めである。この値は全レーティングデータがメモリにのるならコア数と同じバッ チ数がベスト。そうでないなら、メモリに収まる使用可能なコア数の最小倍数。 • デフォルトは4。ちなみにユーザデータ、アイテムデータは分割されない。 プロパティ
  33. 33. Score Matchbox Recommender Recommender Prediction kind レコメンド種類。次の4つ。 • Rating Prediction ユーザーまたはアイテムに対してレーティング • Item Recommendation ユーザーに対してアイテムをレコメンド • Related Users ユーザーに対して相関があるユーザーをレコメンド • Related Items アイテムに対して相関があるアイテムをレコメンド プロパティ
  34. 34. Score Matchbox Recommender Recommended item selection • From All Items • 全アイテムについて推奨結果を出力(本番用) • Dataset to Score(左から2つ目の入力)の1列目にはuserId列がセット必須。 • From Rated Items(for model evaluation) • レーティング済みのアイテムについての推奨結果を出力(モデル評価用) • Dataset to Score(左から2つ目の入力)にはuserId, itemId列の2列だけであること。 • From UnRated Items(to suggest new items to user) • 新アイテムをユーザに推奨するモードのようだが、使用方法の説明がどこにもない。 Maximum number of items to recommend to a user • 一人に対して推奨するアイテムの最大数。 Minimum size of the recommendation pool for a single user • 全推奨結果のうち、少なくともここで指定したアイテム数を推奨されたユーザーに 絞り込む。 • 評価用の機能のため、Recommended item selectionに「From Rated Items(for model evaluation)」を選択した場合のみ表示される。 Whether to return the predicted ratings of the items along with labels • 推奨したアイテムのレート値も出力するかどうか。 Item Recomendationの場合
  35. 35. Score Matchbox Recommender • Related user selection • From All Users • 全ユーザについて推奨結果を出力(本番用) • Dataset to Score(左から2つ目の入力)の1列目にはuserId列がセット必須。 • From Users That Related Items(for model evaluation) • レーティング済みのアイテムを持つユーザーについての推奨結果を出力(モデル評価用) • Dataset to Score(左から2つ目の入力)にはuserId, itemId, rating列の3列だけであること。 • Maximum number of related users to find for a user • 一人に対して取得する関連ユーザの最大数。 • Minimum number of items that the query user and the related user must have rated in common • 推奨対象のユーザと、推奨結果のユーザが共通にレーティングしたアイテムの最小数。 • 評価用の機能のため、Related user selectionに「From Users That Related Items(for model evaluation)」を選択した場合のみ表示される。 • Minum size of the related user pool for a single user • 推奨を作成するのに必要な類似ユーザの最小数。 • 評価用の機能のため、Related user selectionに「From Users That Related Items(for model evaluation)」を選択した場合のみ表示される。 Related Usersの場合
  36. 36. Score Matchbox Recommender • Related item selection • From All Items • 全アイテムについて推奨結果を出力(本番用) • Dataset to Score(左から2つ目の入力)の1列目にはitemId列がセット必須。 • From Rated Items(for model evaluation) • レーティング済みのアイテムについての推奨結果を出力(モデル評価用) • Dataset to Score(左から2つ目の入力)にはuserId, itemId の 2 列だけであること。 • From UnRated Items(to suggest new items to user) • 新アイテムをユーザに推奨するモードのようだが、使用方法の説明がどこにもない。 • Maximum number of related itemss to find for an item • アイテム一つに対して取得する関連アイテムの最大数。 • Minimum number of users that the query item and the related item must have rated in common • 推奨対象のユーザと、他ユーザが共通にレーティングしたアイテムの最小数。 • 評価用の機能のため、Related item selectionに「From Rated Items(for model evaluation)」を選択した場合のみ表 示される。 • Minum size of the related item pool for a single user • 推奨を作成するのに必要な類似アイテムの最小数。 • 評価用の機能のため、Related item selectionに「From Rated Items(for model evaluation)」を選択した場合のみ表 Related Itemsの場合
  37. 37. Score Matchbox Recommender • プロパティなし Dataset to Score(Score Matchbox Recommenderの左から2つ目のインプット) には、userId, itemIdの2列を入力する。(3列目以降は無視される)
  38. 38. 事例 アーキテクチャ
  39. 39. 事例・アーキテクチャ • 機械学習による講座レコメンデーション 朝日カルチャーセンター様  1964年にオープンの日本最大級の生涯学習センター (朝日新聞社の文化活動)  2009年よりJTB社が資本参加  さまざまな実績をもつ一流講師多数  拠点:札幌、新宿、立川、横浜、湘南(藤沢)、名古屋、中之島、くずは、芦 屋、川西、京都、北九州、福岡(13教室)  圧倒的講座数 (全国で約10,000講座、教養、語学、趣味、健康など) 朝日カルチャーセンターWebキャラクター「かるかる」
  40. 40. 機械学習による講座のレコメンデーション [講座詳細ページ] 講座の閲覧履歴に応じて、 関係性がある講座をレコメンド表示 【レコメンド例】 「フレーバーソルトでダイエットしたい」に興味ある方に 「花の文学散歩」と「イキイキメイク術」等をリコメンド →美しくなりたい女性像のイメージ 「鉄道写真」に興味ある方に「デジタルカメラ」と「アニ メを読む 」等をリコメンド →趣味に熱中する男性像のイメージ
  41. 41. システムアーキテクチャ 3.最適な講座を発見2.クラウドに蓄積閲覧者 Microsoft Azure AzureML 1.講座閲覧履歴を保存 DBWebサイト 4.閲覧履歴に基づいた講座の リコメンデーションを表示
  42. 42. Matchbox Recommender 講座No ジャンル A001 生活 A002 音楽 A003 体操 A004 手芸 イ ン プ ッ ト ア ウ ト プ ッ ト User URL 評価 1 /講座/A001 1 1 /講座/A002 7 2 /講座/A002 7 2 /講座/A003 2 なし (匿名ユーザーのた め情報がない) ②ユーザー情報 ③アイテム情報①評価 (Option) (Option) Score Matchbox Recommender Tain Matchbox Recommender
  43. 43. 全体像 Webサ イト閲覧 Experiment Web Service 利用者 Azure Virtual Machine SQL Server SQL Server 2.蓄積 1.閲覧 6.反映 3.転送 4.計算 5.取得 バッチ処理 (夜間) ・AzureMLによって 出力された計算結果 ファイルを取得しWeb サイトに反映 7.新しい体験 Azure Storage (Blob) Azure ML Azure Storage (Blob) 最適なリコメンドデータを コンテンツDBに反映 ・DBから必要なデー タを抽出し、 AzureStorageに登録 ・AzureMLのバッチ 用Webサービスを起動 どのユーザーが 「いつ」「どのページ」「どのくらい」 閲覧したかを蓄積 閲覧データ コンテンツ データ
  44. 44. Cognitive Recommendations API と Azure Machine Learningレ コメンド比較
  45. 45. 比較  ECサイト用の推奨であればCognitiveが便利。  様々なシナリオで推奨をしたいのであればAzureML。 • Itemの特性は自由に設定できる • Ratingを元にして独自の推奨を作る、など Cognitive Recommendations API Azure ML Matchbox Recommener 入力 ファイルのみ。 Item数は最大100,000まで。 使用状況は最大5,000,000レコード。それ以上 インプットすると古いほうから消える。 1回のUpload時、200MBまで。 UploadのAPIは複数同時に呼べない。 入力値に制限あり。購入日時が必須列。 Http, Azure Blob Storage, Table Storage, SQL Database, DocumentDBなどが入力元に できる。入力制限はない。 レコメ ンド種 類 • User-to-Item • Item-to-Item • FBT(FBT(Frequently Bought Together Recommendations) • User-to-User、Ratingはない • User-to-Item • Item-to-Item • User-to-User • Rating • FBTはない カスタ マイズ ビジネスルールによる推奨結果の加工 推奨結果の加工は独自にロ ジックを組む必要がある
  46. 46. END

×