商品结构化是增强商品信息质量的关键环节,如何高效地去结构化,既让商户发布的成本最低、又让商品的信息质量最高?这里是闲鱼团队意境老师带来的分享。

1. 缘起

闲鱼是一个典型的C2C场景的闲置交易平台。每个在闲鱼的用户都能享受到自由交易的乐趣。在这里,可能你只要简单的输入商品名,商品价格,库存等信息就能完成一个商品的发布。即便是发布以后,你也可以随时修改价格,内容等信息。充分的自由是闲鱼活力的来源,但是这对于一个电商品台来说却有着难言的痛苦。本文要说的商品结构化就是痛点之一。

商品结构化为什么重要?结构化信息是平台认识商品的一个基础。只有平台了解商品的各个属性,才能准确地将适合的商品推荐给适合的用户。这样才能更加高效地为买卖家用户创造价值。

而所以C2C平台的商品结构化之所以难,是因为C商家完成结构化的负担重而动力不足。怎样让用户以最小的成本,来完成结构化就是一个非常大的挑战。我们不能寄希望于商家后台这样很重的解决方案,我们需要的是一个简单高效灵活的解法。

2. 技术破题

怎么解决?首先我们从整个C2C商品发布的全周期做一个方案的对比分析。

方案一 离线式方案

改方案包括算法关联&社会化方案。算法关联方案是通过技术手段对用户发布的商品进行分析,从而进行同款的关联或是属性打标。社会化方案核心是将商品结构化包装成一个活动。这样能通过用户参与答题的方式,进行商品结构化的关联。离线方案核心的缺点是关联链路太长,数据回流慢。更为重要的问题是分析出的数据没有用户确认,无法在显示域中使用。

方案二 手动关联方案

这个是发布中的处理方案。这个方案可能是最为直观的方案。发布过程中,引导用户做属性打标或者同款商品的关联。这个方案的优点是简单直观。缺点同样明显:完全将成本转嫁给用户。对C卖家来说,每增加一个发布选择项,都可能导致用户流失。这个方案可以做为结构化的补充,却不是我们寻找的最优解。

我们的思考:我们能否在保障实时性的前提下,实现一个高效低成本的方案呢?答案就是本文给出的方案:智能发布方案。如果闲鱼用户在发布阶段就能将准备发布的商品自动关联上手淘的商品库中的某个商品。该商品就能使用同款商品的若干结构化信息,商品结构的化的问题不就迎刃而解了么?

方案对比

可见智能发布方案是一个成本和效果最为均衡的方案。

3. 产品逻辑

先从通过下图,了解一下产品核心逻辑:(以视频发布为例)

简单拆解:

  • 主体对焦

作为智能识别的开始。我们需要通过AI算法识别出端侧的拍摄的主体对象。同时还通过tracking 算法对物体做短暂的跟踪对焦。这样做的目的是跟用户对识别物体目标保持一致。

  • 智能识别&引导

我们会在用户拍摄过程中对被拍摄物体进行实时识别。并且我们非常创新地通过算法,引导用户拍摄目标对象的核心信息。这里引导的作用是为了放大算法的效果。俗话说巧妇难为无米之炊。如果用户拍摄的内容没有目标的核心信息,算法也很难做出精准的预测。

  • 结果反馈&用户确认

当用户拍摄完成,我们会以同款的方式,让用户进行一个简单的选择。一旦用户选中某个商品(可以不选)就能完成结构化关联。至此我们将复杂的商品结构化问题,转变成用户手指简单的一点。用户的结构化成本已经微乎其微。

4. 架构设计

4.1 技术挑战

综上智能发布的核心解法是将商品结构化的产品问题,转变成同款商品匹配这样的技术问题。

所以我们的核心技术挑战:

  1. 在发布阶段进行商品识别的实时性保障

  2. 怎样通过压榨AI的能力从而最大化同款商品的匹配成功率

那技术上可行么?从闲鱼角度解这个问题,我们有三大技术优势:

  1. 以AliNN为代表的移动AI解决方案使得端侧AI计算成为可能

  2. 我们有这个星球上可能最大的商品信息库(淘宝&天猫)

  3. 阿里达摩院雄厚的AI能力

我们可以通过前置部分AI能力到端侧,大幅度提升链路的实时性。同时我们将AI识别能力和淘系商品库做结合,完成同款商品匹配的功能。

为了做到上面的能力,我们构建了完整的智能发布技术架构。

4.2 逻辑架构

首先介绍我们的逻辑架构

