「AI 定評のあるシステム開発会社9選」に取り上げていただきました
大切なのは適切なIT活用

ムダのない適切なIT活用で
御社ビジネスの競争力強化をお手伝いします

ロカラボについて

Dialogflowを効率的に学ぶために知っておくべきコンセプト

Dialogflow

こんにちは、荒井(@yutakarai)です。

今回は、Dialogflowを効率的に学ぶためにまず知っておくべきコンセプトについて紹介します。

化学元素チャットボットを作ってみた

例として、化学元素チャットボットを作ってみました。

このチャットボットは以下のような質問に答えてくれます。

「水素の原子番号は?」
「ヨウ素の化学記号は何ですか?」

画面イメージは以下のような感じです。
デモボット 2018 11 22 12 32 18

このチャットボットを例に、Dialogflowの基本的なポイントについて紹介します。

Dialogflowの基本コンセプト

Dialogflowを活用するために、知っておくべき基本コンセプトがあります。

ここにタイトル

・Intents
・Entities
・Contexts
・Webhook

この基本コンセプトは、パレートの法則「80/20ルール」のようなものです。

基本コンセプトを徹底的に学ぶことで、Dialogflowについて知っておくべきものの約80%をカバーし、残りのコンセプトをより簡単に学ぶことができます。

Intents

Intents(インテント)とは、ユーザーのメッセージ全体を指すものです。

例の化学元素チャットボットでいうと、
「水素の原子番号は?」
「ヨウ素の化学記号は何ですか?」
というユーザーからのメッセージにあたります。

Intentsにユーザーからのメッセージを設定することで、Dialogflowはそのメッセージ内容をもとに学習を進めます。

例えば、
「ヨウ素の化学記号は何ですか?」
とIntentsに設定しておいたとします。

そして実際のユーザーからのメッセージが
「ヨウ素の化学記号」
というだけでも、正しい返答を返してくれるようになります。

Entities

Entities(エンティティ)とは、ユーザーのメッセージから抽出したいキーワードのことになります。

例の化学元素チャットボットでいうと
水素やヨウ素といった「化学元素名」
原子番号や化学記号といった「ユーザが知りたい情報」
などがEntityにあたります。

化学元素について興味深いのは、種類が100以上あることです。
100種類それぞれにIntentsを設定していては時間がいくらあっても足りません。

そこでEntityの出番です。

Entityを宣言しておくことで、多くの労力をかけることなく、適切なユーザーへの返答を設定することができます。

Contexts

Contexts(コンテキスト)とは、「背景、文脈」というような意味があります。
会話のキャッチボールを成り立たせるための大切なコンセプトがContextsです。

また、例の化学元素チャットボットで解説してみます。

例えば、特定の要素について質問をしたら、その後の会話で同じ要素についてのフォローアップの質問をすることができます。

質問1「水素の原子番号は?」
ボット「水素の原子番号は、1です」
質問2「その化学記号は何ですか?」
ボット「水素の化学記号は、Hです」

質問2では、「水素」という単語が入っていないにもかかわらず、質問1のフォローアップの質問と判断して、水素の化学記号を返しています。

こういった会話の文脈を理解して、キャッチボールを成り立たせるために必要なのがContextsです。

Webhook

Webhookという仕組みを利用して、Dialogflowが外部のプログラムから情報を取得して返す仕組みを作ることができます。

この場合、外部のプログラムを開発する必要があります。

例の化学元素チャットボットの場合であれば、化学元素にもとづく情報を検索して返すシンプルな処理が必要になります。

Webhookのイメージは以下のような感じです。

LINEボット案 2018 11 22 14 05 23

まとめ

今回は、Dialogflowの基本的なコンセプトについて紹介しました。

Dialogflowの画面を見るとわかるのですが、Dialogflowができることはまだまだたくさんあります。

Dialogflowのオフィシャルドキュメントがありますが、できる範囲が広いため「Get Start Now」を終えた後、いったいどこに進んだら良いかわからなくなってしまいます。

一般的に、ドキュメントには何ができるかが書いてあるだけです。

そういった意味でも、今後このブログではDialogflowの実際の活用方法などの情報も共有していきたいと思っています。

 

無料メルマガはこちら
お問い合わせはこちら

 

この記事を書いた人

経営者8割:情報処理技術者2割。最近は機械学習のビジネス活用支援が多いですが、アンチ技術偏重主義。技術は所詮ツール。ムダのない適切なIT活用のお手伝いをしてます。Miles Davis大好き / 三方よし / 家族大好き一児の父 Japanese👍/English👍/Thai😅

ロカラボをフォローする
Dialogflow
ロカラボをフォローする
株式会社ロカラボ