APP下载

基于建构主义学习理论的个性化知识推荐模型

2018-01-12谢振平

计算机研究与发展 2018年1期
关键词:术语个性化建构

谢振平 金 晨 刘 渊

(江南大学数字媒体学院 江苏无锡 214122)

(江苏省媒体设计与软件技术重点实验室(江南大学) 江苏无锡 214122)

(xiezhenping@hotmail.com)

近年来,随着无线网络和移动宽带互联网的快速发展,以及成熟的便携式移动设备的大量涌现,在线学习已越来越成为一种重要的知识学习方式[1-2].在线学习具有学习资源广泛、资源更新及时、学习方式便捷等特点.然而互联网上的海量学习资源在给用户带来便捷学习的同时也造成了“认知过载”、“知识碎片化”等困惑[3].如何帮助不同学习者从海量的学习资源中找到个体所需的资源已成为一个巨大的挑战,在其中引入个性化推荐技术是一个必然的选择[3-10].

传统个性化推荐的主要目标是通过分析用户信息和项目信息,获取用户兴趣偏好,从而为用户推荐感兴趣的项目,主要技术包括基于内容的推荐[11-12]、协同过滤推荐[13]、基于规则的推荐[14-15]等.这些技术在电子商务和社交媒体领域具有较高的适用性,并已取得了大量的成功应用;但在个性化知识推荐学习方面,相关研究与应用还较少,而直接使用现有推荐算法将面临2个问题:

1) 推荐产生的知识序列缺乏连续性.分析人类知识学习过程可知,较好的系统性和连续性是个性化知识学习序列的基本要求,而现有的推荐方法在每次推荐新项目时通常考虑为独立的过程,对于推荐结果序列的系统性和连续性较少关注.

2) 知识需求分析片面化.个性化知识推荐的目的是帮助用户学习新知识,弥补知识缺陷,知识需求分析应主要依据用户当前知识水平和目标知识体系.现有个性化推荐方法在分析用户推荐需求时,缺少这方面的考虑,难以充分挖掘用户的实际知识需求.

另一方面,建构主义学习理论[16-17]认为,人类知识学习本质上是一个知识建构过程,个体通过自身原有的知识经验建构生成新的知识;如用户在学习了知识A,B,C的基础上能够根据三者的内在逻辑结构建构理解新知识D.为此,本文提出一种基于建构学习理论的个性化知识推荐模型——建构推荐模型.建构推荐模型采用知识网络建模用户所需的知识系统,基于知识网络的边信息存储知识间的建构关系,据此结合用户已学知识内容,引入支撑度最大优先的随机游走推荐算法,连续地推荐产生最佳知识学习序列.

1 背景技术

1.1 个性化推荐

基于内容的推荐[11-12](content-based recomm-endation, CBR)是最早被提出的一种推荐技术,算法通常包括3个步骤:1)为资源库中每一个资源抽取特征项作为资源特征;2)分析用户过去喜好的资源,从中学习出这些资源的特征作为用户喜好特征;3)通过计算用户喜好特征和候选资源特征的相似度,为用户推荐相似度高的一组资源.CBR算法的优点是准确度高,不依赖大量的用户群,新资源不存在冷启动问题;缺点是特征抽取困难,局限于文本资源的推荐,并且很难挖掘用户潜在兴趣.

协同过滤推荐[13](collaborative filtering reco-mmendation, CFR)通常分为2类:基于用户的协同过滤[18-20](user-based collaborative filtering, UBCF)和基于项目的协同过滤[21-22](item-based collaborative filtering, IBCF).基于用户的协同过滤首先寻找与目标用户有相似兴趣的用户,然后根据相似用户对项目的评分来预测目标用户对未知项目的评分,将评分高的项目推荐给目标用户.基于项目的协同过滤则是根据用户对项目的评分数据来分析项目之间的相似性,并将那些与用户之前喜欢的项目相似度高的项目推荐给用户.CFR算法的优点是适用性广,主要依据用户对资源的评分,与资源的形式无关,因此理论上CFR算法适用于任何资源的推荐.协同过滤推荐的缺点也很明显,由于过分依赖用户评分数据,导致新资源和新用户存在冷启动问题,并且通常用户评分项目较少,导致用户评分矩阵稀疏,造成相似性计算误差大,影响最终推荐的准确度.

关联规则的推荐[14-15](rule-based recommen-dation, RBR)关键在于挖掘不同资源项之间可能存在的价值关联项,然后基于已有的关联规则为用户推荐可能感兴趣的资源.关联规则的挖掘一般分为2个步骤:1)通过分析用户与资源项之间的历史数据生成所有的频繁项集;2)通过计算支持度、置信度、提升度来提取强关联规则.RBR算法的主要不足之处在于:规则制定费时费力,规则一旦生成不能自动更新.

1.2 建构主义学习理论

建构主义[16-17]源自瑞士著名心理学家皮亚杰(Jean Piaget)创立的关于儿童认知发展理论,他坚持从内因和外因相互作用的观点来研究儿童认知发展,他认为儿童是通过与周围环境的不断相互作用来逐步建构对外部环境的认识.他提出,知识并非单纯地来自主体或者客体,而是在双方相互作用的过程中生成的.主体获得新经验需要自身原有的经验基础,而新经验的获得又能使原有经验得到更新和完善.从这一角度看,人类学习的本质是一个主动建构知识的过程,而不是被动地接受信息的过程.

