首页 / 专利库 / 企业组织 / 术语学家 / 基于维基百科与WordNet的论述题自动评卷方法

基于维基百科与WordNet的论述题自动评卷方法

阅读:206发布:2020-05-15

专利汇可以提供基于维基百科与WordNet的论述题自动评卷方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于维基百科与WordNet的论述题自动评卷方法,通过WordNet形成领域学科的初始主干概念空间,并通过维基百科与WordNet扩展形成领域学科的概念空间、术语集与领域概念页面集,然后通过学科的概念空间与概念页面集为领域术语建立起语义描述向量,最终使用术语语义描述为论述题的教师答案文本与学生答卷文本分别建立起相应的文本语义描述向量,并通过计算答案文本与答卷文本语义描述向量的相似度能自动得出论述题评卷的得分,且有利于提高评分的 精度 。,下面是基于维基百科与WordNet的论述题自动评卷方法专利的具体信息内容。

1.一种基于维基百科与WordNet的论述题自动评卷方法,其特征在于包括以下步骤:
(一)语义描述的预处理:
A1.使用维基百科与WordNet相互关联生成论述题所在领域的概念空间Concept_Space与领域概念页面集Page_Set;
A2.在所生成的领域概念空间与领域概念页面集的基础之上,进一步使用维基百科与WordNet生成领域术语同义词组集合;
A3.以论述题的领域概念空间Concept_Space为维度,以领域概念页面集Page_Set中对应的概念页面为语料,计算每一维度上的权重,为每一条术语生成一个对应的术语语义描述向量;
(二)使用语义描述进行评卷:
S1.分别对论述题的答案文本a与答卷文本b进行术语识别;
S2.使用术语语义描述向量,分别为论述题的答案文本a与答卷文本b生成对应的语义描述向量Va和Vb;
S3.计算答案文本a与答卷文本b的语义描述向量Va和Vb的相似度,得出论述题评卷的得分。
2.根据权利要求1所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
所述步骤A1包括以下子步骤:
A1.1在WordNet的“知识分支branch of knowledge”同义词组的is-a分类层次结构中,确定论述题所在领域的学科名称,记作“subject_name”;
A1.2将与subject_name在WordNet中构成“主题词TOPIC TERM”关系的所有目标概念同义词组及其所有下位概念同义词组抽取出来,构成论述题所在领域的初始主干概念空间,记作“initial_trunk_concept_space”;
A1.3将initial_trunk_concept_space中的所有概念依次在维基百科进行检索,将检索不到的概念从initial_trunk_concept_space中去除,形成论述题所在领域的主干概念空间,记作“trunk_concept_space”;
A1.4将trunk_concept_space中的所有概念依次在维基百科进行检索,将所有直接返回的内容文章抽取出来,形成论述题所在领域的概念页面子集1,记作“page_set1”;将所有返回的消岐disambiguation页面抽取出来,形成论述题所在领域的消岐页面集,记作“disambiguation_page_set”;将所有返回的分类category页面抽取出来,形成论述题所在领域的主干分类集,记作“trunk_category_set”;
A1.5将trunk_category_set中的所有分类页面依次在维基百科中进行检索,将所有分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集2,记作“page_set2”;将所有分类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中,将所有分类页面中所包含的子类sub-category抽取出来,形成论述题所在领域的子分类集,记作“sub_category_set”;
A1.6将sub_category_set中的所有子分类页面依次在维基百科中进行检索,将所有子分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集3,记作“page_set3”;将所有子类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中;
A1.7将disambiguation_page_set中的所有消岐页面依次在维基百科中进行检索,将所有消岐页面中与本领域最相关的术语所指向的内容文章抽取出来,形成论述题所在领域的概念页面子集4,记作“page_set4”;所述消岐页面中与本领域最相关的术语是指术语中包含消岐页面标题且术语解释中包含的领域概念个数最多的术语;
A1.8论述题所在领域的领域概念页面集Page_Set等于以下概念页面子集的并集,其计算公式如下:
Page_Set=page_set1 U page_set2 U page_set3 U page_set4  (1)
A1.9论述题所在领域的概念空间Concept_Space等于领域概念页面集Page_Set中所有概念页面的标题集合,其计算公式如下:
Concept_Space={title(p)|p∈Page_Set}  (2)
其中,函数title(p)表示维基百科概念页面集Page_Set中概念页面p的标题。
3.根据权利要求2所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:所述步骤A2具体包括:
将论述题所在领域的所有术语的同义词组集合D_T_Synonyms表示成以下公式:
t
D_T_Synonyms={synonym(c)|c∈Concep_Space U High_Freqs}  (3)
其中,c表示任意一个符合条件的领域术语,High_Freqs表示论述题的领域概念页面集Page_Set中的所有高频词集合,所述高频词是指在领域概念页面集Page_Set中的权重最大值大于一个指定阈值θ的词;c∈Concept_Space∪High_Freqs表示符合条件的术语来自领域概念空间Concept_Space中的概念和页面集Page_Set中高频词集合的并集;函数synonym(c)表示符合条件的术语c的同义词组,其计算公式为:
synonym(c)=WN_Syn(c)U Redirect(c)U Extend(c)  (4)
其中,函数WN_Syn(c)表示术语c在WordNet中的同义词组,函数Redirect(c)表示在维基百科中所有重定向到标题为c的文章页面的术语集,函数Extend(c)表示领域专家在WN_Syn(c)与Redirect(c)基础之上对术语c的同义词的扩展集合。
4.根据权利要求3所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
所述High_Freqs表示为以下公式:
High_Freqs={t|t in Page_set and max_w(t)≥θ}  (5)
其中,t表示领域概念页面集Page_Set中的任意术语,函数max_w(t)表示术语t在领域概念页面集Page_Set中的最大权重,θ表示符合高频词的最大权重的阈值;max_w(t)的计算公式为:
max_w(t)=max{wp(t)|p∈page_set}
(6)
其中,max表示最大值,wp(t)表示术语t在页面p中的权重,其计算公式为:
其中,tf(tp)表示术语t在页面p中出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数。
5.根据权利要求3所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
所述步骤A3具体包括:
将领域术语t的语义描述向量Vt定义成:
Vt={wt(x)|x∈Concept_Space}  (8)
其中,wt(x)表示术语t在概念空间Concept_Space中概念名为x的维度上的权重,该权重等于术语t在页面集Page_Set中标题为x的文章页面内出现的频率乘以术语t在页面集Page_Set中的逆文档频率,其计算公式为:
其中,tf(tx)表示术语t在领域概念页面集Page_Set中标题为x的文章页面内出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数;
反复使用公式(8)和(9),为术语的同义词组集合D_T_Synonyms中的所有术语计算出相应的语义描述向量。
6.根据权利要求5所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
所述步骤S1中,将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b中的领域术语统一记作T_Senk,T_Senk按以下方法进行识别:
S1.1以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用正向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为F_Senk=(p1,p2,p3,..,pn);
S1.2以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用反向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为R_Senk=(q1,q2,q3,..,qn);
S1.3采用以下公式计算对论述题答案或答卷k进行领域术语切分的最终术语序列T_Senk:
T_Senk={ti|i∈[1,n]}  (10)
其中,ti表示T_Senk中的第i个术语项,其计算公式为:
其中,pi为正向最大匹配法得到的术语序列F_Senk中的第i个术语项,qi为反向最大匹配法得到的术语序列R_Senk中的第i个术语项,f(pi)和f(qi)分别表示术语pi和qi在基于维基百科的领域概念页面集Page_Set中出现的频率,具体计算公式为:
其中,d代表公式(9)中的术语pi或qi,且术语d由长度为U的字序列(d1,d2,d2,…,du)组成(U≥1),sum(dj)表示术语d中第j个字在领域概念页面集Page_Set中所有页面内出现的次数之和;
根据领域术语同义词组集D_T_Synonyms,合并论述题答案或答卷k的术语序列T_Senk中的同义词。
7.根据权利要求6所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
所述步骤S2具体包括:
将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b的语义描述向量统一定义成如下的Vk:
Vk={wtk(x)|x∈Concept_Space}  (13)
其中,wtk(x)表示论述题答案或答卷k在概念空间Concept_Space中概念名为x的维度上的权重,该权重的计算方法为:
其中,T_Senk为从论述题答案或答卷k切分出的术语集合,wt(x)表示术语t在其语义描述向量Vt中概念名为x的维度上的权重。
8.根据权利要求7所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb相似度的计算方法为:
其中,wta(c)、wtb(c)分别表示答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb中概念名为c的维度上的权重,按照公式(14)计算。
9.根据权利要求8所述的基于维基百科与WordNet的论述题自动评卷方法,其特征在于:
根据语义描述向量Va和Vb的相似度得出论述题评卷得分Score的方法为:
Score=Weight×sim(Va,Vb)  (16)
其中,Weight为该论述题的分值权重。

