組込みエンティティ

時間、日付、住所などの客観的情報をユーザー入力から識別するエンティティが用意されています。


system_entities_01.epsの説明が続きます

これらの組込みエンティティは、文字列や整数などのプリミティブ値を抽出しますが、プロパティのグループを使用してユーザー入力からより複雑な値を抽出することもできます。

ノート

YAMLベースのダイアログ・フローで変数をエンティティとして定義する場合は常に、エンティティ名と大/小文字を必ず正確に一致させてください。たとえば、confirm: “YES_NO”のかわりにconfirm: "YESNO"と入力すると、検証エラーが発生します。

組込みエンティティとそのプロパティ

エンティティは、それぞれが特定の値を認識するプロパティを使用してコンテンツを抽出します。これらのプロパティは、NLUエンジンによって返されるJSON出力で確認できます。この出力では、一致したエンティティが、ユーザー入力から識別された値とともに表示されます。ダイアログ・フロー定義内で、これらのプロパティを使用して、エンティティ値の特定のファセットを分離できます。各エンティティには固有のプロパティがありますが、すべてのエンティティには次のプロパティがあります。
プロパティ 説明
beginOffset 0から始まるこのスロット付きエンティティ値の開始オフセット。
endOffset 0から始まる、このスロット付きエンティティ値の終了オフセット。
originalString このエンティティ・スロットの問合せまたはプロンプトへのレスポンスから抽出された元の文字列。
ノート

DATE、TIMEおよびDURATIONエンティティは、リリース22.08で非推奨になりました。これらのエンティティは、このバージョンのプラットフォームで作成されたスキルには使用できません。かわりに、DATE_TIMEエンティティを使用します。22.08にアップグレードされた既存のスキルは、これらのレガシー・システム・エンティティを引き続きサポートしますが、動作が変更される場合があります。
エンティティ名 抽出される内容 サンプル プロパティ(値式で参照される) NLUエンジンのレスポンスの例
住所 市区町村、番地および通り

このエンティティは英語のみです。

500 Smith Road, Smithville
  • city

  • houseNumber

  • road

{
"road": "smith road",
"city": "smithville",
"entityName": "ADDRESS",
"houseNumber": "500",
"originalString": "500 Smith Road, Smithville"
}
CURRENCY 金額の表現検出されたロケールによって、$通貨と¥通貨のあいまいさを解消できます。
  • $67

  • 75ドル

  • amount

  • currency

  • totalCurrency

"CURRENCY": [ { "amount": 550, "currency": "usd", "totalCurrency": "550.0 usd", "entityName": "CURRENCY" } ]
DATE 絶対的または相対的な日付。

このエンティティはバージョン22.08で非推奨であり、このバージョンのプラットフォームで作成されたスキルには使用できません。以前のバージョンを使用して作成されたスキルの場合は、かわりにDATE_TIMEエンティティを使用することを検討してください。

ノート: ユーザー入力で曜日が指定されたが、時間に関するコンテキストがそれ以外に提供されなかった場合、システムはこれを将来の日付とみなします。たとえば、次に示す入力の中の水曜日は、現在の水曜日や前の水曜日ではなく、次の水曜日とみなされます。
  • 水曜日のチケットを予約してください。

  • 水曜日の経費レポートを提出したい。

この動作をオーバーライドするには、あいまい性解決ルールを適用します。DATEエンティティは、サポートされている複数のロケールの形式に解決されますが、検出されたロケールの形式を無視し、あいまいな解決ルールを適用することで、デフォルトの形式と時制(将来、過去、最寄りなど)を課すことを選択できます。
  • 2016年11月9日

  • 今日

date
  {
          "entityName": "Meeting",
          "DATE_TIME": [
            {
              "originalString": "Monday, October 16th",
              "bagItem": "Meeting:DateTime",
              "subType": "DATE",
              "timeZone": "UTC",
              "movableDateValue": "--10-16",
              "relativeRepresentation": "--10-16",
              "entityName": "DATE_TIME",
              "value": "2022-10-16"
            }
          ]
        }
      ]
