Word文档电子试卷的手写笔迹识别方法及计算机可读存储介质与流程

文档序号:19893445发布日期:2020-02-11 12:58阅读:1339来源:国知局
Word文档电子试卷的手写笔迹识别方法及计算机可读存储介质与流程

本发明涉及电子试卷答题数据识别技术领域,尤其是一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理执行时实现word文档电子试卷的手写笔迹识别方法。



背景技术:

在信息化、数字化、知识化爆炸式发展的时代,智慧学校的建设势在必行,空前迫切。而智慧教育变革的核心内容中,作业、考试的电子化是相当关键的一环,包括将纸质试卷扫描转化成电子批阅方式、将机读卡变成电子表格、以平板电脑作为答题工具等,这些措施都对教学效率的提升有较大影响。

目前,电子试卷的主要实现方式为:学校自行录入或购买一个大型电子题库,老师需要发布作业或制作试卷时从题库选题,如果没有题库,则需要老师每次都手动输入全部试题。老师选题完成之后,根据题目顺序等条件进行组卷,将多道试题打包成一张试卷,再将本试卷以word、网页或者图片形式发布到学生平板、学习机等终端。学生在专用app内进行操作完成作答,答题完成后试卷回传到批阅系统进行自动批阅或提供给老师批阅。通常来说,网页和图片形式的试卷都是在网页界面能够自动识别答案或根据图片来完成电子批阅。而转化成word后,需要学生打印成纸质试卷使用,在学生作答后,通过扫描仪对纸质试卷扫描以完成自动批改等功能。

现有技术有几大问题,首先是准备工作非常繁重,通常教师都能通过各种途径获得一整份试卷或者已经有大量的电子试卷(通过调查,初中学校的全部电子试卷一般会达到存储量500mb或者总份数500份左右)。而且,教师也不愿意在一个千万数量级的题库里通过大量试卷设计一套自己满意的试卷,通常教师对一个学期里需要用到的精题都是很熟悉的,且都保存在自己的电脑上。此时让教师自主选题组卷其实是增加了工作。其次,一般都需要安装指定app才能完成自动批改功能;或者通过扫描仪对纸质试卷扫描,操作复杂,而且精准度也是问题。最后,不管什么方式,学生做题后,试卷要么还是传统的纸质试卷,要么电子试卷只能存在于特定的企业的服务器里,不是通用格式(如word),不方便学生使用。



技术实现要素:

本发明的目的是提供一种可直接在电子批阅器中实现的word文档电子试卷的手写笔迹识别方法。

为此,提供一种word文档电子试卷的手写笔迹识别方法,包括以下步骤:

(1)提取笔迹,将word转化为rtf或xml格式并从中提取全部笔迹的shape格式数据;

(2)根据rtf文档格式定义,将提取的每个笔迹的shape格式数据替换为一个无损图片,所述无损图片的像素值小于预设值;

(3)将所述图片加入rtf文档的文档流的对应笔迹所在的位置,并以提取的时间顺序按照颜色的argb分量编码依次为全部图片id编号;

(4)将编号后的rtf文档导入richtextbox控件,获取每张图片相对于控件窗口所在的真实坐标,再根据每张图片的id编号对应其所在shape的相对坐标,换算该笔迹的轨迹坐标。

其中,所述无损图片编号的颜色argb分量占用32bit,以其中预设位数作为一个id,剩余部分作为校验位。

其中,把图片的校验位的值按8位2进制取补码作为校验码,用于图片读取的校验。

其中,所述无损图片编号的颜色argb分量中的alpha通道保持为0。

其中,根据rtf文档的行高和字体大小来判断笔记中字符所在的像素范围,从而确定笔迹聚集的轨迹范围为同一答题范围。

其中,对于每一条笔迹,根据笔迹的轨迹坐标记录其覆盖的行,若两条笔迹覆盖的行重合度达到预设值,则两条笔迹视为一组。

其中,对于每一条笔迹,根据坐标记录其覆盖的行,若两条笔迹覆盖的行完全重合,则两条笔迹视为一组。

