首页 > 范文大全 > 正文

一种基于兴趣相似度的学习社区算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种基于兴趣相似度的学习社区算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:远程教育为学生和教师提供了巨大的方便,但同时也导致了许多“孤独”的学习者。提出一种基于兴趣相似度的学习社区算法。该算法是基于学习者的兴趣,将具有相似兴趣的学生自动组成学习社区,进行协作式学习。实验证明,本算法具有较高的效率和良好的扩展性。

关键词:兴趣向量;兴趣相似度;协同学习

中图分类号:TP301文献标识码:A文章编号:1009-3044(2007)16-31033-03

A Learner Communities Algorithm Based On Interest Similarity

JIANG Yi1,YUE Qing-ling2

(1.School of computer,Wuhan University of Science &Technology, Wuhan 430081,China;2.Department of Archive,Hubei University,Wuhan 430062,China)

Abstract:E-learning provides an unprecedented flexibility and convenience to both learners and instructors. However,it also creates a great number of lonely learners.This paper presented a learner communities algorithm based on interest similarity, which can cluster learners with similar interests into the same community and help then collaborative learn.The experiments show that this mechanism can improve efficiency and scalability.

Key words:interest vector;interest similarity;collaborative learning

远程教育中学习者数量众多,层次参差不齐,因此传统的以教师为中心的授课方法不可避免地产生很多“孤独”的学习者[1]。要解决这个问题,就是把具有相同学习兴趣的学生组织到同一个学习社区中,以帮助他们进行协作式学习。本文基于兴趣相似度的思想,提出了一种新颖的基于学习者相似度和学习者浓度的选择机制的学习社区的自动建立算法。

1 社区的概论及其分类

社区对应于英文单词“Community”,有的称之为“社群”。社区是指生活在一定地理区域内,具有共同意识和共同利益的社会群体。具有共同兴趣的一群人。以上两个条件是构成社区的必要条件。当社区所属的物理空间变成了网络空间,便成为所谓的虚拟社区。

虚拟社区由具有共同兴趣的参与者组成。参与者通过网络进行互动交流,寻找到一群彼此兴趣相投的伙伴,并能够共同讨论一定程度和意义的主题。虚拟社区是社会中的一个聚合体。当一个聚合体聚集了足够的参与者,他们通过网络进行了足够长时间的公开讨论,付出足够的情感从而形成人际关系网络时,虚拟社区便形成了。

虚拟社区的本质是一个计算机支持的社会网络。社会网络的节点代表社群的成员,节点之间的链接表示社区成员之间的联系。令U表示可能参与社群的所有个体组成的领域,R为定义在U上的二元关系并且满足?坌x,y∈U,R(x,y)成立,说明个体x和个体y存在联系,则作为社会网络的社区可被定义为(N,R),其中(N?哿U)。

按照不同的分类标准,可将社区分为不同的种类。依据社群形式化定义中的二元关系R,将社群分类为:

(1)实体型社区(Physically based virtual community)(Blanchard & Horan 1998)

这种社群是以实体社区或某些具有实际关系的组织为基础,为社区成员建立电子化的联系与交流通道。例如以实际人际关系为基础的网络同学录等。

(2)兴趣型社区(community of interest)(Wenger 1998)

这种社群以兴趣为基础,成员之间可能素未谋面,彼此的互动交流也仅限于该社群对应的兴趣主题。

本文讨论的则是对于网络上的学习者如何建立兴趣型的学习社区,让学习者在社区内进行协同学习。建立兴趣型的学习社区的基本思想是首先根据学习者的学习数据计算学习者的兴趣向量,然后根据学习者的兴趣向量计算两两学习者之间的兴趣相似度,并计算学习者的浓度,最后以此为依据,按照一定的方法建立社区。下面将详细介绍相关概念和算法。

2 学习者兴趣相似关系的判定

学习社区建立的重点和难点在于学习者之间相似关系的判定和计算,包括根据兴趣的隐性表示获取对应的显式表示(即兴趣向量)和计算兴趣相似度两个环节。

令U代表全体学习者,D代表数据集合,B代表学习者的行为集合,R代表学习者对数据的兴趣标注集合,则相似关系的判定有两种基本依据:U×D×R和U×B,即以学习者对数据的兴趣标注为依据和基于学习者的行为进行判定。这里选取前者作为判定和度量相似关系的主要依据,理由有两点:

(1)从学习者的行为推测学习者的兴趣具有相当大的不确定性,所得到的结果置信度比较低;

(2)只要学习者确实感兴趣,无论其行为如何,最终要涉及新数据的生成或对已有数据的处理。

由此得到相似关系的判定和计算流程,如图1所示

令D=(d1,d2…,dn)表示由n 份文献组成的集合,这些文献均存在与文献库中。如果已经得到学习者a和学习者b对文献集合中各份文献的兴趣等级。兴趣等级的范围为S个,取值为k1,k2…ks,给出学习者a和学习者b之间的相似度计算公式

Pij为学习者a和b对第j份文献的兴趣等级为ki的概率。

相似关系是一个二元关系,假定现在要计算学习者a和学习者b的兴趣相似度,首先要分别获取甲和乙的兴趣向量,然后利用公式(1)进行计算。

以获取学习者a的兴趣向量为例。首先要明确兴趣向量指向的文献集合的组成情况,显然,文献集合应该由a拥有的文献和b拥有的文献共同组成;接下来确定a对文献集合中的每一份文献的兴趣等级,这一过程,通常会遇到下面两个问题:

