APP下载

基于VBA的简答题自动阅卷系统相关算法研究

2016-03-05李莹杨春哲

中国高新技术企业 2015年35期
关键词:子句标准答案分词

李莹 杨春哲

摘要:在教育部大力倡导教育信息化发展的今天,自动阅卷技术的研究逐渐成为热点,其已经成为教育信息化平台搭建中不可或缺的一部分。文章针对简答题自动阅卷过程中涉及的分句与分词算法、关键词提取算法、相似度计算算法进行了分析。

关键词:自动阅卷系统;简答题;分句算法;分词算法;关键词提取算法;VBA 文献标识码:A

中图分类号:TP316 文章编号:1009-2374(2015)35-0020-02 DOI:10.13535/j.cnki.11-4406/n.2015.35.010

1 分句与分词的算法分析

分句算法与分词算法是本系统针对简答题进行自动阅卷采用的两种基本算法,对简答题进行自动阅卷的基本流程是:首先对学生答案按照标点符号进行分句(标点主要为逗号、句号、分号、感叹号等),接着对分得的子句进行分词,然后将分得的词存储为序列,最后对词序列进行关键词抽取与标准答案进行比较。如果将学生答案仅仅进行关键词比较就给出分数,很容易产生误判。所以本系统采用相似度计算算法,尽量将计算机自动阅卷结果接近教师人工阅卷结果,使考试结果更加公平。

1.1 分句算法分析

所谓的分句是指将学生答案的一整段话以中文中特定的句末标点符号(如逗号、句号、分号、感叹号等)为分割将其分成若干个子句,为了便于分析、提高阅卷速度,我们以学生答案中的任意标点符号为标志,将学生答案分割成若干子句。本阅卷系统对答案进行分句处理的过程是:首先删除答案前后的回车换行符,然后对答案进行扫描,按照分句符号将答案分割成若干子句,把分割后的子句保存到子句数组中,经过这一次扫描操作,将答案中的回车换行符去掉了。前面分析了分句处理的过程,下面就其算法进行研究。

1.1.1 删除学生答案中的回车换行符。自动阅卷系统所批阅的卷子基本上都是采用上机考试形式,这就不可避免地使学生在答题过程中不经意地输入回车换行符,而它对评分没有任何意义。但是在计算机的存储器中它是以字符的形式存储的,在答案中分别占有一个字符的位置,如果不将其删除,势必会影响分词处理。所以在考虑分句算法时,首先要去除学生答案中的回车换行符。算法如下:(1)取原始答案字符串key最左端的一个字符保存到str中,转(2);(2)判定str是否为换行符或者回车符,如果是,则把key中最左端一个字符去掉,转(1);如果不是,则说明答案前面已经没有回车换行符了,转(3);(3)取原始答案字符串key最右端一个字符保存到str中,判定str是否为回车符或换行符,如果是,则把key中最右端一个字符去掉,转(3),若不是,则说明答案后面已经没有回车换行符,将key作为返回值,扫描结束。答案存放在key字符串中。

1.1.2 分句算法。删除学生答案中的回车换行符后,依据学生答案段中的分句标点符号进行分句处理,遇到句号、分号、逗号等标点符号将其分为一句,保存在答案的子句数组中。算法如下:(1)判断key是否为空,如果是,结束,否则转(2);(2)从key左侧取一个字符放入str中,判定str是否是分句标点符号或者回车符,如果是,转(3),如果不是,转(5);(3)如果str是分句标点符号,则子句数组下标加1,去除key左侧的一个字符,转(1),如果str是回车符,转(4);(4)判定str下一个字符是否为回车符或者换行符,如果是,去除key左侧一个字符,取key下一字符放入str中,转(4),否则答案子句数组下标加1,去除str左侧一个字符,转(1);(5)将str并入到子句数组当前位置,去除key左侧一字符,转(1)。

上述算法中,key为待处理的字符串,str为字符类型变量。

1.2 分词算法分析

中文分词较英文分词要复杂很多,因为英文是以词为单位组成一句话,词与词之间用空格分割,例如:I am a girl.很容易能够凭借空格就提取出词。汉语则不然,汉语是由字构成词,句子中所有的字连起来才能描述一个意思,但是计算机无法明白什么是词,把中文的汉字序列切分成有意义的词,就是中文分词。汉语的词与词之间没有标记,对于词的界定往往不清楚,人是凭借对自然语言知识的理解来划分词,而计算机的分词依据有三大类:基于字词匹配的分词方法、基于人工智能的分词方法和基于串频统计的分词方法。本文主要采用基于字词匹配的分词方法。算法描述:(1)以词汇表中最长词中所含有的字数个数作为最大词长(将最大词长定义为L);(2)将待分词的句子从第一个字起向后取L个字;(3)在词汇表中遍历是否有上一步提取的L个字够成的词,若有,保留分解出独立的词,转(5),若没有,转(4);(4)将最大词长L=L-1,从L中减掉最右边一个字,转(3)(直至L=1);(5)从句子中删除该词,判定句子中是否有字,若有,转(2),否则结束。

2 关键词提取算法分析