整体设计上面分为三层:

  1. UI 展示和交互层。核心是处理用户输入和结果反馈。

  2. 逻辑处理层。主要是控制智能识别管线的运作逻辑和子模块处理结果的分发

  3. 框架层主要是各个核心处理子模块

4.3 架构细节

细节来说,我们通过协同flutter,java/Oc和C++三层逻辑来构建高效的识别能力。如下图所示:

主要设计考量:

  1. 充分利用不同的技术,最大化研发效能。

    我们充分利Flutter多端一致性的优势在UI层使用Flutter进行开发。同时我们将部分共同的算法下沉到C++层。这样能大幅提升两端逻辑的复用率和一致性。

  2. 充分利用端侧的计算能力

    模糊检测,相似度检测,主体识别,tracking这些算法都是在端侧实现的。除了充分利用端侧的计算能力外,更重要的是提升拍摄过程中的处理效率。最大化降低对网络请求的依赖。

    通过极致的压缩算法,将最终上传的图片大小控制在10K左右。即便是4次请求也不过40K。可以说对用户流量不会构成压力。

  3. 管线编排系统

考虑到后期系统的持续优化,对子模块的处理逻辑的调整不可避免。因此我们设计了一个灵活的管线来管理所有的处理逻辑。该管线能灵活组合java/Oc和C++的能力。并且可以方便做到子功能的顺序调整和功能增减。架构设计如下所示(以android为例):

用户隐私的保护

用作识别的图片会做加密处理,将用户隐私泄露的风险降低到最小。出现在公域中的图片地址都是无法直接访问的。即便泄漏用户的隐私也可以保全。

4.4 算法架构

算法侧的我们也做了大量的优化。

智能发布的最核心算法是同款商品的匹配算法。我们将单帧的预测算法改进为多帧预测。并且我们创新性地将算法和交互做深度融合,极限压榨算法的极限能力。过程如下所示:

如果算法发现当前帧若不足以作出较为准确的算法预测,则将图像信息向后传递。在传递过程中,及时通过文案引导用户拍摄算法所需要的信息。依次迭代直到完整预测出商品信息。算法处理逻辑如下图所示。

5.效果

实时性处理性能:经过我们的测试,识别过程除主动提示外对用户无明显感知。用户的正常拍摄过程无掉帧等性能问题。

同款商品识别效果方面:

总体上基于多帧识别准确度相比单帧提升约20%。

受限数据披露限制,不方便贴出分类目具体测试数据。给出几个相对明确的结论:

经过我们的试验,我们发现在彩妆/香水/美妆工具、美容仪、玩具等标品类目中识别率比较高。这些商品的核心信息往往容易在物品表面找到,容易识别。

而在非标品或者半标部分,例如童装,运动鞋等识别率相对较低。这些商品的信息往往在外形中透出不足。这时候算法就需要用户配合拍摄例如品牌这样的核心信息。总体来说识别难度更大。

6. 未来

智能发布将在9月份的版本中跟大家见面,欢迎大家试用&反馈。首先上线的是视频发布的部分,后续还会增加图片,活动等场景。通过智能识别的项目,我们相信一定可以不断提升闲鱼商品结构化率。

通过该项目我们不仅构建了闲鱼完整的对商品的实时识别能力。同时也沉淀了图片预处理,tracking等一批端计算核心算法。基于此,我们完全可以将更加实时的AI的能力赋能给更多场景(例如扫指定商品或者logo参加特定活动等)。

我们畅想的未来发布是一个高度智能化的发布。基于摄像头对商品做深层次理解,系统直接给出商品信息,结构化标签,推荐价格,甚至新旧程度等发布要素。用户所要做的仅仅就是一个确认。今天的智能发布只是我们伟大征程的第一步,我们会向着目标不断努力!


=>更多文章请参考《中国互联网业务研发体系架构指南》

https://blog.csdn.net/Ture010Love/article/details/104381157

=>更多行业权威架构案例、领域标准及技术趋势请关注微信公众号 '软件真理与光':

更多权威内容关注公众号:软件真理与光

