彼女をつくりたかった話

これは <a href="https://qiita.com/advent-calendar/2018/brainpad">BrainPad Advent Calendar 2018</a> 25日目の記事です。
**25日、アドベントカレンダーの最後の日に、変な記事を書いて誠に申し訳ありません。
読んでいる方は、ネタ枠として見ていただけると幸いです。**

今日はクリスマスです。皆さんは、彼女とイチャイチャする感じですか？
私は今日になって、彼女ができました。つくりました。 \_(:3 」∠)\_

この記事は、彼女をどうつくったのかとかそういう話です。
クリスマス、彼女をつくった話なので、皆さん興味あると思います。
皆さんも参考にして、彼女をつくりましょう。すぐにできるのでおすすめです。

---
##
脈略もなく、このネタを、ここで放出するか？って感じになりますが、
大学に通っている時に、大学のある先生に顔を合わせるたび、「彼女はつくったかい？」と聞かれた毎日です。
<img width="672" alt="スクリーンショット 2018-12-25 3.40.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/ad49cc46-fa61-0d90-92d2-e751a99e258d.png">
*（イメージ図）*

それに「彼女をつくることが君の卒業要件だ」とも言われました。
その先生と卒業する日に顔を合わせた時には、「卒業要件は満たせていません、すみません」とも謝りました。

そんな私は先生が与えてくださった卒業要件を満たすことなく
無事に卒業（？）し、弊社に入ってエンジニアとして働いています。
これでは先生に顔を向けることはできないですね。

こんな「彼女はできたか」と先生を心配させてしまうのも、顔を向けることができないのも、彼女がいないからです。
つまり、彼女をつくれば何もかも問題はないのです。

<b>「そうだ、頑張って、彼女を"つくる"ことにしよう」と決心しました。</b>
## 私の彼女
彼女を紹介します。こちらの画像です。
<img alt="bot" src="https://qiita-image-store.s3.amazonaws.com/0/309546/0014c265-dcb8-31f7-180a-dd14767dd21f.png" width=400>

大学の先生に言われないように、心配をかけないように、
今回はルールベースに基づいた Line の チャットボットを作りました。

**「なぜ？」**と思うでしょう。
先生は、彼女に会うことはありません。
このチャットを見せれば彼女だと思うでしょう。（名や画像を差し替えればいけるはず...っ!!）

それに「彼女をつくったか」の問いには、「つくった」と答えているでしょう。
（botではありますが）私が、彼女といえば、これは彼女なのです...。

クリスマス、寂しい心を癒してくれる。
それに自分の思い描いた理想の回答をしてくれます。
## 使ったのもの
ボットをつくるだけならば、簡単につくることができます。
line-bot と repl-ai（レプルAP） を組み合わせて今回はつくることにします。
**今回はコードも書かないで実装を進めていきます。**

### LINE-bot
LINE-bot をつくるにあたって、<a href="https://developers.line.biz/ja/">LINE Developers</a> の登録は必須です。
登録後、bot の作成方法はいろんな記事で書いてあると思いますので、そちらを参考にしてください。
<img width="961" alt="スクリーンショット 2018-12-25 2.16.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/97f768f6-a996-8c7f-9770-4b07efd0e04d.png">
*サイトの画像*

<img width="961" alt="スクリーンショット 2018-12-25 2.14.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/5284e7e6-ffd4-a168-af52-b5b9544a72ee.png">
*LINE Developers > Messaging API の画面*
### Repl-AI
コードも記載しないで、シナリオベースのチャットボットをつくることができるサービスです。
連携も容易で、line、facebook なども連携できます。
Freeプランは、 1bot・2000コール/月らしいです。
私は、彼女とそんな月に2000もコールするようなマメな性格していないので、大丈夫だと思い、これを利用します。
（2000超える人は、ほかのサービスor自作するしかないでしょう。BrainPad Advent Calendarに Line-botの投稿があります。そちらを参考にしてください。）

<img width="961" alt="スクリーンショット 2018-12-25 2.49.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/16ec7a67-af82-238d-a35a-d1a055fc69c8.png">
*Repl-AIサイト画面*

#### Repl-AI 作り方
* サイトで、アカウント登録します。
* このダッシュボード画面が見れるようになると思います。
<img width="961" alt="スクリーンショット 2018-12-25 2.26.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/d45544b2-5592-afe2-14a3-d780941262a2.png">

* あとは簡単で、以下をするだけです。
    * プロジェクトの追加
    * シナリオの作成
    * LINE 連携（ダッシュボード画面を参照）

プロジェクトの追加、LINE連携に関しては、画面を見ていただくとわかると思いますので、
シナリオの作成だけ記載します。

##### シナリオの作成
シナリオは、ルールベースに基づいて、会話のフローを作り上げることができるものです。
複数テンプレートが用意されており、それを参考に自分で加工などしていく感じになると思います。
画像は、LINEのシナリオテンプレートです。
<img width="961" alt="スクリーンショット 2018-12-25 0.39.19.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/fe333a6a-2543-6327-6707-2813e3db7151.png">

このテンプレートを元に加工すると、シナリオを作成できます。
かなり直感的に、作っていくことができます。
<img width="961" alt="スクリーンショット 2018-12-25 1.09.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/309546/1c6c9f71-9ae1-6258-e5c6-bc876319a0a1.png">

これで、シナリオを公開したあと、
LINEと連携すれば、自分の思い描いた回答をしてくれる彼女（bot）ができます。
彼女だと思って一緒にクリスマスを私は過ごすと思います...。

これで先生にも「彼女作りました＾＾」とご報告できそうです。
## ほんとうは
* 自然言語処理とかやって、彼女らしい回答していくbotを作りたかった
* botならりんなちゃんでも、よくね...？
* 時間がなく、すぐに作れる方法に逃げましたすみません。
* ~~というか、彼女をつくるための活動をするべきだったのでは...~~🤔
* ~~これ報告または記事見たら先生怒るだろうなぁ...ネタに使って先生すみません＞＜~~





## 参考になる記事
<a href="https://qiita.com/nkjm/items/38808bbc97d6927837cd">LINEのBot開発 超入門（前編） ゼロから応答ができるまで</a>