说明书全文

基于维基百科与WordNet的论述题自动评卷方法

技术领域

[0001] 本发明涉及教育技术与计算机应用技术领域,具体是基于维基百科与WordNet的论述题自动评卷方法。

背景技术

[0002] 考试试卷中的试题从答案组成的形式上,被普遍分为客观题与主观题两大类。答案以选项编号表示的单选题、多选题、判断题等试题被称为客观题,而答案采用自然语言表示的简答题、名词解释和论述题等试题被称为主观题。由于单选题、多选题、判断题等客观题目的答案都是以选项编号表示,目前计算机对于此类题型进行自动阅卷时,只需将标准答案的选项编号与学生答案的选项编号进行简单的匹配运算,匹配成功则答案正确,该处理技术已经取得较好的成果。但对于答案采用自然语言表示的主观题自动阅卷技术,如:对简答题、名词解释和论述题等自动评卷,由于其受到自然语言理解、模式识别等理论与技术瓶颈影响,效果不是很理想。
[0003] 主观题不同于客观题,不仅需要采用自然语言表示答案,而且具有一定的主观性,允许学生在一定的范围内答题,因此答案往往不是唯一的,而且学生答题的方式会有多种形式。另一方面,教师在批阅试卷的时候,还可能会受到主观因素的影响,以及学生字体是否美观、卷面是否整洁等的影响,使得教师在评分时,出现不合理的加分或扣分现象,有失考试的公正性和公平性。主观题的计算机自动阅卷,既减轻了教师人工阅卷的劳动强度,又减少人为因素的影响,保证了阅卷的客观性、公正性,因此主观题计算机自动阅卷技术的研究,具有重要的意义。然而,由于主观题学生答案的多样性与随意性,目前还没有使用计算机对主观题进行自动阅卷的成熟技术。
[0004] 目前,在各类主观题计算机自动阅卷系统中,普遍采用关键字匹配技术实现简答题与名词解释类的短文本主观题自动阅卷,即在答案中标注出若干关键字或关键词,将其与学生答案进行匹配,并根据匹配成功的多少对学生答案进行评分,由于自然语言的多样性与随意性,这种方法的评分准确率非常低。为提高评卷的准确率,目前出现了少量的基于词语相似度、语法分析与依存关系等语义技术的主观题自动阅卷方法,这类评卷方法虽然可以在评卷过程中融入语义技术,提高评卷的准确率,但大多仍默认学生的答题方式与标准答案都是以完整的单个句子形式给出,并采用统一的基于句子相似度的方法进行评卷,一旦主观题的答案由多个句子组成,这类语义技术的系统的评分效果仍然很差。论述题是一种答案由多个句子、甚至多个段落的长文本所构成的主观题,例如,主观题“试详细说明程序设计的基本过程”的答案就由多个段落的长文本所组成,对于这类长文本的论述题,目前仍然没有理想的方法实现准确地自动评卷。为解决这一难题,本发明提出了一种基于维基百科与WordNet的论述题自动评卷方法。
[0005] 维基百科Wikipedia是一个允许用户自由编辑、全球最大的多语种网络百科全书,自2001年推出后得到了迅猛增长,截止目前,共涵盖299种语言,具有近5000万个页面,其中英文页面超过500万个。且维基百科每月发布两次数据库备份转储(Database backup dumps),为基于维基百科数据资源的研究和应用提供了便利。作为全球最大的多语种网络百科全书,维基百科Wikipedia在自然语言处理领域得到了广泛的应用,其中一个重要的应用就是使用Wikipedia进行词语与文本的语义相似度与相关度计算。基于维基百科的文本相关度计算的重要算法是Gabrilovich等人提出的显性语义分析ESA(Explicit Semantic Analysis),其基本思想是将维基百科的页面视为以人类认知为基础的显性概念,并以维基百科所有页面(概念)作为维度,将文本的意义解释为其所包含词在所有概念页面中的权重向量,从而将计算文本之间的相关性转化为计算相应的概念权重向量之间的夹。研究表明基于维基百科的ESA是目前最好的文本语义相关度方法。此外,维基百科中的文章是按学科进行分类与组织的,因此维基百科是一种天然的学科语料库。因此,以维基百科中的学科文章作为语料,通过ESA方法将主观题自动评卷问题转换为学生答卷文本与答案文本之间的相关度计算,可有效解决长文本的论述题自动评卷问题。但由于Wikipedia的分类图结构是由志愿者而非专家构建的,没有由专家构建的WordNet分类结构可靠,并且语义关系不全面、结构过于松散,无法通过Wikipedia的分类图结构导出某个学科的完整概念结构。为解决这一问题,本发明提出了一种结合WordNet与Wikipedia的学科概念空间与概念页面集的形成方法。
[0006] WordNet是由美国普林斯顿大学的心理学家、语言学家和计算机工程师联合设计的大型认知语言学同义词词典,囊括了名词、动词、形容词、副词共计15万多个英语词条,并被组织成以同义词为ID的分类结构。WordNet词汇丰富、结构严谨、语义关系全面,被广泛应用于自然语言处理的各种任务当中,并被许多国家翻译和本地化,如欧洲研究理事会(ERC)资助开发的多语言百科全书字典BabelNet中包含有271种语言对照的WordNet。在WordNet的“知识分支branch of knowledge”同义词组的is-a分类层次结构中,包含有700多个不同学科种类,并且每个学科通过主题词TOPIC TERM关系,将本学科的重要概念关联在一起,形成本学科的概念图谱,但并没有相关报道将其应用于自动评卷中。

