写点什么

京东 618:机器学习与商品数据挖掘和知识抽取

  • 2017-06-17
  • 本文字数:3698 字

    阅读完需:约 12 分钟

ArchSummit 全球架构师峰会深圳站将于 2017 年 7 月 7 日~8 日在深圳·华侨城洲际酒店召开,大会设置了相关专题来深入解读电商大促背后的技术故事,大会还邀请了 eBay、WalmartLabs 等国外顶尖技术专家,分享 AI 促销、搜索引擎、异地多活、库存物流等核心架构实践。

近年来人工智能成为了科技的热潮,AlphaGo 的卓越战绩、各大科技公司蜂拥进入自动驾驶领域等消息吸引着民众的目光。但其实严格意义上这些工作统一归属于同一个学科——机器学习。

人工智能的目的是教会计算机完成现在人类做得更好的事,而机器学习可以说就是其中最重要的事情,因为它是实现人工智能的一种方法。没有学习,计算机就永远无法跟上人类的步伐;有了学习,一切都与时俱进。目前机器学习成为了一个巨大的中心,通过这个中心,多个领域里积累的经验被建模,从而获得更为快捷广泛的应用。

深度学习则是一种实现机器学习的技术。其基础人工神经网络是早期机器学习中一个重要的算法,最初受到人类大脑生理结构中互相交叉的神经元启发。随着无数科研工作者的投入,目前人工神经网络已经可以达到一个极高的层数和亿万计数的神经元,在某些领域做得比人类更好,例如围棋领域。

作为国内最大的自营电商,京东也积极应用深度学习技术在各个业务线,优化用户体验。本文将着重介绍京东如何运用深度学习技术去优化商品数据,构建智能的商品生态来提升多业务用户体验。

京东商品基础数据主要由自营品牌录入,第三方商家录入,用户反馈组成。这些数据直接被多个核心业务所使用。因此如何利用机器学习技术去保障这庞大的涉及数亿商品的海量数据质量尤为关键。

同时商品工业属性的主要组成部分:标题、图片、销售属性、扩展属性、类目。但是由于各种各样的因素,例如:抢占搜索命中的几率,商品上架的随意性等。商品数据存在商品类目错误绑定、图片与文本属性不一致、商品标题短语堆砌等各类问题。

为了实现对于商品数据的理解和修正,京东机器学习团队做了很多工作。下面将从信息合规、商品图文不一致校验、商品类目自动识别、电商标题理解、评论知识抽取来描述这一过程。

信息合规

目前京东每天图片增量约为 5000w 张,而文本信息增量也以 PB 计算。海量的数据难免有一些违规信息,技术专家利用机器学习算法,训练了色情图片检测模型,价格 OCR 识别模型,违禁词语义理解模型,自适应二维码检测模型等实现实时的信息合规。

之前,诈骗分子利用京东图片系统上传图片的功能,上传含有非法链接的二维码图片,诱导用户转账及骗取用户账号及密码信息,给用户带来财产上的损失。利用自适应的二维码识别技术在用户上传图片的时候进行检测,不仅能识别图片中是否包含二维码、条形码,还对二维码指向的链接进行分析,筛选出高危图片,屏蔽上传。识别准确率达到 99.9%,即使如图所示的二维码只占图片很小的比例也能精确识别。

在电商,商品促销具备高时效性,如何保证促销信息与商品实时价格真实匹配,提升用户体验是一个难题。实际过程中,许多商家经常只修改了单品页价格,而忘记对店铺页上海报的商品价格进行修改,这就造成了店铺页价格和单品页价格不一致的情况,直接影响到了用户体验。

京东基于深度学习的价格合规检测,在商品价格变更的时候,自动对店铺页宣传图片进行理解,检测其中是否包含活动价格,并对价格进行识别,并与单品页价格对比,如果不一致,实时自动下架该店铺活动页的促销活动,整个过程在秒级完成。在算法上,通过不断的迭代优化,实现了端到端的价格数字串识别系统,能够避免传统方法单独字符分割过程中引入的错误,即使在压缩失真、复杂背景干扰等情形下,也能够达到很高的检测精度。

图文不一致校验

图文不一致性是由于商品图片与商品文字描述的不一致导致的,这可能是由于图片和某一个或者多个文本属性冲突导致。这表明商品的基础数据存在错误,通常情况下会导致搜索的错误,影响用户的体验。

举一个简单的例子,当我们在京东购物,搜索 “男士 polo 衫 纯色”时,由于一些商品错误的文本信息导致该商品错误的被搜索命中,呈现给消费者。

