2.793

2018影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

融合社交因素和评论文本卷积网络模型的汽车推荐研究

冯永 陈以刚 强保华

冯永, 陈以刚, 强保华. 融合社交因素和评论文本卷积网络模型的汽车推荐研究. 自动化学报, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
引用本文: 冯永, 陈以刚, 强保华. 融合社交因素和评论文本卷积网络模型的汽车推荐研究. 自动化学报, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
FENG Yong, CHEN Yi-Gang, QIANG Bao-Hua. Social and Comment Text CNN Model Based Automobile Recommendation. ACTA AUTOMATICA SINICA, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
Citation: FENG Yong, CHEN Yi-Gang, QIANG Bao-Hua. Social and Comment Text CNN Model Based Automobile Recommendation. ACTA AUTOMATICA SINICA, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245

融合社交因素和评论文本卷积网络模型的汽车推荐研究


DOI: 10.16383/j.aas.2018.c170245
详细信息
    作者简介:

    陈以刚  重庆大学计算机学院硕士研究生.主要研究方向为智能推荐与神经网络.E-mail:20141413081@cqu.edu.cn

    强保华  桂林电子科技大学广西云计算与大数据协同创新中心教授.主要研究方向为大数据处理与信息检索.E-mail:qiangbh@guet.edu.cn

    通讯作者: 冯永  重庆大学计算机学院教授.主要研究方向为大数据分析与数据挖据, 大数据管理与智能推荐, 大数据集成与人工智能.本文通信作者.E-mail:fengyong@cqu.edu.cn
  • 本文责任编委 周涛
  • 基金项目:

    重庆市重点产业共性关键技术创新专项 cstc2017zdcyzdyxx0047

    国家重点研究发展计划 2017YFB1402400

    广西可信软件重点实验室开放课题 kx201701

    重庆市社会事业与民生保障科技创新专项 cstc2017shmsA20013

    广西云计算与大数据协同创新中心开放课题 YD16E01

    重庆市基础与前沿研究计划 cstc2017jcyjAX0340

    国家自然科学基金 61762025

Social and Comment Text CNN Model Based Automobile Recommendation

More Information
    Author Bio:

    Master student at the College of Computer Science, Chongqing University. His research interest covers intelligent recommendation and neural networks

    Professor at the Guangxi Cooperative Innovation Center of Cloud Computing and Big Data, Guilin University of Electronic Technology. His research interest covers big data processing and information retrieval

    Corresponding author: FENG Yong Professor at the College of Computer Science, Chongqing University. His research interest covers big data analysis and data mining, big data management and intelligent recommendation and big data integration and artificial intelligence. Corresponding author of this paper
  • Fund Project:

    Key Industries Common Key Technologies Innovation Projects of Chongqing CSTC cstc2017zdcyzdyxx0047

    National Key Research and development Program of China 2017YFB1402400

    Guangxi Key Laboratory of Trusted Software kx201701

    Social Undertakings and Livelihood Security Science and Technology Innovation Funds of Chongqing CSTC cstc2017shmsA20013

    Guangxi Cooperative Innovation Center of Cloud Computing and Big Data YD16E01

    Frontier and Application Foundation Research Program of Chongqing CSTC cstc2017jcyjAX0340

    Supported by National Natural Science Foundation of China 61762025

图(6) / 表(6)
计量
  • 文章访问数:  720
  • HTML全文浏览量:  269
  • PDF下载量:  449
  • 被引次数: 0
出版历程
  • 收稿日期:  2017-05-10
  • 录用日期:  2017-11-06
  • 刊出日期:  2019-03-20

融合社交因素和评论文本卷积网络模型的汽车推荐研究

doi: 10.16383/j.aas.2018.c170245
    基金项目:

    重庆市重点产业共性关键技术创新专项 cstc2017zdcyzdyxx0047

    国家重点研究发展计划 2017YFB1402400

    广西可信软件重点实验室开放课题 kx201701

    重庆市社会事业与民生保障科技创新专项 cstc2017shmsA20013

    广西云计算与大数据协同创新中心开放课题 YD16E01

    重庆市基础与前沿研究计划 cstc2017jcyjAX0340

    国家自然科学基金 61762025

    作者简介:

    陈以刚  重庆大学计算机学院硕士研究生.主要研究方向为智能推荐与神经网络.E-mail:20141413081@cqu.edu.cn

    强保华  桂林电子科技大学广西云计算与大数据协同创新中心教授.主要研究方向为大数据处理与信息检索.E-mail:qiangbh@guet.edu.cn

    通讯作者: 冯永  重庆大学计算机学院教授.主要研究方向为大数据分析与数据挖据, 大数据管理与智能推荐, 大数据集成与人工智能.本文通信作者.E-mail:fengyong@cqu.edu.cn
  • 本文责任编委 周涛

摘要: 汽车作为较高价值和个性化的消费品,使得用户购车决策过程较一般商品更为复杂.本文主要研究社交环境和评论文本两方面对用户购车决策过程的影响,提出了融合社交因素和评论文本卷积网络的汽车推荐模型(Social and comment text CNN model based automobile recommendation,SCTCMAR).SCTCMAR首先定义了基于购买用途需求的社交圈,在此基础上提出了个人偏好计算方法,并引入了偏好相似度;其次,设计了卷积网络模型学习汽车评论文本的隐特征;然后将社交影响量化因素和评论文本特征有机融合注入推荐模型,并采用低阶矩阵分解技术进行模型计算.另外,本文使用GloVe预训练词嵌入模型,产生了SCTCMAR的另一个版本SCTCMAR+.最后,将SCTCMAR、SCTCMAR、FMM(Flexible mixture model)、TR(Trust rank)、Random sampling在课题组爬取后经清理、去重和整合的266995个用户、702辆汽车信息的真实数据集上进行精确率、召回率和平均倒序排名三个指标的多粒度实验比较,结果表明本文提出的SCTCMAR+和SCTCMAR具有良好的推荐性能.

本文责任编委 周涛

English Abstract

