近年来人工智能成为了科技的热潮,AlphaGo 的卓越战绩、各大科技公司蜂拥进入自动驾驶领域等消息吸引着民众的目光。但其实严格意义上这些工作归属于同一个学科——机器学习。
人工智能的目的是教会计算机完成现在人类做得更好的事,而机器学习可以说就是其中最重要的事情,因为它是实现人工智能的一种方法。没有学习,计算机就永远无法跟上人类的步伐;有了学习,一切都与时俱进。目前机器学习成为了一个巨大的中心,通过这个中心,多个领域里积累的经验被建模,从而获得更为快捷广泛的应用。
深度学习则是一种实现机器学习的技术。其基础人工神经网络是早期机器学习中一个重要的算法,最初受到人类大脑生理结构中互相交叉的神经元启发。随着无数科研工作者的投入,目前人工神经网络已经可以达到一个极高的层数和亿万计数的神经元,在某些领域做得比人类更好,例如围棋领域。
作为国内最大的自营电商,京东也积极应用深度学习技术在各个业务线,优化用户体验。本文将着重介绍京东如何运用深度学习技术去优化商品数据,构建智能的商品生态来提升多业务用户体验。
京东商品基础数据主要由自营品牌录入,第三方商家录入,用户反馈组成。这些数据直接被多个核心业务所使用。因此如何利用机器学习技术去保障这庞大的涉及数亿商品的海量数据质量尤为关键。
同时商品工业属性的主要组成部分:标题、图片、销售属性、扩展属性、类目。但是由于各种各样的因素,例如:抢占搜索命中的几率,商品上架的随意性等。商品数据存在商品类目错误绑定、图片与文本属性不一致、商品标题短语堆砌等各类问题。
为了实现对于商品数据的理解和修正,京东机器学习团队做了很多工作。下面将从信息合规、商品图文不一致校验、商品类目自动识别、电商标题理解、评论知识抽取来描述这一过程。
目前京东每天图片增量约为 5000w 张,而文本信息增量也以 PB 计算。海量的数据难免有一些违规信息,技术专家利用机器学习算法,训练了色情图片检测模型,价格 OCR 识别模型,违禁词语义理解模型,自适应二维码检测模型等实现实时的信息合规。
之前,诈骗分子利用京东图片系统上传图片的功能,上传含有非法链接的二维码图片,诱导用户转账及骗取用户账号及密码信息,给用户带来财产上的损失。利用自适应的二维码识别技术在用户上传图片的时候进行检测,不仅能识别图片中是否包含二维码、条形码,还对二维码指向的链接进行分析,筛选出高危图片,屏蔽上传。识别准确率达到 99.9%,即使如图所示的二维码只占图片很小的比例也能精确识别。
在电商,商品促销具备高时效性,如何保证促销信息与商品实时价格真实匹配,提升用户体验是一个难题。实际过程中,许多商家经常只修改了单品页价格,而忘记对店铺页上海报的商品价格进行修改,这就造成了店铺页价格和单品页价格不一致的情况,直接影响到了用户体验。
京东基于深度学习的价格合规检测
,在商品价格变更的时候,自动对店铺页宣传图片进行理解,检测其中是否包含活动价格,并对价格进行识别,并与单品页价格对比,如果不一致,实时自动下架该店铺活动页的促销活动,整个过程在秒级完成。在算法上,通过不断的迭代优化,实现了
端到端
的价格数字串识别系统,能够避免传统方法单独字符分割过程中引入的错误,即使在压缩失真、复杂背景干扰等情形下,也能够达到很高的检测精度。
图文不一致性是由于商品图片与商品文字描述的不一致导致的,这可能是由于图片和某一个或者多个文本属性冲突导致。这表明商品的基础数据存在错误,通常情况下会导致搜索的错误,影响用户的体验。
举一个简单的例子,当我们在京东购物,搜索 “男士 polo 衫 纯色”时,由于一些商品错误的文本信息导致该商品错误的被搜索命中,呈现给消费者。
上图中最右下角的格纹衬衫的扩展属性为纯色。该属性明显与商品图片不一致,错误的数据降低了搜索的准确率,但是增加了商品的曝光率。为此,
我们通过自然语言理解和图片识别技术来检测图文不一致现象
,对错误数据进行修正和通知商家修改。
高精度的图像识别技术,从商品图片中识别商品主体并抽取商品的特征,为文本属性修正提供高置信度的参照。以衣服的颜色为例,描述衣服颜色的名词数不胜数,以红色为例,就有绯红、桃红、品红、鲜红等等。利用分词抽取,我们获取了近万个颜色字段。
很多颜色的区分度极小,即便肉眼也很难区分,对训练数据的收集带来了很大的困扰。同时由于光照拍摄的问题,如此细分的分类对训练的结果也不一定有益。为此,我们首先对于颜色属性进行归一化,划分出不到 20 个色系,其余的属性也按照类似方法进行归一化。在准备好训练数据后,我们采用了
52 层 resnet 残差网络的 finetuning
实现了多种图片特征 95%+ 的准备率模型。后续,我们会加入我们自己的卷积网络特征去提供准确率。
商品的标题由采销人员和第三方商家命名,其中自营商品的命名较为规范。商家命名时,有些标题除了有文本描述矛盾外,还出现了大量词汇堆砌的情况。
从图上可以看到,一个跑步鞋商品的标题上“鞋”出现了 6 次。商家如此命名是为了增加搜索、推荐等系统命中率。然而实际情况上,搜索会对于此类词汇堆砌严重的标题进行降权,使得出现在搜索结果的末端。
为了解决此类问题,提升用户对于标题的信息获取的有效性,我们利用机器学习技术对商品标题进行一系列的处理:分词、实体识别、属性打标、热度计算、中心判定,将商品标题结构化。日后商家录入标题我们会
利用模型结构化标题进行打分
,对于此类词汇堆砌严重的标题进行结构优化,从源头上优化商品标题质量。
每个电商网站都自己的商品类目定义,同时部分类目在发展过程中的拆分合并使得商品存在类目错绑问题。目前京东有众多的商品三级工业分类,对于商家上架商品选择类目也是一个难题。