APP下载

基于图表示学习和深度学习的图书推荐研究

2022-08-01林宽欣

图书馆学刊 2022年6期
关键词:编码器向量图书

林宽欣

(调兵山市图书馆,辽宁 调兵山 112700)

1 引言

个性化书目推荐是数字图书馆的特色服务项目之一。目前,数字图书馆图书推荐的方法主要包括基于内容的推荐算法和基于协同过滤的推荐算法。基于内容的推荐算法[1-3],是通过用户以往借阅图书的历史痕迹向其推荐类似的图书。基于协同过滤的推荐算法[4-6],是基于产品的流行度评分系统结合平均偏好权重向用户有目的地推荐图书。此外,数字图书馆还采用了其他一些图书推荐方法,如基于关联规则的推荐算法[7],即在同一个用户所借的不同图书之间找到关联关系;基于标签、关联规则协同过滤用户需求特征,构建组合推荐模型,通过推荐模型找到当前用户的相似用户,并将相似用户所借阅的图书推荐给当前用户[8];基于社交网络的图书推荐方案,依据社交关系网络挖掘用户的信息需求特征,进而有目的地向用户推荐图书[9]等。

目前学界关于数字图书馆图书推荐的理论已经很充实,相关的模型框架也比较完备,但是仍存在一定的局限性,值得深入探索。从所检索文献来看,现有图书推荐主要集中于基于内容的图书推荐和基于协同过滤的图书推荐,对于图书作者、出版社等图书元特征的挖掘利用较少。笔者试图构建基于图书和图书相关信息的异构图,利用图表示学习算法嵌入图书元特征,利用向量空间模型将图书标题转换成数值型图书内容特征向量,并将图书元特征与内容特征向量拼接得到图书特征向量。在此基础上,以读者阅读历史记录为数据来源训练分类器,使用深度学习模型判定待推荐图书是否符合读者阅读兴趣,并向其推荐图书。在提取图书内容特征向量的同时提取图书元特征,拓展了当前数字图书馆有关图书推荐研究的视野,同时,通过实证研究结果也证明,图书元特征引入数字图书馆图书推荐过程,可以有效提高图书推荐的准确率。

2 相关研究

图书推荐作为数字图书馆推荐系统的一个重要分支,近年来得到了广泛的研究。其目标是向有兴趣的用户推荐合适的书籍。如前所述,数字图书馆现有的图书推荐方法主要有基于协同过滤的推荐方法和基于内容的推荐方法。近年来,关于推荐系统的研究成果有很多。安萨里(Ansari)等[7]研究了基于内容和协同过滤方法的优势,构建了一种用于营销的偏好模型,并描述了贝叶斯偏好模型。齐格勒(Ziegler)等[8]提出多样化主题,这是一种旨在平衡和多样化个性化推荐列表,以反映用户兴趣范围完整性的新方法。Konstas 等[9]创建了一个协作推荐系统,可以有效地适应每个用户的个人信息需求。其采用了带重启的随机行走的一般框架,以提供一种更自然、更有效的方式来表示社交网络。罗比拉德(Robillard)等[10]提出了一个软件工程推荐系统,它可以帮助开发人员进行各种活动,从重用代码到编写有效的错误报告。史密斯(Smyth)等[11]提出了一个基于定义良好的特征集(如价格、颜色、品牌等)的基于案例的推荐系统。这些表示使基于案例的推荐者能够根据产品的相似性做出判断,从而提高其推荐质量。Fu等[12]捕捉用户的导航历史,并应用数据挖掘技术发现历史中包含的隐藏知识。这些知识将被用来向用户推荐可能感兴趣的网页。Drineas 等[13]提出了竞争性推荐系统的概念,将竞争力获取问题简化为矩阵重构问题,并提出了一种竞争矩阵重构方案。上述方法解决了基于协同过滤的推荐问题。但是基于协同过滤的方法存在一定的局限性:在协同过滤算法中倾向于推荐热门条目,因此算法的探索性较差。此外,在数据稀疏的情况下,该算法也不能很好地执行。所以随着机器学习技术的普及,越来越多的机器学习方法被应用到推荐系统的设计。

