1.一种基于XML文档相似度的Office操作题自动判分方法,其特征在于:包括以下步骤,
S1、在自主命题后获得Office原始文件,将未作答的Office原始文件另存为原始XML文件;
S2、在步骤S1得到的Office原始文件基础上,获得教师作答后的参考作答Office文件,并将参考作答Office文件另存为参考作答XML文件;
S3、在步骤S1得到的Office原始文件基础上,获得学生作答后的实际作答Office文件,并将实际作答Office文件另存为实际作答XML文件;
S4、将步骤S2得到的参考作答XML文件与步骤S1得到的原始XML文件进行比较,得到两份XML文件之间的差异,获得教师操作的答题特征;具体为,S41、对原始XML文件和参考作答XML文件中的每个XML文件,分别进行解析与提取节点,增添层次属性level,并分别为每个XML文件创建节点列表,分别得到节点列表nodelist1和节点列表nodelist2;
S42、遍历比较原始XML文件和参考作答XML文件两个XML文件的节点列表nodelist1和节点列表nodelist2,依据节点所属DOM树路径以及节点属性包括节点层次nodeLevel、节点名称nodeName和节点类型nodeType,确定分别在两个XML文件中的两个节点为完全相同、部分相同或完全不同,在完全相同时,进入下一步骤S43;在部分相同时,进入步骤S44;在完全不同时,进入步骤S45;
S43、将判定为完全相同的两个节点,分别从节点列表nodelist1 和节点列表nodelist2中删去;
S44、将判定为部分相同的两个节点,分别从节点列表nodelist1 和节点列表nodelist2中提取并保存在节点列表change_answer中,对应属性修改操作,并分别从节点列表nodelist1 和节点列表nodelist2中删去;
S45、将判定为完全不同的两个节点,提取节点列表nodelist1中对应的节点并保存在节点列表delete_answer中,提取节点列表nodelist2中对应的节点并保存在节点列表add_answer中;
S46、在遍历比较节点列表nodelist1和节点列表nodelist2完成后,得到的节点列表add_answer、节点列表delete_answer和节点列表change_answer为原始XML文件和参考作答XML文件两份文件的差异,代表教师操作的答题特征;
S5、将步骤S3得到的实际作答XML文件与步骤S1得到的原始XML文件进行比较,得到两份XML文件之间的差异,获得学生操作的答题特征;
S6、比较步骤S4得到的教师操作的答题特征和步骤S5得到的学生操作的答题特征,根据相似度判分,得到判分结果。
2.如权利要求1所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S3中,获得学生作答后的实际作答Office文件,并将实际作答Office文件另存为实际作答XML文件,具体为,S31、在未作答的Office原始文件分别由所有学生作答完毕后,得到所有学生作答完毕的实际作答Office文件,并将所有学生的实际作答Office文件放入同一个文件夹student_works下;
S32、使用Python标准库win32com提供的文件操作方法,遍历文件夹student_works中所有学生的实际作答Office文件,使用win32com库中有关操作Office文档的API方法SaveAs,将学生的实际作答Office文件另存为实际作答XML文件。
3.如权利要求1所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S5中,将步骤S3得到的实际作答XML文件与步骤S1得到的原始XML文件进行比较,得到两份XML文件之间的差异,获得学生操作的答题特征,具体为,S51、对原始XML文件和实际作答XML文件中的每个XML文件,分别进行解析与提取节点,增添层次属性level,并分别为每个XML文件创建节点列表,分别得到节点列表nodelist1和节点列表nodelist3;
S52、遍历比较原始XML文件和实际作答XML文件两个XML文件的节点列表nodelist1和节点列表nodelist3,依据节点所属DOM树路径以及节点属性包括节点层次nodeLevel、节点名称nodeName和节点类型nodeType,确定分别在两个XML文件中的两个节点为完全相同、部分相同或完全不同,在完全相同时,进入下一步骤S53;在部分相同时,进入步骤S54;在完全不同时,进入步骤S55;
S53、将判定为完全相同的两个节点分别从节点列表nodelist1 和节点列表nodelist3中删去;
S54、将判定为部分相同的两个节点分别从节点列表nodelist1 和节点列表nodelist3中提取并保存在节点列表change_ student中,对应属性修改操作,并分别从节点列表nodelist1 和节点列表nodelist3中删去;
S55、将判定为完全不同的两个节点,提取节点列表nodelist1中对应的节点并保存在节点列表delete_student中,提取节点列表nodelist3中对应的节点并保存在节点列表add_student中;
S56、在遍历比较节点列表nodelist1和节点列表nodelist3完成后,得到的节点列表add_ student、节点列表delete_ student和节点列表change_ student为原始XML文件和实际作答XML文件两份文件的差异,代表学生操作的答题特征。
4.如权利要求3所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S41与步骤S51中,分别进行解析与提取节点,增添层次属性level,并分别为每个XML文件创建节点列表,具体为,S411、对XML文件进行解析,使用Python内置的文档对象模型DOM即DOM树的API创建文档对象即Document对象,使用Document对象的解析方法Parse读取并解析XML文件内容;
S412、提取XML文件中的节点,使用Document对象的文档元素方法documentElement获取文档根节点对象,对DOM树中的所有节点进行从根节点开始的层序遍历,并对节点增添用以表示该节点的层次深度的层次属性level即level属性;并根据当前节点的level属性,将节点分类存储入创建的节点列表中;
S413、迭代步骤S411和步骤S412,直至XML文件中的所有节点遍历完毕。
5.如权利要求4所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S412中,对节点增添用以表示该节点的层次深度的层次属性level即level属性,具体为,令根节点对象的level属性为0,在父节点的level属性值上加1得到每个子节点的level属性,遍历DOM树并计算出每一个节点的level属性,并记遍历节点的level属性的最大值为m。
6.如权利要求3所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S42与步骤S52中,依据节点所属DOM树路径以及节点属性包括节点层次nodeLevel、节点名称nodeName和节点类型nodeType,确定分别在两个XML文件中的两个节点为完全相同、部分相同或完全不同,具体为,S421、在两个节点的节点所属DOM树路径以及节点属性包括节点层次nodeLevel、节点名称nodeName和节点类型nodeType中至少一项不同时,则两个节点为完全不同;否则,进入下一步骤S422;
S422、判定两个节点的节点类型node.Type是否均为第一设定值,在两个节点的节点类型node.Type均为第一设定值时,表示为文本节点,在两个节点的节点文本值nodeValue相等时,判定为完全相同,否则,进入下一步骤S423;
S423、判定两个节点的节点类型node.Type是否均为第二设定值,在两个节点的节点类型node.Type均为第二设定值时,表示为元素节点,在两个节点的节点属性nodeAttribute相等时,判定为完全相同,否则,判定为部分相同。
7.如权利要求3‑6任一项所述的基于XML文档相似度的Office操作题自动判分方法,其特征在于:步骤S6中,比较步骤S4得到的教师操作的答题特征和步骤S5得到的学生操作的答题特征,根据相似度判分,得到判分结果,具体为,S61、将每题的代表教师操作的答题特征的三个列表和代表学生操作的答题特征的三个列表对应比较,即add_answer与add_student遍历比较、delete_answer与delete_student遍历比较、change_answer与change_student遍历比较,得到完全相同的节点个数和;
S62、完全相同的节点个数和除以删去完全相同节点后教师作答卷的节点个数即为相似度;
S63、由步骤S62得到的相似度乘以对应题目的总分值即为学生在题目的得分。
8.一种采用如权利要求1‑7任一项所述的基于XML文档相似度的Office操作题自动判分方法的基于XML文档相似度的Office操作题自动判分系统,其特征在于:包括自主命题模块、参考作答模块、实际作答模块、答题特征提取模块和相似度判分模块,自主命题模块:在自主命题后获得Office原始文件,将未作答的Office原始文件另存为原始XML文件;
参考作答模块:在Office原始文件基础上,获得教师作答后的参考作答Office文件,并将参考作答Office文件另存为参考作答XML文件;
实际作答模块:在Office原始文件基础上,获得学生作答后的实际作答Office文件,并将实际作答Office文件另存为实际作答XML文件;
答题特征提取模块:将参考作答XML文件与原始XML文件进行比较,得到两份XML文件之间的差异,获得教师操作的答题特征;将实际作答XML文件与原始XML文件进行比较,得到两份XML文件之间的差异,获得学生操作的答题特征;
相似度判分模块:比较教师操作的答题特征和学生操作的答题特征,根据相似度判分,得到判分结果。