发明内容

[0007] 本发明提供了一种基于维基百科与WordNet的论述题自动评卷方法,通过WordNet形成领域学科的初始主干概念空间,并通过维基百科与WordNet扩展形成领域学科的概念空间、术语集与领域概念页面集,然后通过学科的概念空间与概念页面集为领域术语建立起语义描述向量,最终使用术语语义描述为论述题的教师答案文本与学生答卷文本分别建立起相应的文本语义描述向量,并通过计算答案文本与答卷文本语义描述向量的相似度能自动得出论述题评卷的得分。
[0008] 为实现上述目的,本发明的技术方案为:
[0009] 一种基于维基百科与WordNet的论述题自动评卷方法,包括以下步骤:
[0010] (一)语义描述的预处理:
[0011] A1.使用维基百科与WordNet相互关联生成论述题所在领域的概念空间Concept_Space与领域概念页面集Page_Set;
[0012] A2.在所生成的领域概念空间与领域概念页面集的基础之上,进一步使用维基百科与WordNet生成领域术语同义词组集合;
[0013] A3.以论述题的领域概念空间Concept_Space为维度,以领域概念页面集Page_Set中对应的概念页面为语料,计算每一维度上的权重,为每一条术语生成一个对应的术语语义描述向量;
[0014] (二)使用语义描述进行评卷:
[0015] S1.分别对论述题的答案文本a与答卷文本b进行术语识别;
[0016] S2.使用术语语义描述向量,分别为论述题的答案文本a与答卷文本b生成对应的语义描述向量Va和Vb;
[0017] S3.计算答案文本a与答卷文本b的语义描述向量Va和Vb的相似度,得出论述题评卷的得分。
[0018] 进一步的,所述步骤A1包括以下子步骤:
[0019] A1.1在WordNet的“知识分支branch of knowledge”同义词组的is-a分类层次结构中,确定论述题所在领域的学科名称,记作“subject_name”;
[0020] A1.2将与subject_name在WordNet中构成“主题词TOPIC TERM”关系的所有目标概念同义词组及其所有下位概念同义词组抽取出来,构成论述题所在领域的初始主干概念空间,记作“initial_trunk_concept_space”;
[0021] A1.3将initial_trunk_concept_space中的所有概念依次在维基百科进行检索,将检索不到的概念从initial_trunk_concept_space中去除,形成论述题所在领域的主干概念空间,记作“trunk_concept_space”;
[0022] A1.4将trunk_concept_space中的所有概念依次在维基百科进行检索,将所有直接返回的内容文章抽取出来,形成论述题所在领域的概念页面子集1,记作“page_set1”;将所有返回的消岐disambiguation页面抽取出来,形成论述题所在领域的消岐页面集,记作“disambiguation_page_set”;将所有返回的分类category页面抽取出来,形成论述题所在领域的主干分类集,记作“trunk_category_set”;
[0023] A1.5将trunk_category_set中的所有分类页面依次在维基百科中进行检索,将所有分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集2,记作“page_set2”;将所有分类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中,将所有分类页面中所包含的子类sub-category抽取出来,形成论述题所在领域的子分类集,记作“sub_category_set”;
[0024] A1.6将sub_category_set中的所有子分类页面依次在维基百科中进行检索,将所有子分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集3,记作“page_set3”;将所有子类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中;
[0025] A1.7将disambiguation_page_set中的所有消岐页面依次在维基百科中进行检索,将所有消岐页面中与本领域最相关的术语所指向的内容文章抽取出来,形成论述题所在领域的概念页面子集4,记作“page_set4”;所述消岐页面中与本领域最相关的术语是指术语中包含消岐页面标题且术语解释中包含的领域概念个数最多的术语;
[0026] A1.8论述题所在领域的领域概念页面集Page_Set等于以下概念页面子集的并集,其计算公式如下:
[0027] Page_Set=page_set1U page_set2Upage_set3Upage_set4  (1)
[0028] A1.9论述题所在领域的概念空间Concept_Space等于领域概念页面集Page_Set中所有概念页面的标题集合,其计算公式如下:
[0029] Concept_Space={title(p)|p∈Page_Set}  (2)
[0030] 其中,函数title(p)表示维基百科概念页面集Page_Set中概念页面p的标题。
[0031] 进一步的,所述步骤A2具体包括:
[0032] 将论述题所在领域的所有术语的同义词组集合D_T_Synonyms表示成以下公式:
[0033] D_T_Synonyms={synonym(c)|c∈Concept_Space U High_Freqs}  (3)[0034] 其中,c表示任意一个符合条件的领域术语,High_Freqs表示论述题的领域概念页面集Page_Set中的所有高频词集合,所述高频词是指在领域概念页面集Page_Set中的权重最大值大于一个指定阈值θ的词;c∈Concept_Space∪High_Freqs表示符合条件的术语来自领域概念空间Concept_Space中的概念和页面集Page_Set中高频词集合的并集;函数synonym(c)表示符合条件的术语c的同义词组,其计算公式为:
[0035] synonym(c)=WN_Syn(c)URedirect(c)U Extend(c)  (4)
[0036] 其中,函数WN_Syn(c)表示术语c在WordNet中的同义词组,函数Redirect(c)表示在维基百科中所有重定向到标题为c的文章页面的术语集,函数Extend(c)表示领域专家在WN_Syn(c)与Redirect(c)基础之上对术语c的同义词的扩展集合。
[0037] 优选的,所述High_Freqs表示为以下公式:
[0038] High_Freqs={t|t in Page_set andmax_w(t)≥θ}  (5)
[0039] 其中,t表示领域概念页面集Page_Set中的任意术语,函数max_w(t)表示术语t在领域概念页面集Page_Set中的最大权重,θ表示符合高频词的最大权重的阈值;max_w(t)的计算公式为:
[0040] max_w(t)=max{wp(t)|p∈page_set}
[0041] (6)
[0042] 其中,max表示最大值,wp(t)表示术语t在页面p中的权重,其计算公式为:
[0043]
[0044] 其中,tf(tp)表示术语t在页面p中出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数。
[0045] 进一步的,所述步骤A3具体包括:
[0046] 将领域术语t的语义描述向量Vt定义成:
[0047] Vt={wt(x)|x∈Concept_Space}   (8)
[0048] 其中,wt(x)表示术语t在概念空间Concept_Space中概念名为x的维度上的权重,该权重等于术语t在页面集Page_Set中标题为x的文章页面内出现的频率乘以术语t在页面集Page_Set中的逆文档频率,其计算公式为:
[0049]
[0050] 其中,tf(tx)表示术语t在领域概念页面集Page_Set中标题为x的文章页面内出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数;
[0051] 反复使用公式(8)和(9),为术语的同义词组集合D_T_Synonyms中的所有术语计算出相应的语义描述向量。
[0052] 进一步的,所述步骤S1中,将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b中的领域术语统一记作T_Senk,T_Senk按以下方法进行识别:
[0053] S1.1以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用正向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为F_Senk=(p1,p2,p3,..,pn);所述正向最大匹配法是指将当前匹配指针s指向论述题的答案或答卷k的开始位置向右进行匹配,每次从D_T_Synonyms中匹配一个以s指向的字开头向右的最大术语;如果匹配成功,则在k中的当前匹配位置处标注一个被匹配的术语,并将s在k中按匹配术语的长度向右后移,然后继续匹配,直到k的末尾;如果匹配不成功,则s在k中向右后移一个字,然后继续匹配,直到k的末尾;
[0054] S1.2以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用反向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为R_Senk=(q1,q2,q3,..,qn);所述反向最大匹配法是指将当前匹配指针s指向论述题的答案或答卷k的结束位置向左进行匹配,每次从D_T_Synonyms中匹配一个以s指向的字开头向左的最大术语;如果匹配成功,则在k中的当前匹配位置处标注一个被匹配的术语,并将s在k中按匹配术语的长度向左前移,然后继续匹配,直到k的开始位置;如果匹配不成功,则s在k中向左前移一个字,然后继续匹配,直到k的开始位置;
[0055] S1.3采用以下公式计算对论述题答案或答卷k进行领域术语切分的最终术语序列T_Senk:
[0056] T_Senk={ti|i∈[1,n]}  (10)
[0057] 其中,ti表示T_Senk中的第i个术语项,其计算公式为:
[0058]
[0059] 其中,pi为正向最大匹配法得到的术语序列F_Senk中的第i个术语项,qi为反向最大匹配法得到的术语序列R_Senk中的第i个术语项,f(pi)和f(qi)分别表示术语pi和qi在基于维基百科的领域概念页面集Page_Set中出现的频率,具体计算公式为:
[0060]
[0061] 其中,d代表公式(9)中的术语pi或qi,且术语d由长度为U的字序列(d1,d2,d2,…,du)组成(U≥1),sum(dj)表示术语d中第j个字在领域概念页面集Page_Set中所有页面内出现的次数之和;
[0062] 根据领域术语同义词组集D_T_Synonyms,合并论述题答案或答卷k的术语序列T_Senk中的同义词。
[0063] 进一步的,所述步骤S2具体包括:
[0064] 将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b的语义描述向量统一定义成如下的Vk:
[0065] Vk={wtk(x)|x∈Concept_Space}  (13)
[0066] 其中,wtk(x)表示论述题答案或答卷k在概念空间Concept_Space中概念名为x的维度上的权重,该权重的计算方法为:
[0067]
[0068] 其中,T_Senk为从论述题答案或答卷k切分出的术语集合,wt(x)表示术语t在其语义描述向量Vt中概念名为x的维度上的权重,其计算方法为公式(9)。
[0069] 进一步的,答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb相似度的计算方法为:
[0070]
[0071] 其中,wta(c)、wtb(c)分别表示答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb中概念名为c的维度上的权重,按照公式(14)计算。
[0072] 进一步的,根据语义描述向量Va和Vb的相似度得出论述题评卷得分Score的方法为:
[0073] Score=Weight×sim(Va,Vb)  (16)
[0074] 其中,Weight为该论述题的分值权重。
[0075] 本发明通过维基百科与WordNet形成主观题领域学科的概念空间、术语集与领域概念页面集,然后通过学科的概念空间与概念页面集为论述题的教师答案文本与学生答卷文本分别建立起相应的文本语义描述向量,并通过计算答案文本与答卷文本语义描述向量的相似度得出论述题评卷的得分。本发明具有以下优点:
[0076] (1)本发明的方法是跨语言的。维基百科Wikipedia是全球最大的多语种网络百科全书,共涵盖了299种语言的近5000万个页面;而WordNet自推出以来已被许多国家翻译和本地化,如欧洲研究理事会(ERC)资助开发的多语言百科全书字典BabelNet中包含有271种语言对照的WordNet,因此本发明的方法可实现各种语言的主观题自动评卷。
[0077] (2)本发明方法的通用性好、自动化程度高。本发明方法可针对各种学科的主观题进行自动评卷,且可直接利用维基百科中的页面作为学科语料,无需额外收集学科语料。
[0078] (3)本发明方法的评分精度高。本发明使用了同义词合并、高频词术语等多种语义技术,以及使用了TF*IDF权重技术建立语义描述向量,并通过文本语义描述向量的相似度进行评分,极大地提高了主观题的评分精度。附图说明
[0079] 图1是本发明方法的示意图。
[0080] 图2是在WordNet的分类结构中找到“知识分支branch of knowledge”结点的示意图。
[0081] 图3是WordNet中“计算机科学computer science”与“知识分支branch of knowledge”关系的示意图。
[0082] 图4是WordNet中与“计算机科学computer science”具有“主题词TOPIC TERM”关系的部分概念示意图。
[0083] 图5是维基百科中消岐页面“可移植性portability”的消岐选择示意图。