明显地,个性化知识推荐服务目标与建构主义学习理论有着天然的本质联系,后者应能较好地指导个性化知识推荐方法的设计实现,使得用户能更轻松且高效地获得新知识.

Fig. 2 Term extraction process图2 术语抽取流程

2 模型框架

本文将建构主义学习理论引入到知识推荐系统中,提出一种新的个性化知识推荐方法——建构推荐模型,其中主要考虑2个问题:1)如何表示用户当前知识经验;2)如何基于已有的知识经验推出下一时刻最适合建构学习的新知识.本文考虑基于知识网络图覆盖的形式帮助用户逐步建构学习来完善自身的知识,并提出知识的可学习支撑度来评估用户对新知识的可学习建构优先级.

设计考虑的建构推荐模型如图1所示,主要由2部分构成:知识网络模块和建构推荐模块.知识网络[23-24]是一个具有节点间互联关系的知识环境,节点代表知识单元,边表示知识单元之间的相关关系.知识网络的构建包括:知识术语抽取、词向量模型以及通过语义距离的约束生成知识网络.这样,用户知识背景可认为是知识网络的一个子结构,表示用户已学习的知识子系统.模型框架的另一个核心是建构推荐模块,主要任务是通过知识网络建立用户已有知识与需求知识间的逻辑关联,并分析用户知识需求,为用户推荐最具建构学习价值的新知识.

Fig. 1 Framework of the proposed constructive recommendation model图1 建构推荐模型框架

2.1 知识网络模块

建构推荐模型的知识网络构建过程包含3个步骤:1)通过术语抽取技术自动识别领域知识术语;2)采用词向量工具为每个知识术语训练生成一个实数向量;3)通过获取的实数向量计算知识术语之间的语义关系,从而建立知识之间的结构关联.

2.1.1 知识术语抽取

知识术语抽取的主要任务是从特定领域的文本语料中自动识别完整独立的知识术语,每一个知识术语表示一个知识概念.知识术语抽取具体流程如图2所示:首先获取特定领域的一定量的文本语料,通过分词、去除停用词进行语料预处理,将预处理的字串重新组合生成候选术语;然后通过信息熵和词频分布筛选候选术语[25].其中,信息熵[26]用于计算候选术语在语料中左右边界的稳定性,以判断相应术语的独立成词程度;词频分布通过计算候选术语的词频来区分普通词和领域术语,通常地,领域术语在相关领域出现的频率较高,在不相关领域出现的频率较低[25].实际中,可结合信息熵和词频为每个候选术语生成一个综合权重,按权重大小排序,选取权重大的前T个候选术语作为最终知识术语.

2.1.2 词向量模型

词向量模型是神经网络在自然语言处理领域应用的产物,最早由Hinton于1986年提出.词向量的核心思想是通过文本语料训练,将每个词映射成一个高维的实数向量,然后通过计算向量之间的距离可直观描述词与词之间存在的语义关系.目前词向量已经广泛应用在文本情感分类[27]、情感新词发现[28]、词义消歧[29]等自然语言处理领域.

本文采用Word2Vec工具[30-32]训练词向量.Word2Vec中包含2个重要模型:CBOW模型和Skip-gram模型[30-31].这2个模型的区别在于:前者是在已知上下文的基础上预测当前词;而后者是在已知当前词的基础上预测上下文.每个模型均有2套框架,分别基于Hierarchical Softmax和Negative Sampling来设计实现.与Hierarchical Softmax相比,Negative Sampling不使用复杂的Huffman树,而是利用相对简单的随机负采样,能提高训练速度并改善词向量的质量.综合地,本文采用基于Negative Sampling的CBOW模型来训练词向量.如图3所示,CBOW模型包括输入层、投影层和输出层,工作原理是通过输入上下文n个词来预测当前词Wt出现的概率.本文实验中设置n=4,输入经过术语识别的分词语料,最终为每个术语训练生成一个200维的实数向量.

Fig. 3 CBOW term vector model图3 词向量模型示意图

2.1.3 知识网络构建

基于获得的每个知识术语所对应的词向量,可通过词向量间的数学运算来计算知识之间可能存在的知识关系,并将有效的知识关系进行存储,最终建立一个完整的知识网络.

建构推荐模型的知识网络构建流程如图4所示,知识网络构建遵循近邻优先原则,即知识库中T个知识分别寻找语义距离最近的M个知识为其近邻知识,并进行记忆存储构成知识关系,则总的边关系数量为T×M个.通常,M值太小会丢失必要的近邻知识关系,降低知识网络的整体连通性,无法有效表达目标知识系统;而M值过大只会增加知识网络冗余度,并且增加推荐计算效率,对知识网络的整体连通性提升价值有限.结合小世界网络理论和实验分析,本文考虑M=10.

Fig. 4 Knowledge network building process of constructive recommendation model图4 建构推荐模型的知识网络构建流程

图5所示为一个建构推荐模型的知识网络结构实例,圆点表示知识,有向边表示近邻知识关系.

Fig. 5 An example of knowledge network structure of constructive recommendation model图5 建构推荐模型的知识网络结构实例

上述方法构建的知识网络具有3个特征:

1) 近邻关系是单向的,即若b是a的近邻知识,a不一定是b的近邻知识.

