教你实现双十一商品标签自动归类(附数据模板)

简介: 背景 双十一购物狂欢节刚刚过去,如果是网购老司机,一定清楚通常一件商品会有很多维度的标签来展示,比如一个鞋子,它的商品描述可能会是这样的“韩都少女英伦风系带马丁靴女磨砂真皮厚底休闲短靴”。如果是一个包,那么它的商品描述可能是“天天特价包包2016新款秋冬斜挎包韩版手提包流苏贝壳包女包单肩包”。

背景

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

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

数据说明

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

02b596cb0c509efc14f146e7bc5d1a120c0abc6d

我们把这份数据导入PAI进行处理,具体数据上传方式可以查阅PAI的官方文档:

https://help.aliyun.com/product/30347.html

实验说明

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

97589b28e0b33579b2366c08db3829f4878d7e89

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

1.上传数据并分词

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

2.增加序号列

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

2fd27256eda8a092703da0243fd2555353ac691d

3.统计词频

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

4.生成词向量

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

  • 向量距离近的两个词他们的真实含义会比较相近,比如在我们的数据中,“新加坡”和“日本”都表示产品的产地,那么这两个词的向量距离会比较近。
  • 不同词之间的距离差值也是有意义的,比如“北京”是“中国”的首都,“巴黎”是“法国”的首都,在训练量足够的情况下。|中国|-|北京|=|法国|-|巴黎|

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

fb3465194c146f9b5de8c30d1f02589f0577a793

5.词向量聚类

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

445a06c50cebab3441988dc10b6ea542c4bc9ea0

结果验证

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

edd951a0bd150d0ca32a590d9553dd9b0d98d99c

看一下第10组的结果:

b47de6c5ea7cde2663ef4be692b714403fd9dcb2

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

其他

本文案例已经集成到了PAI首页的模板,请注册使用PAI:

https://data.aliyun.com/product/learn

在模板中点击创建即可使用,包含逻辑以及数据:

13d113cc8d0c8c0fb8a9a67afbf6dd0c0ab05f4f


原文发布时间为:2017-11-13

本文作者:傲海

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
【C语言】exit函数详解
【C语言】exit函数详解
|
编解码 运维 监控
4.1 钉钉宜搭大屏介绍|学习笔记
快速学习4.1 钉钉宜搭大屏介绍
4.1 钉钉宜搭大屏介绍|学习笔记
|
机器学习/深度学习 分布式计算 并行计算
MaxCompute-udf用于torch离线模型批量推理
odps-udf用于torch离线模型的批量推理实现以及踩坑
|
Kubernetes 监控 容器
Istio安装及Bookinfo环境部署
文章详细介绍了如何在Kubernetes集群上安装和配置Istio服务网格,并通过部署Bookinfo示例应用来演示Istio的核心功能,如流量管理、服务监控和故障注入等。
325 2
Istio安装及Bookinfo环境部署
|
NoSQL 安全 关系型数据库
20)用 Redis 实现分布式锁
20)用 Redis 实现分布式锁
430 1
|
存储 算法
电子元器件电路设计研究与实践
电子元器件电路设计研究与实践
240 1
|
负载均衡 网络协议 数据库
ENSP中RIP动态路由协议(原理和配置)
`RIP (Routing Information Protocol)` 是一种距离矢量动态路由协议,用于路由器之间交换网络可达性信息。它基于跳数作为度量标准来衡量到达目的地的距离,最常用于小型网络。RIP有以下关键特点: 1. **实现网络互通**:路由器通过RIP学习彼此的路由信息,构建完整的路由表。 2. **动态更新**:路由器周期性广播其路由表,以应对网络拓扑变化。 3. **负载均衡**:RIPv2支持负载均衡,可根据链路负载选择最佳路径。 4. **简单配置**:适用于小型网络,配置和管理相对简单。 5. **成本效益**:作为免费协议,降低了网络部署和维护成本。
1079 0
ENSP中RIP动态路由协议(原理和配置)
|
Ubuntu API 开发工具
基于铜锁构建Web在线加密工具库
基于铜锁构建Web在线加密工具库
271 0
|
安全 项目管理 数据库
第十一章项目人力资源管理(选择3分,案例11分)
第十一章项目人力资源管理(选择3分,案例11分)
310 0