其中,对于一组笔迹,若组内的两条笔迹之间的水平距离低于预设倍数的普通字符宽度,则视为属于一道试题,否则视为同一行的不同试题。

其中,若两条笔迹覆盖的行完全重合,且两条笔迹之间的水平距离低于预设倍数的普通字符宽度,则视为属于一道试题。

还提供一种计算机可读存储介质,该存储介质存储有可执行计算机程序,计算机程序被控制器执行时能够实现上述word文档电子试卷的手写笔迹识别方法。

本发明通过,实现以下有益效果:

(1)跳过从数据库组卷和格式转化步骤,直接以word文档形式发布老师根据自己日常记录得到的试卷。

(2)在word文档中直接作答,无需下载其他软件,便于使用。通过该笔迹识别方法识别笔迹可以准确定位笔迹在word中的位置,使得在批改完成后,批改后的笔迹输出到word中能够保持word标准文档格式不变,每份学生的试卷能有效保存,且能以任何通用文档工具打开。

附图说明

图1是该word文档电子试卷的手写笔迹识别方法的流程图。

具体实施方式

结合以下实施例对该word文档电子试卷的手写笔迹识别方法作进一步描述。

word电子试卷之所以很难直接作为试卷使用,是因为答案输入存在较严重的问题,如果采用字符串输入,数学公式输入是很难的,也非常影响学生做题效率,至于连线题,画几何图形,就更加不可能。同时,因为输入的字符串和原有的试题对系统来说都是一样的字符串,因此如果不做特殊处理,系统是无法区分哪些是试题,哪些是学生填写的答案。最后真实笔迹是具有签名效果的,如果采用字符串输入,则更容易作弊。通过word的墨迹手写功能可以解决公式以及笔迹输入问题,由于试题原档不存在墨迹手写数据,因此所有的墨迹数据都可以视为学生的答题内容,而所有的平板显然都是有触屏的,因此都可以实现手写输入(高品质的平板有更好的书写效果,专用手写笔能实现真实手写功能还原)。同时,所有的标准word工具(office,wps等),也均支持手写功能,因此,只要能提取和解析手写数据,则客户端不需要额外开发做题工具,教师也无需特别准备试卷,只要把word文档发送给学生,学生再以手写方式完成做题并提交给教师,再用本专利的方式进行分析和批改,则可完成整个作业或考试过程。

教师收到学生提交回来的所有试卷后,对全部试卷进行笔迹数据提取。在提取每一份试卷的笔迹时,利用word或第三方工具将word转化为rtf或xml格式(两者同word文档本质是一样的)并从中提取shape格式数据。word是采用rtf规范的文档,笔迹轨迹数据都会有pinkdata字段,该字段包含svb数据,svb数据由16进制byte数组(即buf)组成,墨迹手写功能通过buf中的二进制数据可直接转化为微软笔迹数据。

这个笔迹数据有所有的点、坐标、粗细,都可以用微软自带的api进行笔迹识别。上述笔迹识别方式为数据转化的常规格式,在此不做赘述。

该word文档电子试卷的手写笔迹识别方法提供如下笔迹定位方法。笔迹数据保存在文档中时,并不存在绝对坐标系,因此是无法直接获得笔迹的位置的。在rtf文档内,shape的坐标都是相对其所在段落(paragraph)的坐标,也就说shape的坐标属于相对坐标,而不是相对于整个word文档的绝对坐标,又由于一个shape只保存一条笔迹,且这些shape可能属于不同的段落,所以在统一成绝对坐标系之前,很难依靠内部逻辑就计算出不同shape里的哪些不同笔迹应该算为一个试题答案,因此需要进行笔迹定位。

笔迹定位方法通过图片标记来处理。具体的,根据rtf文档格式定义,将原档笔迹shape部分整段替换为一个最小的无损图片。