2)a的所有近邻知识总数为a的入度,近邻知识包含a的知识总数为a的出度,任何一个知识节点的入度固定为M,出度则不固定.

3) 知识网络中任意2个知识节点a,b间的连接关系有4种情况:两者互为近邻知识关系;两者无直接近邻关系;一方是另一方的近邻知识,但反之则不是.

此外,一个良好的知识网络在不考虑连接边的方向性时应该具有较强的全连通性.

2.2 建构推荐模块

建构推荐的主要任务是结合知识网络分析用户知识需求,从而为用户生成语义连续的推荐序列.建构推荐模块主要包括候选推荐知识提取和候选知识排序输出2个部分.候选推荐知识考虑从最近学习知识序列的关联知识中提取不超过N个的未学知识;候选知识排序输出推荐引入支撑度指标作为排序量.为此,首先引入关于支撑知识的定义.

定义1. 知识支撑关系.设知识b与a存在近邻关系,且设b是a的top-M近邻,记作a←b,则称b是a的支撑知识,也称a是b的外延知识.

进一步,可设知识a的所有支撑知识构成的集合为a的支撑知识集,记为Sa.如图6所示,知识t的支撑知识集为St.

Fig. 6 An example of knowledge network substructure图6 知识网络子结构示例

进一步引入支撑度概念,表示用户当前已学知识对新知识的直接可建构程度.例如“营养素”的支撑知识集为“蛋白质”、“脂肪”、“碳水化合物”、“维生素”、“纤维素”等,用户对支撑知识的掌握体现了建构理解“营养素”的能力,本文引入支撑度概念量化描述这种能力.任一知识t相对于用户当前状态的支撑度记为Wsp(t),具体定义如下:

(1)

(2)

3 模型实现

3.1 建构主义推荐策略

建构主义学习理论的核心在于建构认知,学习者通过已掌握知识建构获得新知识.相应地,引入如图7所示的建构推荐策略.同样地,图7中实心圆点表示已学知识,线条圆点表示候选知识,空心圆点表示其他知识;实线表示已经建构的知识关系,虚线表示未建构学习的知识关系.

图7(a)表示一次知识推荐的开始状态,图7(b)(c)(d)分别表示候选推荐知识选择、候选知识推荐排序以及推荐知识学习后的更新结果.图7(a)中有2个知识为已学知识,其他均为未学知识,它们之间基于知识网络关系构成一个整体.

如图7(b)所示,候选推荐知识选择考虑从已学知识的直接相关但还未学的知识中选取,其中直接相关知识包括支撑知识和外延知识.候选知识选择按2个优先次序进行选取:最近学习知识的关联知识为第1优先选择,而同一已学知识的不同关联知识则按最短距离优先选择.同时考虑实际应用需要,引入最大候选知识容量参数N,即每次按上述方法选择的最大候选知识项数不超过N.

如图7(c)所示,候选知识推荐排序对所有已选择的候选知识项按未学知识的支撑度从大到小排序,并优先推荐给出支撑度较大的候选项作为推荐结果.不失一般性,可考虑推荐结果为排序结果的top-K输出,即输出排序靠前的K个候选知识项作为推荐选项,供用户选择.

最后,如图7(d)所示,用户选择一个推荐项(图中为用户选择了排序第1的知识项)进行学习后形成了新的已学知识状态(同图7(a)相似的状态结构).

Fig. 7 The diagram of constructive recommendation strategy图7 建构推荐策略过程示意图

3.2 建构推荐算法描述

基于上述建构主义推荐策略,进一步对建构推荐算法过程进行具体描述.算法输入为用户初始背景知识,然后连续地推荐给出用户最具学习价值的top-K个学习知识项,用户选择其中一个知识学习后形成新的背景知识,如此不断迭代,用户知识得到渐进增长.

算法1. 个性化知识学习的建构推荐算法.

输入:用户初始背景知识U={t1,t2,…,tL}.

过程:

①Cn={c,Wsp|Cn=∅},i=1;

② while |Cn|

③C=getCandNeib(ti);

④ ifisempty(C)==TRUE then

⑤i=i+1;

⑥ else

⑦ 根据式(1)计算Wsp(c)|c∈C,addToCn(c,Wsp(c)),i=i+1;

⑧ end if

⑨ end while

⑩ 根据支撑度Wsp对Cn降序排序;

算法1中,Cn={c,Wsp}表示当前候选知识项集合,getCandNeib()表示获取某个知识节点的未学习且不在Cn中的最近直接相关知识(包括支撑知识和外延知识),addToCn()表示将一个新的候选知识和相应的支撑度值构成的元素项加入当前候选知识项集合Cn,步骤⑩中的排序操作表示对Cn中的项按每个项的支撑度值从大到小排序.

3.3 分析讨论

在建构推荐模型中,若将模型中的候选项排序指标“支撑度最大优先”替换为“距离最小优先”,则相应的模型将等价于某种基于内容的个性化推荐模型.由此,知识网络上的基于内容相似的个性化推荐模型同样可直接用于个性化学习知识推荐,本文也将此方法作为参照,在实验研究中进行比较分析.另一方面,相比于协同过滤推荐算法,建构推荐模型由于直接基于知识网络进行用户知识需求分析,避免了冷启动问题和用户历史数据稀疏的问题.

