AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  FAQ を元に自動応答?!Dialogflowの新機能「Knowledge connectors BETA」を使ってみた

公開日:2018.08.07 

FAQ を元に自動応答?!Dialogflowの新機能「Knowledge connectors BETA」を使ってみた

カテゴリー: AI(人工知能)の作り方

こんにちは、AI研究所、駆け出し研究員のリョウタです。

今回は、以前の記事「チャットボットの簡単な作り方」でも紹介されいてるDialogflowに、試験的に実装された新機能「Knowledge connectors BETA」を検証していきたいと思います。

2018年5月22日よりリリースされたDialogflowの新機能(β版)。
様々な機能が試験的にDialogflow上で利用可能となっております。
今回はその中の、「Knowledge connectors BETA」の機能について検証してみたいと思います。

※本機能はβ版となり、英語(en)のみ使用可能です。以降、機能の実装のやり方について記載しておりますが、公式ドキュメント上でも下位互換性のない方法で変更される可能性があり、SLA などの対象外となっておりGoogle側のサポート対象から外されております。本番環境での利用ではなく、あくまでも試験的な利用のみでご利用ください。

※今回はDialogflow公式ドキュメントの内容に沿った方法で実践いたします。ドキュメント内に説明のないいくつかの実装項目については触れておりません、詳細は公式ドキュメントから開示され次第ご確認ください。

本機能の内容としてDialogflowのドキュメント上で以下のように説明の記載があります。

”Knowledge connectors complement defined intents. They parse documents (for example, FAQs or articles) to find automated responses. To configure them, you define one or more knowledge bases, which are collections of documents.”

上記の内容を簡単にいうと、FAQ やナレッジベースに関する記事のようなサイト、非構造化文書をDialogflow側で理解し、予め決められたインテントと一致している可能性の高い回答を文書集から抽出し、自動応答で補完するというものです。

日本でも多くのサイトで、Q&Aコーナーや一問一答など商品やサービスの利用に関して困った時に確認するページがあるかと思います。

https://www.yahoo-help.jp/
※上記のようなヘルプサービスなどが分かりやすいかと思います。

そのサイト中の、Question部分とAnswer部分を自動的に検出し、Knowledge Basesというリストの中に保存、インテンツの回答のソースとしてKnowledge Basesを指定、TrainingPhrases内にKnowledge Bases内にそれと該当するQuestion部分と近い文言があれば該当のQuestion部分に紐づいたAnswer部分を回答として返します。

それでは実践してみましょう!


まずエージェントIDを作成してください(①)。
作成後、エージェントIDの隣の歯車マークを押し、General内にある「BETA FEATURES」と書かれている項目のタブをオン(②)にしてSAVEしてください。


01


02

続いてKnowledge Basesを作成しましょう。作成したエージェントを選択し左側のメニューの中にあるKnowledgeを選択してください。

03

ページ遷移後右上にあるCREATE KNOWLEDGE BASEを押し、Knowledge Baseの名前を記載してSAVE。
下記のような画面移りますので「Create the first one.」をクリック。

04

下の画面に遷移します。

05

Document Name・・・インテンツ名やエンティティ名と同じく作成するドキュメントの名前を入力
Mime Type・・・参照するドキュメントの拡張子を選択します。今回は「text/html」を選択
Knowledge Type・・・参照ドキュメントがどのような種類のものかを選択します。FAQのサイトを参照するのでここは「FAQ」を選択。
Data Source・・・参照するドキュメントのソースを選択します。今回はGCPのCloudStorageのFAQのページを選択します。
https://cloud.google.com/storage/docs/faq

06

内容に問題がなければ「CREATE」を選択します。

これでKnowledge Baseは完成しました、次は実際にインテンツからアウトプットできるかやってみましょう!

下記のようなインテンツを一つ作成します。

07

TrainingPhraseは「How do I sign up to Google Cloud?」、ResponcesにはTextResponseとして「$Knowledge.Answer[1]」と入力しSAVEしてください。

インテンツが保存されたら試してみましょう。左メニューからIntegrationsを選択、WebDemoの有効にしてテストのページへ移動します。

08

「How do I sign up to Google Cloud?」と入力してみます。

09

あれ、ただのテキストデータとして返ってきちゃいました。

色々調べてみたのですが、下記Knowledge Base内にある「ADJUST KNOWLEDGE RESULTS PREFERENCE」が関係しているようです。

10

どんな機能かというと、作成したKnowledge Baseの内容との関連性の強弱を設定できるもののようです。
Weakerよりに設定すると関連性を弱める、Strongerよりに設定すると関連性を強めます。
今回の場合作成した時点で、デフォルトでWeakerよりに設定されていたため、Knowledge Baseとの関連性が弱かったことが原因でした。

このWeakerとStrongerの使い分けですが、例えば作成したインテンツ群のResponseを、Knowledge Baseのソース元のURLの内容から引っ張ってきてほしい場合はStronger側に設定、インテンツに独自でText Responseなどを設定しその内容を返すようにしたい、という場合にはWeaker側に設定する、といった使い分けが出来るように思われます。

今回の場合「How do I sign up to Google Cloud?」と入力したらKnowledge Baseに設定したソースURL(https://cloud.google.com/storage/docs/faq)の中から関連した回答をしてほしいケースだったので、Storongerよりに設定する必要がありました。

11

これと別に、下記のように例えば「test」と入力したら「test」とユニークに返してほしい場合はKnowledge Baseの内容に紐づけたくないので、Weakerよりに設定する必要があります。

12

さて、それではADJUST KNOWLEDGE RESULTS PREFERENCEをStronger寄りに設定し再度試してみます。
※設定後、SAVEなどは必要ありません。

13

14

上手く返ってきました。回答内容はソースURL(https://cloud.google.com/storage/docs/faq)内にあるUse with other Google servicesの欄にある「Can I use Cloud Storage with my G Suite account or Cloud Identity domain?」という質問に近い内容とDialogflowが判断して返したようです。

15

ちなみにFacebook MessengerやSkypeなどResponsesを変えることのできる設定の場合、例えばCardにするとQuestionとAnswer両方の内容を表示することが出来ます。
実際にやってみましょう。

下記はResponsesからSkypeタブを作成、Cardを作成し以下のように設定しSAVEします。

16

右側にあるTry it nowから再度「How do I sign up to Google Cloud?」と入力すると先ほどの紐づいたQestionとAnswerの内容が同時に出力されました。

17

今回は、「Knowledge connectors BETA」を使ってみました、β版なのでどのような機能なのか、といったお披露目のような形での公開でしたが非常に興味深い機能でした。本番として実装された場合どのような使い方が出来るのか、また実践してみたいと思います!

ご覧いただきありがとうございました!

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