除了传统的协同过滤方法外,许多研究也集中在基于内容的推荐方法上。Sabitha 等人[14]提出了一种基于用户神经网络的图书推荐方法。Maneewongvatana 等人[15]使用 k-means 聚类方法推荐大学图书馆的图书。通过浏览图书馆的借阅历史,清理数据后,根据主题的相似度,将其分配到不同的集群。然后实现关联规则挖掘,实现图书推荐。Yang 等[16]利用文本挖掘技术建立了图书购买推荐模型,设立3个模块:关键字密度词汇、关键字序列词汇和关键字图书映射,通过关键字提取与书库中的关键字匹配来推荐图书,生成图书推荐列表。Tewari 等[17]提出一种向读者推荐书籍的方法,即结合内容过滤、协同过滤和关联规则挖掘等功能,生成有效的推荐建议。Sohail 等[18]提出一种基于意见挖掘的推荐技术,即根据顾客的需求和顾客的意见,对图书的功能进行分类。笔者根据用户已经分类和评论过的几个特性对其功能进行了分析。根据权重的重要性和目的,对分类后的特征进行权重分配,并给出相应的等级。Kanetkar等[19]提出一个基于Web的个性化混合图书推荐系统模型,该系统使用传统协作和基于内容的过滤方法之外的其他方法来推荐图书。Vaz 等[20]提出一种混合推荐任务,即结合两种基于条目的协同过滤算法来预测用户最喜欢的书籍和作者。作者的预测被扩大为书目列表,并与之前的预测合并在一起,最后生成的图书列表将用于生成排名前n位的图书推荐。

笔者认为,利用机器学习方法可以结合图书的特点对图书进行分类,有效解决协同过滤方法推荐热门条目过多的问题;深度学习的聚类方法可有效解决推荐系统中的数据稀疏性问题。

3 研究方案

3.1 图书元特征提取

笔者构建包含图书、出版社、作者的异构图,利用图表示学习算法学习图书节点嵌入,获取图书元特征,图书元特征可学习图书在作者、出版社等方面的结构化信息,为图书推荐提供更全面的图书特征。图书相关信息异构图构建思路包括:从图书信息中提取出版社、作者,使用共现分析方法构建共现网络,共现网络节点为图书、出版社、作者,边为图书与出版社、作者之间的共现关系。具体共现网络如图1 所示,其中圆形节点表示图书,椭圆形节点表示出版社,菱形节点表示作者。

图1 图书相关信息异构图

图书相关信息异构图构建完成后,使用深度游走(DeepWalk)算法学习图书节点在包含出版社、作者等图书相关信息的大型异构图的节点嵌入,得到图书元特征。对于网络图G=(V,E),深度游走算法通过制定随机游走策略,得到图中节点的序列,采用循环神经网络算法将节点v嵌入为低维空间中数值向量,该低维空间中节点表示向量可用于图表示学习的各种下游任务。

3.2 图书内容特征提取

文本数据大多是非结构化的、计算机难识别的数据,因此文本挖掘前需将文本数据向量化。向量空间模型(VSM,Vector Space Model),也称“词袋”模型,将非结构化的文本数据转化为计算机可处理的结构化数据,如表1 所示,是目前文本处理工作的标准模式。向量空间模型下,文档中连续性语句在分词工具下切割成单一词汇,文档中每个词汇均可表征文本特征,文本集中的每一篇文档都被转化为一个高维向量,所有可以表示文本特征的词语构成一个线性空间,每一个特征词对应该空间的一个维度,每一个维度的坐标对应词语在文档中的占比。

表1 向量空间模型

