路由Microsoft LUIS请求和Bot框架 - 最好在企业参考应用程序中

Gas*_*tre 7 c# azure microsoft-cognitive botframework azure-language-understanding

我和我的同事正在使用Microsoft bot框架和Microsoft LUIS构建一个非常大的应用程序.从本质上讲,我们正在尝试创建一个机器人,来自整个组织的人员可以向机器人发送消息(通过松弛)并接收相关信息.不同类型的请求涉及不同的主题领域(销售,营销,后勤和研发).如何将多个LUIS模型,实体和子实体链接在一起,以便请求在到达正确的实体之前不会查询每个实体?

现在,如果用户询问"我们今年在研究上花了多少钱?",它首先查询销售实体,然后查询营销实体,然后查询物流实体,最后在获得响应之前查询研发实体.我正在尝试限制API请求的数量.我目前知道3个可能的解决方案来处理这个路由问题,并且它们似乎都没有依赖LUIS来路由到适当的实体.

解决方案1涉及让机器人给出对应于每个域的UI选择器.

解决方案2涉及连接NLP库以从句子中提取主题,然后使用加权字典库匹配主题.

解决方案3涉及设置纯RegEx.这是我最不喜欢的解决方案,原因很明显.

使用Microsoft bot框架和Microsoft LUIS的企业级参考应用程序的链接将是一个理想的答案.

Eze*_*dib 1

以下是一组新示例,包括一些端到端演示,例如 ContosoFlowers 它们应该可以让您了解如何构建真正的 BOT 项目。

  • 这些示例以任务为中心,显示了框架的特定功能。
  • 端到端演示将更符合您的需求,因为您将看到依赖注入、IScorable 功能的使用、如何分离组件、如何构建可重用的机器人资产以及如何组织项目等概念/架构。

另一个公共机器人是Azure 机器人,您可以在其中找到一些实际的实现。可加扩展性分支中也发生了有趣的重构;您还可以在其中看到架构如何演变

来自文档:

AzureBot 的创建是为了提高使用 Azure 的任何开发人员、管理员或团队的工作效率。它目前是公开可用的,您也可以按照我们的开发人员设置自行运行它并做出贡献。

第一个实现的重点是对用户的 Azure 订阅进行身份验证、选择和切换订阅、启动和停止基于 RM 的虚拟机以及列出和启动 Azure 自动化 Runbook。