您好, 访客   登录/注册

一种基于内容的生鲜产品推荐算法

来源:用户上传      作者:苏启琛 苏洋

  摘要:为解决传统协同过滤推荐算法与基于内容的推荐算法对生鲜产品推荐效果不好的问题,分析了生鲜产品的特点,提出一种基于内容的生鲜产品推荐算法。该算法将生鲜产品的产品名作为关键词,利用关键词在成品菜做法文本中出现的频率,将关键词的向量空间表示作为成品菜的特征,然后根据用户的购买记录,创建基于成品菜评分的用户模型,将用户模型中评分的Top-N成品菜过滤出来,最后取过滤后的成品菜中的生鲜产品推荐给用户。通过实例验证了所提出的算法对比传统的协同过滤算法,精确性至少提高了13.9%,覆盖率至少提高了260%。
  关键词:基于内容推荐;生鲜产品;协同过滤算法;用户模型;向量空间模型
  中图分类号:TP3文献标识码:A
  文章编号:1009-3044(2020)28-0189-03
  Abstract: To solve the problem that the traditional collaborative filtering recommendation algorithm and the content-based recommendation algorithm are not good for the recommendation of fresh products, the characteristics of fresh products are analyzed, and a content-based fresh product recommendation algorithm is proposed. The product name of the fresh product is used as a keyword, the frequency of the keyword in the text of the finished product practice is used to construct the vector space representation of the keyword as the feature of the finished product, and then a user model based on the finished product according to the user's purchase record is created, the Top-N finished dishes rated in the user model is filtered out, and finally the fresh products in the filtered finished dishes is recommended to the user. The example verifies that the proposed algorithm is at least 13.9% more accurate than the traditional collaborative filtering algorithm, and the coverage is increased by at least 260%.
  Key words: content-based recommendation; fresh products; collaborative filtering algorithm; user model; vector space model
  1引言
  据统计,2017年生鲜市场交易规模达17897亿元,生鲜电商市场交易规模为1418亿元,线上渗透率仅7.9%,预计到2020年,线上渗透率将达21.7%[1]。近几年,国内多家互联网企业都加快了在生鲜电商领域的布局,相继推出或投资了众多生鲜电商平台,如阿里巴巴的盒马生鲜、美团的小象生鲜、京东的京东到家、腾讯投资的每日优鲜等。如何让用户快速地在众多的生鲜产品中找到自己喜欢的产品,对各个生鲜电商平台都是一个挑战。推荐系统作为解决用户个性化需求和信息过载之间矛盾的解决方案[2],其核心的推荐算法未来会逐渐成为生鲜电商领域的研究重点。
  目前,主流的推荐系统有协同过滤模型、基于内容的推荐系统及混合推荐系统等[3,4]。协同过滤算法通过过滤目标用户的次要信息,并利用其他相关用户回馈的有用信息来计算用户之间的相似度,以此对目标用户进行推荐[5];基于内容的推荐算法依赖物品和用户的描述内容来构建其特征表示,进而推荐与目标用户曾明确表达过喜好的物品相类似的物品[6];混合系统则是混合了多种推荐算法的一种推荐系统。近几年,国内许多学者提出了一些新颖的推荐算法,比如曾安等人提出的融合了LSTM和PMF的推荐算法[7],该算法基于用户评分学习用户特征,融入深度挖掘辅助信息进行推荐;张凯辉等人提出的结合CFDP与时间因子的协同过滤推荐算法[8],该算法使用CFDP算法对数据进行预处理,将时间因子的权重加入预测评分的计算中,依靠新的预测评分进行推荐;王运等人提出的融合用户偏好和物品相似度的概率矩阵分解推荐算法[9],该算法将用户相似度、物品相似度与用户物品评分矩阵融入概率矩阵分解模型中进行评分预测,然后进行推荐。这些算法均在某种维度下提高了推荐的准确率,但是以上算法无法有效地应用于生鲜产品的推荐,因为生鲜产品缺乏文本信息描述,很难挖掘辅助信息,且生鮮产品稀疏性大,用户交互矩阵通常也会非常稀疏[10],导致推荐效果往往不好。为了解决这个问题,本文提出了一种基于内容的生鲜产品推荐算法,将生鲜产品的向量空间表示作为成品菜的特征,根据用户的购买记录,创建基于成品菜评分的用户模型,取相似度高的成品菜中的生鲜产品进行推荐。实验结果表明对比传统的协同过滤算法,精确性至少提高了13.9%,覆盖率至少提高了260%。   2算法介绍
  2.1 数据预处理
  成品菜的做法文本一般由原材料与做法组成,可用如下表1表现,由表1可看出,材料中可能会存在一些产品是不需要推荐或者用户不会去购买的,比如水,可在数据预处理阶段将这些材料删除,这样不仅可以减少后续产品权重计算量,还可以避免这些产品对关键词权重的影响。为了使产品名可作为成品菜的关键词,还需将材料名保持和产品名一致,比如表1中的大蒜,生鲜电商平台上叫蒜头,需将材料名与做法中出现的该材料改为平台中商品名,改完后如表2:
  2.2关键词的向量空间模型
  向量空间模型[11]是一个文本文档的空间表示方法。在该模型中,每个文档被表示成一个N维空间中的向量,每一维对应给定文档集合词汇表中的一个词[6]。
  本算法中,生鲜产品的产品名作为关键词,每个成品菜做法的文本描述被表示成关键词权重的向量,该权重表示该成品菜与生鲜产品的关联度。首先计算出第j个成品菜与第k个生鲜产品的TF-IDF[12](term frequency–inverse document frequency),公式如下:
  2.4算法步骤
  1)根据平台在售的生鲜产品,对成品菜做法文本进行预处理;
  2)计算得出成品菜的关键词向量空间;
  3)计算得出用户的内容特征向量;
  4)计算得出用户评分的Top-N成品菜;
  5)将Top-N成品菜中生鲜产品推荐给用户。
  3实验分析
  3.1数据集
  本文算法所用成品菜做法文本来自香哈网,生鲜产品及用户购买记录来自广东禧越网络科技有限公司,以上组合而成的数据集包含169种粤菜的成品菜做法,934种生鲜产品及1473名真实用户的8851条购买记录。
  3.2评价指标
  3.3仿真实验与对比分析
  3.3.1参数设置
  本算法将实验数据中的购买记录分为两部分,第一部分4851条数据,用于计算推荐算法评估的用户对生鲜产品评分,第二部分4000条数据用于验证推荐的精确性。观察成品菜做法文本可看出,材料中的辅料与调料占很大比例,而且这些材料是购买频次较低的,本文选取30%作为判断用户是否喜欢该成品菜的临界点,即若:
  因为本文采用的是用户对生鲜产品的隐性评分,在均方根误差(RMSE)计算中,定义第二部分数据中,用户u购买过成品菜j中材料不小于30%,则对成品菜j中的生鲜产品真实评分ruj为1,否则真实评分为0。
  3.3.2推荐效果对比
  本文将传统协同过滤推荐算法与本文算法在数据集上进行Top-N(N=3,5,7,10)推荐评价指标对比,精确性取数据集中所有用户的平均值,精确性与覆盖率结果如图1与图2所示。
  可以看出,本文提出的基于内容的生鲜产品推荐算法精确性的曲线较平稳,精确性比传统协同过滤算法至少提高了13.9%。因为本论文由成品菜出发推荐生鲜产品给用户,在同样的N值下,成品菜包含的生鲜产品要比单品推荐多,覆盖率比传统协同过滤算法至少提升了260%。
  4结论
  本文提出了一种基于内容的生鲜产品推荐算法,将生鲜产品名作为关键词,关键词的向量空间表示作为成品菜的特征,通过用户购买记录,计算得出用户对成品菜的评分,将评分最高的Top-N成品菜中的生鲜产品推荐给用户。对比试验表明,本算法与传统的协同过滤推荐算法相比,推荐的精确性与覆盖率都有一定的提高。因基于内容的推荐算法是利用用户之前的评分给出推荐,对新用户具有冷启动问题,而且基于内容的推荐算法存在过度特化[3]的问题,推荐的内容缺乏新颖性。未来计划在生成用户对成品菜的评分之后,加入协同过滤算法,组合成混合推荐系统,以及提取更多的成品菜特征来解决上述两个问题。
  参考文献:
  [1] 李倩舒.生鲜新零售可持续发展模式探析——基于盒马鲜生和小象生鲜的案例分析[J].江苏商论,2020(4):16-18.
  [2] 彭浩,佃松宜.基于改进FP-growth的用户兴趣推荐算法的设计与实现[J].微电子学与计算机,2020,37(2):8-13.
  [3] Charu.推荐系统:原理与实践[M].北京:机械工业出版社,2018.
  [4] 黄昕,赵伟,王本友.推荐系统与深度学习[M].北京:清华大学出版社,2019.
  [5] Chen YN,Yu M.A hybrid collaborative filtering algorithm based on user-item[J].2010InternationalConferenceonComputationalandInformationSciences,2010:618-621.
  [6]Francesco Ricci,LiorRokach,BrachaShapira.推荐系统技术、评估及高效算法[M].北京: 机械工业出版社,2018:77-81.
  [7]曾安,赵恢真. 融合了LSTM和PMF的推荐算法[J]. 计算机工程与应用,2020,4:11.
  [8] 张凯辉,周志平,赵卫东.结合CFDP与时间因子的协同过滤推荐算法[J].计算机工程与应用,2020,56(15):80-85.
  [9] 王运,倪静.融合用户偏好和物品相似度的概率矩阵分解推荐算法[J].小型微型计算机系统,2020,41(4):746-751.
  [10] 张浩博,薛峰,刘凯. 基于半自动编码器的协同过滤推荐算法[J]. https://doi.org/10.19678/j.issn.1000-3428.0056700
  [11] 吴龙峰,于瓅,王峰.向量空间模型的文本分类研究进展与应用[J].宿州学院学报,2019,34(12):69-72,76.
  [12] 张波,黄晓芳.基于TF-IDF的卷积神经网络新闻文本分类优化[J].西南科技大学学报,2020,35(1):64-69.
  [13] 李文俊.时间感知的推荐算法研究[D].成都:电子科技大学,2017.
  [14] Shu JB,ShenXX,LiuH,et al.A content-based recommendation algorithm for learning resources[J].Multimedia Systems,2018,24(2):163-173.
  [15] Fleder D M,Hosanagar K.Recommender systems and their impact on sales diversity[C]//Proceedings of the 8th ACM conference on Electronic commerce -EC '07.June 11-15,2007.SanDiego,California,USA.NewYork:ACM Press,2007:192-199.
  【通聯编辑:梁书】
转载注明来源:https://www.xzbu.com/8/view-15368150.htm