2018.11.24こんにちは、荒井(@yutakarai)です。今回は、Dialogflowを効率的に学ぶためにまず知っておくべきコンセプトについて紹介します。化学元素チャットボットを作ってみたDialogflowの基本コンセプトIntentsEntitiesContextsWebhookまとめ化学元素チャットボットを作ってみた例として、化学元素チャットボットを作ってみました。このチャットボットは以下のような質問に答えてくれます。画面イメージは以下のような感じです。このチャットボットを例に、Dialogflowの基本的なポイントについて紹介します。Dialogflowの基本コンセプトDialogflowを活用するために、知っておくべき基本コンセプトがあります。ここにタイトル・Intents・Entities・Contexts・Webhookこの基本コンセプトは、パレートの法則「80/20ルール」のようなものです。基本コンセプトを徹底的に学ぶことで、Dialogflowについて知っておくべきものの約80%をカバーし、残りのコンセプトをより簡単に学ぶことができます。IntentsIntents(インテント)とは、ユーザーのメッセージ全体を指すものです。「ヨウ素の化学記号は何ですか?」というユーザーからのメッセージにあたります。Intentsにユーザーからのメッセージを設定することで、Dialogflowはそのメッセージ内容をもとに学習を進めます。「ヨウ素の化学記号は何ですか?」とIntentsに設定しておいたとします。実際のユーザーからのメッセージが「ヨウ素の化学記号」というだけでも、正しい返答を返してくれるようになります。EntitiesEntities(エンティティ)とは、ユーザーのメッセージから抽出したいキーワードのことになります。化学記号といった「ユーザが知りたい情報」などがEntityにあたります。化学元素について興味深いのは、種類が100以上あることです。100種類それぞれにIntentsを設定していては時間がいくらあっても足りません。そこでEntityの出番です。Entityを宣言しておくことで、多くの労力をかけることなく、適切なユーザーへの返答を設定することができます。ContextsContexts(コンテキスト)とは、「背景、文脈」というような意味があります。会話のキャッチボールを成り立たせるための大切なコンセプトがContextsです。例の化学元素チャットボットで解説してみます。特定の要素について質問をしたら、その後の会話で同じ要素についてのフォローアップの質問をすることができます。質問2では、「水素」という単語が入っていないにもかかわらず、質問1のフォローアップの質問と判断して、水素の化学記号を返しています。いった会話の文脈を理解して、キャッチボールを成り立たせるために必要なのがContextsです。WebhookWebhookという仕組みを利用して、Dialogflowが外部のプログラムから情報を取得して返す仕組みを作ることができます。この場合、外部のプログラムを開発する必要があります。例の化学元素チャットボットの場合であれば、化学元素にもとづく情報を検索して返すシンプルな処理が必要になります。Webhookのイメージは以下のような感じです。まとめ今回は、Dialogflowの基本的なコンセプトについて紹介しました。Dialogflowの画面を見るとわかるのですが、Dialogflowができることはまだまだたくさんあります。Now」を終えた後、いったいどこに進んだら良いかわからなくなってしまいます。一般的に、ドキュメントには何ができるかが書いてあるだけです。いった意味でも、今後このブログではDialogflowの実際の活用方法などの情報も共有していきたいと思っています。ロカラボのサービス紹介はこちら人気の記事◾️ITシステムを内製化するための現実解。◾️AIは魔法の杖じゃない。scikit-learnで機械学習モデルを保存&ロードする人気ブログランキングへProfile荒井豊メイドインジャパンを盛り上げる!日本のモノづくりを全力で応援しています。IT内製化コンサルタント/PM/ITセミナー講師。理詰めで考えて泥臭く行動するのが性に合ってるみたいです。株式会社ロカラボこんな記事も読まれてますDialogflowDialogflowを使うと高度なチャットボットを作れるのか?こんにちは、荒井(@yutakarai)です。前にあるお客様からこんな質問をいただきました。この質問をいただいたとき、返答に困ってしまいました。「高...Dialogflow使うときは要注意!DialogflowのワイルドカードEntityこんにちは、荒井(@yutakarai)です。今回は、DialogflowのワイルドカードEntityについて紹介します。この記事を読む前にTemplateモードについて理解しておくことをおすすめします。全ての言葉にマッチ...DialogflowどうやらDialogflowのTemplateモードが非推奨になったっぽいこんにちは、荒井(@yutakarai)です。先日に以下の記事で、DialogflowのTemplateモードを紹介しました。Templateモードが非推奨になったっぽいです。このフォーラムの投稿で知った...DialogflowDialogflowのEntityを一括で登録する方法こんにちは、荒井(@yutakarai)です。DialogflowのEntityは一括登録することができます。弊社が以前チャットボット導入のお手伝いをさせていただいた際の話ですが、Entityに100種類以上の製品を登録する必要があ...DialogflowDialogflowのExampleモードとTemplateモードこんにちは、荒井(@yutakarai)です。先日の記事で、Dialogflowの基本コンセプトについて書きました。今回は、ExampleモードとTemplateモードについて紹介します。荒井豊メイドインジャパンを盛り上げる!日本のモノづくりを全力で応援しています。IT内製化コンサルタント/PM/ITセミナー講師。理詰めで考えて泥臭く行動するのが性に合ってるみたいです。メイドインジャパンを盛り上げる!日本のモノづくりを全力で応援しています。IT内製化コンサルタント/PM/ITセミナー講師。理詰めで考えて泥臭く行動するのが性に合ってるみたいです。0%"})}t.find(".footnote-content-wrapper").css({"max-height":Math.min(l,a)+"px"});t.css({left:s.leftRoom-s.leftRelative*o+"px"});m(t,s.leftRelative);parseInt(t.css("height"))。