DATE_TIME datetimedate and timerecurringイベント、intervalまたはdurationのサブタイプを使用して、様々な時間関連情報を抽出します。
  • 日付: 2023年1月1日
  • 時間: 10am
  • 日時: 2023年1月1日午前10時
  • 間隔: 2023年1月1日午前10時から2時間
  • 期間: 2時間
  「2022年1月23日から2月23日まで、毎週火曜日の午前10:00から午後1時にミーティングをスケジュールします」の場合:
   "entityMatches": {
      "Meeting": [
        {
          "entityName": "Meeting",
          "DATE_TIME": [
            {
              "originalString": "February 23",
              "bagItem": "Meeting:DateTime",
              "subType": "DATE",
              "timeZone": "UTC",
              "role": "end",
              "movableDateValue": "--02-23",
              "relativeRepresentation": "--02-23",
              "entityName": "DATE_TIME",
              "value": "2023-02-23"
            },
            {
              "originalString": "January 23, 2022",
              "bagItem": "Meeting:DateTime",
              "subType": "INTERVAL",
              "startDate": {
                "originalString": "January 23, 2022",
                "subType": "DATE",
                "timeZone": "UTC",
                "entityName": "DATE_TIME",
                "value": "2022-01-23"
              },
              "entityName": "DATE_TIME"
            },
            {
              "originalString": "every Tuesday from 10:00 am to 1 pm",
              "bagItem": "Meeting:DateTime",
              "subType": "RECURRING",
              "timeZone": "UTC",
              "recurrenceFrequency": {
                "originalString": "every Tuesday from 10:00 am to 1 pm",
                "subType": "DURATION",
                "timeZone": "UTC",
                "entityName": "DATE_TIME",
                "value": "P1W"
              },
              "startInterval": {
                "originalString": "Tuesday from 10:00 am to 1 pm",
                "subType": "INTERVAL",
                "timeZone": "UTC",
                "startDate": {
                  "originalString": "Tuesday",
                  "subType": "DATE",
                  "timeZone": "UTC",
                  "weekday": "TU",
                  "relativeReference": "weekday",
                  "entityName": "DATE_TIME",
                  "value": "2022-10-18"
                },
                "startTime": {
                  "originalString": "10:00 am",
                  "subType": "TIME",
                  "timeZone": "UTC",
                  "entityName": "DATE_TIME",
                  "value": "10:00:00"
                },
                "endTime": {
                  "originalString": "1 pm",
                  "subType": "TIME",
                  "timeZone": "UTC",
                  "entityName": "DATE_TIME",
                  "value": "13:00:00"
                },
                "entityName": "DATE_TIME"
              },
              "entityName": "DATE_TIME"
            }
          ]
        }
      ]
    }
  • 時間解決ルールに従って2月23日の解釈。ユース・ケースは会議のスケジュール用であるため、日付は常に将来を見据えたものとして解釈されます。
    "movableDateValue": "--02-23",
                  "relativeRepresentation": "--02-23"
  • "value": "P1W": 週単位/週単位のISO 8601交換標準表現。Pは期間指定子、Wは週指定子です。
 
DURATION 時間間隔の2つのエンドポイント間の時間

このエンティティはバージョン22.08で非推奨であり、このバージョンのプラットフォームで作成されたスキルには使用できません。以前のバージョンを使用して作成されたスキルの場合は、かわりにDATE_TIMEエンティティを使用することを検討してください。

  • 4年

  • 2週間

  • startDate

  • endDate

[ { "originalString": "2 hours", "bagItem": "Meeting:DateTime", "subType": "DURATION", "timeZone": "UTC", "entityName": "DATE_TIME", "value": "PT2H" } ] } ]
電子メール 電子メール・アドレス。NLUシステムは、次のものの組合せを含む電子メール・アドレスを認識できます:
  • アットマーク(@)より前の部分:
    • ラテン・アルファベットの大文字と小文字(A-Zおよびa-z)
    • 数字(0-9)
    • 次の印刷可能文字: !#$%&'*+-/=?^_`{}~
    • ドット(.)
  • アットマーク(@)より後ろの部分:
    • ラテン・アルファベットの大文字と小文字(A-Zおよびa-z)
    • 数字(0-9)
    • ハイフン(-)
ragnar.smith@example.com    
場所 ユーザーの入力から市区町村、都道府県および国を抽出します。
  • Redwood City
  • CA
  • USA
  • city
  • state
  • country
"LOCATION": [ { "originalString": "Redwood City, CA, USA", "name": "redwood city, ca, usa", "country": "usa", "state": "ca", "city": "redwood city", "entityName": "LOCATION" } ]
NUMBER 序数および基数と一致しますエンティティは、ロケール固有の形式として解決できます(1000を完全なストップ、カンマ、スペースなどでグループ化)。
  • 1st

  • 最初

  • 1

  • one

   
PERSON 文字列を個人の名前として認識します。

PERSONエンティティは、ロケーションでもある名前と一致させることはできません(たとえば、Virginia North)。

