来自 eBay 的软件工程师 Robet Enyedi 在 QCon 纽约 2017 会议上谈了个人购物助手这款购物机器人应用背后的架构设计。这款购物机器人助手于2016 年发布,是基于 Facebook Messenger 打造的,集成了 AI 组件和 ebay 的用户数据,通过对话的形式来为用户提供购物选择。
Enyedi 认为 AI 技术给商业带来了深远的影响,简洁的、能够提供个性化交互的在线购物体验才能满足当前用户的需求。
开发购物聊天机器人有诸多挑战,例如要解决关联性问题,提供购物会话、信息会话以及售后会话等功能,这可不止是简单的搜索。同时,系统设计上也存在约束,比如用户的输入信息可能比较少,或者由于多次交互导致用户输入信息零散化等问题。要准确理解用户的输入,需要大量的数据作为输入,系统的输出也要能做到用户友好。
第三方机器人框架一般都支持自然语言理解和处理、意图检测(例如天气、航班以及购物等信息)、实体抽取(例如数字、温度等信息)。但是他们在非线性会话和粗粒度机器人记忆功能方面很有限,API、工具和实现方面的可用度和成熟度也千差万别。eBay 团队自己实现了机器人解决方案,其可以提供商务感知的输入分析,这些分析结果又可以通过大规模数据分析、细粒度的长期且存储安全的机器人记忆管理来调整,并且支持非线性多轮次会话。
购物机器人架构一般包含以下几个模块:
-
Facebook Massagener
-
购物机器人内部组织 (ShopBot Fabric)
-
购物机器人 AI 系统 (包括输入处理器和对话管理器)
-
数据存储 (机器人记忆和知识图谱)
购物机器人技术栈基于微服务架构,包括java8、Scala、Python、Play、 Google Cloud BigTable 以及 Spark 机器学习模型训练。部署模型基于 Google 云平台、 Docker 以及 Kubernetes 。
这款应用支持多轮次会话和多模式系统输入等特性。多模式系统输入可以是文本、点击、音频或者这些所有输入的混合。多轮次对话则包含围绕一个话题的对话,这比传统的一维搜索效率更高。
对话管理器是购物机器人应用的核心模块,输入分析、机器人记忆管理、商品检索、搜索 (文本,可视和综合搜索) 以及知识图谱等,都依赖于对话管理器。
购物机器人未来规划包括:在云端提供 eBay 全部的库存详单,在非线性对话交流功能上继续创新以及在可使商务对话更加简洁和快速的 AI 技术上投入研究等。
感兴趣的读者可以在 eBay 网站尝试购物机器人应用。
感谢张卫滨对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论