LINEをインターフェースとして、実験的にアプリケーションを作ってみました。これからLINE Botを作成してみたい、AIを利用したWebサービスを利用したいという初心者向けの記事になります。一連の実施で、以下のWebサービスを使うことができるようになります。
- インターフェース:LINE Bot
- アプリケーション:Heroku、Python
- Talk API:A3RT(Talk API)
- Face API:Face++(Detect API,MergeAPI)、Azure(Face API)
- 外部ストレージ:Box(OAuth 2 with JWT )
- 運用監視:UptimeRobot
- ローカル環境:Windows10
概要編
これから作るLINE Botへのアプリケーションインターフェースイメージ、各機能とWebサービスの関係について説明します。
LINEのメッセージイベントと回答機能
LINEのメッセージイベントは、FollowEvent、TextMessageEvent、StickerMessageEvent、ImageMessageEventがあり、それぞれに以下のような機能を実装します。
FollowEvent
LINEにて友達追加されたときに起きるEventです。 アプリケーションからは、固定のTextMessageを回答します。
StickerMessageEvent
トーク画面にてスタンプが投稿されたときに起きるEventです。 アプリケーションからは、Line標準スタンプをランダムに回答します。
TextMessageEvent
トーク画面にてTextが投稿されたときに起きるEventです。 アプリケーションからは、A3RT(Talk API)によるChatを回答します。
ImageMessageEvent
トーク画面にて画像が投稿されたときに起きるEventです。
アプリケーションからは、3つのパターンにて回答を行います。
①Face++(Detect API)による顔認識の結果テキスト 性別、年齢、人種、美しさ偏差値
②Azure(Face API)による顔認識の結果テキスト
性別、年齢、笑顔偏差値、毛髪有無、眼鏡有無、顔の位置
③Face++(MerfeFace API)による合成画像
Template imageの顔に対して、Merge imageの顔を当てはめます。
本アプリケーションでは、合成画像をBOXストレージに格納します。
※実装には、Azure(Face API)とBox(外部ストレージ)を活用
アプリケーションの他機能
BOXに格納したファイルの削除
Face++(MerfeFace API)による合成画像を作成した際に保存したファイルをすべて削除します。