微软认知服务应用秘籍 – 与机器人聊知识

在本篇博客中,我们将会学习到零代码情况下,如何利用已有的技术建立自己的知识问答系统,这种系统的可以广泛适用于学校、企业、客服、政府公开信息等领域,代替传统的电话咨询、电子邮件沟通等高人工负荷的方式。 建立知识库 什么叫QnA Maker? 知识库,就是人们总结出的一些历史知识的集合,存储、索引以后,可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具,使用 QnA Maker,可以根据 FAQ(常见问题解答)文档或者 URL 和产品手册等半结构化内容打造一项问题与解答服务。可以生成一个问题与解答模型,以便灵活地应对用户查询,即用户不必输入精确的查询条件,而是提供以自然对话方式受训的机器人来响应。 下图中是知识库与Bot Service的结合使用架构图: 与"半结构化数据"并列的是"结构化数据"和"非结构化数据",其中结构化数据可以用关系式数据库来解决,非结构化数据用搜索引擎技术来解决。实际上搜索引擎就是把散落在互联网各个角落的非结构信息变成半结构化或结构化信息。 不同于搜索引擎,本文介绍的基于半结构化数据的QnA系统实现方式,是基于小规模数据量的,比如Million级别,而搜索引擎的技术要高级很多,因为要面对Billion级别的数据。但是从原理上讲,大家可以管中窥豹可见一斑。 在Azure中申请QnA Maker服务 用MSA登录Azure门户,点击"创建资源",然后点击"AI + Machine Learning": 在下图中点击"查看全部": 在下图中点击"更多:" 在下图中点击"QnA Maker": 在下图中的有红色*的输入框中,输入必要的信息,比如在Name中输入" SchoolQASystem": 点击"创建"后,稍等一会儿,会得到以下通知消息: 小提示:可以点击"固定到仪表板",方便后续查找。 至此,我们的QnA服务已经申请好了,下一步是建立知识库,填写数据。 在QnA Maker网站上建立知识库 用Edge浏览器打开https://www.qnamaker.ai,登录自己的MSA账号。如果是第一进入该网站,你的My knowledge bases将会是空白页,点击Create a knowledge base来建立自己的第一个知识库: 小提示:这里用的MSA账号应该与申请认知服务的MSA账号相同。 STEP 1我们已经做过了,现在在STEP 2中从下拉列表中选择自己的相关信息: 在STEP 3中填写一个知识库的名字,比如SchoolQASystemKB: 在STEP 5中点击"Create your KB"来建立知识库: 小提示:STEP 4可以运行用户通过提供一个静态网页或者一个固定格式的文件,来自动提取问题和答案。 稍等一会儿,进入如下页面: 我们以学校中常用的一些问答信息为例,点击"+ Add QnA pair"填写如下数据: 当然可以根据实际情况,填写其它一些信息。需要注意的是,每个Question需要有唯一的一个Answer来对应,而每个Answer可以有很多个Question,是N:1的关系。 小提示:以上数据均为虚构,请填写符合自己学校实际情况的数据。 数据填写的差不多了(一次填写不完没关系,可以以后修改),点击"Save and train"按钮,稍等一会儿,点击那个"Test"按钮,进行在线测试。在问题框中输入"报销"或者一个整句“医疗费如何报销”,可以很快得到系统的回复,如下图就是测试结果: 此时也可以点击"Inspect"来看细节,比如Confidence score的值是79.75分,也可以在左侧填写更多的问题来对应这个答案,比如"看病报销": 觉得满意后,点击"PUBLISH"按钮来发布这个知识库: 稍等一会儿,得到如下信息: 好啦!到目前为止,我们已经成功建立了第一个知识库。 小提示:保留这个网页或者请记住上图中的信息,一会儿我们还会用到它。 下面我们有两个选择: 1)写代码来访问这个知识库,提供界面供他人使用。 2)用微软的另外一项技术 – 聊天机器人技术,以问答方式来提供访问该知识库的界面。这个内容我们在下一个大章节讲述。 用代码访问QnA知识库 打开利器VS2017,新建一个Windows Desktop WPF项目,给个名字叫QAClient: 在MainWindow.xaml中填写如下XAML界面设计代码: 复制代码
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信