互联网技术支持下针对评论文本的个性化推荐算法设计

2023-03-11 07:14魏镜郦
互联网周刊 2023年3期
关键词:卷积神经网络

摘要:针对评论文本的个性化推荐算法包括多个功能层。数据预处理层将用户对物品的评语转化为词向量,从而降低算法的计算效率。卷积神经网络层对预处理后的数据进行卷积操作,形成评论语句的上下文表达方法。注意力层分为三层注意力机制和协同注意力机制两种运行模式,用于提取用户和物品的个性化特征。预测评论层以量化方式对个性化推荐算法进行评价,相关评价指标为均方误差。经数据检验,该推荐算法的性能优于PMF、UserCF等同类推荐算法。

关键词:评论文本;个性化推荐算法;卷积神经网络

引言

推荐算法在互联网中应用广泛,当前已经形成了多种技术路径。评论文本是用户对商品、物品的文字性评价,相关数据具有客观性和广泛性。科学处理评论信息有利于构建基于评论内容的个性化推荐算法模型,其设计难点在于如何从数据中提取特征信息,同时还需要有效解决数据稀疏造成的冷启动问题。

1. 算法实现原理

1.1 算法原理概述

評论文本是指互联网用户对特定事物的网页文字性评论内容。以电子商务为例,用户对商品的评论内容通常包括功能、质量、性价比、喜爱度等。算法模型以评论文本为线索,在用户和商品之间建立联系,从而实现个性化推荐,主要的建模依据为网页历史评论数据、物品和用户的已知属性。

1.2 算法实现流程

针对评论文本的个性化推荐算法以卷积神经网络(CNN)为基础,其基本实现流程为输入用户/项目数据→匹配用户和项目的属性→判断是否已产生用户/项目评论数据→算法处理→推荐输出。新物品或者新注册的平台用户暂时未产生评论文本,部分物品或用户的文本评论数据过少,以上两类情况不利于推荐算法的应用,采用冷启动方式对其进行处理[1]。

2. 数据稀疏的处理方式

算法须利用大量的数据训练模型,在这一过程中持续进行优化,直到完成收敛。用户和物品的推荐关系模型提炼自大量的评论文本数据,一旦出现文本数据稀疏的问题,算法模型将难以获得良好的性能,甚至无法完成个性化推荐,在理论研究中也将这一现象称为冷启动[2]。处理数据稀疏问题的方法为引入用户/物品属性信息。在网络平台中录入新物品时通常需设置类别、用途、性能参数、材质、价格、品牌等属性,常见的用户属性为年龄和性别。属性信息可作为建立推荐关系的依据。例如,化妆品的主要推荐对象为女性消费者。在研究过程中利用属性相似度表征不同用户/物品在推荐方向上的一致性。假设用户A、B的性别分别为G1、G2,则这两位用户的性别属性相似度按照下式进行计算[1]。

显然,用户和物品都具有多个属性,既可计算单一属性的相似度,亦可计算多个属性的综合相似度,后者的计算方法为求取单一属性相似度的平均值。如果一个新注册的用户和一个评论数据充足的老用户具有较高的属性相似度,那么新用户的推荐内容可借鉴老用户,从而提高对新用户的个性化推荐效果。

3. 针对评论文本的个性化推荐算法

3.1 数据预处理

评论文本由词汇和句子组成,而卷积神经网络擅长处理数学问题,因而需利用自然语言处理技术将文字信息转化为低维度的数学向量。Word2Vec是一种成熟的词向量训练模型,其输入为经过特殊编码(通常为One-Hot编码)的词语,输出为表示该词语的向量[3]。假设用户u对物品k发表了n条评论语句,其中任意一条评论文本表示为Si,则一条评论中的语句集合du,k=(S1,S2,...,Sn)。语句Si中含有j个词汇,则Si=(s1,s2,...,sj)。使用Word2Vec处理所有词汇,将其转化为词向量。

3.2 卷积神经网络层

3.2.1 卷积处理

