LoginSignup
21
13

More than 3 years have passed since last update.

アニメの名言を返すbotを作って、LINEの会話がもっと伝わるようにしてみた件について

Last updated at Posted at 2019-07-15

LINEの会話を盛り上げたい

日本人の多くが使っているLINE。お手軽にテキストチャットできて、便利ですよね!

でも、こんなチャットだとちょっと物足りなくなってきませんか?
before.jpg

mitsui君に試合終了感が伝わりませんね

そこで、LINEの会話を盛り上げるためのBOTとして、 animergen を開発しました。

animergenってどんなもの?

animergen(あにめーげん) = anime(アニメ) + mergen(名言)

animergenとは、LINEの発言の中からアニメや漫画の名言を見つけて、名言画像を返してくれるBot なのです。

animergenを導入しただけで、さっきの会話もこの通り!!

after.jpg

mitsui君に試合終了感がよく伝わってますね!(ごり押し)

何ができる?

グループにanimergenを追加することで、グループ内のすべての発言に対して名言をチェックし、画像を返します。

animergen には2つの機能があります。どちらもLINEのインターフェースとなっており、エンジニアじゃなくても簡単に操作することが出来ます。

animergen

LINEのトークフィールドに送信された発話にマッチしたアニメ画像のURLを返します。animergenがURLをつぶやくと、LINEのプレビュー機能によって画像で表示されます。

mergen_register

animergenの名言を追加する機能。
登録したい名言を投げると、候補画像を表示してくれるので、選択するだけで名言が追加されます。

どうやって作ったか?

使ったもの

  • Python3
  • LINE Messaging API
  • kintone
  • cotoha

全体構成はこんな感じ。

animergen_structure.001.png

メインアルゴリズム

python3で書かれたメインアルゴリズムをherokuで動作させています。
グループにコメントが投稿されると、形態素解析や正規表現によって、DBに登録された名言を含んでいるかを検索します。
一致する名言があると、名言画像のURLを返します。

データベース

名言のDBにはkintone を使わせていただきました。去年のOne JAPAN HACKATHON TOKAI に参加した時に使い方を教えてもらえたので、活用してみました。
どんな名言が登録されたかがGUIで見れるので、animergenのような不特定多数から登録されるデータの管理には向いてるかと思います。

形態素解析

形態素解析には、cotoha を使わせていただきました。
最初はjanomeを使って形態素解析しようとしたのですが、herokuのフリープランのメモリ上限512MBを余裕で超えてデプロイできなかったので、既存のサービスを使わせていただきました。

よかったら使ってみてください

以下のQRコードからanimergenの友達申請ができるので、使ってみてください。
現在は、僕のアニソンカラオケ友達が登録してくれた400件以上の名言が登録されています。

「あきらめたらそこで試合終了だよ」とか「だが断る」とか言ってみると良いと思います。

animergen_bot.png

 締め

mergen_registerはもうちょっと改良出来たら公開するつもりです。

あとは、DB内に登録されている名言の可視化もやっていきたいと思っています。
@the1031hiroto さんに協力してもらったことで、可視化ページが完成しました! → mergen_view
mergen_viewの記事も作ってもらったので、ぜひご覧ください → mergen_viewの記事

21
13
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
13