PERSONエンティティを展開して組織内の個人と常に一致させるには、それを値リスト・エンティティに関連付けることができます。
  • John J。Jones
  • Ashok Kumar
  • ガブリエル・デ・アンツィオ
  • Jones, David
  • Cantiflas
  • Zhang San
  • Virginia Jones
name "PERSON": [ { "originalString": "John J. Johnson", "name": "john j. johnson", "entityName": "PERSON" } ]
電話番号 電話番号—NLUエンジンは、7桁以上の電話番号を認識します(それよりも桁数が少ない電話番号は認識できません)。すべての国番号の前にプラス記号(+)を付ける必要があります(米国は例外で、プラス記号はオプションです)。電話番号の各部分(市外局番、局番および回線番号)をドット(.)、ダッシュ(-)またはスペースで区切ることができます。ユーザー入力で複数の電話番号が入力された場合、それらがカンマで区切られていれば、NLUエンジンは認識できます。ドット、ダッシュまたはスペースで区切られている場合は、個々の電話番号を認識できません。
  • (650)-555–5555

  • 16505555555

  • +61.3.5555.5555

  • phoneNumber

  • completeNumber

{ "phone_number":"(650)-555-5555", "complete_number":"(650)-555-5555", "entityName":"PHONE_NUMBER" }
TIME 特定の時刻

このエンティティはバージョン22.08で非推奨であり、このバージョンのプラットフォームで作成されたスキルには使用できません。以前のバージョンを使用して作成されたスキルの場合は、かわりにDATE_TIMEエンティティを使用することを検討してください。

たとえば、入力があいまいな場合、TIMEエンティティが入力を過去または将来の時間として一貫して解決したり、最も近い時間に近似したりする必要がある場合があります。これを行うには、あいまい性解決ルールを適用します。

2:30 pm
  • hrs

  • mins

  • secs

  • "hourFormat":"PM"

