《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 高校科研信息管理中设备推荐系统算法分析
高校科研信息管理中设备推荐系统算法分析
2016年微型机与应用第16期
杨紫曦,徐建良
中国海洋大学 信息科学与工程学院,山东 青岛 266100
摘要: 针对当前高校科研管理实际,研究对比了多种主流数据挖掘推荐算法的适用性,挑选出适合设备数据条件的推荐算法,并进行算法实际使用分析。最后,将基于内容过滤的推荐算法、基于用户的协同过滤的推荐算法和基于条目的Slope One算法结合使用,互相补充,实现算法各性能的提高,完成高质量的推荐。
Abstract:
Key words :

   杨紫曦,徐建良
  (中国海洋大学 信息科学与工程学院,山东 青岛 266100)

       摘要:针对当前高校科研管理实际,研究对比了多种主流数据挖掘推荐算法的适用性,挑选出适合设备数据条件的推荐算法,并进行算法实际使用分析。最后,将基于内容过滤的推荐算法、基于用户的协同过滤的推荐算法和基于条目的Slope One算法结合使用,互相补充,实现算法各性能的提高,完成高质量的推荐。
  关键词:推荐算法;数据挖掘;设备推荐  

0引言
  近年来国内高校信息技术的应用发展迅速,对高校的科研管理的要求越来越高。为了更有效地管理和规范高校科研资源,实现教师和专家的有效、便捷使用,助力科研水平的提升,信息技术在高校科研管理中充当非常重要的作用。
  教师和专家根据项目需求进行设备申购采备时,需要花大量的时间和精力来进行设备挑选工作。对比各种相似设备的区别和各项指标,斟其利弊,才能决定所要购买的设备,大大延误了科研时间。
  因此,本文比较各种推荐算法的优势、劣势、可行性并结合专家设备系统的特性进行选择,最终确定将三种过滤算法结合使用,同时进行算法实际使用的分析。
