APP下载

基于Levenshtein距离的Word操作题自动评分算法

2021-01-18罗泉刘芝

现代计算机 2020年32期
关键词:商务向量节点

罗泉,刘芝

(1.广西大学行健文理学院,南宁 530005;2.南宁师范大学,南宁 530001)

0 引言

《大学计算机基础》是大多数高校的通识必修课程,学生们通过学习后能熟练掌握Word、Excel、Power⁃Point等软件的常用操作,这就需要任课教师能督促学生完成课堂、课后练习并及时修改。但由于班级众多,任课教师需要大量时间进行批阅修改。为了减轻教师负担,众多学者对Office操作题的自动评分进行了研究,采用的方法主要有几种。

方法1:使用Office内嵌的VBA技术或Office提供的COM接口,读取考生文档每个元素的属性信息,依次与标准答案的属性信息进行比较,根据得分点自动计算出分数[1-3]。

方法2:通过计算考生文档与标准答案之间的文本距离,获得两者之间的相似度,实现操作题的自动评分[4]。

方法1依赖于Office软件,不适用于多线程、高并发情景;方法2适用于考生从空白文件创建答卷文档的情景,而不适用于从给定素材创建答卷文档的情景。例如,素材文件有文字“Hello”,题目要求在素材基础上添加信息,并得到最终文字“Hello World”。若考生将素材文件作为答卷提交,按方法2会得到50分,但实际应为0分。

依据上述分析,本文针对学生基于素材完成操作练习的场景,基于编辑距离实现了一种Word操作题自动评分算法,并对算法进行了测试验证。

1 Word OpenXML文件格式介绍

微软从Office 2007开始使用OpenXML[5]格式来存储信息,一个Office文档由多个XML文件构成,每个XML文件被称为部件,用于存储不同含义的信息。将Word文档后缀名改为zip并解压,可以得到如图1所示的目录结构。

图1 Word的OpenXML目录结构

图1中,styles.xml包含Word样式信息,分别存储在节点中;drawing1.xml包含Word中插入的形状、SmartArt图形等信息,存储在多个及其子节点中;document.xml包含Word正文的段落文本、段落属性、文本属性、页面等信息,其中段落文本及相关属性按顺序存储在以及子节点中,字体颜色存储在节点中,页面信息如页边距、页面尺寸等存储在节点中[6]。在本文中,将上述存储了XML核心内容的节点称为特征节点。

2 Levenshtein距离

Levenshtein距离即文本编辑距离,提出于1965年,是字符串A通过编辑(添加、删除、修改)单个字符,最终修改为字符串B所用的最少步骤次数,主要用于度量两个字符串间的距离[7]。其公式如下:

在本文中,Levenshtein距离主要用于度量两个XML片段间的距离,如片段 A:与片段 B:的距离为6,其中代表的是字体颜色。由于在Word中改变字体颜色只需要操作一步,直接计算XML片段的文本编辑距离并不合理,因此需要将XML片段进行转换再计算距离。以片段为例,对转换的流程说明如下:

(1)定义innerNode类型,innerNode.label用于存储文本

(2)创建innerNode类型数组NodeArray

(3)依据片段的开始标签,构造innerNode对象,使 innerNode.label=”A”,添加到 NodeArray数组尾部

(4)依据片段的属性名attr1,构造innerNode对象,使 innerNode.label=”attr1”,添加到 NodeArray 数组尾部

(5)依据片段的属性值val1,构造innerNode对象,使innerNode.label=”val1”,添加到NodeArray数组尾部

(6)依据片段的文本abc,构造3个innerNode对象,使每个对象的 label分别为”a”、”b”、”c”,并依次添加到NodeArray数组尾部

(7)依据片段的结束标签,构造innerNode对象,使 innerNode.label=”/A”,添加到 NodeArray 数组尾部

当比较两个innerNode类型对象是否相等时,等价于比较对象的label值是否相等。经过转换,本节例子中片段A与片段B之前的编辑距离转成了计算Node⁃Array数组A和NodeArray数组B之间的编辑距离,计算过程与公式(1)一致,最终结果为1。

3 自动评分算法实现

课堂上,在Word操作练习时,教师为学生提供素材文档,学生基于素材,按照标准答案效果进行操作。因此,评分算法基于素材和答案文档进行度量更为合理。

(1)XML文件的特征节点向量

一个XML文件可以看成有序特征节点t[i]的集合,可表示为:

其中,t[i]拥有 name、NodeArray属性,name 表示当前特征节点名称,NodeArray表示该节点XML片段转换而成的innerNode类型数组。

设xmlfilename是xmlfile中所有name属性值相等的元素的集合,则有:

(2)XML 文件编辑距离 xdist(xmla,xmlb)

设A、B分别为文件xmla、xmlb的特征节点向量,Aname、Bname分别是A、B中所有name属性值相等的元素的集合。分别向A、B中添加NodeArray长度为0的元素,使|A|=|B|并且|Aname(i)|=|Bname(i)|,则两个 XML 文件的编辑距离计算方式如下:

其中,A[i]属于 A,B[j]属于 B,A[i]、B[j]必须且只能参与一次LevD运算,A中的元素按顺序与B中name属性相同的元素进行LevD运算。

(3)Word文件距离向量

一个Word文件由多个XML文件构成,为此可表示为 docx={f[1],f[2],…,f[n]},其中,f[n]为一个 XML 文件,按短文件名顺序排列。

定义两个Word文件docxA和docxB之间的距离向量为两文件之间同名XML文件的编辑距离的有序集合 wVector(docxA,docxB),计算方式如下:

商务笔译,顾名思义,是针对商务文本的翻译。对于商务笔译的研究涉及两个关键词:一个是商务文本,另一个是翻译。关于商务文本,需要梳理清四个问题:1)什么是商务文本?即商务文本的涵盖范围和种类。2)商务文本的分类方式如何?3)商务文本的功能是什么?4)商务文本的文体风格是什么?关于翻译,需要梳理清三个“谁”的问题:1)作者是谁?2)译者是谁?3)读者是谁?只有理清了以上的问题,才能进入到下一步讨论,即什么样的翻译理论对商务笔译有切实的指导作用?本文将主要讨论文本类型理论视角下的商务笔译。

wVector(docxA,docxB)={v[1],v[2],…,v[n]},其中 v[i]=xdist(fa[i],fb[i]),fa[i]∈docxA,fb[i]∈docxB,fa[i]和 fb[i]的短文件名相同。

(4)Word操作题自动评分算法

有 Word 文件 d0、dx、d100,其中 d0 表示素材,dx表示学生答卷,d100表示答案。评分的基本思路为:以d0为基准,分别计算dx到d0的距离向量vx、d100到d0的距离向量v100,然后依据vx在v100上的投影计算分值。

①计算vx=wVector(dx,d0),vx为学生答卷与原始素材文件的文件距离向量。

②计算 v100=wVector(d100,d0),v100 为答案文件与原始素材文件的文件距离向量。

③计算两个向量vx、v100之间的余弦cosθ=vx·v100/(|vx|·|v100|)

⑤计算百分制成绩score=100*projection/|v100|

⑥将百分制成绩转换成等级成绩level,当score<60时为一等级,否则每10分为一等级,等级划分从高到低为 A、B、C、D、E。

4 实验验证

本文选用一套综合练习题,由48位学生在课堂上完成,使用等级成绩,以人工评分为基准,对比本文算法与文献[4]算法,验证评分效果。

该综合练习题提供基本素材文件,由学生在此基础上完成文字替换、字体颜色设置、段落格式设置、添加SmartArt图形等操作,限时30分钟完成。首先由教师课后人工评分,结果如表1所示,绝大部分学生能在限定时间内完指定练习,有3位学生讲所提供素材作为最终成果提交,人工评分应为0分,等级为E。

表1 人工评分结果等级分布

在人工评分之后,分别使用本文算法、文献[4]算法自动给学生作品评分,并与人工评分结果比较,使用聚类中常用的Precision准确度、Recall召回率、F1-Score等指标来评价两种算法哪一个更优[8];通过记录两种算法的运行时间来评价其执行效率。一般来说相关指标数值越大表明越优,实验结果如表2、表3所示。

表2 本文算法实验结果

表3 文献[4]算法实验结果

从表2、表3中可以看出,在A等级中,Recall为1,说明人工评分中为A的所有成绩,在两种算法中均评定为A,表2的Precision指标比表3的相应指标略高,说明本文算法比文献[4]算法略优;对于人工评分判定为E等级的3位学生,表2的Recall为1,说明本文算法判定其成绩为E等级,表3的Recall为0,说明文献[4]算法判定为其他等级,因此本文算法更为准确合理;在执行效率上,本文算法所消耗时间263秒,比文献[4]算法少。综上所述,在所选测试样本数据下,与文献[4]算法相比,本文算法较优,且能满足日常练习的操作题评分要求。但由于本文算法忽略不同操作步骤的权重,因此无法根据作品所完成的步骤评分,尚未做到与人工评分完全一致。

5 结语

本文针对学生在素材基础上完成操作练习的场景,设计了一种基于Levenshtein距离的Word自动评分算法,通过计算学生作品文件与原始素材、答案文件之间的距离,通过一系列运算自动获得该作品分数等级。实验结果表明,该算法在为等级A、E的作品评分时有较高的精确率,日常的练习评分中有较好的应用效果,可有效提高老师的工作效率,但不足之处在于不能调整步骤分值,不能为操作的每一个步骤设置得分权重,而且测试样本容量较小,不能覆盖所有的操作测试,有待进一步完善。

猜你喜欢

商务向量节点
基于RSSI测距的最大似然估计的节点定位算法
向量的分解
分区域的树型多链的无线传感器网络路由算法
基于图连通支配集的子图匹配优化算法
聚焦“向量与三角”创新题
基于点权的混合K-shell关键节点识别方法
北京外企服务集团有限责任公司商务服务板块
——FESCO国际商务
上半年朝阳区服务业实现增加值2632.3亿元
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线