每句评论中的若干个词汇形成一个词向量矩阵,其中的每一行元素代表文本中的一个词汇。假设一句评语中含有5个词汇,经过转化后形成了一个5×5的矩阵。词汇是评论文本中最小的特征提取单元,卷积核的长、宽应满足词汇全覆盖。对于5×5的词向量矩阵,可将卷积核的长宽设置为2×5、3×5或者5×5。以2×5的卷积核为例,将用户评论的语句逐条输入卷积神经网络,其计算表达式如下。

式中,将激活函数记为 ,卷积核中涉及的参数表示为Uw,卷积操作中的偏置项记为bw。另外,语句中的词汇存在上下文关系,表示为W(i-kW):(i+kW)。卷积操作的结果为词汇wi的上下文表示方法,记为Ciw。于是,一个含有m个词汇的语句经卷积神经网络层处理后的结果可表示为(C1w,C2w,...,Cmw)。

3.2.2 激活函数

在该算法中,激活函数的作用是提取神经元的特征,常用的激活函数包括sigmoid函数、ReLU函数、tanh函数等。结合研究内容的特点,选用ReLU函数提取词汇特征,其计算方法如下。

3.3 注意力层

注意力机制的主要作用为挖掘用户和物品之间的关系,尤其是用户选择物品时的偏好,根据其挖掘维度上的差异,可分为三个层次。

3.3.1 词汇层

在针对评论文本的个性化推荐算法中,用户对物品的评语是构建模型的核心依据,但每一句评语中均包含有多个词汇,用户偏好与词汇之间的联系程度可能存在一定的差异性。假设用户对手机产品的评论为“这部手机的续航时间不够长”,在Word2Vec训练前先将其转化为英文:“The battery life of this mobile phone is not long enough”。能够表达用户选择偏好的关键词为battery life 、not long enough。鉴于此,基于词汇层的注意力机制用于区分不同词汇的重要性。

网络系统的数据库中利用ID对不同用户、不同物品进行唯一性标识,用户ID词向量记为Uid,物品ID记为Wid,用户u对物品w的个性化注意力向量可表示为式(4)。

该公式的实现原理为MLP(多层感知机),W1表示分配给用户u的权重值,b1为对应的偏置项。将qwu作为参数,按照词汇层注意力机制可产生如下表达式。

式中,卷积神经网络可学习的参数记为A1,一个评论语句中第k个词汇的词向量可表示为Ckw,与之相对应的词汇权重值记为akw。按照以上计算公式,评论语句S的整体表示方法为式(6)。

3.3.2 语句层

与词汇类似,用户可对同一个物品发表多条评论语句,因而语句之间也存在重要性差异,需分配差异化的权重值[4]。语句层次的卷积处理方式可参照词汇层,假设用户u对物品k发表了n条评论语句,利用ReLU函数求得语句Sj对应的上下文特征以及用户在语句层的个性化注意力向量qsu。依据相关计算方法求得任意评论语句的注意力权重计算表达式(aks),对评论语句的上下文表示方法进行加权求和,最终得到评论的上下文表示结果[2]。

3.3.3 评论层

在评论层需建立用户和物品之间的注意力网络模型,方法与词汇层、语句层基本一致。将用户ID的转化为词向量,嵌入算法中。分别求得用户评论级别的个性化注意向量(qdu)、任意评论的上下文表示方法(dk)以及任意评论的注意力权重(akd),各个指标的计算方法可参考词汇级。

3.4 共同注意力机制

用户对物品的评论为多对多关系,一个用户可评价多个物品,一个物品能够接受多个用户的评价。在三级注意力机制中,个性化推荐分别从用户和物品两个角度进行建模,但二者之间的协同交互性未能体现。从物品角度看,不同用户评论文本的重要性存在区别。从用户角度看,其对物品的关注度也各不相同。在针对评论文本的个性化推荐算法中设计了共同注意力机制,用于构建涵盖用户和物品的个性化特征提取方法。深度学习中的Co-Attention网络在这一过程中发挥了关键性作用。相对于三级注意力机制,其改进点为在计算用户对应评论的权重时引入物品因素,物品对应评论的权重计算中引入用户因素,激活函数选用tanh函数[3]。

3.5 评分预测层

