只要三步!教你做一款人工智能应用“会议伴侣”

编者按:会议伴侣是一款能在大型会议中优化用户问答环节体验的人工智能应用,通过会议伴侣,听众能够随时提问,演讲者则可以一目了然地在台上查看、搜索、筛选听众的问题。本文以会议伴侣为例,讲解了AI应用架构和开发流程。本文编译自微软机器学习博客文章"3 Steps to Build Your First Intelligent App – Conference Buddy"。

想象这样一个场景:在一场精彩的开发者大会上,台上的演讲者正侃侃而谈,讲解最新的前沿技术,而台下的听众也在一边全神贯注地听着演讲,一边思考着跟演讲相关的一些问题,渴望从演讲者口中得到答案。但是通常,这些问题很少有机会得到演讲者的回答,也许是因为提问者认为时机不合适,也许是因为听众不好意思当众提问,也有可能提问者做好了准备,却没有得到提问的机会。

在数字化转型席卷各行各业的今天,人工智能能否推动演讲者和听众之间的互动,带来更好的大会问答环节的体验呢? 

优化这一环节的关键在于优化演讲者和听众之间的对话方式,可以在两方面进行优化:一是借助聊天机器人等对话式AI工具,让人与系统之间的对话更加自然;二是借助微软认知服务等预置AI工具,让系统拥有可与真人媲美的认知能力

作为一个端到端的智能应用,会议伴侣(Conference Buddy)将对话式AI机器人和预置AI工具都融入了其中,能够在大型会议等演示场景中为用户提供更好的问答体验,听众能够随时提问,演讲者则可以一目了然地在台上查看、搜索、筛选听众的问题。

对于想踏上AI之旅的开发者来说,会议伴侣应用的开发是一个理想的参考案例,因为整个开发过程非常简单,只需要三个步骤。

应用架构

问答环节可以被细分为以下几个需求:让听众进行提问的用户界面;方便演讲者查看提问数据的展示界面;还有能够提高互动效率的智能核心。

会议伴侣使用了融合智能核心、用户界面、数据洞见(data insights)所需的不同组件的AI导向型应用架构,这一架构遵循微服务模式(microservices pattern),组件之间松散地组合,每个组件都承担独立任务,并且完全自主运行。这种设计模式使每个组件都可以独立构建、部署和扩展。

我们分三步构建会议伴侣,如图1所示:

图1 会议伴侣应用架构

第一步:构建应用的智能大脑——Bot Brain

我们从应用的智能大脑“Bot Brain”开始。Bot Brain是整个应用的核心,可以被任何经过身份验证的其它组件调用。

Bot Brain包含两部分:Bot Task(处理任务)的集合以数据协定(Data Contract)。

Bot Task负责收集听众提问,自动生成相关答案,并将问题存储到数据存储器中。每项Bot Task都是独立的逻辑函数,它可以部署到同一服务或一组不同服务中,并且互不影响。这种微服务的架构能够简化调试和修复bug的工作。

在会议伴侣中,每个Bot Task都作为一项Azure功能来部署,以下是三个Bot Task示例:

  • 查询身份”任务:如果听众想了解演讲者的更多信息,该任务利用Azure认知服务的QnA Maker功能,为听众提供回答。

  • “了解更多”任务:该任务利用Azure认知服务的视频索引器和必应Web搜索功能,自动在网上搜索与听众问题有关的答案。

  • “回答问题”任务:该任务利用Azure认知服务的文本分析功能,从听众的问题中提取信息,并将结果存储到Azure搜索服务中。

开发者可以在以下链接中尝试这些Azure功能。

https://docs.microsoft.com/en-us/azure/azure-functions/

为了更好地发挥微服务架构的优势,应用的各个组件之间不能组合得太紧密,不同组件需要的只是一个标准化的请求和响应——数据协定(Data Contract)。它是Bot Brain与其调用组件之间的协议,对需要交换的数据进行了抽象的描述。

第二步:构建听众提问页面

接下来,我们要建立一个让听众随时提出问题的用户界面。这一任务由会议聊天机器人Conference Bot完成,Conference Bot使用Azure机器人服务构建,它允许听众在多种渠道以及设备上,以自然语言的方式提出问题。Conference Bot使用LUIS(微软语言理解智能服务)理解听众的问题,然后通过数据协定发出请求,调用Bot Brain,从各种渠道搜索相关答案,最后将答案以合适的方式反馈给听众。

图2 Conference Bot交互界面

下面是创建聊天机器人所需的资源。

Azure机器人服务:

https://docs.microsoft.com/en-us/azure/bot-service/?view=azure-bot-service-3.0

LUIS:

https://docs.microsoft.com/en-us/azure/cognitive-services/luis/home

第三步:构建数据洞见界面

最后一步是为演讲者构建数据洞见界面——演讲者信息中心,让演讲者和主持人可以一目了然地查看、搜索、筛选听众的问题,并投影到屏幕或其它移动设备上。

演讲者信息中心基于Azure Web应用服务,听众的问题已经经过Bot Brain处理并存储在Azure搜索服务中,演讲者可以方便地挑选问题来回答。

图3 演讲者信息中心界面

该网页应用样例:

https://github.com/Azure-Samples/search-dotnet-asp-net-mvc-jobs

Azure网页应用开发指南:

https://docs.microsoft.com/en-us/azure/app-service/

Azure搜索:

https://docs.microsoft.com/en-us/azure/search/

只需要上面简单的三步,你就可以开发出一个拥有AI导向型架构的会议伴侣应用。

未来,智能应用将从各个方面改变着我们的生活。欢迎在留言区分享你对智能应用的创意想法。

“三步构建会议伴侣”视频讲解:

https://channel9.msdn.com/Shows/AI-Show/Building-an-Intelligent-Bot-Conference-Buddy

GitHub开源代码:

https://github.com/Azure/ConferenceBuddy

免费电子书《人工智能应用开发指南》:

https://blogs.technet.microsoft.com/machinelearning/2018/06/04/free-e-book-a-developers-guide-to-building-ai-applications/

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

入门会议伴侣聊天机器人
3
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

暂无评论
暂无评论~