具体实施方式

[0084] 以下结合具体实施例对本发明作进一步说明,但本发明的保护范围不限于以下实施例。
[0085] 一种基于维基百科与WordNet的论述题自动评卷方法,如图1所示,包括以下步骤:
[0086] (一)语义描述的预处理:
[0087] A1.使用维基百科与WordNet相互关联生成论述题所在领域的概念空间Concept_Space与领域概念页面集Page_Set;
[0088] A2.在所生成的领域概念空间与领域概念页面集的基础之上,进一步使用维基百科与WordNet生成领域术语同义词组集合;
[0089] A3.以论述题的领域概念空间Concept_Space为维度,以领域概念页面集Page_Set中对应的概念页面为语料,计算每一维度上的权重,为每一条术语生成一个对应的术语语义描述向量;
[0090] (二)使用语义描述进行评卷:
[0091] S1.分别对论述题的答案文本a与答卷文本b进行术语识别;
[0092] S2.使用术语语义描述向量,分别为论述题的答案文本a与答卷文本b生成对应的语义描述向量Va和Vb;
[0093] S3.计算答案文本a与答卷文本b的语义描述向量Va和Vb的相似度,得出论述题评卷的得分。
[0094] 进一步的,所述步骤A1包括以下子步骤:
[0095] A1.1在WordNet的“知识分支branch of knowledge”同义词组的is-a分类层次结构中,确定论述题所在领域的学科名称,记作“subject_name”,例如对于计算机类的论述题而言,其在branch of knowledge的is-a分类结构中的学科名称subject_name为计算机科学computer science;
[0096] A1.2将与subject_name在WordNet中构成“主题词TOPIC TERM”关系的所有目标概念同义词组及其所有下位概念同义词组抽取出来,构成论述题所在领域的初始主干概念空间,记作“initial_trunk_concept_space”;
[0097] A1.3将initial_trunk_concept_space中的所有概念依次在维基百科进行检索,将检索不到的概念从initial_trunk_concept_space中去除,形成论述题所在领域的主干概念空间,记作“trunk_concept_space”;
[0098] A1.4将trunk_concept_space中的所有概念依次在维基百科进行检索,将所有直接返回的内容文章抽取出来,形成论述题所在领域的概念页面子集1,记作“page_set1”;将所有返回的消岐disambiguation页面抽取出来,形成论述题所在领域的消岐页面集,记作“disambiguation_page_set”;将所有返回的分类category页面抽取出来,形成论述题所在领域的主干分类集,记作“trunk_category_set”;
[0099] A1.5将trunk_category_set中的所有分类页面依次在维基百科中进行检索,将所有分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集2,记作“page_set2”;将所有分类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中,将所有分类页面中所包含的子类sub-category抽取出来,形成论述题所在领域的子分类集,记作“sub_category_set”;
[0100] A1.6将sub_category_set中的所有子分类页面依次在维基百科中进行检索,将所有子分类页面中所包含的内容文章抽取出来,形成论述题所在领域的概念页面子集3,记作“page_set3”;将所有子类页面中所包含的消岐页面抽取出来,放入消岐页面集disambiguation_page_set中;
[0101] A1.7将disambiguation_page_set中的所有消岐页面依次在维基百科中进行检索,将所有消岐页面中与本领域最相关的术语所指向的内容文章抽取出来,形成论述题所在领域的概念页面子集4,记作“page_set4”;所谓消岐页面中与本领域最相关的术语是指术语中包含消岐页面标题且术语解释中包含的领域概念个数最多的术语;
[0102] A1.8论述题所在领域的领域概念页面集Page_Set等于以下概念页面子集的并集,其计算公式如下:
[0103] Page_Set=page_set1U page_set2Upage_set3Upage_set4  (1)
[0104] A1.9论述题所在领域的概念空间Concept_Space等于领域概念页面集Page_Set中所有概念页面的标题集合,其计算公式如下:
[0105] Concept_Space={title(p)|p∈Page_Set}  (2)
[0106] 其中,函数title(p)表示维基百科概念页面集Page_Set中概念页面p的标题。
[0107] 进一步的,所述步骤A2具体包括:
[0108] 将论述题所在领域的所有术语的同义词组集合D_T_Synonyms表示成以下公式:
[0109] D_T_Synonyms={synonym(c)|c∈Concept_Space U High_Freqs}  (3)[0110] 其中,c表示任意一个符合条件的领域术语,High_Freqs表示论述题的领域概念页面集Page_Set中的所有高频词集合,所述高频词是指在领域概念页面集Page_Set中的权重最大值大于一个指定阈值θ的词;c∈Concept_Space∪High_Freqs表示符合条件的术语来自领域概念空间Concept_Space中的概念和页面集Page_Set中高频词集合的并集;函数synonym(c)表示符合条件的术语c的同义词组,其计算公式为:
[0111] synonym(c)=WN_Syn(c)URedirect(c)U Extend(c)  (4)
[0112] 其中,函数WN_Syn(c)表示术语c在WordNet中的同义词组,函数Redirect(c)表示在维基百科中所有重定向到标题为c的文章页面的术语集,函数Extend(c)表示领域专家在WN_Syn(c)与Redirect(c)基础之上对术语c的同义词的扩展集合。
[0113] 优选的,所述High_Freqs表示为以下公式:
[0114] High_Freqs={t|t in Page_set andmax_w(t)≥θ}  (5)
[0115] 其中,t表示领域概念页面集Page_Set中的任意术语,函数max_w(t)表示术语t在领域概念页面集Page_Set中的最大权重,θ表示符合高频词的最大权重的阈值,该阈值可以通过语料训练得到;max_w(t)的计算公式为:
[0116] max_w(t)=max{wp(t)|p∈page_set}  (6)
[0117] 其中,max表示最大值,wp(t)表示术语t在页面p中的权重,其计算公式为:
[0118]
[0119] 其中,tf(tp)表示术语t在页面p中出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数。
[0120] 进一步的,步骤A3具体包括:
[0121] 将领域术语t的语义描述向量Vt定义成:
[0122] Vt={wt(x)|x∈Concept_Space}  (8)
[0123] 其中,wt(x)表示术语t在概念空间Concept_Space中概念名为x的维度上的权重,该权重等于术语t在页面集Page_Set中标题为x的文章页面内出现的频率乘以术语t在页面集Page_Set中的逆文档频率,其计算公式为:
[0124]
[0125] 其中,tf(tx)表示术语t在领域概念页面集Page_Set中标题为x的文章页面内出现的次数,L为领域概念页面集Page_Set的页面总数,T为在Page_Set中出现术语t的页面数;
[0126] 反复使用公式(8)和(9),为术语的同义词组集合D_T_Synonyms中的所有术语计算出相应的语义描述向量。
[0127] 进一步的,步骤S1中,将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b中的领域术语统一记作T_Senk,T_Senk按以下方法进行识别:
[0128] S1.1以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用正向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为F_Senk=(p1,p2,p3,..,pn);正向最大匹配法是指将当前匹配指针s指向论述题的答案或答卷k的开始位置向右进行匹配,每次从D_T_Synonyms中匹配一个以s指向的字开头向右的最大术语;如果匹配成功,则在k中的当前匹配位置处标注一个被匹配的术语,并将s在k中按匹配术语的长度向右后移,然后继续匹配,直到k的末尾;如果匹配不成功,则s在k中向右后移一个字,然后继续匹配,直到k的末尾;
[0129] S1.2以基于维基百科与WordNet的领域术语同义词组集D_T_Synonyms作为词典,采用反向最大匹配法分别对论述题答案或答卷k进行领域术语切分,得到术语序列为R_Senk=(q1,q2,q3,..,qn);反向最大匹配法是指将当前匹配指针s指向论述题的答案或答卷k的结束位置向左进行匹配,每次从D_T_Synonyms中匹配一个以s指向的字开头向左的最大术语;如果匹配成功,则在k中的当前匹配位置处标注一个被匹配的术语,并将s在k中按匹配术语的长度向左前移,然后继续匹配,直到k的开始位置;如果匹配不成功,则s在k中向左前移一个字,然后继续匹配,直到k的开始位置;
[0130] S1.3采用以下公式计算对论述题答案或答卷k进行领域术语切分的最终术语序列T_Senk:
[0131] T_Senk={ti|i∈[1,n]}  (10)
[0132] 其中,ti表示T_Senk中的第i个术语项,其计算公式为:
[0133]
[0134] 其中,pi为正向最大匹配法得到的术语序列F_Senk中的第i个术语项,qi为反向最大匹配法得到的术语序列R_Senk中的第i个术语项,f(pi)和f(qi)分别表示术语pi和qi在基于维基百科的领域概念页面集Page_Set中出现的频率,具体计算公式为:
[0135]
[0136] 其中,d代表公式(9)中的术语pi或qi,且术语d由长度为U的字序列(d1,d2,d2,…,du)组成(U≥1),sum(dj)表示术语d中第j个字在领域概念页面集Page_Set中所有页面内出现的次数之和;
[0137] 根据领域术语同义词组集D_T_Synonyms,合并论述题答案或答卷k的术语序列T_Senk中的同义词。
[0138] 进一步的,所述步骤S2具体包括:
[0139] 将论述题答案a或答卷b统一记作k,并将论述题答案a或答卷b的语义描述向量统一定义成如下的Vk:
[0140] Vk={wtk(x)|x∈Concept_Space}  (13)
[0141] 其中,wtk(x)表示论述题答案或答卷k在概念空间Concept_Space中概念名为x[0142] 的维度上的权重,该权重的计算方法为:
[0143]
[0144] 其中,T_Senk为从论述题答案或答卷k切分出的术语集合,wt(x)表示术语t在其语义描述向量Vt中概念名为x的维度上的权重,其计算方法为公式(9)。
[0145] 进一步的,答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb相似度的计算方法为:
[0146]
[0147] 其中,wta(c)、wtb(c)分别表示答案文本a的语义描述向量Va与答卷文本b的语义描述向量Vb中概念名为c的维度上的权重,按照公式(14)计算。
[0148] 进一步的,根据语义描述向量Va和Vb的相似度得出论述题评卷得分Score的方法为:
[0149] Score=Weight×sim(Va,Vb)  (16)
[0150] 其中,Weight为该论述题的分值权重。
[0151] 本实施例使用2017年8月1日发布的英语维基百科版本进行实验对比,该版本包含34GB的文本,其中包含5,465,086篇页面文章和1,620,632个类别。语义词典使用美国普林斯顿大学的WordNet3.0,该词典的数据如表1所示。
[0152] 表1关于WordNet 3.0的数据统计表
[0153]
[0154] 本实施例使用由DKPro社区提供的JWPL(Java Wikipedia Library)工具来解析Wikipedia下载数据库。JWPL运行在从维基百科下载数据库创建的优化数据库上,可快速访问维基百科的页面文章、类别、链接、重定向等。在WordNet3.0查询方面,本实施例使用由麻省理工学院计算机科学与人工智能实验室提供的JWI(Java WordNet Interface)接口。本实施例以英语为实例语言,以计算机科学(computer science)为领域,以《计算机网络》为课程实例,验证本发明提出的基于维基百科与WordNet的论述题自动评卷方法。具体实验过程为:
[0155] (1)在WordNet的分类结构中找到“知识分支branch of knowledge”结点,如图2所示。
[0156] (2)在WordNet中确定“计算机科学computer science”与“知识分支branch of knowledge”的关系,如图3所示。
[0157] (3)在WordNet中确定与“计算机科学computer science”具有“主题词TOPIC TERM”关系的所有概念及其下位词,如图4所示,最终获得770个“计算机科学computer science”领域的初始主干概念空间。
[0158] (4)采用本发明提出的方法,将在WordNet中确定的领域初始主干概念空间映射到维基百科中,获得了4637个领域概念页面集,将其中的每一个领域概念页面作为一个维度,从而形成一个4637维的“计算机科学computer science”的概念向量空间,并以该向量空间作为描述领域术语的语义描述向量。其中图5为一个消岐选择实例。
[0159] (5)采用本发明提出的方法,在从维基百科中所获得的4637个领域概念页面中,提取出30089个领域术语,并使用本发明提出的方法为每一个术语生成一个语义描述向量。
[0160] (6)在《计算机网络》课程中选取30个具有代表性的论述题及其答案(答案平均长度为47个句子,423个单词),同量为每个论述题抽取4个不同分值的学生答卷,形成一个由120份答卷组成的评测语料。
[0161] (7)将本发明提出的评卷方法与其他评卷方法在所形成的评测语料上进行对比。本实施例采用的其他评卷方法包括2种:[1]张立岩,张世民.基于语义相似度的主观题评分算法研究[J].河北科技大学学报,2012,33(3):263-265;[2]仲艳婷.基于本体的主观题自动阅卷技术的研究[D].东南大学,2011。
[0162] 本实施例主要采用偏差率和皮尔森相关系数衡量本文提出的方法的好与坏。Pearson相关系数计算公式为:
[0163]
[0164] 其中,其中xi是第i个试卷对应的人工评分,yi是第i个试卷的自动评分,n是试卷总数,是指人工评分的平均分,是指自动评分的平均分。r值表示两组值的相关程度,越大,则越相关;反之,越小,则越不相关。
[0165] 计算偏差率的公式为:
[0166]
[0167] 对比结果如表2所示。
[0168] 表2平均偏差率和Pearson相关系数值对比
[0169]计算方法 平均偏差率 Pearson(r)
基于语义的句子相似度[1] 28.4% 68.36%
基于依存关系链的句子相似度[2] 21.0% 74.73%
本发明方法 15.3% 80.46%
[0170] 对比以上实验数据可以发现:本发明提出的基于维基百科与WordNet的论述题自动评卷方法与人工判定值之间具有较低的平均偏差率和较高的皮尔森相关系数,说明该方法计算的论述题答案相似度比较准确。研究表明,虽然基于语义的句子相似度和基于依存关系链的句子相似度的主观题评卷方法,在以单一句子结构为主体的概念解释和简答类主观题中可以获得较好的评分效果,但在由众多句子组成的文章类的论述题自动评卷中却表现不好,而本发明方法正好可以克服它们这个弱点。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