全球领先的云管理服务提供商

思普智云的管理团队都对云有深刻的理解,从搭建到运营和咨询,团队成员分工明确,始终致力于为客户提供专业的技术支持和服务。

使用 Microsoft AI 打造你的首款智能机器人(入门只需要1小时)

发布时间:2019-04-16 04:13:15

当高科技烂大街成为常态,还有啥理由不努力学习AI科学呢。

最近在学习AI,一位朋友正好送了我一本AI技术的书籍,如获至宝,写点经验。

书的主题:使用 Microsoft AI 打造你的首款智能机器人

一、AI养猪

尼泊尔农村出来的一个大学生M女士,和大学同学一起,构建了一个畜牧业、兽医实监控设备原型,用于跟踪农场动物的体温、睡眠模式、压力水平、动作和活动。这个AI 系统根据这些观察结果中的细微变化,预测每只动物可能的健康状况。

农民能够跟踪他们的牲畜的状况,接收警报和可行的建议。这个方向真是不错。我们那里的农村,最近几年比较流行,县城上游企业和村里合作,城里提供猪苗原料等资源,村里村民提供一定的资金盖猪圈,养好之后再卖给上游企业。上游赚大钱,下游稳定赚小钱。一批猪大概几百只,也不少了。如果真正实现了传感器量体温等智能化手段,可以养殖更多,不会担心各种疾病。要不然,出现一次疾病,损失惨重。

二、聊天机器人

这个题材是AI技术落地最好的一个应用。微软小冰很火 https://www.msxiaobing.com/ 有兴趣的可以去官网了解一下。之前一直想搭建一个自己的AI机器人,然后结合自己的业务场景,比如说今后自己搞了一个技术外包公司,提供了多种技术解决方案,电商、金融、小程序等等。这个时候,客户通过网上的文章找到了我,看了之后,可能会有一些疑问,这个时候,给他一个智能化的AI机器人或者智能客服之类的工具,陪他聊天,解决它的问题,客户转化率会高很多。这是咱技术人员的优势,多学习技术,尤其是能够落地的AI科技,发挥咱的才能。

三、全书主要内容和大体思路
这 本书短小精悍,写作思 路很清晰,层层递进,直接参照了人家的路线图。
1. 云、数据和 AI 之间的交集

AI技术:使计算机能够通过感知、学习和推理,以类似于人类的方式为人类提供协助和解决问题。

感知 :输入

人:人有眼睛看到图像、耳朵听到声音、鼻子闻到气味、皮肤感知温度等等。

AI机器技术点:各种传感器,摄像头、耳麦、智能温度计等,计算机视觉、语音识别、语音合成。

学习: 得到有用的信息

人:读书,学习到新的知识。

AI机器技术点:自然语言理解,或者对话AI是其中一种。红绿灯等规则属于那种简单规则化的一种知识,这种机器很好学习。

推理: 根据现有信息,得到更多信息

人:最近波音飞机出了事故,正好都是类似型号的。人们很快就能想到,可能是这个机型的技术问题。民航局等很快下达指令,暂停飞行。

机器: 这种表示和理解人、事、地点和事件之间的关系,才是高级一点的AI。

最近几年AI越来越火,主要是因为AI技术越来越成熟,成熟的基础是现在云计算平台越来越多,价格还很便宜,比如国外微软的Azure,国内的阿里云。

数据方面,搜索、电商、社交、金融等各方面的数据,都积累了二十多年了。

所以,AI搞的比较好,国外主要是微软AI、Google AI,百度 AI。通过初步的了解,搜索公司的AI能力看起来更牛逼一些。

2. Microsoft AI 平台

Microsoft AI 平台旨在将 AI 带给每个开发人员,并通过提供各种服务、基础架构和工具,使开发人员能够进行创新和加速开发过程。

从预构建的 AI(几乎不需要训练)到自定义 AI,开放的 Microsoft AI 平台使开发人员能够使用各种深度学习和机器学习框架和工具。

自定义 AI

Azure 机器学习使你能够开发机器学习和深度学习模型,在云中进行训练并实施。

预构建 AI