在注意力层分别构建了物品和用户的个性化特征提取模型,评分预测层的核心功能是在这一基础上对二者进行融合与量化评分,得到预测结果,其计算方法如式(7)。

式中,将用户的个性化特征记为Pu,对应的评分偏置项为bu。将物品的个性化特征记为Pi,对应评分偏置项为bi。对物品i的所有评分求取平均值,记为。评分原理为用户对物品打分,分值范围介于最小值和最大值之间。但一部分用户习惯于打高分,其他用户在评分中更为谨慎,打低分的可能性更高。偏置项和的引入能够有效避免打分偏好对预测结果的不利作用[5]。是一种预测分值,与实际的(用户真实评分)可能存在差异,在预测过程中需控制二者之间的差值,在数学中利用损失函数描述差值控制效果,如式(8)。

式中,将训练集记为,u和i分别表示用户和物品,表示训练集中的所有用户和物品。

4. 算法仿真检验

4.1.1 数据源

由于模型检验需要大量的数据,而数据的收集存在合法性问题,故选用网络上的开源数据集,以亚马逊的商品评论信息和评分信息为数据源。选择五种品类的商品,其对应的评价用户及评论数据如表1所示,其中的数据稀疏性指评论数量与用户和物品乘积的比值。另外,關于数据稀疏引起的冷启动问题,可利用开源的MovieLens数据集,其来源为电影评分网站[4]。

4.1.2 实验环境

算法在运行过程中需一次性处理较大规模的数据,因而对计算机硬件提出了较高的要求。在实验过程中采用主频为3.70GHz的CPU,计算机内存设计为16G,硬盘存储空间设置为1TB。算法编写采用Python语言,利用Numpy、Pandas搭建运行环境。

4.1.3 核心评价指标

算法性能的评价指标为均方误差(MSE),其计算方法如下。

4.1.4 冷启动仿真

冷启动用于解决数据稀疏的问题,常规处理思路为随机推荐,但效果差强人意。故研究中计算了用户/物品的属性相似度,根据相似属性实施推荐操作。为了验证后者的实际效果,采用随机推荐和属性相似度推荐两种方法分别处理相同的数据集(数据取自仿真实验数据集)。结果显示:基于属性相似度的冷启动处理方法在影像游戏类商品的推荐效果上比随机推荐提升了6.77%,工具类物品提升了5.30%,数字音乐产品提升了6.64%,办公用品提升了4.22%,乐器类物品提升了7.6%。可见,研究中提出的冷启动处理方法全面优于随机推荐[5]。

4.1.5 针对评论文本的个性化推荐算法仿真

为了检验针对评论文本的个性化推荐算法(PRBR)的实际应用效果,为其设置多个对照组,包括UserCF算法、PMF算法、CARL算法等,表2统计了目标组和对照组的实验结果。从中可知,在PRBR算法下,五类商品的MSE均小于对照算法,明显优于PMF算法、UserCF算法。略好于CARL算法、NRPA算法以及DeepCoNN算法。

结语

针对评论文本的个性化推荐算法将用户对物品的评论数据作为线索,从中提取用户个性化特征及物品个性化特征。该算法建立在卷积神经网络的基础之上,同时融入了注意力机制。为提升算法运行效率,提前利用Word2Vec训练评论语句,使其从文字转化为向量。算法的核心功能层为CNN层和注意力层,针对数据稀疏的问题专门设计了冷启动机制,以属性相似度为推荐依据。

参考文献:

[1]庄周.文学作品的个性化推荐算法研究与实现[D].北京邮电大学,2019.

[2]杨莉明.个性化推荐在移动新闻资讯传播中的应用、影响与反思[J].新闻与传播评论,2020,73(2):47-58.

[3]刘品洁.语言识别下的数据库信息个性化推荐算法[J].信息技术,2022,(8): 191-196.

[4]邓磊,古发辉,李海平.用户多兴趣下的个性化推荐算法分析[J].信息与电脑(理论版),2019,(3):69-71.

[5]熊孝全.面向微博内容的个性化推荐算法的研究[D].苏州大学,2019.

作者简介:魏镜郦,本科,讲师,研究方向:数学与应用数学。

猜你喜欢
卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究