LoginSignup
1
5

More than 5 years have passed since last update.

api.aiのAgentの概要

Posted at

Agents

  • Agentは自然言語理解のモジュール
  • 自分のアプリケーションや製品、サービスに組み込むことができる
  • 自然言語によるユーザのリクエストをアクショナブルなデータに変換できる
  • アクショナブルなデータへの変換はAgentの中に用意されたIntentに合致させることによって実行される
  • InetntはAgentの中に存在するユーザリクエストを処理するための事前に定義されたコンポーネントかもしくは開発者が定義したコンポーネントである
  • ContextやIntentのプロパティ、webhookを通したfulfillment等を利用することによって、Agentは会話の流れを管理するためにデザインすることが可能

スクリーンショット 2017-08-07 17.17.59.png

Agentの作成

コンソール画面でCreate AgentをクリックするとAgent作成のメニューが開く
スクリーンショット 2017-08-07 17.19.25.png
- Description - Agentの説明
- Add Sample Data - Agentにセットする事前に定義された知識を選ぶ。prebuilt agentと似ているが、Intent内のレスポンスをインクルードする点で異なる(prebuilt agentにはレスポンスは含まれない)。
- Language - Agentで扱う言語を選択する
- Default Time Zone - Agentのデフォルトタイムゾーンを選択する
- Google Project - 既に存在するGoogle Cloud Projectを選ぶか、新しく作るかを選択する。(※Google Cloud Platformのプロジェクト)

Agentの設定

コンソールで歯車アイコンをクリックするとAgentの設定画面が表示される。
- Update Avatar - Agentを表すアバターの設定
- Description - Agentの説明
- Language - Agentが取り扱う言語
- Default Time Zone - Agentのデフォルトタイムゾーン
- Google Project - AgentとリンクするGoogle Cloudプロジェクト
- Client Access Token - クライアントからアクセスする際のAPIキー
- Developer Access Token - EntityやIntentを管理するためのAPIキー
- Delete Agent - Agentの削除

Agentの事前ビルド

Prebuilt AgentsはAPI.AIのチームによって開発されたAgentのコレクションで、ユースケースに合わせてダウンロードし、自分のアプリの会話インターフェースを構築するベースとして使うことができる。

Prebuilt Agentのインポート方法

コンソールの左メニューで「Prebuilt Agents」をクリックしすると、キーワードに関係するユースケースのAgentを探せる画面に移る。特定のAgentをクリックするとImportボタンが出てくるので、クリックする。

Prebuilt Agentの構造

Prebuilt Agentはユーザの入力を分類する準備ができたもので、ユーザの自然言語による入力をアクショナブルなデータに変換する。
webhook経由で取得する外部ソースや特定のユースケースに依存するため、レスポンスは提供されない。例えば、天気予報ではサードパーティの天気APIからレスポンスを取得する必要がある。

Prebuilt Agentのカスタマイズ方法

Prebuilt Agentは十分にカスタマイズすることができる。

Topics CoveragetとClassification Modelのカスタマイズ

Prebuilt Agentは最も一般的なユーザの入力をカバーしている。同じ領域や反対の領域に関係する追加のトピックや、一部のユーザしか使わないような質問をカバーしたい場合は、IntentやEntityを削除・追加することで対応できる。

Agent間でIntentやEntityをコピーしたり移動したり、一度にIntentやEntitiyを削除することができる。

Agentのレスポンスのカスタマイズ

Intent内でのレスポンスの定義

シンプルなユースケースにおいては、Intent内で直接レスポンスを定義することができる。他のメッセージングプラットフォームを使う場合はテキストだけでなくリッチメッセージも定義することができる。

Fulfillment Service内でのレスポンスの定義

webhook経由で自身で作成したWebサービスと接続することができる。自身のWebサービス内で、Agentから受け取った悪所なブルなデータに基づいたレスポンスを定義したり、オペレーションを定義したりDBやサードパーティAPI等の外部ソースからデータを取得したりできる。

自前のバックエンドサービスを持っている場合、Agentに対するクエリリクエスト(ユーザが入力した自然言語?)を送って、独自のビジネスロジックでレスポンスを定義したいと考えるだろう。異なるプラットフォームや言語でクエリリクエストを送ってレスポンスを取得するために、SDKを使うことができる。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5