只需几行代码,你就可以使用高级的“已完成”服务,来加速智能应用程序的开发。Microsoft AI 平台还集成了各种机器学习和深度学习框架,包括 TensorFlow、Caffe2、Microsoft 认知工具包 (CNTK)、Scikit-learn、MXNet、Keras 和 Chainer。越写越高端,知道个别的比如TensorFlow,后面的完全可以慢慢了解。

先了解大致怎么回事,调用云平台的API工具,先解决一个实际问题,玩玩再说,然后再深入学习,出师,投入到实际项目中。

更多技术可以去微软AI中国(世纪互联运营的那个)官网了解:https://www.azure.cn/zh-cn/也可以下载电子书,完整了解下。

3. 开发智能聊天机器人

聊天机器人与你轻松交谈,回答你的问题,或执行诸如保留你的预订、订购食物或购买物品等

任务。如果设计得当,它们甚至可以“以假乱真”,让你以为自己在和人类说话。

除了微软小冰,京东亚马逊有侧重购物的智能音响,百度的侧重找答案,保险公司已经开始使用AI版电话智能“骚扰”,应用场景还是比较多的。

牛逼哄哄的Microsoft,打算超越这些聊天机器人,创造了“对话 AI 即平台”的概念,将自然语言置于计算的核心。这些系统将被注入由 AI 驱动的感官,以在人与机器之间建立无缝的关系。

喜欢研究的技术人员,去造这样的轮子。

喜欢业务应用开发的,可以去使用这些轮子,解决实际问题,价值也是不菲的。

3.1 自然语言处理

NLP 本质上是能够获取人类产生的文本,并将其转变为机器可读语言的能力。NLP 从文本中分析和提取关键元数据,包括以下内容:

实体:名词,包括人物、地点和事物。

关系:实体之间的关系。

概念:从文本主体中提取未明确表示的一般概念。例如,“Excel”一词可能会返回“生产力工具”和“数字”等概念,即使这些词语并没有出现在文本中。这是一个强大的工具,能够在看似没有明显关系的事物之间建立联系。(这个略显高端)

情绪:衡量文本所传递的积极性或消极性的水平,比如说,在检测到消极情绪时,将聊天转交给人工客服。

情感:更细粒度的情绪分析。它不仅区分“积极”和“消极”,还包括“愤怒”、“悲伤”和“快乐”。本文中的“牛逼哄哄”、“高端”、“骚扰”所暗含的情绪,应该也是能够识别的。

关键字:提取关键字和词语,以用作索引、搜索、排序等的基础。

类别:这为文本的内容建立了一个分层分类法,并将其置于高级别类别(文本分类)中。对于推荐相关内容、生成广告、组织电子邮件等应用程序,这非常有用。

3.2 LUIS语言识别服务

微软提供了 语言识别服务:

https://www.luis.ai/homeLUIS 这样的系统旨在提取以下关键输出:识别意图的能力用户的目的是什么?意图是用户在输入中表达的目的或目标,例如预订航班、支付账单或查找新闻报道。识别话语(对话)的能力话语或对话是来自用户的文本输入,是应用需要理解的内容。它可能是一句话,例如“预订到巴黎的机票”,或是句子的一部分,例如“预订”或“巴黎机票”。话语和对话并不总是很工整,并且一个意图可以有多种的对话变体。

识别实体的能力

实体表示对话中有意义的详细信息。例如,在对话“预订到巴黎的机票”中,“巴黎”是一个位置实体。通过识别和标记用户对话中提及的实体,LUIS 可帮助你选择要采取的特定操作,以回应用户的请求。

3.3 定义咱们的对话机器人:场景

现在各种大会,比如CSDN经常主办协办一些大数据和云计算大会。

比如,你正在一个微软AI技术大会,参会者有几百人,大家都兴致勃勃。在演讲者演讲的过程中,你想到了一系列问题。你想提问,但:

• 这不是问答时间。

• 你不喜欢在公共场合说话。

• 在问答时间,你可能手举得不够高或没被挑中。

• 你有语言障碍,不能用演讲者的母语与其流利地交流。

由于后勤或其他障碍,大多数人没有机会在大会期间充分与演讲者进行互动,探讨其中的内容。

要是你有一个叫做“Conference Buddy”的聊天机器人,在想到问题的第一时间提出问题,问题就会得到解答呢?

并且,这些问题也会被传送到仪表板上,演讲者可以参与并实时回答观众提出的问题。

是不是很爽,参会体验大幅度飙升。

