CN112906400A - 一种基于领域本体和语义依存树的主观题自动评分方法 - Google Patents
一种基于领域本体和语义依存树的主观题自动评分方法 Download PDFInfo
- Publication number
- CN112906400A CN112906400A CN202110209462.4A CN202110209462A CN112906400A CN 112906400 A CN112906400 A CN 112906400A CN 202110209462 A CN202110209462 A CN 202110209462A CN 112906400 A CN112906400 A CN 112906400A
- Authority
- CN
- China
- Prior art keywords
- semantic
- similarity
- dependency tree
- matrix
- semantic dependency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于领域本体和语义依存树的主观题自动评分方法,步骤1,输入学生答案和参考答案;步骤2,进行文本预处理,依次形成参考答案分句集合、学生答案分句集合、参考答案分词集合、学生答案分词集合、参考答案词性对集合和学生答案词性对集合;步骤3,使用语义依存分析工具将集合PA和集合QA转化为语义依存树集合PAT和QAT;步骤4,对语义依存树集合PAT和QAT的每一个语义依存树进行减枝操作形成新的语义依存树集合PBT和QBT;步骤5,将语义依存树集合PBT和QBT的每一个语义依存树转化为文本表示为集合PW和QW;步骤6,计算集合PW和QW的相似度;步骤7:学生答案得分。本发明既能够计算专业术语的语义相似度,同时又能够计算句法不同但语义相同的句子相似度,进而更适用于专业领域。
Description
技术领域
本发明涉及教学和考试环节的自动评分,尤其涉及一种基于领域本体和语义依存树的主观题自动评分方法。
背景技术
现阶段的主观题自动评分方法分为两类:基于领域本体和依存句法分析的主观题自动评分方法和基于同义词词林和语义依存树的主观题自动评分方法。
基于领域本体和依存句法分析的主观题自动评分方法分为三个子方法:基于同义词词林的通用词语语义相似度计算方法、基于领域本体的专业术语语义相似度计算方法和基于依存句法分析的句子相似度计算方法。由于同义词词林大多只涉及非专业性的词汇,并没有囊括所有专业的术语,因此,同义词词林不能准确地计算专业术语的语义相似度。领域本体是专业性的本体,领域本体可以计算专业术语的语义相似度,但不能准确地计算通用词语的语义相似度。基于依存句法分析的句子相似度计算方法是指利用依存句法分析工具对句子进行语法解析,然后去计算句子之间的句法相似度。依存句法分析工具能够解析句子中各个词语之间的依存句法关系。然而,当两个句子在句法上不同而在语义上相同时,基于依存句法的方法无法准确地计算此类句子的语义相似度。
基于同义词词林和语义依存树的主观题自动评分方法分为两个子方法:基于同义词词林的通用词语语义相似度计算方法和基于语义依存树的句子语义相似度计算方法。
现有主观题自动评分技术的缺点如下:(1)基于领域本体和依存句法分析的主观题自动评分方法不能够准确地计算句法不同但语义相同的句子语义相似度。(2)基于同义词词林和语义依存树的主观题自动评分方法无法识别专业术语,进而无法准确地计算专业术语的语义相似度计算。(3)基于同义词词林和语义依存树的主观题自动评分方法所采用的语义依存树减枝算法过于简单,容易剪掉专业术语。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于领域本体和语义依存树的主观题自动评分方法。
本发明采用的技术方案是:
一种基于领域本体和语义依存树的主观题自动评分方法,包括以下步骤:
步骤1,输入学生答案和参考答案;
步骤2,使用自然语言处理工具分别对参考答案和学生答案进行文本预处理,依次形成参考答案分句集合P={p1,p2,……,pm}、学生答案分句集合Q={q1,q2,……,qn}、参考答案分词集合PA={pa1,pa2,……,pam}、学生答案分词集合QA={qa1,qa2,……,qan}、参考答案词性对集合PB={pb1,pb2,……,pbm}和学生答案词性对集合QB={qb1,qb2,……,qbn};
步骤3,使用语义依存分析工具将集合PA和集合QA转化为语义依存树集合PAT={pat1,pat2,……,patm},和QAT={qat1,qat2,……,qatn},集合中每个元素都是单个句子一一对应的语义依存树;
步骤4,根据语义依存树减枝算法,对语义依存树集合PAT和QAT的每一个语义依存树进行减枝操作,进而形成新的语义依存树集合PBT={pbt1,pbt2,……,pbtm}和QBT={qbt1,qbt2,……,qbtn};
步骤5,将语义依存树集合PBT和QBT的每一个语义依存树转化为文本表示,进而形成文本表示集合PW={pw1,pw2,……,pwm}和QW={qw1,qw2,……,qwn};
步骤6,计算文本相似度,即计算集合PW和QW的相似度;
步骤7:学生答案得分。
进一步,步骤2分为三个步骤:
步骤2-1,使用中文分句工具分别对参考答案和学生答案进行分句,形成集合P={p1,p2,……,pm}和集合Q={q1,q2,……,qn}。其中,集合P包含m个句子,集合Q包含n个句子。
步骤2-2,首先将领域本体转化为词汇表,其次,将词汇表加入中文分词工具的词典库,最后,使用中文分词工具分别对集合P和Q中的每一个句子进行分词,分别形成分词集合PA={pa1,pa2,……,pam},QA={qa1,qa2,……,qan},PA和QA中的每个元素都表示若干个词语的集合;
步骤2-3,使用词性标注工具分别为集合PA和集合QA中的每一个词语分配一个词性类别,然后,将词语和对应的词性类别组成一个词性对,进而分别形成词性对集合PB={pb1,pb2,……,pbm}和学生答案词性对集合QB={qb1,qb2,……,qbn}。PB和QB中的每个元素都表示若干个词性对集合。
进一步,步骤4分为三个步骤:
步骤4-1,利用领域本体判断PAT和QAT的每一个语义依存树叶子节点是否为专业术语,当是,则保留该叶子节点;
步骤4-2,利用停用词表判断叶子节点是否为停用词,当是,则剪掉该叶子节点;
步骤4-3,利用集合PB和QB判断叶子节点是否为名词,当不是,则剪掉该叶子节点;
完成步骤4-1、4-2和4-3后,PAT和QAT分别形成新的语义依存树集合PBT={pbt1,pbt2,……,pbtm}和QBT={qbt1,qbt2,……,qbtn}。
进一步,步骤6分成四个步骤:
步骤6-1,两个专业术语Ci和Cj的语义相似度分为两个步骤计算:
步骤6-1-1,当两个专业术语Ci和Cj是同义词,则他们的语义相似度Simh(Ci,Cj)为1。
步骤6-1-2,当两个专业术语Ci和Cj是上下位关系,则他们的语义相似度计算公式如下:
式中,Simh(Ci,Cj)表示两个术语Ci和Cj之间的语义相似度;dl(Ci)和dl(Cj)表示两个词语在本体树中的层次;D(Ci,Cj)表示两个词语在本体树中的最短距离;Maxdl表示本体树的最大深度;a是调节参数,一般大于零。
步骤6-2,两个通用词语Ci和Cj的语义相似度Sim(Ci,Cj)的计算可以通过调用现有的开源工具包完成。
步骤6-3,句子的语义相似度计算分为四个步骤:
步骤6-3-1,分别从集合PW和QW从中取出一个文本表示,得到文本表示pw1={[l1,m1,n1],[l,m2,n2],…,[lm,mm,nm]},文本表示qw1={[x1,y1,z1],[x2,y2,z2],…,[xn,yn,zn]}。本方法首先对两个文本表示进行笛卡尔乘积操作,最后将其转化为一个m行n列二维矩阵C。
步骤6-3-2,三元组对([li,mi,ni],[xj,yj,zj])的相似度计算公式如下:
式(2)中,Stij表示三元组对([li,mi,ni],[xj,yj,zj])的相似度,即三元组[li,mi,ni]和另一个三元组[xj,yj,zj]的语义相似度;μ(ni,zj)表示语义依存关系ni和语义依存关系zj的相似度,当两个依存关系相同的,则取为1,否则为0;Simt(li,xj)表示[li,mi,ni]的父节点词语li和[xj,yj,zj]的父节点词语xj之间的语义相似度,Simt(li,yj),Simt(mi,xj)和Simt(mi,yj)也是和前者类似含义,这些词语相似度由式(3)求得。
式(3)中,Simt(Ci,Cj)表示词语的语义相似度;数字1表示两个词语Ci和Cj是专业术语;Simh(Ci,Cj)表示专业术语的语义相似度;数字2表示两个词语Ci和Cj是通用词语;Sim(Ci,Cj)表示通用词语的语义相似度;数字3表示两个词语Ci和Cj中,有一个是专业术语,另一个是通用词语;通用词语和专业术语是不相关的,所以其相似度为0。
步骤6-3-3,遍历矩阵C,用公式(2)和(3)计算矩阵C中的每一个三元组对的语义相似度,所得结果如下矩阵D,矩阵中每一个元素表示三元组对的相似度。
步骤6-3-4,遍历矩阵D,选取矩阵D的每行最大值,然后组成一个最大值集合,SDmax={Stmax1,Stmax2,…,Stmaxm},其中,Stmaxm表示矩阵D中第m行的最大值。具体的句子语义相似度计算公式为
步骤6-4,计算全文相似度,即计算PW和QW的相似度,将PW和QW组成一个m行n列矩阵E。矩阵E中每个元素为文本表示搭配对。运用公式(4)计算矩阵E中每个文本表示搭配对的语义相似度,其结果为矩阵F。
遍历矩阵F,取出矩阵F的每行最大值。最大值集合为SF={SEmax1,SEmax2,…,SEmaxm}。
其中,SEmaxm表示矩阵F中第m行最大值。全文相似度计算公式如下:
本发明采用以上技术方案,将领域本体和语义依存树结合一起,使用新的语义依存树减枝模型摒弃那些不必要的概念或超出领域范畴的概念,进而形成一个适用于专业领域的主观题自动评分方法,以期提高主观题自动评分的准确率。第一,该方法不仅能够更加准确地计算专业术语的语义相似度而且能够较准确地计算句子的语义相似度。第二,该方法改进了语义依存树减枝算法。在对语义依存树进行减枝的过程中,该方法能够避免剪掉重要的专业术语。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1是学生答案文本的语义依存树;
图2是主观题自动评分方法流程图;
图3是文本处理流程图;
图4语义依存树减枝流程图;
图5减枝后的语义依存树;
图6文本相似度计算流程图;
图7部分领域本体示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
语义依存分析是指从句子的核心语义出发,找到能代表句子的核心语义的词,然后对这个词分别从语义周边角色、语义结构关系、语义依附标记三个方面的关系进行扩展,形成完整的语义。这三个方面关系的说明如表1所示。
表1语义依存关系说明
基于语义依存分析的句子语义相似度计算方法可以克服基于依存句法分析的句子相似度计算方法的缺点。并且,该方法能够句子的语义相似度。基于语义依存分析的句子语义相似度方法分为三个步骤:第一,该方法通过语义依存分析工具分别将两个句子解析为两个语义树。第二,该方法运用语义依存树减枝算法对语义树进行剪枝,将剪枝后的语义树转化为两个依存关系词对的集合。第三,该方法按照算法去计算两个依存关系词对集合的相似度。该集合的相似度就是句子的语义相似度。但是,该方法是将语义依存树的第二层以下所有节点全部剪掉。在专业领域里,该算法容易剪掉专业术语。如图1所示,第4层、第5层、第6层和第7层都存在专业术语,当把航空、水运、道路和轨道运输这些专业术语剪掉,则会影响自动评分的准确率。
如图2至图7所示,本发明公开了基于领域本体和语义依存树的主观题自动评分方法以下步骤:
步骤1,输入学生答案和参考答案;
在计算学生答案之前,需要输入学生答案文本和参考答案文本。答案文本示例如下:
参考答案:“交通运输系统是由公路运输、铁路运输、水路运输、航空运输、管道运输构成的一个复杂系统。”
学生答案:“交通运输系统是由道路、轨道运输、水运、航空组成的系统。”
上述实施例中,“交通运输系统”、“公路运输”、“道路”、“铁路运输”、“轨道运输”、“水路运输”、“水运”、“航空”、“航空运输”、“管道运输”均为交通运输专业术语。“是”、“系统”、“一个”、“复杂”、“的”、“构成”、“组成”都是非专业术语,即通用词语。
步骤2,文本预处理;
文本预处理流程如图3所示,包括三个步骤:
步骤2-1,中文分句;
该步骤的主要任务是以某些特定符号作为分割标志将答案文本分成若干子句,通常将句号、感叹号、问号、分号等作为分割标志符。分句的目的是为了更好地计算步骤6-4中的全文相似度,每个子句都代表了一部分相对完整的文本信息,对各个子句处理之后即可实现对答案文本整体含义的掌握。哈工大LTP具有中文分句的功能,可以将一个由多个句子组成的全文切割成一系列独立的句子集合。使用哈工大LTP工具分别对参考答案和学生答案进行分句,形成集合P={p1,p2,……,pm}和集合Q={q1,q2,……,qn}。其中,集合P包含m个句子,集合Q包含n个句子。
实施例中,参考答案和学生答案各只有一个句子,已经不可再分,即参考答案的分句集合P={p1},学生答案的分句集合Q={q1}。
步骤2-2,中文分词;
该步骤的主要任务是将句子切割成若干个词语。分词的目的是为了计算词语的语义相似度以及解析词语之间的语义关系。哈工大LTP工具具有分词的功能,可以将句子切割成一系列的词语,但是,哈工大LTP工具并不能完整地将专业术语从句子切分出来。例如,专业术语“交通运输系统”会被切分为三个词语:“交通”、“运输”、“系统”,该切分操作是不正确的。
为了解决这个问题,本方法利用领域本体去辅助哈工大LTP工具识别专业术语,并准确地将专业术语完整地切分出来。具体的做法是首先将领域本体转化为词汇表,最后,将词汇表加入哈工大LTP词典库。
利用哈工大LTP对集合P和Q进行分词,形成参考答案的分词集合PA={pa1,pa2,……,pam},学生答案的分词集合QA={qa1,qa2,……,qan},PA和QA中的每个元素都表示若干个词语的集合。
实施例中,学生答案文本经过分词后,学生答案的词语集合为:
qa1={'交通运输系统','是','由','道路','、','轨道运输','、','水运','、','航空','组成','的','系统','。'}。
步骤2-3,词性标注;
词性标注的主要任务是给句子中每个词语分配一个词性类别。这里的词性类别可能是名词、动词、形容词或其他。具体的做法是使用哈工大LTP工具分别为集合PA和集合QA中的每一个词语分配一个词性类别,然后,将词语和对应的词性类别组成一个词性对,进而分别形成词性对集合PB={pb1,pb2,……,pbm}和学生答案词性对集合QB={qb1,qb2,……,qbn},PB和QB中的每个元素都表示对应于单个句子的若干个词性对集合。
实施例中,学生答案的词性对集合为:
qb1={['交通运输系统','n'],['是','v'],['由','p'],['道路','n'],['、','wp'],['轨道运输','n'],['、','wp'],['水运','n'],['、','wp'],['航空','n'],['组成','v'],['的','u'],['系统','n'],['。','wp']}。其中,词性对['交通运输系统','n']中的符号'n'表示专业术语'交通运输系统'是一个名词。
步骤3,语义依存树生成;
使用哈工大LTP工具将集合PA和集合QA转化为语义依存树集合PAT={pat1,pat2,……,patm}和QAT={qat1,qat2,……,qatn},集合中每个元素都是一个对应于单个句子的语义依存树。
实施例中,将qa1={'交通运输系统','是','由','道路','、','轨道运输','、','水运','、','航空','组成','的','系统','。'}转化为一个语义依存树qat1。学生答案的语义依存树如图1所示。
步骤4,语义依存树减枝;
本方法语义依存树减枝算法的对象是叶子节点,因为叶子节点一般不含重要的信息。如图4所示的是语义依存树减枝算法流程图,包括三个步骤:
步骤4-1,保留专业术语。利用领域本体判断叶子节点是否专业术语,当是专业术语,则保留。例如,图1所示的第二层叶子节点“交通运输系统”是专业术语,必须要保留。
步骤4-2,去除停用词。保留专业术语后,对剩下的叶子节点做进一步的裁剪。因为计算句子语义相似度时,停用词会引入噪声,造成计算偏差,所以要去掉停用词。常用的停用词表有百度停用词表、哈工大停用词表和四川大学机器智能实验室停用词库。这些停用词表收集了大量的停用词。另外,一个停用词表收录了一些另外停用词表没有收录的停用词,所以,本发明将这三种停用词表合成一个总停用词表。当这个叶子节点在停用词表里,则去掉该叶子节点,反之,则保留该叶子节点。如图1所示,标点符号“、”、“由”、“的”是停用词,因此,需要将这些停用词清除出去。
步骤4-3,去除非名词的词语。去除停用词后,还需要去除非名词的叶子节点。例如,形容词、副词等修饰语。具体的做法是利用集合PB和QB判断叶子节点是否是名词,当不是,则剪掉该叶子节点;
步骤5,文本表示;
答案文本经过步骤4后,句子已经转化为语义依存树,这里只需要将语义依存树直接转化为文本表示。参考答案的文本表示集合为PW={pw1,pw2,……,pwm},学生答案的文本表示集合为QW={qw1,qw2,……,qwn}。以三元组为特征项,对应于单个句子的文本表示为qw1={[u1,v1,w1],[u2,v2,w2],…,[um,vm,wm]}。特征项[u1,v1,w1]中,u1表示父节点,v1表示子节点,w1表示父节点u1和子节点v1之间的语义依存关系。在语义依存树中,父节点和子节点之间没有节点,只有一条边,即一个语义依存关系。
实施例中,以学生答案文本为例,将图5的语义依存树转化为以三元组为特征项的文本表示。其文本表示为:
qw1={['交通运输系统','是','EXP'],['是','Root','Root'],['道路','轨道运输','eCOO'],['轨道运输','水运','eCOO'],['水运','航空','eCOO'],['航空','组成','LINK'],['组成','系统','rFEAT'],['系统','是','LINK']}
步骤6,图6是文本相似度计算流程图,其文本相似度计算分为四个步骤:
步骤6-1专业术语的语义相似度计算。完成步骤5后,在计算句子相似度之前,需要先计算专业术语的语义相似度。专业术语之间的关系分为三类:同义关系、上下位关系和其他关系。由于同义关系和上下位关系是三种关系的主要关系,所以,专业术语相似度计算主要考虑两个方面的相似度计算:同义关系语义相似度和上下位关系语义相似度。专业术语相似度计算分为两个步骤:
步骤6-1-1,当两个专业术语Ci和Cj是同义词,则他们的语义相似度Simh(Ci,Cj)为1。
步骤6-1-2,当两个专业术语Ci和Cj是上下位关系,则他们的语义相似度计算公式如下:
式中,Simh(Ci,Cj)表示两个术语Ci和Cj之间的语义相似度;dl(Ci)和dl(Cj)分别是两个词语在本体树中的层次;D(Ci,Cj)表示两个词语在本体树中的最短距离,最短距离指的是本体树中两个词语的最小公共父节点,例如,C12和C13的父节点是C5,C2和C1,但C12和C13的最近的父节点是C5;Maxdl表示本体树的最大深度;a是调节参数,一般大于零。本体树中一条单向边的距离设为1;一条双向边的距离设为0,因为,双向边的两个节点都是同义词,例如,如图7所示,部分领域本体树有三个同义词对,C3和C8,C9和C14,C15和C17,他们之间的距离都为零。
举例说明如下:
步骤6-2,通用词语的语义相似度计算;
基于同义词词林的通用词语语义相似度计算可以通过调用现有的开源工具包(https://github.com/BiLiangLtd/WordSimilarity)完成。Sim(Ci,Cj)表示两个通用词语Ci和Cj的语义相似度。例如,调用该工具包计算学生答案的通用词语“组成”和参考答案的通用词语“构成”的语义相似度Sim(组成,构成),其结果为Sim(组成,构成)=1。
步骤6-3,句子的语义相似度计算,该步骤分为四个步骤:
步骤6-3-1,分别从集合PW={pw1,pw2,……,pwm}和QW={qw1,qw2,……,qwn}中取出一个元素,得到pw1={[l1,m1,n1],[l,m2,n2],…,[lm,mm,nm]}和qw1={[x1,y1,z1],[x2,y2,z2],…,[xn,yn,zn]}。本方法首先对两个文本表示进行笛卡尔乘积操作,最后将其转化为一个m行n列的二维矩阵C。
步骤6-3-2,三元组对([li,mi,ni],[xj,yj,zj])的相似度计算公式如下:
式(2)中,Stij表示三元组对([li,mi,ni],[xj,yj,zj])的相似度,即三元组[li,mi,ni]和另一个三元组[xj,yj,zj]的语义相似度;μ(ni,zj)表示语义依存关系ni和语义依存关系zj的相似度,当两个依存关系相同的,则取为1,否则为0;Simt(li,xj)表示三元组[li,mi,ni]的父节点词语li和三元组[xj,yj,zj]的父节点词语xj的语义相似度,Simt(li,yj),Simt(mi,xj)和Simt(mi,yj)也是和前者类似的含义,这些词语相似度由式(3)求得。
式(3)中,Simt(Ci,Cj)表示词语的语义相似度;数字1表示两个词语Ci和Cj是专业术语;Simh(Ci,Cj)表示专业术语的语义相似度;数字2表示两个词语Ci和Cj是通用词语;Sim(Ci,Cj)表示通用词语的语义相似度;数字3表示两个词语Ci和Cj中,有一个是专业术语,另一个是通用词语;通用词语和专业术语他们是不相关的,所以其相似度为0。
实施例中,参考答案三元组['水路运输','铁路运输','eCOO']和学生答案三元组['轨道运输','水运','eCOO']组成一个三元组对(['水路运输','铁路运输','eCOO'],['轨道运输','水运','eCOO'])。其中,参考答案的父节点'水路运输'和学生答案的子节点'水运'是同义词,所以其相似度为1;同理,参考答案的子节点'铁路运输'和学生答案的父节点'轨道运输'的相似度为1;参考答案的语义依存关系和学生答案的语义依存关系都是'eCOO'。经公式(2)计算,三元组对的相似度为1。
步骤6-3-3,遍历矩阵C,用公式(2)和(3)计算矩阵C中的每一个三元组对的语义相似度,所得结果如下矩阵D;
步骤6-3-4,遍历矩阵D,选取矩阵D的每行最大值并组成一个最大值的集合,SDmax={Stmax1,Stmax2,…,Stmaxm},其中,Stmaxm表示矩阵D中第m行的最大值。具体的句子的语义相似度计算公式为
实施例中,参考答案和学生答案的句子相似度Sstate为0.73。
步骤6-4,计算全文相似度,即计算PW和QW的相似度;
将PW和QW组成m行n列矩阵E。矩阵E中的每个元素为文本表示搭配对。运用公式(4)计算矩阵E中每个文本表示搭配对的句子语义相似度,其结果为矩阵F。
遍历矩阵F,取出矩阵F的每行最大值。最大值集合为SF={SEmax1,SEmax2,…,SEmaxm}。
其中,SEmaxm表示矩阵F的第m行最大值。全文相似度计算公式如下:
实施例中,参考答案只有一个句子,学生答案也只有一个句子,所以,全文相似度等于句子相似度,即全文相似度SimA为0.73。
步骤7,学生答案得分;
全文相似度SimA的取值范围在[0,1],教师可根据满分制进行分值转换。计算公式如下:
Score=δSimA (6)
式中,Score是学生答案得分,δ是分数转换系数。当满分值是100分,则分数转换系数为100。
实施例中,设满分值是100分,即δ=100。因此,经(6)计算,学生答案得分为73.分,人工评分为80分。
本发明采用以上技术方案,将领域本体和语义依存树结合一起,使用新的语义依存树减枝模型摒弃那些不必要的概念或超出领域范畴的概念,进而形成一个适用于专业领域的主观题自动评分方法,以期提高主观题自动评分的准确率。第一,该方法不仅能够更加准确地计算专业术语的语义相似度而且能够较准确地计算句子的语义相似度。第二,该方法改进了语义依存树减枝算法。在对语义依存树进行减枝的过程中,该方法能够避免剪掉重要的专业术语。
Claims (6)
1.一种基于领域本体和语义依存树的主观题自动评分方法,其特征在于:其包括以下步骤:
步骤1,输入学生答案和参考答案;
步骤2,使用自然语言处理工具分别对参考答案和学生答案进行文本预处理,依次形成参考答案分句集合P={p1,p2,……,pm}、学生答案分句集合Q={q1,q2,……,qn}、参考答案分词集合PA={pa1,pa2,……,pam}、学生答案分词集合QA={qa1,qa2,……,qan}、参考答案词性对集合PB={pb1,pb2,……,pbm}和学生答案词性对集合QB={qb1,qb2,……,qbn};
步骤3,使用语义依存分析工具将集合PA和集合QA转化为语义依存树集合PAT={pat1,pat2,……,patm},和QAT={qat1,qat2,……,qatn},集合中每个元素都是单个句子一一对应的语义依存树;
步骤4,根据语义依存树减枝算法,对语义依存树集合PAT和QAT的每一个语义依存树进行减枝操作,进而形成新的语义依存树集合PBT={pbt1,pbt2,……,pbtm}和QBT={qbt1,qbt2,……,qbtn};
步骤5,将语义依存树集合PBT和QBT的每一个语义依存树转化为文本表示,进而形成文本表示集合PW={pw1,pw2,……,pwm}和QW={qw1,qw2,……,qwn};
步骤6,计算文本相似度,即计算集合PW和QW的相似度;
步骤7:学生答案得分。
2.根据权利要求1所述的一种基于领域本体和语义依存树的主观题自动评分方法,其特征在于:步骤2具体包括以下步骤:
步骤2-1,使用中文分句工具分别对参考答案和学生答案进行分句,形成集合P={p1,p2,……,pm}和集合Q={q1,q2,……,qn};其中,集合P包含m个句子,集合Q包含n个句子;
步骤2-2,首先将领域本体转化为词汇表,其次,将词汇表加入中文分词工具的词典库,最后,使用中文分词工具分别对集合P和Q中的每一个句子进行分词,分别形成分词集合PA={pa1,pa2,……,pam},QA={qa1,qa2,……,qan},PA和QA中的每个元素都表示若干个词语的集合;
步骤2-3,使用词性标注工具分别为集合PA和集合QA中的每一个词语分配一个词性类别,然后,将词语和对应的词性类别组成一个词性对,进而分别形成词性对集合PB={pb1,pb2,……,pbm}和学生答案词性对集合QB={qb1,qb2,……,qbn},PB和QB中的每个元素都表示若干个词性对集合。
3.根据权利要求1所述的一种基于领域本体和语义依存树的主观题自动评分方法,其特征在于:步骤4具体包括以下步骤:
步骤4-1,利用领域本体判断PAT和QAT的每一个语义依存树叶子节点是否为专业术语,当是,则保留该叶子节点;
步骤4-2,利用停用词表判断叶子节点是否为停用词,当是,则剪掉该叶子节点;
步骤4-3,利用集合PB和QB判断叶子节点是否为名词,当不是,则剪掉该叶子节点;
步骤4-4,PAT和QAT分别形成新的语义依存树集合PBT={pbt1,pbt2,……,pbtm}和QBT={qbt1,qbt2,……,qbtn}。
4.根据权利要求1所述的一种基于领域本体和语义依存树的主观题自动评分方法,其特征在于:步骤6具体包括以下步骤:
步骤6-1,先计算两个专业术语Ci和Cj的语义相似度Simh(Ci,Cj);
步骤6-2中通过调用现有的开源工具包计算两个通用词语Ci和Cj的语义相似度Sim(Ci,Cj)。
步骤6-3,再分别计算句子间的语义相似度;
步骤6-4,计算全文相似度,即计算PW和QW的相似度;
将PW和QW组成一个m行n列矩阵E,矩阵E中每个元素为文本表示搭配对;
运用公式(4)计算矩阵E中每个文本表示搭配对的语义相似度得到结果矩阵F。
遍历矩阵F,取出矩阵F的每行最大值,最大值集合为SF={SEmax1,SEmax2,…,SEmaxm},其中,SEmaxm表示矩阵F中第m行最大值;
全文相似度计算公式如下:
6.根据权利要求4所述的一种基于领域本体和语义依存树的主观题自动评分方法,其特征在于:步骤6-3中句子的语义相似度计算包括以下步骤:
步骤6-3-1,分别从集合PW和QW从中取出一个文本表示,得到文本表示pw1={[l1,m1,n1],[l,m2,n2],…,[lm,mm,nm]},文本表示qw1={[x1,y1,z1],[x2,y2,z2],…,[xn,yn,zn]};
首先对两个文本表示进行笛卡尔乘积操作,最后将其转化为一个m行n列二维矩阵C;
步骤6-2-2,三元组对([li,mi,ni],xj,yj,zj])的相似度计算公式如下:
式(2)中,Stij表示三元组对([li,mi,ni],xj,yj,zj])的相似度,即三元组[li,mi,ni]和另一个三元组[xj,yj,zj]的语义相似度;μ(ni,zj)表示语义依存关系ni和语义依存关系zj的相似度,当两个依存关系相同的,则取为1,否则为0;Simt(li,xj)表示[li,mi,ni]的父节点词语li和[xj,yj,zj]的父节点词语xj之间的语义相似度;Simi(li,yj),Simt(mi,xj)和Simt(mi,yj)的相似度由式(3)求得;式(3)中,Simt(Ci,Cj)表示词语的语义相似度;数字1表示两个词语Ci和Cj是专业术语;Simh(Ci,Cj)表示专业术语的语义相似度;数字2表示两个词语Ci和Cj是通用词语;Sim(Ci,Cj)表示通用词语的语义相似度;数字3表示两个词语Ci和Cj中,有一个是专业术语,另一个是通用词语;通用词语和专业术语是不相关的,所以其相似度为0;
步骤6-3-3,遍历矩阵C,用公式(2)和(3)计算矩阵C中的每一个三元组对的语义相似度得到矩阵D,
矩阵D中每一个元素表示三元组对的相似度;
步骤6-3-4,遍历矩阵D,选取矩阵D的每行最大值,然后组成一个最大值集合,SDmax={Stmax1,Stmax2,…,Stmaxm},其中,Stmaxm表示矩阵D中第m行的最大值;具体的句子语义相似度计算公式为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110209462.4A CN112906400B (zh) | 2021-02-24 | 2021-02-24 | 一种基于领域本体和语义依存树的主观题自动评分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110209462.4A CN112906400B (zh) | 2021-02-24 | 2021-02-24 | 一种基于领域本体和语义依存树的主观题自动评分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112906400A true CN112906400A (zh) | 2021-06-04 |
CN112906400B CN112906400B (zh) | 2022-12-06 |
Family
ID=76107155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110209462.4A Active CN112906400B (zh) | 2021-02-24 | 2021-02-24 | 一种基于领域本体和语义依存树的主观题自动评分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112906400B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306558A (zh) * | 2022-11-23 | 2023-06-23 | 北京语言大学 | 一种计算机辅助中文文本改编的方法及装置 |
CN117540727A (zh) * | 2024-01-08 | 2024-02-09 | 珠海金智维信息科技有限公司 | 基于albert模型与rpa技术的主观题评分方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131015A1 (en) * | 2010-11-24 | 2012-05-24 | King Abdulaziz City For Science And Technology | System and method for rating a written document |
CN107480133A (zh) * | 2017-07-25 | 2017-12-15 | 广西师范大学 | 一种基于答案蕴涵与依存关系的主观题自适应阅卷方法 |
CN108959261A (zh) * | 2018-07-06 | 2018-12-07 | 京工博创(北京)科技有限公司 | 基于自然语言的试卷主观题判题装置及方法 |
CN109948143A (zh) * | 2019-01-25 | 2019-06-28 | 网经科技(苏州)有限公司 | 社区问答系统的答案抽取方法 |
CN110765781A (zh) * | 2019-12-11 | 2020-02-07 | 沈阳航空航天大学 | 一种领域术语语义知识库人机协同构建方法 |
-
2021
- 2021-02-24 CN CN202110209462.4A patent/CN112906400B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131015A1 (en) * | 2010-11-24 | 2012-05-24 | King Abdulaziz City For Science And Technology | System and method for rating a written document |
CN107480133A (zh) * | 2017-07-25 | 2017-12-15 | 广西师范大学 | 一种基于答案蕴涵与依存关系的主观题自适应阅卷方法 |
CN108959261A (zh) * | 2018-07-06 | 2018-12-07 | 京工博创(北京)科技有限公司 | 基于自然语言的试卷主观题判题装置及方法 |
CN109948143A (zh) * | 2019-01-25 | 2019-06-28 | 网经科技(苏州)有限公司 | 社区问答系统的答案抽取方法 |
CN110765781A (zh) * | 2019-12-11 | 2020-02-07 | 沈阳航空航天大学 | 一种领域术语语义知识库人机协同构建方法 |
Non-Patent Citations (2)
Title |
---|
王金水 等: "基于领域本体和依存句法分析的主观题", 《贵州大学学报( 自然科学版)》 * |
赵运鹏: "交通运输领域主观题自动评分算法", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306558A (zh) * | 2022-11-23 | 2023-06-23 | 北京语言大学 | 一种计算机辅助中文文本改编的方法及装置 |
CN116306558B (zh) * | 2022-11-23 | 2023-11-10 | 北京语言大学 | 一种计算机辅助中文文本改编的方法及装置 |
CN117540727A (zh) * | 2024-01-08 | 2024-02-09 | 珠海金智维信息科技有限公司 | 基于albert模型与rpa技术的主观题评分方法及系统 |
CN117540727B (zh) * | 2024-01-08 | 2024-04-12 | 珠海金智维信息科技有限公司 | 基于albert模型与rpa技术的主观题评分方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112906400B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765257B (zh) | 一种知识图谱驱动型的法律智能咨询系统 | |
CN110825881B (zh) | 一种建立电力知识图谱的方法 | |
Heilman | Automatic factual question generation from text | |
CN102262634B (zh) | 一种自动问答方法及系统 | |
CN109523988B (zh) | 一种文本演绎方法及装置 | |
KR20160026892A (ko) | 논팩토이드형 질의 응답 시스템 및 방법 | |
CN104794169A (zh) | 一种基于序列标注模型的学科术语抽取方法及系统 | |
JP2004110161A (ja) | テキスト文比較装置 | |
CN112906400B (zh) | 一种基于领域本体和语义依存树的主观题自动评分方法 | |
CN108681574A (zh) | 一种基于文本摘要的非事实类问答答案选择方法及系统 | |
CN106897559A (zh) | 一种面向多数据源的症状体征类实体识别方法及装置 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN111309891B (zh) | 一种阅读机器人进行自动问答的系统及其应用方法 | |
CN110175229A (zh) | 一种基于自然语言进行在线培训的方法和系统 | |
CN107688583A (zh) | 创建用于自然语言处理装置的训练数据的方法和设备 | |
Chathuranga et al. | Sinhala sentiment analysis using corpus based sentiment lexicon | |
Aguiar et al. | Automatic construction of concept maps from texts | |
Valerio et al. | Using automatically generated concept maps for document understanding: A human subjects experiment | |
JPH0816620A (ja) | データ分類装置/方法、データ分類木生成装置/方法、派生語抽出装置/方法、シソーラス構築装置/方法、データ処理システム | |
Riza et al. | Natural language processing and levenshtein distance for generating error identification typed questions on TOEFL | |
Atapattu et al. | Evaluation of concept importance in concept maps mined from lecture notes | |
CN109002540B (zh) | 一种中文通告文档问题答案对自动生成方法 | |
Malhar et al. | Deep learning based Answering Questions using T5 and Structured Question Generation System’ | |
CN110826329A (zh) | 一种基于困惑度的自动作文评分方法 | |
CN116362331A (zh) | 一种基于人机协同构建知识图谱的知识点填充方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |