我有一个以日期为输入的意图。我使用@sys.date来识别日期,它能够识别许多日期格式,包括今天的,11月2日,两天前的。
然而,令人惊讶的是,它无法将像这样的短语(如2天前)映射到特定的日期。
有什么办法让它起作用吗?


发布于 2018-11-20 15:14:11
不能向系统实体(以@sys开头的实体)添加,但可以使用自定义日期单元实体(包括“天后”)和系统编号实体创建自己的复合日期实体:
date-unit和同义词days back创建一个新的days back实体:
并保存实体
Date的实体,取消选中Define synonyms的复选框,输入@sys.number @date-unit作为实体的值:
并保存实体
X days back培训示例添加到一个意图中,它应该是自动注释的(如果没有突出显示培训短语并手动注释它):
拯救原意。通过使用X days back查询查询代理来尝试它。
您从此有效负载接收到的JSON将根据@sys.date实体是否被识别或您刚刚创建的@Date实体是否被识别而有所不同。webhook将收到的17 days back query的JSON有效负载如下所示:
{
"responseId": "1f67167c-8840-42ed-b3ed-420e2c2b1c43",
"queryResult": {
"queryText": "17 days back",
"parameters": {
"Date": "17 days"
},
"allRequiredParamsPresent": true,
"fulfillmentMessages": [
{
"text": {
"text": [
""
]
}
}
],
"intent": {
"name": "projects/anotheragent-c5ea8/agent/intents/6743e47a-8cb5-458d-b573-626d1a392a46",
"displayName": "Date"
},
"intentDetectionConfidence": 1,
"languageCode": "en"
}
}因此,除了@sys.date类型之外,您还需要在web钩子中添加一些逻辑来解析这个日期类型。
https://stackoverflow.com/questions/53394393
复制相似问题