スロットマッピング
説明
スロットは、Cognigy NLUによって検出され、input.slots
プロパティの下にInputオブジェクトに配置される特定のデータタイプまたはカスタムキーフレーズです。
スロットには2つのタイプがあります:
- システム定義スロット
- ユーザー定義スロット(Lexicons / keyphrases) – Lexiconsをご覧ください。
スロットのトークン化
スロットのトークンを作成することで、トークのロジックや出力フィールドに追加する時間を短縮することができます。
CognigyScript経由でのスロットへのアクセス
システムとユーザーが作成したスロットは、CognigyScriptより簡単にアクセスできます。
{{input.slots}}
には検出されたすべてのスロット、タグ、キーフレーズがあります。
CognigyScript | 説明 |
{{input.slots.tagName}} | タグ tagName のキーフレーズ配列を返します。 |
システム定義スロット
Cognigy.AIは以下のスロットを自動的に検出します。システム定義スロットタグはすべて大文字です。
スロットタグ | 例 | スロットJSON |
DATE | tomorrow, August 1st at 5pm(明日、8月1日午後5時) |
|
next week(来週) |
| |
NUMBER | one hundred, 143(100,143) |
|
DURATION | 10 minutes 20 seconds(10分20秒) |
|
TEMPERATURE | 50 degrees(50度) |
|
AGE | 32 years old(32歳) |
|
info@cognigy.com |
| |
PERCENTAGE | 5 percent(5パーセント) |
|
URL | https://cognigy.com |
|
MONEY | 500 dollars(500ドル) |
|
DISTANCE | 12 kilometers(12km) |
|
データ形式
タイムゾーンと日付スロット
日付の検出は、エージェントまたはアクションに設定されたタイムゾーンにより異なります。
以下の表は、サポートされている入力パターンと形式の概要です。
言語 | 対応する入力パターンの例 |
英語 | Now, Today, Tomorrow, Yesterday, Last Friday, Last night 17 August 2013 – 19 August 2013 This Friday from 13:00 – 16.00 5 days ago 2 weeks from now Sat Aug 17 2013 18:40:39 GMT+0900 (JST) 2014-11-30T08:15:30-05:30 Day after tomorrow Days before yesterday Next Tuesday |
ドイツ語 | Jetzt, Heute, Morgen, Gestern, Vorgestern Letzte Nacht, Heute Nacht, Diese Nacht, Morgen Vormittags, Gestern Abend Nach einem Tag, In einer Woche 15/01/2021, 15.01.2021, 15. Jan 2021, Freitag den 15. Januar 2021 17.08.2013 – 19.08.2013, 17.08.2013 bis 19.08.2013 Kommenden Montag |
オランダ語 | Nu, Deze Nacht, Deze Vannacht, Gisteren, Morgen, Gisteravond, Eergisteren, Overmorgen Morgen Middag, Deze Ochtend, Gisteren Voormiddag, Deze Namiddag, Morgen Avond, Overmorgen Nacht Binnen Een Dag, Na een halve Maand 15/01/2021, 15.01.2021, 15. Jan 2021, Vrijdag de 15de Januari 2021 17.08.2013 – 19.08.2013, 17.08.2013 tot 19.08.2013 Laatste/vorige/volgende/komende Woensdag |
日本語 | 今日, 当日, 昨日, 明日, 今夜, 今夕, 今晩, 今朝 2016年2月17日です Sat Aug 17 2013 01/30/2018 |
他の言語 | By example of French, the following patterns are supported. Some advanced patterns involving more advanced casual expressions such as “day before yesterday” or “next friday” would not be supported: 15.04.2023 12:00 15 aout 2015 15 aout 2015 a 12 octobre 2016 aujourd’hui, demain, hier hier soir, demain après-midi |
日付スロットの解析は、Flowで設定されている言語に異なります。対応している国別の日付形式の概要については、こちらを参照してください。次の表に、スラッシュ形式の日付に関する言語固有の操作の概要を示します:
言語 | スラッシュ日付形式順序(01/01/2019) |
デフォルト(イギリス英語、ドイツ語、万国共通など) | dd/mm/YYYY |
アメリカ英語, 日本語, 中国語 | mm/dd/YYYY 備考:mm/dd/YYYYが不正な日付を生成した場合、パーサーはdd/mm/YYYYにフォールバックします。 |
無効な日付
Cognigy.AIはうるう年などを含む入力された日付の有効性をチェックします。無効な日付は検出されたスロットに表示されません。
未来と過去の日付マッピング
日付スロットの検出は、当月の日付の入力、および当年内にまだ発生していない日付の入力には、当年を使用します。
日付スロットの検出は、入力の日付が当月でなく、当年にすでに発生しており、入力に年が指定されていない場合、次の年を使用します。
DATEスロットに過去の日付を割り当てるには、入力で年を指定する必要があります。
例
入力が当月の日付の場合:
- 今日の日付は2023 年 7 月 26 日です。
- 入力は
7月21日
- DATEスロットの結果 :
"year": 2023, "month": 7, "day": 21
入力された日付が当月ではなく、前の月であり、年が指定されていない場合:
- 今日の日付は2023 年 7 月 26 日です。
- 入力は
3月30日
- DATEスロットの結果:
"year": 2024, "month": 3, "day": 30
入力された日付が当月ではなく前の月であり、年が指定されている場合:
- 今日の日付は2023 年 7 月 26 日です。
- 入力は
2021 年 3 月 30 日
- DATEスロットの結果 :
"year": 2021, "month": 3, "day": 30
ユーザー定義スロット(レキシコン)
Cognigyのユーザー定義スロットはキーフレーズと呼ばれ、Lexiconエディタで作成、管理されます。
Cognigy AIでは、Lexiconはタグを持つキーフレーズのリストです。Lexiconは任意の数のキーフレーズを持つことができ、そのキーフレーズは任意の数のタグと類義語を持つことができます。
LexiconがFlowに割り当てられると、Flowはすべてのキーフレーズについてユーザー入力を解析します。同じタグを持つキーフレーズが検出されると、スロットに割り当てられます。
キーフレーズへのアクセス
検出されたキーフレーズは、入力プロパティinput.slots.lexiconTagName.keyphrase
で公開されます。(例:input.slots.product.keyphrase.shirt
)
{
"slots": {
"tag1": [
{
"keyphrase": "found keyphrase",
"lower": "found keyphrase in lower case",
"synonym": "found synonym, otherwise keyphrase",
"count": "how often the keyphrase was found"
}
]
}
}
キーフレーズと類義語は、単語数の多い順に検出され、最も長いキーフレーズが最初に検出されます。cake
とcheese cake
が定義されていて、テキストがI love cheese cake
の場合、cheese cake
のみが検出されます。
類義語が見つかった場合、返されるキーフレーズは類義語がマップされたキーフレーズであり、類義語自体は結果の特別なsynonym
プロパティに記録されます。
スロットの入力例
ユーザーが「ピザパイが大好きです」と言った場合、スロット
の入力プロパティは次のようになります:
{
"food": [
{
"keyphrase": "pizza",
"count": 1,
"synonym": "pizza pie"
}
]
}
FlowにLexiconをアタッチする
NLUモデルが作成されたキーフレーズと類義語を認識するためには、NLU学習データにLexiconをアタッチする必要があります。詳しくは、[Attached Lexicons(アタッチLexicon)]のページをご覧ください。