【簡単?】【ノーコード】 Dialogflowを使ってLineのチャットボットを作ってみる

はじめに

(ほぼ)無料で作成できるチャットボットのサービスがないかと探しているところにGoogleの提供するDialoggflowというサービスがありました。

本記事ではこのサービスを使って簡単なLINEのチャットボットサービスを作成してみたいと思います。

チャットボットとは

どうやってか、この記事に辿り着いてくださったあなたにチャットボットの説明は不要では…と思いますが、最近はいろんなところで見かけるようになった、ロボット?AI?による対話型のシステムのことを指します。Lineの公式アカウントとか何かコメントすれば何かコメントを返してくれるアレ、アレがチャットボットです。

実際に使ってみてわかったのですが、Dialogflowについてはある程度のキーワードとそれに対応するリプライを設定しておけば、多少曖昧な言葉を使っても解釈して、リプライを返してくれます。AIって凄いわ。。

事前準備

・Dialogflowのサービスを利用するためにGCPのアカウントが必要です。チャットボット専用のプロジェクトは無くても大丈夫です。Dialogflowのサービスから新規に作成することも可能です。

・LineのDeveloperのアカウントが必要です。Lineのビジネスアカウントを作成しておいてください。こちらにマニュアルがあるのでご参照下さい。

https://www.linebiz.com/jp/manual/line-ads/account_001/

手順

Dialogflowにログイン

以下のURLからログインします。ログインにはGoogleのアカウントが必要です。

https://dialogflow.cloud.google.com

DialogFlowの設定

リージョンの概念があるので、まずはTokyo, Japanにしたいところですが、残念ながら2021/03/14時点でTokyo RegionにはLineと連携するためのIntegrationと呼ばれるメニューが用意されていないので、US-USAを選択して下さい。(以下の一部の画像がAS-NE1となっていますが、US-USA(Global)と読み替えてください)

早速、Create Agentをクリックして、Agentを作成していきます。

Agentの作成が完了すると、Intentsの一覧の画面に遷移します。Intentsとは、、、ザックリと言ってしまうと話題、ということで良いのかなと思います。(ここでは)

赤枠で囲われている2つの項目がIntentsです。上のDefault Fallback Intentが回答が見つからなかった時の返信、下のDefault Welcome Intentが挨拶のメッセージに対する返信のIntentとなります。

画面の右の方には Try it now と書かれたエリアがあるので、ここに「こんにちは」と入力してみてください。

すると「こんにちは」に対して「こんにちは!」と返してくれているのがわかります。

次は Default Welcome Intentの中身を見て、先ほどのやり取りの仕組みを見ていきましょう。

Training phrasesにはユーザーが入力するであろう文字列を設定しておきます。予めいくつかの挨拶が設定されていますが、「おはよう」がありません。この時点で Try it nowのエリアに「おはよう」と入力しても「よくわかりません」といった Default Fallback Intent の返信が来てしまいます。

ここに 「おはよう」を登録しておくと、、「おはよう」でも「おはようございます」でも、Default Welcome Intentの返信が返ってくるようになりました。

少し画面を下にスクロールしていくと、今度は Responseという項目が表示されます。ここでは入力されたメッセージが Default Welcome Intentと判断されたときに返信するメッセージを設定します。

以下の設定例を見て頂くのが良いと思います。

なんとなくまだアプリと連携出来ていないので、形は見えませんが、これがチャットボットの基本なのか!というところまでご理解頂けたのではないでしょうか。

Lineとの連携

上記をLineのチャットボットとするための設定について説明します。

左のメニューからIntegrationを選択し、表示されるされるメニューの中からLineを選択して下さい。

以下のようなメニューが表示されますので、こちらを設定していきます。

Channel IDはLineのチャネルを作成したのちに、以下の方法で取得します。Line Developersにログインして、該当のチャネルのページにいきます。

以下のようにチャネルのBasic settingsのページから情報を取得してください。これをDialogFlowのChannel IDの項目に設定します。

この画面を下にスクロールしていくとChannel Secret情報ありますので、こちらの情報も取得し、DialogFlowのChannel Secretの項目に設定してください。

次は Managing APIのタブに移動してください。

このタブの中に、Webhook settingの項目がありますので、ここに DialogFlowで表示されているWebhook URLを設定してください。この項目はDialogFlowではなく、Lineへの設定項目であることに注意してください。

同じページで一番したまで画面をスクロールすると、Channel access tokenのメニューが出てきますので、こちらですでにtokenを発行済みでなければtokenを発行し、その値をDialogFlowに設定してください。

DialogFlow側の設定としてはこちらでほぼ完了です。

念のためLine側の設定内容についても軽く触れておきます。

Lineのビジネスアカウントで Line Official Account Managerにログインし、今回チャットボット化したいアカウントを選択した後、以下の画面赤枠の設定ボタンをクリックして下さい。

その後、左のメニューから応答設定を選択し、以下のような設定となっていることを確認してください。

これで設定は完了かと思いますので、最後にDialogFlow側で以下のスタートボタンをクリックして下さい。

今回用意したLineのアカウントにメッセージを送信し、DialogFLowで設定したようなメッセージ応答があることをご確認下さい。

ここまで出来れば後は色んな話題が出来るように、DialogFlowで話したいメッセージをひたすらに追加していくのみです!

最後に

本記事では GoogleのDialogFlowを使ってLineのチャットボットを作成する方法を説明致しました。こんなに簡単に出来るなんて…ということで正直言って、本内容であればエンジニアでない方でも実現が可能かと思います。

チャットボットがこんなに簡単に作れる時代、ソースコードが全く書けなくてもサービスが作れる時代、本当に凄いですよね。ではまた!