使用向量空间模型将图书文本内容转换为向量空间下数值向量,转换后的数值向量便于输入机器学习模型处理,并进行文本分类或文本聚类操作。笔者使用Python 将图书文本数据转变为数值向量。具体操作为:在python 中输入图书文本数据集,创建语料库后进行文本清洗操作,去除文本数据中的标点符号、数字和空白,完成文本数据预处理过程,然后统计词汇在文本中出现频次,并将图书文本转换成数值向量。

3.3 基于自动编码器的图书推荐

自动编码器功能是从输入数据中学习代表性代码并将这些代码映射回输入的神经网络,如图2所示。该模型通常用于对输入变量进行编码,并输出该输入的压缩版本。它由两个主要部分组成:编码器和解码器。编码器是学习输入数据深层特征的部分。解码器依靠学习的特征来重建所提供的原始数据。自动编码器模型有3 层:输入层、输出层和隐藏层。编码器原理如(式1)(式2)所示。

图2 自编码器

其中,dist(x,xˉ)表示 x 与 xˉ的相似度,f( x )代表编码层对输入层输入向量的操作,h( f ( x ))表征解码层对编码层编码后向量进行的操作。

在我们的研究中,网络的输入层是记录图书特征的向量。编码器中的隐藏层学习一个代表输入数据的小向量。解码器随后将隐藏层映射到与原始输入向量具有相同维度的向量。训练自动编码器的目标是最小化输入向量和重构输出向量之间的均方误差,同时避免数据过拟合。

自动编码器模型能够学习输入数据集的代表性特征,并在正常数据集上进行训练。在训练过程中,模型吸收一系列正常数据,学习所有正常数据集潜在的共同特征。当训练好的模型对异常数据集进行编码和解码时,重建误差通常很大,因为模型只学习如何重建正常数据。这意味着,如果模型是用正常数据预先训练的,当模型以高重构误差重构输入数据时,输入数据可以被认为是异常。因此,自动编码器可以用作图书推荐解决方案,其中自动编码器最初在读者借阅记录中出现的图书(被认为是正常的数据)上进行训练。

图书数据转换为图书特征数值向量后,提取读者历史借阅记录,以借阅记录所包含图书为正常数据集,以未出现在读者借阅记录中图书为异常数据集,训练自动编码器模型,然后将待推荐图书输入训练后的自动编码器模型,若自动编码器模型判定其属于正常数据,则将待推荐图书推荐给读者,反之则不推荐给读者。

4 实证检验

4.1 数据来源及图书特征构建

笔者选用某高校数字图书馆的读者借阅记录及图书数据库为数据来源,提取图书的题名、作者、出版社信息,进行图书推荐试验。首先以图书、作者、出版社为节点,图书、作者、出版社之间的贡献关系为边,构建图书相关信息异构图。其次使用图表示学习中深度游走(Deepwalk)算法学习图书异构图中图书节点嵌入向量,得到图书元特征,图书节点嵌入向量如表2所示。

表2 图书节点嵌入向量

图书内容特征提取阶段,使用Python 中分词模组将图书题名分词,然后使用向量空间模型将分词后图书题名转换为数值向量。图书元特征与图书内容特征提取完毕后,将二者合并为图书特征,为图书推荐做好数据准备。

4.2 结果分析

图书特征构建完成后,将读者借阅记录中的图书作为训练数据的正常样本,选择大量非读者借阅记录中的图书作为训练数据的异常样本,训练自动编码器模型。模型生成后将待推荐图书数据输入自动编码器,预测待推荐图书类别后便可进行图书推荐。图书推荐前,需确定自动编码器重构误差阈值,以区分正常数据与异常数据。笔者通过观察正常样本和异常样本的重构误差的差别设定合适阈值。如图3所示,阈值为0.11时正常样本与异常样本的区分度最大,故笔者将重构误差设置为0.11。

图3 重构误差差别

