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
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
230
バイブコーディングと継続的デプロイメント
nwiizo
2
350
Findy Team+のSOC2取得までの道のり
rvirus0817
0
230
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
260
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
21
13k
入門 FormObject / An Introduction to FormObject #kaigionrails
expajp
2
1.4k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
日経が挑戦するデータ民主化 ~ セルフサービス基盤がもたらす利点と苦悩~/nikkei-tech-talk-37
nikkei_engineer_recruiting
0
210
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
120
DEFCON CHV CTF 2025 Write-up
bata_24
0
190
今改めてServiceクラスについて考える 〜あるRails開発者の10年〜
joker1007
20
9k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Code Reviewing Like a Champion
maltzj
525
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
How GitHub (no longer) Works
holman
315
140k
Code Review Best Practice
trishagee
72
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
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