是否可以告诉luis从给定的文本中提取特定值?

时间:2018-08-08 17:49:10

标签: botframework chatbot luis

我想创建一个聊天机器人,该机器人可以跟踪包裹(还有很多其他东西)。我对所有这些意图和实体事物都是陌生的。我要达到的目标是,如果我对聊天机器人说“跟踪包裹[PACKAGEID]”或“您能为我找到[PACKAGEID]吗?”并且luis应该返回意图和[PACKAGEID]。这可能吗?否则,还有其他我可以使用的东西(最好是如果是微软公司的,因为业务原因...是的)

亲切的问候, 我...。嘿!

2 个答案:

答案 0 :(得分:0)

要达到您的要求,您可以尝试以下步骤:

1)添加一个名为 PackageID

的简单实体

2)为PackageID添加phrase list

enter image description here

3)添加一个名为 FindPackage 的意图,并添加一些示例话语,然后在话语中标记实体。

enter image description here

4)训练(并发布)该应用

测试结果:

enter image description here

注意:

  

我对所有这些意图和实体事物都是陌生的。

您可以在LUIS documentation中获得有关LUIS应用程序关键概念的更多信息。

答案 1 :(得分:0)

如果您知道“ PACKAGEID”的所有可能格式,则可以使用“ Regex”类型的实体

1)单击enter image description here

2)创建正则表达式定义。下面的示例匹配所有PACKAGEID-s

以“ KQ”开头,然后是8到10个数字,以“ DE”结尾

enter image description here

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
    }
  ]
}