进一步分析本文中模型的复杂度.假设在建构推荐算法中,已学习知识数为T,候选知识项集合容量为N,则算法主要时间复杂度体现在步骤③和步骤⑦,每执行1次语句认为检索1次数据库,步骤③表示获取某个知识节点未学习的最近直接相关知识,最大循环次数为T,步骤⑦表示计算候选知识支撑度,最大循环次数为N,则算法的时间复杂度可表示为O(T+N).相对地,最大相似度优先排序推荐算法与建构推荐算法相比无需执行步骤⑦,则时间复杂度应为O(T).虽然如此,通常在检索产生N个候选样本时,所需的实际检索次数要远小于T,本文实验部分显示的结果为大部分情况下均小于5.如此,检索计算复杂度分别约为O(5+N)和O(5),新算法的计算复杂度同样是实用可接受的.

此外,虽然与电子商务和社交网络中的传统个性化推荐目标具有较大差别,但个性化知识推荐的核心需求仍是发现并给出用户最需要的信息内容.本文受建构主义学习理论启发,提出的建构推荐模型给出了一种思想上直观、算法上可行的新型个性化推荐方法,是对现有个性化推荐方法的有益补充,理论上也能拓展应用于传统的电子商务和社交网络领域.

4 实验研究

4.1 实验方案

考虑个性化知识推荐的特点及当前研究现状,本文考虑以饮食健康知识学习为实验对象,对建构推荐模型进行性能分析.

1) 我们使用八爪鱼采集器*http://www.bazhuayu.com/从中国食品科技网*http://www.tech-food.com/和39健康网*http://food.39.net/抓取“健康知识”、“膳食营养”、“饮食误区”等主题的14 600篇饮食相关科普文章,共计约2 000万字,作为语料素材.经过语料预处理和术语抽取技术识别获得1 000条饮食知识术语,部分术语抽取结果如表1所示,其中综合权重为2.1.1节中所述的基于信息熵和词频生成的术语权重.

Table 1 Part of Healthy Diets Knowledge Terms表1 获取的部分健康饮食术语

2) 利用抽取的知识术语筛选文本语料,去除不包含知识术语的句子,用经过筛选的文本语料训练得到知识术语词向量,并通过计算知识术语间的欧氏距离作为不同术语词间的语义距离.表2给出了部分健康饮食知识术语间的语义距离值.直观分析可以发现,“牛奶”与“豆奶”、“奶制品”的语义距离明显小于与“水果”、“蔬菜”的语义距离,这一结果与术语的实际语义相一致,也表明本文所训练生成的健康饮食知识术语词向量具有较高的合理性.

Table 2 Semantic Distance of Some Healthy Diet Knowledge Terms

3) 基于建构推荐模型的知识网络构建方法生成含有1 000个健康饮食知识术语的知识网络,图8给出了相应的知识网络中语义距离的分布情况,距离值主要落在区间[0.0312,3.1215]内,分布形状呈现一定的规则性.

Fig. 8 Semantic distance distribution among network nodes of our knowledge network图8 知识网络节点间语义距离分布

为了对比研究建构推荐模型的性能,我们引入基于最大相似度优先排序的推荐Similarity_Rec方法和随机推荐Random_Rec方法作为参照,类似地记建构推荐方法为Support_Rec.基于最大相似度优先排序的推荐指候选推荐知识按相似度最大优先排序,选择相似度最大的top-K个知识作为推荐输出.随机推荐指每次从候选推荐知识中等概率随机选择K个知识作为推荐输出.

4.2 评价指标

从个性化知识推荐的目标需求出发,我们引入学习效率和学习知识序列关联度2个性能指标.学习效率表示用户在连续选择学习一段时间后,学习获得的总知识量与学习的知识数间的相对比值.在学习相同个数的知识前提下,学习获得的知识量越多则学习效率越高.学习知识序列关联度表示用户在推荐给出的学习知识中连续选择的知识间的相关程度,基于学习的一般认知,学习知识序列间的相关程度越高则越有利于新知识的快速掌握.

为此,首先引入知识网络上的知识量定义.

定义2. 一个知识网络或其一个子网络的知识量由2部分构成:知识节点的自身知识量以及知识节点间的关系知识量,其中记知识节点a的知识量为KI(a),知识节点a与b间的关联知识量为KI(a,b),具体定义如下:

1)KI(a)根据知识内涵先验给出(本文研究中默认取KI(a)=1);

2) 若a与b间存在直接近邻关系,即其中至少有一个知识节点为另一个知识节点的支撑知识,则KI(a,b)由式(3)定义,否则KI(a,b)=0.

(3)

其中,dab表示a与b间语义距离;尺度参数σ与式(2)中定义相同,且可取相同值,本文研究中经实验比较均取σ=1.上述定义在考虑知识系统的总知识量时,不仅关注知识本体的知识量,也关注知识间的语义关系知识价值.其中,2个语义距离较近的直接相关联知识节点间的关系知识量较小,即若两者的信息差异度小,则建构形成的关系知识量也小.

基于定义2,可对知识网络中的任意已学知识子网给出学习效率定义:

(4)

其中,Ucur={t1,t2,…,tL}表示已学知识子网的知识节点集,Uall为整体知识网络所含的知识节点集,KIall为整个知识子网的总知识量,有:

(5)

