机器学习实现双十一购物清单的自动商品标签归类

2017 年 11 月 1 日 凡人机器学习

再不点蓝字关注,机会就要飞走了哦



背景

双十一购物狂欢节马上又要到来了,最近各种关于双十一的爆品购物列表在网上层出不穷。如果是网购老司机,一定清楚通常一件商品会有很多维度的标签来展示,比如一个鞋子,它的商品描述可能会是这样的“韩都少女英伦风系带马丁靴女磨砂真皮厚底休闲短靴”。如果是一个包,那么它的商品描述可能是“天天特价包包2016新款秋冬斜挎包韩版手提包流苏贝壳包女包单肩包”。

每个产品的描述都包含非常多的维度,可能是时间、产地、款式等等,如何按照特定的维度将数以万计的产品进行归类,往往是电商平台最头痛的问题。这里面最大的挑战是如何获取每种商品的维度由哪些标签组成,如果可以通过算法自动学习出例如 地点相关的标签有“日本”、“福建”、“韩国”等词语,那么可以快速的构建标签归类体系,本文将借助PAI平台的文本分析功能,实现一版简单的商品标签自动归类系统。

数据说明

数据是在网上直接下载并且整理的一份2016双十一购物清单,一共2千多个商品描述,每一行代表一款商品的标签聚合,如下图:

我们把这份数据导入PAI进行处理,具体数据上传方式可以查阅PAI的官方文档:https://help.aliyun.com/product/30347.html

实验说明

数据上传完成后,通过拖拽PAI的组件,可以生成如下实验逻辑图,每一步的具体功能已经标注:

下面分模块说明下每个部分的具体功能:

1.上传数据并分词

将数据上传,由shopping_data代表底层数据存储,然后通过分词组件对数据分词,分词是NLP的基础操作,这里不多介绍。

2.增加序号列

因为上传的数据只有一个字段,通过增加序号列为每个数据增加主键,方便接下来的计算,处理后数据如下图:

3.统计词频

展示的是每一个商品中出现的各种词语的个数。

4.生成词向量

使用的是word2vector这个算法,这个算法可以将每个词按照意义在向量维度展开,这个词向量有两层含义。

  • 向量距离近的两个词他们的真实含义会比较相近,比如在我们的数据中,“新加坡”和“日本”都表示产品的产地,那么这两个词的向量距离会比较近。

  • 不同词之间的距离差值也是有意义的,比如“北京”是“中国”的首都,“巴黎”是“法国”的首都,在训练量足够的情况下。|中国|-|北京|=|法国|-|巴黎|

经过word2vector,每个词被映射到百维空间上,生成结果如下图展示:

5.词向量聚类

现在已经产生了词向量,接下来只需要计算出哪些词的向量距离比较近,就可以实现按照意义将标签词归类。这里采用kmeans算法来自动归类,聚类结果展示的是每个词属于哪个聚类簇:

结果验证

最后通过SQL组件,在聚类簇中随意挑选一个类别出来,检验下是否将同一类别的标签进行了自动归类,这里选用第10组聚类簇。

看一下第10组的结果:

通过结果中的“日本”、“俄罗斯”、“韩国”、“云南”、“新疆”、“台湾”
等词可以发现系统自动将一些跟地理相关的标签进行了归类,但是里面混入了“男士内裤”、“坚果”等明显与类别不符合的标签,这个很有可能是因为训练样本数量不足所造成的,如果训练样本足够大,那么标签聚类结果会非常准确。


给我一分钟

送你一个学习的世界

微信号:凡人机器学习

长按二维码关注


登录查看更多
0

相关内容

【新书】自然语言处理表示学习技术,349页pdf,清华大学
专知会员服务
174+阅读 · 2020年7月11日
【ICML2020】多视角对比图表示学习,Contrastive Multi-View GRL
专知会员服务
80+阅读 · 2020年6月11日
【SIGMOD2020-腾讯】Web规模本体可扩展构建
专知会员服务
31+阅读 · 2020年4月12日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
204+阅读 · 2020年2月11日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
83+阅读 · 2020年1月13日
报告 | 2020中国5G经济报告,100页pdf
专知会员服务
98+阅读 · 2019年12月29日
亿级订单数据的访问与储存,怎么实现与优化
ImportNew
11+阅读 · 2019年4月22日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
教你在Python中实现潜在语义分析(附代码)
数据派THU
8+阅读 · 2018年12月6日
【前沿】AI文案通过图灵测试!一秒生成2万条广告神器问世
1分钟了解相似性推荐
架构师之路
5+阅读 · 2018年3月20日
手把手教你用Python创建微信聊天机器人
新智元
4+阅读 · 2018年3月14日
一天造出10亿个淘宝首页,阿里工程师如何实现?
机器学习研究会
5+阅读 · 2017年12月20日
如何使用 RNN 模型实现文本自动生成 | 赠书
人工智能头条
5+阅读 · 2017年12月13日
相似图片搜索的原理
数据库开发
9+阅读 · 2017年8月11日
文本挖掘之特征选择(python 实现)
数据挖掘入门与实战
4+阅读 · 2017年7月19日
Arxiv
7+阅读 · 2018年3月19日
Arxiv
3+阅读 · 2012年11月20日
VIP会员
相关资讯
亿级订单数据的访问与储存,怎么实现与优化
ImportNew
11+阅读 · 2019年4月22日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
教你在Python中实现潜在语义分析(附代码)
数据派THU
8+阅读 · 2018年12月6日
【前沿】AI文案通过图灵测试!一秒生成2万条广告神器问世
1分钟了解相似性推荐
架构师之路
5+阅读 · 2018年3月20日
手把手教你用Python创建微信聊天机器人
新智元
4+阅读 · 2018年3月14日
一天造出10亿个淘宝首页,阿里工程师如何实现?
机器学习研究会
5+阅读 · 2017年12月20日
如何使用 RNN 模型实现文本自动生成 | 赠书
人工智能头条
5+阅读 · 2017年12月13日
相似图片搜索的原理
数据库开发
9+阅读 · 2017年8月11日
文本挖掘之特征选择(python 实现)
数据挖掘入门与实战
4+阅读 · 2017年7月19日
Top
微信扫码咨询专知VIP会员