论文查重 | 论文文献库 | 研究生学位论文格式自动检测系统设计与实现

国内高校大量使用微软公司的 Word 字处理软件 撰写学位论文,学位论文有较严格的格式要求,人工论文查重检 测效率和准确性均较低, 因此有必要设计一种学位论 文格式自动检测系统。 安徽工业大学的陈国胜、何宗明 老 师 早 在 2009 年 就 提 出 了 一 种 基 于 XML 技 术 的 Word 文档录入及格式检测系统设计方法,该方法通过 Word 文档和 XML 文档的相互转换,设计了一个 Word 文档录入和格式检测模型系统, 但是该系统还有不完 善的地方,例如需要改进文档格式检测机制,进一步实 现 Excel 接口和 XSTL 转化接口;东北电力大学的阚运 奇老师在 2012 年提出一种基于 VBA 的论文检测方 法,该方法需使用 VBA 技术操作宏,普通用户难以使 用;隋欣、张军辉在 2013 年提出了一种基于.NET 的文 档信息提取解析方式, 该方法仅仅读取到了文档内部 的文本、标题、目录和表格信息,但对文档的样式信息 提取并没有涉及。
虽然不少学者提出了各种操作文档的想法,但是目 前还没有一种比较方便有效的系统供人们对大量相同 格式要求的论文进行检测。 本文设计开发了一套基于 OpenXML 格式规范的研究生学位论文格式自动检测系统, 该系统利用自动化方法检测 docx 格式论文文 档,可以提高用户编辑学位论文的效率,减轻教师和学 生的负担。
1 系统功能设计
本方法的系统架构图如图 1 所示, 包括单元定位 模块、格式提取模块、对比模块三个模块。 单元定位模块包括封面定位子模块、 独创性声明 定位子模块、标题定位子模块等 11 个子模块,功能为 分别定位论文的各个特定部位, 获取对应的 XML 信 息。
格式提取模块包括段落属性提取子模块和特殊格 式属性提取子模块两个子模块。 段落属性提取子模块 的功能是提取待测论文每个部分共有的段落属性,如 每个段落的字体、字号、段间距。 特殊格式属性提取子 模块的功能是提取除段落属性之外的其他格式, 如参 考文献样式提取、图和表所在章节的标题名称提取。 对比模块包括规则配置文件、规则对比子模块、报 告生成子模块三个部分。 规则配置文件的功能是存储 模板论文规定的规则, 是检测待测论文正确与否的标 准。 规则对比子模块的功能是将待测论文的格式特征 与规则配置文件配置的规则进行对比, 判断格式的正 误。 报告生成子模块的功能是获取规则对比子模块中 检测到的错误信息并写入检测报告中。
2 单元定位模块
由于本系统处理的是论文各个部分的格式, 如何 准确地定位各部分以及如何精准地切割就显得至关重 要。 以下列出论文中几个关键部分的定位算法。 首先寻找到全文的第一个带编号的标题, 标题后 的第一个段落就是正文开始处; 接着过滤中间封装标 题的

元素和封装图的

元素; 最后定位正文结束 部分,寻找正文结束后出现的第一个没有编号的标题, 以此为正文部分的结束定位标志。
元 素 存 储 了 标 题 的 文 本 信 息 以 及 样 式 , OpenXML 中根据文档设置的各个节的页眉属性如首页不同、奇偶页不同生成相应的页眉。 方法如 下:首先遍历

元素,判断其中是否包含子元 素;若包含子元素,找出元素的所有页 眉引用子元素, 接着找出元 素的所有页脚引用子元素, 利用页眉 引用、 页脚引用的标识符定位到相应的页眉元 素、页脚元素;若不包含子元素,遍历下一 个

元素重复第一步, 直到文档最后停止遍历; 在< body>元素中寻找保存最后一节属性的子元素,重复第二步。 表格信息存储在元素的子元素内,依 次遍历每个元素,可找到表格位置。定位表名的方 法如下:首先获取的位置信息,即计算这个元 素是的第几个子元素, 然后再检测前一个位置 的

是否为空段落,空段落体现为一个空行,非空段 落作为表名处理。 如在该前一个位置没有找到表名,则 再向前回溯一个位置继续进行判断。 如超过 3 步回溯 仍未找到表名,认为表名缺失或表名的格式有误。
3 格式提取模块
格式提取模块的功能为获取论文各特定部分的格 式。 格式提取模块包括段落属性提取子模块和特殊格 式属性提取子模块。
待测学位论文的每个特定部分都具有段落属性, 段落属性提取是所有特定部分的共性工作, 由段落属 性提取子模块完成。 在 OpenXML 中,所有文本内容都 保存在段落元素

中,在表 1 中给出了段落中常见的 元素及其说明。
(1)字体
依次遍历每一个