根据上述学习效率定义,个体在学习某个知识系统的过程中所选择的不同知识学习序列将对应不同的学习效率.而在现实学习中,我们通常希望高效快速地掌握一个知识系统的信息内涵,即通过学习有限个节点知识,掌握知识系统中较多的知识信息.例如给定2个知识序列,序列1:“苹果、香蕉、西瓜、桃子、柑橘、猕猴桃、葡萄、草莓”;序列2:“苹果、香蕉、西瓜、西红柿、红薯、黄瓜、青椒、胡萝卜”.序列1中所有知识都围绕水果主题;序列2中“苹果、香蕉、西瓜”属于水果,“西红柿、红薯、黄瓜”是介于水果和蔬菜之间的食物,“青椒、胡萝卜”属于蔬菜.虽然2个学习序列推荐了相同数量的知识,序列2的知识量显然更多.根据式(4)的学习效率公式定义,较高的学习效率值也表示个体在学习等量的知识数后获得了更高的知识量,两者具有良好的一致性.这也表明,我们引入的学习效率性能指标具有较好的合理性.

进一步,对最新学习的知识t,引入学习知识序列关联度定义:

(6)

其中,Vt表示最近历史学习的知识集,即学习t之前最近学习的一定数量的知识,本文取最近的前5条历史知识;Ic(t,s)为t与s间是否存在直接关联(存在t←s或s←t)的指示函数,是则Ic(t,s)=1,否则Ic(t,s)=0;函数Sim()定义同式(2).

综合地,上面引入的学习效率和学习知识序列关联度计算直接取决于已完成的知识学习历史以及目标学习知识系统.此外,由于推荐算法不同而产生的任一不同知识学习过程点均可对应求得相应的学习效率和平均学习知识序列关联度,据此可定量地评价不同个性化知识推荐方法的性能.

4.3 实验结果与分析

建构推荐模型有N和K两个模型参数需要初始设定,分别表示每次推荐时选取的候选知识容量上限和推荐输出时给出的用户可选的知识项数.首先考虑取K=1,即每次只推荐输出排序最高的1个候选知识项时,N在不同取值下3种对比算法的推荐性能情况.表3,4给出了相应的一组实验结果,分别显示了学习效率和学习知识序列关联度.实验中,N分别取10,20,30和不限(Inf),每次随机选取1个初始知识,然后进行连续推荐模拟.表3中实验结果为20次模拟的平均结果及相应的标准差.为了更直观地表示,表3中不同已学知识比例时的学习效率值直接用已学知识量的比例间接表示.

Table 3 Learning Efficiency Values Obtained by Three Recommendation Algorithms on Different N with K=1

Fig. 9 Typical learning efficiency curves of compared recommendation algorithms图9 不同推荐算法的典型学习效率变化曲线

分析表3中的学习效率值可知,在相同N取值下,建构推荐算法在学习完不同知识比例情况下均取得了更好的学习效率.相比较而言,随机推荐方法的学习效率要略好于基于最大相似度优先排序的推荐方法Similarity_Rec.虽然如此,结合表4结果可以看出,随机推荐Random_Rec的平均学习知识序列关联度要低于Similarity_Rec.对比不同N取值下的学习效率结果可知,对于本文所构建的知识网络,建构推荐算法在N=20时表现出了最佳的学习效率,而另外2种算法在N=20时也表现出了较佳水平的学习效率.而对比表4结果也可以发现,虽然N取值较小时,平均的学习知识序列关联度会增加,但N=20时已与N=10时的最好结果相接近,但要明显好于更大的N取值.为此,进一步的实验中将考虑取N=20时,分析不同K取值下的推荐算法性能.

Table4KnowledgeSequenceCorrelationValuesObtainedbyThreeRecommendationAlgorithmsonDifferentN

表4不同N下的3种推荐算法的学习知识序列关联度比较

NSupport_RecSimilarity_RecRandom_Rec100.830.700.66200.820.690.59300.760.660.51Inf0.610.100.08

综合地,3种对比推荐算法中,建构推荐方法不仅具有更优的学习效率,且学习知识序列间的平均关联度也较高,更符合用户学习新知识的需要.图9给出了一个典型情况下不同推荐算法随着推荐知识增加的学习效率相对值变化曲线;图10给出了相应的学习知识序列关联度变化曲线,为了清晰展示不同曲线之间的差异,我们将原始知识关联度数据进行约简,每隔10个数据取1个平均值,图10每条曲线实际展示了100个数据点.

Fig.10 Typical value tendency curves of knowledge sequence correlation obtained by compared recommendation algorithms图10 不同推荐算法的典型学习知识序列关联度变化趋势曲线

如图9直观显示,3条变化曲线中,支撑度最大优先的建构推荐方法在学习等量的知识节点后,所获得的知识量比例要高于另2种方法;而图10中对应的知识序列关联度变化曲线则表明,支撑度最大优先的建模推荐方法在学习经过一段时间后,学习知识序列间的关联度开始增强,并明显高于另2种方法.相对地,随机推荐方法的学习知识序列关联度从开始到结束无明显变化,这一结果与经验逻辑结果相一致,也间接表明了本文所定义的相关评价指标的合理性.对于相似度最近优先的推荐方法,其生成的学习知识序列关联度开始较高,但随后则表现不佳.这一结果表明:相似度最近优先的推荐方法在学习知识序列产生过程中,不能很好地兼顾知识系统的整体需求,每次过于简单地选择最相似的候选知识并非是一个有效的学习方式.这一结论可能也将有助于进一步发展传统电子商务和社交网络的个性化推荐技术,特别是基于内容相似性优先的推荐策略存在一定的局限性.而基于支撑度最大优先的建构推荐策略则可以提供一些非常有价值的思想借鉴.

