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
感情に反応するSlack bot
Search
Satoshi SAKAO
March 21, 2018
Programming
1
310
感情に反応する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
52
Pkl/2024-04-17-llt31
ottijp
0
79
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
150
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
260
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
150
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
160
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
140
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
84
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
100
Other Decks in Programming
See All in Programming
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
740
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
0
180
CursorはMCPを使った方が良いぞ
taigakono
0
150
XSLTで作るBrainfuck処理系
makki_d
0
210
Passkeys for Java Developers
ynojima
3
880
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
970
C++20 射影変換
faithandbrave
0
500
Effect の双対、Coeffect
yukikurage
5
1.4k
カクヨムAndroidアプリのリブート
numeroanddev
0
430
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Designing for humans not robots
tammielis
253
25k
The Pragmatic Product Professional
lauravandoore
35
6.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Agile that works and the tools we love
rasmusluckow
329
21k
Making Projects Easy
brettharned
116
6.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Site-Speed That Sticks
csswizardry
10
650
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