Skip to main content

Azure QnA Maker服务介绍

分类:  Azure认知服务 标签:  #Azure #人工智能 #语言理解(LUIS) #QnA Maker #Azure QnA Maker 发布于: 2023-06-10 21:02:16

想自己创建一个交互机器人产品,哪怕是一个简单的对话机器人都是非常不简单的,这里有很多问题需要解决,例如定义和机器人交互的界面,和机器人会话的保持,让机器人理解用户的输入,包括文字,语音,图像等输入,最后需要给机器人足够多的知识主备,能够让机器人足够聪明,这里面每一步都会涉及到很多不同的学科,每一个方面都涉及到足够多的知识,微软为开发一个机器人提供了足够的多的公共产品,你完全可以使用他们创建出符合自己业务需求的机器人产品,例如:

  • 机器人交互的界面: 使用微软的Azure Bot framework SDK和 Azure Bot Service 支持多种channel输入,例如微信,teams, QQ, WebChat,电话,短信等等交互。
  • 多媒体的交互: 使用微软提供的语音服务,语言理解服务,以及图像识别等等技术支持足够多的多媒体交互能力,例如语音输入输出,图像输入输出,理解足够多的交互手段。
  • 机器人足够多的知识储备: 那么就要用到本次即将介绍的Azure QnA Maker 服务了,给机器人足够多的知识储备。

Azure一系列的文章里会慢慢逐步的介绍我们提到的各种知识,我们今天先来介绍一个非常重要的组件Azure QnA Maker。

什么是QnA Maker服务?很简单:就是微软推出的基于云平台的自然语言处理服务(NLP)的一种,这个服务主要是基于你提供的数据,进行模型训练,然后根据用户的输入,然后从你自定义的知识库中寻找最适合的答案,然后返回给你的应用。 总结一下这个定义里面的知识点:

  • 基于Azure云平台的,也就是必须部署在Azure上了。
  • 属于自然语言处理服务的一种,我们前面学习了LUIS, 需要注意的是二者的区别。
  • 训练模型是需要准备足够充分的数据的
  • 客户要创建自己的知识库(knowledge Base , 简写: KB)

那么这个服务的主要服务目的和对象场景有哪些呢?Azure的官方文档说得特别清楚:主要是为了服务于conversational client applications, 即对话式的客户端应用,这包括:多媒体社交应用,聊天机器人,又或者支持语音的桌面应用等等。这里主要是体现对话这个场景。

总结一下使用该服务的主要场景:

  • 如果有很多的静态信息需要分享:例如有很多文档,网页等等。
  • 需要经常性的回复类似的问题,例如客户服务。
  • 会话机器人

我们前面在定义QnA Maker的时候提到一个重要的概念就是知识库(KB), 那么什么是知识库呢?该如何理解KB在服务里的作用呢?
QnA Maker服务可以从Portal导入您拥有的信息到知识库,知识库实际上后端是使用Azure Search服务进行存储和管理,当然搜索也是通过Azure Search来完成,知识库里有一个非常重要的概念就是问答对,也就是一问一答,QnA Maker提供了非常方便的工具来创建他们。对于知识库的理解其实应该很简单,就是一个存放所有信息的地址,这里的信息可以是你原始的信息导入,你编辑的问答对,你编辑的拥有元数据的信息等等,有了这些信息之后,进行模型训练既可以使用QnA Maker Service了。

使用QnA Maker的一般步骤

要想使用QnA Maker服务基本上都是遵循下述的步骤:

  • 创建服务和知识库
  • 导入数据并处理数据
  • 训练模型
  • 测试模型
  • 发布知识库
  • 使用发布后的终结点,创建其他应用。

下述的图也能说明这个问题:


关于QnA Maker简单的介绍就到此为止了,下一张我们来简单的搭建一个基于QnA Maker的聊天机器人,你就了解了使用该服务是有多方便。