元素,由 rFonts 元素按照样式 的层次结构依次提取字体样式,获取到中英文的字体; 检测段落是否为全英文、全中文,或者既有中文又有英 文,若是全英文,舍弃提取到的中文字体样式,不能用 于对比模块; 若是全中文, 舍弃提取到的英文字体样 式,不能用于对比模块;若既有中文又有英文,提取到 的中文英文字体样式全部保存。
(2)字号
首先按照样式的层次结构获取的属性 Val 的 值,计算得到以磅为单位的字号大小;然后参考字号对 照表得到字号和磅数的对应关系,得到实际字号;将字 号保存用于对比模块。
(3)段前距离
段前距离信息从元素的 before 和 before鄄 Lines 属性中提取 。 首先 依据样式的层次结构 找 到 元素;若该元素包含 beforeLines 属性,获取该 属性对应的属性值, 计算得到以行距倍数表示的该段 落的段前距离;利用元素的子元素的 linePitch 属性可以获得一行的磅数,统一换算成以“磅” 为单位的段前距离;若不包含 beforeLines 属性,则获取 before 属性的属性值,计算得到以“磅”为单位的段前距 离。
特殊格式提取子模块用于处理除段落属性之外的 其他格式提取问题,包括参考文献样式提取、图和表所 在章节的标题名称提取等,这些格式要求在 OpenXML 中并没有明确的元素对应,需采用特殊方式提取。
(1)参考文献格式提取
首先利用正则表达式匹配参考文献的标志代码, 根据标志代码确定参考文献的类型;若无法匹配,说明 此条参考文献缺少标志代码,保存错误信息后,继续下 一条参考文献格式的提取;若匹配成功,接着以中括号 为分割点把该条参考文献分割成几部分,检测作者、出 版社、出版年份等格式是否满足要求;接下来获取参考 文献的编号样式,判断参考文献的编号是否连续,若不 连续,保存错误信息,若连续,进入下一步;最后统计参 考文献条目的数目,保存起来用于对比模块。
检测参考文献连续性的方法如下: 首先记录并维 护参考文献的正确编号值, 即编号应为从 1 开始的连 续自然数, 每次检测到新的参考文献条目后此值加 1; 接着判断此参考文献是手动编号还是自动编号, 若是 手动编号,利用正则表达式获取编号,然后判断是否和 正确编号值相同, 若是自动编号只需检测自动编号开 始的参考文献编号是否和正确编号值相同。
(2) 图和表所在章节的标题名称提取
首先用链表保存章节标题所在的段落的位置信 息,即索引值;然后获取图、表的索引,用图、表的索引 值和链表中的各个值依次比较, 直到链表中的值大于 此值为止,则链表中的前一个数值就是该图、表所在章 节标题的位置;最后根据此索引即可得到标题名称。
4 对比模块
对比模块的功能是将格式提取模块提取出的待测 论文中的格式特征与论文模板中的规则进行对比,将 对比结果不一致格式问题输出到检测报告中。 该模块 分为规则配置文件、规则对比子模块、报告生成子模块 三个部分。
规则配置文件包含了模板论文规定的规则, 是检 测待测论文正确与否的标准。 在调用规则配置文件时, 首先由单元定位模块确定当前检测的位置在论文中所 属的部分,然后检测该部分是否已存在 XML 格式的配 置文件,若存在,则进入规则对比子模块;若不存在,则 说明当前部分没有设置格式要求, 结束当前部分的检 测。
首先获取单元定位模块的结果, 判断当前要检测 的段落是待测论文的哪一部分, 在规则配置文件中找 到模板论文相应的规则, 将格式提取模块提取到的该 部分的格式信息与相应的规则配置文件中的规则进行 对比,若该格式特征与规则配置文件中的规则一致,则 说明该格式正确; 反之将错误信息交由报告生成子模 块处理。
首先获取生成报告的保存路径,若用户未自定义, 默认路径设置为该待测论文的上传路径; 接着获取在 规则配置文件中保存的所有待检测的特定部分的节点 信息,依次遍历每个节点;获取节点中保存的该节点对 应的名称,从而找到对应的错误信息的保存位置;将寻 找到的错误信息编号后保存到检测报告中, 最终生成 一份检测报告。
5 实验及分析
在编程结束后, 共进行了开发人员测试和用户测 试两方面测试,下面是两种测试环境下的具体分析。 为了实现快速检测大批量、 相同格式要求论文的 目的,检测单篇论文的程序被进行了批处理,在批处理 程序中选择需要检测的部分,包括封面、独创性声明、 标题、摘要、目录、正文、页眉页脚、表格、图形、参考文献、授权书等十一个部分。 在.NET 及 Java 环境下,对包 含 46 篇论文的论文集检测结果如下:46 篇论文全部检 测成功,共用时 33 秒,平均 0.717 秒一篇。 本系统于 2016 年 6 月 1 日正式上线,在 2016 年 6 月本科生毕业期间共收到来自全校的 500 余篇论文的 上传,其中不同的论文 317 篇,剩余的 200 余次上传为 同一用户在修改论文的过程中不断地使用本系统进行 检测与修正,最终修正为格式无误的论文。在 2016 年 9 月研究生毕业期间, 共收到来自 23 名用户的 50 余篇 不同的研究生论文。
6 结语
学位论文格式自动检测系统可以根据论文模板, 自动对待测论文进行格式检测,具有自动化程度高、检 测速度快、检测准确率高等优点,可大幅降低毕业生和 指导教师的工作量,提高工作效率。 下一步工作可重点 考虑在线配置检测规则, 以提高本系统对不同学校论 文模板的适用性。

相关文章:国内常用论文检测系统论文检测结果的差异性分析