基于LDA的个性化教学资源推荐系统

2018-12-31 00:00:00张华伟
现代信息科技 2018年10期

摘 要:随着电子信息技术的发展,网络上产生了大量的评价数据。充分有效应用这些海量而稀疏的评价数据是进行电子推荐系统的关键。本文基于LDA算法设计和实现了一套教学资源个性化推荐系统,此系统根据用户的喜好、评价和浏览记录等,将相关的教学资源推荐给用户。

关键词:推荐系统;LDA;用户评价;教学资源

中图分类号:TP391.3 文献标识码:A 文章编号:2096-4706(2018)10-0018-03

Abstract:With the development of electronic information technology,large of evaluation data have been produced on the network. How to fully and effectively use these massive and sparse evaluation data is the key to the personalized recommendation system. This paper designs and implements a collaborative teaching recommendation system based on LDA algorithm. The system recommends user resources that are likely to be interesting to users according to user preferences,by the records and user evaluations.

Keywords:recommendation system;LDA;user evaluation;teaching resources

0 引 言

随着互联网的普及和信息技术的发展,在信息爆炸时代和海量信息的面前,由于不同用户对事物的描述方式不一样,搜索引擎的使用技巧不同,以及无法正确表达真实需求,导致搜索引擎不能检索出满足用户需求的资源。在此背景下,解决以上信息超载问题的办法依赖于个性化推荐系统,它根据用户需求、偏好等,将可能感兴趣的产品、信息和资源等推荐给用户,不仅节约了用户的查询时间,还一定程度上解决了信息过量带来的困扰。

推荐系统本质上是一种信息过滤技术,依据不同的算法可以划分为基于模型推荐、基于内容推荐和基于用户协同推荐等类型。其中,最近邻协同过滤是应用得最广泛的推荐技术,利用用户的偏好信息计算用户之间相关性,然后通过相邻用户对商品的评价生成新的推荐[1]。基于项目聚类的协同过滤是通过对比产品之间的相似程度,找到相似的产品进行推荐。

本文通过分析当前教学资源推荐系统的不足,设计并实现了基于LDA的个性化教学资源推荐系统。首先利用LDA对用户的浏览信息、个人配置信息进行聚类,然后利用用户的浏览和下载资源的加权评价值预测目标用户对特定资源的喜好程度,通过这一喜好程度为用户快速推荐真实且精准的需求信息。

1 教育资源信息化表示

由于原始文本是非结构化,且杂乱无章的数据,要从这些海量的文本中挖掘有用的推荐信息就必须将文本转化为计算机可以处理的机构化形式,这种利用向量空间模型来描述文本信息的办法称为文档信息化表示。

本文对文档和用户偏好特征的信息化表示方法采用向量空间模型VSM[2,3]。其基本思想是一个文本由字、词、数字、标点等组成,并且这些字和词在概率上是独立不相关的,因此在判定文档类别时,不用考虑字和词出现的顺序。在VSM中,文档被看作由一组正交词条构成的向量。

2 推荐系统相似性度量

2.1 余弦相似性

余弦相似度用向量中的两个向量夹角余弦衡量文档之间的差异大小,余弦值约接近1,表明夹角约接近0度,也就是两个向量越相似。

在个性化教学资源推荐系统中,将用户评分转换为n维的向量空间,然后计算用户i评分向量和用户j评分向量余弦值。

2.2 修正的余弦相似性

余弦相似度算法未考虑评分尺度问题,假如在评分区间,对于用户甲来说,3分以上的评分可能是所需要的资源,而对于用户乙,4分以上的评分才可能是所需要的资源。修正的余弦相似度算法可以很好地改善以上不足,首先计算所有用户评分的平均值,然后减去用户对项目的平均评分,相似性计算如下:

2.3 相关相似性

Pearson相关系数用来衡量两个数据集合是否处在同一线上,即可用它计算向量间的线性关系。在个性化推荐系统中,用户评分向量i和j的Pearson相关计算如下:

通过对以上三种度量算法的分析,可以发现余弦相似度通过计算用户评分向量间的余弦夹角来度量用户间的相似性,但不包含用户评分的统计特性;修正的余弦相似度减去用户的项目平均评分,但该算法更多体现的是用户之间的相关性,而非相似性[5];相似相关性算法是根据用户共同评分的项目来进行相似性评价,如果所有评分项目都是共同评分项目,那么相似相关性和修正的余弦相似度是一致的。

3 基于LDA的推荐系统

3.1 LDA算法

