Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
かんたん機械学習はじめの1歩AzureMachineLearningでTweetをレコメンド
Search
s2terminal
April 16, 2016
Technology
63
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
かんたん機械学習はじめの1歩AzureMachineLearningでTweetをレコメンド
s2terminal
April 16, 2016
More Decks by s2terminal
See All by s2terminal
TypeScriptでJupyter
s2terminal
0
130
AIをWebアプリに実装するための便利なPythonライブラリ
s2terminal
0
650
NiceGUI is Nice
s2terminal
0
850
段階的なシステムリプレースを実現するデータ同期技術
s2terminal
0
180
1年でモダンなフロントエンドに追いついた話 2019-08-22 Mix Leap Joint #26
s2terminal
0
51
20190706 BCU30 事業を変えるシステムリプレース
s2terminal
0
72
Cognitive Complexity でコードの複雑さを定量的に計測しよう
s2terminal
2
200
MySQLオンラインマイグレーションツールgh-ostで深夜メンテナンスを無くした話
s2terminal
0
76
Microsoft Azureで 女子力を生成する
s2terminal
0
71
Other Decks in Technology
See All in Technology
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
140
OPENLOGI Company Profile for engineer
hr01
1
74k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
130
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
120
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
270
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
380
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
190
穢れた技術選定について
watany
19
6.1k
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
520
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.5k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
We Are The Robots
honzajavorek
0
280
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
How to Ace a Technical Interview
jacobian
281
24k
Faster Mobile Websites
deanohume
310
32k
Designing for Timeless Needs
cassininazir
1
390
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Transcript
Microsoft Global Azure Boot Camp 2016 in Japan suzuki.sh (@s2terminal)
かんたん 機械学習 はじめの1歩 Azure Machine Learning で Tweet を レコメンド
Self Introduction 鈴木就斗 (suzuki.sh) 名古屋のWebエンジニア 合唱音楽の鑑賞が趣味 NinjaSlayer、Splatoon、そしてMicrosoft
Azureがすき twitter: @suzukiterminal facebook: @sh.suzuki.921 GitHub: @s2terminal
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
Twitter投稿データ 合唱音源の新着情報 Azure VM上のアプリケーション(Ruby on Rails)で 登録情報をTwitterに半自動投稿 投稿に含まれる作曲者、曲名などの情報を 詳細データとしてタグ付け管理している
Twitter投稿データ Twitter 800 件分の投稿データ 1,500 件の詳細データ (演奏者、作曲者名などのタグ情報)
3,000 回のリツイート(RT)データ 投稿とRTデータを組み合わせて、RTを評価点としてレコメンドしたい → Azure Machine Learning MatchBox Recommendation を使ってみた
Matchbox Recommendationで用いる3つのデータ item-features ツイートの詳細データ(作曲者名、曲名、投稿日など)に該当 user-features Twitterユーザデータに該当(今回は無し)
user-item-rating 誰がどのツイートをRTしたか?の評価データ これらを使うことで、どんなuserが、どんなitemに評価をするか推測できる データソースにはCSV等いくつかの形式が使用可能
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のみに絞る ※ ここまで数式もプログラムも一切なし。かんたん!
結果 Item1 に 「 186 」 がずらり なにかと思ってDBを見てみると… https://twitter.com/s2terminal/status/550310731636158464
最もたくさんRTされた投稿だった 普段は数RTしかされない中で 1個だけ 70 RTを超えているので 誰が考えてもそりゃそうなる。 機械とか関係ない。テクノロジーの欠片もない。 結果はあまり面白くないものの 無事にレコメンドすることができた
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して完成
課題 取得できる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/ 「スタジオ実験時間」「実稼働」に該当するのはどの時間? 無料プランはどこで選択するの?
まとめ Azure MLでかんたんに機械学習を始めることができる プログラムが必要なのは、WebAPI化時のクライアント側の開発 数学も(最初は)必要ない クラウドサービスなので、スケーラブルな計算リソースや WebベースのGUIツール等が最初から提供される
豊富なサンプルデータが用意されており、すぐに実験できる Why don‘t you use Azure Machine Learning?
参考文献 クラウドではじめる機械学習 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 )」のエ ラーにはまったとき助けられました