Editorを利用して実際に簡単なボットを作ってみたので、作成までの流れや作成に必要な機能、その使い方の紹介をしようと思います。DialogFlowとは、簡単に言うと「Googleが提供する、自然言語処理を使用したチャットボットを作成できるサービス」です近年ホームページ上などでボット対応のチャットが表示されるといったことも増えてきていますが、そういったボットをDialogFlowを利用して作成することが可能です。コードを記述することで、ボットの挙動を細かく制御したり、また外部サービスと連携することができます。Editorを使うことで、DialogFlowの編集画面上からコード編集を行えます。今回はこちらを利用したいと思います。DialogFlowのFulfillmentを使ったチャットボット作成まとめ作成するボットについてお試しで作るものなので何でもよかったのですが、ちょうど時期でもあったので、何か物の名前を入力すると、それが軽減税率対象なのか、そうでないのかを教えてくれるボットを作成しました。そもそも軽減税率は以下のルールに沿って判断されます。※紙媒体で定期購入の場合のみこれを以下の図のようなフローで処理するボットにします。Editorを使って処理を記述します。以下に設定内容を記載していきます。Agent作成Agentとは、1つのチャットボットの単位です。Agent間でデータの共有はされておらず、Agent1で作成した回答内容はAgent2には適用されません。他のAgentに登録されている情報をインポートして、それらの情報を引きついたAgentを新たに作成するということも可能です。Agent作成では名前の入力と言語を選択し、CREATEを実行します。Entities作成Entitiesとは、同義語をまとめてラベル付けしたもので、いわゆる辞書になります。スマホとスマートフォンを同義語としておくことで、スマホもスマートフォンも同じものとして扱われ、同じ結果を返します。Entitiesに設定しておくことで、ユーザからの入力値を取得・利用することが可能となります。質問の対象物となるワードを「Target」というEntitiesとして登録していきます。これにより、「食品」という特定のワードに縛られずTargetという対象物として認識し、かつその値を取得し次の処理に利用することが可能となります。Entitiesを作成する手順としては、Entities一覧画面から「CREATE」を選択し、編集画面に入ります。vale(ラベルとなる値)とsynonym(同義語)を登録していきます。実際に登録したEntitiesとしては以下の表の通りとなります。新聞、新聞紙Intents作成Intentsとは、ユーザ側の意図(発話)に対してどういった処理を行うかをまとめたもので、いわばチャットボットのメインの部分になります。Intentは「こんにちは」や「やあ」等最初に入力されるであろう発話に対しての処理を設定するIntentで、デフォルトで設定が入っています。IntentはどのIntentにも引っかからないようなワードが送られてきた場合の返答をまとめたIntentです。デフォルトで「すみません。」等の回答内容が登録されています。どちらもデフォルトで設定が入ってはいますが、自身でカスタマイズすることが可能です。今回は、以下のIntentを作成します。1判断する対象を確認する→2(飲食品の場合)飲食する場所を確認する→3(新聞の場合)媒体を確認する→4(紙媒体の場合)購入形態を確認する以下の画像は作成後のIntent一覧です。intent」を選択すると、それに紐づいたIntentの作成が可能です。今回はこれを利用し、1に23を紐づけ、3に4を紐づけたIntentを作成します。Intent編集については以下画面のように行いました。設定した各項目の説明は以下となります。intentを設定した際に自動で設定されたものとなります。phrases作成するIntentが動作するトリガーとなるフレーズを登録します。支払い方法についての回答を行うIntentを作成するのであれば、「支払方法について教えてください」といったニュアンスのフレーズを登録することで、ユーザが支払い方法を知りたいという意図をもったフレーズを入力してきた際にこのIntentが対応し、Intentに設定された処理を行うようになります。phrasesに入力します。そのユーザからのフレーズの中でEntitiesで設定したワードが含まれる場合、そのワード上でダブルクリックするとEntitiesとして設定することが可能です。parametersに自動的にパラメーターが追加され、そこで取得したワードをその後の処理に引き継ぐことが可能となります。parametersはこれとは別に手動で設定することも可能。parametersパラメーターを設定することで、取得した値をその後の処理に利用することが可能となります。REQUIREDにチェックを入れると、このパラメーターに当てはまる値を取得できていない場合、PROMPTSの内容で聞き返しを行います。今回はTargetの値が必要となる為、PROMPTSに聞き返すフレーズを入力しておきます。intent」を有効にして登録します。====他のIntentについても同様に登録していきます。phrasesに登録しておくことで、そのまま次のIntentが動作するようにしています。Editor)の登録を行います。最初に貼り付けたフローにある、ユーザからの入力内容が外食だったらこうで、新聞だったらこう、といった処理をコードで記述していきます。EditorをENABLEDにします。するとコードの記述が可能になるので、以下のようにコードを作成しました。'は軽減税率対象ではありません。'食品(外食を除く)、新聞以外は軽減税率対象ではありません。