"startTime": { "date": 1613653200000, "zoneOffset": "0", "endOffset": 4, "mins": 0, "zone": "UTC", "entityName": "TIME", "secs": 0, "hrs": 1, "originalString": "1 pm", "type": "TIME", "hourFormat": "PM", "beginOffset": 0 }
URL URL—このエンティティは、IPv4アドレス、Web URL、ディープ・リンク(http://example.com/path/page)、ファイル・パスおよびmailto URIを抽出できます。ユーザー入力でログイン資格証明を指定する場合は、プロトコルも含める必要があります。そうでない場合、プロトコルは必要ありません。 http://example.com
  • protocol

  • domain

  • fullPath

{"protocol":"http","domain":"example.com",}
YES_NO yesまたはnoを検出します。     "YES_NO": [ { "beginOffset": 0, "endOffset": 4, "originalString": "Yeah", "yesno": "YES", "entityName": "YES_NO", "type": "YES_NO" } ]

DATE_TIMEエンティティ

スキルで日時入力を取得する方法は多数あります。たとえば、単純な日付または時間、日付と時間、1回かぎりの期間または繰返し期間が必要な場合があります。DATE_TIMEエンティティを使用して、これらのすべてのシナリオの情報を収集できます。

DATE_TIMEエンティティでは、収集する情報を定義する特定のサブタイプを選択します。次の表に、各シナリオで使用するサブタイプと、各サブタイプの属性に関する情報へのリンクを示します。

シナリオ DATE_TIMEサブタイプ リファレンス
日付 日付 DATEサブタイプ属性
時間。 時間 TIMEサブタイプ属性
日付と時間。 日時 DATETIMEサブタイプ属性
時間の範囲。たとえば、1時間または4日です。 期間 DURATIONサブタイプ属性
開始日時と終了日時、または開始日時と終了日時によって定義された期間の単一オカレンス。 間隔 INTERVALサブタイプ属性
第1期間の開始と終了、繰返し期間の間隔、期間が繰返しを停止するタイミングなどによって定義された定期的な繰返し期間。 定期 RECURINGサブタイプ属性
ノート

DATE_TIMEエンティティは、DATE、TIME、DURATIONおよびSETシステム・エンティティよりも優先されます。これらは非推奨であり、リリース22.08以降で作成されたスキルでは使用できません。22.08にアップグレードされた既存のスキルでは、これらの非推奨のシステム・エンティティがサポートされますが、動作が変更される場合があります。
「日付」、「時間」および「期間」サブタイプは、ダイアログ・フローでスタンドアロン・エンティティとして使用できますが(ここでは、それぞれに個別の変数を宣言します)、コンポジット・バッグ・エンティティに組み込むことによってのみ、「間隔」および「繰返し」サブタイプを使用できます。
ノート

すべてのDATE_TIMEサブタイプは、コンポジット・バッグ・エンティティ内で管理することをお薦めします。

ビジュアル・ダイアログ・モードでは、「エンティティの解決」および「宣言エンティティの解決」の状態を使用してDATE_TIMEサブタイプを参照します。

ノート

日付、時間および期間のサブタイプをYAMLベースのダイアログ・フローのスタンドアロン・エンティティとして使用する場合は、ドット表記法(DATE_TIME.DATEDATE_TIME.TIMEDATE_TIME.DURATIONおよびSET、DATE_TIME.RECURRING)を使用してサブタイプを指定します。例:
context:
  variables:
    iResult: "nlpresult"
    Startdate: "DATE_TIME.DATE"
    duration: "DATE_TIME.DURATION" 
statesノードでは、System.ResolveEntitiesコンポーネントを使用してこれらの変数を参照します。
DATE_TIME値は、ISO 8601として表されます。わかりやすい出力には、Apache FreeMarker .xs built-inを使用します。たとえば、Timeサブタイプは、次のリソース・バンドル参照で.value.value?time.xs?string['hh:mm a']を使用して抽出されます。
${rb('pizzaDeliveryMessage','time',deliveryTime.value.value?time.xs?string['hh:mm a'])}
最初のvalueは、変数のコンテンツをオブジェクトとして取得します。2番目のvalueは、時間値を保持するDATE_TIMEオブジェクトの属性です。

各DATE_TIMEサブタイプの属性

各DATE_TIMEサブタイプの属性を次に示します。

他のすべてのシステム・エンティティと同様に、サブタイプにはbeginOffsetendOffsetおよびoriginalStringプロパティも含まれます。

DATEサブタイプ属性

DATEサブタイプには、特定の日付に関する次の属性が含まれます。

属性 タイプ 説明
entityName 文字列 DATE_TIME
month Integer

DATEがRECURRINGサブタイプの属性で、元の文字列に月の名前(たとえば、7月の毎月月曜日)が含まれる場合、これは明示的に指定された月の値の数値表現(この例では7)を表します。

movableDateValue 文字列

DATEがRECURRINGの属性で、スロット日付が特定の日付(つまり、7月4日などの移動可能な日付)を表していない場合、これは、解決済移動可能日と解決済移動不可日を区別するためにRECURRINGサブタイプのDATE属性によって使用される、明示的に指定された移動可能日付の値を表します。たとえば、スロット日付が7月4日の場合、この値は--07-04です。

ordinal Integer

DATEがRECURRINGサブタイプの属性で、元の文字列が序数値(最初の月曜日の1日ごとなど)を指定する場合、これは序数(この例では1)の数値を表します。

ordinalReference 列挙型

DATEがRECURRINGサブタイプの属性で、元の文字列に月の名前で修飾された序数が含まれている場合(7月の最初の月曜日は7月ごとなど)、これは明示的に指定された修飾子(月の場合はM)を表します。

subType 文字列 DATE
timezone 文字列 タイム・ゾーン・オフセット。例: +07:00
type 文字列 DATE_TIME
value 文字列 解決された値(ISO 8601形式)。たとえば、2022-08-05です。
weekday 列挙型

DATEがRECURRINGサブタイプの属性で、元の文字列に"every Monday"などの曜日の名前が含まれている場合、これはMO、TU、WEなどのiCalendar形式を使用して明示的に指定された曜日の値を表します。

year Integer

DATEがRECURRINGサブタイプの属性で、元の文字列に"every Monday of 2023"などの年が含まれる場合、これは明示的に指定された年の値を表します。

DATEサブタイプのNLUレスポンスの例を次に示します:

          "aDate": {
            "endOffset": 8,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "tomorrow",
            "subType": "DATE",
            "type": "DATE_TIME",
            "value": "2022-09-07",
            "beginOffset": 0
          }

TIMEサブタイプ属性

TIMEサブタイプには、特定の時間に関する次の属性が含まれます。

属性 タイプ 説明
entityName 文字列 DATE_TIME
subType 文字列 TIME
timezone 文字列 タイム・ゾーン・オフセット。例: +07:00
type 文字列 DATE_TIME
value 文字列 解決された値(ISO 8601形式)。例12:00:00

TIMEエンティティに対するNLUレスポンスの例を次に示します:

          "aTime": {
            "endOffset": 4,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "2 pm",
            "subType": "TIME",
            "type": "DATE_TIME",
            "value": "14:00:00",
            "beginOffset": 0
          }

DATETIMEサブタイプ属性

DATETIMEサブタイプには、特定の日時に関する次の属性が含まれます。

属性 タイプ 説明
date DATE このオブジェクトには、DATEサブタイプ属性で説明されている属性が含まれます。
entityName 文字列 DATE_TIME
subType 文字列 DATETIME
time TIME このオブジェクトには、「TIMEサブタイプ属性」で説明されている属性が含まれます。

DATETIMEサブタイプに対するNLUレスポンスの例を次に示します:


          "aDateAndTime": {
            "date": {
              "endOffset": 5,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "today",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-06",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "DATETIME",
            "time": {
              "endOffset": 13,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 9
            }
          }

DURATIONサブタイプ属性

DURATIONサブタイプには、1週間など、1日または期間に関する次の属性が含まれます。

属性 タイプ 説明
entityName 文字列 DATE_TIME
subType 文字列 DURATION
timezone 文字列 タイム・ゾーン・オフセット。例: +07:00
type 文字列 DATE_TIME
value 文字列 ISO 8601形式の期間。例: PT1H (1時間)、P4D (4日)、P1W (1週間)、P2M (2か月)

DURATIONサブタイプに対するNLUレスポンスの例を次に示します。

          "aDuration": {
            "endOffset": 7,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "3 hours",
            "subType": "DURATION",
            "type": "DATE_TIME",
            "value": "PT3H",
            "beginOffset": 0
          }

INTERVALサブタイプ属性

INTERVALサブタイプには、開始日時と終了日時によって定義される期間、または日付、開始時間および長さ(2時間など)によって定義される期間に関するこれらの属性が含まれます。

属性 タイプ 説明
duration エンティティ このオブジェクトには、「DURATIONサブタイプ属性」で説明されている属性が含まれます。
endDate DATE このオブジェクトには、DATEサブタイプ属性で説明されている属性が含まれます。

「Date and Time」および「Date Only」プロンプト・タイプに含まれています。

endTime TIME このオブジェクトには、「TIMEサブタイプ属性」で説明されている属性が含まれます。

「Date and Time」および「Time Only」プロンプト・タイプに含まれています。

entityName 文字列 DATE_TIME
startDate DATE このオブジェクトには、DATEサブタイプ属性で説明されている属性が含まれます。

「Date and Time」および「Date Only」プロンプト・タイプに含まれています。

startTime TIME このオブジェクトには、「TIMEサブタイプ属性」で説明されている属性が含まれます。

「Date and Time」および「Time Only」プロンプト・タイプに含まれています。

subType 文字列 INTERVAL

「日付と時間」プロンプト・タイプを持つINTERVALエンティティのNLUレスポンスの例を次に示します:

          "anInterval": {
            "duration": {
              "entityName": "DATE_TIME",
              "subType": "DURATION",
              "value": "P1D"
            },
            "endDate": {
              "endOffset": 8,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "tomorrow",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-07",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "INTERVAL",
            "startTime": {
              "endOffset": 4,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 0
            },
            "endTime": {
              "endOffset": 4,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 0
            },
            "startDate": {
              "endOffset": 5,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "today",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-06",
              "beginOffset": 0
            }
          }

RECURINGサブタイプ属性

RECURRINGサブタイプには、定期的に繰り返される期間に関する次の属性が含まれます。

属性 タイプ 説明
entityName 文字列 DATE_TIME
recurrenceDates DATEの配列 複数の繰返し日が指定されている場合に含まれます。このオブジェクトには、DATEサブタイプ属性で説明されている属性を持つDATEオブジェクトの配列が含まれます。
recurrenceFrequency DURATION このオブジェクトには、「DURATIONサブタイプ属性」で説明されている属性が含まれます。
recurrenceTimes TIMEの配列 複数の繰返し回数が指定された場合に含まれます。このオブジェクトには、「TIMEサブタイプ属性」で説明されている属性を持つTIMEオブジェクトの配列が含まれます。
recurrenceUntil 間隔 繰り返しの境界を指定します。通常、終了日のみが指定されます。このオブジェクトには、INTERVALサブタイプ属性で説明されている属性が含まれます。
startDate DATE このオブジェクトには、DATEサブタイプ属性で説明されている属性が含まれます。

RECURRINGエンティティの場合、DATEオブジェクトにはmonthmovevableDateValueordinalordinalReferenceweekdayおよびyear属性を含めることができます。

「日付のみ」プロンプト・タイプに含まれます。

startDateTime 日時 このオブジェクトには、DATETIMEサブタイプ属性で説明されている属性が含まれます。

RECURRINGエンティティの場合、DATETIMEのDATEサブオブジェクトにはmonthが含まれる場合があります。movevableDateValueordinalordinalReferenceweekdayおよびyear属性。

日時プロンプト・タイプに含まれます。

startInterval 間隔 このオブジェクトには、INTERVALサブタイプ属性で説明されている属性が含まれます。
startTime TIME このオブジェクトには、「TIMEサブタイプ属性」で説明されている属性が含まれます。

「時間のみ」プロンプト・タイプに含まれます。

subType 文字列 RECURRING

日時プロンプト・タイプのRECURRINGサブタイプに対するNLUレスポンスの例を次に示します:

          "aRecurringPeriod": {
            "startInterval": {
              "duration": {
                "entityName": "DATE_TIME",
                "subType": "DURATION",
                "value": "PT1H"
              },
              "endDate": {
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "subType": "DATE",
                "value": "2022-07-28"
              },
              "entityName": "DATE_TIME",
              "subType": "INTERVAL",
              "startTime": {
                "endOffset": 7,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "12 noon",
                "subType": "TIME",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "12:00:00",
                "beginOffset": 0
              },
              "endTime": {
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "subType": "TIME",
                "value": "13:00:00"
              },
              "startDate": {
                "endOffset": 8,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "tomorrow",
                "subType": "DATE",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "2022-07-28",
                "beginOffset": 0
              }
            },
            "recurrenceFrequency": {
              "endOffset": 10,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "every week",
              "subType": "DURATION",
              "type": "DATE_TIME",
              "bagItem": "Meeting:DateTime",
              "value": "P1W",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "RECURRING",
            "recurrenceUntil": {
              "endDate": {
                "endOffset": 6,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "Sept 1",
                "subType": "DATE",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "2022-09-01",
                "beginOffset": 0
              },
              "entityName": "DATE_TIME",
              "subType": "INTERVAL"
            }
          }

時間と日付の一致に関するあいまいさ解決ルール

ユーザーは、時間を示す部分的な日付を入力できます。例:
  • "月曜日の会議のスケジュール"
  • "7/11の経費精算書の作成"
  • "11日の経費精算書の作成"
会議のスケジュールなど、将来の時間を示す状況もあります。経費精算書の作成など、過去のある時点を参照する人もいます。DATE_TIMEエンティティのTimeおよびDateサブタイプが、あいまいな入力を過去、現在または最も近い近似として解決できるように、あいまいな解決ルールを適用できます。たとえば、時間解決の一時コンテキストを設定するには、DATE_TIMEエンティティをクリックし、ルールを適用します。
ノート

あいまいさ解決ルールは、ユーザー入力を検証しません。Apache FreeMarkerを使用するカスタム・バリデータ(非推奨)またはエンティティ・イベント・ハンドラ(推奨)でユーザー入力を検証できます。このバリデータは、将来のユース・ケース(会議スケジューラなど)に過去の日付が指定されている場合、falseを返します(検証に失敗します)。経費精算書などのバックワード・ルック・ユース・ケースでは、ユーザーが将来の日付を入力すると、バリデータはfalseを返します。

time_entity_configuration.pngの説明が続きます

ノート

同じコンポジット・バッグ内に複数のアイテムを持つ同じエンティティを参照している場合、または2つ以上のコンポジット・バッグが同じエンティティを参照し、同じエンティティも参照している場合同じインテントに関連付けられているため、リリース21.12にアップグレードして、各エンティティ参照固有のあいまいさ解決ルールが個別に処理され、以前に解決されたエンティティに設定されたルールによって上書きされないようにします。

日付サブタイプとの照合の解決ルール

日付は、サーバーの日付やブラウザの日付ではなく、UTCの日付に解決されます。たとえば、7月8日の午後8時にハワイ・アリューシャン・タイム・ゾーン(UTC-10:00)から発せられた「今日」は、7月9日に解決されます。
ルール 機能 サンプル
過去 あいまいな入力を過去の曜日として解決します。
  • 発話に「月曜日」が含まれ、現在日も月曜日である場合、「月曜日」は今日のように解決されます。
  • 発話に「月曜日」が含まれ、現在の日が水曜日の場合、「月曜日」は前の月曜日として解決されます。
予定 あいまいな入力を将来の最も近い日付として解決します
  • 発話に「月曜日」が含まれ、現在日も月曜日である場合、「月曜日」は今日のように解決されます。
  • 発話に「月曜日」が含まれ、現在の日が火曜日である場合、「月曜日」は次の月曜日として解決されます。
  • 発話に「火曜日」が含まれ、現在の日が月曜日である場合、「火曜日」は火曜日として解決されます。
最近傍 あいまいな入力を最も近い日として解決します。
  • 発話に「月曜日」が含まれ、現在日も月曜日である場合、「月曜日」は今日のように解決されます。発話に「月曜日」が含まれ、現在の日が火曜日である場合、「月曜日」は昨日のように解決されます。
  • 発話に「月曜日」が含まれ、現在の日が日曜日である場合、「月曜日」は明日として解決されます。
デフォルト あいまいな入力を将来の日付として解決します。 たとえば、入力に「水曜日」が含まれる場合、その日は、前の水曜日や現在の日(水曜日の場合、つまり)ではなく、次の水曜日に解釈されます。

時間サブタイプとの照合の解決ルール

ルール 機能 サンプル
過去 入力をUTCタイム・ゾーンの現在の時刻に対する過去の最も近い時刻に解決します。
  • 発話に午前9時が含まれ、現在の時刻が午前10時である場合、時刻は今日の午前9時として解決されます。
  • 発話に「午後9時」が含まれ、現在の時刻が午前10時である場合、時刻は昨日の午後9時に解決されます。
  • 発話に「9」が含まれ、現在の時間が午前10時である場合、時間は今日の午前9時に解決されます。
予定 入力を、UTCタイム・ゾーンの現在の時刻と比較して、将来の最も近い時刻に解決します。
  • 発話に午前9時が含まれ、現在時刻が午前10時である場合、時刻は明日の午前9時に解決されます。
  • 発話に「午後9時」が含まれ、現在の時間が午前10時である場合、時間は今日の午後9時に解決されます。
  • 発話に「9」が含まれ、現在の時間が午前10時である場合、時間は今日の午後9時に解決されます。
最近傍 入力をUTCタイム・ゾーンの現在の時刻に対する最も近い時間として解決します。
  • 発話に午前9時が含まれ、現在の時刻が午前10時である場合、時刻は今日の午前9時として解決されます。
  • 発話に「午後9時」が含まれ、現在の時間が午前10時である場合、時間は今日の午後9時に解決されます。
  • 発話に「9」が含まれ、現在の時間が午前10時である場合、時間は今日の午前9時に解決されます。
  • 発話に「10:00」が含まれ、現在の時刻が午前1:00の場合、時刻は昨日の午後10:00として解決されます。
デフォルト Oracle Digital Assistantの21.06より前のリリースで使用されていた方法によって入力を解決します。
  • 発話に午前9時が含まれ、現在の時間が午前10時である場合、時間は今日の午前9時に解決されます。
  • 発話に「9 pm」が含まれ、現在の時間が午前10時である場合、時間は今日の午後9時に解決されます。
  • 発話に「9」が含まれ、現在の時刻が午前10時である場合、時刻は今日の午前9時に解決されます。
  • 発話に「1:00 am」が含まれ、現在の時間が午後2時である場合、時間は明日の午前1時に解決されます。

ロケールベースのエンティティー解決

「エンド・ユーザー・ロケールの検討」をオンにすると、CURRENCY、DATEおよびNUMBERエンティティをユーザー・ロケールに解決できます。
currency_entity_customization.pngの説明が続きます

エンティティに応じて、このオプションには異なるアプリケーションがあります。
  • DATEは、ロケール固有の形式に解決されます。たとえば、en-USの場合は11月7日、en-AUの場合は7月11日に解決できます。サポートされていないロケールの場合、過去や将来などの形式および時間コンテキストを適用できます。
  • NUMBERは、国固有の数値形式(千のグループを区切るために使用するカンマ、ピリオドまたはスペース、および数値の小数部分を区切る細いスペースの有無にかかわらず小数点)に解決されます。たとえば、英国と米国では、カンマを使用して数千のグループを区切ります。
    ノート

    「エンド・ユーザー・ロケールの検討」をオフにすると、NUMBERエンティティはCOMMA_DOT (1,000.00)として解決されます。
  • CURRENCYはロケールを使用して、特定の$または¥通貨に解決します。ロケールが検出されない場合は、あいまい性解決ルールによって設定された$または¥通貨として解決するように入力を設定できます。
ノート

同じコンポジット・バッグ内にさらに2つのアイテムを持つ同じエンティティを参照している場合、または複数のコンポジット・バッグが同じエンティティを参照し、それらも関連付けられている場合同じインテントでリリース21.12にアップグレードし、各エンティティ参照に固有のロケール・カスタマイズが個別に処理され、以前に解決されたエンティティのロケール構成によって上書きされないようにします。

ロケールベースの日付解決

ユーザーのロケールが検出できない場合、日付は選択したデフォルトの日付書式として解決されます。
このロケール... この入力... ...として解決... 書式(日付- 月シーケンス)
米国(en_US) 11/7 7年11月 MONTH_DAY
英国(en_GB) 11/7 11年7月 DAY_MONTH
カナダ- 英語 (en_CA) 11/7 7年11月 MONTH_DAY
カナダ- フランス語(fr_CA) 11/7 7年11月 MONTH_DAY
オーストラリア(en_AU) 11/7 11年7月 DAY_MONTH
メキシコ(es_MX) 11/7 11年7月 DAY_MONTH
シンガポール(zh_SG) 11/7 11年7月 DAY_MONTH
イギリス(ar_AE) 11/7 7年11月 MONTH_DAY
アラビア語(ar_AR) 11/7 7年11月 MONTH_DAY
フランス(fr_FR) 11/7 11年7月 DAY_MONTH
オランダ(nl_NL) 11/7 11年7月 DAY_MONTH
ドイツ(de_DE) 11/7 11年7月 DAY_MONTH
イタリア(it_IT) 11/7 11年7月 DAY_MONTH
ポルトガル(pt_PT) 11/7 11年7月 DAY_MONTH
スペイン(en_ES) 11/7 11年7月 DAY_MONTH
中国(zh_CN) 11/7 7年11月 MONTH_DAY
日本(ja_JP) 11/7 7年11月 MONTH_DAY

ロケールベースの通貨解決

このロケール... この入力... ...Dollar Ambiguity(ドル曖昧さ) この入力... ...解決形式(円のあいまいさ)
米国(en_US) 20ドル 20.0 標準 20 ¥ 20.0 円
英国(en_GB) 20ドル 20.0 標準 20 ¥ 20.0 円
カナダ- 英語 (en_CA) 20ドル 20.0 カドミウム 20 ¥ 20.0 円
カナダ- フランス語(fr_CA) 20ドル 20.0 カドミウム 20 ¥ 20.0 円
オーストラリア(en_AU) 20ドル 20.0 AUD 20 ¥ 20.0 円
メキシコ(es_MX) 20ドル 20.0 メートル 20 ¥ 20.0 CNY
シンガポール(zh_SG) 20ドル 20.0 SGD 20 ¥ 20.0 円
イギリス(ar_AE) 20ドル 20.0 標準 20 ¥ 20.0 円
アラビア語(ar_AR) 20ドル 20.0 標準 20 ¥ 20.0 円
フランス(fr_FR) 20ドル 20.0 標準 20 ¥ 20.0 円
オランダ(nl_NL) 20ドル 20.0 標準 20 ¥ 20.0 円
ドイツ(de_DE) 20ドル 20.0 標準 20 ¥ 20.0 円
イタリア(it_IT) 20ドル 20.0 標準 20 ¥ 20.0 円
ポルトガル(pt_PT) 20ドル 20.0 標準 20 ¥ 20.0 円
スペイン(en_ES) 20ドル 20.0 標準 20 ¥ 20.0 円
中国(zh_CN) 20ドル 20.0 標準 20 ¥ 20.0 CNY
日本(ja_JP) 20ドル 20.0 標準 20 ¥ 20.0 円

ロケールベースの数値解決

「エンド・ユーザー・ロケールの検討」をオフにすると、数値書式はデフォルトでCOMMA_DOT (1,000.00)に設定されます。
ロケールが有効な場合... ...認識される形式は...
米国(en_US) COMMA_DOT 1,000,000.00
英国(en_GB) COMMA_DOT 1,000,000.00
カナダ- 英語(en_CA) COMMA_DOT 1,000,000.00
カナダ- フランス語(fr_CA) DOT_COMMA 1.000.000,00
オーストラリア(en_AU) COMMA_DOT 1,000,000.00
メキシコ(es_MX) COMMA_DOT 1,000,000.00
シンガポール(zh_SG) COMMA_DOT 1,000,000.00
イギリス(ar_AE) DOT_COMMA 1.000.000,00
アラビア語(ar_AR) DOT_COMMA 1.000.000,00
フランス(fr_FR) SPACE_COMMA 1 000 000,00
オランダ(nl_NL) DOT_COMMA 1.000.000,00
ドイツ(de_DE) DOT_COMMA 1.000.000,00
イタリア(it_IT) DOT_COMMA 1.000.000,00
ポルトガル(pt_PT) COMMA_DOT 1,000,000.00
スペイン(en_ES) DOT_COMMA 1.000.000,00
中国(zh_CN) COMMA_DOT 1,000,000.00
日本(ja_JP) COMMA_DOT 1,000,000.00