本文通过PAI提供的文本分析组件,实现简单的商品标签自动归类系统。
背景信息
通常每件商品的描述会包含很多维度标签。例如,一双鞋子的商品描述可能是“少女英伦风系带马丁靴女磨砂真皮厚底休闲短靴”。一个包的商品描述可能是“天天特价包包2016新款秋冬斜挎包韩版手提包流苏贝壳包女包单肩包”。这些维度可以包含时间、产地及款式等,如何按照特定维度将数以万计的商品进行归类是电商平台的难题之一,其中最大的挑战是如何从商品描述中抽取维度标签。PAI提供的文本分析组件可以自动学习标签词语,从而实现标签自动归类。
数据集
本实验数据是整理的一份2016年双十一购物清单,共两千多条商品描述,每一行表示一件商品的标签聚合。如下图所示。
相似标签自动归类
- 进入PAI-Designer页面。
- 登录PAI控制台。
- 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
- 在工作空间页面的左侧导航栏选择模型开发与训练 > 可视化建模(Designer),进入Designer页面。
- 新建自定义工作流,并进入工作流页面,详情请参见新建自定义工作流。
- 构建工作流流程并运行。
- 在左侧组件列表,将源/目标下的读数据表组件拖入画布中,并重命名为shopping_data-1。
- 在左侧组件列表,将自然语言处理 > 基础NLP下的Split Word、词频统计及Word2Vec组件拖入画布中。
- 在左侧组件列表,将数据预处理下的增加序列号和类型转换组件拖入画布中。
- 在左侧组件列表,将机器学习 > 聚类下的K均值聚类组件拖入画布中。
- 在左侧组件列表,将自定义算法组件下的SQL脚本组件拖入画布中。
- 将以上组件拼接为如下工作流,并运行。
序号 描述 ① 上传shopping_data数据,并通过分词组件对数据进行分词。 ② 增加序列号。由于上传的数据只有一个字段,需要通过增加序号列为每个数据增加主键。处理后的数据如下图所示。 ③ 统计词频,展示每个商品中出现的各种词语数量。 ④ 使用Word2Vec组件将每个词语按照意义在向量维度展开,生成词向量。词向量的含义包括: - 向量距离近的两个词,其真实含义比较相近。
- 不同词之间的距离差值具有一定意义。
经过Word2Vec组件将每个词映射到百维空间上。结果如下图所示。
⑤ 词向量聚类。使用K均值聚类算法,在已经产生的词向量基础上,计算词向量的距离,并按照意义将标签词自动归类。其结果展示每个词所属的聚类簇,如下图所示。 ⑥ 结果验证。通过SQL组件,在聚类簇中随意挑选一个类别,判断是否对同一类别的标签进行了自动归类。本实验选用第10组聚类簇,如下图所示。 结果如下图所示。
上述结果中,系统自动将与地理相关的标签进行了归类,但是混入了坚果等明显与类别不符的标签,可能是训练样本数量不足导致的。如果训练样本足够大,则标签聚类结果会非常准确。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165224.html