Facebook 最近开放了 Messenger Platform 用以集成聊天机器人(chatbot)来完成各种任务。
Facebook 中的 Wit.ai 团队公开发布了他们的机器人引擎(Bot Engine),它是一个用来解析人类语言并转化为结构化可操作的数据的人工智能平台。Facebook 正在 Messenger 上使用它来创建个人的数字助手,该助手能够理解并完成用户的任务。Facebook 想要突破目前 Google Now 和 Siri 能够完成的简单任务,例如语音听写,设定日程以及呼叫他人。在 Facebook M 中,用户可以通过和他们的助手讲话来进行购物,订酒店或者和其他的 IoT(物联网)设备交互。
但是 Facebook 发现这项工程涉及范围太广以至于一家公司很难去完成,所以他们向所有愿意为 Messenger 创建聊天机器人的开发者公开了机器人引擎。类似机器人之前也有过,它们大部分是基于一些规则,能够理解有限的语音指令并给出相应的回应。Wit.ai 的引擎一开始就是通过故事来训练的,就是包含了人类和机器人可能有的对话的一个集合。这些故事也包含了在对话中某些点机器人所要作出的动作,而且不同于规则,故事不会互斥。这些故事是一个起点,开发者在测试机器人的同时,新的对话也会自动的被引擎转化为新的故事,这样就可以逐渐的创建一个模型,其可以被 Wit.ai 的机器学习引擎用来处理和理解真实场景下和用户的对话。
聊天机器人的目标是最终取代应用。用户不再需要在自己的设备上安装各种应用,而是使用 Messenger 来和各种的聊天机器人交互,从而完成各种任务,目前这些任务都是通过触屏界面由各种应用完成的。聊天机器人主要是依赖语音信息以及人工智能来完成指令。
Messenger 的聊天机器人是使用 HTTP API 来访问机器人引擎的。现在已经有对 Node.JS,Python 和 Ruby 的封装。引擎用 JSON 格式回复。下面就是一个例子,其请求处理消息“Turn on the lights in the living room”,可以看到引擎的回复:
// request $.ajax({ url: 'https://api.wit.ai/message', data: { 'q': 'Turn on the lights in the living room', 'access_token' : 'MY_WIT_TOKEN' }, dataType: 'jsonp', method: 'GET', success: function(response) { console.log(response); } });
// response { "_text": "Turn on the lights in the living room", "confidence": 1, "intent": "lights", "entities": { "room": [ { "value": "living room" } ], "on_off": [ { "value": "on" } ] } }
Wit.ai 给出的 demo 应用展示了如何通过语音指令控制房间中各种家电。
Microsoft 在 /BUILD 2016 期间也公布了一个类似的服务,叫做 Bot Framework 。目前是一些技术预览,它将在年底前可用,并会支持 C#和 Node.js。
查看英文原文: Facebook Wants to Replace Apps with Bots
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论