dialogFlow超個人的メモ


dialogFlowを触ってみたのでメモ。

超個人的メモなので時間が惜しい人は読まないでください。

dialogFlowとは

機械学習を使い、複雑なチャットボットを簡単に作るサービスらしい。
例えば、カスタマーサービスの一部を人工知能で置き換える。自社サービスに、人工知能のチャットボットを設置するなどに使える。
機械学習エンジニアを雇うほどでもない。しかし、高性能なチャットボットがほしいというユースケースに対応している。
slackやgoogle homeと連携できるので、ちょっとしたツールに使えそう。

iframeを使って、以下のようにお手軽にチャットサービスを作成し、webサイトに埋め込む事が出来る。

左側の項目を説明する。

intent

文字入力の定義。
ここで定義した単語が話されると、dialogFlowのEventsが発火する。

Traninig pharases = インプットの文章を入力。
Response = レスポンス。
一般的なチャットボットなら、この二つだけで良い。

Entities

entiti= 権利、実在
言葉の呼び方を定義する。
「お腹空いた」という言葉は他にも色々な言い方があります。
「腹減った」とか「お腹ペコペコ」とか。
そういった色んな言い方をしても意味は「お腹すいた」だよっていうのを定義します。
様々な言い方を一つの言葉に集約させるんです。

Fulfilment

webhookを定義するところ
オンラインエディタで、firebase functionをいじれる。
npm モジュールが提供されていてローカルで開発も出来る。
ただ、web hookでは、postのbodyを編集することは出来なさそう?
結局、cloud functionなど、lassを使ってコードをデプロイしないと、複雑なものは作れないようだ。
以下のライブラリを使わないといけないらしい。
https://github.com/dialogflow/dialogflow-fulfillment-nodejs

また、webHookとは、会話の内容を全て、指定されたuriにpostする。
どの会話に、どの発話を返すかは、api側でif elseを返す必要がある。

inlineエディターでは、サードパーティ製のライブラリ(axiosなど)を使うことができない。
作成したapiのuriを、webhookの欄に記入する。

integrations

様々なサービスとインテグレーション出来る。
action on googleとか、slackとか電話とか。
個人的には、webが雰囲気を掴めておすすめ

Training

今までー会話した内容が表示される。

History

今まで会話した内容が表示される。

analytics

アナリティクス

Prebuild Agents

テンプレートが並ぶ。
ラインナップは悪い

結論

結局、clound functionを、firebaseにデプロイした。
インラインエディターは、使いずらい。
結局、clound function内で if elseを書き始めたので、
「codingなしにチャットボットを作る」のはやはり無理そう。
ただ簡単なチャットボットなら、コーディングゼロで作成出来るのは魅力。

値段

電話 100分 5ドル

結論

ある程度の規模まではコーディングなしに、チャットボットを作成出来るが、webhookとか使い始めるとコーディングが必要になる。
後、googleにしてはUIが悪くかなり使いにくいw

dialogFlow-fulfilmentの使い方(執筆途中)

yarn add dialogflow-fulfillment
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');

のように、普通のnodeで使えそう。

 参考一覧