1数据挖掘与推荐系统
  1.1数据挖掘

  数据挖掘(Date Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道但又是潜在有用的并最终可理解的信息和知识的非平凡过程[1]。这些知识中包含了概念、规则等内容。数据挖掘是一门综合性的技术,它包括了机器学习、数据库、统计学、数据可视化等多个研究领域。数据挖掘从海量数据中获取有用的知识,其处理的数据各不相同,可能有确定格式,或者是无确切格式。例如,处理数据库中的数据时,数据是有条理有格式的,而网络上的文章、音乐、视频却是格式各异、无确定形式的。因此需要使用不同的解决方式。数据挖掘涉及各种领域的科学方法,如聚类方法、关联分析、协同过滤、神经网络等。所以,数据挖掘是在大量模糊数据但是蕴含一定真实知识数据的基础上,排除其模糊、干扰,从中提取出有用且确切的知识数据的过程[2]。
  1.2推荐系统
  推荐系统是使用数据挖掘的良好实践,是针对用户的有针对性挖掘。推荐系统通过处理用户的行为数据、推测用户的行为习惯、历史偏好,依据一定的约定与规律,将待推荐条目推荐给用户。因为这种行为是系统主动发起的,不需要用户自己输入关键词,所以与传统搜索系统大不相同。系统通过不断的信息收纳与机器学习,建立算法推荐模型,然后利用这个模型来推测用户的兴趣偏好,从而在已有的条目中选择偏好程度较高的若干条目推荐给用户。评分推荐是一种比较可靠的推荐模式,个性化定制推荐可以概括成对用户未评分过的条目的评分估计问题,最终得出的推荐列表是一个以系统评估分数排序的条目集合。对于那些没有考虑评分的系统,系统会根据用户信息、用户历史行为痕迹来推测用户兴趣偏好较高的多个条目,最终产生一个推荐结果。
  不同推荐系统的推荐过程是不一样的,它们会采取不同的处理方式来处理不同的数据源信息,推荐系统产生推荐结果后,利用各种形式展现给用户,如果用户满意度比较高,大大便利了用户的使用,则用户会非常乐意使用这个系统,时间一长会对系统产生使用惯性,产生良好的使用效果。
2高校科研信息管理中设备推荐系统算法分析
  2.1数据规模与算法依据分析

  高校科研设备管理系统数据结构不同于网上购物平台。我校设备管理系统中存在4 000多个教师用户,以及近三万条设备申购记录和相关信息(包括千余个设备、设备参数、供应商等),并涉及9 000多个项目信息。关联的科技处管理系统里还有教师成果如论文、专利在内的近万条数据可供使用。数据库中有超过460 MB的信息。
  所有的设备申购记录中存在这样的特点:(1)设备的特殊性,设备不同于商品,购买量和价格普遍高于网络购物平台的商品,购买原因不只是爱好更是因为项目需求以及工作需要,所以应该另行分析。(2)数据稀疏性问题,各专家申购数量差距较大,部分教师只有极少的申购数量甚至没有申购。(3)专家差异性,各专家教师所属学科背景差异较大,所申购的设备可能毫无共性和推荐价值。所以,在推荐算法的选取中必须结合高校设备管理系统的数据结构和数据特点来做针对性的推荐。
  以下对各种算法的可行性和适应性进行分析。
  使用基于关联规则的推荐算法时,由于数据量的不足,系统通过数据分析后难以准确得出专家对设备的关联兴趣结果,关联规则集合R完成度低。由于最小支持度和最小置信度的限制,部分较冷门设备不能进入关联规则集,限制了推荐的召回率。基于关联规则的推荐对专家之间和设备之间的关系分析较少,推荐的针对性不足。
  基于内容过滤的推荐需要从基础数据中挖掘出设备的相似度。由于科研系统中设备跨度小,属于同一范畴的设备较多,所以那些与专家用户兴趣偏好相似的设备很容易就出现在推荐列表中,而且大部分专家用户的兴趣偏好比较稳定,具有明确的设备申购方向,推荐效果会非常出色,能够起到很好的个性化推荐的作用,所以本文的设备推荐系统将会应用基于内容过滤的推荐方法。
  在高校设备管理系统实际使用中,经常会有这样的情况:部分专家用户的申购可能会出现与已购设备相差较大的设备,其兴趣遍布较广,不局限于某几种类型。这种情况使用基于内容过滤推荐将无法完成较好的推荐。所以,增加基于协同过滤的推荐算法将会产生很好的效果。
  基于协同过滤的推荐算法根据挖掘的数据信息并有效利用专家与专家、设备与设备之间的联系进行推荐。
  通过基于用户的协同过滤挖掘专家与专家之间的相似性,找到兴趣相似的专家用户群,利用近邻的兴趣偏好进行推荐,成功解决部分专家兴趣遍布广泛问题,为专家推荐新设备。
  引入基于条目的协同过滤算法能挖掘出各设备与设备的潜在关联,不仅计算效率高,也能解决稀疏性和冷启动的问题。
  2.2各算法实际使用分析
  2.2.1基于关键词的内容过滤设备推荐算法
  基于关键词内容过滤算法,首先需要建立专家兴趣模型,对专家的兴趣进行数据量化。本文进行内容过滤推荐使用基于关键词的用户兴趣模型方法:即基于加权关键词的矢量表示法。专家和设备的对应用一个多维特征向量n来表述,n的每个维度对应描述专家和设备的关键词权重,关键词反映了专家的兴趣爱好和设备的特征,权重值反映该特征对专家和设备的代表性强弱。后续计算只需对特征向量进行分析即可得出专家和设备的相似程度和兴趣值,用以推荐。
  专家和设备使用相同的词库,各自对应多个关键词,专家的兴趣关键词和设备的特征关键词之间的相似度是该算法的关键。关键词模型举例如图1所示。

图像 001.png

  图1中,“化学”、“实验”关键词通过设备的特征信息或者专家的基本信息获取,也有部分来自于专家或者管理员的手动标记。设备“ 梨形分液漏斗”的关键词为“化学”、“实验”。“梨形分液漏斗”被“化学”标记过两次,与两个“化学”关键词相连。刘老师被三个关键词标记过:“化学”、“实验”、“计量”各一次。
  标注的次数之和为各关键词的权重分值。可知,“梨形分液漏斗”的关键词“化学”、“实验”其权重为2和1。专家刘老师的三个关键词“化学”、“实验”、“计量”权重都为1。
  对上述分析进行数学抽象:
  E={J1,J2…,Jn}
  D={K1,K2…,Kn}
  在上述公式中,E和D分别为专家特征向量和设备特征向量。Ki为关键词的权重分值。
  得到专家和设备的特征向量之后,需要求得之间的相似关系,可利用余弦公式:
  QQ图片20160911174710.png

  得出相似关系,将相似度最高的TopN作为推荐结果,完成基于内容过滤的设备推荐。
  2.2.2基于专家用户的协同过滤设备推荐算法
  基于用户的协同过滤的核心依据是:某一部分爱好相同的用户有很大可能性对其他东西兴趣偏好也类似。
  基于专家用户的协同过滤推荐算法步骤为:通过最近邻查询找到专家的相似专家群,利用相似专家群的评价来推测该专家的评价,对最近邻集合进行改进,得出的结果由后续Slope One算法使用。
  基于用户的协同过滤推荐算法的主要目标包括:用户数据建模、用户相似度计算及专家相似群的归类和评价的推测。
  (1)专家设备评价矩阵的生成
  具体实现步骤如下:
  ①从数据库ExpertDeviceCount表中获取单个专家的申购数,将申购数转化为评分值,建立用户的设备评分偏好特征向量,评分计算公式如式(2)所示:
  QQ图片20160911174718.png

  式(2)中,Score(e,d)为评分函数,即为专家e对设备d的评分。Be,d为专家e对设备d的申购量。
  ②重复上述步骤,计算每个专家的设备评分偏好特征向量。
  ③以每一个设备评分偏好特征向量为行构建设备评分矩阵。
  (2)用户相似度计算和专家相似群归类
  具体实验步骤如下:
  ①从专家设备评分矩阵中每一行取出得到专家的设备兴趣偏向评分特征向量。
  ②将当前专家的设备评分特征向量与同一聚类中所有其他专家的评分特征向量求相似,利用余弦公式(1),得到当前专家与聚类中所有专家的相似度。
  ③将聚类中所有专家按其与当前专家的相似度高低从大到小排序。
  ④从排序列表中取出前N名专家作为最近邻专家群。
  (3)改进生成最近邻集合
  具体实验步骤如下:
  ①将项目成果参与矩阵每一行取出,表示专家项目成果参与向量。
  ②遍历计算聚类中其余所有专家项目成果参与向量与当前专家的相似度。相似度计算参照公式(1)。
  ③将结果按相似度大小排序。
  ④取出前N位加入最近邻集合中。
  2.2.3基于设备条目的协同过滤设备推荐Slope One算法
  利用基于专家用户的协同过滤,得出最近邻集合,在给出一个初步推荐后,将利用Slope One算法给出最终推荐。
  (1)得到初步推荐结果
  采用基于用户的协同过滤算法,得到初步推荐结果。
  预测公式如式(3)。其中, re-表示专家e申购过的设备的平均数量, rv,p表示近邻专家 v对设备d的购买量,rv-表示近邻专家的平均购买量,sim表示用户相似度。
  QQ图片20160911174738.png

  (2)计算近邻用户平均相似性
  因为后续计算将专家的相似值与Slope One算法融合计算,所以需要计算最近邻集合中用户与当前用户的平均相似度,生成“用户-项目”相似度矩阵。计算公式如式(4)所示:
  QQ图片20160911174747.png

  其中v表示除了专家e以外的其他申购过设备d的专家;sim(e,v)表示专家e与专家v的相似度;Ud表示所有申购过设备d的用户数。由于Ud中包括当前专家e,因此减去1。
  (3)计算项目平均偏差矩阵
  要运用Slope One算法还需知道设备之间的平均偏差,构建平均偏差矩阵。平均偏差计算公式如式(5)所示:
  QQ图片20160911174754.png

  其中,ej、ei表示专家e对设备j和设备i的购买次数,Sj,i(x)表申购过设备i、j的专家集合,card(Sj,i(x))表示专家集合数量。
  设备平均偏差描述的是同时申购过这一设备的两专家的数量偏差,偏差越小,表明两专家对这一设备的需求量越接近。
  (4)预测用户对目标项目的评分
  求出设备间的平均偏差之后,根据加权Slope One算法公式可以对专家进行当前设备的评分预测。
  加权Slope One算法的出发点是以共同申购过两个设备的专家数量作为权重,虽有一定的精确度提高,但是忽略了专家用户的相似度。下面分析专家用户的相似度对Slope One算法预测结果影响。
  假如同时有40个专家对设备i和设备j购买数相同,用专家集cij表示,同样,也有40名专家对项目i和q购买数量相同,用cik表示。这种情况下,使用加权Slope One算法预测购买数是相同的。但是cij和cik的平均相似度不相等,若cij大于cik很多的话,其参考意义更大[3]。
  所以本文加入专家相似度的影响,综合Slope One算法来给出最终预测。利用之前所计算的设备评分偏差和专家平均相似性,由式(6)得到基于协同过滤设备的推荐结果,即评分值:
  QQ图片20160911174841.png

  其中,S(e,i)表示专家间的平均相似度。
  2.3生成推荐结果
  上述各步骤给出了加入专家相似度的加权Slope One算法推荐设备评分,将按照评分给出基于两种协同过滤推荐算法的结合推荐结果。
  使用TopN方法,根据预测评分将设备进行排序,选择评分最高的前N台设备加入最终推荐列表。
  2.4对推荐结果进行汇总
  最终的推荐列表包括基于关键词内容过滤的推荐结果和基于两种协同过滤设备推荐的推荐结果。基于关键词内容过滤的算法结果为专家与设备的相似度值sime,d(e,d),基于协同过滤的推荐算法结果为评分值p(e)j。为得到最终汇总结果,需再进行一次关于设备专家相似度的结合。如式(7)所示:
  p(e,d)j=sime,j(e,j)×p(e)j(7)
  其中p(e)j为基于协同过滤算法得出的当前专家对设备j的评分。
  按照p(e,d)j的大小从高到低进行排序,最终得到输出给专家的推荐结果列表。
3结论
  基于内容过滤的推荐需要从基础数据中挖掘出设备的相似度,由于科研系统中设备跨度小,属于同一范畴的设备较多,因此那些与专家用户兴趣偏好相似的设备很容易就出现在推荐列表中,而且大部分专家用户的兴趣偏好比较稳定,具有明确的设备申购方向,推荐效果会非常出色,能够很好地起到个性化推荐的作用
  高校设备管理系统整体购买量较大,设备数据量较大,直接使用基于设备条目的协同过滤遍历整个申购数据计算量过大,效率很低,所以本文先基于专家用户的协同过滤思想寻找专家之间关联,找到最近邻关系,再对最近邻结果进行基于设备条目的协同过滤分析,大大优化了计算复杂性。
  三种算法的结合使用,在准确率和召回率方面都对推荐引擎性能有较大的提高。
  参考文献
  [1] 林德军. 基于Slope One改进算法推荐模型的设计与实现[D]. 北京:北京邮电大学, 2012.
  [2] 范永健. 基于数据挖掘的电子商务推荐系统模型研究[D].邯郸: 河北工程大学,2009.
  [3] 朱建平, 范霄文, 张志强. 数据挖掘的技术与商业定义及其研究对象[J]. 统计教育, 2004(1):710.

此内容为AET网站原创,未经授权禁止转载。