现如今人工智能、个人助理以及聊天机器人不断崛起,越来越多的诸如“Siri”、“Alexa”、“Cortana” 和 “Ok Google” 的智能设备将我们与互联网以及日益增加的物联网(IoT)连接起来,我们可以跟它们语音打招呼,拥有这样的个人助理是人人都梦寐以求的事情。在 2017,几乎所有的信息程序和智能手机系统都有聊天机器人或语言助理功能!尽管人工智能的真正水平还是饱受争议的,但我们正亲眼目睹人工智能世界的兴起——人人都拥有为其所支配的虚拟助理!
幸运地是,对于想要参与人工智能开发的开发者来说,有大量的服务及框架来简化开发流程。方便连接智能家居、控制自制媒体中心、通过个人AI助理传送各种信息……这都归功于 API 和服务,让我们有了这么多创建人工智能的方法。经过 2015 和 2016 整整两年的发展,2017 年开发者拥有比以往任何时候都多的构建方法。
本文中我们将分享一些较为实用的服务,旨在让开发者能够将自己的 App 和 IoT 设备连接到语音识别、聊天机器人和人工智能之上。
Wit.ai是一种为开发人员提供结合了语音识别和机器学习的服务。它能将口头命令转换为文本,并且还可以对如何理解这些命令进行训练。它还有一种机器学习的形式,您可以在其中训练它理解以前不理解的命令,然而这并不是一个自动的过程(这还不是一个完全智能的生物!)。在 2015 年初,他们加入了 Facebook 并开放了整个平台,免费给公共和私有实例使用。自那以来,虽然它的发展趋势一直跌宕起伏,但该团队为 2017 年准备了大计划。
Wit.ai有两个主要元素需要在你的 App 中设置——目的(intent)和实体(entity)。意图(intent)是特定指令应该采取什么特定行动(例如,打开灯光)。实体(entity)是我们的AI需要知道的一个特定的对象或片段信息来实现意图,例如哪种光?是不是智能光?它应该知道光可以切换成特定的颜色吗?这并不需要从头开始创建意图,Wit.ai 还提供方式直接获取开发者社区现有的意图,这简直牛得不得了!
Wit.ai 也有“角色”的概念,在那里它可以学习区分不同语境中的实体(例如,指令的不同数字可以指代不同的东西,如年龄,订单,计数)。它还有一些它能理解的内置的实体类型,如温度,链接,电子邮件,持续时间等。
Wit.ai 的一个新功能是“故事”功能,它允许你以新的方式定义典型的对话。您可以设置初始问题,如“悉尼的天气如何?”,然后定义系统应该执行的步骤和提出后续问题。它具有“分支”的概念,如果系统在前面未能获得全部所需的信息(例如,如果用户说“天气怎么样”),则以不同的方式调整会话。
Wit.ai 为iOS,Android,Node.js,Raspberry Pi,Ruby,Python,C,Rust 和 Windows Phone 的开发人员提供一个 Wit.ai API。它甚至为前端开发人员提供一个JavaScript插件。
Api.ai 是一个聊天机器人 API,它跟 Wit.ai 类似,有目的和实体。它提供机器学习功能,如果有人使用跟个人助理的硬件编码稍微不同的短语,这时它便可以做出猜测。他们于 2016 年 9 月被 Google 收购。它现在是为Google的Home平台构建会话界面的主要方式之一。
Api.ai 与 Wit.ai 不同的一个关键点是“域”。域是 Api.ai 各种知识和数据结构的集合,它可以在每个 Api.ai 代理中使用( app 在 Api.ai 中称为“代理”)。域可以包括常见动词和内容类型两者的知识。例如,与 “Book hotel” 相比,它能理解 “Book restaurant” 是不同类型的数据。它有各种关于历史,词义,伟人(例如名人,作家,人物),电影,股票价格等百科全书式主题的真实信息。
Api.ai可以免费使用,但目前在他们的网站上却有点误导性——截至2016年,它并不完全免费。大部分 “域” 现在要求你升级账号,但价格不详(开发人员需要联系Api.ai的销售团队)。 Api.ai 还有一个付费的企业选项,允许整个服务在内部的私有的云上运行,了解更多详情请联系他们的服务团队。如果你使用完全私有的,这是非常值得的。
Api.ai 具有 Android、iOS、Apple Watch、Node.js、Cordova、Unity、C ++、Xamarin、Python和JavaScript等的 SDK。特别是Unity集成,可能会开放给除去以上列出的其他平台!它也可以与亚马逊的 Echo,Skype,Slack,Facebook Messenger,微软的 Cortana 等进行整合。
如果你想用 Api.ai 构建人工智能,可参考我在 SitePoint 上关于Api.ai入门的系列文章。
如果自己想要进行更多 AI 方面的编程,并且你是 Raspberry Pi 爱好者,那么可以参考 Melissa。 Melissa 是一款用 Python 编写的开源个人助理,它能运行于 Raspberry Pi、Windows、OS X 和 Linux 系统。它的更新频率很高,相当多人大赞于此。
Melissa 始终保持语音控制,并提供各式各样的开箱即用对话框,包括做笔记、谈星座、获取维基百科的定义、播放音乐等等。 对于想要完全控制的 Python 开发人员而言,Melissa 可能就是为你量身定做!要了解更多信息并获取有关如何构建的详细信息,主开发人员 Tanay Pant 有一本更加详细介绍 Melissa 的完整书籍,它已经被当作 Melissa 的详细文档。
从一个完全不同的角度来看,Clarifai 是一种可以识别图像和视频内容的人工智能服务。 它有自己的深入学习引擎,经过每次使用都会不断改进。如果你热衷于将 AI 原型提升到一个全新的水平,为什么不给予它查看和识别对象的能力? 它可以从标记图像,搜索视觉上相似的其他图像和标记不适当的图像来做各种各样的事情。如果你想把它提升到一个新的水平,你甚至可以用自己的例子来训练平台引进全新的概念。
为了将其整合到你自己的应用程序中,Clarifai 同时拥有用你的首选语言以及Python、Java 集成的 REST API 和 Node.js API。 他们的服务每个月最多能免费使用 5000 次使用。 我在 SitePoint 上有一个关于使用 Clarifai 的指南,想立刻构建人工智能的伙伴们赶紧收藏 —— 如何基于图像识别技术让 Web App 更加智能
如果你想要克服这些带来大量繁重工作的服务,并且希望构建真正的人工智能系统, Google TensorFlow 可能是就是你的不二选择! 虽然这将花费你更多时间来构建人工智能,但与此同时你将学到更多关于深度学习和人工智能的知识。TensorFlow 是“一个使用数据流图进行数值计算的开源软件库”。这对于训练图像识别系统或学习做语言处理这些事将是有益的。同时你也可以用 TensorFlow 构建会话式 AI,TensorFlow 是经过特定数据训练的,如 SpeakEasy AI,这是一个基于在 Reddit 上数百万条评论训练的神经模型聊天机器人。
这一系列服务和API可以帮助构建人工智能、个人助理、聊天机器人等。无须成为计算机科学专家你也可实现 App 中的一些核心基础框架!尝试使用以上的服务,看看你可以创建什么样的人工智能。 如果你对自己自信满满,建议你直接用 TensorFlow 去构建令人脑洞大开的人工智能。
作者:Patrick Catanzariti 译者:陈云龙
原文:Five Simple Ways to Build Artificial Intelligence in 2017
媒体合作请联系:
邮箱:contact@dataunion.org