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
AutoML 使ってみた
Search
konumaru
August 12, 2020
Technology
0
160
AutoML 使ってみた
GCP AutoML を使って、App Store Review の感情分析をしてみた。
konumaru
August 12, 2020
Tweet
Share
More Decks by konumaru
See All by konumaru
レコメンドエンジンを Figma で爆速 UX リサーチ
konumaru
0
8.2k
main.pdf
konumaru
0
250
7日で学んだ強化学習
konumaru
0
230
Other Decks in Technology
See All in Technology
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.8k
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
Goで作って学ぶWebSocket
ryuichi1208
3
2.4k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
140
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
520
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
130
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
110
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
140
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
7
950
デスクトップだけじゃないUbuntu
mtyshibata
0
590
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.7k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
820
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fireside Chat
paigeccino
34
3.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
We Have a Design System, Now What?
morganepeng
51
7.4k
What's in a price? How to price your products and services
michaelherold
244
12k
Transcript
GCP Natural Language AutoML 触ってみた 1
ToC MLプロジェクトのプロセス MLプロジェクトににおける課題 なぜAutoMLをやるのか AutoML の紹介(202008時点) 先⾏事例 やったこと まとめ 2
MLプロジェクトのプロセス 企画 机上検証 実証実験 システム開発 システム運⽤ だいたいこんな感じ 3
MLプロジェクトにおける課題(の⼀部) 主に机上検証・実証実験における課題 データの質・量がよろしくない コードの品質が悪い 適切なモデルをつくることが難しい 4
なぜAutoMLをやるのか データの前処理やクレンジングを担ってくれるのか コードの質を気にせずにモデルをつくることができるのか 適切なモデルというの確かめることができるか これらを AutoML が解決できるのかを確かめる。 5
AutoML の紹介(202008時点) AutoML Vision(画像分析) AutoML Video Intelligence(動画分析) AutoML Natural Language(⾃然⾔語処理)
<- 今回はこれやる AutoML Translation(翻訳) AutoML Tables(構造化データの分析) 6
先⾏事例 画像分類 LIFULL, 物件画像の分類 cookpad, 商品画像の分類 その他事例 https://cloud.google.com/automl?hl=ja , etc
7
やったこと GCP Natural Language AutoML を使う データの取得 データの加⼯ AutoMLにデータを投⼊ データが読み込まれる
8
GCP Natural Language AutoML を使う エンティティの抽出 コンテンツ分類 感情分析 <- 今回はこれやる
9
データの取得 右の画像のようなレビューデータ をGASでクローリング Spredsheet に保存 全部で22アプリのレビューデータ を取得 ジャンルは、EC, Game, ⼈材,
漫画 などなど 10
データのラベル付け 今回はレビューデータを使うので、あらかじめ星が付いてる。 したがって、ユーザーが付けた星を正とする。 ラベルデータがないなら ⾃分でラベルを付ける。 AutoML Natural Language UI(Data Labeling)などを活⽤する。
AI Platform Data Labeling Service を使⽤して⼈間のラベル付け担当者に依頼する。 11
データの加⼯ 収取したレビューデータをAutoML が望む形に加⼯する必要がある。 いくつかある中で、今回は右のよ うなフォーマットを選択。 ✗: 1 label - 1
file ◦: 1 record - 1 file Source: https://github.com/konumaru/sentime nt_analysis/blob/master/main.py 12
データの投⼊(Items) 13
Train ワンクリックで実⾏できる。 学習⽤データ・評価⽤データをよ しなに分割してくれる。 学習は何度も実⾏でき、モデルご とにUnique_IDが割り当てられる。 評価⽤データにおける精度を確認 できる。 学習⽤データの精度がみれないの で、過学習の判断ができない。
14
Evaluate 評価⽤データの評価結果が⾒れ る。 評価⽤データのラベルごとの数が わかる。 評価結果では、Confusion Matrix もみることができる。 15
Test & Use 簡易的に未知のデータを使って予 測することができる。 勝⼿にREST API も作ってくれる。 上記を呼べるようなpythonスクリ プトの例も出してくれる。
16
Pros / Cons 17
Pros 決まったデータさえあれば予測モデルからAPIまでつくれる。 GUIでデータのクレンジングができる。 GUIで予測結果を探索できる。インタラクティブで楽しい。 (良し悪しはあるが)学習・評価データを勝⼿に分割してくれる。 18
Cons 問題設定が限られるので使い所が難しい データの前処理が必要なので no code という訳にはいかない。 データの前処理が結構たいへん(ここが⼀番Autoになってほしいな...) ⾃作する場合よりもモデルの解釈が難しい。 過学習が判断できない。 19
まとめ 基本的には便利 机上検証・実証実験における課題のうち、コードにまつわる課題は解決されている。 ⼀⽅で、 使い所が限られる。 モデルの解釈・分析が難しい。 データの前処理は相変わらず⼤変。 ⾊々あるが、 今後⼤いに期待できるツールになるはず。 20
おまけ:本当に感情分析するなら 感情というあいまいな情報を抽出しようという試みなのでどこかで妥協が必要 機械的な分析を諦め、定性分析を⾏う -> tensorflow embedding 機械的な分析を諦められないなら -> 分散表現を獲得し、k-meansなどでクラスタリングした後、スコアリングすると か?
(しかし、ものすごくうまく動くことは期待できないと思う) 21