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.

かんたん機械学習はじめの1歩AzureMachineLearningでTweetをレコメンド

1,671 views

Published on

http://s2terminal.hatenablog.com/entry/2016/04/10/210355

Published in: Technology
  • Be the first to comment

  • Be the first to like this

かんたん機械学習はじめの1歩AzureMachineLearningでTweetをレコメンド

  1. 1. Microsoft Global Azure Boot Camp 2016 in Japan suzuki.sh (@s2terminal) かんたん 機械学習 はじめの1歩 Azure Machine Learning で Tweet を レコメンド
  2. 2. Self Introduction 鈴木就斗 (suzuki.sh)  名古屋のWebエンジニア  合唱音楽の鑑賞が趣味  NinjaSlayer、Splatoon、そしてMicrosoft Azureがすき  twitter: @suzukiterminal  facebook: @sh.suzuki.921  GitHub: @s2terminal
  3. 3. Azureを使っているところ  はてなブックマークしたURLをPocketに入れるAPI  http://s2terminal.hatenablog.com/entry/2015/07/05/165010  Azure API Apps (去年のセッションに触発されて作りました)  Webサービス「合唱音源の新着情報」を運営  http://合唱音源の新着情報.com  Azure Virtual Machine + Azure SQL Database  Twitter @s2terminal
  4. 4. Twitter投稿データ 合唱音源の新着情報 Azure VM上のアプリケーション(Ruby on Rails)で 登録情報をTwitterに半自動投稿 投稿に含まれる作曲者、曲名などの情報を 詳細データとしてタグ付け管理している
  5. 5. Twitter投稿データ  Twitter 800 件分の投稿データ  1,500 件の詳細データ (演奏者、作曲者名などのタグ情報)  3,000 回のリツイート(RT)データ  投稿とRTデータを組み合わせて、RTを評価点としてレコメンドしたい → Azure Machine Learning MatchBox Recommendation を使ってみた
  6. 6. Matchbox Recommendationで用いる3つのデータ  item-features  ツイートの詳細データ(作曲者名、曲名、投稿日など)に該当  user-features  Twitterユーザデータに該当(今回は無し)  user-item-rating  誰がどのツイートをRTしたか?の評価データ これらを使うことで、どんなuserが、どんなitemに評価をするか推測できる データソースにはCSV等いくつかの形式が使用可能
  7. 7. Azure Machine Learningワークスペースを作成  DataSouceをアップロード  ML Studio上でDataSource、Train Matchbox Recommendation、Score Matchboxを配置  Score Matchbox Recommendationの 「Recommended item selection」を 「From Rated Items」→「From All Items」に変更  Project Columnsを配置し、user-item- ratingの評価用出力をuser-idのみに絞る ※ ここまで数式もプログラムも一切なし。かんたん!
  8. 8. 結果 Item1 に 「 186 」 がずらり なにかと思ってDBを見てみると… https://twitter.com/s2terminal/status/550310731636158464
  9. 9. 最もたくさんRTされた投稿だった 普段は数RTしかされない中で 1個だけ 70 RTを超えているので 誰が考えてもそりゃそうなる。 機械とか関係ない。テクノロジーの欠片もない。 結果はあまり面白くないものの 無事にレコメンドすることができた
  10. 10. WebAPI化  PREPARE WEB SERVICEから、 Web Service Input/Outputを設定  C#、Python、Rの3種類で サンプルコードが提供される。  今回はRuby on Railsで記述  https://gist.github.com/s2terminal/4a 6d11d90803778e00027d6830e614e7 #file-request_azure_ml-rb  ※プログラム書いたのはここだけ!  APIを叩くWebサービスを作り Azure VMにdeployして完成
  11. 11. 課題  取得できるTweetに偏りがある  どのユーザに対しても、単にたくさんRTされたツイートばかり表示される  ユーザによってさまざまな結果が出てほしい  データを増やしたい  Twitterのお気に入りデータを取得したいが、良いAPIが無い  https://twittercommunity.com/t/list-of-people-who-favorited-a-particular-tweet/11083  (料金が正直よくわからない…)  https://azure.microsoft.com/ja-jp/pricing/details/machine-learning/  「スタジオ実験時間」「実稼働」に該当するのはどの時間?  無料プランはどこで選択するの?
  12. 12. まとめ Azure MLでかんたんに機械学習を始めることができる  プログラムが必要なのは、WebAPI化時のクライアント側の開発  数学も(最初は)必要ない  クラウドサービスなので、スケーラブルな計算リソースや WebベースのGUIツール等が最初から提供される  豊富なサンプルデータが用意されており、すぐに実験できる Why don‘t you use Azure Machine Learning?
  13. 13. 参考文献  クラウドではじめる機械学習 Azure MLでらくらく体験  http://www.amazon.co.jp/dp/4897979927  Webブラウザーだけで学ぶ機械学習の「お作法」  http://www.atmarkit.co.jp/ait/articles/1412/01/news104.html  Using Train Matchbox Recommender for Data Without Ratings  http://www.resolvinghere.com/sm/using-train-matchbox-recommender-for-data- without-ratings.shtml  「Training dataset of user-item-rating triples contains invalid data. . ( Error 0018 )」のエ ラーにはまったとき助けられました

×