进一步,我们考虑top-K推荐输出策略中不同K值对算法性能的影响,根据前面实验结果,固定平均最佳候选知识容量N=20.与上述实验过程稍微不同,考虑每次为用户输出K个推荐知识项时,模拟用户均匀随机地选择一个知识进行学习,这样相同的初始背景知识也会产生非常多不同可能的学习知识序列.为此,实验中对于同一初始知识模拟10次不同结果,同时随机选择了20个健康饮食知识术语作为初始背景知识.表5给出了相应的实验结果,其中性能值为200次模拟运行的统计结果,随机选择的20个初始知识为:低热量饮食、槟榔、柑橘、紫菜、羊肉串、辣味食物、山芋、牛奶、菊花茶、菌类、全谷物、酒酿、红枣、高盐食品、山银花、西瓜、菜子油、抗癌食品、牛排、苹果.

表5给出了Support_Rec和Similarity_Rec这2种算法的学习效率度量值.显然地,对于Random_Rec,在上述模拟实验中,不同K值在理论上是等价的,所以表5中没有给出重复对比结果.同时K=1时,相应的结果即如表3结果所示.此外,实验中考虑实际应用中,不给用户造成过多的选择障碍,K取值考虑在相对不大的个位数范围内.

Table 5 Learning Efficiency Values Obtained by Three Recommendation Algorithms on Different K with N=20

分析表5结果可知,对于Support_Rec,其随着K值增大,性能会有所下降,而K=3与K=1时的性能结果相近.而对于Similarity_Rec,K值增大时,性能结果仅有微小的变化,据此,我们可以考虑在实际应用中取K=3.这样,既给用户提供了一定的个性化选择空间,又保证了用户学习知识序列的高效性.同样地,横向比较看,基于支撑最大优先的推荐方法在不同K值条件下仍具有显著的学习效率优势.进一步显示了本文提出的新模型的有益价值.

4.4 模拟推荐实例分析

进一步,我们对不同算法推荐产生的知识术语实例序列进行研究分析,表6、表7给出了2组典型的模拟实验结果,其中N=20,K=3,初始知识分别选取了较为常见的知识概念“苹果”和“牛奶”.

Table 6 Knowledge Sequence Example 1 Generated by Compared Recommendation Algorithms

Table 7 Knowledge Sequence Example 2 Generated by Compared Recommendation Algorithms

从人工语义理解的角度分析表6、表7中术语知识可知,支撑度最大优先的建构推荐方法所产生的推荐知识序列的整体层次性和连续性要显著优先其他2种方法.如表6中结果所示,Support_Rec产生的推荐知识序列首先从“苹果”到“柑橘”一直围绕“水果”主题,然后从“新鲜蔬菜”和“绿叶蔬菜”开始推荐“蔬菜类”知识.如表7中结果所示,Support_Rec产生的推荐知识序列首先“牛奶”到“奶油”都与“奶类”密切相关,然后从“白砂糖”到“糖精”属于“糖类”相关知识,最后从“味精”到“沙拉酱”都属于“调味品”.由此可见,Support_Rec产生的推荐知识序列在局部确实具有很强的关联性,而当用户对某一小类知识掌握到一定程度后又会有效地转移推荐其他大类相关的节点知识.例如从“水果”到“蔬菜”、从“奶类”到“糖类”再到“调味品”.上述实验结果确实是令人惊奇的,也进一步表明了本文所述建构推荐模型的有效性.

相比而言,其他2种对比方法所产生的推荐知识序列在人工语义角度不能找到明显的层次性和连续性,序列知识间的语义跳跃性很大.从这一角度看,本文提出的支撑度最大优先的建构推荐过程能较好地契合人类知识的有序渐进理解过程,也将能有效地支持用户的个性化知识学习,具有较高的实用价值.

4.5 真实用户模拟实验

为了进一步分析模型的实际推荐效果,我们邀请20位学生用户开展了模拟实验分析.实验中由用户自己设置初始知识,用户每次从系统推荐的3个知识中选择1个进行学习.结合前面实验结果,我们主要模拟分析了N=20和K=3时Support_Rec和Similarity_Rec这2种算法的推荐性能和算法复杂度,实验结果如表8和表9所示.对比表5和表8结果可知,真实用户模拟测试结果与随机模拟结果高度一致, 进一步显示了本文模型的有效性和实用性.

Table 8 Learning Efficiency Values Obtained by Two Recommendation Algorithms

Table 9 Computational Efficiency Values Obtained by Two Recommendation Algorithms with N=20 and K=3

从表9结果可知,大部分情况下Support_Rec算法平均检索次数比Similarity_Rec高约20次,与N=20的设定相关联.而具体的平均检索次数值表明,产生N=20个候选样本所需的检索次数大部分情况下均小于5,而Support_Rec算法相比Similarity_Rec需要增加约N次的支撑度计算所需数据检索,故检索计算复杂度平均要稍高一些,但仍维持在不大的常数水平,能够满足实用要求.此外需要指出的是,当已学知识比例达到90%时,由于知识网络中未学习知识数量较少,需检索较多的已学知识才能产生足量的候选相关知识.

