发明名称 一种基于思维地图的网络学资源推荐方法
摘要 本发明公开了一种基于思维地图的网络学资源推荐方法,包括以下步骤:分析学者访问基于知识地图的网络学系统的学行为日志,计算学时长阈值,并对学行为日志进行预处理;构建学路径网络与学事务图集合;然后,基于学路径网络挖掘针对特定知识元集合的思维地图(起泡图或者双起泡图);最后,将挖掘结果反馈给学者,以实现基于思维地图的网络学知识推荐。本发明可以为网络学者提供基于认知策略的图式知识推荐服务,进而提高其学效率。
申请公布号 CN103455576B 申请公布日期 2016.03.30
申请号 CN201310370799.9 申请日期 2013.08.22
申请人 西安交通大学 发明人 田锋;陈妍;付雁;曾彬;郑庆华
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 徐文权
主权项 一种基于思维地图的网络学习资源推荐方法,其特征在于:包括以下操作:1)采集学习者与基于知识地图的网络学习系统交互过程中产生的学习行为日志,分析学习行为日志中的学习时长,获取学习时长阈值,并以该阈值对学习行为日志进行过滤,获取有效日志;2)根据过滤后的日志数据构建学习路径网络与学习事务图集合;3)根据外界服务请求和学习路径网络、学习事务图集合挖掘起泡图或双起泡图;当请求为一个知识元时挖掘起泡图,请求为两个知识元时挖掘双起泡图;在挖掘时先初始化候选子图集合,然后在学习路径网络当中找到与候选子图有边连接且此边具有最大权值的节点,则将此节点与此边加入该候选子图,形成新的候选子图集合;重复此过程,直到候选子图的节点个数达到给定的阈值为止,最后选取相对支持度最大的候选子图作为挖掘结果的起泡图或双起泡图;4)将挖掘结果推荐给学习者,并在学习者与学习系统进行交互的过程中采集学习日志;获取有效日志的步骤如下:学习者与基于知识地图的网络学习系统交互过程中产生的学习行为日志表示为{clickInfor<sub>i</sub>};其中clickInfor=(userId,objectId,timeStamp,clickLength),userId表示学习者标识,objectId表示该日志所对应的学习对象标识,timeStamp表示该日志所对应的学习过程的开始时间,clickLength表示该日志所对应的学习过程的学习时长;首先对学习行为日志中所有点击行为进行分析,统计出学习时长clickLength与相应点击次数clickCount之间的对应关系,将学习行为日志中的点击行为看作两种类型点击的集合:一种是用户与系统进行一般性交互产生的,其点击次数f(t)随停留时长t变化的规律服从韦伯分布<img file="FDA0000783609860000011.GIF" wi="807" he="93" />另一种是学习者的真实学习过程产生的日志,其点击次数g(t)随停留时长t变化的规律服从高斯分布<img file="FDA0000783609860000021.GIF" wi="518" he="86" />将clickLength作为自变量t,clickCount看作f(t)与g(t)的取值之和,对f(t)与g(t)进行拟合:<img file="FDA0000783609860000022.GIF" wi="862" he="191" /><img file="FDA0000783609860000023.GIF" wi="718" he="94" />按照g(t)置信度为90%的置信区间,选取学习者的学习行为的点击停留时长阈值为clickLengthThreshold;然后过滤掉学习行为日志{clickInfor<sub>i</sub>}中所有点击时长clickLength<sub>i</sub>&lt;clickLengthThreshold的clickInfor<sub>i</sub>,得到有效日志集{clickInf<sub>i</sub>};根据有效日志集{clickInf<sub>i</sub>}构建学习路径网络LM的步骤如下:学习路径网络表示为LM(LU,LE,lb(LU),lb(LE)),其中,LU表示学习者所学习过的知识元集合;LE表示学习者在学习过程中形成的学习路径上各条无向边的集合;lb(LU)表示LU中所有节点v<sub>i</sub>的标记所组成的集合,对任意节点v<sub>i</sub>∈LU,lb(v<sub>i</sub>)=(v<sub>i</sub>,ccv(v<sub>i</sub>),ltv(v<sub>i</sub>),lqv(v<sub>i</sub>));ccv(v<sub>i</sub>)表示对节点v<sub>i</sub>的累计点击次数,ltv(v<sub>i</sub>)表示对节点v<sub>i</sub>的累计停留时长;lqv(v<sub>i</sub>)表示学习过节点v<sub>i</sub>的不同学习者的数量;lb(LE)表示LE中所有e<sub>i</sub>的标记所组成的集合,对任意边e<sub>i</sub>∈LE,lb(e<sub>i</sub>)=(e<sub>i</sub>,jce(e<sub>i</sub>),lte(e<sub>i</sub>),lqe(e<sub>i</sub>));jce(e<sub>i</sub>)表示沿e<sub>i</sub>的累计跳转次数,lte(e<sub>i</sub>)表示沿e<sub>i</sub>的累计学习时长,lqe(e<sub>i</sub>)表示沿e<sub>i</sub>跳转过的不同学习者的累计数量;(v<sub>i</sub>,v<sub>j</sub>)与(v<sub>j</sub>,v<sub>i</sub>)均表示同一条边;首先统计有效日志集{clickInf<sub>i</sub>}中所有学习对象标识objectId<sub>i</sub>,组成集合LU,根据有效日志集{clickInf<sub>i</sub>}统计LU中每一个节点v<sub>i</sub>所对应的累计点击次数ccv(v<sub>i</sub>)、 累计停留时长ltv(v<sub>i</sub>)、不同学习者的数量lqv(v<sub>i</sub>),组成集合lb(LU);其次统计有效日志集{clickInf<sub>i</sub>}中每一个学习者userId<sub>k</sub>所对应的日志集{clickInf<sub>k1</sub>,clickInf<sub>k2</sub>,...,clickInf<sub>kn</sub>},并将边(objectId<sub>ki</sub>,objectId<sub>k(i+1)</sub>)构成集合LE中;根据有效日志集{clickInf<sub>i</sub>}统计LE中每一条边e<sub>i</sub>的累计跳转次数jce(e<sub>i</sub>),累计学习时长lte(e<sub>i</sub>),不同学习者的累计数量lqe(e<sub>i</sub>),组成集合lb(LE);根据有效日志集{clickInf<sub>i</sub>}构建学习事务图集合TG的步骤如下:学习事务图集合表示为TG(tg<sub>1</sub>,tg<sub>2</sub>,...,tg<sub>m</sub>),其中,tg<sub>i</sub>表示学习者一次登录的学习路径构成的无向图,tg<sub>i</sub>=(TV<sub>i</sub>,TE<sub>i</sub>);TV<sub>i</sub>表示学习事务图tg<sub>i</sub>的节点集合,<img file="FDA0000783609860000031.GIF" wi="214" he="62" />;LU表示学习者所学习过的知识元集合,TE<sub>i</sub>表示学习事务图tg<sub>i</sub>的边集合,<img file="FDA0000783609860000032.GIF" wi="294" he="70" />,(v<sub>i</sub>,v<sub>j</sub>)与(v<sub>j</sub>,v<sub>i</sub>)表示相同的边;m表示学习者登录学习的次数;首先统计有效日志集{clickInf<sub>i</sub>}中每一个学习者userId<sub>k</sub>每次登录后的学习过程所对应的日志集{clickInf<sub>k1</sub>,clickInf<sub>k2</sub>,...,clickInf<sub>kn</sub>},则该过程所对应的学习事务图tg<sub>i</sub>=(TV<sub>i</sub>,TE<sub>i</sub>)为:TV<sub>i</sub>={objectId<sub>k1</sub>,objectId<sub>k2</sub>,...,objectId<sub>kn</sub>},objectId<sub>kn</sub>表示第k个学习者所学习的第n个学习对象;两个学习对象构成一条边,则TE<sub>i</sub>={(objectId<sub>k1</sub>,objectId<sub>k2</sub>),(objectId<sub>k2</sub>,objectId<sub>k3</sub>),...,(objectId<sub>k(n‑1)</sub>,objectId<sub>kn</sub>)};学习事务图集合TG为根据有效日志集{clickInf<sub>i</sub>}分析得出的所有学习事务图tg<sub>i</sub>组成的集合;根据学习路径网络LM与学习事务图集合TG挖掘得到的起泡图或双起泡图表示为cm(DV,CV,CE),其中,DV为输入的学习目标知识元组成的集合,当DV中仅有一个知识元时挖掘起泡图,如果DV中有两个知识元时则挖掘双起泡图;CV为起泡图或双起泡图中知识元节点的集合;CE为起泡图或双起泡图中节点之间边的集合,<img file="FDA0000783609860000033.GIF" wi="357" he="69" />;根据学习路径网络LM与学习事务图集合TG挖掘以学习目标知识元集合DV为中心的起泡图或双起泡图的具体步骤为:1)如果DV中元素个数|DV|=1,则初始化1‑CM={(DV,CV,CE)},CV=DV,<img file="FDA0000783609860000042.GIF" wi="166" he="63" />;如果|DV|=2,则初始化2‑CM={(DV,CV,CE)},CV=DV,<img file="FDA0000783609860000043.GIF" wi="166" he="66" />;其中,k‑CM为具有k个节点的候选子图组成的集合;2)初始化候选节点集合VS={v<sub>i</sub>|dis(DV,v<sub>i</sub>,LM)≤r}‑DV,初始化候选边集合ES={(v<sub>i</sub>,v<sub>j</sub>)|v<sub>i</sub>,v<sub>j</sub>∈VS,(v<sub>i</sub>,v<sub>j</sub>)∈LE},其中,dis(DV,v<sub>i</sub>,LM)=min{dis(v<sub>i</sub>,v<sub>j</sub>,LM)},v<sub>j</sub>∈DV;dis(v<sub>i</sub>,v<sub>j</sub>,LM)表示v<sub>i</sub>与v<sub>j</sub>在LM中的距离;3)将VS中的每一个节点分别加入CV中,将ES中对应的边加入CE中,形成新的k+1节点候选子图集(k+1)‑CM,加入节点与边的方法为:首先将节点v<sub>j</sub>加入CV中,然后计算节点v<sub>j</sub>与DV中各个节点v<sub>i</sub>之间的边的权重weight((v<sub>i</sub>,v<sub>j</sub>));weight((v<sub>i</sub>,v<sub>j</sub>))=jce((v<sub>i</sub>,v<sub>j</sub>))/[dis(DV,v<sub>i</sub>,LM)+dis(DV,v<sub>j</sub>,LM)],v<sub>i</sub>∈DV,将weight((v<sub>i</sub>,v<sub>j</sub>))最大的边加入CE中形成(k+1)‑cm=(DV,CV∪{v<sub>j</sub>},CE∪(v<sub>i</sub>,v<sub>j</sub>)),并将k+1节点候选子图(k+1)‑cm加入k+1节点候选子图集(k+1)‑CM中;如果对VS中某个节点v<sub>j</sub>,所有weight((v<sub>i</sub>,v<sub>j</sub>))都等于0,则不加入该节点,k‑cm表示某个具有k个节点的候选子图;4)对k‑CM中的任意两个候选子图k‑cm<sub>i</sub>(DV,k‑CV<sub>i</sub>,k‑CE<sub>i</sub>)与k‑cm<sub>j</sub>(DV,k‑CV<sub>j</sub>,k‑CE<sub>j</sub>):如果|k‑CV<sub>i</sub>∩k‑CV<sub>j</sub>|=k‑1,合并k‑cm<sub>i</sub>与k‑cm<sub>j</sub>为新的(k+1)‑cm<sub>h</sub>(DV,k‑CV<sub>i</sub>∪k‑CV<sub>j</sub>,(k+1)‑CE<sub>h</sub>),其中,(k+1)‑CE<sub>h</sub>为k‑CV<sub>i</sub>∪k‑CV<sub>j</sub>中节点的最大生成树中的边组成的集合;k‑CV<sub>i</sub>∪k‑CV<sub>j</sub>中任意两个节点v<sub>i</sub>与v<sub>j</sub>间的权重weight((v<sub>i</sub>,v<sub>j</sub>))=jce((v<sub>i</sub>,v<sub>j</sub>))/[dis(DV,v<sub>i</sub>,LM)+dis(DV,v<sub>j</sub>,LM)];5)判断(k+1)‑cm<sub>h</sub>是否满足约束条件,如果满足,则将(k+1)‑cm<sub>h</sub>加入(k+1)‑CM中;否则,将(k+1)‑cm<sub>h</sub>删除;约束条件的表述为:<img file="FDA0000783609860000041.GIF" wi="1005" he="364" />其中,|CV|为起泡图或双起泡图cm中的节点数量;<img file="FDA0000783609860000051.GIF" wi="1317" he="255" /><img file="FDA0000783609860000052.GIF" wi="1390" he="255" /><img file="FDA0000783609860000056.GIF" wi="1364" he="79" />式中:deg(v<sub>i</sub>)表示节点v<sub>i</sub>的度值;sup(cm,TG)_r表示TG对cm的相对支持度;sup(cm,TG)表示TG对cm的支持度,即|{tg<sub>j</sub>|tg<sub>j</sub>∈TG&amp;learnEqual(cm,tg<sub>j</sub>)=1}|;学习事务图集合TG={tg<sub>1</sub>,tg<sub>2</sub>,...,tg<sub>m</sub>};tg<sub>i</sub>=(TV<sub>i</sub>,TE<sub>i</sub>)表示学习者一次登录的学习路径构成的无向图;TV<sub>i</sub>表示学习事务图tg<sub>i</sub>的节点集合,<img file="FDA0000783609860000053.GIF" wi="214" he="68" />;TE<sub>i</sub>表示学习事务图tg<sub>i</sub>的边集合,<img file="FDA0000783609860000054.GIF" wi="294" he="63" />,(v<sub>i</sub>,v<sub>j</sub>)与(v<sub>j</sub>,v<sub>i</sub>)表示相同的边;learnEqual(cm<sub>i</sub>,tg<sub>j</sub>)=1s.t.for<img file="FDA0000783609860000055.GIF" wi="1135" he="72" />其中,cm<sub>i</sub>=(DV<sub>i</sub>,CV<sub>i</sub>,CE<sub>i</sub>)为第i个候选子图,DV<sub>i</sub>表示候选子图的目标学习节点集合,CV<sub>i</sub>为候选子图的节点集合,CE<sub>i</sub>为候选子图的边集合,设定interestDis=5;6)判断新生成的k‑CM中是否存在两个候选子图k‑cm<sub>i</sub>与k‑cm<sub>j</sub>满足|k‑CV<sub>i</sub>∩k‑CV<sub>j</sub>|=k‑1;如果存在,则返回4)继续;否则,如果k‑CM为空,则返回(k‑1)‑CM中相对支持度sup(cm,TG)_r最大的候选子图;如果k‑CM不为空,则返回k‑CM中相对支持度最大的候选子图。
地址 710049 陕西省西安市咸宁西路28号