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
180
AutoML 使ってみた
GCP AutoML を使って、App Store Review の感情分析をしてみた。
konumaru
August 12, 2020
Tweet
Share
More Decks by konumaru
See All by konumaru
Cursor × Marp 勉強会
konumaru
3
1.3k
レコメンドエンジンを Figma で爆速 UX リサーチ
konumaru
0
8.3k
main.pdf
konumaru
0
290
7日で学んだ強化学習
konumaru
0
250
Other Decks in Technology
See All in Technology
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.7k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
コンパウンド組織のCRE #cre_meetup
layerx
PRO
0
130
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
510
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
130
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
1
240
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.2k
Node.js 2025: What's new and what's next
ruyadorno
0
730
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
220
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
180
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
490
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Thoughts on Productivity
jonyablonski
70
4.9k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Docker and Python
trallard
46
3.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
The Invisible Side of Design
smashingmag
302
51k
Practical Orchestrator
shlominoach
190
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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