经过分词阶段,将学生答案和标准答案分成各个语句块,接下来就应用关键词提取算法,将学生答案中的关键词提取出来,这里指的关键词是词库中的实词,诸如“的、地、得、把、可能、好像”等一些对句子表达没有实际意义的词,我们不把它们作为得分点。可以忽略掉这些词汇,只提取出对句子意思表述至关重要的词汇。具体提取时,需要判定它是否是有实际意义的词,方法是分别比对学生答案和标准答案各语句块中的各个单词,如果是,则提取出来,如果不是,则不提取。算法设计:

对学生答案进行分词后得到一个由学生答案组成的词的序列,对其进行关键词提取,关键词提取时只提取对句子意思表述至关重要的实词。

具体算法如下:(1)顺序搜索语句序列中的各词,如果到末尾,则结束,否则转(2);(2)判定该词是否为实词,如果是,转(3),否则转(1);(3)将关键词提取出来,转(1)。

3 相似度计算算法分析

3.1 单向贴近度算法

在简答题的自动阅卷过程中,通常把学生答案和标准答案表示成若干个词的形式来表示学生答案和标准答案的贴近度问题。

把学生答案和标准答案切分成若干个有意义的词,并把这些词构成的有序集合称为一个模糊集,U={Ul,U2,U3,…,Un}称为论域,F(U)代表模糊幂集,是指论域U上的所有模糊子集构成的集合。

这里用单向贴近度来衡量两模糊集的接近程度。

定义1:设U={Ul,U2,U3,…,Un},A,B∈F(U)。若映射d:F(U)×F(U)→[0,1];满足条件:

(1)d(A,A)=1。

(2)d(B,B)=1。

(3)若A∈B∈C或C∈B∈A,则d(A,B)≥d(A,C),那么称d(A,B)为A贴近于B的单向贴近度。

定义:设A、B是由词构成的词串,A中包含n个词,d(A,B)表示A贴近于B的单向贴近度,按照从左到右的顺序,集合A中的每个词在集合B中出现的有效次数之和记为m,则d(A,B)=m/n。

(1)

式中:S为该题的最终成绩;S0为该题的分值;P代表单项贴近度所占的分值比例;(1-P)代表关键字匹配所占的分值比例;d(A,B)代表集合A贴近于B的单项贴近度;δ(A,B)代表关键词匹配程度。

根据以上定义计算学生答案的最终得分,只依据词的匹配程度,与词知识库和语义分析毫无关系,但是使用这种方法计算的学生最终得分精度不会很高。

3.2 基于词语表层含义的相似度计算

所谓的词语表层含义是指根据学生答案和标准答案中相同词语个数而计算的相似度。假设有句子A和B,分别代表学生答案和标准答案,那么句子A和B的相似度用以下公式表示:

(2)

式中:WordSame(A,B)表示学生答案A和标准答案B的相似度;SameNum(A,B)表示学生答案A和标准答案B中相同词语的数量;Num(A)表示学生答案A中包含词的个数;Num(B)表示标准答案B中包含词的个数。

这种算法也是基于匹配的方法,精度不高。

3.3 基于多层次结构的句子相似度计算

通常一个完整的句子是由组成句子的词、词之间的结构、语义、语态、语境等信息组成。汉语句子成分是非常复杂的,所以要想真正地实现计算机代替人工阅卷是非常复杂的。本文力求将构成句子的各个成分完整地表达出来,分别分析了词汇信息,综合研究了单向贴近度、词语表层含义的相似度算法,以便更加正确地进行主观题的自动阅卷。

我们研究的目标是将分词技术、关键词匹配技术、词语结构信息组合起来,取长补短,互为补充,表述一个完整的句子,依据以上技术计算学生答案和标准答案之间的相似度,获得较高的准确率。

综合以上分析将式(1)和式(2)合起来计算语句相似度。基于以上分析,几乎不能出现0分的情况,但是实际阅卷过程中是有0分的,所以我们设定一个阈值,当句子的匹配结果小于设定的阈值,就将得分算为0分。

4 结语

要设计实现一个针对简答题的自动阅卷系统,仅基于分句与分词算法、关键词提取算法、相似度计算算法进行简答题的自动阅卷还是远远不够的,因为汉语较英语而言拥有更加复杂的语法结构,希望通过后续针对中文的语法和语义等方面的研究,不断完善和改进现有的自动阅卷系统,促进教育信息化平台的建设。

参考文献

[1] 金春霞.多层次结构句子相似计算的应用研究[J].计算机应用与软件,2009,(10).

[2] 吴宏良.Office文档对象分析与自动阅卷系统研究

[D].华东师范大学,2009.

作者简介:李莹(1982-),女,吉林吉林人,吉林医药学院计算机教研室讲师,硕士,研究方向:软件开发。

(责任编辑:周 琼)

猜你喜欢

子句标准答案分词
命题逻辑中一类扩展子句消去方法
分词在英语教学中的妙用
命题逻辑可满足性问题求解器的新型预处理子句消去方法
李耀进:没有标准答案,唯有用心用情
丢失了标准答案
西夏语的副词子句
标准答案的反思
命题逻辑的子句集中文字的分类
论英语不定式和-ing分词的语义传承