上图中最右下角的格纹衬衫的扩展属性为纯色。该属性明显与商品图片不一致,错误的数据降低了搜索的准确率,但是增加了商品的曝光率。为此,我们通过自然语言理解和图片识别技术来检测图文不一致现象,对错误数据进行修正和通知商家修改。

高精度的图像识别技术,从商品图片中识别商品主体并抽取商品的特征,为文本属性修正提供高置信度的参照。以衣服的颜色为例,描述衣服颜色的名词数不胜数,以红色为例,就有绯红、桃红、品红、鲜红等等。利用分词抽取,我们获取了近万个颜色字段。

很多颜色的区分度极小,即便肉眼也很难区分,对训练数据的收集带来了很大的困扰。同时由于光照拍摄的问题,如此细分的分类对训练的结果也不一定有益。为此,我们首先对于颜色属性进行归一化,划分出不到 20 个色系,其余的属性也按照类似方法进行归一化。在准备好训练数据后,我们采用了 52 层 resnet 残差网络的 finetuning 实现了多种图片特征 95%+ 的准备率模型。后续,我们会加入我们自己的卷积网络特征去提供准确率。

电商短文本理解 - 商品标题理解

商品的标题由采销人员和第三方商家命名,其中自营商品的命名较为规范。商家命名时,有些标题除了有文本描述矛盾外,还出现了大量词汇堆砌的情况。

从图上可以看到,一个跑步鞋商品的标题上“鞋”出现了 6 次。商家如此命名是为了增加搜索、推荐等系统命中率。然而实际情况上,搜索会对于此类词汇堆砌严重的标题进行降权,使得出现在搜索结果的末端。

为了解决此类问题,提升用户对于标题的信息获取的有效性,我们利用机器学习技术对商品标题进行一系列的处理:分词、实体识别、属性打标、热度计算、中心判定,将商品标题结构化。日后商家录入标题我们会利用模型结构化标题进行打分,对于此类词汇堆砌严重的标题进行结构优化,从源头上优化商品标题质量。

商品类目自动识别

每个电商网站都自己的商品类目定义,同时部分类目在发展过程中的拆分合并使得商品存在类目错绑问题。目前京东有众多的商品三级工业分类,对于商家上架商品选择类目也是一个难题。

由于搜索、推荐、列表页等核心业务线都调用了商品的类目属性数据,为了降低类目错绑对核心业务的影响,优化商家上架商品的体验,我们对 word2vec 的 CBOW 模型进行了创新型改造,构建了 BTC 模型,并加入了 Dropout 层,改造后的模型有效避免了训练过程中的过拟合问题,训练精确度明显提升。模型可根据商家录入的标题,自动推荐所属分类,达到了简化商家上传商品目的同时减轻类目监管的压力,使得运营越来越智能化。模型架构如下图:

在多次迭代之后我们获得了 99% 准确率的预测模型,应用方式如下,比如提交:

标题:leandhome 家纺单品被套天鹅绒保暖被罩

返回 “13818 被套”。

整个类目预测流程如下:

评论信息抽取

商城与用户的交互对于商品的反馈是商品数据的一个重要补充。用户的反馈主要包含商品评论,问答,退换货等信息。京东的理念是客户为先,因此我们对于用户的反馈极为重视。这些信息可以直观的展现用户对于商品的感受和质量的反馈。我们为此构建了多类语义理解模型,利用用户反馈,实现选品、商品质控等。下面我们选择评论的信息抽取着重介绍。

用户在购买商品时,之前用户的评论对用户的购买意愿有极强的影响力。但是在用户海量的评论中存在大量的无意义评论,这就影响到用户获取有效的信息。为此我们通过语言模型,对评论语句打分,将没有实质意义的评论折叠在评论最后。

此外我们会从评论中抽取关键词短语,通过对于短语与短语之间相似度的计算,聚合出出现频次最高的短语及相应的评论内容,展现给用户。此外我们还会分析用户评论的情感,真实展现负向情感关键词,给用户获得一个直观的产品描述,诚信对待消费者。

我们采用了无监督与有监督结合的方式构建关键词抽取模型, 在模型设计中,首先考虑到单独的词汇表达能力有限,不能满足业务需求,比如“声音”、“颜色”、“外观设计”等,而我们更需要的是,“声音大”,“颜色艳丽”,“外观设计时尚大方”等,所以采用了短语向量训练。然后根据业务其他需求加入了语言模型,情感模型,功能词模型等,最终取得不错的成果。我们的模型实现了定期自动更新。

模型会自动把你提交的评论做以上相关分析与处理,返回对应 top 关键词。结果示例:

