上期小编为大家介绍了苏宁的近义词自动识别技术,今天小编将继续给大家介绍基于朴素贝叶斯的商品分类算法……
常用的商品分类方法有支持向量机、K-近邻算法和朴素贝叶斯。其中朴素贝叶斯具有实现容易,运行速度快的特点,被广泛使用。本文将为大家苏宁搜索研发中心利用朴素贝叶斯的原理,并运用朴素贝叶斯算法对外站的商品信息分类,对用户Query分类,计算本站相对应的商品分类的技术。
朴素贝叶斯的基本思想:
对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
朴素贝叶斯分类的正式定义:

那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:
1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
2、统计得到在各类别下各个特征属性的条件概率估计。即:

3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:

因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:

利用朴素贝叶斯进行分类的流程:

本文应用朴素贝叶斯算法进行商品分类的过程主要包含以下三个阶段:
第一阶段:准备工作阶段
主要是准备训练样本集,本算法的训练样本来自苏宁本站的商品数据及其对应的商品目录。训练样本集包括:大家电、服装鞋帽、化妆品、食品粮油、运动户外、汽车等涵盖苏宁的主要经营品类。
第二阶段:分类器训练阶段
这个阶段的任务就是生成分类器,对训练集中的商品信息进行切词-组词操作,分析每个词及商品的分布信息,最终得出词与目录、词与商品、商品与目录之间的关系,将此作为应用阶段的输入信息。
第三阶段:应用阶段
将外站商品归类到苏宁本站的多级目录下,可以达到最底级目录。本算法先使用面包屑进行分类,如果面包屑中的最底级目录和本站层级目录中的最底级目录文本相同,则认为该商品处于该目录下;如果面包屑失败,则再使用朴素贝叶斯预测该商品分类。在朴素贝叶斯预测商品过程中,先将商品名称切词,然后再聚成二元词或者三元词,根据训练结果中每个词在本站某个目录下出现的概率计算得到该商品属于本站某个目录的概率,选择概率最高的作为最接近的目录。
算法评估:分类器的正确率是指分类器正确分类的项目占所有被分类项目的占比。在此我们采集了5000条外站的商品数据(涵盖不同分类:家电、服装等)作为测试集,通过本文算法预测出商品的前三个最可靠分类。从5000条结果中随机抽取2500条,人工验证商品预测到苏宁本站的分类是否准确。结果显示第一个分类正确率为92.5%,前三个准确率(即正确分类在此三个分类中)为98.9%,达到了比较理想的准确率。
通过对badcase的分析发现,结果中存在以下问题:部分商品能准确预测到前两大类,但三级分类预测错误;部分涉及男女款的分类预测错误。例如,商品:“The north face 北面顶帽鸭舌帽子 a9ms 反季清仓三夫户外乐斯菲斯 jk3/黑色”,预测结果为:运动户外#户外鞋服#冲锋衣/裤;商品:“toreo斗牛部落秋冬情侣潮鞋休闲套脚短靴加绒保暖棉靴冬靴休闲百搭鞋子 tb4-4310d加绒女款红色”,预测到分类:服装鞋帽#男鞋#靴子。这些问题都能继续优化算法,提高分类准确率。
目前自动分类系统在商品分类的设置,错误分类的检测,以及站外商品数据的分析中广泛应用,取得了明显的效果,商品数据质量得到显著提高。
今天对苏宁基于朴素贝叶斯的商品分类算法的介绍就到这里了,如您有什么疑问,欢迎在微信上给我们留言,我们将及时为您解答。后期还有更多干货,敬请关注!
欢迎关注苏宁科技微信公众号【SuningTech】,更多苏宁IT干货、IT招聘信息、技术沙龙活动,随时为您推送!.

PS: 苏宁总部员工关注SuningTech微信号,并转发该内容,回复我们“苏宁科技”,即有很大机会获得我们的精美礼品哦~

