一种动态的“兴趣型”SNS网络学习共同体构建方法研究*
王丹丹1, 马文虎2, 刘友华2
1南通大学计算机科学与技术学院 南通 226019
2南京大学工程管理学院 南京 210093
摘要

给出基于SNS的网络学习共同体模型和概念框架,提出一种动态的共同体构建方法,并对开源代码SpaceBuilder进行二次开发,通过SSIS和SSAS对学生的学习数据进行挖掘分析,将兴趣相同的学生动态划分到同一个共同体群组中,为学生之间的协作学习提供良好的互动环境,同时可以解决网络学习过程中的“孤独”学生问题。

关键词: 网络学习共同体; SNS; 兴趣; 动态构建
中图分类号:TP393
Research on the Dynamic Construction Method of SNS Network Learning Community Based on Interest
Wang Dandan1, Ma Wenhu2, Liu Youhua2
1Department of Computer Science & Technology, Nantong University, Nantong 226019, China
2School of Management and Engineering, Nanjing University, Nanjing 210093, China
Abstract

This paper puts forward a model and a conceptual framework of network learning community based on SNS, proposes a dynamic construction method, and implements a secondary development for the open source code “SpaceBuilder”. The same-interest students are dynamically divided into the same community group through mining and analyzing students’ learning data by SSIS and SSAS. It provides a good interactive environment for students’ cooperation study, and also solves the problem of “lonely” students in the process of network learning.

Keyword: Network learning community; SNS; Interest; Dynamic construction
1 引言

目前,国外对于网络学习共同体的研究虽然在概念和理论上已经较为成熟,但构建方法和应用方面还处于初步阶段,如何通过技术来实现网络学习共同体建设的研究并不多。在研究成果方面,美国麻省理工学院的开放课程计划(OOPS)[ 1]是国外网络学习共同体研究的一个代表。国内对网络学习共同体的研究尚处于初级探索阶段,偏重于对基本理论和平台构建方法的研究,大部分文献只是对网络学习共同体的综述和可行性分析,即便涉及到网络学习共同体的设计开发等,也大多以定性研究方法为主,缺少实证。伴随着Web2.0技术的发展,“CSDN 学生大本营”[ 2]将SNS运用到网络学习中,这是一个很好的SNS与网络学习相结合的辅助教育的先例。

SNS是目前Web2.0中最流行的技术和应用之一,在网络教学中拥有独特的优势和良好的发展前景,将SNS

理念引入到网络教学中,可以为学生创建一个协作交流、资源共享的学习环境。如何利用SNS的优势来构建网络学习共同体从而有效地开展网络学习,是教育技术领域的一个热点问题。虽然将SNS应用于网络教学中的观点已经被很多学者提出,但是大多直接照搬SNS网站来构建“实体型”网络学习社区。本文在将SNS引入网络教学平台的同时,重点研究一种动态的“兴趣型”网络学习共同体构建方法,根据学生的实际学习行为把兴趣相同的学生动态划分到同一个群组中,从而为学生之间的协作学习提供良好的互动环境。

2 基于SNS的网络学习共同体

SNS强调以人为中心,倡导“分享、互动和协作”的人际交往理念,SNS中的每个人不仅能够充分展示自己独特的个性,而且能与他人进行互动和协作,创造并分享大量的有效资源,以此来帮助人们扩张和维系人际关系,最终形成一种具有共同特性和共同目标的群体[ 3]

2.1 基于SNS的学习共同体基础模型

图1 基于SNS的网络学习共同体基础模型

在传统的网络平台上也能顺利地构建学习共同体,但是这种共同体往往不能满足成员的个性化需求,他们之间的讨论和交流也仅仅限制在某个单一的问题或者资源,如图1(a)所示,成员之间并不能形成真正意义上的学习共同体,所以想要拓展有助于学习的共同体网络是比较困难的。通过SNS构建网络学习共同体则可以弥补传统构建方式的不足,如图1(b)所示,在基于SNS的学习共同体基本结构单元中,成员可以以自身的学习需求为中心,遵守学习共同体中的各种规范制度,通过问题、资源以及活动与其他成员建立起互动信息流,同时这些互动还能够不断地吸引更多的成员加入,最终形成一个不断扩大和延伸的网络学习共同体。

