【プログラミング不要】Dialogflowの使い方!チャットボットの開発方法を徹底解説

こんにちは、AI研究所の三谷です。
今回は、チャットボットを開発できる「Dialogflow」を使って、Siriのような会話できる人工知能の開発方法をご紹介します。

Dialogflowとは?

「Dialogflow」は2016年にGoogleが買収した、自然言語によるコンピューターとの会話を実現するAPIをプログラミングせずに簡単に開発することができるツールです。

https://api.ai/

Dialogflowの特徴として、ただのチャットボットと違い「会話の脈略を理解する」というのがあります。
あらかじめ用意されてる機能をOnにするだけで使えます。
びっくりするくらい簡単にできるので驚きです!

Dialogflowで使えるドメイン

ちなみに、利用できるドメインは言語によって異なっていて、日本語の場合は以下のドメインが利用可能です。

・Weather
・Call
・Messages
・Email
・Media
・Maps
・Navigation
・Points of Interest
・Translate
・Authentication

英語のほうが使えるドメインが多いです。

・Small Talk
・Booking
・Weather
・Wisdom
・Flight Schedules
・News
・Call
・Messages
・Email
・Media
・User Name & Agent Name
・Web Search
・Web Browsing
・Apps
・Time & Dates
・Calculator
・Calendar
・Reminders and Notifications
・Manage App
・Maps
・Navigation
・Points of Interest
・Device Control
・Units and Formats
・Translate
・Language Selection
・Shopping
・Notes
・Tasks
・Social Networks
・Events
・Taxi Search
・TV Listings
・Smart Home
・Sports
・Finance
・Authentication
・Learning
・Nicknames
・Contacts Search
・Images
・Traffic
・Maps Shortcuts

今回は、このドメインを利用する以外の方法をご紹介します。

Dialogflowの使い方

Dialogflowの使い方イメージ

まず、Dialogflowのサイトにアクセスし、「Get Started for Free」をクリックしてログインします。
※ 無料で登録できます。
https://dialogflow.com/

ログインできたら、「エージェント」を作成します。
「エージェント」エクセルとかパワポで言うところのファイルみたいなものです。

右下の「CREATE AGENT」をクリックします。

Dialogflowの使い方イメージ

以下の4つの項目を設定し、左上の「SAVE」をクリックします。

・Agent name(エージェントの名前):会話ロボット
・DESCRIPTION:チャットボットのテスト
・LANGUAGE:日本語
・DEFAULT TIME ZONE:(GMT+9:00)Japan

Dialogflowの使い方イメージ


ai_チャットボットセミナー

Dialogflowで言葉を覚えさせる

Dialogflowで言葉を覚えさせる

言葉を登録し、ロボットがその言葉を認識できるようにします。
今回は「愚痴」を認識させて、愚痴に対する相槌を打てるようにします。

左のメニューから「Entities」をクリックして、右上の「CREATE ENTITY」をクリックします。

「Entity name」に「complaint」と入力し、「Enter refernce value」に「愚痴」と入力、最後に「Enter synoym」に愚痴っぽい言葉を入力して右上の「SAVE」をクリックします。
今回は、「つらい」「イヤだ」「やりたくない」「嫌い」「イライラする」「ムカつく」と入力しました。

Dialogflowで言葉を覚えさせる

続いて、左のメニューから「Intents」をクリックし、「CREATE INTENT」をクリックします。

Dialogflowで言葉を覚えさせる

「Intents」には、入力に対する返答を設定することができます。
「Intents name」に「愚痴」と入力し、「User says」の「”」をクリックし「@」に変更した後に「あいつ@complaint:complaint」と入力します。

Dialogflowで言葉を覚えさせる

続いて、「Text Response」には、「User says」に対する返答を入力します。
今回は、「それは大変だったね。」「愚痴は何も生まないよ。」「がんばれー!」と入力して、「SAVE」をクリックします。