5 结束语

为更好地适应网络资源知识的个性化学习需要,解决现有推荐技术没有重点关注推荐内容的整体性和序列关联性问题,研究提出了一种基于建构主义学习理论的个性化知识推荐新方法——建构推荐模型.新模型使用知识网络建模所期望学习的目标知识系统,并提出知识网络上的候选知识可学支撑度最大优先的推荐策略.本文理论与实验结果表明了建构推荐模型的合理性和有效性,并可作为当前基于内容的推荐和协同推荐方法的有益补充,其不仅仅可简单易行地应用于个性化知识推荐领域,也可为传统电子商务和社交网络中个性化推荐技术提供思想启发.虽然如此,针对不同实际应用场景,构建最为合理的知识网络系统是一个需要考虑的关键问题,而为了避免推荐算法相续产生高度相似的推荐项,考虑引入额外的知识概念语义分析也可进一步提升建构推荐算法的实用价值[33].

[1] Salehi M. Application of implicit and explicit attribute based collaborative filtering and BIDE for learning resource recommendation[J]. Data & Knowledge Engineering, 2013, 87(9): 130-145

[2] Manouselis N, Vuorikari R, Van Assche F. Collaborative recommendation of e-learning resources: An experimental investigation[J]. Journal of Computer Assisted Learning, 2010, 26(4): 227-242

[3] Chen Yibo. Personalized knowledge service key technology based on linked data and user ontology[D]. Wuhan: Wuhan University, 2012 (in Chinese)

(陈毅波. 基于关联数据和用户本体的个性化知识服务关键技术研[D]. 武汉: 武汉大学, 2012)

[4] Parveen R, Jaiswal A K, Kant V. E-learning recommenda-tion systems—A survey[J]. Int Journal of Engineering Research and Development, 2012, 4(12): 10-12

[5] Khribi M K, Jemni M, Nasraoui O. Automatic recommenda-tions for e-learning personalization based on Web usage mining techniques and information retrieval[C] //Proc of the 8th Int Conf on Advanced Learning Technologies. Pisacaway, NJ: IEEE, 2008: 241-245

[6] Sikka R, Dhankhar A, Rana C. A survey paper on e-learning recommender system[J]. International Journal of Computer Applications, 2012, 47(9): 27-30

[8] Zhao Liang, Hu Naijing, Zhang Shouzhi. Algorithm design for personalization recommendation systems[J]. Journal of Computer Research and Development, 2002, 39(8): 986-991 (in Chinese)

(赵亮, 胡乃静, 张守志. 个性化推荐算法设计[J]. 计算机研究与发展, 2002, 39(8): 986-991)

[9] Huang Zhenhua, Zhang Jiawen, Tian Chunqi, et al. Survey on learning-to-rank based recommendation algorithms[J]. Journal of Software, 2016, 27(3): 691-713 (in Chinese)

(黄震华, 张佳雯, 田春岐, 等. 基于排序学习的推荐算法研究综述[J]. 软件学报, 2016, 27(3): 691-713)

[10] Gao Ming, Jin Cheqing, Qian Weining, et al. Real time and personalized recommendation on microblogging systems[J]. Chinese Journal of Computers, 2014, 37(4): 963-975 (in Chinese)

(高明, 金澈清, 钱卫宁, 等. 面向微博系统的实时个性化推荐[J]. 计算机学报, 2014, 37(4): 963-975)

[11] Pazzani M J, Billsus D. Content-Based Recommendation Systems[M]. Berlin: Springer, 2007: 325-341

[12] Ghauth K I, Abdullah N A. Learning materials recommendation using good learners’ ratings and content-based filtering[J]. Educational Technology Research and Development, 2010, 58(6): 711-727

[13] Leng Yajun, Lu Qing, Liang Changyong. Survy of recommendation based on collaborative filtering[J]. Pattern Recognition and Artificial Intelligence, 2014, 27(8): 720-734 (in Chinese)

(冷亚军, 陆青, 梁昌勇. 协同过滤推荐技术综述[J]. 模式识别与人工智能, 2014, 27(8): 720-734)

[14] Mobasher B, Dai Honghua, Luo Tao, et al. Effective personalization based on association rule discovery from Web usage data[C] //Proc of the 3rd Int Symp on Web Information and Data Management. New York: ACM, 2001: 9-15

[15] Lee C H, Kim Y H, Rhee P K. Web personalization expert with combining collaborative filtering and association rule mining technique[J]. Expert Systems with Applications, 2001, 21(3): 131-137

[16] Bodner G M. Constructivism: A theory of knowledge[J]. Journal of Chemical Education, 1985, 63(10): 873-878

[17] Siemens G. Connectivism: A learning theory for the digital age[J]. International Journal of Instructional Technology & Distance Learning, 2004, 2(s101): 3-10

[18] Zhao Zhidan, Shang Mingsheng. User-based collaborative-filtering recommendation algorithms on Hadoop[C] //Proc of the 3rd Int Conf on Knowledge Discovery and Data Mining, Pisacaway, NJ: IEEE, 2010: 478-481

