人工智能、个人助手和聊天机器人等技术正快速兴起。随着 Siri、Alexa、Cortana 和谷歌助手等产品的发展,可连接互联网和物联网的个人助手正变得越来越常见。

2017 年,几乎所有聊天工具和智能手机操作系统都提供了聊天机器人或个人助手。尽管这类个人助手能否算作真正的人工智能仍存在争议,但在即将到来的世界中,几乎所有人都将用上这样的虚拟助手。

如果开发者希望在这方面有所作为,那么幸运的是市面上已出现一系列服务,能协助开发订制的人工智能、聊天机器人和个人助手,实现各种不同目的,例如连接智能家居设备,控制 DIY 的媒体中心,通过个人智能助手发布各类信息。

由于 API(应用程序接口)和这些服务的存在,开发者的选择很多。2015 至 2016 年,这些服务得到了快速发展。而 2017 年,开发者将比以往获得更多工具。目前,开发自己的解决方案已不再是难事。

以下是当前的部分服务,能帮助开发者将自主应用和物联网设备连接至语音识别、聊天机器人和人工智能服务。

01、Wit.ai

Wit.ai 向开发者同时提供了语音识别和机器学习功能。该服务能将语音命令转换为文字,并通过接受训练来理解这些语音命令。Wit.ai 还提供了某种形式的机器学习机制,你可以训练 Wit.ai 去理解从未见过的命令。不过,这并非自动化的过程。2015 年初,Wit.ai 加入了 Facebook,并将整个平台免费开放给公共和私人用途。自那时以来,Wit.ai 的开发断断续续地推进。不过,2017 年该团队提出了远大的计划。

Wit.ai 包含两个主要元素,用户需要在应用中进行设置,分别为“意图”和“实例”。意图的定义是命令对应的操作(例如打开灯光)。实例的定义是特定对象或某条信息,我们的人工智能需要知道这些对象和信息,才能执行意图(例如是哪一盏灯?是否是智能灯泡?灯泡是否支持特定的颜色?)用户不需要从头开始创建意图,Wit.ai 的开发者社区已提供了大量的意图可供选择。

Wit.ai 还提出了“角色”的概念,从而在不同环境下区分不同实例(例如,命令中不同部分出现的数字可以代表不同含义,例如年龄、顺序和计数等)。Wit.ai 内建了某些实例类型,从而便于理解,例如温度、链接、电子邮件和持续时间等。

Wit.ai 近期提供了名为“故事”的新功能,用户可以以全新方式去定义典型对话。你可以设置初始问题,例如“悉尼今天的天气如何?”随后定义步骤,以及系统应当提出的问题。这里还存在“分支”的概念,当系统没有获得全部必要信息时,将会以不同的方式去推进对话。

Wit.ai 为 iOS、Android、Node.js、树莓派、Ruby、Python、C、Rust 和 Windows Phone 提供了 API,此外还为前端开发者提供了 JavaScript 插件。

02、Api.ai

Api.ai 是一款聊天机器人 API,功能类似 Wit.ai,也包含意图和实例的概念。其机器学习能力能够猜测,用户使用的命令语句是否与硬编码至人工助手的语句略有不同。2016 年 9 月,Api.ai 被谷歌收购,目前已成为在谷歌 Home 平台上开发会话式界面的主要方式之一。

Api.ai 与 Wit.ai 关注点的主要不同之一在于“域”。域是来自 Api.ai 的整个知识和数据结构,可被用于每个 Api.ai 代理(在 Api.ai 中,应用被称作“代理”)。域可以包括由普通动词和内容类型组成的知识。例如,它可以理解数据,例如“预订餐厅”和“预订酒店”之间不同。这其中还集成了百科全书式的大量信息,主题包括历史、单词定义、重要人物(例如明星、作家和电影角色)、电影和股价等。

Api.ai 可以免费使用,但目前其网站上的信息令人迷惑。到 2016 年为止,Api.ai 并不是完全免费的。大部分“域”在使用时需要你升级帐号,但具体价格不明(开发者需要直接联系 Api.ai 的销售团队)。Api.ai 还提供了付费的企业版,让整个服务运行在内部私有云之上,同时获得更多服务支持。如果严格要求在私有环境下使用,那么这很有价值。

Api.ai 提供了 Android、iOS、Apple Watch、Node.js、Cordova、Unity、C++、Xamarin、Python 和 JavaScript 的 SDK(软件开发工具包)。通过对 Unity 的集成,Api.ai 还可以被用在以上没有列出的其他平台上。此外,这还可以与亚马逊 Echo、Skype、Slack、Facebook Messenger 和微软 Cortana 进行集成。

03、Melissa

如果你希望自主进行人工智能编程,同时又是树莓派的粉丝,那么可以看看 Melissa。Melissa 是开源的个人助手,使用 Python 编写,可以运行在树莓派、Windows、OS X 和 Linux 等平台上。Melissa 的更新很频繁。

Melissa 提供了永远开启的语音控制功能,默认集成了一系列对话示例,包括做记录、星座、从维基百科获取定义,以及播放音乐等。如果 Python 开发者希望获得完全的控制权,那么 Melissa 也可以做到。Melissa 的主要开发者塔尼·潘特(Tanay Pant)在一本书中介绍了 Melissa 的更多细节,这也是关于 Melissa 的详细文档说明。

04、Clarifai

Clarifai 是一款思路完全不同的服务,可以识别图片和视频内容。Clarifai 具备自主的深度学习引擎,随着用户的使用能持续优化。如果你希望将自己的人工智能原型产品发展至全新的高度,那么一个很好的选择就是使其能够识别对象。Clarifai 能完成照片标记、搜索类似照片,以及标记不恰当照片等操作。你甚至可以使用自己的范例数据,指导平台学会全新的概念。

如果希望将其集成至你的应用,那么 Clarifai 一方面提供了可集成至常用语言的 REST API,另一方面也提供了 Python、Java 和 Node.js API。Clarifai 的免费服务支持每月最多 5000 次使用。

05、TensorFlow

如果你真的希望从头开始开发人工智能,那么谷歌的 TensorFlow 可能是最好的选择。尽管 TensorFlow 的使用相对麻烦,但你可以从中更好地学习深度学习和人工智能。TensorFlow 是“利用数据流图谱进行数值计算的开源软件库”,最擅长训练自主的图像识别系统或语言处理工具。利用特殊数据集,你也可以用 TensorFlow 开发出会话式人工智能。例如,SpeakEasy API 就是一款利用 Reddit 网站上数百万条评论训练出的聊天机器人。

利用 TensorFlow 可以开展的项目几乎没有任何限制,甚至有开发者训练其为知名美剧《老友记》撰写新剧本。

结论

市面上有多款服务和 API,可以提供人工智能、个人助手和聊天机器人等功能。将这些功能集成至自己的应用并不需要你的水平达到计算机科学家的高度。

而如果你对自己非常有信心,那么可以直接尝试 TensorFlow,开发出令人耳目一新的新功能。

-完-