読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

会話のかみ合わないチャットボットを作った

Advent Calendar AI

はじめに

チャットボット Advent Calendar 2016 - Qiita

21日目

チャットボット

適当にチャットボットを作ってみた。 本当は作るのが面倒だったので適当なAPI等は無いかと思ったが、 どうも登録に時間がかかったり費用がかかったり、 会話の流れを自分で登録していかなければならないものなどばかりだったため、 適当に作ってみることにした。

アルゴリズム

調べてみると下記のようなページがあった。

マルコフモデルを使った人工無能の作り方 - Hacking My Way 〜 itogのhack日記

マルコフモデルというのを使うと会話が自動で生成できるらしく、 見て見る限り適当にデータをMySQLに保存していけばできそうだったのでこれでやってみることにした。 最近はやりの機械学習ライブラリなどは使っていない。

学習プログラムはpythonで作った。 そのうちTensorFlowなどを使う場合があればpythonがいいかと思ったが、 別に今回は小さなプログラムだったので結局何でも良かった。

学習

適当な会話データなどを拾って学習させてみた。 サーバーだとお金がかかるのでとりあえずある程度はPC上でDBに貯めこむ。 100ちょっとのファイルの会話データで、PCつけっぱなしで1週間ほどかかった。 HDDの寿命がだいぶ縮まったのではないだろうか…。

チャットアプリケーション

CakePHP3とAngularで作成した。 返事はpythonで作っていたのでコマンドを呼び出して連携している。

AiChatFront

LINE ボット

Message APIをつかってLINEボットも作ってみた。

f:id:dala:20161222212306p:plain

Androidアプリ

CordovaでAndroidアプリも作ってみた。 ちなみにAndroidアプリの場合はボットが音声で話すので注意。 自分も声で話すことができる。

Alpha AI チャット - Google Play の Android アプリ

まとめ

やってみたが話はかみ合わない。 たまにドキッとする発言をするが。 もうちょっと調整や学習を増やせばもうちょっとまともになるかもしれない。