我和我的同事正在使用Microsoft bot框架和Microsoft LUIS构建一个非常大的应用程序。本质上,我们正在尝试创建一个机器人,其中来自整个组织的人们可以向机器人发送消息(通过slack)并接收相关信息。不同类型的请求与不同的主题领域(销售、营销、物流和研发)相关。如何将多个LUIS模型、实体和子实体链接在一起,以便请求在到达正确的实体之前不会查询每个实体?
现在,如果用户问“我们今年到目前为止在研究上花了多少钱?”它首先查询销售实体,然后查询营销实体,然后查询物流实体,最后在获得响应之前查询研发实体。我正在尝试限制API请求的数量。我目前知道有3种可能的解决方案来处理这个路由问题,它们似乎都不依赖于LUIS来路由到适当的实体。
解决方案1包括让机器人给出与每个域对应的UI选择器。
解决方案2涉及连接NLP库以从句子中提取主题,然后使用加权字典库匹配主题。
解决方案3涉及设置纯RegEx。由于显而易见的原因,这是我最不喜欢的解决方案。
链接到使用Microsoft bot框架和Microsoft LUIS的企业级参考应用程序将是理想的解决方案。
发布于 2016-10-08 00:03:44
Here是一组新的示例,包括一些像ContosoFlowers这样的端到端演示,这应该会为如何构建一个真正的机器人项目提供一些启发。
另一个公共机器人是Azure Bot,在那里你可以找到一些真正的实现。一个有趣的重构也发生在addextensibility分支中;在那里您还可以看到体系结构是如何发展的
从文档中:
AzureBot的创建是为了提高任何使用Azure的开发人员、管理员或团队的生产力。它目前是公开可用的,您也可以跟随我们的开发人员设置自己运行它并贡献自己的力量。
第一个实现侧重于向用户的Azure订阅进行身份验证,选择和切换订阅,启动和停止基于RM的虚拟机,以及列出和启动Azure Automation runbooks。
https://stackoverflow.com/questions/39921192
复制相似问题