一种基于TextCNN的学生线上学习行为检测方法及系统
技术领域
本发明涉及行为检测
技术领域
,旨在为线上学习平台提供辅助评价工具,尤 其是一种基于TextCNN的学生线上学习行为检测方法及系统。背景技术
线上网课成为疫情下学生继续接受教育的主要形式,许多优质课程发布在中 国大学MOOC(慕课)上。课程考核内容涉及单元测试、期末测试、视频学习 时长以及课程讨论。课程讨论计入考核,本意是培养学生独立思考的能力,鼓励 学生积极提问,与课程任课老师交流互动,帮助课程团队推进课程建设。但是, 以参与评论次数作为评定课程讨论分数的唯一标准,导致学生以得到分数为目 的,发表与课程无关的评论,使得课程讨论流于形式。不仅如此,为了提高老师 与学生互动的效率,助教需要花费大量时间识别和删除无效评论。为了以有效评 论数量来衡量课程讨论分数以及学生课程参与度,鼓励学生认真学习思考,提升 学生慕课学习效果,减少助教工作量,亟需一种方法及系统对慕课学生评论进行 分类,推进疫情常态化下慕课课程建设。
文本分类是自然语言处理的领域,是指计算机将载有信息的句子或者文本映 射到给定的某一类别或某几类别主题的过程。传统机器学习文本分类算法通常采 用提取词频词袋的方法,然后进行模型的训练,如朴素贝叶斯、支持向量机等, 这些方法对于文本特征提取不够充分,对于文本的语义、语序和上下文关联缺乏 关注。深度学习文本分类有着良好的特征提取能力和文本表示能力,能呈现较好 的结果。深度学习文本分类主要有基于上下文机制的、基于记忆存储机制的以及 基于词向量的等。
基于上下文机制的深度学习文本分类模型。lai为解决传统模型忽略语序和上 下文,结构复杂的问题,提出了一种循环卷积神经网络的模型(RCNN)。该模 型和传统模型的不同点在于使用双向的循环神经网络,降低了噪声,关注于文本 的上下文,保留了更大的词序范围,为提取文本的关键信息采用池化层进行捕捉。 该方法融合了循环网络和卷积神经网络的特点,提高了模型的泛化的能力。
基于记忆存储机制的深度学习文本分类模型。学者们为了在处理长序列文本 的时候,能够让信息传递到更深的层中,提出了长短期记忆网络(LSTM)和门控 循环单元(GRU)。LSTM中,遗忘门用于决定数据的保留和丢弃,输入门用于处 理输入信息,和前一时刻的记忆单元累加获得当前的记忆单元,输出门控制当前 记忆单元信息可以传递到隐藏层的隐藏状,为下一次累加做准备。GRU与LSTM 很相似,它比LSTM网络的结构更简单,参数更少、收敛更容易,只有更新和 重置两个门。但在大规模数据集下,LSTM的性能更好。
基于词向量的深度学习分类模型。为了解决传统的向量空间模型假定特征项 之间彼此独立的问题,采用文本词向量形式,类似图像和语音的数据,该方式考 虑了词语的相似性,考虑了词语在文本中的位置信息。Word2vec预测词向量方 法的提出引起大家的关注,构建了CBOW和Skip-gram两个模型结构。CBOW 模型利用当前词的上下文来预测目标词语,而Skip-gram方法使用出现的词来预 测其上下文的词。词向量运用于CNN,结构简单,分类的效果更好,速度更快, 提高了准确率。
TextCNN是一种基于词向量的深度分类模型,可以有效捕获句子特征,提高 文本分类准确率,且有较强的适应性。
发明内容
本发明提出一种基于TextCNN的学生线上学习行为检测方法,通过识别在 线课堂评论区的有效与无效评论,设计新的课程讨论分数评定方法,为线上学习 平台提供辅助评价工具,端正学生学习行为,培养学生独立思考的能力,推进疫 情常态化下慕课课程建设。
本发明采用以下技术方案。
一种基于TextCNN的学生线上学习行为检测方法及系统,所述检测方法包 括以下步骤;
步骤S1、登入在线课堂,爬取学生的发言信息作为学习行为数据;
步骤S2、对爬取所获数据预处理形成预处理数据;
步骤S3、利用所述预处理数据预训练Skip-gram模型;
步骤S4、训练得到TextCNN分类模型;
步骤S5、使用TextCNN分类模型对待测学生的线上学习行为进行识别;
步骤S6、根据识别结果计算课程评论活跃指数以及每位学生的最终分数。
所述步骤S1采用Selenium和浏览器驱动相结合的方法爬取学生学习行为数 据,具体为:首先,输入账号和密码以登录的状态进入在线课堂的评论区,根据 最后一条评论的标签获取评论页面总页码;其次,根据页码构建URL浏览评论 页面;最后,在每个评论页面中根据标签获取评论和对应的用户id,并保存为学 习行为数据。
所述步骤S2包括以下步骤;
步骤A1、从爬取所获数据中去除符号,具体为:将Unicode编码下的符号转 化为空格;
步骤A2、对去除符号后的数据进行分词处理,即使用开源的jieba分词器对 所述去除符号的数据进行分词;
步骤A3、从完成分词处理后的数据中去除停用词,即适当过滤停用词以避 免识别偏差,其方法为加载停用词表,逐个字句在停用词表中查询,然后去除; 所述停用词表包括中文语气词、助词及没有明显的实际意义的字词;
步骤A4、建立打标签函数label(x)为经过上述步骤的评论数据标注标签,其 中x为待标注的数据;筛选出未标注标签的数据中出现频率最高的、可以明确判 断是否与课程相关的多个词语作为标签词语,将标签词语分为课程相关词语以及 与课程无关词语两类;为包含这些词语的评论标注标签;含课程相关词语的评论 标注为1,即有效评论,无关的词语标注为0,即无效评论;重复上述步骤,直 到标注完所有评论;如果最后剩下的评论不足以寻找出标签词语,那么就逐个手 动遍历,根据专家经验为评论打上标签;将标注好的数据80%划为训练集,20% 为测试集。
所述筛选出未标注标签的数据中出现频率最高的、可以明确判断是否与课程 相关的多个词语的数量为十个;所述课程相关词语包括“考试”、“单元测试”以 及“作业”等;所述课程无关词语包括“不咋地”、“吃”等;所述停用词表包括 “的”、“是”、“了”、“啊”等;
所述步骤A1中,在中文常用字符的范围u′\u4e00′-u′\u9fff,使用字符替换 方法去除符号。
所述步骤S3中的Skip-gram模型包括输入层、隐藏层以及输出层;
所述输入层的输入wc是词语经过one-hot编码得到的矩阵,大小为V×1,V表 示词汇表中单词的数量;所述one-hot编码中代表词的那一维为1,其他均为0;
所述隐藏层的权重矩阵W1是一个d×V的矩阵,由此通过公式W1wc可得到隐 藏层的输出vc,大小为d×1;
所述输出层的权重矩阵W2是一个V×d的矩阵,通过公式W2vc以及softmax 函数,可以得到V×1维的概率矩阵,V为词汇表中单词数量,表示输入词与每个 单词表中每个词是上下文的概率;
所述Skip-gram模型用于预测输入词向量的上下文词语,预训练后得到的隐 藏层权重矩阵W1即为后续步骤所需要的词向量查找表,也就是TextCNN模型嵌 入层的权重。
所述步骤S4中,TextCNN模型分为以下几层:
B1、嵌入层:嵌入层的输入为预处理后的评论数据,评论数据以one-hot形 式表示,大小为n×V,n为组成句子的词的最大数量,权重为步骤S3中预训练 得到的隐藏层的权重的转置大小为V×d,二者相乘得到嵌入层的输出x1:n, 大小为n×d;
B2、卷积层:其使用多个不同大小的卷积核对所述x1:n进行卷积操作,以提 取文本特征,每个卷积核的卷积操作的形式可以表示如下:
yi=g(w·xi:i+h-1+b),1≤i≤n-h+1 公式一;
其中w∈Rhd表示卷积核的权重向量,xi:i+h-1表示嵌入层输出的向量的第i行 到第i+h-1行,b表示偏置,g表示非线性激活函数,yi即为卷积后得到的特征 向量的第i个元素。每个卷积核会应用于句子的每个可能的窗口 {x1:h,x2:h+1,...,xn-h+1:n}来生成特征向量y=[y1,y2,...,yn-h+1];
B3、池化层:其对所述卷积层得到的结果进行最大池化,对于每个卷积核生 成的特征向量y=[y1,y2,...,yn-h+1],选择其中的最大值y′=max{y},所有的最 大值组合成一个新的特征向量;
B4、全连接层:其以池化层输出的固定长度特征向量为输入,使用softmax 函数,生成二分类结果,使用随机失活策略和权重衰减策略来防止过拟合。
所述步骤S5中,具体方法为,获取待检测的学生学习行为数据,包括用户 id以及评论数据,并对得到的数据进行预处理操作,预处理操作包括去除符号、 分词、去停用词,然后将所述预处理后的评论数据作为分类模型的输入,最后将 每条评论的检测结果记录到每个用户id对应的数据表中。
所述步骤S6具体包括以下步骤;
步骤C1、统计数据表中的每位学生studenti(i∈N+)有效评论的数量ei; 每位学生评论最高上限数设为m,标准为评论达到上限数,且都是有效评论,即 可得到评论部分全部分数;定义当前学期课程选课人数为n,引入评论区活跃指 数index来衡量课程学生参与度,表示如下:
即为所有学生有效评论数与最大评论上限数的比值之和的平均值,以此,作为衡量慕课课程建设质量的指标之一。
步骤C2、设每位学生studenti的期末测试分数、单元测试分数、观看时长分 数以及课程讨论得分分别表示为以及四部分分 数占总分的百分比分别为w1,w2,w3以及w4。和部分的客观分数由在 线课堂直接给出,观看时长分数由学生studenti的观看时长ti与视频总时 长total的比值表示,最终得分转化成百分制,如下所示:
同样的,课程讨论得分由有效评论数与学生评论最高上限数的比值表示:
步骤C3、每位学生studenti课程的总得分表示如下:
其中表示四个部分的分数所占百分比之和为1,即课程分数只 由这四部分组成,并且都是百分制,最后得到的总分也是百分制。
所述在线课堂为中国大学MOOC慕课网站的在线课堂。
一种基于TextCNN的学生线上学习行为检测系统,采用基于TextCNN的学 生线上学习行为检测方法,其特征在于:包括预处理模块、模型训练模块和学习 行为检测模块;具体为
A、预处理模块:用于爬取和预处理学生学习行为数据并预训练Skip-gram 模型,包括数据爬取模块、数据预处理模块以及Skip-gram预训练模块;首先, 爬取学生的发言信息作为学习行为数据,然后,对爬取的数据进行预处理,其次, Skip-gram模型以预处理后的学生学习行为数据wc为输入进行预训练,最后,将 预训练后的Skip-gram模型的隐藏层权重的转置作为模型训练模块中嵌入层 的权重,预处理后的学生学习行为数据wc传输给模型训练模块;
B、模型训练模块:其用于训练TextCNN模型,具体为在嵌入层,以预处理 模块得到的Skip-gram模型隐藏层的权重的转置为权重、学生学习行为数据wc为输入,进行词向量化,在卷积层进行卷积操作提取文本特征,在池化层进行最 大池化,在全连接层进行全连接操作以得到二分类结果,对模型进行训练,以得 到分类模型;
C、学习行为检测模块;用于检测学生学习行为从而得到课程评论活跃指数 以及学生最终成绩,包括数据预处理模块、数据分类模块以及计算模块;对待检 测数据进行预处理,使用模型训练模块得到的分类模型识别学生行为,根据识别 结果重构课程讨论部分分数,计算输出课程评论活跃指数index以及每位学生 studenti(i∈N+)的最终分数
本发明的有益效果在于:通过识别有效与无效评论,设计新的课程讨论分数 评定方法,为线上学习平台提供辅助评价工具,端正学生学习行为,培养学生独 立思考的能力,推进疫情常态化下在线教育的慕课课程建设。
附图说明
下面结合附图和
具体实施方式
对本发明进一步详细的说明:
附图1是本发明的方法流程示意图;
附图2是本发明所述方案在爬取数据、标注标签过程的流程示意图;
附图3是本发明中TextCNN模型训练过程的简化版示意图;
附图4是本发明中学生线上学习行为检测系统结构示意图。
具体实施方式
如图所示,一种基于TextCNN的学生线上学习行为检测方法,其特征在于: 所述检测方法包括以下步骤;
步骤S1、登入在线课堂,爬取学生的发言信息作为学习行为数据;
步骤S2、对爬取所获数据预处理形成预处理数据;
步骤S3、利用所述预处理数据预训练Skip-gram模型;
步骤S4、训练得到TextCNN分类模型;
步骤S5、使用TextCNN分类模型对待测学生的线上学习行为进行识别;
步骤S6、根据识别结果计算课程评论活跃指数以及每位学生的最终分数。
所述步骤Sl采用Selenium和浏览器驱动相结合的方法爬取学生学习行为数 据,具体为:首先,输入账号和密码以登录的状态进入在线课堂的评论区,根据 最后一条评论的标签获取评论页面总页码;其次,根据页码构建URL浏览评论 页面;最后,在每个评论页面中根据标签获取评论和对应的用户id,并保存为学 习行为数据。
所述步骤S2包括以下步骤;
步骤A1、从爬取所获数据中去除符号,具体为:将Unicode编码下的符号转 化为空格;
步骤A2、对去除符号后的数据进行分词处理,即使用开源的jieba分词器对 所述去除符号的数据进行分词;
步骤A3、从完成分词处理后的数据中去除停用词,即适当过滤停用词以避 免识别偏差,其方法为加载停用词表,逐个字句在停用词表中查询,然后去除; 所述停用词表包括中文语气词、助词及没有明显的实际意义的字词;
步骤A4、建立打标签函数label(x)为经过上述步骤的评论数据标注标签,其 中x为待标注的数据;筛选出未标注标签的数据中出现频率最高的、可以明确判 断是否与课程相关的多个词语作为标签词语,将标签词语分为课程相关词语以及 与课程无关词语两类;为包含这些词语的评论标注标签;含课程相关词语的评论 标注为l,即有效评论,无关的词语标注为0,即无效评论;重复上述步骤,直 到标注完所有评论;如果最后剩下的评论不足以寻找出标签词语,那么就逐个手 动遍历,根据专家经验为评论打上标签;将标注好的数据80%划为训练集,20% 为测试集。
所述筛选出未标注标签的数据中出现频率最高的、可以明确判断是否与课程 相关的多个词语的数量为十个;所述课程相关词语包括“考试”、“单元测试”以 及“作业”等;所述课程无关词语包括“不咋地”、“吃”等;所述停用词表包括 “的”、“是”、“了”、“啊”等;
所述步骤A1中,在中文常用字符的范围u′\u4e00′-u′\u9fff,使用字符替换 方法去除符号。
所述步骤S3中的Skip-gram模型包括输入层、隐藏层以及输出层;
所述输入层的输入wc是词语经过one-hot编码得到的矩阵,大小为V×1,V表 示词汇表中单词的数量;所述one-hot编码中代表词的那一维为1,其他均为0;
所述隐藏层的权重矩阵W1是一个d×V的矩阵,由此通过公式W1wc可得到隐 藏层的输出vc,大小为d×1;
所述输出层的权重矩阵W2是一个V×d的矩阵,通过公式W2vc以及softmax 函数,可以得到V×1维的概率矩阵,V为词汇表中单词数量,表示输入词与每个 单词表中每个词是上下文的概率;
所述Skip-gram模型用于预测输入词向量的上下文词语,预训练后得到的隐 藏层权重矩阵W1即为后续步骤所需要的词向量查找表,也就是TextCNN模型嵌 入层的权重。
所述步骤S4中,TextCNN模型分为以下几层:
B1、嵌入层:嵌入层的输入为预处理后的评论数据,评论数据以one-hot形 式表示,大小为n×V,n为组成句子的词的最大数量,权重为步骤S3中预训练 得到的隐藏层的权重的转置大小为V×d,二者相乘得到嵌入层的输出x1:n, 大小为n×d;
B2、卷积层:其使用多个不同大小的卷积核对所述x1:n进行卷积操作,以提 取文本特征,每个卷积核的卷积操作的形式可以表示如下:
yi=g(w·xi:i+h-1+b),1≤i≤n-h+1 公式一;
其中w∈Rhd表示卷积核的权重向量,xi:i+h-1表示嵌入层输出的向量的第i行 到第i+h-1行,b表示偏置,g表示非线性激活函数,yi即为卷积后得到的特征 向量的第i个元素。每个卷积核会应用于句子的每个可能的窗口 {x1:h,x2:h+1,...,xn-h+1:n}来生成特征向量y=[y1,y2,...,yn-h+1];
B3、池化层:其对所述卷积层得到的结果进行最大池化,对于每个卷积核生 成的特征向量y=[y1,y2,...,yn-h+1],选择其中的最大值y′=max{y},所有的最 大值组合成一个新的特征向量;
B4、全连接层:其以池化层输出的固定长度特征向量为输入,使用softmax 函数,生成二分类结果,使用随机失活策略和权重衰减策略来防止过拟合。
所述步骤S5中,具体方法为,获取待检测的学生学习行为数据,包括用户 id以及评论数据,并对得到的数据进行预处理操作,预处理操作包括去除符号、 分词、去停用词,然后将所述预处理后的评论数据作为分类模型的输入,最后将 每条评论的检测结果记录到每个用户id对应的数据表中。
所述步骤S6具体包括以下步骤;
步骤C1、统计数据表中的每位学生studenti(i∈N+)有效评论的数量ei; 每位学生评论最高上限数设为m,标准为评论达到上限数,且都是有效评论,即 可得到评论部分全部分数;定义当前学期课程选课人数为n,引入评论区活跃指 数index来衡量课程学生参与度,表示如下:
即为所有学生有效评论数与最大评论上限数的比值之和的平均值,以此,作为衡量慕课课程建设质量的指标之一。
步骤C2、设每位学生studenti的期末测试分数、单元测试分数、观看时长分 数以及课程讨论得分分别表示为以及四部分分 数占总分的百分比分别为w1,w2,w3以及w4。和部分的客观分数由在 线课堂直接给出,观看时长分数由学生studenti的观看时长ti与视频总时 长total的比值表示,最终得分转化成百分制,如下所示:
同样的,课程讨论得分由有效评论数与学生评论最高上限数的比值表示:
步骤C3、每位学生studenti课程的总得分表示如下:
其中表示四个部分的分数所占百分比之和为1,即课程分数只 由这四部分组成,并且都是百分制,最后得到的总分也是百分制。
所述在线课堂为中国大学MOOC慕课网站的在线课堂。
一种基于TextCNN的学生线上学习行为检测系统,采用基于TextCNN的学 生线上学习行为检测方法,其特征在于:包括预处理模块、模型训练模块和学习 行为检测模块;具体为
A、预处理模块:用于爬取和预处理学生学习行为数据并预训练Skip-gram 模型,包括数据爬取模块、数据预处理模块以及Skip-gram预训练模块;首先, 爬取学生的发言信息作为学习行为数据,然后,对爬取的数据进行预处理,其次, Skip-gram模型以预处理后的学生学习行为数据wc为输入进行预训练,最后,将 预训练后的Skip-gram模型的隐藏层权重的转置作为模型训练模块中嵌入层 的权重,预处理后的学生学习行为数据wc传输给模型训练模块;
B、模型训练模块:其用于训练TextCNN模型,具体为在嵌入层,以预处理 模块得到的Skip-gram模型隐藏层的权重的转置为权重、学生学习行为数据wc为输入,进行词向量化,在卷积层进行卷积操作提取文本特征,在池化层进行最 大池化,在全连接层进行全连接操作以得到二分类结果,对模型进行训练,以得 到分类模型;
C、学习行为检测模块;用于检测学生学习行为从而得到课程评论活跃指数 以及学生最终成绩,包括数据预处理模块、数据分类模块以及计算模块;对待检 测数据进行预处理,使用模型训练模块得到的分类模型识别学生行为,根据识别 结果重构课程讨论部分分数,计算输出课程评论活跃指数index以及每位学生 studenti(i∈N+)的最终分数
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:检索用资料信息存储装置