LDA是一种生成模型,它认为一篇文章有多个主题,每个主题又对应着不同的词。一篇文章的构造过程,首先以一定的概率选择某个主题,然后在这个主题下以一定的概率选出某一个词,这样就生成了这篇文章的第一个词。整个过程通过重复这一过程产生,算法如表1所示。

利用本算法可以发现隐藏在文本中的语义,能够有效降低噪声以及降维,并通过主题聚类来获取词语间的关联关系。

3.2 基于LDA推荐系统

根据上一节描述的LDA算法过程,发现其算法在实际应用中很难实现实时建模,算法时间复杂度较大。为了提取主题模型,该过程需要循环遍历所有文档,并且需要遍历所有用户配置信息才能建立用户特征向量。为了解决推荐系统的推荐效率和LDA算法建模复杂度之间的矛盾,本系统采取离线训练、实时推荐和更新用户配置文件。

(1)对收集的用户偏好设置和用户浏览文章进行数据预处理,利用TF-IDF权重模型创建用户向量空间模型;

(2)利用LDA算法,对用户向量进行建模,生成内容向量和主题向量;

(3)用LDA创建的模型对新文本进行主题预测,取主题概率超过阈值且top N个主题;

(4)记录用户的行为和评分矩阵,通过步骤(3)提取文档集的主题向量,再根据主题向量产生的词向量更新用户主题特征向量模型。

3.3 推荐实验

3.3.1 数据来源于处理

实验数据来源于江西财经大学教育资源网,共用50000条评论作为训练集,第一步随机选取75%的数据作为训练集,剩余25%作为测试集,随后对训练集进行预处理:

(1)去处停用词和标点符号;

(2)去掉与教育资源无关的高频词;

(3)根据TF-IDF生成用户向量模型,作为系统的输入。

3.3.2 评教标准

个性化推荐系统的推荐精确度一般通过准确率和召回率来进行评价。

3.3.3 实验结果

对实验结果进行整理后,得到了5个主题,每个主题对应的词汇分布如下表2所示。从LDA词向量分布结果可以知道,和类别1相关的词汇有“JAVA”“程序设计”“互联网”“创业”等,可以判断该主题与计算机专业密切相关;类别2的关键词有“创业”“人力资源”“人才管理”“培训”等,可以判断该主题与工商管理专业密切相关;类别3的关键词有“ACCA”“贸易”“银行”“边际效应”等,可以判断该主题与经济专业密切相关;类别4的关键词有“关税”“倾销”“消费效应”“出口补贴”等,可以判断该主题与国际贸易专业密切相关;类别5的关键词有“财政”“公共需求”“基础设施”“税收”等,可以判断该主题与财税学专业密切相关,如表2所示。

实验二通过设定不同主题数来检测推荐系统的性能。根据实验结果发现,在主题数为20的情况下,个性化教学资源推荐系统的准确率和召回率均达到最佳,主题数为10的推荐性能比主题数为50的要好。我们分析学校的专业为19个,因此主题为20性能最佳,其次是主题数为10。当主题数量过低时,由于无法准确地对内容进行分类,主题之间的差异化程度不高,会直接导致推荐效果的大幅度降低。

除此之外,本文还对基于用户(User-RS)和基于项目(Item-RS)的协同过滤算法在本数据集进行了测试。如表3所示,展示了不同主题和不同算法下推荐质量测试结果。

4 结 论

本文对基于LDA的教学资源系统做了较为全面的研究,首先利用LDA算法对用户的偏好、浏览记录、用户评价进行建模,并生成用户偏好矩阵和用户主题矩阵,再利用该模型对新文档进行主题预测,最后根据用户的点击行为定期更新用户偏好。从数据集实验结果来看,本系统的召回率和准确率非常不错,并且发现其在主题数量较大时,能够明显提高给用户推荐的效果。

参考文献:

[1] 邓爱林,左子叶,朱扬勇.基于项目聚类的协同过滤推荐算法 [J].小型微型计算机系统,2004(9):1665-1670.

[2] Sarwar B,Karypis G,Konstan J,Riedl J. Application of dimensionality reduction in recommender systems:A case study [C]//ACM WebKDD Web Mining for ECommerce Workshop,2000.

[3] 刘少辉,董明楷,张海俊,等.一种基于向量空间模型的多层次文本分类方法 [J].中文信息学报,2002(3):8-14+26.

[4] 张瑾.基于改进TF-IDF算法的情报关键词提取方法 [J].情报杂志,2014,33(4):153-155.

[5] 刘群.汉英机器翻译若干关键技术研究 [M].北京:清华大学出版社,2008.

作者简介:张华伟(1981.03-),男,江西南昌人,中级工程师,研究生。研究方向:数据挖掘、文本分类。