结语:构建高可用商品知识图谱,营造智慧商家生态

在对商品数据各个维度(标题、销售属性、扩展属性、评论、问答等)完成数据校验和知识抽取的工作,我们利用这些丰富的商品信息构建了一个商品的知识库供核心业务去调用,解除了原有业务系统上的数据枷锁。同时自然语言理解算法模型被封装成一个一个服务去规范商品录入的过程,引导商家健康运营,共同打造良好的商家生态。

作者介绍

刘海锋,京东商城总架构师,基础平台负责人。历任京东第一届架构委员会主任、2016 年京东 6.18 和 11.11 大促技术执行总指挥之一。在京东,刘海锋领导团队持续建设容器集群、中间件、数据库、图片系统、分布式存储、机器学习、应用架构与运维等技术方向。在其带领下,京东商城研发体系基础平台部专注于技术服务建设,自主研发了一系列核心系统并大规模应用至生产环境 ,有力驱动了京东业务发展。

2017-06-17 20:304088

评论

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

基于 xbot 实现微信关键词自动回复

Hanson

微信 微信机器人 自动回复

数据可视化系列教程之组件构成

云智慧AIOps社区

前端 低代码 开源项目 数据可视化 可视化大屏

leetcode 206. Reverse Linked List 反转链表(简单)

okokabcd

LeetCode 数据结构与算法

C++学习------cassert头文件的作用与源码学习

桑榆

c++ 9月月更

# 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性

Geek_1ef48b

Predicate

急需上岸的小谢

9月月更

2022-09-01:字符串的 波动 定义为子字符串中出现次数 最多 的字符次数与出现次数 最少 的字符次数之差。 给你一个字符串 s ,它只包含小写英文字母。请你返回 s 里所有 子字符串的 最大波

福大大架构师每日一题

算法 rust语言 福大大

【CSS·清除浮动】Clearing floats:clear、clearfix、overflow、flow-root

翼同学

CSS 前端 9月月更

万物皆可集成系列:低代码对接企企云实现数据集成

葡萄城技术团队

Nacos 安装教程(史上最详细保姆级教程)

nacos SpringCloud 9月月更

maven入门

楠羽

maven 笔记 9月月更

关于链路追踪所需要了解的知识

穿过生命散发芬芳

链路追踪 9月月更

跟着卷卷龙一起学Camera--黑电平Blacklevel

卷卷龙

ISP camera 9月月更

以数字技术赋能产业金融生态能力建设,破解银行的场景焦虑

易观分析

金融 银行 数字科技

华为云快成长GaussDB(for Redis)

IT资讯搬运工

高级产品经理必备素养

产品海豚湾

产品经理 职业发展 商业化 9月月更 产品价值

实践分享!GitLab CI/CD 快速入门

北京好雨科技有限公司

企业号九月金秋榜 Kuberetes

Web3大行其道,为何说Zebec值得投资人期待?

BlockChain先知

NodeJs小试牛刀--聊天室搭建

zxhtom

9月月更

高并发场景下,6种方案,保证缓存和数据库的最终一致性!

C++后台开发

数据库 缓存 高并发 后端开发 C++开发

深耕隐私计算技术,瓴羊DataTrust团队喜获殊荣

瓴羊企业智能服务

数据中心网络架构的需求原则及策略

阿泽🧸

数据中心 9月月更

【CSS·显示类型】 block、inline以及inline-block

翼同学

CSS 前端 9月月更

测试需求平台3-登录打通和产品列表功能实现

MegaQi

测试平台开发教程 9月月更

k8s自定义controller三部曲之一:创建CRD(Custom Resource Definition)

程序员欣宸

Kubernetes k8s 9月月更

玖章算术受邀参加红杉Talk「创新的复利」科技专场,共同探讨云计算的前世今生

数据库 数据复制 数据管理 数据备份 玖章算术

Linux面试最高频的5个基本问题

千锋IT教育

新书上市 | 连载 5 年,千万读者追更,这本书讲透了通信背后的故事!

图灵社区

通信技术 科技史

从用户到开发者是一种思维进化过程 | 访 StarRocks Committer 周威

StarRocks

【CSS】:正常布局流(normal flow)、有趣的浮动(float)

翼同学

CSS 前端 9月月更

如何增强 ABAP 系统,允许开发人员给 ABAP 对象设置标签,方便快速检索

汪子熙

SAP abap Netweaver 标签体系 9月月更

京东618:机器学习与商品数据挖掘和知识抽取_语言 & 开发_刘海锋_InfoQ精选文章