#どういう記事?
Azure素人の自分がMicrosoft AzureのBot FrameworkとCognitive Serviceと触れ合いながら、難易度も人への接し方も**“やさしい”**チャットボットを作ってみた際の備忘録の第5部、最終部です。どんなチャットボットを作るのかを含め、これまでの手順は第1部、第2部、第3部、第4部にございます。
PowerPointで記録していたものをQiita化してみたものになるので、そんな感じの画像が頻出します。
Qiita初心者なので、書き方が下手でも広い心で許してほしいです。そして全体的にゆるいです。
アジェンダ
以下の5部構成になります。この記事は第5部にあたります。
- Bot Frameworkでチャットボットを作ってみよう!
- ボットをAzure(クラウド)にデプロイしてみよう!
- Cognitive Serviceでテキスト分析をしてみよう!
- Twitterからつぶやきをとってきてみよう!
- LINE経由でボットと話してみよう!←イマココ
なお、公式ドキュメントに沿って作りましたので、それらのリンクを張り付けつつ、辿った道筋通りに書いていきます。
その筋の方からすると遠回りだったり野暮ったかったりすると思いますが、ご容赦ください。
2. LINE経由でボットと話してみよう!
これまで、第1部で作ったチャットボットのソースコードを、第2部でAzure(クラウド)上へデプロイし、ユーザーから受け取ったコメントをAzure Cognitive ServiceのText Analyticsを使って、ネガティブorポジティブの判定をし、判定結果がネガティブだった場合、Twitterで偉人さんのありがたいお言葉をつぶやく励ましBotさんのつぶやきをランダムに選択して、ユーザーに返してあげる部分まで作り終わりました。
今回は、LINE経由でユーザーとやり取りする部分(赤枠部分)を作っていきたいと思います。
2.1 参考ドキュメント
今回の作業は公式ドキュメントのボットを LINE に接続するを参考にしています。
## 2.2 LINEのコンソールにログインする
LINEアカウントを持っている人は、LINE Developers ConsoleからDeveloper Consoleにログインします。LINEアカウントを持っていない人は、LINEアプリのダウンロードをして、メールアドレスの登録をお願いします。
開発者として登録する
初回アクセス時のみ、名前とメールアドレスを入力して、LINE Developersコンソールで開発者アカウントを作成します。
2.3 新しいプロバイダーを作成する
ボットのプロバイダーを作成します。プロバイダーとは、アプリを提供する組織のことです。ご自分の名前や企業名を入力してください。既存のプロバイダーがある場合はそちらを使ってもOKです。
2.4 メッセージング API チャンネルを作成する
次に、新しい Messaging API チャンネルを作成します。Create a new channelを選択し、続いて出てくるCreate a ChannelのボックスではMessaging APIを選択します。
作成するチャンネルの詳細を入力していきます。
- Provider
先ほど作成(または選択)したプロバイダー名がデフォルトで入っていると思いますので、そのままでOKです。 - Channel icon(optional)
LINE上のアイコンになります。なくても大丈夫です。 - Channel name
作成するチャンネルの名前です。LINE上で表示されます。自由に決めて大丈夫です。 - Channel description
このチャンネル(ボット)の説明を記載します。自由に記入して大丈夫です。 - Category
このチャンネルのカテゴリを選択します。カテゴリって言われても…となってしまったので、今回は「個人」を選択しました。 - Subcategory
このチャンネルのサブカテゴリを選択します。サブカテゴリって言われても…(ry なんでもいいです。 - Email address
重要なアップデートなどがあった際、LINE側から連絡が来るそうです。自分のメールアドレスを入力します。 - Privacy policy URL(optional)
プライバシーポリシーが記載されたURLがあれば入力します。なくても大丈夫です。 - Terms of use URL(optional)
利用規約が記載されたURLがあれば入力します。なくても大丈夫です。 - I have read and agree to the LINE Official Account Terms of Use
- I have read and agree to the LINE Official Account API Terms of Use
LINEの利用規約を読みましたよ、同意します、という確認です。確認し、両方チェックを入れます。
ちなみに私の入力内容はこんな感じです。
すべて入力したら、一番下のCreateボタンをクリックします。
2.5 チャンネルの設定から必要な値を取得する
チャンネルが作成されたら、Basic Settingsのタブから、下の方にあるChannel secretをコピーします。
また、Messaging APIタブから、Available APIsにPUSH_MESSAGEが含まれていることを確認します。
さらに下へスクロールして、LINE Official Account featuresの項目へ移動します。
Auto-reply messagesまたはGreeting messagesの右のEditをクリックします。どちらも同じ画面に行きますので、どちらでもOKです。
リンク先の応答設定のページで、あいさつメッセージと応答メッセージをオフにします。挨拶メッセージは友達追加時のメッセージで、今回のボットではソースコード内で「Hello and welcome!」と言うようになっているのでオフにします。応答メッセージは、ユーザーが初めて話しかけてきたときに返すメッセージですが、今回特に不要なのでオフにします。
元のMessaging APIタブへ戻り、Channel access tokenの部分でIssueボタンをクリックし、アクセストークンを発行、コピーします。
2.6 LINE のチャンネルを Azure ボットに接続する
Azure Portalにログインし、第2部で作成したボットチャンネル登録のリソースを選択します。
左のチャンネルを選択し、チャンネルに接続画面で、その他のチャンネルからLINEを選択します。
ここで、チャンネルシークレットとアクセストークンを要求されますので、それぞれコピーしておいたものを入力し、保存します。
LINE構成情報内で使用する設定情報の欄の、webhookのURLをコピーしておきます。LINE Developers Console側で使います。
2.7 LINE の Webhook 設定を構成する
LINE Developers Consoleに戻り、Messaging APIタブより、Webhook settings部分に、Azure PortalでコピーしたWebhook URLを入力します。入力時は**https://**から入力してください。入力したら、Updateボタンをクリックします。
Webhook URLが登録されたら、Verifyボタンで接続確認します。接続が成功していたら、Use webhookをONにします。
2.8 ボットをテストする
いよいよLINE上からボットと会話してみます。Messaging APIタブのQR codeを読み取り、LINEアプリ上でボットを友達追加します。
つらそうなメッセージと、ハッピーなメッセージを送ってみましょう。
見事ありがたいお言葉と塩対応がそれぞれ返ってくれば、成功です!
今までの工程について
今までの工程はこのようになっています。
こんなくだらないボット作成にここまでお付き合いいただき、ありがとうございました!