基于商品名称的自动化分类 | 精品案例

基于商品名称的自动化分类 | 精品案例

【商品分类的现状与痛点】

当下商品分类呈现出线上线下体系各异的格局。线下商家遵循仓储目录体系进行分类,线上商家则遵循电商平台体系进行分类。以京东为例,其以等级序列为核心、分面组配为辅助,细化了搜索目标,提高了搜索效率。但目前的商品分类仍然面对着三大困难:数据大、人工繁、信息少。

由于商品种类五花八门,商品分类问题往往涉及庞大的数据量。与此同时,新产品层出不穷,商品分类需要紧跟商品更新迭代的速度。采用传统的人工标注的方式进行商品分类和审核已经无法满足大数据时代下商品分类的需求,这种方式不仅工作量大,费时费力,而且判断标准较为主观,误判率较高。因此,对商品进行自动化分类已成为当前的主要发展趋势。但在商品分类的实际应用场景中,自动化分类可借助的信息非常少,尤其是对于规模较小的超市便利店来说,往往只能拿到商品名称的信息,因此有用信息缺乏是商品自动化分类面临的主要挑战。

针对上述商品分类面临的困难,本案例从普遍可以获取的商品名称数据出发,研究商品的自动化分类问题,从而对海量商品进行大批量高效率的分类处理,延伸其商业价值。

数据与描述分析

【数据介绍】

为深入研究商品分类体系,本文将借鉴某知名电商的商品分类体系,以食品饮料与保健食品(下文简称食品饮料类)、生鲜两个大类为例进行研究。具体的品类体系信息及商品数目如下图所示。其中,商品名称和品类的变量类型均为文本,数据的具体见下表。

商品分类信息图

数据展示表

【品类分布】

在选定的商品分类体系中,我们将【食品饮料】和【生鲜】定义为两个一级品类;每个一级品类又进一步分为多个二级品类和三级品类。下图展示了食品饮料类和生鲜两个类别下,各个二级品类的商品分布情况。其中,食品饮料类下共有6个二级品类,其中地方特产、茗茶、粮油调味总占比达70%左右,是食品品类下占比较高的二级品类;生鲜品类下共有7个二级品类,其中水果、蔬菜、海鲜水产的总占比达75%左右,是该品类下占比较高的二级品类。

二级品类占比环状图

由于商品名称是文本数据,我们首先对其进行文本分词等预处理操作。下图展示了商品名称中总词数的直方图。可以看出,食品饮料类和生鲜类的产品名称描述词基本都分布在16个词左右,整体上看食品饮料类的描述词略微多于生鲜类。

商品名称总词数的分布直方图

为了研究不同品类下商品名称的文本特点,我们以【食品饮料-饮料冲调-牛奶乳品】和【生鲜-水果-苹果】两个分类体系为例,观察各个类别的词云图。可以看到,不同级别品类下关键词的种类与词频各不相同,但具有共同趋势:商品的分级品类越细(从一级到三级),其呈现的词云结果越能直接反映出该品类产品的特征。

生鲜品类下苹果品类的分级词云图

自动化分类

从上述品类的词云图输出及结论可知,不同品类的商品具有不同的特征词及特征词比例,其中三级品类的特征词最能反映品类特征情况。因此可以认为,根据商品名称的文本特征对商品进行分类,是具有合理性和可行性的。接下来,我们将以商品名称的分词结果为自变量,以商品对应品类为因变量,借助常见的机器学习算法,建立商品的自动化分类模型。

【建模流程】

整个建模过程如下图所示。首先,我们将全部商品按照7:3的比例随机划分为训练集和测试集。然后,我们对商品名称进行分词处理,并依次去除商品名称中无意义的数字、字母、标点,去除停用词,并去除在少于10种或多于75%的商品中出现的词。基于文本预处理的结果,我们进一步构造【文档-词频】矩阵。考虑到此时数据集中包括的特征词仍然非常庞大,我们进行了特征筛选。最后,基于筛选后的特征词建立自动化分类模型,并在测试集上验证效果。

商品自动化分类流程

【特征选择】

