思ってることってこんなもんだよ
Google I/O 2018で発表されたDialogflow関連の新機能

Google I/O 2018が終わりました。いやー、非常に多くの新しいことが発表されましたね。多すぎて圧倒されていますが、 しっかりとキャッチアップしていかなければなりません。

Googleアシスタントアプリとして、特に会話型アプリを開発する際に、Dialogflowは非常に強力なツールとなります。特に、自然言語処理を Dialogflowに完全にお任せできることは、とても嬉しいことです。これにより、会話の中でユーザの意図をしっかりと判断することができる ようになります。

元々api.aiという名前だったツールがDialogflowという名前になり、そしてその機能群も進化を遂げています。今回のGoogle I/Oにおいても、 Dialogflowに関していくつかの新しいアナウンスがありました。ここでは、それらを簡単に紹介していきたいと思います。

ちなみに、元ネタは Kicking off I/O ‘18 with new & improved features です。

Add to Dialogflow ボタンで動くものを迅速に手に入れる

とにかく迅速に動くものを手に入れてから自分のやりたいことに向けて修正していく、という手順は、特に何もわからない最初としては非常に 有効です。Dialogflowのドキュメントページでは、迅速に動くものを手に入るために、 Add to Dialogflow ボタンが配置されました。

Samples - Dialogflow

History 機能にて会話の状況が分かりやすく把握可能

今までのHistory機能で表示される会話の履歴は、わかりやすいとは言えない感じでした。今回、History 機能が改修され、会話の状況が とても把握しやすく表示されるようになりました。

また、Dialogflowの右にあるテスト用のUIにて、”DIALOGNOSTIC INFO” ボタンを押すと、以下のようなポップアップが表示されます。そこでは、 Fulfillmentとのやり取りの内容も具体的に表示されるようになったので、デバッグしやすくなりました。

否定的な例を使ったトレーニングによるNLUの改善

これはちょっと難しいのですが、Fallback IntentのTraining Phraseにて「否定的な例」を登録することで、本来のユーザの意図をより 正確に把握できるようになりますよ、という改善となります。

代理店が航空券のみを販売する場合に、普通にインテントを作ってしまうと、”Buy air ticket to San Francisco” ではなく、 “Buy bus ticket to San Francisco” って問い合わせが来たら、本来はマッチして欲しくないわけです。これを避けるために、 Default Fallback IntentのTraining Phraseに “Buy bus ticket to San Francisco” を登録しておくことで、バスチケット の購入を問い合わせしてきても、弾くことができます。

Googleアシスタントのサーフェスや環境に対応

Googleアシスタントは、Smart Displayなど、今後より出力デバイスが多様化してきます。そこで、Dialogflowにおいても、リッチレスポンス への対応が進んでいきます。すでにTable cardについては対応が済んでいます。

Dialogflowの各種機能のBetaリリースの利用

Dialogflowでは、今後リリースされる各機能について、”Betaリリース” という提供方法をとっていくようです。そして、Agentごとに、 Betaリリースされた機能を先行して利用するかどうかを選択することができます。

Betaリリースされた機能を利用するためには、以下の条件を満たします。

  • V2 API を利用すること。
  • “Enable beta features and APIs” を有効にすること。

バージョン管理

遂に待望のバージョン管理ができるようになりました。これは、現状ではBetaリリースという形で提供されています。Draftという下書き状態の 環境が最初からあって、それに対してDevelopmentやPublishedなど、独自の環境を自分で追加していきます。そして、ある時点での内容に バージョン名称をつけて、特定の環境にPublishする、という手順のようです。

画面を見る限り、環境ごとにFulfillmentのWebhook Endpoint URLを変えることができそうです。

詳しくは、ここ を参照ください。これで大幅に開発しやすくなりそうですね!

まとめ

Dialogflowについても、大きな進化がいくつかあったことがわかります。個々の詳細については、追って解説していきたいと思っています。