冯永, 陈以刚, 强保华. 融合社交因素和评论文本卷积网络模型的汽车推荐研究. 自动化学报, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
引用本文: 冯永, 陈以刚, 强保华. 融合社交因素和评论文本卷积网络模型的汽车推荐研究. 自动化学报, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
FENG Yong, CHEN Yi-Gang, QIANG Bao-Hua. Social and Comment Text CNN Model Based Automobile Recommendation. ACTA AUTOMATICA SINICA, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
Citation: FENG Yong, CHEN Yi-Gang, QIANG Bao-Hua. Social and Comment Text CNN Model Based Automobile Recommendation. ACTA AUTOMATICA SINICA, 2019, 45(3): 518-529. doi: 10.16383/j.aas.2018.c170245
  • 汽车相对于普通生活用品, 属于特殊商品, 一是价格高, 在购买时用户相对更谨慎; 二是用户购买需求复杂, 决策过程的总体时间相对较长.由于汽车自身具有复杂度高、交易和消费频次低等特点, 所以在推荐任务执行过程中, 会遇到用户相关领域知识匮乏、用户历史交易数据少、商品属性复杂等困难.

    针对相关领域知识匮乏和商品属性复杂, 研究者一般通过构建相关知识领域专家系统应对.这些专家系统通过与用户进行信息交互来准确获得用户的信息及需求, 在此基础上结合已有的领域专业知识体系协同计算分析, 从而对用户提供高效的推荐[1].然而, 专家系统的构建过程相对繁琐, 在系统构建初期, 需要将领域专家提供的信息和知识体系转化成系统能理解的数据模型, 这些数据模型主要包括专业知识库、规则集合等, 这个过程需要花费大量的时间和人力.同时, 在整理专业知识和规则时, 由于人为将需求和属性特征关联, 导致专家系统的知识库和规则库产生一定的片面性和主观性, 最终对推荐结果形成干扰.针对用户历史交易数据少, 一些研究者利用社交网络来获取用户更多的相关信息来弥补信息缺失, 而另外一些研究者则使用项目信息(例如项目描述、简介、评论文本信息)进行处理.虽然在社交网络和评论文本这两个领域的研究已分别有了瞩目的成果, 但是将社交网络和评论文本相互结合的研究却相对较少.社交网络为用户提供了丰富的社交信息, 可缓解用户历史交易记录少的困难, 而评论文本分析则可缓解用户相关领域知识匮乏和商品属性复杂带来的负面影响.

    本文首次将评论文本与社交网络信息结合应用于汽车商品推荐领域, 一方面构建购买用途需求社交圈, 在此社交圈的基础上分析个人偏好和偏好相似度两种社交因素, 并给出合理的量化计算方法.另一方面, 以评论文本为汽车的附属信息, 利用卷积神经网络提取文本隐特征.在设计汽车推荐模型时, 融合社交环境因素和评论文本卷积网络获得的附加属性信息, 从而提升汽车推荐系统的效果.

    综上, 在对社交网络和评论行为两方面的数据充分挖掘的基础上, 设计汽车推荐模型这一研究在技术理论和现实应用层面都具有重要的意义和价值.

    • 近年来, 研究人员提出了几种基于社会信任的推荐系统来提高推荐准确性.事实上, 用户可以信任不同类别中的不同朋友.基于这一概念, 最近有研究引入了"推断的信任圈"概念[2], 用于社交网络中的推荐, 考虑人际信任的影响.他们专注于推断类别特定的社交信任圈.然而, 一些社交网络用户喜欢选择与他们的个人偏好密切相关的产品, 很少考虑人际影响.研究者探索使用矩阵分解工具设计社交推荐从而解决"冷启动"问题. Jamali等[3]在社会网络中探索了这类方法, 将信任传播机制加入到推荐模型中.潘涛涛等[4]利用置信系数区分评分值之间的可信度.信任传播已被证明是社会网络分析和信任推荐中的关键因素. Yang等[5]提出社会网络中"信任圈"的概念.他们的模型优于BasicMF[6]和SocialMF[3].用户之间的信任值由矩阵$S$表示, 用户$u$与用户$v$的有向加权社会关系由正值表示.其基本思想是用户特征应该类似于他/她的好友的特征的平均值, 其种类为$c$中的权重$S_{u, v}^{c*}$.除了文献[5]中的人际影响因素外, Jiang等[7]提出另一个重要因素:个人偏好.他们对中国的人人网数据集和腾讯微博数据进行了实验, 结果表明社会语境因素(个人偏好和人际影响)在模型中有重要的意义.例如张燕平等[8]利用历史记录获取用户声誉来建立声誉推荐系统. Qian等[9]提出了一种结合用户人际兴趣相似性、人际影响力和个人兴趣因素的个性化推荐模型(Personalized recommender model, PRM). Wang等[10]提出使用社会传播模拟和内容相似性分析来更新用户内容矩阵.他们还构建了一个联合的社会内容空间来衡量用户和视频之间的相关性, 为视频导入和重新分享推荐提供了高度的准确性. Feng和Qian[2]提出了一个推荐模型, 以满足用户(特别是对有经验的用户)的个性.此外, 他们的方法不仅考虑个人偏好, 而且结合了人际信任影响和人际兴趣相似性.

      隐含狄利克雷分布(Latent Dirichlet allocation, LDA)和栈式降噪自编码器(Stacked denoising auto-encoder, SDAE)等基于文档建模的方法主要是利用了评论、摘要或概要的项目描述文档[11-14].具体来说, Wang等[11]提出了协同主题回归(Collaborative topic regression, CTR), 在概率方法中结合了LDA和协同过滤.而CTR的变体是将LDA集成到协同过滤中通过使用不同的集成方法来分析项目描述文档[12-13]. Wang等[6]提出了协同深度学习(Collaborative deep learning, CDL), 将SDAE整合到概率矩阵分解(Probabilistic matrix factorization, PMF)中, 从而在评分预测精度方面产生更准确的隐义模型[14].

      但是, 现有的集成模型不能完全捕获文档信息, 因为它们采用词袋模型, 该模型假定忽略如周围单词和单词顺序文档的上下文信息.但文档内的这种细微差异也是成为更深入理解文档的重要因素, 并且进一步理解有助于改进评分预测准确度.为了解决上述问题, 部分研究者尝试使用卷积神经网络(Convolutional neural network, CNN). CNN通过本地接收场、共享权重和亚采样的建模组件有效地捕获图像或文档的局部特征[15-16].因此, CNN的使用有助于更深入地理解文档, 并且产生比LDA和SDAE更好的隐义模型, 特别是缺乏评分的描述文档.此外, CNN能够利用预训练的词嵌入模型, 例如Glove[17], 以便更好地理解项目描述文档, 而LDA和SDAE不能利用预训练的词嵌入模型.

      然而, 现有的CNN不适合推荐任务.具体来说, 常规CNN主要解决预测词、短语或文档的标签分类任务.相反, 推荐的目的通常是回归任务, 旨在准确地逼近用户对项目的评分.因此, 现有的CNN不能直接应用于本文的推荐任务.为了解决该技术问题, Kim等[18]提出了一种文档上下文感知推荐模型—卷积矩阵分解(Convolutional matrix factorization, ConvMF), 利用CNN捕获项目描述文档的上下文信息, 进一步增强评分预测精度.

    • 本文对汽车推荐系统进行研究, 为了更好地理解用户的评分行为, 需要挖掘用户的个性化特征.本文从两方面入手: 1)社交环境对用户的影响, 在特定的车型下构建购买用途需求的社交圈, 在此社交圈的基础上, 分析用户的个人偏好和偏好相似度两个社交因素, 并计算量化其社交关系; 2)分析评论文本对项目的影响, 通过深度学习技术构建了四层卷积神经网络来学习文本特征.最终, 本文提出了新颖的SCTCMAR汽车推荐模型, 该模型融合了社交影响和评论文本特征, 即用户的个人偏好、偏好相似度以及项目的评论文本特征, 最终将这三个因素注入到推荐模型中体现社交因素和评论文本特征因素对用户决策过程的影响.

    • 本文提出的模型如图 1所示, 中间的点线框为PMF, 左边线框是社交因素, 右边线框是CNN.该模型在概率矩阵分解(PMF)的基础上, 融合社交因素对用户的影响和评论文本特征对项目的影响, 提出了SCTCMAR模型.推荐模型中的符号定义见表 1.

      图  1  SCTCMAR的图模型

      Figure 1.  Graphical model of SCTCMAR

      表 1  推荐框架的符号定义

      Table 1.  Notations in recommender framework

      表示符号概念描述
      $U=\left\{ {{u}_{1}}, \cdots, {{u}_{N}} \right\}$用户集合
      $F={{[{{F}_{u, v}}]}^{M\times M}}$偏好相似度矩阵
      $V=\{{{i}_{1}}, \cdots, {{i}_{M}}\}$汽车集合
      ${{F}_{u, v}}\in [0, 1]$用户$ u$和用户$ v$之间的偏好相似度
      $R={{[{{R}_{u, i}}]}^{N\times M}}$评分矩阵
      $Q={{[{{Q}_{u, i}}]}^{N\times M}}$用户个人偏好
      ${{R}_{u, i}}$用户$ u$对汽车$ i$的评分
      ${{Q}_{u, i}}\in [0, 1]$用户$ u$的偏好和汽车$ i$的主题之间的相关性
      $W$卷积神经网络(CNN)中的内部权重

      假设有$N$个用户和$M$个项目以及真实评分矩阵, 目标是找到用户和项目的隐义模型(和$V\in {{\bf R}^{m\times k}}$), 求其乘积()来重构评分矩阵$R$.通过概率矩阵分解模型使用$W$, $F$和$Q$不断地影响用户和项目的隐义模型, 从而求其乘积得到预测$u$到$i$的评分值, 不断逼近预测值与实际值之间的差距, 从而提高推荐精准度.在概率上真实评分的条件概率分布如下:

      $$ \begin{align}p(R|U, V, \sigma _{R}^{2})=\prod\limits_{u}^{N} {\prod\limits_{i}^{M}{{\rm N}{{({{r}_{ui}}|u_{u}^{\rm T}{{v}_{i}}, \sigma _{R}^{2})}^{{{I}_{ui}}}}}} \end{align} $$ (1)

      其中, N$(x|u, {{\sigma }^{2}})$表示均值为$u$, 方差为的高斯分布概率密度函数, ${{I}_{ui}}$是指示函数, 如果用户$u$对项$i$评价过, 则${{I}_{ui}}=1$, 反之为0.

      对于用户隐义模型有三个因素: 1)为了防止过拟合的0均值高斯先验概率; 2)在已知该用户社交圈中朋友的偏好隐特征时, 用户隐特征的条件概率; 3)在已知该用户社交圈中个人偏好隐特征时, 用户隐特征的条件概率.具体定义为

      $$ \begin{align}&p(U|F, Q, \sigma _{U}^{2}, \sigma _{F}^{2}, \sigma _{Q}^{2})\propto \nonumber\\ &\quad \quad \quad p(U|\sigma _{U}^{2})\times \text{ }p(U|F, \sigma _{F}^{2})\times p(U|Q, \sigma _{Q}^{2})= \nonumber\\ &\quad \quad \quad\prod\limits_{u}^{N}{{\rm N}({{u}_{u}}|0, \sigma _{U}^{2}I)}\, \times \nonumber\\ &\quad \quad \quad\prod\limits_{u}^{N}{{\rm N}({{u}_{u}}| \sum\limits_{v\in C_{u}^{c}}^{{}}{F_{u, v}^{c*}}U_{u}^{c}, \sigma _{F}^{2}I)}\, \times \nonumber\\ &\quad \quad \quad\prod\limits_{u}^{N} {{\rm N}({{u}_{u}}|Q_{u, i}^{c*}U_{u}^{c}, \sigma _{Q}^{2}I)} \end{align} $$ (2)

      与常规PMF中的项隐义模型不同, 我们假设从三个变量生成项目隐义模型. 1) CNN中的内部权重$W$; 2)表示项$i$的文档${{X}_{i}}$; 3) ${{\varepsilon }_{i}}$变量作为高斯噪声.这使我们能够进一步优化项隐义模型的评分.因此, 最终项隐义模型为

      $$ {{v}_{i}}=cnn(W, {{X}_{i}})+{{\varepsilon }_{i}} $$ (3)
      $$ {{\varepsilon }_{i}}\sim{\rm N}(0, \sigma _{V}^{2}I) $$ (4)

      其中, $cnn$表示卷积运算.

      对于$W$中的每个权重${{w}_{k}}$, 设置最常用0均值高斯先验概率.具体定义如下:

      $$ \begin{align}p\left( W|\sigma _{W}^{2} \right)=\prod \limits_{k}{{\rm N}({{W}_{k}}|0, \sigma _{W}^{2})} \end{align} $$ (5)

      于是, 项隐义模型的条件概率如下:

      $$ \begin{align}&p(V|W, X, \sigma _{V}^{2})=\nonumber\\& \qquad\prod\limits_{i}^{M}{{\rm N}({{v}_{i}}|cnn(W, {{X}_{i}}), \sigma _{V}^{2}I)} \end{align} $$ (6)

      其中, $X$是项目的描述文档集合.为了建立CNN和PMF之间的桥梁, 使用从CNN模型获得的评论隐向量作为高斯分布均值, 并且项的高斯噪声作为高斯分布的方差, 这有助于完全分析描述文档和评分.

      接下来将按以下过程详细介绍:

      1) 为了确定社交环境的影响范围, 需要构建基于购买用途需求的社交圈;

      2) 在该社交圈的基础上分别分析用户的个人偏好和偏好相似度;

      3) 使用卷积神经网络提取评论隐特征.

    • 给定用户$u$, 类别$c$和用途$t$, 本文使用Yang等[2]提出的推理规则为当前类别评分用户建立社交圈.

      定义1. 基于购买用途需求的社交圈($C_{u}^{t}$).在特定类别$c$下, 对于用途$t$, 原始社交网络SN (Social network)满足以下条件的所有用户$v$构成$u$的社交圈$C_{u}^{t}$, 即$v\in C_{u}^{t}$.

      1) 在SN中用户$u$和用户$v$有直接社交关系, 即$S{{N}_{u, v}}=1$;

      2) $t\in {{u}^{t}}$ && $t\in {{v}^{t}}$.其中, ${{u}^{t}}$代表用户$u$的购买用途集合, 表示用户$u$的购买用途需求集合中含有用途$t$.如果$v$符合上述条件, 则记为$v$ $\in$ $C_{u}^{t}$, 否则记为$v\notin C_{u}^{t}$.

      按照给出的说明, 图 2展示了购买用途需求的社交圈的构造过程.每个用户购买用途需求使用括号标注在用户旁边, 例如用户$u$的购买用途需求为${{t}_{1}}$, ${{t}_{2}}$, ${{t}_{3}}$.用户$u$为了构造特定购买用途需求${{t}_{1}}$下的社交圈$C_{u}^{{{t}_{1}}}$, 首先需要在SN中找出与$u$有直接社交关系的用户集合, 再按照条件 && $t\in {{v}^{t}}$进行筛选, 最后找到用户集合是用户$u$在购买用途需求${{t}_{1}}$下的社交圈$C_{u}^{{{t}_{1}}}$.同理, 可推出$u$在${{t}_{1}}$和${{t}_{2}}$下的社交圈$C_{u}^{{{t}_{2}}}$和$C_{u}^{{{t}_{3}}}$.下文对社交影响中的社交因素的有关研究全部限制在购买用途需求的社交圈范畴内.

      图  2  构造购买用途需求的社交圈

      Figure 2.  The inference process of purpose-based social circle of users

    • Feng和Qian[2]提出了一种基于项类别分布向量来衡量用户个人偏好的方法, 但忽略了历史用户评分值.然而, $u$对项$i$的评分值反映了$u$喜欢$i$的程度.因此, 将项类别分布与用户评分数据结合, 可以更精确地学习用户的个人偏好.关于类别$c$, 可以从评分矩阵${{R}^{c}}$获得用户评分数据.矩阵${{R}^{c}}$的每一行归一化如下:

      $$ \begin{align}R_{u, i}^{c*}=\frac{R_{u, i}^{c}}{\sum\limits_{i\in H_{u}^{c}}^{{}}{R_{u, i}^{c}}} \end{align} $$ (7)

      其中, $H_{u}^{c}$是在类别$c$用户$u$评分的项集合.类似于Feng和Qian[2]的方法, 因为一个项属于不同的类别, 使用类别分布向量表示项$i$的主题.

      $$ \begin{align}{\boldsymbol{ D}_{i}}=[{{I}_{{{c}_{1}}}}, {{I}_{{{c}_{2}}}}, \cdots , {{I}_{{{c}_{n}}}}]\end{align} $$ (8)

      其中, ${{I}_{{{c}_{n}}}}$是指示函数, 如果项$i$属于类别${{c}_{n}}$, 则${{I}_{{{c}_{n}}}}$ $=$ $1$, 反之亦然. $n$是目录的数量.

      定义2. 个人偏好是用户$u$在特定类别$c$下对汽车主题的偏爱分布情况, 用表示.

      如果$u$在类别$c$中具有评分, 则其个人偏好应该类似于项类别分布向量的加权平均值. $u$在类别$c$中的个人偏好为

      $$ \begin{align}\boldsymbol{D}{_{u}^{c}}=\sum\limits_{i\in H_{u}^{c}}^{{}}{R_{u, i}^{c*}{\boldsymbol{D}{_i}}} \end{align} $$ (9)

      如果$u$从来没有为类别$c$中的项评分, 作为其个人偏好的近似值, 使用属于他的社交圈的朋友的个人偏好的平均值.从而

      $$ \begin{align}\boldsymbol{D}{_{u}^{c}}=\frac{1}{|C_{u}^{c}|}\sum\limits_{v\in C_{u}^{c}}^{{}}{ \boldsymbol{D}{_v}^{c}} \end{align} $$ (10)

      其中, $|C_{u}^{c}|$代表社交圈$C_{u}^{c}$的用户数.

      在实践中, 用户$u$的个人偏好与项目$i$的主题的相关性被视为用户$u$在项目$i$上的隐实际评分值, 用$Q_{u, i}^{{}}$表示.

      $$ \begin{align}{{Q}_{u, i}}={\rm Cosin}(\boldsymbol{D}{_{u}^{c}}, {\boldsymbol{D}{_i}}) \end{align} $$ (11)

      其中, ${\rm Cosin}$表示两个向量间的余弦相似度.

    • 定义3.偏好相似度是在特定类别$c$下, 用户$u$和$v$之间的主题偏好向量相似度, 用$F_{u, v}^{c}$表示.具体来说, 本文采用Feng和Qian[2]提出的方法来度量偏好相似度.

      $$ \begin{align}F_{u, v}^{c}={\rm Cosin}(\boldsymbol{D}{_{u}^{c}}, \boldsymbol{D}{_{v}^{c}}) \end{align} $$ (12)

      归一化后如下:

      $$ \begin{align}F_{u, v}^{c*}=\frac{F_{u, v}^{c}}{\sum\limits_{v\in C_{u}^{c}}{F_{u, v}^{c}}} \end{align} $$ (13)
    • CNN的目标是从汽车评论文本数据中学习文本的隐特征向量.图 3显示了CNN的结构, 包括Embedding层、卷积层、Pooling层和输出层.

      图  3  卷积神经网络结构

      Figure 3.  Structure of convolutional neural network

      1) Embedding层

      该层将预处理的汽车评论文本变换成表示下一个卷积层文档的密集矩阵.具体来说, 对于作为$l$个词的序列文档, 通过连接文档中词的向量将文档表示为矩阵.词向量由随机初始化或用词向量嵌入模型GloVe预先训练好, 通过优化过程进一步训练, 文档矩阵变为

      $$ \begin{align}D=\left[ \begin{matrix} {}&|&|&|&{} \\ \cdots &{{w}_{i-1}}&{{w}_{i}}&{{w}_{i+1}}&\cdots \\ {}&|&|&|&{} \\ \end{matrix} \right] \end{align} $$ (14)

      其中, $l$为文档长度, $p$为${{w}_{i}}$的嵌入维度大小.

      2) 卷积层

      卷积层提取上下文特征.

      定义4. 上下文特征向量用来提取汽车评论文本的上下文信息的向量, 用${ \boldsymbol{c}^{j}}$表示.

      具体地, 上下文特征由第$j$个共享权重$W_{c}^{j}$ $\in$ ${{\bf R}^{p\times ws}}$提取, 其窗口大小$ws$确定周围词的数量.

      $$ \begin{align}c_{i}^{j}=f(W_{c}^{j}*{{D}_{(:, i:(i+ws-1))}}~+b_{c}^{j}) \end{align} $$ (15)

      其中, $\ast$是卷积算子, $b_{c}^{j}\in {\bf R} $是$W_{c}^{j}$的偏差, $f$是非线性激活函数.在诸如sigmoid、tanh和ReLU的非线性激活函数中, 使用ReLU来避免梯度消失的问题, 导致优化收敛慢并且可能导致差的局部最小值[19-20].带有权重$W_{c}^{j}$文档的上下文特征向量${ \boldsymbol{c}^{j}}$ $\in$ ${{\bf R}^{l-ws+1}}$由下式构成:

      $$ \begin{align}\boldsymbol{{c}^{j}}=\left[ c_{1}^{j}, c_{2}^{j}, \cdots, c_{i}^{j}, \cdots, c_{l-ws+1}^{j} \right] \end{align} $$ (16)

      然而, 一个共享权重只能捕获一种类型的上下文特征.因此, 使用多个共享权重来捕获多种类型的上下文特征, 能够生成与${{W}_{c}}$数量${{n}_{c}}$一样多的上下文特征向量.例如$W_{c}^{j}$中的$j=1, 2, 3, \cdots, {{n}_{c}}$.

      3) Pooling层

      Pooling层从卷积层提取表征特征, 并且通过构建固定长度特征向量的池化操作来处理文档的可变长度.在卷积层之后, 文档被表示为${{n}_{c}}$个上下文特征向量, 其中每个上下文特征向量具有可变长度(即$l$ $-$ $ws+1$个上下文特征).然而, 这种表示存在两个问题: 1)存在太多的上下文特征${{c}_{i}}$, 其中大多数上下文特征可能不会帮助增强其性能; 2)上下文特征向量的长度变化, 使得难以构建接下来的层.因此, 利用max-pooling, 通过从每个上下文特征向量中仅提取最大上下文特征, 将文档的表示减少到${{n}_{c}}$个固定长度向量中.

      $$ \begin{align}\boldsymbol{{d}_{f}}=[\max ({\boldsymbol{c}^{1}}), \cdots, \max ({\boldsymbol{c}^{j}}), \cdots, \max ({\boldsymbol{c}^{{{n}_{c}}}})] \end{align} $$ (17)

      其中, ${ \boldsymbol{c}^{j}}$是从第$j$个共享权重$W_{c}^{j}$抽取的长度为$l$ $-$ $ws+1$的上下文特征向量.

      4) 输出层

      通常, 在输出层, 从前一层获得的高级特征应该被转换用于特定任务.因此, 在推荐任务的用户和项目隐义模型的$k$维空间上投影, 通过使用常规非线性投影最终产生评论隐向量.

      定义5. 评论隐向量是表示汽车评论文本中的隐义特征向量, 又作为评论隐特征, 用${ \boldsymbol{s}_{i}}$表示.

      $$ \begin{align}{ \boldsymbol{s}_{i}}=\tanh ({{W}_{{{f}_{2}}}}\left\{ \tanh ({{W}_{{{f}_{1}}}}~+{\boldsymbol{b}_{{{f}_{1}}}}) \right\}~+{\boldsymbol{b}_{{{f}_{2}}}}) \end{align} $$ (18)

      其中, ${{W}_{{{f}_{1}}}}\in {{\bf R}^{f\times {{n}_{c}}}}$, ${{W}_{{{f}_{2}}}}\in {{\bf R}^{k\times f}}$为投影矩阵, 并且在中, , 分别为${{W}_{{{f}_{1}}}}$, ${{W}_{{{f}_{2}}}}$的偏置向量.

      通过上述过程, CNN架构以预处理的汽车评论文本为输入函数, 返回每个文档的隐向量作为输出.

      $$ \begin{align}{ \boldsymbol{s}_{i}}=cnn(W, {{X}_{i}}) \end{align} $$ (19)

      其中, $W$表示所有权重和偏差变量, 以防止混乱. ${{X}_{i}}$表示项目$i$的文档, ${ \boldsymbol{s}_{i}}$表示项目$i$的评论隐向量.

    • 本文采用低阶矩阵分解技术将用户–评分矩阵分为用户隐特征矩阵和汽车隐特征矩阵, $k$是隐空间的向量维度, 对于每个类别$c$, 汽车推荐模型SCTCMAR的目标函数为

      $$ \begin{align} &{{L}^{c}}({{R}^{c}}, {{U}^{c}}, {{V}^{c}}, {{W}^{c}}, {{F}^{c*}}, {{Q}^{c*}})= \nonumber\\ &\qquad\frac{1}{2}\sum\limits_{(u, i)obs} {{{(R_{u, i}^{c}-\hat{R}_{u, i}^{c})}^{2}}}+\frac{{{\lambda }_{U}}} {2}|| {{U}^{c}}|| _{F}^{2}~+ \nonumber\\ &\qquad \frac{{{\lambda }_{V}}}{2}|| {{V}^{c}}-cnn({{W}^{c}}, {{X}^{c}})|| _{F}^{2}~+ \\ &\qquad\frac{{{\lambda }_{W}}} {2}\sum\limits_{k}^{|W_{k}^{c}|}{|| W_{k}^{c}|| _{F}^{2}}~+ \nonumber\\ &\qquad\frac{\beta }{2}\sum\limits_{{u}\in {{{U}}^{c}}}^{{}}\Bigg( (U_{u}^{c}-\sum\limits_{v\in C_{u}^{c}}^{{}} {F_{u, v}^{c*}}U_{u}^{c})(U_{u}^{c}~- \nonumber\\ &\qquad\sum\limits_{v\in C_{u}^{c}}^{{}} {F_{u, v}^{c*}}U_{u}^{c})^{\rm T} \Bigg)~+ \nonumber\\ &\qquad \frac{\gamma }{2}\sum\limits_{(u, i)obs}^{{}} {|H_{u}^{c*}|{{(Q_{u, i}^{c*}-U_{u}^{c}V{{_{i}^{c}}^{\rm T}})}^{2}}} \end{align} $$ (20)

      其中, $|H_{u}^{c*}|$指已评分汽车集合经过正则化后的汽车数量, $R_{u, i}^{c}$表示用户$u$对汽车$i$的实际评分, $\hat{R}_{u, i}^{c}$为通过目标函数捕获的预测评分.一般来说, 评分项目的数量越多, 用户$u$越可能依赖自己个人的偏好做出选择.式(20)中, 第2行表示评论文本因素对汽车的影响; 第3行表示用户的朋友偏好对用户的影响; 最后一行表示用户个人偏好的因素影响.

    • 针对推荐模型SCTCMAR的目标函数, 使用梯度下降法进行优化, 将$U_{u}^{c}$和$V_{i}^{c}$看作变量并求偏导.

      $$ \begin{align} \frac{\partial {{L}^{c}}}{\partial U_{u}^{c}}=&\ \sum\limits_{i:i\in c}^{{}}{I_{u, i}^ {{{R}^{c}}}(r_{m}^{c}+U_{u}^{c}V_{i}^{{{c}^{\rm T}}}-R_{u, i}^{c})V_{i}^{c}}~+ \nonumber\\ &\ {{\lambda }_{U}}U_{u}^{c}+\beta (U_{u}^{c}-\sum\limits_{v\in C_{u}^{c}}^{{}} {F_{u, v}^{c*}}U_{u}^{c})\, - \nonumber\\ &\ \beta \sum\limits_{v:u\in C_{u}^{c}}^{{}}{F_{u, v}^{c*}(U_{u}^{c}- \sum\limits_{w\in C_{u}^{c}}^{{}}{F_{u, w}^{c*}}U_{w}^{c})}~+ \nonumber\\ &\ \gamma \sum\limits_{i:i\in H_{u}^{c}}^{{}}{I_{u, i}^{{{R}^{c}}} |H_{u}^{c*}|(U_{u}^{c}V{{_{i}^{c}}^{\rm T}}-Q_{u, i}^{c*})V_{i}^{c}} \end{align} $$ (21)
      $$ \begin{align} \frac{\partial {{L}^{c}}}{\partial V_{i}^{c}}=&\ \sum\limits_{u\in {{U}^{c}}}^{{}}{I_{u, i}^ {{{R}^{c}}}(r_{m}^{c}+U_{u}^{c}V_{i}^{{{c}^{\rm T}}}-R_{u, i}^{c})U_{u}^{c}}~+ \nonumber\\ &\ {{\lambda }_{V}}(V_{i}^{c}-cnn({{W}^{c}}, {{X}^{c}}))~+ \nonumber\\ &\ \gamma \sum\limits_{u\in {{U}^{c}}}^{{}}{I_{u, i}^{{{R}^{c}}}|H_{u} ^{c*}|(U_{u}^{c}V{{_{i}^{c}}^{\rm T}}-Q_{u, i}^{c*})U_{u}^{c}} \end{align} $$ (22)

      其中, $I_{u, i}^{{{R}^{c}}}$表示指示函数, $I_{u, i}^{{{R}^{c}}}=1$代表用户$u$对汽车$i$有过评分, 否则$I_{u, i}^{{{R}^{c}}}=0$.

      求偏导后同时更新用户隐特征向量和汽车隐特征向量, 然后把更新后的隐特征向量代入目标函数中重新计算, 使目标函数值最快速度下降, 循环迭代该过程直到目标函数收敛为止, 最终经过训练得到用户隐特征矩阵和汽车隐特征矩阵$V_{i}^{c}$.

      然而, 由于$W$与CNN结构中的特征(例如max-pooling层和非线性激活函数)密切相关, 所以$W$不能像对$U$和$V$一样由梯度下降的方式来优化.然而, 当$U$和$V$是暂时恒定时, 我们观察到$L$可以被解释为具有如下的$L2$正则化项的平方误差函数.

      $$ \begin{align} \varepsilon (W)=&\ \frac{{{\lambda }_{V}}}{2}\sum\limits_{i}^{M}{\|({{v}_{i}}-cnn(W, {{X}_{i}})){{\|}^{2}}}~+\nonumber \\ &\ \frac{{{\lambda }_{W}}}{2}\sum\limits_{k}^{|{{w}_{k}}|}{\|{{w}_{k}}{{\|}^{2}}}+{\rm constan} (t) \end{align} $$ (23)

      其中, ${\rm constan}$表示返回一个常量.

      $W$是每一层的权重和偏置, 为了优化$W$, 使用反向传播算法.重复整个优化过程($U$, $V$, $W$交替地更新)直到收敛.通过优化$U$, $V$, $W$, 最终可以预测用户对汽车的未知评分.

      $$ \begin{align} \hat{{R}}=\hat{{r}}+u_{u}^{\rm T}{{v}_{i}}=\hat{{r}}+u_{u}^{\rm T}(cnn(W, {{X}_{i}})+{{\varepsilon }_{i}}) \end{align} $$ (24)
    • 本文实验主要使用网络爬虫从Internet抓取的汽车基本信息、用户信息、用户对汽车评论信息和与汽车有关的语料文本集.汽车和用户数据主要来源于汽车之家和网易汽车, 预训练词嵌入模型主要将语料数据集作为训练数据, 通过使用GloVe工具1来构建.该工具使用的是一种无监督学习算法, 主要用于获取词特征向量, 本质上是具有加权最小二乘的log-bilinear模型, 其模型的主要来源于观察的现象, 即词–词共同出现可能性的比例具有编码某种形式的意义的潜力.此外, 分词过程中使用了数据堂和搜狗输入法提供的汽车领域字典以及爬取的互联网上的汽车字典资源, 如表 2所示.

      1GloVe, available: https://nlp.stanford.edu/projects/glove, 2017

      表 2  数据集信息列表

      Table 2.  The list of datasets

      名称来源/网址用途
      汽车之家http://www.autohome.com.cn 汽车及用户的相关数据信息
      网易汽车 http://auto.163.com 汽车及用户的相关数据信息
      搜狗实验室 http://www.sogou.com/labs/语料数据集
      汽车之家 http://www.autohome.com.cn语料数据集
      网易汽车 http://auto.163.com语料数据集
      腾讯汽车 http://auto.qq.com/语料数据集
      新浪汽车 http://auto.sina.com.cn/语料数据集
      数据堂 http://www.datatang.com/汽车领域字典
      输入法字典搜狗输入法汽车领域字典

      汽车评论文本预处理的主要任务包括, 数据清理和中文分词两部分. 1)清理:由于实验数据主要是通过网络爬虫技术从相关的汽车网站上抓取得到的, 所以数据信息的格式有很多不规范的地方, 存在结构化和非结构化数据.得到的数据中存在HTML标签、Javascript代码、广告标语等不同形式的噪点, 需要进行去噪、清洗, 转为合适的数据结构, 便于使用和理解.去噪主要采用正则表达式, 对广告标语主要靠人工清理. 2)分词:在自然语言处理的相关研究工作中, 分词占据着重要的地位.对于中文语料, 分词工作更是如此.本文采用ICTCLAS2系统作为研究工作中的分词工具, 主要使用基于词典的分词功能.

      2ICTCLAS, available: http://ictclas.nlpir.org, June 10, 2017

      爬取的数据经过清理、去重和整合处理之后, 最终数据集中有266 995个用户信息、702辆汽车信息以及用户购买的汽车信息, 其中每一个用户的购车用途需求有多个, 例如上班、接送孩子、自驾游等; 汽车车型有11种类型, 如跑车、小轿车、SUV、皮卡等.用户对其购买汽车的评分主要是1 $\sim$ 5的整数.本文将数据集分成5组, 进行5-fold交叉验证来评估算法的性能.

    • 针对汽车的推荐性能, 主要从三个方面进行评价: 1)汽车推荐列表中用户真正购买的比例; 2)在用户–汽车测试集中向用户成功推荐的比例; 3)汽车推荐列表中用户最终购买汽车的排名.评价指标为精确率(Precision)和召回率(Recall).

      $$ \begin{align}Precision=\frac{H}{~N\times T} \\ \end{align} $$ (25)
      $$ Recall=\frac{H}{~T} $$ (26)

      其中, $T$为用户数, $N$表示系统为用户推荐的汽车列表长度, $H$指最终购买汽车推荐列表中的汽车的用户数.

      对于汽车这一特定商品, 还采用平均倒序排名(Average reciprocal hit rank, ARHR)[21]对推荐排序准确度进行评价.排序准确度评估指标衡量的是系统产生的推荐集中商品的排序与用户个人偏好的相似度, 平均倒序排名衡量推荐系统向用户输出的效用性, 用户最终购买的商品在推荐列表中的排名越高, 该推荐系统的效用性越强.在推荐列表中, 排序位置${{p}_{i}}$的成功推荐效果值设置为${1}/{{{p}_{i}}}$, 然后进行迭代, 迭代后求平均值得到平均倒序排名值.具体如下:

      $$ \begin{align}ARHR=~\frac{1}{~T}\underset{i=1}{\overset{H}{\mathop \sum }}\, \frac{1}{{{p}_{i}}} \end{align} $$ (27)
    • 为了验证提出的汽车推荐模型SCTCMAR的有效性, 选用具有代表性的推荐算法与SCTCMAR进行比较, 被选入实验对比的四种推荐算法如下:

      1) FMM (Flexible mixture model).由Si等[22]提出的灵活混合模型. FMM通过将用户和项目同时聚类在一起, 同时进行协同过滤来扩展现有的分区/聚类算法, 而不必假定每个用户和项目只应属于单个集群.实验中, 按照该算法的主要思想, 将用户和汽车以购买用途需求分别进行聚类, 实现了FMM模型, 最终完成测试用户的汽车推荐任务.

      2) TR (Trust rank).由Zou等[23]提出的算法.该算法利用可用于电子商务的用户信任网络来处理冷启动问题给推荐系统带来的限制.用户信任网络由用户在其中指定的友谊或信任关系形成, 主要通过应用个性化的PageRank算法, 扩展了给定用户的朋友, 即其他具有类似购买记录的人的朋友.在实验中, 根据该模型的主要想法, 构造一个以购车用户组成的社交网络, 并且实现了该模型和算法.

      3) RS (Random sampling).从整个汽车信息集中随机抽取$N$辆汽车向用户推荐, 作为其他算法的对比实验.

      4) SCTCMAR+.本文提出的推荐算法的另外一个版本, 该方法使用了GloVe预训练词嵌入模型.

      现有的深度学习平台和工具种类繁多[24], 本文使用Python和Keras3库来实现本文模型SCTCMAR.良好的学习率策略可以显著提高深度学习模型的收敛速度, 减少模型的训练时间[25].为了训练CNN的权重, 本文使用小批量的RMSprop (自动调节学习速率的深度学习优化方法), 每个小批量包括128个训练项目.至于详细的CNN架构, 本文使用以下设置: 1)将文档的最大长度设置为3 000. 2) SCTCMAR:随机初始化维度大小为50的词潜在向量. SCTCMAR+:通过尺寸大小为50的预训练词嵌入模型初始化词潜在向量.两种词潜在向量都将通过优化过程训练. 3)在卷积层中, 使用的各种窗口大小为3, 4和5, 并且使用每个窗口大小的100个共享权重. 4)代替与CNN的权重相关的$L2$正则化器, 使用dropout和设置dropout率为0.2以防止CNN过度拟合.本文按照原文的调优成果将FMM算法中的用户和汽车种类分别设为10和20, 对于TR算法和其他参数的设置设为默认值.

      3F.Chollet.Keras. http://github.com/fchollet/keras, 2017

      在实验对比中, 首先对比$N$取值为5, 10, 15, 20的情况下的精确率和召回率.表 3表 4图 4是各算法的精确率和召回率的比较, 以及SCTCMAR+相对于其他方法提升百分比的实验结果.

      表 3  本文提出的算法与其他算法在推荐精确率上的比较及提升百分比

      Table 3.  Precision comparison and improvement between our algorithm and other algorithms

      算法$N=5$$N=10$$N=15$$N=20$
      FMM0.0760.0650.0530.042
      46.10 %45.38 %45.92 %44.00 %
      TR0.0830.0720.0590.048
      41.13 %39.50 %39.80 %36.00 %
      RS0.0010.0010.0010.001
      99.29 %99.16 %98.98 %98.67 %
      SCTCMAR0.1180.101 0.0840.065
      16.31 %15.13 %14.29 %13.33 %
      SCTCMAR+0.1410.1190.0980.075

      表 4  本文提出的算法与其他算法在推荐召回率上的比较及提升百分比

      Table 4.  Recall comparison and improvement between our algorithm and other algorithms

      算法$N=5$$N=10$$N=15$$N=20$
      FMM0.3110.4250.6040.672
      43.04 %35.80 %29.52 %26.56 %
      TR0.4050.5010.7050.783
      25.82 %24.32 %17.74 %14.43 %
      RS0.0100.0160.0230.032
      98.17 %97.58 %97.32 %96.50 %
      SCTCMAR0.4720.5930.7980.864
      13.55 %10.42 %6.88 %5.57 %
      SCTCMAR+0.5460.6620.8570.915

      图  4  在精确率和召回率上本文提出的算法与其他算法的对比

      Figure 4.  Precision and recall comparisons between our algorithm and other algorithms

      表 3表 4图 4表明, SCTCMAR相较于其他方法在精确率和召回率上的性能好, 进一步验证了算法对于汽车这个特殊商品的推荐有效性.无论是精确率还是召回率, 随机抽取算法比其他各个算法都低很多.具体来说, 在精确率方面, 从图 4(a)可以看出, SCTCMAR汽车推荐模型比FMM和TR推荐算法性能要好, 相对于FMM在$N=5$时提升了46.1 %, 而相对于TR在$N=10$时提高了41.1 %; 召回率方面, 从图 4(b)可以看出, 当$N=5$时, SCTCMAR达到54.6 %, 相对于FMM上升了43 %, TR上升了25.8 %.从图 4可以看出, $N$值越大, 各个算法的推荐精准率逐渐下降, 即推荐列表中的汽车越来越多, 算法错误推荐的概率也越大; 而召回率的走势与精确率相反, 随着$N$值增大, 召回率逐渐上升, $N$值越大, 算法预测到用户最终购买汽车的概率越大.

      但是, 从表 3图 4可以发现, 相对于一般消费商品来说, 本文中各个算法精确率都很低, 主要是由精确率的定义和汽车这种特定商品的属性造成的.从精确率的定义来看, 它计算推荐列表中用户真正购买的汽车比例.对汽车而言, 用户通常情况下只会选购列表中的一辆, 即所占比例不会超过${1}/{N}$.

      为了对系统推荐准确性进行更好的评估, 本文还采用了平均倒序排名ARHR[21]这一评价标准.平均倒序排名值越大, 表明用户真正购买的汽车在推荐列表中的排名越靠前, 对于购买汽车用户的推荐效果越优.实验结果如表 5图 5所示.

      表 5  各算法在平均倒序排名上的对比

      Table 5.  ARHR comparison between our algorithm and other algorithms

      算法$N=5$$N=10$$N=15$$N=20$
      FMM0.0820.1060.1220.131
      TR0.1190.1370.1480.154
      RS0.0020.0030.0050.006
      SCTCMAR0.1710.1820.2010.210
      SCTCMAR+0.1960.2180.2330.241

      图  5  各算法在平均倒序排名上的对比

      Figure 5.  ARHR comparison between our algorithm and other algorithms

      图 5可以看出, 各算法远比随机抽取的平均倒序排名高.在汽车这种特定领域商品Top-$N$推荐任务中, SCTCMAR相比于FMM和TR算法在平均倒序排名上有更好的推荐准确度.进一步可知, $N$值越大, 各推荐算法的平均倒序排名越高, 最终慢慢趋于平稳.说明该评价标准对于汽车商品推荐的有效性, 也进一步说明将社交因素与评论文本特征融合到推荐模型的有效性.

    • 1) 预训练词嵌入模型的影响

      与协同过滤的主题回归(CTR)和协同深度学习(CDL)不同, SCTCMAR能够利用预先训练的词语嵌入模型, 例如GloVe[17].因此, 通过使用GloVe预先训练的词嵌入模型初始化SCTCMAR的CNN的嵌入层来分析预训练的词嵌入模型对汽车推荐任务的影响. 表 3~5显示了SCTCMAR+与SCTCMAR在数据集上的实际变化, 精确率、召回率和平均倒序排名都有不错的提升, 但是可以看出词嵌入模型对SCTCMAR的影响与推荐列表长度$N$没有直接关系.为了进一步分析预训练词嵌入模型的影响, 实验选取皮卡(pika)、面包(mianbao)、小型车(small)和紧凑型车(compact)四种车型在$N$ $=$ $5$时的平均倒序排名影响.其中车型的评分数据稀疏度是pika ${>}$ mianbao ${>}$ small ${>}$ compact.实验结果如表 6所示.

      表 6  本文算法使用词嵌入模型在平均倒序排名上的影响

      Table 6.  ARHR comparison between our algorithm with pre-trained word embedding model

      算法pikamianbaosmallcompact
      SCTCMAR0.1710.1690.1840.186
      SCTCMAR+0.1880.1830.1800.176
      提升(%)9.047.65${\bf-2.22}$${\bf-5.68}$

      表 6中, 尽管有微小的变化, 可以观察到一致的趋势, 评分数据越来越稀疏, 预先训练的词嵌入模型有助于提高SCTCMAR的性能.因为预先训练的词嵌入模型的语义和句法信息补充了评分的不足.还可以观察到, 给定足够数量的评分来训练, 则预先训练的词嵌入模型使SCTCMAR的性能恶化.换句话说, 由于评分直接反映了用户和项目之间的关系, 最好是充分利用评分信息, 而不是在评估数据相对密集的时候, 使用从外部文档获得的预先训练的词嵌入模型.

      2) 因素组合的影响

      在实验中将研究的因素的参数设为一定值, 将剩余其他的因素的参数设为0.在SCTCMAR模型中, 对于个人偏好因素, 设定$\gamma =5$和$cnn({{W}^{c}}, {{X}^{c}})$ $=$ ${{\lambda }_{w}}=\beta =0$, 对于偏好相似度因素, 设定和; 对于评论隐特征因素设定$\beta =\gamma =0$. SCTCMAR模型有两个社交因素, 因此性能比较时设置相同的参数.

      我们系统地比较了不使用因素以及使用1个、2个、3个因素的各种方法, 比较结果如图 6所示. UP, PS, CTC分别表示SCTCMAR中的个人偏好、偏好相似度和评论隐特征. +表示因素组合.通过比较可以发现, 所有因素对提高平均倒序排名都有积极影响.进一步, SCTCMAR模型中的每一个因素比PMF中的每个社会因素都有更好的表现.此外, SCTCMAR的多因素组合比其他方法更好, 例如FMM, Trust rank和Random sampling.

      图  6  本文算法多因素联合对平均倒序排名的影响

      Figure 6.  ARHR line chart of impact of factors combination in our model

    • 本文主要针对汽车推荐进行研究, 重点探索社交因素和评论文本因素对用户购车决策过程的影响, 融合以上两方面提出了新颖的SCTCMAR推荐模型.虽然实验结果表明SCTCMAR模型在一定程度上改善了推荐性能, 但是还没有考虑用户购车需求与决策过程中更多的关联关系以及更多的汽车属性信息.下一步工作将考虑将更多的汽车属性信息和交互关系信息融入到推荐模型中, 进一步提高推荐精准度, 并找到更有趣的规律.

参考文献 (25)

目录

    /

    返回文章
    返回