【商品架构day6】阿里闲鱼亿级商品结构化 - 用技术的力量去降低商户录入成本相关推荐

  1. 闲鱼亿级商品结构化背后的思考和演进

    来自:闲鱼技术 背景 闲鱼是一个典型的C2C场景的闲置交易平台,每个在闲鱼的用户都能享受到自由交易的乐趣,只要简单的输入商品名,商品价格,库存等信息就能完成一个商品的发布.充分的自由是闲鱼活力的来源, ...

  2. Pick!闲鱼亿级商品库中的秒级实时选品

    一.业务背景 在电商运营工作中,营销活动是非常重要的部分,对用户增长和GMV都有很大帮助.对电商运营来说,如何从庞大的商品库中筛选出卖家优质商品并推送给有需要的买家购买是每时每刻都要思索的问题,而且这 ...

  3. 闲鱼java系统_闲鱼亿级账户数据迁移的方法

    1.背景 随着闲鱼用户快速增长,运营活动越来越趋于精细和个性化,运营会根据用户偏好为其投放合适的活动,如下图所示在闲鱼首页商品展示时,会在商品的列表中插入活动Banner,通过这些活动banner引导 ...

  4. 亿级商品详情页架构演进技术解密 | 高可用架构系列

    亿级商品详情页架构演进技术解密 | 高可用架构系列 --http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&i ...

  5. 商品卖不动?闲鱼Tellus任务系统来帮你

    业务背景 闲鱼作为一款C2X的app,与淘宝.天猫等B2C的业务模式存在天然不同.个人卖家也是普通的消费者,很多个人卖家相比专业卖家,并不清楚如何卖出自己的商品,问题主要表现在以下两个方面: 商品信息 ...

  6. 走近科学,探究阿里闲鱼团队通过数据提升Flutter体验的真相

    背景 闲鱼客户端的flutter页面已经服务上亿级用户,这个时候Flutter页面的用户体验尤其重要,完善Flutter性能稳定性监控体系,可以及早发现线上性能问题,也可以作为用户体验提升的衡量标准. ...

  7. 京东亿级商品搜索核心技术解密

    声明:本文来自京东张开涛的微信公众号(kaitao-1234567),授权CSDN转载,如需转载请联系作者. 作者:王春明,现任京东搜索平台部负责人,2011年加入京东搜索团队,期间一直负责京东搜索引 ...

  8. 京东APP百亿级商品与车关系数据检索实践 | 京东云技术团队

    导读 本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询.通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性 ...

  9. 转:架构师实践日|亿级短视频应用秒拍的架构实践

    转自: http://mp.weixin.qq.com/s?__biz=MjM5NzAwNDI4Mg==&mid=2652190131&idx=2&sn=6672422564e ...

  10. 京东构建需求响应式亿级商品详情页技术分析

    转自涛哥的博客:http://jinnianshilongnian.iteye.com/blog/2235572 1.构建亿级前端读服务 从入职京东到现在,做读服务已经一年多的时间了,经历了各种亿级到 ...

最新文章

  1. 腾讯首席战略官詹姆斯: 从互联网信息的永久性和稀缺性看腾讯的投资逻辑
  2. 将C++里的Mat矩阵保存并由matlab提取分析
  3. 诺基亚7plus更新android10,诺基亚发布第五次Android 10更新 诺基亚7+可升级
  4. Fiori Launchpad etag retrieve logic - UI5 Repository
  5. Linux 桌面玩家指南:09. X Window 的奥秘
  6. Ubuntu Sudo 无法解析的主机
  7. 带负荷测试要求二次最小电流_开关柜设计人员如何选择合适的零序电流互感器?...
  8. nginx搭建网关服务器
  9. 良心安利游戏音效素材网站
  10. 安装mosek并配置到matlab
  11. 印象笔记支持Markdown语法
  12. 华为太极magisk安装教程_教程:如何升级太极内部的应用
  13. 51单片机语音跳绳计播报跳绳数目
  14. PHP 大地坐标系转高德经纬度
  15. 微信们开放外链,互联网“圈地”成历史?
  16. 适合自己的贵金属白银今日走势分析是最好的
  17. Ansible Inventory内置参数
  18. latex表格内部自定义换行
  19. 前端开发行业现状调查
  20. 74LS161构成10进制计数器

热门文章

  1. 关于期权池Option Pools与Vesting:码农创业防身必备法器
  2. 高质量程序设计指南(笔记)
  3. Android开发者指南-Manifest.xml-uses-feature
  4. MySQL初步认实和搭建LAMP环境部署ucenter和ucenter-home
  5. 董明珠揭示:未来2年这个行业盈利最大,马总点赞说,又要出富翁
  6. Pisces的属性配置文件加载
  7. opencv实现阈值分割算法和分水岭算法
  8. ueditor编辑器二次开发与优化
  9. unity新手小球走迷宫小游戏
  10. 明源售楼系统技术解析—MVC架构