Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

刘海锋作者

如何运用深度学习从多个维度优化数亿级别商品数据

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

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

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

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

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

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

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

信息合规

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

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

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

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

图文不一致校验

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

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

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

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

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

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

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

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

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

商品类目自动识别

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

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

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

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

返回 “13818 被套”。

整个类目预测流程如下:

评论信息抽取

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

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

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

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

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

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

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

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

京东
京东

京东是全球最大零售商之一,业务涵盖零售、数科、物流、保险和健康等,公司目标是基于海量数据的挖掘和计算,持续驱动业务增长

专栏二维码
理论深度学习刘海锋机器学习自然语言理解图像识别知识图谱
5
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Dropout技术

神经网络训练中防止过拟合的一种技术

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

阿尔法围棋技术

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

word2vec技术

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~