【问题标题】:Is it possible to tell luis to extract an specific value from a given text?是否可以告诉 luis 从给定文本中提取特定值?
【发布时间】:2018-08-09 20:15:53
【问题描述】:
我想创建一个可以跟踪包裹(以及更多内容)的聊天机器人。我对所有这些意图和实体的东西有点陌生。我的目标是,如果我对聊天机器人说“跟踪包裹 [PACKAGEID]”或“您能帮我找到 [PACKAGEID] 吗?”并且 luis 应该返回意图和 [PACKAGEID]。这可能吗?或者,如果没有,还有什么我可以使用的(最好是来自微软,因为商业问题......耶)
亲切的问候,
我....嘿!
【问题讨论】:
标签:
botframework
chatbot
azure-language-understanding
【解决方案1】:
要达到您的要求,您可以尝试以下步骤:
1)添加一个名为PackageID的简单实体
2)为 PackageID 添加phrase list
3)添加一个名为FindPackage的意图并添加一些示例话语,然后在话语中标记实体。
4)训练(并发布)应用程序
测试结果:
注意:
我对所有这些意图和实体的东西有点陌生。
您可以在LUIS documentation 中获取有关 LUIS 应用程序关键概念的更多信息。
【解决方案2】:
如果您知道“PACKAGEID”的所有可能格式,那么您可以使用“Regex”类型的实体
1) 点击
2) 创建正则表达式定义。下面的示例匹配所有 PACKAGEID-s
以“KQ”开头,然后是 8 到 10 个数字,以“DE”结尾
3)如果你尝试句子“你能帮我找到kq123456789de吗?”然后你会得到以下结果
{
"query": "could you please find kq123456789de for me?",
"topScoringIntent": {
"intent": "Status",
"score": 0.9369452
},
"intents": [
{
"intent": "Status",
"score": 0.9369452
},
...
],
"entities": [
{
"entity": "kq123456789de",
"type": "PACKAGEID",
"startIndex": 22,
"endIndex": 34
}
]
}