Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
感情に反応するSlack bot
Search
Satoshi SAKAO
March 21, 2018
Programming
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
感情に反応するSlack bot
2018-03-21 ゆるゆるIT勉強会 feat.Reedex Vol.2 で発表したスライドです.
Satoshi SAKAO
March 21, 2018
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
120
Pkl/2024-04-17-llt31
ottijp
0
140
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
200
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
360
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
190
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
230
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
190
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
130
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
130
Other Decks in Programming
See All in Programming
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
150
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
280
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.6k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
AI-Powered Domain-Driven Design
ziobrando
0
360
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.8k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
490
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
340
オーケストレーション記述言語 Katari
yukikurage
0
210
Groovy as a human and AI friendly programming language
paulk
0
140
最近”作らせてる” ローカルAIアプリの話
akit37
0
520
SODA - FACT BOOK(JP)
sodainc
1
40k
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
Navigating Weather and Climate Data
rabernat
0
570
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
310
Music & Morning Musume
bryan
48
7.5k
GitHub's CSS Performance
jonrohan
1033
470k
Faster Mobile Websites
deanohume
310
32k
Making the Leap to Tech Lead
cromwellryan
135
10k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
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