为验证此项研究中图书推荐方案的有效性,随机选取4 位拥有1000 本借阅记录的读者进行图书推荐实验,图书特征构建与模型输入过程如上文所述。在图书推荐实验过程中,提取读者1000本借阅记录中的图书作为正常数据,随机选取非读者借阅记录中的1000 本图书数据作为异常数据,以这两种数据为样本数据,样本总量2000,正常数据与异常数据各占50%。在模型训练过程中,选取样本数据的70%为训练数据集,训练自动编码器。在测试过程中,选取剩余30%样本数据为测试集,将测试数据的特征向量输入自动编码器,在自动编码器模型中对测试数据进行处理后,判定其是否属于正常数据集,并将判定结果与真实结果进行比对,以此评估模型的准确性。笔者取推荐实验中4 位读者推荐准确率的平均值为模型准确率。

另外,笔者在此项研究中应用支持向量机、随机森林两种算法,依据图书内容特征完成图书推荐任务,并将结果与前文所提模型的性能进行对比;同时将仅采用图书内容特征的自动编码器模型的性能与图书元特征、图书内容特征合并使用的自编码器模型的性能进行比较,以观察元特征的引入对图书推荐效果的影响。支持向量机(Support Vector Model,SVM)、随机森林(Random forest,RF)是两种传统的机器学习算法,被广泛用于完成分类任务。支持向量机模型通过寻找两类数据的支持向量建立最优分类超平面,解决了二值分类问题。随机森林是一种基于树的机器学习算法,它利用群体决策思维生成多棵决策树来完成分类任务。上述两种模型基于Python 环境完成,自动编码器模型基于Python 深度学习框架实现。对比实验完成后,用精确率P(式3)、召回率R(式4)、F1(式5)衡量各模型的自动评估性能。精确率指判定为真阳的样本数据中实际的真阳数量占所有识别为真阳样本数的比例;召回率指判定为真阳样本数据中实际的真阳样本数量占所有真阳样本数的比例;F1值是精确率和召回率的调和值。

各模型对比结果如表3所示。其中AE代表使用图书内容特征的自动编码器模型,AE*代表使用图书元特征与图书内容特征的自动编码器模型。从表3 可观察到,不引入元特征情况下,各模型的图书推荐性能相差不大,均在80%左右。引入元特征后,模型的图书推荐性能超过82%,高于现有模型。

表3 各模型图书推荐性能

5 结论

面对各种书目,读者很难在短时间内找到自己感兴趣的书籍,传统图书馆借阅方式的用户体验效果较差。笔者从图书题名文本信息中提取图书内容特征,从图书相关信息异构网络中提取图书元特征,提出了基于图书内容特征与图书元特征的图书推荐方案。

这一方案在数字图书馆图书推荐领域引入图表示学习理论,在图书特征提取阶段引入了图书元特征,提出基于内容特征和图表示学习的推荐方案,拓展了图书推荐研究领域关于图书特征提取的思路。

本项研究的科学实验结果证明,兼容图书元特征和图书内容特征的自动编码器模型的性能优于仅使用图书内容特征的自动编码器模型的性能。图书元特征概念引入数字图书馆图书推荐系统的构建与实践,能够有效提高图书推荐的准确率。图书元特征作为图书特征值得深入研究和应用。

当然,为进一步提高图书推荐的准确率,上述自动编码器模型仍需在数字图书馆图书推荐的实践中不断得到检验和优化。在图书内容特征提取方面,使用深度学习模型或网络模型替代向量空间模型,可以获得更优的图书内容特征数据,克服向量空间模型无法提取语义信息的局限性;在图书元特征提取方面,可以加入更多的图书相关信息,以获得更加全面的图书元特征数据。

猜你喜欢

编码器向量图书
融合CNN和Transformer编码器的变声语音鉴别与还原
向量的分解
聚焦“向量与三角”创新题
图书推荐
欢迎来到图书借阅角
基于双增量码道的绝对式编码器设计
班里有个图书角
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
基于数字信号处理的脉冲编码器