型を使用すると、アシスタントの NLU(自然言語理解)を構成できます。 を使用して、ユーザー入力から構造化データを抽出します。マイページ は、次のような状況で型を使用できます。

  • インテントでは、トレーニング フレーズに次の型のアノテーションを付けることができます。 作成します。ユーザーがスロットに一致する発言をすると、NLU エンジンが 型指定パラメータとして抽出するので、シーンで処理できます。

  • シーンのスロット充填ステージでは、 ユーザーに提示する複数のスロットを 画面から移動します

  • シーンの条件ステージでは、 型で定義された特定の値がパラメータにあるかどうかを示すロジック。

カスタム型

カスタムタイプを使用すると、独自のタイプ仕様を作成して NLU に通知できます。 一連の値を 1 つのキーに割り当てますさまざまな形式で型を指定できます。 方法:

  • 単語と類義語では、複数の値を 1 つのキーにマッピングできます。 これをエントリと呼びますタイプには、1 つまたは複数のエントリを含めることができます。もし 次の NLU 設定を有効にすることもできます。 <ph type="x-smartling-placeholder">
      </ph>
    • ファジー一致を有効にする - この機能では、複数の 単語の語順が異なる場合でも、一致する単語を検索します。
    • 不明な値を受け入れる - 指定可能な値をすべて指定できない場合は、 言語プロセッサは、周囲の環境に基づいて、未知の単語やフレーズを 食料品店に追加される可能性のあるアイテムなど、入力およびインテント トレーニング データ 選択します。
  • 正規表現では、正規表現を使用して値を照合できます。 基づいて表現パターンを Google の RE2 規格
  • 自由形式のテキスト: 一致するタイプ アラートが生成されます。アノテーション付け中 このタイプのインテントでは、すべての入力をパラメータとして使用して、 独自の NLU に連結できます

システムの種類

システムタイプを使用すると、ユーザー入力からよく知られたデータにアノテーションを付けて抽出できます。 システムが提供するトレーニング データと値を使用します。次のシステムタイプは、 supported:

タイプ 説明
actions.type.DateTime ユーザーのデバイスの設定に基づく日付、時刻、タイムゾーンが含まれます。 スロット充填とトレーニング フレーズのアノテーションで使用できます。
actions.type.Date 日付のみが含まれます。スロット充填でのみ使用できます。
actions.type.Time 時間のみが含まれます。スロット充填でのみ使用できます。
actions.type.Number Number 型は序数と基数と一致します。 あります。

DateTimeDateTime の使用状況

これらの型の動作は、型と ユーザー入力を返します。

インテントで使用する

インテントでトレーニング フレーズにアノテーションを付けることができるのは、DateTime タイプのみです。ユーザー 入力は DateTime 値全体と一致する必要はありません。たとえば、ユーザーが 年のみを指定している場合、session パラメータは次のようになります。

"date_time": {
  "year": 2019
}

スロット充填で使用する

スロット充填は、DateTimeDateTime をサポートします。

  • スロットタイプが DateTime の場合、アシスタントはフル充電されるまでユーザーにメッセージを表示します。 値が提供されます。
  • スロットタイプが Date の場合、アシスタントはその日付までユーザーにメッセージを表示します。 値が提供されます。収集されると、受信するパラメータは完全な 時刻を 00:00 に設定した DateTime
  • スロットタイプが Time の場合、アシスタントはその時間になるまでユーザーにメッセージを表示します。 値が提供されます。収集されると、受信するパラメータは完全な 日付が現在の日付に設定された DateTime オブジェクト。

たとえば、ロサンゼルスのユーザーが「OK Google, リマインダーを作成して」と言ったとします。 にアクセスしていただけますでしょうか。」DateTime がスロットの一部として抽出される場合 完全なパラメータは次のようになります。

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

条件での使用

条件では数値と文字列しか使用できないため、トップレベル DateTime パラメータを使用すると、条件に対して False 結果が得られます。次に例を示します。

  • $session.params.my_dateTime.day > 5 は有効な条件です。これは、 day の値は数値で、サポートされています。
  • 次の理由により、$session.params.my_dateTime > "01-01-2010" は無効な条件です。 最上位レベルの 'DateTime'オブジェクトは数値または文字列ではありません。

ランタイム タイプのオーバーライド

ランタイム タイプのオーバーライドを使用すると、ランタイム タイプの動的な作成や変更が 受け取りますこの機能を使用すると、 ランタイム。たとえば、バックエンド データソースを確認して、日替わりメニューを読み込むことができます フルフィルメントのタイプに 変換します

詳しくは、Webhook ガイドをご覧ください。 ビルドタイプのオーバーライドの方法について見てみましょう。