我和我的同事正在使用 Microsoft bot 框架和 Microsoft LUIS 构建一个非常大的应用程序。本质上,我们正在尝试创建一个机器人,让来自整个组织的人们可以向机器人发送消息(通过 slack)并接收相关信息。不同类型的请求涉及不同的主题领域(销售、营销、物流和研发)。如何将多个 LUIS 模型、实体和子实体链接在一起,以便请求在到达正确实体之前不会查询每个实体?
现在,如果用户问“迄今为止我们在研究上花了多少钱?” 它首先查询销售实体,然后是营销实体,然后是物流实体,最后是在得到响应之前查询研发实体。我正在尝试限制 API 请求的数量。我目前知道处理此路由问题的 3 种可能的解决方案,它们似乎都不依赖 LUIS 来路由到适当的实体。
解决方案 1 涉及让机器人为每个域提供一个 UI 选择器。
解决方案 2 涉及连接 NLP 库以从句子中提取主题,然后使用加权字典库匹配主题。
解决方案 3 涉及设置纯正则表达式。由于显而易见的原因,这是我最不喜欢的解决方案。
一个使用 Microsoft bot 框架和 Microsoft LUIS 的企业级参考应用程序的链接将是一个理想的答案。