Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
感情に反応するSlack bot
Search
Satoshi SAKAO
March 21, 2018
Programming
1
320
感情に反応するSlack bot
2018-03-21 ゆるゆるIT勉強会 feat.Reedex Vol.2 で発表したスライドです.
Satoshi SAKAO
March 21, 2018
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
70
Pkl/2024-04-17-llt31
ottijp
0
97
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
170
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
300
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
170
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
180
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
160
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
100
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
110
Other Decks in Programming
See All in Programming
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
Cap'n Webについて
yusukebe
0
130
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
9
1.1k
sbt 2
xuwei_k
0
290
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
tparseでgo testの出力を見やすくする
utgwkk
2
210
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
140
愛される翻訳の秘訣
kishikawakatsumi
3
320
SwiftUIで本格音ゲー実装してみた
hypebeans
0
320
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
110
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Designing Experiences People Love
moore
143
24k
Balancing Empowerment & Direction
lara
5
800
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Statistics for Hackers
jakevdp
799
230k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Pragmatic Product Professional
lauravandoore
37
7.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Fireside Chat
paigeccino
41
3.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
感情に反応するSlack bot ゆるゆるIT勉強会 feat.Reedex Vol.2 2018/03/21 (Wed) Satoshi SAKAO (@ottijp)
1
Who 2 @ottijp Satoshi SAKAO • インフォコム株式会社 • オープンイノベーションセンター •
アプリケーションエンジニア • iOS / Swift / JS(ES6) / Node.js / IoT • ネコ / テニス
3 Google Cloud Platform
4 Firebase Cloud Functions Cloud Speech API Compute Engine App
Engine Cloud Storage Cloud SQL Cloud Load Balancing BigQuery Cloud Pub/Sub Cloud Machine Learning Engine Cloud Translation API Cloud Vision API Logging Debugger Cloud Console Container Registry Cloud IAM Kubernates Engine Cloud CDN Cloud DNS Genomics Cloud IoT Core Cloud Natural Language API
5 Firebase Cloud Functions Cloud Speech API Compute Engine App
Engine Cloud Storage Cloud SQL Cloud Load Balancing BigQuery Cloud Pub/Sub Cloud Machine Learning Engine Cloud Translation API Cloud Vision API Logging Debugger Cloud Console Container Registry Cloud IAM Kubernates Engine Cloud CDN Cloud DNS Genomics Cloud IoT Core Cloud Natural Language API
6 GCPの機械学習サービスのひとつ テキストを分析して情報を抽出する その中の感情分析機能を使った 投稿されたメッセージの感情に反応するSlack botを作ってみた Cloud Natural Language API
7 Cloud Natural Language API 構文解析 感情分析 コンテンツ分類 エンティティ感情分析 エンティティ認識
ポジティブ ニュートラル ネガティブ
感情分析 • Score • 感情(ネガティブ~ポジティブ)を表す • -1.0 〜 +1.0 の値
• Magnitude • 感情の強度を表す • 0.0 〜 ∞ の値 • テキスト全体・文単位それぞれで算出 8
感情分析(ポジティブな例) 9
感情分析(ネガティブな例) 10
botの構成 11 Cloud Natural Language API Cloud Functions Slack …
Outgoing Webhook ポイント •Cloud FunctionsのHTTPトリガファンクション •Outgoing Webhookの応答としてメッセージを返す HTTP Response
botの動作例 12 Slackに投稿されたメッセージを見て, ネガティブな場合に警告してくれる
テキストデータ以外からの変換 13 Cloud Vision API Cloud Speech API Cloud Natural
Language API 紙文書 音声 感情 テキストデータ
Cloud Natural Language APIのお試し利用 14 https://cloud.google.com/natural-language
$ exit 15
Appendix 16
17 Cloud Functions Slack トークン,ユーザID … •トークンとユーザIDによるSlackリクエストの検証 •環境変数はRuntime Configを使用 HTTP
Response Cloud Deployment Manager (Runtime Config)
Article 18 https://qiita.com/ottijp/items/bdabe443c5273874839d
対応言語 • 英語 • スペイン語 • 日本語 • 中国語(簡体字および繁体字) •
フランス語 • ドイツ語 • イタリア語 • 韓国語 • ポルトガル語 19
料金 20
制限 21 ※ リクエスト数の制限に注意
感情分析(ニュートラルな例1) 22
感情分析(ニュートラルな例2) 23
感情分析 • ポジティブ・ネガティブ両方の表現が混在するテキスト では全体的なScoreが0付近になることがある • Magnitudeを見ることで,平均的にニュートラルなの か,ポジティブとネガティブが打ち消してニュートラル なのか判断できる 24