Alexa Conversationsガイド付き開発エクスペリエンス



Alexa Conversationsガイド付き開発エクスペリエンス

開発者コンソールのガイド付きエクスペリエンスを使用して、Alexa Conversationsスキルを開発できます。この処理中に、ダイアログエディターでサンプルダイアログを提供し、ダイアログアクト、発話セット、オーディオ要素とビジュアル要素を含む応答を使用してサンプルダイアログにアノテーションを付けます。また、ダイアログ管理モデルでスキルコードをトリガーするための情報を収集できるように、APIを呼び出すタイミングと使用する引数も指定します。

Alexa Conversationsのコンポーネント

開発者コンソールを使用してAlexa Conversationsスキルを開発する場合、Alexa Conversationsにユーザーと対話する方法をトレーニングする以下のコンポーネントを作成します。

Alexa Conversationsの要素。
コンポーネント 説明

ダイアログ

ダイアログは、スキルとAlexaの間での会話のサンプルです。

ユーザーターンとAlexaターンをシンプルなテキストで記述し、ダイアログのどの部分がAlexaの応答、発話セット、API呼び出し、スロットタイプを表すかを示すアノテーションを付けます。ダイアログの作成とアノテーションはすべて開発者コンソールで行います。詳細については、Alexa Conversations用のダイアログの作成を参照してください。

発話セット

発話セットは、ユーザーが応答またはリクエストを話しかける方法のサンプルバリエーションです。

ピザの注文スキルでは、ユーザーが「どんなトッピングがありますか?」「何を追加できますか?」などと、注文できるトッピングを尋ねる場合があります。これらの行は、RequestToppingList発話セットのサンプル発話として使用できます。詳細については、Alexa Conversations用の発話セットの追加を参照してください。

API定義

API定義は、スキルが処理するリクエストと、リクエストに対応してスキルがAlexa Conversationsに返す応答を表します。

APIは、スキルコードが処理するリクエストごとに定義します。APIを定義するときには、APIとの間で受け渡しする引数を指定します。ユーザーがスキルと対話すると、Alexa Conversationsは現在のダイアログコンテキストに基づいて正しいAPIを予測します。詳細については、Alexa Conversations用のAPIの定義を参照してください。

応答

応答には、Alexaがユーザーに応答するために使用する音声要素と視覚要素が含まれます。

音声応答と視覚応答は、それぞれAlexa Presentation Language for AudioAlexa Presentation Language(APL)で指定します。必要に応じて引数を応答に渡すこともできます。詳細については、Alexa Conversations用のAlexaからの応答の定義を参照してください。

スロットタイプ

ユーザー発話、Alexa応答、APIの間でやり取りされるすべての変数には、スロットタイプが必要です。インテントベースの対話モデルと同様に、スロットタイプでは、Alexaがデータを認識して処理し、コンポーネント間で受け渡す方法を定義します。詳細については、Alexa Conversationsでのスロットタイプの使用を参照してください。

ダイアログ変数

ダイアログ変数はスロットタイプのインスタンスであり、ユーザーまたはAPIの応答によって提供され、ダイアログの状態、ビジネスロジック、応答のコンテンツとして使用されます。

ダイアログアクト

ダイアログアクトはダイアログ内の各対話の目的を示すタグで、会話の特定の時点で何が起こっているかを表します。ダイアログアクトでAlexa Conversations AIをトレーニングします。

ダイアログアクトの概要

Alexa Conversationsスキル開発の重要なタスクに、サンプル会話の各ターンをダイアログアクトでラベル付けするタスクがあります。ダイアログアクトは発話の目的を表します。ダイアログアクトの一覧については、Alexa Conversationsのダイアログアクトリファレンスを参照してください。次の例は、天気スキルのダイアログのターンに関連付けられたダイアログアクトを示しています。

ユーザー: 天気を教えて。 (ダイアログアクト: Invoke APIs
Alexa: どの都市ですか? (ダイアログアクト: Request Args
ユーザー: 神戸。 (ダイアログアクト: Inform Args
Alexa: 日付はいつですか? (ダイアログアクト: Request Args
ユーザー: 今日。 (ダイアログアクト: Inform Args
Alexa: 今日の神戸の天気ですね? (ダイアログアクト: Confirm API
ユーザー: はい。 (ダイアログアクト: Affirm
Alexa: 今日の神戸の気温は21度です。 (ダイアログアクト: API Success

Alexaが必要なすべての情報を入手できていない場合、ダイアログアクトがすぐには発生しない可能性があることに注意してください。たとえば、「ピザを注文したい」というユーザーのリクエストに関連付けられたダイアログアクトは、ピザを注文する(つまり、スキルコード内のピザを注文するAPIを呼び出す)ことです。しかし、Alexaには、APIがリクエストに応えるために必要な一部の情報(サイズやトッピングなど)が不足しています。そのため、Alexaは柔軟で自然な方法で必要な情報をユーザーに求めます。Alexaは、APIで必要な情報をユーザーが提供するまで質問を繰り返します。必要な情報がそろったときに初めて、Alexaはスキルコードを呼び出します。会話の残りの部分は、Alexa Conversations AIが制御します。

ダイアログ内でのダイアログアクトのフローは、特定のガイドラインに準拠している必要があります。サポートされているダイアログアクトのフローについては、Alexa Conversationsでのダイアログアクトの使用を参照してください。すべてのダイアログアクトの詳細については、Alexa Conversationsのダイアログアクトリファレンスを参照してください。