Dialogflowで言葉を覚えさせる

これで、愚痴を聞いてくれるチャットボットが開発できましたので試してみましょう!
右サイドバーの「Try it now」に「あいつ嫌い」と入力します。
そうすると、先ほど「Text Response」で設定した言葉が返ってきます。

Dialogflowで言葉を覚えさせる

続いて、「あいつ」以外に名前でも返答が返ってくるように設定します。
「User says」の「”」をクリックし「@」に変更し、「@sys.given-name@complaint:complaint」を新たに加えます。 「@sys.given-name」はあらかじめDialogflowに登録されている「名前」のエンティティです。
「名前」以外にも「国」や「色」、「時間」などのエンティティがあります。
詳しくは以下のページから確認できます!
https://docs.api.ai/docs/concept-entities

Dialogflowで言葉を覚えさせる

これで名前を認識できるようになったので、右サイドバーの「Try it now」に「太郎嫌い」や「三郎イライラする」と入力してみます。

Dialogflowで言葉を覚えさせる
Dialogflowで言葉を覚えさせる

ただ、「浦島太郎イライラする」など、あらかじめ登録されていない言葉には対応できません。

Dialogflowで言葉を覚えさせる

このように認識できない言葉は、「Entities」に登録し「User says」に入力すれば認識してくれるようになります!
ちなみに登録されていない言葉を入力された場合には、あらかじめデフォルトで登録されている返答をするようになっています。
デフォルトで登録されている返答は「Intents」の「Default Fallback Intent」から変更できます。

Dialogflowでアクションを設定する

続いて、ロボットに指示をすると歩くようにアクションを設定をします。
左のメニューから「Entities」をクリックして、右上の「CREATE ENTITY」をクリックします。

Dialogflowでアクションを設定する

「Entity name」に「direction」と入力して、「Enter refernce value」と「Enter synoym」に以下のように入力し、「SAVE」をクリックします。

・前に:前に、前方に、前方向に
・後ろに:後ろに、後方に、後ろ方向に
・左に:左に、左側に、左方向に
・右に:右に、右側に、右方向に

Dialogflowでアクションを設定する

続いて、左のメニューから「Intents」をクリックし、「CREATE INTENT」をクリックします。

Dialogflowでアクションを設定する

「Intents name」に「移動」と入力し、「User says」に「前に10歩」と入力します。
入力後、「前に」を「@direction:direction」に設定し、「10」を「 @sys.number 」に設定します。
「Text Response」には「$direction $number 歩動きます。」と入力し、「SAVE」をクリックします。

Dialogflowでアクションを設定する

右サイドバーの「Try it now」に「右方向に14歩」と入力すると、「右に 14 歩動きます。」という返答と、「direction:右に」と「number:14」というパラメーターが入ります。

Dialogflowでアクションを設定する

このパラメーターは「SHOW JSON」からも確認できます。

Dialogflowでアクションを設定する

このように簡単にDialogflowでアクションを設定することができるんです。

Dialogflowの使い方まとめ

Dialogflowにはチャットボット開発用にトレーニングの機能が付いているため、どんどんチャットボットを育てたい方の勉強にもおすすめです。(基本的に英語表記ですので翻訳機能をうま利用して使ってみてください)
今後も機能の拡張が楽しみですね!!

今回は、Dialogflowを使ってチャットボットを開発しましたが、Dialogflow以外にもチャットボットを開発できるツールはたくさんあります。

チャットボットを作れるツール一覧
・IBM’s Watson
・BeepBoopHQ
・wit.ai
・howdy’s botkit
・textit.in
・Motion.ai
・Chatfuel
・Dexter
・converse.ai
・Gupshup

皆さんもDialogflowでオリジナルの会話可能な人工知能を作ってみてはいかがでしょうか。

【プログラミング不要】Dialogflowの使い方!チャットボットの開発方法を徹底解説
最新情報をチェックしよう!