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
28
Pkl/2024-04-17-llt31
ottijp
0
65
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
130
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
210
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
130
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
140
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
130
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
73
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
88
Other Decks in Programming
See All in Programming
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
チームリードになって変わったこと
isaka1022
0
200
Domain-Driven Transformation
hschwentner
2
1.9k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
570
SpringBoot3.4の構造化ログ #kanjava
irof
2
1k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
48
17k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
520
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
210
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Designing Experiences People Love
moore
140
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
KATA
mclloyd
29
14k
Building Your Own Lightsaber
phodgson
104
6.2k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Code Review Best Practice
trishagee
67
18k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
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