我们要构建的 Conference Buddy 聊天客户端将具有三个功能:

3.3.1 回应你的问候并自我介绍

3.3.2. 如有可能,智能且自动地回答你的一些问题

3.3.3 将你向演讲者提出的问题传送到仪表板,以便演讲者可以看到观众提出的所有问题,然后演讲者可以选择要回答的问题

限于篇幅,就不Copy人家代码了。

有兴趣的朋友,可以下载电子书瞧瞧,也可以直接去GitHub下载源代码。https://github.com/Azure/ConferenceBuddy

这里贴一个架构图:

Conference Buddy 机器人有两个主要组成部分:

会议机器人

该组件智能地处理所有与消息相关的事件。

适用于多个渠道,这意味着用户可以通过电子邮件、Skype 或使用自定义消息服务(通过机器人连接器连接到会议机器人)。

机器人大脑

它负责将机器人的业务逻辑抽象化,机器人大脑中存在个别机器人任务,问题和结果显示在 Conference Buddy 仪表板上。

机器人大脑是智能机器人任务的集合,其中每个机器人任务是用于完成单个任务的函数,并且独立于其他机器人任务。

机器人任务

机器人任务是业务逻辑的函数,可以利用多个认知服务 API 来处理用户的消息。机器人任务是机器人大脑集合中的函数。每个机器人任务可以部署

到同一个 Web 服务或单独的 Web 服务,并可相互独立地进行扩展。

例如,“询问 xxx 是谁”任务使用两个认知服务 API - 必应网站搜索和必应图像搜索,将结果合并在响应对象中,并将其发送回给会议机器人。然

后会议机器人会创建一个内容丰富的图形卡片,以将收集到的信息返回给用户。

对话流:Conference Buddy 机器人在工作中的一个例子

为了了解 Conference Buddy 机器人如何运作,我们来研究一个典型的对话流:

1. 用户通过发出第一条消息来调用会议机器人。

2. 会议机器人作出回应,首先向用户打招呼,然后介绍自己能做些什么。

3. 然后用户提出问题,例如,“演讲人lili是谁?”

4. 会议机器人将消息传送给 LUIS 以确定消息的意图:LUIS 解析消息,

在我们的示例中,会返回“这是一个询问 xxx 是谁的任务”。

5. 然后,会议机器人在机器人大脑中,选择要通过 HTTP Post 调用的相应的机器人任务。

在我们的示例中,“询问 xxx 是谁”的任务将执行以下动作:

a. 将字符串发送到必应网站搜索并获取结果。

b. 将字符串并行发送到必应图像搜索。

c. 将图像和文本合并到会议机器人能够理解的响应对象/数据协定中。

6. 会议机器人将图形卡片作为结果发送给用户。

7. 会议机器人将结果发送到 Azure 搜索以进行存档,以便仪表板可以使用它。

8. 用户可以单击卡片上的链接,以从文章来源获取更多信息。

通过以上对话流,我们大致就知道咱们首款智能机器人的工作流程,剩下的就是掌握其中的每一个环节,优化它,使它工作的更好。

仪表板

充当会议与会者和演讲者探讨的问答库。Conference Buddy 仪表板有以下功能:

• 显示所有听众实时提出的问题

• 允许演讲者按照会话、机器人技能或主题快速搜索、排序或过滤结

果,以查看提交的相关问题。

这个就简单多了,Java、PHP等各种Web语言都能很快实现。

四、结合电子书,实践一下

回头看,智能对话机器人并没有那么难,阅读本文至少能看懂个大概。

或者说,智能对话确实非常接地气,咱们生活中的场景比较多。

京东等购物平台的智能客服已经可以解决一些标准化问题了。

推销公司有时候,会有AI版的电话自动打过来,问你要不要这个,要不要那个。

有关本文“智能机器人”实现的更多内容,大家可以下载电子书。这本电子书的2个作者,都是业界大牛。

Anand Raman 是 Microsoft AI 平台的办公室主任,也是 AI 生态系统的负责人。
Wee Hyong Tok 是 Microsoft AI 平台团队的首席数据科学经理。他领导工程和数据科学团队负责“AI for Earth”计划。

有关本文“智能机器人”实现的更多内容,大家可以点击文末 “阅读原文” 下载电子书。