在构造文档-词频矩阵时,我们将每条商品名称表示为形如的向量,作为分类器的输入,其中个特征词的词频。由于原始特征空间几乎包含商品名称中出现的全部词语,维度成千上万,因此去除重要性较低或者区分度较小的特征词可以提升运行速度和分类准确率。在文本分析中,特征选择的方法多种多样,这里我们主要采用了的方法进行特征选择。

对于词条t和类别c,通过统计c中出现和不出现t的次数来计算t对于c的信息增益。信息增益大的特征词优先被选取。下图列出了信息增益的计算公式,可以看到,该指标实际上就是衡量每个特征词对商品分类的重要性,如何衡量这种重要性呢?利用特征词在不同商品类别中的分布情况来考察。例如,如果一个特征词只在某个类别中出现,而在其他类别中不出现,它的信息增益值会较高,而如果该特征词在各个类别中都出现,则它对类别划分的贡献就比较小了。

【分类器选择】

接下来,我们就以特征筛选后的文档-词频矩阵为自变量,以商品类别为因变量,建立自动化分类模型。常见的分类算法包括:基于贝叶斯定理的朴素贝叶斯算法、基于距离度量设计的k近邻算法、基于核函数的支持向量机算法、基于一系列if-then规则的决策树算法等。它们均可用于文本分类场景。结合计算效率和分类准确率,本案例最终选用【朴素贝叶斯分类器】和【k近邻算法】两种方法。

简单来说,朴素贝叶斯分类器的思想基础是:对于任意商品名称,求解在此商品名称出现的条件下,各个类别出现的概率。哪个类别的概率最大,就认为该商品名称属于哪个类别。例如,在所有包括“苹果”的商品名称中,二级分类“水果”会比“饮料冲调”出现的概率大,那该商品名称就会被划分到“水果”类别下。

k近邻法则适用于样本量较大的情形,它的推断是基于“彼此靠近的样本点更有可能来自同一个类别”的简单假设。对于一条新的商品名称,我们通过去计算它和训练集中已有商品名称的相关性,将最强相关的数据所对应的商品类别作为备选,然后采用投票的方式决定新商品名称的所属类别。

在训练集上,我们分别保留信息增益最大的前500/1000/2000个特征词,并尝试采用朴素贝叶斯和k近邻两种分类算法,最终的结果如下表所示。可以看出:(1)二级品类上的预测准确率高于三级品类;(2)对比不同的分类方法发现,朴素贝叶斯算法分类效果相对较好,普遍由于k近邻方法;(3)当尝试不同数量的特征词时,保留更多特征词有助于提升测试集上分类准确率,但提升的幅度有限,因此在实际操作中可以综合考虑运算速度及分类准确率来决定最佳的特征数。

最后,我们以二级分类为例来展示每个类别具体的分类情况。下图展示的是【Top2000特征】+【朴素贝叶斯】的组合下,测试集上各个二级分类预测结果的混淆矩阵。可以看出,二级分类上的错分情况主要出现在地方特产、粮油调味、休闲食品这三个二级品类间的误判。因此实际操作中,可以重点关注这三个二级分类的划分情况,对于类别预测概率较低的商品,采用人工二次标注的方法进一步核实。

总结与讨论

商品分类是商品流通的基础步骤之一。合理有效的商品分类可以提高顾客查找商品的效率,实现品牌商对商品的有效管理,优化零售平台的分类体系,从而达到多方收益的局面。本案例针对当前商品分类中碰到的难点,以较易获取的商品名称数据为基础,探讨了商品自动化分类的实现问题。我们以食品饮料类和生鲜类两个一级分类的商品名称为例,构建了较为完整的商品自动化分类流程,通过精细的特征选择和不同分类方法的实施,达到了较为满意的分类准确度。案例中的自动化分类流程也可以进一步扩展到更多类别的商品分类问题中。返回搜狐,查看更多

相关推荐

部落冲突半年不玩数据会不会清零!
365不给提款流水数据异常

部落冲突半年不玩数据会不会清零!

📅 02-07 👁️ 3437
香草吐司的詳細做法
BT365账户网址多少

香草吐司的詳細做法

📅 06-28 👁️ 9044
【银耳选购】什么样的银耳好 挑选银耳有窍门!