文法スロットタイプ - Amazon Lex

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

文法スロットタイプ

文法スロットタイプを使用すると、SRGS仕様に従って独自の文法を XML 形式で作成して、会話の情報を収集できます。Amazon Lex V2 は、文法で指定されたルールに一致する発話を認識します。文法ファイル内のECMAScriptタグを使用してセマンティック解釈ルールを指定することもできます。Amazon Lex は、一致が発生すると、タグに設定されたプロパティを解決済みの値として返します。

文法スロットタイプは、英語 (オーストラリア)、英語 (英国)、および英語 (米国) のロケールでのみ作成できます。

文法スロットタイプには 2 つの部分があります。1 つ目は、SRGS仕様形式を使用して記述された文法自体です。文法はユーザーからの発話を解釈します。発話が文法に受け入れられた場合は一致し、そうでない場合は拒否されます。発話が一致すると、スクリプトに渡されます (ある場合)。

2 つ目は文法スロットタイプの一部であり、 で記述ECMAScriptされたオプションのスクリプトで、入力をスロットタイプによって返される解決された値に変換します。たとえば、スクリプトを使用して音声番号を数字に変換できます。ECMAScript ステートメントは <tag> 要素に囲まれています。

次の例は、Amazon Lex V2 で受け入れられた有効な文法を示すSRGS仕様に従ったXML形式です。カード番号を受け付ける文法スロットタイプを定義し、カード番号が通常アカウント用かプレミアムアカウント用かを判断します。許容される構文の詳細については、「文法の定義」 および「文字起こし形式」 トピックを参照してください。

<grammar version="1.0" xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-US" tag-format="semantics/1.0" root="card_number"> <rule id="card_number" scope="public"> <item repeat="0-1"> card number </item> <item> seven <tag>out.value = "7";</tag> </item> <item> <one-of> <item> two four one <tag> out.value = out.value + "241"; out.card_type = "premium"; </tag> </item> <item> zero zero one <tag> out.value = out.value + "001"; out.card_type = "regular";</tag> </item> </one-of> </item> </rule> </grammar>

上記の文法では、7241 と 7001 の 2 種類のカード番号しか使用できません。どちらの場合も、オプションで「カード番号」のプレフィックスを付けることができます。また、セマンティック解釈に使用できるECMAScriptタグも含まれています。セマンティックな解釈では、「カード番号 7 2 4 1」という発話は次のオブジェクトを返します。

{ "value": "7241", "card_type": "premium" }

このオブジェクトは、、RecognizeTextRecognizeUtteranceおよび StartConversationオペレーションによって返されるresolvedValuesオブジェクトで、JSONシリアル化された文字列として返されます。

文法スロットタイプの追加

文法スロットタイプを追加するには
  1. スロットタイプXMLの定義を S3 バケットにアップロードします。バケット名、ファイルへのパスを書き留めておきます。

    注記

    ファイルの最大サイズは 100 KB です。

  2. にサインイン AWS Management Console し、 で Amazon Lex コンソールを開きますhttps://console.aws.amazon.com/lex/

  3. 左側のメニューから [ボット] を選択し、文法スロットタイプを追加するボットを選択します。

  4. [言語を表示] を選択し、文法スロットタイプを追加する言語を選択します。

  5. [スロットタイプを表示] を選択します。

  6. [スロットタイプを追加] を選択し、スロットタイプに名前を付けて、[追加] を選択します。

  7. インテントに名前を付けて、[追加] を選択します。

  8. 定義ファイルが含まれている S3 バケットを選択し、ファイルへのパスを入力します。Save slot type を選択します。