アルパカログ

カスタマーサポート (CS) とエンジニアリングを掛け算したい CRE (Customer Reliability Engineer) が気になる技術や思ったことなど。

猫と Natural Language API の感情分析を使って妻の機嫌をとる

f:id:otoyo0122:20180423075202j:plain

世の既婚男性諸君にとって妻とは頭の上がらない存在である。

しかしそんな妻たちにも弱点はある。それは動物だったり、俳優だったり、アニメのキャラクターだったりで、我が家の場合は猫だ。

そこで今回は妻の機嫌をとるために、送られてきた LINE メッセージを Google Cloud Natural Language API を使って感情分析し、必要に応じて猫 (LINE Bot) に仲裁させるシステムを作ったので紹介する。

システム構成

f:id:otoyo0122:20180422144243p:plain

LINE Messaging API から受け取った LINE メッセージのテキストを Natural Language API に投げるだけといういたってシンプルな構成だ。

Google Cloud Functions を使った LINE Bot の作り方は以前紹介したのでそちらを参考にしてほしい。

Natural Language API による感情分析

Natural Language API の感情分析は、簡単に言ってしまうと投げたテキストに対し -1.0~+1.0 の感情スコアを返す。負数がそのままネガティブな感情だ。

戦略としては、スコアがネガティブなとき平常心に戻らせるようなセリフを猫に喋らせれば良いということになる。ポジティブなときは適当でいい。

料金は、1件1,000文字以内であれば月に5,000件まで無料だ。日で換算すると1日160件程度まで大丈夫だ。

とはいえ全件投げることもないので、今回はメッセージ中に「!」や「?」が含まれるものだけを対象とした。

コードと実際の様子

https://github.com/otoyo/linebot-gcf

今回作成したコードは GitHub リポジトリに公開している。

スコアによるセリフの分岐は雑だが index.js#L52-L56 で行なっている。こたけとは飼い猫の名前だ。

f:id:otoyo0122:20180422161540p:plain:w320

仲裁どころか煽ってるように見える…。

それでは諸君の健闘を祈る。

こちらもあわせて読みたい

alpacat.hatenablog.com

alpacat.hatenablog.com