9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

以 eBay 机器人购物助手为例阐述聊天机器人的可扩展架构

  • 2017-07-17
  • 本文字数:1106 字

    阅读完需:约 4 分钟

来自 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 网站尝试购物机器人应用

查看英文原文: Scalable Chatbot Architecture with eBay ShopBot Shopping AssistantLike | by Srini Penchikala on Jul 09, 2017. Estimated reading time: 1 minute | Discuss


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-07-17 19:001910

评论

发布
暂无评论
发现更多内容

推荐这款牛掰的 API 敏捷开发工具,java程序设计教程课后题答案

Java 程序员 后端

斯坦福高效睡眠法-读书笔记,这可能是目前最全的

Java 程序员 后端

最近被安排搞搜索接口优化,压测了4次,才勉强达到要求

Java 程序员 后端

月薪60k的Java开发在阿里是什么级别?对技术能力有哪些要求?

Java 程序员 后端

有个厉害的程序员老婆是什么体验?,mysql性能优化面试题

Java 程序员 后端

技术站最全MySQL数据库实战规范,java程序语言基础王锦盛

Java 程序员 后端

拿捏了!ConcurrentHashMap!,宝塔linux建站教程

Java 程序员 后端

最新版SpringBoot开发实战:阿里技术官从基础到项目综合实战pdf

Java 程序员 后端

抱歉!没有这 28 款插件的 Chrome 是没有灵魂的,mysql自增主键实现原理

Java 程序员 后端

数据库ACID四大特性到底为了啥,一文带你看通透,java支付宝支付接口教程

Java 程序员 后端

服了!阿里资深架构师发布SpringCloud笔记,在GitHub标星已达81

Java 程序员 后端

推荐一款技术人必备的接口测试神器:Apifox,不愧是大佬

Java 程序员 后端

最新基准测试:Kafka、Pulsar-和-RabbitMQ-哪个最快,阿里Java笔试题目

Java 程序员 后端

本科毕业斩获字节offer的我做了什么准备?大厂面试经验试题分享(1)

Java 程序员 后端

无论你是什么职业,这篇职场生存法则都是你必备的,java微服务架构技术

Java 程序员 后端

普通本科,毕业六年,复盘一个月,mybatis一级缓存和二级缓存面试题

Java 程序员 后端

是什么Java面试题PDF被Git全面封杀?刷完这套题已经拿完9个Offer!

Java 程序员 后端

技术干货:单体,SOA,微服务,分布式,集群架构详解,java开发面试简历

Java 程序员 后端

数据结构的栈和队列(这不进来看一看),计算机java语言入门

Java 程序员 后端

数据结构系列第六部分:排序,Github爆火的《高并发秒杀顶级教程》

Java 程序员 后端

数论 - 约数基础 【 试除法求所有约数 + 约数个数和约数之和

Java 程序员 后端

是什么让普通的链表也能达到二分查找的效率,你知道吗?

Java 程序员 后端

普通程序员就不能有拥有架构师光环?想要建立架构思维,这份京东架构技术精髓一定不能错过

Java 程序员 后端

排除MySQL中常见错误的实用招术,什么是微服务扩展性和高可用、可扩展性

Java 程序员 后端

数据库索引的原理,springcloud视频百度云

Java 程序员 后端

数据库中间件MyCat实战笔记(第一步),arm架构linux系统

Java 程序员 后端

拼多多3面+余额宝4面+蚂蚁金服5面,Java自学宝典

Java 程序员 后端

提升开发效率N倍的20+命令行神器,赶紧收藏了,mybatis原理图

Java 程序员 后端

新人问一般都用哪些 Linux 命令,我把这个扔了过去,linux基础及应用教程课后答案

Java 程序员 后端

拜读!程序员60K+高薪技术,spring整合mybatis原理

Java 程序员 后端

数据源的概念是什么?Springcloud+Mybatis如何使用多数据源

Java 程序员 后端

以eBay机器人购物助手为例阐述聊天机器人的可扩展架构_大数据_Srini Penchikala_InfoQ精选文章