【技术实现步骤摘要】
一种学位论文格式自动检测方法
本专利技术属于计算机
,涉及一种学位论文格式自动检测方法。
技术介绍
目前高校的学位论文,均具有较为严格的格式要求。学位论文一般采用微软公司的Word编辑软件撰写,包括封面、独创性声明、标题、摘要、目录、正文、页眉页脚、表格、图形、参考文献、授权书等特定部分,必须与论文模板严格相同,以保证学位论文的格式规范性。在学位论文提交之后,教师要对学位论文进行格式核查,将错误之处指出并由学生修改,之后教师会再次核查格式,并指导学生修改,直至符合学校要求为止。以往,这一核查过程完全由教师人工进行,具有工作量大、易出错、工作时间长等缺陷。本专利技术基于对Word软件的docx格式的分析,提出了一种学位论文格式自动检测方法,可以由计算机替代教师来完成这一工作,可有效弥补人工方式的以上缺陷。下面对相关技术背景进行介绍。1、docx格式MicrosoftWord是由微软公司开发的一款办公软件,2007年之前的MicrosoftWord文件扩展名是doc,2007年及之后的版本使用的文件扩展名为docx,该类型格式采用基于XML的压缩文件格式,一个新建的doc文件的大小为25KB,而一个新建的docx文件的大小为0KB,比doc格式更节省空间。2、论文模板论文模板是衡量学生提交的待测论文格式是否正确的标准,待测论文的格式如与论文模板的格式要求一致,则为正确;反之,则为错误。为了实现对论文格式正误的快速检测,论文模板的内容分为封面、独创性声明、标题、摘要、目录、正文、页眉页脚、表格、图形、参考文献、授权书等十一个特定部分。本专利技术方法的工作即 ...
【技术保护点】
一种学位论文格式自动检测方法,其特征在于,步骤如下:该学位论文格式自动检测方法包括单元定位模块、格式提取模块和对比模块三个模块;单元定位模块是在学位论文中准确找到特定部分的位置及长度,即对各特定部分进行精确切割,特定部分包括封面、独创性声明、标题、摘要、目录、正文、页眉页脚、表格、图形、参考文献和授权书,单元定位模块包括以下十一个子模块;(1)封面定位子模块封面存储在<body>元素的子元素<paragraph>内,为论文的第一页;定位封面时,首先找到整篇文档的第一个包含文字的<paragraph>,若其中的文字与论文模板中论文主标题的文字相同,则说明成功定位到封面;若其中的文字与论文模板中论文主标题的文字不同,则继续遍历之后的<paragraph>;若之后的<paragraph>中存在与主标题字符串相同的<paragraph>,则成功定位到封面;若之后的<paragraph>不能找到与主标题字符串相同的<paragraph>,则说明封面缺失或论文主标题有误;(2)独创性声明定位子模块论文独 ...
【技术特征摘要】
1.一种学位论文格式自动检测方法,其特征在于,步骤如下:该学位论文格式自动检测方法包括单元定位模块、格式提取模块和对比模块三个模块;单元定位模块是在学位论文中准确找到特定部分的位置及长度,即对各特定部分进行精确切割,特定部分包括封面、独创性声明、标题、摘要、目录、正文、页眉页脚、表格、图形、参考文献和授权书,单元定位模块包括以下十一个子模块;(1)封面定位子模块封面存储在<body>元素的子元素<paragraph>内,为论文的第一页;定位封面时,首先找到整篇文档的第一个包含文字的<paragraph>,若其中的文字与论文模板中论文主标题的文字相同,则说明成功定位到封面;若其中的文字与论文模板中论文主标题的文字不同,则继续遍历之后的<paragraph>;若之后的<paragraph>中存在与主标题字符串相同的<paragraph>,则成功定位到封面;若之后的<paragraph>不能找到与主标题字符串相同的<paragraph>,则说明封面缺失或论文主标题有误;(2)独创性声明定位子模块论文独创性声明存储在<body>元素的子元素<paragraph>内,为论文的第二页;定位论文独创性声明时,首先根据封面定位子模块的结果判断论文封面是否缺失,若论文封面未缺失,则找到封面之后的首个包含文字的<paragraph>,若封面缺失,则找到整篇文档的第一个包含文字的<paragraph>;若该<paragraph>中的文字包含“独创性声明”,则说明成功定位到独创性声明;该<paragraph>中的文字不包含“独创性声明”,则继续遍历之后的<paragraph>;若之后的<paragraph>中的文字包含“独创性声明”,则成功定位到独创性声明;若之后的不能找到文字中包含“独创性声明”的<paragraph>,则说明独创性声明缺失或独创性声明标题有误;(3)标题定位子模块遍历每一个<p>元素,若该<p>元素包含了<hyperlink>元素或者<bookmarkStart>元素,则将该<p>元素判定为包含了标题的段落;若不包含<hyperlink>元素或<bookmarkStart>元素,则获取<p>元素中的全部文本,采用正则表达式匹配标题的编号以及编号和标题内容之间的空格来确定标题段落;若正则表达式无法匹配,找出文本长度符合标题长度的段落<p>,标记为疑似标题;(4)摘要定位子模块中英文摘要存储在<body>元素的子元素<paragraph>内,在定位中文摘要时,首先获取标题定位子模块定位到的全部标题,然后在其中找到“摘要”两个字,获取“摘要”标题所处的<paragraph>在<body>中的位置;然后依次遍历开始位置后的每个<paragraph>;若遍历到一个正文段落,则表示摘要定位成功;若遍历某<paragraph>中的<text>元素,发现其包含的内容为“关键词”,则在下一段终止摘要的处理,摘要定位完成;英文摘要的定位与中文摘要定位方法大致相同,唯一区别在于将“摘要”二字替换为“Abstract”,将“关键词”替换为“Keywords”;(5)目录定位子模块目录定位分为两种情况:经过“更新域”处理过的目录和未经“更新域”处理的目录;前者包含<Hyperlink>元素,用以标记更新域的位置,该更新域的位置即为目录;后者包含<FieldChar>元素;在定位目录时,遍历<body>中全部<paragraph>,所有包含<Hyperlink>元素及<FieldChar>元素的<paragraph>均为目录;(6)正文定位子模块首先寻找到全文的第一个带编号的标题,标题后的第一个段落就是正文开始处;接着过滤中间封装标题的<p>元素和封装图的<p>元素;最后定位正文结束部分,寻找正文结束后出现的第一个没有编号的标题,以此为正文部分的结束定位标志;(7)页眉页脚定位子模块首先遍历<p>元素,判断其中是否包含<sectPr>子元素;若包含<sectPr>子元素,找出<sectPr>元素的所有页眉引用<headerReference>子元素,接着找出<sectPr>元素的所有页脚引用<footerReference>子元素,利用页眉引用、页脚引用的标识符定位到相应的页眉<hdr>元素和页脚<ftr>元素;若不包含<sectPr>子元素,遍历下一个<p>元素继续检测是否包含<sectPr>子元素,直到文档最后停止遍历;在<body>元素中寻找保存最后一节属性的<sectPr>子元素,找出最后一节对应的页眉引用和页脚引用,从而定位到页眉<hdr>和页脚<ftr>元素;(8)表格定位子模块表格信息存储在<body>元素的子元素<tbl>内,依次遍历每个<tbl>元素,找到表格位置;定位表名的方法如下:首先获取<tbl>的位置信息,即计算这个<tbl>元素是<body>的第几个子元素,然后再检测前一个位置的<p>是否为空段落,空段落体现为一个空行,非空段落作为表名处理;如在该前一个位置没有找到表名,则再向前回溯一个位置继续进行判断;如超过3步回溯仍未找到表名,认为表名缺失或表名的格式有误;(9)图形定位子模块找到<paragraph>元素的子元素<run>,图片信息存储在<run>的子元素<drawing>和<picture>中;在定位图片时,遍历所有的<paragraph>,对每一个包含<drawing>或<picture>的<paragraph>,先确定该<paragraph>是<body>的第几个子元素,再查看该<paragraph>的下一个<paragraph>的内容是否为空,若为空则为空行;若不为空再继续判断该<paragraph>内是否包含文字“图”,若包含成功定位到图名,若不包含则认为图名缺失或图名的格式有误;(10)参考文献定位子模块参考文献存储在<body>元素的子元素<paragraph>内;在定位参考文献时,首先获取标题定位子模块定位到的全部标题,然后在其中找到“参考文献”四个字...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。