我有一个LUIS模型用于预订音频通话说" BookAcall"我有如下的话语" 我使用了预构建实体 Number 来从句子中提取任何数字实体。
为2个位置的5人预订音频通话
现在,从LUIS json我得到了两个实体作为数字。
需要建议。 感谢
以下是话语和实体的屏幕截图,我使用了List类型实体,用于No of users。
{
"query": "book a call tomorrow for 5 people for 2 location",
"topScoringIntent": {
"intent": "BookACall",
"score": 0.9560004
},
"intents": [
{
"intent": "BookACall",
"score": 0.9560004
},
{
"intent": "CryptoTrading",
"score": 0.0283502769
},
{
"intent": "None",
"score": 0.00855541
}
],
"entities": [
{
"entity": "tomorrow",
"type": "builtin.datetimeV2.date",
"startIndex": 12,
"endIndex": 19,
"resolution": {
"values": [
{
"timex": "2018-06-15",
"type": "date",
"value": "2018-06-15"
}
]
}
},
{
"entity": "location",
"type": "NoOfLocation",
"startIndex": 40,
"endIndex": 47,
"resolution": {
"values": [
"Location"
]
}
},
{
"entity": "people",
"type": "NoOfUsers",
"startIndex": 27,
"endIndex": 32,
"resolution": {
"values": [
"People"
]
}
},
{
"entity": "5",
"type": "builtin.number",
"startIndex": 25,
"endIndex": 25,
"resolution": {
"value": "5"
}
},
{
"entity": "2",
"type": "builtin.number",
"startIndex": 38,
"endIndex": 38,
"resolution": {
"value": "2"
}
}
]
}
答案 0 :(得分:2)
添加包含模式中数字的模式
答案 1 :(得分:1)
如DFBerry在此SO thread中所建议的那样,您可以创建一个composite entity并将用户的数字实体和列表类型实体作为子实体。然后,您可以从返回的响应中提取该复合实体中的用户数。
创建一个复合实体,如下所示:
从该复合实体中提取用户数量:
答案 2 :(得分:0)
为2个位置预订5人的音频通话
由于人和地点是实体。您可以通过选中实体的start index and end index来尝试跟踪与人和位置对应的数字。
场景可能是:
为2个位置预订5人的音频通话 为5人预订2个位置的音频电话
因此,如果您获得2个数字类型实体和一个位置类型,则人员类型检查首先发生的是哪个数字,然后检查首先发生人员或位置的实体。通过这种方式,您可以进行映射。