2.2 学习共同体的概念框架

基于SNS的网络学习共同体是由一组拥有相同或相似兴趣的成员组成,他们之间存在一定的关系,可以满足彼此对某些学习资源的需求(为了简化问题,本文仅从资源的角度考虑,忽略了问题和活动)。假设C和M是两个互不相交的代理集合,c和m分别表示共同体代理集合(Community Agent, CA)和成员代理集合(Member Agent,MA)中的元素; I R分别表示成员的兴趣以及该成员所拥有学习资源的集合。对所有的I⊆ I和R⊆ R,定义s:R→I表示对任何r∈R,如果s(r)=i,则表示学习资源r是与兴趣i∈I相关的。本文用Ri= 表示所有与兴趣i相关的学习资源集合。据此,可以根据成员兴趣和所拥有的与该兴趣相关的学习资源来定义一个模拟成员行为的成员代理[ 4, 5, 6]

定义 MA为一个三元组Am=(m,Im,Rm),其中Im I,且Rm= Ri

MA负责帮助成员对学习资源进行管理和维护,监控成员的动态行为。共同体代理CA作为“成员小组”之间发出请求的中间代理,一方面管理本共同体的MA,监听并响应其资源请求;另一方面在本共同体不存在所请求资源的情况下,负责与其他CA 进行协作,找出资源提供者。CA和MA的关系如图2所示:

图2 CA和MA的关系

一个基于多代理的共同体结构可以通过MA 到CA的映射f:M→C来建模,若f(m)=c表示一个成员m属于c所管理的学习共同体,则所有由c管理的MA集合为:

Ac=

c管理的MA 共同体所维护的学习资源集合定义为:

Rc= Rm

3 基于兴趣的网络学习共同体构建方法

由于网络上的学习者数量众多,知识背景各不相同,而且极为分散,如何将他们聚集起来形成一个个具有相同兴趣爱好的学习共同体群组,是一个亟需解决的关键问题。

3.1 网络学习共同体的动态构建方法

学习共同体的构建主要解决如何将拥有相同或相似兴趣的成员进行自动聚类放在同一共同体内,并根据成员的动态行为对共同体结构进行自动调整。由于在共同体构建之初系统中还没有成员的动态行为数据,因此需要进行初始化。随着成员学习的不断进行,系统中收集到大量的成员行为数据,这时就可以根据这些动态数据挖掘出成员的兴趣。同时由于成员的兴趣爱好并不是一成不变的,因此系统需要找出相同或相似兴趣的成员,将他们重新聚集在一起形成一个共同体,保证共同体的机构能及时根据成员兴趣爱好的变化做出适应性的改变。本文学习共同体的构建流程如图3所示:

图3 学习共同体的动态构建流程

(1)初始化

在初始化阶段,系统对所有成员的注册数据进行简单聚类,得到初始的CA数目。系统首先为每个成员自动产生一个MA,然后通过对系统设置初始值,从而产生相应数目的CA,并将各个MA依据简单聚类的结果分配到相应的CA中。在初始化过程中,系统将基于MA和CA的映射关系自动为每个CA产生两个数据表格,分别用于管理和维护本共同体中所有的MA以及其他CA的信息。

(2)共同体重建的判定

当原来的共同体结构出现不稳定的情况时,需要对原来的共同体进行重新构建。这里认为同时满足以下两个条件即认为共同体结构不稳定:

①一个共同体中的成员能够找到与自己兴趣相似度达到某个阈值的成员,并且在其他共同体中找到的数量之和多于在本地共同体内找到的数量;

