こんにちは。インターンでお世話になっている槿です。
今回は前回作ったLINEチャットボットの改良と雑談対話APIの導入、Slackとの連携について書こうと思います!
前回のブログはこちらになるのでよかったら見てもらえると嬉しいです(>_<)
前回の課題はチャットボットの回答のQAの情報量が少なかったことでした、、、
いろいろと方法をさがしていると、、、
ラーメンデータベースから店舗、レビューなどを取得してくれるスクレイピングスクリプトを発見!
こちらのGitHubに上がっています。
https://github.com/nuko-yokohama/ramendb
このスクレイピングスクリプトを使用しなんと約5000店舗の店名とレビューを取得することが出来ました!
そしてこの取得できたデータをQnAMakerが読み取ってくれるように加工し入れてみると、、、
ちゃんとQAとして読み込んでくれました!!!!
手打ちで入力していた何十件とは1桁も2桁も違う量がこんなに簡単に取得できるとは、、、
スクレイピング様様ですね( ̄▽ ̄)
たくさんのQAデータが入ったところで思ったことはやっぱりラーメンの回答だけ返してもあんまりおもしろくない、、、
そこで何かおもしろい回答や機能追加できないかなーとさがしていると、、、
Chaplus という雑談対話系WEB APIがありました!
これを使えば雑談ができてラーメンのことについても教えてくれるチャットボットができる!ということでこのChaplusをさっそくチャットボットに組み込んでいきたいと思います。
このサイトでAPI Keyなど必要な情報を取得しすでに作ったチャットボットのほうに入れていくんですがラーメンのことについてはQnA Makerの回答を返したかったのでラーメンの語句が入っているときはQnA Makerに、それ以外は雑談系APIが回答するという形にしました。
こんなかんじです( ̄▽ ̄)
QnA Makerの回答はresponseに、雑談系APIの回答はanswerに格納しているんですけど、今回このチャットボットを作るがほとんど初めてプログラミング言語に触るので理解をするのに大苦戦しました、、、
何回もエラーを繰り返し、、、ついに、、
雑談系APIを組み込むことができました!
これでやっとラーメンに詳しい雑談チャットボットができました!!
あとこの雑談系APIには関西弁や甲州弁などの口調が4種類あるとのことだったので時間によって口調が変わるようにしてみました。
これでいろんな人と話しているような感覚になるので、コロナで人と話せなくてもさみしくならなくて済みますね(^-^;
最後にどうせならみんなでわいわい話したい!ということでチャットボットをLINEだけではなくSlackにも連携させていきたいと思います。
Slackへのチャットボットの連携の仕方はこちらを参考にしました。
https://docs.microsoft.com/ja-jp/azure/bot-service/bot-service-channel-connect-slack
そしてこの説明の通り進めていくと、、、
きちんと連携させることが出来ました!!!!
今回はQnA Makerや雑談系Web APIなど既存のものを使用してチャットボットを作っていったんですが、それでも初心者の自分にはとても難しかったです(>_<)
チャットボット作ってみて、チャットボットなどをつかって場所や時間を入力するだけで飛行機のチケットや旅行先の宿、ほかにも飲食店の予約など自動でしてくれるようなものを作れたら面白いなとおもいました。
そういったものを作れるように勉強していきたいと思います(/・ω・)/