首页> 中国专利> 一种基于题意文本的同知识点试题分组系统和方法

一种基于题意文本的同知识点试题分组系统和方法

摘要

本发明公开了一种基于题意文本的同知识点试题分组系统和方法,属于在线试题学习领域。本系统包含了无监督模型WSD‑LDA聚类和监督学习的独热随机森林两种方法模型,利用人工智能与自然语言处理领域相关技术,对在线平台题库同学科或知识点下内容相近的题目进行细分,将相近的题目以分组形式呈现,便于用户依照自身需求对同类题目进行挑选、去重、精简、典型化等处理,解决了平台上相似题目过多,同一知识点下题目冗杂,教师难以优选试题、用户学习训练低效的问题。

著录项

  • 公开/公告号CN112256869A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN202011083837.9

  • 申请日2020-10-12

  • 分类号G06F16/35(20190101);G06K9/62(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人郑海峰

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 09:38:30

说明书

技术领域

本发明涉及在线试题学习领域,尤其涉及一种基于题意文本的同知识点试题分组系统和方法。

背景技术

与传统的纸质试题相比,在线试题拥有更实时的反馈、更灵活的交互、更智能的评测以及更广阔的范围。也因此,越来越多的课程教学和培训移步互联网,有些课程将作业与考核放于线上,而有些甚至直接转变为线上课程。线上教学平台的普及带来了在线练习与线上考试的流行,也因此绝大多数在线教学平台(例如作业帮、拼题A、中国大学MOOC等)都拥有自己的提供填空题、选择题、判断题等多种题型的自动判题功能题库。

然而,许多在线教学平台在经过长期的发展与运营后,其题库在不断扩充的同时,也变得不断臃肿起来。大量的题目、大量的数据,逐渐令老师、学生、平台的管理者焦头烂额。目前,几乎所有教学平台对题目的分类仅停留在学科或学科下的章节、知识点层面,这使得同一个知识点下存在许多题目,其内容间互相交叉,难易程度相近,所以目前的划分对含上百道的题目数规模的知识点是远远不够的。有些章节或知识点涵盖广、范围大,需要进一步地细分,其下可能涵盖颗粒更小的题型或原子知识点,而这些往往是学习与教学的关键所在。一方面,学习者需要对不同题型的练习来掌握这一知识点的全部内容,而不是要花费较多时间做相似的题,拉低学习效率。另一方面,教师布置作业、挑选试题组成测验这些教学方式也同样需要更细的题目分组。此外,许多在线教学测试平台属于共享开放平台,每门课程的每个知识点下都有来自不同层次高校的众多教师贡献的题目,这些题目对知识点的考察角度不同,题目难易层次也有差别,也因此会出现质量参差不齐的情况。对于平台维护者来说,更细致的题目划分方法,对同类题目进行精简、整理并剔除低质量的题目至关重要。

诚然,完全依靠人力对海量的题目进行人工分类在理论上当然是可行的,但是耗时耗力,并不是一种明智的做法。另外,不同的用户可能会有不同的分类需求。因此,亟需一种能够根据题意自动实现题库试题分组的系统,且同时兼备根据用户意图进行偏好分类的功能,以此来解决同知识点下题目的划分问题。

发明内容

为了解决当前在线教学平台中大量题目内容相近,同知识点下题目堆积难以进一步划分的问题,本发明针对用户不同的需求提出了一种基于题意文本的同知识点试题分组系统和方法,系统中的多功能分组模块中包括基于无监督学习的聚类模型WSD-LDA和基于监督学习的独热随机森林分类模型。WSD-LDA模型可以完全自动智能地对同知识点下题目进行二层聚类划分,之后便可依照自身需求对同类题目进行挑选、去重、精简、典型化等处理。独热随机森林模型可根据用户自定义标签进行分组。

为了实现上述目的,本发明采用如下技术方案:

一种基于题意文本的同知识点试题分组系统,包括:

题目获取模块,其用于获取教学平台后台的题目数据,并以语种和知识点划分题目,每道题目至少包括编号和题干信息;

题目预处理模块,其用于针对同一知识点下的相同语种题目进行预处理,包括:获取同一知识点下相同语种题目的题干文本,并对获取的题干文本数据进行清洗,剔除题干文本重复的题目和题干文本缺失的题目;然后将题干文本分为若干个词汇,筛除停用词,得到各个题目的词汇集,所有题目的词汇集构成该知识点下的当前词汇表;

标签化模块,其用于对部分题目打上相应的标签;所述的部分题目是根据当前词汇表中的词汇随机筛选得到的,所筛选的题目至少覆盖80%词汇表;

多功能分组模块,其包括全自动分组的WSD-LDA子模块和带有用户偏好的半自动分组的独热随机森林子模块;

所述的WSD-LDA子模块不考虑题目标签,其首先获取所有题目的句向量,将句向量预先分为小类,再将小类中的词汇合并,继续分为大类,生成分组结果;

所述的独热随机森林子模块考虑题目标签,其首先将所有的题目进行独热编码,获得题目独热向量;然后采用带标签的题目独热向量训练独热随机森林模型;再利用训练好的独热随机森林模型对不带标签的题目独热向量进行分类,生成分组结果;

分组存储模块,其用于读取多功能分组模块生成的分组结果,将题库中的题目按照分组结果进行分组存储;

分组更新模块,其用于根据教学平台题库的更新,实现分组结果的自动更新。

所述的分组更新模块,当对WSD-LDA子模块的题目分组结果进行更新时,将新加入的题目与同一知识点下相同语种题目共同作为待分组题目,经题目预处理模块处理后,通过WSD-LDA子模块重新分组,更新分组结果。当对独热随机森林子模块的题目分组结果进行更新时,获取新题目的独热向量,直接利用训练好的独热随机森林子模块确定新题目的类型,将新题目纳入到分组结果中,更新分组结果。

当对独热随机森林子模块的题目分组结果进行更新之前,还需要判断新题目词汇与知识点当前词汇表的出入,若新题目50%及其以上的词汇均不在该知识点下的当前词汇表内,则将新题目视为新题型,将其归置在“其他”类并可接受人工调控,待新题型积攒到一定数量后,将新题型和原有题目共同作为待分组题目,经题目预处理模块处理后,对独热随机森林子模块重新进行训练;否则,将新题目视为旧题型,根据新题目在当前词汇表中的词汇,得到新题目的独热向量,根据之前训练好的独热随机森林子模块确定新题目的类型。

与现有技术相比,本发明的创新性和有益效果在于:

(1)本发明提出了一种对教学平台同知识点下的题目进行基于题意文本的划分方式,通过获取同一知识点下的相同语种题目的词汇集构成该知识点下的当前词汇表,利用词汇表征题意,根据同知识点下不同题目词汇之间的关系实现分组任务,解决了平台上相似题目过多,同一知识点下题目冗杂,教师难以优选试题、用户学习训练低效的问题。

(2)本发明提出的试题分组系统包括了两种可选模式,具有多功能。其中一种WSD-LDA子模块采用无监督学习形式,通过对题目进行词嵌入、句向量SIF平滑化并进行DBSCAN聚类后,该模型对相似题目能进行精准、细粒度地划分,然后对初步聚类结果进行LDA主题模型聚类。由模型的困惑度、轮廓系数等来决定最佳的聚类数,最终得到多层题目聚类结果。

另一种独热随机森林模型采用监督学习的形式,通过对题目进行预处理、独热编码向量化处理并进行随机森林训练后,该模型对同知识点下题目的分类可以达到很高的准确度。

(3)该发明对当前的在线教学平台题库知识点下题目提出了一种综合解决方案。用户可以利用本发明中的无监督聚类模型对题目进行智能、全自动地划分,之后便可对知识点下同类题目进行挑选、去重、精简、典型化等处理;同时,用户也可以使用本发明的监督学习分类模型,对平台的新题目进行精准分类。

附图说明

图1为本发明的整体架构示意图;

图2为本发明的预处理模块流程图;

图3为本发明WSD-LDA模型示意图;

图4为本发明的独热随机森林模型训练示意图。

具体实施方式

下面结合附图对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。

本发明提出了一种无监督模型WSD-LDA聚类和监督学习的独热随机森林两种方法模型,并构建了一个试题分组系统。本发明利用人工智能与自然语言处理领域相关技术,对在线平台题库同学科或知识点下内容相近的题目进行细分,将相近的题目以分组形式呈现,便于用户依照自身需求对同类题目进行挑选、去重、精简、典型化等处理,解决了平台上相似题目过多,同一知识点下题目冗杂,教师难以优选试题、用户学习训练低效的问题。

下面首先对本发明采用的一些算法进行介绍,

1.独热编码

独热(One-Hot)编码,又称为一位有效编码,主要是采用位状态寄存器来对个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。它是利用0和1表示一些参数,使用N位状态寄存器来对N个状态进行编码。独热编码能够处理非连续型数值特征,并且能保证不同信息的编码维度相同。任何一组离散变量均独热编码后都会转化成相同维度的0-1向量集。

2.随机森林

随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。随机森林既可以处理属性为离散值的量,比如ID3算法,也可以处理属性为连续值的量,比如C4.5算法。随机森林是一种有效的数据分类方法。

3.词嵌入word2vec

词嵌入模型word2vec是Google 2013年开源的一种词向量计算工具,可以在百万数量级的词典和上亿的数据集上进行高效地训练;此外,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。因此word2vec是自然语言处理上将词语转化成可供计算机计算的向量的一种有效而广泛使用的方式。

4.基于密度的聚类算法DBSCAN

DBSCAN是一种典型的基于密度的聚类算法,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN聚类时无需指定簇的个数,只需要聚类簇的半径和最小点数。DBSCAN从一个任意的还没有被访问过的启动数据点开始。将这个点的半径为r的邻域提取出来(所有在邻域内的点都视为邻居点)。如果在邻域内有足够数量的点(minPoints),那么聚类过程开始,并且当前数据点变成新集群中的第一个点。否则,该点将被标记为噪声(之后这个噪声点可能会变成集群中的一部分)。在这两种情况中的点都被标记为“已访问”。对于这个新集群中的第一个点,在它r距离邻域内的点已将变成相同集群中的一部分。这个让所有在r邻域内的点都属于相同集群的过程在之后会一直被重复做,直到所有新点都被加进集群分组中。上述过程会一直重复直到集群内所有点都被确定,即所有在r邻域内的点都被访问且被打上标签。之后一个新的未被访问的点会被提取并处理,从而会接着发现下一个集群或噪声。这个过程反复进行直到所有的点都被编辑为已访问。最后所有的点都被访问,那么每个点都被标记为属于一个集群或者是噪声。DBSCAN方法的特点在于其不需要初始的聚类簇数,仅根据阈值半径就可对全数据集进行聚类。

5.基于主题模型的聚类算法LDA

LDA主题模型是一个广泛使用的概率主题模型,能很好地完成文本的聚类任务,并且根据该模型可以得到每个文本的主题概率分布。在LDA主题模型下,一篇文章的生成方法是:首先仍依照文档选取的概率选择一篇文档,然后从狄利克雷分布α中取样生成该文档的主题分布,并从生成的主题分布中选取一个主题类别,然后再从狄利克雷分布β中生成该主题对应的词语分布,最后从生成的词语分布中选取词语。基于LDA主题模型的聚类算法,即利用主题的概率分布模型对词语集的文本进行聚类。

本发明的试题分组系统主要包括:

题目获取模块,其用于获取教学平台后台的题目数据,并以语种和知识点划分题目,每道题目至少包括编号和题干信息;

题目预处理模块,其用于针对同一知识点下的相同语种题目进行预处理,包括:获取同一知识点下相同语种题目的题干文本,并对获取的题干文本数据进行清洗,剔除题干文本重复的题目和题干文本缺失的题目;然后将题干文本分为若干个词汇,筛除停用词,得到各个题目的词汇集,所有题目的词汇集构成该知识点下的当前词汇表;

标签化模块,其用于对部分题目打上相应的标签;所述的部分题目是根据当前词汇表中的词汇随机筛选得到的,所筛选的题目至少覆盖80%词汇表;

多功能分组模块,其包括全自动分组的WSD-LDA子模块和带有用户偏好的半自动分组的独热随机森林子模块;

所述的WSD-LDA子模块不考虑题目标签,其首先获取所有题目的句向量,将句向量预先分为小类,再将小类中的词汇合并,继续分为大类,生成分组结果;

所述的独热随机森林子模块考虑题目标签,其首先将所有的题目进行独热编码,获得题目独热向量;然后采用带标签的题目独热向量训练独热随机森林模型;再利用训练好的独热随机森林模型对不带标签的题目独热向量进行分类,生成分组结果;

分组存储模块,其用于读取多功能分组模块生成的分组结果,将题库中的题目按照分组结果进行分组存储;

分组更新模块,其用于根据教学平台题库的更新,实现分组结果的自动更新。

在图1中可以看到,本发明的源数据是教学平台后台的题目数据,并且事先已根据老师上传题目时选定的知识点进行了粗略地划分。输入的数据集可以是题库,也可以是某些待分类的题目甚至一道教师新上传的题目。

在对数据集进行预处理得到相应文本词汇后,可以通过监督学习或无监督学习两条路径对知识点下题目进行更细致、准确地分组。无监督学习的策略是将题目先通过WSD模型分为一个个小类,然后由LDA主题模型聚合为大类;而监督学习走的路则是将题目转化为独热向量然后训练随机森林模型,并以此来分组。对于待分类题目,例如教师新上传的题目,在经过文本预处理后同样进行独热编码转化为独热向量,然后代入随机森林模型中分类,并归至分类的题目组中。如果待分类题目与原数据集相差较大,则会进行人工干预处理或题目库数据集的更新。

在本发明的一项具体实施中,随机森林模型在训练时需要利用到标签化模块输出的打标后的训练题目样本,打标的标签可以是依据题目内容获取到的题目难度、题目类型等。

许多平台的在线题库中都含有多种语言的题目,如最典型的中文题和英文题。对于不同语种下题目的处理,例如分词和停用词处理会有所不同,所以一开始,需要先根据语种划分这些题目。以数量最多、最为普遍的中文题目为例,图2是数据预处理模块对于中文题目处理的流程图。每个知识点下的题库中包含各个题目的编号、标题、类型、题干、分值等信息,首先须从中获取自然语言处理需要的题干文本。由于在线题库中含有选择题、填空题、判断题、简答题等各种各样的题型,因此对于题干文本范围的获取,也可以根据不同题型的特点采取不同选取方法。当然,统一地截取全部题干(例如选择题获取题目和所有选项的文本)也是一种选择。

之后,需要获取的题目文本数据进行清洗、过滤,删除重复的题目数据和有文本缺失的数据。在过滤完成后,如果需要采用后续的监督学习,那么这时候就进入标签化阶段,对每个知识点下的题目打上相应的类别标签。根据题库的数目,可以相应地调整标签的题目数量,保证具有一定规模的有效的训练集即可。

最后是分词阶段,将题干文本分为若干个词汇,并筛除无用的停用词。互联网上有许多开源的中文分词包可供使用,而停用词表也可以使用网上整理的一般词表,当然也可以自己构建或添加。最后供后续使用的,就是各个题目相应的编号、词语集和标签(如果有的话)。

下面介绍同知识点下基于WSD-LDA模型进行题目聚类的流程。

如图3所示,经过预处理后的题目词语集首先通过大规模语料训练完成的word2vec词嵌入模型由文本转化为词向量。考虑到同知识点下题目间的相似度较高,许多与知识点相关的公共词语会影响题目划分的效果,仅仅通过词向量取平均获取句向量的策略是不够精确也不契合实际数据情况的。而这些拉近题目间距离的公共词汇一般在整个知识点下出现频率都较高,因此需要对平均词向量到句向量的方式进行一定的平滑处理。

将词汇w

在获取句向量之后,将题目间的距离视作通过SIF得到的句向量之间的余弦距离,以最小包含点数为1的标准进行基于半径r的DBSCAN密度聚类,根据轮廓系数调整半径r提升聚类效果。得到题目间语义接近的小类。然后对这初步聚类得到的小类进行基于LDA主题模型的二次聚类。

假设WSD模型聚类得到的结果小类i共有m类,每类包含k

随着题库中新题目的加入,需要对WSD-LDA子模块的题目分组结果进行更新时,将新加入的题目与同一知识点下相同语种题目共同作为待分组题目,经题目预处理模块处理后,通过WSD-LDA子模块重新分组,更新分组结果。

下面介绍同知识点下基于独热随机森林模型进行题目分类的流程。

图4体现了独热随机森林模型的训练流程图。首先对每个知识点下题目的词语构建词汇表,然后依据词汇表为每个词进行独热编码。对题目的独热编码为其所含词汇的独热编码向量之和,并进行0-1化处理,将题目向量中所有非0位均置为1,该向量即为题目的独热向量。

举个简单的例子,某知识点下拥有2道题,其中一道题含有的词语为A、B,另一题含有的词语为A、C、A,那么A、B、C三个词对应的独热编码为(1,0,0)、(0,1,0)、(0,0,1),这两道题对应的独热向量为(1,1,0)和(1,0,1)。

在独热编码后,需要对标签化的题目独热向量划分训练集和测试集,划分的方法并不唯一或局限,用划分后的训练集训练随机森林模型,调整参数中树的个数、随机选择的特征数目以及树的深度这几个关键参数来使得模型的精确度更高。训练完成的独热随机森林模型拥有90%以上的准确率,可以对题库剩余题目和以后教师新上传的题进行分类。对于一个新的题目,在经过预处理得到题目词汇后,判断其与知识点当前词汇表的出入。如果有一半以上的词汇均不在该知识点下的词汇表内,那么这样的题极有可能是一种新题型,将其归置在“其他”类并可接受人均调控,待新题型积攒到一定数量后进行新一轮训练更新模型和词汇表。如果该题没有一半以上的词与词汇表有出入,那么根据其在词汇表中的词语按之前流程图的方法转化为独热向量后由已训练完成的随机森林模型确定相应的种类。

在本实施例中,对于WSD-LDA模块或独热随机森林模块得到的题目划分结果,对同知识点下的题目进行分组。将分类或聚类到同一类的题目归为一组,并且按照题目组规模随机地以组内某题或某些题作为结果展示,供学生学习、教师选题或其他用途。同时,用户可以通过点击的方式浏览、使用每个组内所有题目。

下面对采用试题分组系统进行基于WSD-LDA模型的试题分组方法的具体流程进行介绍。

步骤1:获取教学平台后台的题目数据,并以语种和知识点划分题目,每道题目至少包括编号和题干信息;

步骤2:针对同一知识点下的相同语种题目进行预处理,所述预处理包括:

获取同一知识点下相同语种题目的题干文本,并对获取的题干文本数据进行清洗,剔除题干文本重复的题目和题干文本缺失的题目;然后将题干文本分为若干个词汇,筛除停用词,得到各个题目的词汇集,所有题目的词汇集构成该知识点下的当前词汇表;

步骤3:通过词嵌入将每一个题目对应的词汇集中的词汇w

步骤4:采用DBSCAN聚类网络对余弦距离进行以最小包含点数为1的标准进行基于半径r的DBSCAN密度聚类,将题目预分为m个小类,其中第i个小类中包含了k

步骤5:通过拼接层将每个小类包含的k

步骤6:通过LDA聚类网络对m个长度为k

步骤7:随着教学平台题库的更新,当需要对WSD-LDA子模块的题目分组结果进行更新时,将新加入的题目与同一知识点下相同语种题目共同作为待分组题目,重复步骤2-6,获得更新后的分组结果。

下面对采用试题分组系统进行基于独热随机森林模型的试题分组方法的具体流程进行介绍。

步骤1:获取教学平台后台的题目数据,并以语种和知识点划分题目,每道题目至少包括编号和题干信息;

步骤2:针对同一知识点下的相同语种题目进行预处理,所述预处理包括:

获取同一知识点下相同语种题目的题干文本,并对获取的题干文本数据进行清洗,剔除题干文本重复的题目和题干文本缺失的题目;然后将题干文本分为若干个词汇,筛除停用词,得到各个题目的词汇集,所有题目的词汇集构成该知识点下的当前词汇表;

步骤3:根据当前词汇表中的词汇随机筛选出部分待打标签的题目,所筛选的题目至少覆盖80%词汇表,并对筛选出的题目打上相应的标签;

步骤4:通过独热编码层对题目词汇表中每一个词汇进行独热编码,再对题目进行独热编码,所述的对题目进行独热编码为其所含词汇的独热编码向量之和,并进行0-1化处理,将题目向量中所有非0位置为1,得到带标签的题目独热向量和不带标签的题目独热向量;

步骤5:采用带标签的题目独热向量对随机森林网络进行训练,得到训练好的独热随机森林模型;将不带标签的题目独热向量输入到训练好的独热随机森林模型中,得到不带标签的题目的分组结果;

步骤6:随着教学平台题库的更新,获取到新题目,判断新题目词汇与知识点当前词汇表的出入;

若新题目50%及其以上的词汇均不在该知识点下的当前词汇表内,则将新题目视为新题型,将其归置在“其他”类并可接受人工调控,待新题型积攒到一定数量后,将新题型和原有题目共同作为待分组题目,重复步骤2-5,对独热随机森林子模块重新进行训练,获得更新后的独热随机森林模型和更新后的分组结果;

否则,将新题目视为旧题型,根据新题目在当前词汇表中的词汇,得到新题目的独热向量,根据之前训练好的独热随机森林子模块确定新题目的类型。

实施例

表格1给出了上述WSD-LDA模型具体实施流程在PTA平台的后台数据集中的“栈”知识点下短题型的部分输出结果,题型包含选择题、填空题和判断题。

此知识点共有短题型155道,算法将题目分为5大类,算法得到的具体聚类结果如下:

表1 WSD-LDA模型分类结果

同样基于栈的分组考虑,分别以栈的定义、存储、性质、应用、算法和与其他知识点结合等多方面对该知识点下的短题型进行标签化并进行独热随机森林模型的训练,在交叉验证下具有87%的准确率,达到对新上传题目进行分类的准确率需求。

以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号