然后将该图片加入原本的文档流,由于该图片设定为小于1像素,因此不会破坏文本流原本布局。本图片存在至少1个点,每个点的颜色argb分量可占用32bit,以其中的一部分作为一个id,剩余部分作为校验位,比如,一个word文档有3个轨迹,则每个轨迹的id应该为0,1,2,其中id=2的轨迹对应的图片为:a=0,r=2,g=0,b=255-2。即拿一个极小图片中的一个或多个点组合成id,替换word的shape内容。校验码为图片其他位的值按8位2进制取补码,以rg分量表达图片可以支持65535条轨迹,如果不够可以减少校验码的长度或用2个点的图片表达id。其中,为了图片的美观性,可以将图片的alpha通道保持为0,使图片的透明度最高。

替换完成后,将整个rtf呈现在批阅系统自带的richtextbox控件中,从而获取到每张图片相对于控件窗口所在的真实坐标(这个坐标根据控件窗口大小设定而变化),再根据每张图片的id对应的shape和其相对坐标,换算成最终的轨迹坐标。比如图片1的相对于控件窗口所在的真实坐标为(20,20),而这个图片对应的shape的相对坐标为(10,-10),则这个shape的绝对坐标为(30,10)。普通richtextbox控件不能支持word所有功能,布局会有误差,但因为试卷是一样的,所以误差也是一样的,且替换的图片是可以正常布局的,因此不影响计算结果。

另外,该word文档电子试卷的识别系统可以自动识别答题区域。根据rtf文档的行高,和字体大小,可以很简单的知道一个字符所在的像素范围,也能将其设定为计算的一个阈值。换算成绝对坐标系后,每一行的坐标和所有笔迹的坐标均知道的情况下,可以高精度的计算出哪些轨迹应该属于一道题,具体规则如下:

如果笔迹属于相同的连续空白行(没有文本),则这些轨迹属于同一道试题。

其他情况:对于每一条笔迹,根据坐标记录其覆盖的行,如果两条笔迹覆盖的行重合度达到70%(经验值,可调整),或一条笔迹完全覆盖另一条笔迹所在的行,则两条笔迹视为一组,对于相同组的笔迹,如果:两条笔迹之间的水平距离低于3倍普通字符宽度(根据预设的样式属性fontsize决定),则视为属于一道试题,否则视为同一行的不同试题。但是下列情况可以考虑除外:如果这些轨迹处于同一下划线区域比如:___________,或者属于同一组括号()区域。这依然视为同一道题的答案。区域被系统标识后,还支持用户手动调整试题区域。

该word文档电子试卷的识别系统可以自动决策试题数量。由于学生做题有可能故意或无意在试卷其他位置填写字符,则可能造成识别异常。此时,对于一个区域是否真的是一个答案(而不是草稿)则难以判断。基于此,对所有学生提交的答题区域再次判断,如果一个区域无法和本班半数以上学生提交的答题区域重合,则放弃该试题区域。答题区域的识别规则为笔迹所占据的矩形空间,宽度和高度最小值均为预设的样式属性fontsize。

该word文档电子试卷的识别系统可以识别和批改:对于一道试题,由于已经获取所有笔迹,可提交这些笔迹给第三方api自动识别。一般来说只对客观题(如选择题)进行自动批改即可。但批改的结果需要保存回原本的word文件。由于每一条笔迹都是由特殊的带id信息的小图对应的,因此此时需要再根据笔迹和小图的对应关系,找到小图在rtf文档的位置,并在该位置添加一个批改标识(批改标识可以是能代表√或×的图片)。假设要在试题右上角添加标识,则查找本题答案的所有笔迹,其中包含横坐标轴上的最大值x和纵坐标轴上的最小值y的点的笔迹,则在本条笔迹数据的后面,直接增加一个批改标识即可(如在rtf源文档内直接添加一个shape,该shape包含一个√或×的图片或文字,其坐标值在关联笔迹值的基础上增加一个x偏移量,即标识的偏移量=笔迹shape的left偏移量+shape宽度)。最后,以相同的方式在试卷上添加一个批改统计:在添加shape时,在找到的笔迹shape后面直接添加其轨迹数据。其中,shpleft根据笔迹位置计算,shptop和笔迹shptop一致,pict是表示√或×的图片。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1