[19] Rong Huigui, Huo Shengxu, Hu Chunhua, et al. User similarity-based collaborative filtering recommendation algorithm[J]. Journal on Communications, 2014, 35(2): 16-24 (in Chinese)

(荣辉桂, 火生旭, 胡春华, 等. 基于用户相似度的协同过滤推荐算法[J]. 通信学报, 2014, 35(2): 16-24)

[20] Wang Peng, Wang Jingjing, Yu Nenghai. A kernel and user-based collaborative filtering recommendation algorithm[J]. Journal of Computer Research and Development, 2013, 50(7): 1444-1451 (in Chinese)

(王鹏, 王晶晶, 俞能海. 基于核方法的User-Based协同过滤推荐算法[J]. 计算机研究与发展, 2013, 50(7): 1444-1451)

[21] Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms[C] //Proc of the 10th Int Conf on World Wide Web. New York: ACM, 2001: 285-295

[22] Deng Ailin, Zhu Yangyong, Shi Baile. A collaborative filtering recommendation algorithm based on item rating prediction[J]. Journal of Software, 2003, 14(9): 1621-1628 (in Chinese)

(邓爱林, 朱扬勇, 施伯乐. 基于项目评分预测的协同过滤推荐算法[J]. 软件学报, 2003, 14(9): 1621-1628)

[23] Liu Xiang, Ma Feicheng, Wang Xiaoguang. Formation and process model of knowledge networks[J]. System Engineering Theory and Practice, 2013, 33(7): 1836-1844 (in Chinese)

(刘向, 马费成, 王晓光. 知识网络的结构及过程模型[J]. 系统工程理论与实践, 2013, 33(7): 1836-1844)

[24] Liu Zhiyuan, Sun Maosong, Lin Yankai, et al. Knowledge representation learning : A review[J]. Journal of Computer Research and Development, 2016, 53(2): 247-261 (in Chinese)

(刘知远, 孙茂松, 林衍凯, 等. 知识表示学习研究进展[J]. 计算机研究与发展, 2016, 53(2): 247-261)

[25] Li Lishuang. The research of term and relation acquisition methods for domain ontology learning[D]. Dalian: Dalian University of Technology, 2013 (in Chinese)

(李丽双. 领域本体学习中术语及关系抽取方法的研究[D]. 大连: 大连理工大学, 2013)

[26] Ren He, Zeng Juanfang. A Chinese word extraction algorithm based on information entropy[J]. Journal of Chinese Information Processing, 2006, 20(5): 40-43 (in Chinese)

(任禾, 曾隽芳. 一种基于信息熵的中文高频词抽取算法[J]. 中文信息学报, 2006, 20(5): 40-43)

[27] Zhang Dongwen, Xu Hua, Su Zengcai, et al. Chinese comments sentiment classification based on word2vec and SVMperf[J]. Expert Systems with Applications, 2015, 42(4): 1857-1863

[28] Yang Yang, Liu Longfei, Wei Xianhui, et al. New methods for extracting emotional words based on distributed representation of words[J]. Journal of Shandong University: Natural Science, 2014, 49(11): 51-58 (in Chinese)

(杨阳, 刘龙飞, 魏现辉,等. 基于词向量的情感新词发现方法[J]. 山东大学学报:理学版, 2014, 49(11): 51-58)

[29] Tang Gongbo, Yu Dong, Xun Endong. An unsupervised word sense disambiguation method based on sememe vector in HowNet[J]. Journal of Chinese Information Processing, 2015, 29(6): 23-29 (in Chinese)

(唐共波, 于东, 荀恩东. 基于知网义原词向量表示的无监督词义消歧方法[J]. 中文信息学报, 2015, 29(6): 23-29)

[30] Mikolov T, Chen Kai, Corrado G, et al. Efficient estimation of word representations in vector space[EB/OL]. Ithaca, NY: Cornell University Library, 2013[2013-09-07]. https://arxiv.org/abs/1301.3781

[31] Mikolov T, Yih W, Zweig G. Linguistic regularities in continuous space word representations[C/OL] // Proc of the 2013 North American Chapter of ACL on Human Language Technologies. Atlanta, Georgia, USA: The Association for Computational Linguistics, 2013: 746-751.[2016-03-15]. http://www.aclweb.org/anthology/N13-1090

[32] Mikolov T, Sutskever I, Chen Kai, et al. Distributed representations of words and phrases and their compositionality [C/OL] //Proc of the 2013 Int Conf on Neural Information Processing Systems. Lake Tahoe, Nevada, USA: NIPS Foundation Inc, 2013: 3111-3119.[2016-03-15].http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf

[33] Li Pohan, He Zhenying, Xiang Helin. A linkage clustering based query expansion algorithm[J]. Journal of Computer Research and Development, 2011, 48(Suppl 2): 197-204 (in Chinese)

(李珀瀚, 何震瀛, 向河林. 一种基于链接聚类的查询扩展算法[J]. 计算机研究与发展, 2011, 48(增刊2): 197-204)

猜你喜欢

术语个性化建构
一种融合PageRank和PersonalRank的多层个性化推荐算法
情境—建构—深化—反思
残酷青春中的自我建构和救赎
坚持个性化的写作
建构基于校本的听评课新文化
建构游戏玩不够
上汽大通:C2B个性化定制未来
同桌宝贝
有感于几个术语的定名与应用
从术语学基本模型的演变看术语学的发展趋势