②出现情况①的共同体数量达到一定的阈值。

相似兴趣的成员匹配过程如下:通过MA将成员兴趣作为“询问请求”发送给CA,并由CA负责在本共同体或全局查看是否有和该成员兴趣相似的成员。当CA接收到一个代理的资源请求消息后,首先判断该代理的类型。如果请求者的类型是其他的CA,那么该CA仅在本地共同体中进行查找;如果请求者的类型是MA,CA会首先在本地共同体中搜索,当本地共同体中存在符合条件的成员时,则返回该成员的ID,否则CA将转发该请求到相邻的m(m

(3)共同体的重新构建

共同体重建的判定模块显示原来的共同体结构需要进行重新构建时,系统从所有的MA中获得成员的动态数据,计算所有成员的兴趣,并采用聚类方法将兴趣相似度达到一定阈值的成员重新聚集在一起,形成新的共同体。这时,CA的总数和CA内管辖的MA都将发生变化,形成一种相对稳定的共同体结构。通过该构建机制,CA可较容易地区分出经常代表共同体主要兴趣的中心成员和其他成员,并且成员的行为模式是基于资源请求的动态分组而不需要人为的干涉。

3.2 算法描述

(1)共同体成员兴趣的相似性度量

①成员的兴趣描述

学习过程中,成员在线浏览或下载课件、提出问题、参加讨论等行为都可以表示为对某一资源的请求,代表了成员的兴趣及意向。这里定义成员的兴趣为其对某个教学资源(页面)的评估值,评估值越高说明该成员对此资源越感兴趣,而如果两个成员总是对相关资源具有类似的评估值,那么认为这两个成员可能具有相似的兴趣。通过成员对某资源(页面)的访问频率、访问时间等学习数据来隐式获得该评估值,能客观地反映成员的兴趣。

②兴趣度

Web日志挖掘是目前比较流行的数据挖掘方法,通过分析成员在一段时间内对页面的浏览行为,可以计算出该成员对某个资源的感兴趣程度。孙多[ 6]提出了一种基于访问次数和浏览时间的兴趣度归一化算法来度量成员的兴趣:设成员浏览页面pi的次数为Freq(pi),第j次浏览页面pi的时间为Time(pi,j),成员对页面pi的兴趣度为I(pi),则成员浏览页面pi的总浏览时间为 Time(pi,j)。假设成员从本次查询页面列表中共点击了L个页面,构成本次点击页面集合T。则可以将T中所有页面的总浏览时间看作一个数列,同时计算该数列的平均值μ和标准方差σ,然后利用高斯归一化公式处理[ 4],根据3-σ规则,数列中的每个数归入 区间内的概率约为99%,再通过平移操作使I(pi)最终落在 上。页面兴趣度计算公式如下:

I(pi)=

(1)

③兴趣相似度

为了将兴趣相同或相似的成员聚集到一起,必须首先度量他们之间的相似性,然后选择相似性最高的若干成员作为该成员的最近邻居。因此,如何进行兴趣的相似性度量是提高成员聚类分组准确率的关键。由于余弦相似性度量方法中没有考虑不同成员的兴趣度尺度问题,因此本文采用修正的余弦相似性算法[ 7],通过减去成员对网页平均兴趣度来改善这种缺陷。设成员u1和成员u2共同浏览网页集合用 表示, 分别表示经成员u1和成员u2浏览的网页的集合,则成员u1和成员u2之间的相似性计算方法如下:

sim(u1,u2) =

(2)

其中, (c), (c)分别表示成员u1和成员u2对页面c的兴趣度;μ12分别表示成员u1和成员u2对页面兴趣度的平均值。

(2)学习共同体的构建算法

学习共同体应该是一组具有相同或相似兴趣成员组成的团体,因此共同体的建立应该尽可能地将兴趣相似度大的成员放在同一个共同体群组中。在此思想的指导下,共同体的构建算法[ 8]如下:

①根据公式(1)和公式(2)计算所有成员两两之间的兴趣相似度。

②设置特定的阈值T1,计算每个成员的匹配浓度(由与该成员兴趣相似度较高成员数目的多少来决定浓度的高低)。假设参加网络学习的成员总数为n个,成员i的浓度θi计算公式为:

θi=

(3)

其中,aij= , T1为预先假定的阈值。

③选出匹配浓度最高的一位成员,并将该成员作为一个共同体群组的中心建立共同体。预先设定一个阈值T2,如果一个成员与共同体的中心成员兴趣匹配度高于该阈值,则将该成员放入该共同体中。

④对剩下的成员按照步骤①至步骤③的顺序,反复计算、匹配,直到剩余成员的最高浓度低于一个特定的阈值T0为止。对于浓度低于T0的成员,分别计算他们与各共同体中心成员的相似度,进入最相近的共同体学习。

4 网络学习共同体的设计与实现

在传统的“实体型”学习社区中,学生与学生之间的关系主要来源于现实世界中的人际联系,他们很有可能属于同一个班级,彼此之间却缺乏相同的学习兴趣,他们构成的学习群组并不是真正意义上的学习共同体。本文在开源的SNS平台上,设计一种“兴趣型”的学习社区,根据学生的不同兴趣来聚类划分学习共同体群组。对学生的实际学习活动进行处理和挖掘分析,依据学习兴趣,把不同学习水平、能力层次的学生划分到相应的网络学习共同体群组中,社区中就形成了多个学习小组。在学习小组里,每个学生都有着相同或相似的学习兴趣,学生之间能够很方便地开展形式多样的互助学习活动。随着学习社区内部学习者之间交互的不断增强,一个特定的社区中可以产生多个学习共同体,如图4所示:

图4 学习社区的形成

4.1 系统设计概述

(1)开发环境

目前借助SNS构建网络学习共同体有三种实现途径,分别是将SNS理念引入现有网络教学平台、借助已有成熟的SNS网站来搭建网络教学平台、利用开源代码进行二次开发。综合考虑各方面因素,选择了国内目前较为成熟、功能全面的SpaceBuilder开源代码,在此基础上进行二次开发。本文使用SpaceBuilder作为系统的主要框架,通过微软的Integration Service和Analysis Service工具进行数据处理和挖掘分析,将得到的数据结果通过SpaceBuilder的API接口与网络学习社区连接在一起,实现自动将学习者分入不同水平层次的共同体群组的功能,平台的开发环境配置如表1所示:

表1 开发环境配置

(2)系统架构

为了能够更好地维护、部署和扩展系统,本文采用了基于B/S的三层体系结构,如图5所示:

图5 系统总体框架

网络学习社区的相关数据全部存放在学习社区数据库中,为了构建基于兴趣的学习共同体群组,系统需要从学习社区数据库抽取、转换、加载部分关键数据到数据分析数据库中进行聚类分析,并保存相应的共同体群组。

4.2 学习共同体的构建流程

网络学习共同体实际上是通过对学生的学习行为进行深度挖掘,根据兴趣度聚类分组的结果。数据挖掘分析模块属于数据服务模块中的一部分,它与网络学习社区之间的关系以及聚类分组实现的具体方案流程如图6所示:

图6 共同体群组实现流程

学习社区数据库中存储了大量的学生注册信息以及活动记录信息,这些信息可以直接从SQL Server 2008 R2数据库中通过相应的ETL(抽取、转换、加载)工作转化为学生的学习行为分析数据。将学生的关键学习行为数据通过相应的模型计算表示为兴趣度,通过SSAS数据挖掘模块进行聚类分析,得到学生的分组信息。通过ASP.NET接口将学生的分组信息经过SpaceBuilder的API传递给学习社区,这样在新的学习社区中就有了学习共同体群组的信息。

由于在学习社区投入使用之初系统中还没有学生的动态行为数据,因此学生的聚类分组过程是基于初始的学生注册信息。随着学生学习的不断进行,系统中收集到大量的学习行为数据,这时就可以根据这些动态数据挖掘出成员的兴趣,进而聚类分析得出新的网络学习共同体群组。

4.3 共同体群组的实现

学习社区数据库中存在着大量的学生学习记录,根据图6所示的共同体实现流程,本文需要从学习社区数据库中获得某个具体时间段内所有学生的学习日志。日志的数据格式用元组<用户ID,页面对象,访问时间,访问频率>表示,该元组用来保存学生在某个网络页面上停留的时间和访问该资源的次数。从学习社区数据库中抽取出页面信息表、学生信息表、学生访问页面的日志信息表,并将其存入到学习行为分析数据库(StudentBehaviors)中,如图7所示:

图7 学习行为分析的表结构

根据学生的学习日志表,可以得到学生直接访问过的页面集合,以这些重要的统计数据为基础,通过公式(1)描述的兴趣度计算方法,分别计算学生对该集合中每个页面的兴趣度,并存入学习行为分析数据库中的学生兴趣表中,如表2所示:

表2 学生兴趣表(StudentPageInterest)

得出学生对所有集合中的页面兴趣之后,采用公式(2)的计算方法分别两两计算学生之间的兴趣相似度,得出用户兴趣相似度矩阵如下

:

其中,每行和每列都代表一个学生,S(i,j)=sim(i,j),表示学生i与学生j的兴趣相似度。S(i,i)=1,S(i,j)=S(j,i),0≤S(i,j)≤1,S(i,j)越接近于1表示i与j越相似。为了便于统一计算,本文采用存储过程的方式实现学生两两之间的兴趣相似度算法,将上述矩阵信息存入Similarity表中作为数据源,采用3.2节中所述的共同体构建算法对该表进行聚类分析,划分出若干个共同体小组,如图8所示:

图8 共同体分组关系视图

4.4 共同体与社区的接口设计

本文需要构建的基于SNS学习共同体的网络社区,就是在SpaceBuilder开源代码的基础上设计和实现与共同体构建模块相连的接口,直接将共同体构建最终得到的分组结果导入到学习社区数据库中,即将学生信息(UserID)和共同体群组信息(GroupID)直接写入到学习社区数据库的UserGroup表中,根据UserID进行相应的匹配。通过对UserGroup表进行更新,系统可以自动地把学生加入到相应的学习共同体群组中,这样在学习社区的前台页面中,学生就可以看到其所在群组中的其他学生,他们有共同的学习兴趣,构成了真正意义上的学习共同体。由于学生的学习兴趣在时刻变化,因此学习社区中的共同体群组的结构也会根据系统的判定模块决定是否进行重新构建。

学习共同体构建工作完成之后,在SNS学习社区中表现为系统自动地为学生推荐其所属的共同体群组中的其他学生,如图9所示:

图9 系统推荐好友

这与传统SNS基于实际人际关系的推荐机制不同,本文的好友推荐机制是以学生的兴趣为基础,如果两个学生仅仅属于同一个班级而没有共同的学习兴趣,系统则不会推荐他们成为学习伙伴。因此,基于SNS学习共同体的网络社区中成员之间很有可能在现实中并不存在人际关系,他们彼此之间的互动交流来源于对社区中某些共同感兴趣的主题。

5 结语

SNS的许多新功能在构建网络学习环境上拥有很大的优势,因此充分利用SNS的优势来构建网络学习共同体,可以为学习者创建一个学习探究、协作交流、资源共享、平等互利的学习环境[ 9]。由于参加网络学习的学生数量众多,兴趣爱好各异,在学习过程中将不可避免地出现“孤独”学生问题。因此,本文提出了一种基于兴趣的SNS网络学习共同体构建方法,即根据学生的学习行为分析和挖掘出学习兴趣,并为他们动态地划分学习共同体群组,维持学习共同体结构的稳定性。需要指出的是,本文中的网络学习共同体构建依据学生的学习行为分析和挖掘出学习兴趣,通过相应的算法构建而成,是一种全新的动态构建方法。

在计算学生对页面的兴趣度时,仅仅考虑到该学生对页面的访问频率和访问时间。然而,反应学生兴趣的信息不仅仅是学生的网页访问记录,还包括对网页的查询、收藏以及对资源的发布、下载、评论、分享以及论坛的发帖、回帖记录等,这些记录的数据结构非常复杂,若将关于学生行为的每一种信息都抽取出来进行分析,必然要耗费大量的精力。因此,如何更加准确地计算学生对页面的兴趣度将是未来的研究重点。

参考文献
[1] 杨洪刚, 宁玉文, 高东怀, . 基于SNS的网络学习共同体构建研究[J]. 现代教育技术, 2010, 20(5): 93-96.
(Yang Honggang, Ning Yuwen, Gao Donghuai, et al. The Construction of SNS-based Network Learning Community[J]. Modern Educational Technology, 2010, 20(5): 93-96. ) [本文引用:1] [CJCR: 0.953]
[2] 冯旭鹏. 构建基于SNS的研究生校际网络学习共同体的探究[D]. 南昌: 南昌大学, 2010.
(Feng Xupeng. Study on Construction of Graduates’ Interscholastic Online Learning Community Based on SNS[D]. Nanchang: Nanchang University, 2010. ) [本文引用:1] [CJCR: 0.1908]
[3] CSDN学生大本营[EB/OL]. [ 2012-04-15]. CSDN学生大本营[EB/OL]. [2012-04-15]. http://student.csdn.net/.(CSDNStudentUnion[EB/OL]. [2012-04-15]. http://student.csdn.net/ [本文引用:1]
[4] Zhang T Z, Shen R M. Multi-Interest Self-Organizing Learning Community Model and Construction Algorithms[J]. Chinese Journal of Electronics, 2010, 19(1): 18-22. [本文引用:2] [JCR: 0.265]
[5] Yang F, Shen R M, Han P. A Novel Self-Organizing E-Learner Community Model with Award and Exchange Mechanisms[J]. Journal of Zhejiang University-Science A, 2004, 5(11): 1343-1351. [本文引用:1] [JCR: 0.527] [CJCR: 0.2716]
[6] 孙多. 基于兴趣度的聚类协同过滤推荐系统的设计[J]. 安徽大学学报: 自然科学版, 2007, 31(5): 19-22.
(Sun Duo. An Clustering and Optimized Collaborative Filtering Recommendation Based on Interest Measure[J]. Journal of Anhui University: Natural Sciences, 2007, 31(5): 19-22. ) [本文引用:2] [CJCR: 0.3745]
[7] 裴蕾. 基于Web数据挖掘的电子商务推荐系统的研究[D]. 上海: 同济大学, 2006.
(Pei Lei. Research of Electronic Commerce Recommendation System Based on Web Mining [D]. Shanghai: Tongji University, 2006. ) [本文引用:1]
[8] 程艳, 许维胜, 杨继君, . 基于本体兴趣特征向量空间模型的社区自组织算法[J]. 系统工程, 2009, 27(5): 96-103.
(Cheng Yan, Xu Weisheng, Yang Jijun, et al. A Self-Organization Algorithm for Community Based on Ontology-based Learner’s Interest Eigenvector Space Model[J]. Systems Engineering, 2009, 27(5): 96-103. ) [本文引用:1] [CJCR: 0.891]
[9] 宋慧宁, 张凯. SNS在教学中的应用潜力分析[J]. 计算机时代, 2010(7): 62-64.
(Song Huining, Zhang Kai. Analysis on SNS Application Potential in Teaching[J]. Computer Era, 2010(7): 62-64. )
(作者E-mail: wang. dd@ntu. edu. cn) [本文引用:1]