融合物品评价关键词的电商平台推荐算法设计
作者: 袁剑锋 刘佳
关键词: 电子商务;商品评价;关键词;协同过滤;推荐
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2024)28-0048-04
0 引言
近年来,随着信息技术的飞速发展,电子商务在大数据时代呈现井喷式发展,形形色色的电商网站让人眼花缭乱。用户面对海量的商品信息时往往无所适从[1]。人们享受互联网带来的信息便利时,也面临着信息过载的问题,这种现象目前已经非常严峻,快速准确地定位所需信息变得异常困难,大量冗余的信息会让用户迷失其中,从而导致用户大量流失[2]。相比于烦琐的搜索过程,用户可能更乐于接受满足自身需求的自动化信息服务。如何依据用户的购物习惯,推测其可能的需求,并为其推荐合适的商品,成为当下研究的热点。
当前很多研究将数据挖掘的协同过滤算法应用到商品推荐系统中,取得了一定的成果。但在数据稀疏的情况下,存在着物品间相似性计算不准确、推荐准确度不高等问题。本文从商品评价入手,采用权重排序的方法提取商品评价中的关键词,并使用关键词重合度改进了对商品相似度的计算,实验表明,本文提出的改进方法提高了算法的推荐效果。
1 用户网购行为研究
设计李克特量表[3],通过问卷的方式对不同年龄段,不同职业的用户进行深入的调查。结果如表1 所示。
通过表1可知,90.5%的用户认为,商品评价对其的购买行为具有很大的影响。通过对用户购物行为的深入调研,总结出用户网购时的基本流程如图1所示。
通过对图1分析可知用户在购物时,商品的评价信息往往对用户是否购买该商品具有决定性的影响。商品的评价信息中隐藏着大量的有用信息,从中提取出关键因素,并将其应用于商品推荐系统中,具有较好的实际意义。当前有很多类似的研究,但没有专门针对评价关键词的推荐系统。
2 相关算法介绍
商品推荐算法起源于国外,研究者们从推荐结果的生成机制的角度将算法分为基于内容的推荐和基于协同过滤的推荐。协同过滤算法是目前应用较为广泛的推荐算法。协同过滤算法最早是用来做电子邮件的过滤,由Goldberg等[4]首次提出。该算法的主要原理是将用户以前的喜好和与其喜好相似用户的选择作为计算推荐商品的依据。在此基础上,Linden 等[5]提出一种基于物品的协同过滤算法,能很好地解决传统基于用户的协同过滤中寻找用户最近邻法计算量过大的问题,使得计算过程与商品和用户数量无关,提高了算法的优势。但若电子商务网站规模较大,用户和商品数量大量增加时,会存在严重的冷启动和数据稀疏问题,从而影响推荐的效果。Shambour 等[6]将商品评分信任度的概念融入基于用户的协同过滤推荐算法中,用一种新的方式计算商品相似度,实验表明这种改进能在一定程度上避免数据稀疏性问题。薛美琦[7]提出了一种隐式反馈协同过滤推荐系统,采用负采样技术降低训练模型的复杂性,降低了训练时间,提高了训练效率,同时对系统的冷启动问题提出了改进方案。但该方案只能优化冷启动用户问题,不能解决冷启动商品问题。杨佳莉[8]等提出一种自适应混合协同推荐算法,引入目标物品新鲜度和用户活跃度两个指标对模型权重进行调节,在张量分解的基础上对物品间相似度进行计算,在一定程度上提高了推荐的准确率。
在分析上述研究的基础上,提出一种基于商品评价关键词的协同过滤推荐算法。设计权重排序自学习的方法提取评价文本的关键词,根据关键字重合度寻找用户与商品,商品与商品之间潜在的关系。结合协同过滤算法将关键词重合度引入商品相似性的计算中,最终生成用户的偏好列表。
3 标题
本文在协同过滤算法中评价矩阵稀疏的背景下,从用户对商品的评价信息中获取商品的内容数据,提取出评价的关键词,通过商品评价关键词之间的相似性度量商品之间的关联性,最终生成推荐结果,使得商品推荐结果更加符合用户的兴趣,从而达到提升推荐效果的目的,算法流程如图2所示。
该方法主要分为两部分:一是评价文本关键词提取算法;二是基于评价关键词的协同过滤推荐算法。
4 关键词提取技术
关键词能准确的概括文档的核心内容,在信息搜索,标引论文特征方面有很广泛的应用。关键词提取技术属于文本挖掘的范畴,是文档搜索、分类、比较和文本聚类等文本数据挖掘的基础。
文本关键词提取算法主要有两类[9]:无监督关键词提取方法和有监督关键词提取方法。无监督提取算法使用某些方法寻找文本中对文档主题影响较大的词作为关键词,无需手工标注语料。首先将候选词抽取出来,之后对候选词打分,选择候选词打分数排名前N的词作为关键词。常见的候选词打分策略有TF-IDF(词频-逆文件频率计算法),TextRank(一种基于图的用于关键词抽取和文档摘要的排序算法),LDA(基于概率模型的主题模型算法)等算法。有监督关键词提取方法可将提取过程视为二分类问题。先将文本切分为候选词,然后为各个候选词划定是否为关键词的标签,最后通过算法训练关键词提取分类器,作为后续提取关键词的依据。对需要进行关键词提取的新文本,首先切分出所有候选词,然后利用训练好的关键词提取分类器,对各个候选词进行分类,最终根据候选词的标签选定关键词。
无监督方法无需人工标注训练集合的过程,过程更加简单快捷,但不能有效利用多种信息对候选关键词排序,所以效果无法与有监督方法媲美;而有监督提取方法能够通过对样本的训练学习调节参数及权重对关键词的影响程度,因此效果更优。
4.1 标题
数据预处理的主要目的是将一些与实际不符或不具有参考价值的评价筛选出去。
1) 去除停用词:比如一些没有实际意义的语气词“哈哈”“呵呵”等,还有一些纯标点符号的评价。
2) 长度过短的评价:若长度过短,则关键词提取的准确率较低影响下一步商品相似度的计算,最终影响推荐结果的准确性,因此要将其剔除。
3) 不具有参考价值的内容:例如表情符号组成的评价,以及为了刷排名大量重复的评价。
4.2 分词处理
本文采用开源的jieba库实现中文分词[10]。jieba 库是一款基于Python语言的强大的第三方中文分词库,支持三种分词模式:精准模式、全模式和搜索引擎模式。本文采用全模式进行分词,因为全模式能够将句子中所有可能的词都切分出来,速度快效率高。
分词的过程如下:
①首先,根据评价语句特点构建登录词词典。
②基于词典实现词图扫描,生成被分词语句中所有可能的词语组合构成的有向无环图(DGA图)。
③通过动态规划寻找概率最大的路径,从而找到最优的词频切分组合。
④对于不在词典中的切分组合,采用基于汉字成词能力的隐马尔可夫模型(Hidden Markov Model,HMM),并使用Viterbi算法进行词性标注。
分词的主要工作是将原始样本转换为关键词提取的样本,过程如图3所示。
4.3 关键词提取算法设计
经过分词处理,得到分词后的词语集。jieba提供了两种算法进行关键词提取,分别是:TF-IDF(TermFrequency-Inverse Document Frequency) 算法和Tex⁃tRank算法。
其中TF-IDF用来评估某个词语对于一个文本集合中的某一个文本的重要程度。基于这样一个假设,某个词在一个文本集合中某一个文本中出现的频率高,而在其他文本中出现得少,则认为该词语具有很好的区分度,能够代表该本文。TF-IDF易于理解,实现简单,但其精度受语料库的影响,并且不能反映词语的位置信息,而词语所在的位置信息,如标题、首尾句中的词语往往包含重要的信息,理应赋予更高的权重,因此本文采用TextRank算法进行关键词提取。
TextRank关键词提取算法是以文本图排序为基础,源于Google的PageRank算法。将待提取关键词的文本切分为若干个单元(词语、语句)后建立图模型,用PageRank迭代计算出每个单元的rank值,然后对rank值进行排序,根据排序结果即可得到TopN关键词列表,迭代计算公式如下:
4.4 关键词列表输出
考虑到评价语句特点,为了保证更高的准确率,通过统计分析构建新词库,以便包含jieba词库里没有的词。通过Python实现基于jieba的关键词提取算法,对物品评价文本关键词进行提取,最终得到物品-评价关键词表如表2所示,用于下一步商品相似度计算。
5 基于评价关键词的协同过滤推荐算法
传统基于物品的协同过滤推荐算法(ItemCF) 指的是根据用户喜欢的物品,推荐这些物品的相似物品[11]。把用户对某物品的偏好作为衡量指标计算物品间相似度,再结合某用户历史偏好预测该用户对未涉及的物品的偏好,进而生成推荐列表。本文将评价文本关键词重合度引入物品相似度计算中,进而提高推荐效果。
5.1 基于评价关键词的协同过滤推荐算法设计
基于物品的协同过滤算法分为两步,物品间相似度的计算和物品偏好程度计算。
对物品i 感兴趣的用户列表用N (i)表示,对物品j感兴趣的用户列表用N ( j )表示。但该公式会出现当前热门物品和其他任何物品的相似性都很大,为避免这种情况的发生,可用公式(3)计算相似度:
5.3 算法效率分析
本文采用数据源于阿里旗下天池大数据平台下数据集Women's E-Commerce Clothing Reviews,该数据集是女装电子商务评价数据集,包括23 486行和10 个特征变量[14],将数据随机分为5份,其中4份为训练集和1份作为测试集。当N取值为5、6、7、8、9、10时与传统的ItemCF协同过滤算法进行对比实验,结果如图5所示。
由结果可知,本文提出的推荐模型相对于传统的基于物品的协同过滤算法具有较大的优势,在一定程度上提高了推荐的准确率。随着关键词的增加,模型推荐结果的准确率和召回率逐渐增加,但是当关键词数量增加到一定程度后,对算法的性能的影响不再增大。当选取7个关键词进行计算时,算法的表现最佳。
6 结束语
本文在传统协同过滤推荐算法的基础上,提出一种融合评论关键词的协同过滤算法,将物品评论文本之间关键词的重合度作为重要指标引入物品相似度的计算中,能有效克服物品冷启动和数据稀疏问题,更具个性化,在很大程度上提高了推荐的准确率。