LINEの会話を盛り上げたい
日本人の多くが使っているLINE。お手軽にテキストチャットできて、便利ですよね!
でも、こんなチャットだとちょっと物足りなくなってきませんか?
mitsui君に試合終了感が伝わりませんね
そこで、LINEの会話を盛り上げるためのBOTとして、 animergen を開発しました。
animergenってどんなもの?
animergen(あにめーげん) = anime(アニメ) + mergen(名言)
animergenとは、LINEの発言の中からアニメや漫画の名言を見つけて、名言画像を返してくれるBot なのです。
animergenを導入しただけで、さっきの会話もこの通り!!
mitsui君に試合終了感がよく伝わってますね!(ごり押し)
何ができる?
グループにanimergenを追加することで、グループ内のすべての発言に対して名言をチェックし、画像を返します。
animergen には2つの機能があります。どちらもLINEのインターフェースとなっており、エンジニアじゃなくても簡単に操作することが出来ます。
animergen
LINEのトークフィールドに送信された発話にマッチしたアニメ画像のURLを返します。animergenがURLをつぶやくと、LINEのプレビュー機能によって画像で表示されます。
mergen_register
animergenの名言を追加する機能。
登録したい名言を投げると、候補画像を表示してくれるので、選択するだけで名言が追加されます。
どうやって作ったか?
使ったもの
- Python3
- LINE Messaging API
- kintone
- cotoha
全体構成はこんな感じ。
メインアルゴリズム
python3で書かれたメインアルゴリズムをherokuで動作させています。
グループにコメントが投稿されると、形態素解析や正規表現によって、DBに登録された名言を含んでいるかを検索します。
一致する名言があると、名言画像のURLを返します。
データベース
名言のDBにはkintone を使わせていただきました。去年のOne JAPAN HACKATHON TOKAI に参加した時に使い方を教えてもらえたので、活用してみました。
どんな名言が登録されたかがGUIで見れるので、animergenのような不特定多数から登録されるデータの管理には向いてるかと思います。
形態素解析
形態素解析には、cotoha を使わせていただきました。
最初はjanomeを使って形態素解析しようとしたのですが、herokuのフリープランのメモリ上限512MBを余裕で超えてデプロイできなかったので、既存のサービスを使わせていただきました。
よかったら使ってみてください
以下のQRコードからanimergenの友達申請ができるので、使ってみてください。
現在は、僕のアニソンカラオケ友達が登録してくれた400件以上の名言が登録されています。
「あきらめたらそこで試合終了だよ」とか「だが断る」とか言ってみると良いと思います。
# 締め
mergen_registerはもうちょっと改良出来たら公開するつもりです。
あとは、DB内に登録されている名言の可視化もやっていきたいと思っています。
@the1031hiroto さんに協力してもらったことで、可視化ページが完成しました! → mergen_view
mergen_viewの記事も作ってもらったので、ぜひご覧ください → mergen_viewの記事