(1)一般来说,a不可能对自己拥有的文献全部进行显式的兴趣标注。换句话说,甲本身拥有的文献包括两个部分:已经被显式标注兴趣等级的文献和尚未被标注兴趣等级的文献。

图1

(2)学习者b拥有的文献很可能大部分都是a尚未拥有的,对这部分文献,a不可能事先给出显式的兴趣等级。

解决以上问题的思路是将a拥有的文献作为训练集和测试集,设计一种机器学习算法构建对应于学习者a的兴趣预测器,然后使用该兴趣预测器代替a对尚未标注的文献进行兴趣等级标注,从而获得甲的兴趣向量。整个过程如图2所示,其中,实线代表兴趣预测器的生成过程,虚线代表兴趣向量的获取过程。

图2

获取兴趣向量的过程所设计的学习任务有如下两个特点:

(1)训练集中既包括有标注的数据实例,也包括无标注的数据实例;

(2)数据实例中标注的取值属于一个有序集,具有这种特点的学习被成为序回归,也被称为等级学习。

3 学习社区的建立

社区应该是一组具有相同或相似兴趣学习者组成的团体,因此社区的建立应该尽可能的将兴趣相似度大的学习者放在同一个社区中。在此思想的指导下,我们提出如下的社区建立的流程。

第一步:根据公式(1)计算两两学习者之间的兴趣相似度。

第二步:计算每个学习者的浓度(即与该学习者兴趣相似度较高的学习者的数目的多少)。假设高校图书馆学习者为h个,学习者v的浓度计算公式为,

第三步:选出浓度最高的学习者,作为中心学习者来建立社区。预先设定一个阈值T2,与中心学习者的兴趣相似度高于阈值的学习者进入该社区。

第四步:对剩下的学习者按照第一步至第三步的顺序,进行重新计算。直到学习者的最高浓度低于一个阈值T0为止,停止运算。

其具体实现如下:

build community ()

{ int sim[ ][ ]; //记录两个学习者之间的相似度

int c[ ]; //记录学习者的浓度

int x[ ];//记录社区的中心学习者

int y[ ][ ]; //记录社区的成员

int k[ ]; //记录学习者是否已被分入某个社区

for (i=1 to h)

k[i]=0; //初始化,学习者未被分配

for(a=1 to h)

for(b=1 to h)

;

//根据公式(1)计算学习者相似度

for(v=1 to h)

;//根据公式(2)计算学习者浓度

p=0;

t=0;

s=0;

do

{

x[p]=selectmax(c);//选择浓度最高的学习者

if c[x[p]] >T0then//T0为预先设定的阈值

{

for(i=1 to h)

if sim[x[p],i]>T1then//T1为预先设定的阈值

{

y[p][t]=i;

t++;

k[i]=1;

}

}

else s=1;

p++;

t=0;

}

while (s=1);

}

4 协作社群的生态环境构建

根据上述已建立的社区,考虑到社区之间并不是孤立的,社区之间存在着联系,这种联系根据社区成员之间的兴趣相似度关联来建立这种联系的疏密。我们认为两个社区成员之间,当相似度较大的成员比例比较大时,这两个社区关系比较紧密。我们的思路是:假设有两个社区A和B,社区A的成员有m个,社区B的成员有n 个,计算社区成员之间的相似度,累加相似度大于T2的数目(T2是预先设定的相似度的阈值)如果大于A,B总成员的一半以上,则认为,两个社区存在联系。计算公式如下:

假设社区A和社区B之间有联系,我们认为社区A和社区B对某些问题是共同感兴趣的,因此,在他们之间应建立相互协作的机制,他们应该共享资源,互发信息。如图3。

图3

5 结束语

本文提出了一种基于兴趣相似度的学习社区构建算法,将具有相似爱好的学习者自动有效地组织成一个个的学习者社区,帮助其共享资源,进行协作式学习。实验结果证明,该算法具有较高的分组效率和良好的可扩展性。

参考文献:

[1]Suthers,D. Collaborative representations: supporting face-to-face and online knowledge building discourse[A].The 34th Hawaii International Conference on the System Sciences[C].Maui, Hawaii, IEEECS Press,2001.120-126.

[2]Decker K, Sycara K, Williamson M. Middle-agents for the internet [A].The Fifteenth International

Joint Conference on Artificial Intelligence [C].Japan: ACM Press,1997.578-583.

[3]BayardoRJ,BohrerW,BriceR.Infosleuth: Agent-based semantic integration of information in open and dynamic environments[A].ACM International Conference on Management of Data [C].Arizona, USA:ACMPress,1997.195-206.

[4]MohriT, TakadaY. Virtual integration of distributed database by multiple agents [A].The First International Conference on Discovery Science[C].Fukuo ka,Japan:Springer-Verlag,1998.413-414.

[5]江雨燕.基于CSCW的网络课程在线协同学习系统的设计.微机发展,2005(8):125-126.

[6]陈强.基于CSCW的远程教学系统研究册.微电子学与计算机,2005(3):66-67.

[7]刘均,李人厚,郑庆华.一种面向个性化协同学习的任务生成方法.软件学报,2006年17卷1期.

[8]郑时青.基于CSCW的远程教育系统研究与设计.成都信息工程学院学报,2004年19卷2期.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。