朱耀磷 蔡延光
摘要:信息时代中,新形态的教育方式应运而生。越来越多的网絡课程如同雨后春笋,以一种井喷式的态势增长着。但也存在一个无法忽视的痛点,不同的网课平台相互封锁,伴随之而来的矛盾是,用户需要花费更多的时间和精力到各个平台搜索心仪的网络课程。更有甚者,有部分用户由于自身水平限制,在入门一个领域时,常常由于缺乏对该领域的认识,在如何选择合适的网络课程时感到为难,这无疑是一块巨大的绊脚石。信息过载已成为制约人们方便使用互联网的绊脚石,网络世界信息资源分布广泛,使得人们产生信息迷失。推荐系统是信息过滤的衍生品,能更好地实现信息资源个性化推荐。从这个痛点出发,本文基于协同过滤算法,创新地提出一种网络课程推荐系统。并且,可从本文得到启发,并将此种方法应用于其他行业,诸如互娱、金融等。
关键词:推荐;协同;过滤;网课;矩阵
中图分类号:TP311.5 文献标识码:A DOI:10.3969/j.issn.l003-6970.2017.08.009
本文著录格式:朱耀磷,蔡延光.知识推荐的协同过滤算法[J].软件,2017,38(8):50-53
引言
随着计算机等智能设备的普及,数字化的教育方式、越来越多的网络课程已然成为一个无可逆转的趋势与发展潮流。网络的迅速普及、网络资源不断丰富、网络信息量急剧增长,一方面人们可以获取的信息资源越来越丰富,这给人们带来很大好处;另一方面,面对海量的信息资源,人们被迫不得不以更多的时间精力去搜寻对其有用的信息,因而“信息超载”越来越突出,信息过量无法消化、难以辨识真假。
信息量暴涨与“怎样准确快速获取有价值的网络信息、怎样理解已有历史数据并用于预判未来行为”两者之间的矛盾日益严重。为给用户提供更高效率更方便更舒适的体验,本文基于网课用户和网络课程协同推荐过滤,提出推荐系统的设计方法,将更好地服务于用户,解决用户使用过程中耗时耗力的窘境,并且实现更加流畅透明的推荐功能,致力于网络课程的发展,为更加先进的教育方式摇旗助威[2,3,4]。
1 值的定义
本节主要阐述系统在开发过程中所涉及的符号及变量的定义,在一定程度上,这将对理解本系统的设计有不错的帮助。
1.1 定义网课
首先是对网络课程的定义说明,这里统一采用10个量度指标定义任意一门网络课程,记任意一门网络课程为A,A为列向量。
这里的为百分数,分别代表该门课程的10个指标,不妨假设为:文学、理工、计算机、小说、数学、物理、外语、电子、材料、地理。
則代表该课程为文学类课程的比例,%代表该课程为理工类课程的比例,…以此类推。
设第一门课程为4,第二门课程为,
1.2 定义用户
对用户的定义同样采用10个指标定义一位用户,这10个指标代表着每一名用户的个人特质。假设任一名用户为B,B为行向量。
同为占比百分数,分别设
为:喜好文学、喜好理工、…喜好地理。因此,代表改名用户喜欢文学的比例,62代表改名用户喜欢理工的比例,…定义第一位用户为第二位用户为…
2 系统建立过程分析
当系统每引入一门课程时,由课程的提供者(即“老师”)对该课程进行标记,该门课程被标记为属于哪种类型。一门课程可同时属于多个领域。
当某一门课程被带有某种属于的用户选择之后,后台系统捕捉这种行为,自动为该门课程刷新属性。例如,当一门课程为的用户点击之后,后台将课程修改为。
当新用户登录系统时,需要用户对自己进行标记,修改设置行向量B,用户可以拥有自己的朋友圈。当用户浏览选择感兴趣的课程,后台根据用户的行为,动态修改用户的B值,例如,当一个新用户将自己标记为,那么当他选择了课程,时,系统自动为该用户修改。
3 协同推荐
新用户登录系统时,有两种方法可为其推荐网课。一种是根据用户对自己的标记,选择其朋友圈内一个与改名用户属性最相近的人为目标,按照目标的历史网课记录,推荐其最近一段时间的课程给新用户。
另一种方法是,利用新用户对自己的标记,与系统内已有数据进行匹配,按照匹配度的高低来为新用户推荐网课[6,7]。
无论采取何种方法,随着用户的活跃度提高,系统推荐的准确度也将进一步提高[8_13]。
4 数据过滤
完成上面的准备工作后,每位用户都拥有一个独立的属性值B,每一门网课也同样拥有独立的属性值A。利用这些作为标记的特征值,系统便可准确地向目标用户推荐恰当的网课。这里主要阐述数据过滤的手法,本文前面将用户的属性值B定义为行向量,将网课的属性值A定义为列向量。
这里再定义。
C便为所谓的匹配度,系统将按照C值的大小向用户推荐对应的网课,C由大到小表示由最匹配到最不匹配。
当然也可以直接用进行判断
5 结语
在本文中提到的此种框架下,任何商品(包括网课、娱乐信息等)都可便捷地构建推荐系统,协同推荐的方式很好地解决初入系统的信息被孤立的问题。故而赋予了系统很好的适应性,可移植至不同的领域。