一种基于学习社区对话流的成绩预测方法与流程

文档序号:14835874发布日期:2018-06-30 12:22阅读:119来源:国知局
一种基于学习社区对话流的成绩预测方法与流程
本发明属于学习分析领域,具体涉及一种基于学习社区对话流的成绩预测方法。
背景技术
:目前,针对学习社区对话流分析的典型工作有:第一,Scholand将基于语言分析的发言者关系评估与社会网络处理框架结合起来,以预测潜在的结构关系并描述群组之间的交互模式。通过选择性地提取、组合和处理不同发言者的心理、社会和情感语言标记,可以在组内和组间建立丰富的映射关系,使得管理组织变化、组织设计和组织间关系等困难的任务更容易。第二,Dowell以语言和对话为工具,研究了学业表现和社会中心性两者之间的联系,主要探讨了话语特征在多大程度上诊断性地揭示了学习者在MOOC中相互作用时的表现和社会地位。目前,针对学生成绩预测的典型工作有:第一,将机器学习中的分类方法,如神经网络、贝叶斯方法和SVM等方法应用于学习成绩预测领域。第二,根据使用的预测数据形式和预测背景设计相应的概率模型进行成绩预测。上述现有技术存在的主要缺点有如下3点:1.目前针对学习社区对话流分析的工作主要是将对话分析技术和社会网络技术相结合,进行各类的推理应用,但该项研究与应用还未有工作利用对话分析直接进行学生(群体)的效果评估与成绩预测。2.由于学生对话分析比较复杂,目前针对学生成绩预测工作的研究与应用忽略了对话因素或是仅将其作为非重要因素考虑,这种处理将严重影响学生学习情况分析和学习成绩预测工作。3.现有成绩预测系统在具体应用中比较成功,但这类系统同时也比较脆弱,一旦环境发生改变,该类系统就表现出适应性差的问题,这会造成程序方面需要做大量的修改。技术实现要素:本发明的目的就是为了克服上述现有技术中的不足,提供一种基于学习社区对话流的成绩预测方法,本发明在采集在线学习社区中对话流数据(下称对话流)的基础上,通过对话流划分算法、对话状态矩阵生成算法和预测模型生成算法,实现对在线学习社区中对话流的分析,以完成自动评估某个学习小组的学习效果并预测该小组中学生成绩等级(如:优秀/中上/中等/中下/差等),以实现教师对个别学生的预测与干预(如个别辅导)。本方法涉及的主要相关技术有以下5点:1.文本挖掘:也称为文本数据挖掘,是从文本中获取高质量信息的过程。2.词嵌入:将词汇中的单词或短语映射到实数向量。目前主要有基于神经网络、基于词共现矩阵、基于概率和基于词语上下文的词嵌入方法。3.文本聚类:对文本进行聚类分析的方法。通常用于自动文档组织、主题提取和快速信息检索或过滤等领域。目前主要有基于密度、基于网格和基于模型的文本聚类方法。4.主题模型:是一种用于在文档集合中发现抽象“主题”的统计模型,可以挖掘出文本体中隐藏的语义结构。目前主要有潜在Dirichlet分配(LatentDirichletAllocation,简称LDA)模型。5.深度循环神经网络:是一类人造神经网络,其中单元之间的连接形成定向循环,这允许它能够更好地处理动态时间行为序列。目前主要有长短期记忆(LongShort-TermMemory,简称LSTM)网络。6.学习分析:学习分析学是以理解和优化学习及学习发生之环境为目的,所进行的有关学习者及其环境的数据之测量、采集、分析和报告。本发明的发明目的是通过如下技术方案实现的。一种基于学习社区对话流的成绩预测方法,该方法针对输入的课程下的学习小组的对话流文件,输出该小组中的学习者成绩等级,该方法分为训练和预测两个阶段,训练阶段得到成绩预测模型,预测阶段应用此模型进行成绩预测;该方法包括以下步骤:(1)训练阶段,将某课程的历史对话流文件及每个对话流文件对应学习小组的课程结业成绩等级作为训练阶段的输入数据,在此基础上,首先通过预处理得到标准对话流文件;其次通过对话流划分算法,生成词嵌入模型并得到对话流文本段文件;接着,通过对话状态矩阵生成算法,生成主题词表文件、学习小组的对话状态矩阵和成绩等级矩阵;最后通过预测模型生成算法,得到预测模型;(2)预测阶段,将该课程的对话流文件作为输入,利用训练阶段得到的多个模型和文件,通过采用与训练过程相同的处理步骤,即预处理、对话流划分算法、对话状态矩阵生成算法,最后应用训练阶段生成的成绩预测模型得到成绩等级。在上述技术方案中,所述预处理方法的输入为对话流文件,该文件中的一个对话包含两行内容:第一行为对话的时间戳和发言人;第二行为对话内容;预处理方法具体步骤如下:第一步,提取对话中的时间戳、发言人和发言内容,生成形如格式“<TS>时间<TS>发言人<TE><CS>发言内容<CE>”形式的对话;第二步,合并对话之间时间差值小于阈值T,T=2min,且发言人相同的对话的发言内容,以生成标准对话;第三步,删除发言内容长度小于阈值L的标准对话,L=10字长,最终获取标准对话流文件。在上述技术方案中,通过预处理工作已经解决了对话流中的一个对话短时间内多次分开发送的问题,同时剔除了某些对语义没有影响的短对话。为了获取一个主题下的对话流集合,考虑时间和发言内容相似度两个因素来对对话流进行划分。其中,在计算内容相似度时候,引入目前流行的词嵌入模型连续词袋模型(ContinuousBag-Of-WordsModel,简称CBOW)。所述对话流划分算法的具体步骤如下:第一步,遍历每一个标准对话流文件,将文件中标准对话的发言内容进行分词处理后作为一行写入词嵌入语料文件;第二步,利用词嵌入语料文件训练CBOW模型;第三步,依次处理每一个标准对话流文件;创建文本段ID及保存其对应对话链表的字典;依次遍历每一个标准对话,如果标准对话与当前ID对应对话链表中最后一个对话的时间差值小于T’,T’=2min,且标准对话的发言内容与当前ID对应对话链表的内容相似度大于S,S选用使得划分后的对话流文本段的文本段个数均值最接近前3个月教学大纲中的核心知识点数的相似度,将标准对话加入当前ID对应对话链表,否则,ID加1,将标准对话加入ID对应对话链表;计算字典中每个对话链表的发言内容长度和均值;将字典中发言内容长度和大于均值的对话链表中每个对话的发言内容拼接为一个文本段写入与其对应的对话流文本段文件;按照如下公式计算标准对话与ID对应对话链表的内容相似度DiaSim=MAX(Sim(Dia,Diai)),Diai∈Block_Map[ID]其中,Dia为每次读取的标准对话,Diai为字典中ID对应对话链表中的对话;按照如下公式计算每两个标准对话的内容相似度其中,Word_List函数表述对话发言内容切分后的词链表,Wi、Wj分别是Dia1和Dia2中的词,n为Dia1发言内容切分词链表的长度,公式在计算时保证Dia1发言内容切分词链表的长度小于Dia2发言内容切分词链表的长度,MAX函数在计算时使用CBOW模型中Wi、Wj所对应向量,计算其余弦相似度,最大值累加到Sim。在上述技术方案中,将对话流文本段文件转换成能够反映学生讨论状态的对话状态矩阵,主要使用LDA算法来提取对话流文本段的主题信息。所述对话状态矩阵生成算法的具体步骤如下:第一步,利用对话文本段文件中的文本段训练LDA模型,设置主题的个数为K,K为前三个月课程核心知识点个数;第二步,创建主题词集合,将LDA算法输出的K个主题中每个主题的前M个高频词写入集合,M选用使得主题词表大小最接近核心知识点*核心知识点下的一级子知识点的均值,对集合去重操作后,将每个主题词及其集合中的位置编号作为一行写入主题词表文件;第三步,创建对话状态矩阵链表和成绩等级矩阵;依次处理每一个对话流文本段文件及其对应的结业成绩等级,将对话流文本段文件转换成对话状态矩阵并加入对话状态矩阵链表,将成绩等级转换成成绩等级向量加入成绩等级矩阵;按照以下规则1将对话流文本段文件转换成对话状态矩阵:建立R行C列的全0矩阵,R为对话流文本段文件中的文本段个数,C为主题词表文件中主题词个数,依次为对话流文本段文件中的文本段创立长度为C的文本段向量,使用LDA模型得到文本段对应的主题,得到前F个主题下的前M个高频词作为表示这个文本段的主题词,F取值为[1,3]中的整数,M与第二步的取值一致,查找每个主题词在主题词表中的编号,将文本段向量中对应主题词标号下标位置的0置为1,将文本段向量放入对话状态矩阵中;按照以下规则2生成成绩等级向量:为每个成绩等级创建长度为Q的全0向量,Q为进行预测的等级个数,并把成绩等级对应下标位置的0置为1。在上述技术方案中,通过对话状态矩阵生成算法,得到能够反映学习者对话状态的矩阵,针对该矩阵本发明设计了一种基于LSTM的预测模型对成绩等级进行预测。所述预测模型生成算法基于LSTM的预测模型对成绩等级进行预测,该预测模型的每一次输入为一个对话状态矩阵,每个时间步的输入为对话状态矩阵对应时间步位置的对话状态向量,描述了对应对话文本段的核心语义内容;LSTM隐藏层的个数为主题个数K,K为课程前3个月内核心知识点个数,记录对话流中包含的课程核心知识点的语义信息,隐藏层H的激活函数选择sigmod,其个数设计为要预测的学习者成绩等级个数,记录对话流中的成绩等级信息,模型的深度为3层,记录课程前3个月对话流的语义信息;Softmax层输出学习者成绩属于不同等级的概率,损失函数选择交叉熵,并使用随机梯度下降方法进行优化,模型训练时,使用对话状态矩阵生成算法得到的对话状态矩阵链表作为训练数据,成绩等级矩阵作为标记数据。综上,本发明方法,首先,对对话流文本进行预处理,去除对话流中不规范表达对语义的影响。其次,将对话流中讨论相同课程主题的连续对话划分成文本段,有利于对文本语义的分析。接着,将已经划分成文本段形式的对话流转换成能够描述学生交流语义的对话状态矩阵。最后,使用已经被证明在处理时序数据上有优秀能力的深度循环神经网络进行成绩预测。本发明一种基于学习社区对话流的成绩预测方法,使用方便、适应性强,本发明在采集在线学习社区中对话流数据(下称对话流)的基础上,通过对话流划分算法、对话状态矩阵生成算法和预测模型生成算法,实现对在线学习社区中对话流的分析,以完成自动评估某个学习小组的学习效果并预测该小组中学生成绩等级(如:优秀/中上/中等/中下/差等),以实现教师对个别学生的预测与干预(如个别辅导)。附图说明图1为本发明方法的流程框架图。图2为选取不同相似度阈值对对话流进行划分的结果。图3为不同M值下得到的主题词表大小。图4为本发明方法中预测模型的示意图。具体实施方式下面结合附图及具体实施例对本发明作进一步的说明。本实施例的应用环境为操作系统Ubuntu16,使用python2.7编码环境,使用了jieba、gensim和keras等工具作为支持库。1)数据集采用某大学2016年大三上学期“数据挖掘”课程一个班级的40名学生的学习小组对话流数据作为训练数据。将4个人作为一个学习小组,分成10组,采集课程前3个月学习小组以QQ讨论形式进行的对话流文本作为训练数据,标号为groupi.txt,i∈[1..10]。采用某大学“数据挖掘”课堂的另一个班级40名学生对话流作为预测数据,组织形式与训练数据相同。结业成绩等级的划分标准为差(0-50)/中下(50-60)/中(60-75)/中上(75-90)/优秀(90-100)。2)步骤如图1所示,本实施例提供一种基于学习社区对话流的成绩预测方法,该方法针对输入的课程下的学习小组的对话流文件,输出该小组中的学习者成绩等级,该方法分为训练和预测两个阶段,训练阶段得到成绩预测模型,预测阶段应用此模型进行成绩预测;该方法包括以下步骤:(1)训练阶段,将某课程的历史对话流文件及每个对话流文件对应学习小组的课程结业成绩等级作为训练阶段的输入数据,在此基础上,首先通过预处理得到标准对话流文件;其次通过对话流划分算法,生成词嵌入模型并得到对话流文本段文件;接着,通过对话状态矩阵生成算法,生成主题词表文件、学习小组的对话状态矩阵和成绩等级矩阵;最后通过预测模型生成算法,得到预测模型;(2)预测阶段,将该课程的对话流文件作为输入,利用训练阶段得到的多个模型和文件,通过采用与训练过程相同的处理步骤,即预处理、对话流划分算法、对话状态矩阵生成算法,最后应用训练阶段生成的成绩预测模型得到成绩等级。具体步骤说明如下:(1)预处理首先,提取groupi.txt,i∈[1..10]文件中每一个对话的时间戳、发言人和发言内容,生成形如格式“<TS>时间<TS>发言人<TE><CS>发言内容<CE>”形式的对话;其次,合并对话之间时间差值小于阈值T,T默认设置为2min且发言人相同的对话的发言内容,以生成标准对话;最后,删除发言内容长度小于阈值L,L默认设置为10的标准对话。通过以上三个步骤将对话流文件转换为标准对话流文件。(2)对话流划分对话流划分算法的具体过程如下。首先,利用标准对话流文件groupi.txt,i∈[1..10]的对话内容形成词嵌入训练语料文件,使用gensim中的Word2Vec模型进行词嵌入的训练。其次,根据对话流划分算法,选取时间阈值T’值为2min。假设不同小组的对话流长度为正态分布,选取不同相似度阈值对对话流进行划分的实验结果如图2所示(如S取0.5时,文本段均值为28)。最后,选用使得划分后的对话流文本段的文本段个数均值最接近前3个月教学大纲中的核心知识点数的相似度。根据实验中课程的核心知识点数为28,选取内容相似度的阈值S为0.5。对话流文本段划分的结果如表1和表2所示。表1.groupitxt文本段划分结果节选表2.对话流文件在S=0.5时候的划分个数对话流文件划分后的文本段个数group1.txt24group2.txt30group3.txt34group4.txt20group5.txt36Group6.txt31group7.txt28group8.txt27group9.txt21group10.txt25(3)对话状态矩阵生成(3.1)主题词表生成首先,利用对话流文本段文件训练主题模型,并得到主题词表。主题个数K取值为课程前3个月教学大纲中的核心知识点数。主题下选取的主题词个数为M。不同M值下得到的主题词表大小如图3所示(如M值取5时候主题词表的大小为84)。根据实验中课程的核心知识点数为28,平均子知识点的个数为3,每个主题下选取的高频词个数M取值为5,生成的主题词表如表3所示。表3.主题词表节选主题序号前5个主题词及其编号4聚类(11)、相似度(12)、迭代(13)、收敛(14)、初始值(15)......12贝叶斯(30)、后验(31)、先验(32)、概率(33)、平滑(34)......25神经网络(73)、反向传播(74)、梯度(75)、概率(33)、收敛(14)(3.2)对话状态矩阵生成对话状态矩阵生成算法的具体过程如下。Convert_File_State_Matrix与Convert_Rank_Vector函数依照
发明内容中的规则1和规则2将对话流文本段文件转换成对话状态矩阵和成绩等级向量。依据主题词表,将对话流文本段文件转换成对话状态矩阵,每个文本段选取的主题个数为设置为1,转换结果如表4所示。表4.groupi.txt对话状态矩阵生成节选(4)成绩等级预测模型生成根据前面几步得到的参数构建预测模型结构,具体为:LSTM的输入维度为主题词表的大小,本实施例中配置为84;LSTM的时间步为对话流文本段文件夹下的主题文本段文件的文本段个数均值,本实施例中配置为28;LSTM的隐藏层节点个数为主题模型训练的主题个数K,本实施例中配置为28;隐藏层H的节点个数为学习小组成绩等级个数,本实施例中配置为5。模型训练时候使用增量算法使得数据量级达到模型训练的要求。训练得到的预测模型如图4所示。3)预测结果分析相关的实验结果如表5所示。表5.预测结果预测小组预测成绩等级实际成绩等级Group1优秀优秀Group2中中Group3中上优秀Group4中中Group5中下中下Group6优秀中上Group7中中Group8差差Group9差差Group10中上中上如表5所示,对本学期另一个“数据挖掘”课堂的10个学习小组的结业成绩等级进行预测。正确预测其中8个学习小组的结业成绩等级,对组3和组6的结业成绩等级预测有程度上的偏差。实验证明,预测模型有良好的效果。教师可以根据模型的预测结果,在结业考试之前对预测结果为差或是中下的小组,即组5、8和9,做出相应的干预。本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明的上述实例仅仅为清楚说明本发明所作的举例,而非本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1