首页 > 解决方案 > 是否可以将深度学习模型与 Microsoft Bot Framework (SDK) 一起使用?

问题描述

我知道 Bot Framework SDK 是开源的,而 Azure Bot Service 则不是这样。

从这个链接我假设它几乎可以与聊天机器人框架一起使用每个深度学习库/框架,但是对于免费 SDK 也是如此,还是仅当我使用 Azure 机器人服务时才如此?

另外,是否可以在非 Azure 的平台上部署使用 SDK 制作的聊天机器人?

提前谢谢了

标签: azuredeep-learningchatbotazure-language-understanding

解决方案


SDK 和社区支持包括识别器的标准实现

RegExRecognizer – 对单元测试等简单的识别任务很有用。

LuisRecognizer – 使用 LUIS.ai 模型进行意图/实体识别

QnAMakerRecognizer – 使用 QnAMaker KB 识别常见问题

CrossTrainedRecognizer – 将交叉训练的多个识别器组合在一起(例如 Luis/Qna)

社区识别器——BERT、spaCy.io、DialogFlow 等。

SDK 定义了一个通用的语言识别声明文件,称为 .LU 文件。LU 文件是简单的 markdown 文件,易于编辑和捕获意图、实体、标记数据、字典等基本 NLU 概念。SDK 为 BF CLI 提供了一个插件,用于解析 LU 文件并从中创建 LUIS 模型。Power Virtual Agents 等服务可以使用 LU 文件来训练其内部自定义 NLU 识别器。开源社区已经创建了 LU 解析器,这些解析器针对来自 Spacey.io 和 BERT 模型的开源 NLU 引擎。

最终,机器人应用程序需要能够决定哪个组件应该处理输入。每个组件都可以使用不同的识别器来处理输入,因此我们需要一种标准化的方式来创建调度模型,这是一个将流量路由到正确组件的模型。这为按部门组织机器人或整合其他来源的“技能”奠定了基础。

为了创建调度模型,我们定义了每个组件如何公开语言数据(再次利用与技术无关的 .LU 声明性文件格式),这些数据公开调用者创建调度模型所需的信息。

我们当前的调度工具将 LUIS 用于调度模型,但有一个新的预览版本,该版本已重命名为 Orchestrator。编排器使用基于转换器的语言模型(例如:BERT、RoBERTa)来构建调度模型。该模型经过优化,小到可以嵌入(英语约为 200mb),适用于低延迟场景,并使用 .LU 文件中的信息构建丰富的调度模型,可在嵌入式场景中离线使用,并作为 Azure 机器人服务的一部分提供。


推荐阅读