首页> 中国专利> 一种用于智慧教学的高速化试题导入方法

一种用于智慧教学的高速化试题导入方法

摘要

本发明公开了一种用于智慧教学的高速化试题导入方法,试题导入步骤为:步骤一、采用HTML技术上传试题文件;步骤二、将上传的试题文件转换成HTML页面;步骤三、采用正则表达式解析HTML页面的内容,对试题文件中源题目进行匹配,转换为不同题型试题;步骤四、输出、显示解析之后的批量试题。本发明利用成熟的HTML5技术、正则表达式、高效字符串匹配算法,极大程度上缩短了批量试题导入时间,且扩展了导入试题文件类型及匹配语言类型,真正意义上实现了批量、高速化试题导入,能够更好地帮助用户进行在线或者离线考试。

著录项

  • 公开/公告号CN104199871A

    专利类型发明专利

  • 公开/公告日2014-12-10

    原文格式PDF

  • 申请/专利权人 南京富士通南大软件技术有限公司;

    申请/专利号CN201410408828.0

  • 发明设计人 韩海勇;蒋海洋;姜明宇;

    申请日2014-08-19

  • 分类号G06F17/30(20060101);G06F9/44(20060101);

  • 代理机构32207 南京知识律师事务所;

  • 代理人蒋海军

  • 地址 210012 江苏省南京市雨花区文竹路6号

  • 入库时间 2023-12-17 03:18:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-23

    授权

    授权

  • 2015-01-07

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140819

    实质审查的生效

  • 2014-12-10

    公开

    公开

说明书

技术领域

本发明涉及一种试题导入方法,属于计算机软件应用web端开发技术领域,更具体地说, 涉及智能终端上的后台题库系统,将多种类型的试题大批量、短时间内高速无误的导入在线 教育或离线教育题库系统的方法。

背景技术

“智慧教学时代”的到来是新一代技术飞速发展的成果,不仅给教师和学生提供了新的 教学平台,也给软件应用行业带来了新的机遇和挑战。学校、企业内部有大量的基于Word、 pdf或图片形式的题目存在,但是无法应用到考试系统中去。如果依靠手工录入试题到考试系 统中,无疑将耗费企业或者学校大量的人力物力。手工录入试题速度慢、容易出错等问题成 了智慧教学发展的瓶颈。因此,设计一种通用的、批量导入试题的方法成为了学校、企业等 客户的需求。

目前,批量导入试题的方案已有多种,如中国专利申请号201010121907.5,申请日为2010 年3月11日,发明创造名称为:WORD格式试卷自动导入数据库系统的方法,该申请案公 开的导入过程包括:编辑WORD格式试卷,对试卷按照一定的规则进行标注;所述标注包括: 在试卷中的题型号、大题号、小题号前使用分割符号进行标注;然后根据标注将WORD格式 试卷分成多个新文档,每个新文档的内容为一道题,并对这些新文档重新命名并保存;根据 试题之间的分割符号读出整个WORD试卷所有段数,然后循环扫描所有段,把读出的题型号、 大题号、小题号、每道题对应的新文档分别解析到数据库中;在数据库中对不同的大题号和 小题号加注辅助信息。

又如中国专利申请号201410126266.0,申请日为2014年3月31日,发明创造名称为: 电子试卷的导入方法。该申请案的步骤包括:S1.获取电子试卷的文本,并进行冗余处理;S2. 区分出经冗余处理后的电子试卷的试卷头和试题部分;S3.当识别试卷头时,将识别到的首行 字符串标示为标题,将其余信息标示为介绍信息,并将所述标题和介绍信息分别存入对象树 的试卷类中;S4.当识别试题部分时,通过查找所述试题部分的文本的关键字段,将所述试题 部分的文本划分为若干道试题;S5.通过查找所述若干道试题中的每一题的关键字段识别出每 一题的题型、题干和选项信息,并将所述每一题的题型、题干和选项信息分别存入对象树的 试题类中;S6.通过所述对象树展示所述电子试卷的预览信息,完成所述电子试卷的自动导入。

上述申请案均实现了试卷存放与管理的电子化和自动化,比传统的手工录入有了很大进 步。但是,试题批量导入的速度依旧是亟需解决的问题。而且,现有的批量试题导入方法仅 支持极少的语言,导入试题的类型也受到很大的限制,仍需进一步改进。

发明内容

1.发明要解决的技术问题

本发明的目的在于解决现有技术批量导入试题时,试题导入速度慢、数量少、导入试题 种类受限等问题,提供了一种用于智慧教学的高速化试题导入方法,本发明通过利用成熟的 HTML5技术、正则表达式、高效字符串匹配算法,极大程度上缩短了批量试题导入时间,真 正意义上实现了批量、高速化试题导入,能够更好地帮助用户进行在线或者离线考试。

2.技术方案

为达到上述目的,本发明提供的技术方案为:

本发明的一种用于智慧教学的高速化试题导入方法,其步骤为:

步骤一、采用HTML技术上传试题文件;

步骤二、将上传的试题文件转换成HTML页面;

步骤三、采用正则表达式解析HTML页面的内容,对试题文件中源题目进行匹配,转换 为不同题型试题;

步骤四、输出、显示解析之后的批量试题。

更进一步地,步骤一所述的试题文件为WORD文件。

更进一步地,步骤一上传试题文件的过程为:

A、确定文件识别区域S,将试题文件拖曳至该文件识别区域S;

B、web端获取区域S的文件对象,并检测试题文件的类型。

更进一步地,步骤一还可按照试题题型批量导入试题,具体过程为:

a、在web端导航栏选择需导入试题的类型;

b、进入特定题型导入界面,导入对应试题内容;

c、设置试题正确答案;

d、重复上述步骤,直至试题导入结束。

更进一步地,步骤二所述试题文件转换过程为:

(1)启动试题文件,设置试题文件不可见,并将该试题文件打开;

(2)利用new Variant(i)参量控制试题文件格式转换;

(3)若i=5,则将试题文件转换为目标格式html文件;

(4)关闭试题文件。

更进一步地,步骤三中正则表达式解析HTML页面的过程为:

1)针对试题文件中的一道试题,匹配html的<>标签,如果匹配结果不为空,则转步骤 2),若匹配结果为空,则转步骤22);

2)匹配<>中img标签的src,如果匹配结果不为空,则转步骤3),如果匹配结果为空, 则转步骤22);

3)替换img标签的路径;

4)如果包含sup标签,则跳出本次循环,转步骤22);

5)如果不包含sup标签,则将匹配结果替换成“”;

6)匹配数字,找到该数字右边不为数字的位置;

7)匹配汉字,找到该汉字左边的位置;

8)将匹配的文本内容插入到数据库中,并将试题内容返回给web端显示;

9)遍历后台取得试题,匹配试题信息;

10)是否导入单选试题,是则转步骤11),否则转步骤12);

11)解析出试题题干内容和选项,设定正确选项,转步骤20);

12)是否导入多选题型,是则转步骤13);否则转步骤14);

13)解析出试题题干内容和选项,设定正确选项,转步骤20);

14)是否导入填空题型,是则转步骤15),否则转步骤16);

15)解析出试题内容,设定初始答案,转步骤20);

16)是否导入判断题型,是则转步骤17),否则转步骤18);

17)解析出试题题干内容和题目选项,设定初始答案,转步骤20);

18)是否导入主观题,是则转步骤19);

19)根据主观题模版,解析出试题题干内容,设定初始答案;

20)导入试题数量加1;

21)是否为最后一题,是则转步骤22),否则转步骤1);

22)试题文件解析结束。

3.有益效果

采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:

(1)本发明的一种用于智慧教学的高速化试题导入方法,利用了成熟的HTML5技术, 文件识别快速、高效,试题导入速度可达到1000道/秒,其速度远远大于目前市场上现有产 品的试题导入速度,节省了大量的时间;

(2)本发明的一种用于智慧教学的高速化试题导入方法,能够在文件识别区域S上传 word形式的批量试题文件,通过匹配操作,每次可导入上千道试题,实现了真正意义上的批 量导入,大大节约了人力物力资源;

(3)本发明的一种用于智慧教学的高速化试题导入方法,采用自动识别技术和匹配技术, 能够准确无误的解析出多种类型的试题,且由于采用了高效、准确的正则匹配方法,能够识 别含有英文、中文、日文等多种语言的试题,传统的手工试题导入方法相比较,大大提高了 试题导入的准确性。

附图说明

图1是本发明中按试题文件批量导入试题的示意图;

图2是本发明中按试题文件批量导入试题的流程图;

图3是本发明中按试题题型导入试题的示意图;

图4是本发明中按试题题型导入试题的流程图;

图5是本发明中批量导入试题匹配结果示意图;

图6是本发明中基于正则表达式高速、批量导入试题的系统结构框图;

图7是本发明中高速化批量导入试题的框图;

图8是本发明中高速化批量导入试题的具体实施方法流程图。

具体实施方式

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

实施例1

结合附图,本实施例针对智慧教学中试题导入的瓶颈问题,提出了一种用于智慧教学的 高速化试题导入方法,采用html技术,正则表达式,高效的字符串模式匹配算法处理源题的 各种字符串,将其转换成符合格式的目标字符串;可进行word格式的批量试题导入,从而节 省了大量的人力物力,实现了高速化批量试题导入的功能。

本发明采用题库系统中预存的试题模版或自定义试题模版,通过正则表达式匹配输入的 题目和题目模板,分析出试题内容,生成html文件,实现了1000题/秒的高速化试题导入。

一、采用HTML5技术实现试题文件上传

HTML5是HTML、XHTML以及HTML DOM的新标准。HTML5是应用于高速化批 量试题导入方法的重要技术之一。

HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格 式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。这增加了高速化批量 试题导入方法实现界面的灵活性。基于HTML5开发的网页APP拥有更短的启动时间,更快 的联网速度以及本地存储功能。HTML5技术有利于本实施例实现真正意义上的高速化试题导 入。HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。 在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。较之以前的 Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。HTML5技术的 灵活性有助于高速化批量试题导入方法实现对word批量试题文件的上传。

在web端进行试题上传的过程中,可采用以下两种模式:

(1)按文件批量试题导入:可导入word文件中的批量试题。试题可以是单项选择、多 项选择、填空等多种题型,而且试题数量不限。本实施例采用HTML5技术通过拖拽至文件 识别区域S,实现word文件的批量试题上传。

定义1:文件识别区域S指web端的批量试题导入界面上用于识别word批量试题文件的 区域S。文件识别区域S参看图1,若试题文件位于区域S内部,可进行文件类型和题型识 别;若试题文件位于区域S外部,文件识别失败。

按文件试题批量导入过程参看图1,word文件中有2000道试题,导入步骤如下(顺序执 行):

A、确定文件识别区域S,将word试题文件拖曳至该文件识别区域S;

B、web端获取区域S的文件对象,并检测试题文件的类型,为word文件。利用javadoc 命令将word试题文件转换成html页面。

按文件试题批量导入流程参看图2:

(2)按题型导入试题:由于不同题型的试题属性有所不同,教师或企业对于一些主观题 或客观题有特殊的要求和限制。因此,本实施例可根据题型进行试题导入,并且根据需求, 做出特殊的设置。以此满足用户的特殊化要求,增加批量试题导入的灵活性。

按题型试题导入参看图3,导入步骤如下(顺序执行):

a、在web端导航栏选择需导入试题的类型;

b、进入特定题型导入界面,分别导入试题题干和选项,自由设置选项个数;

c、置试题正确答案和选项布局;

d、重复上述步骤,直至试题导入结束。

按题型试题导入流程如图4所示。

二、word文件向html页面转换

在web端,后台利用javadoc将word转换成html页面,以便于对源试题进行匹配,转 换为目标试题,步骤如下所示(顺序执行):

(1)启动word试题文件,设置word试题文件不可见,并将该试题文件打开;

(2)利用new Variant(i)参量控制word文件的转换;

(3)若i=5,则将试题文件转换为目标格式html文件;

(4)关闭试题文件,转换结束。

三、采用正则表达式过滤HTML内容

正则表达式(RegularExpressions)是一种功能强大、灵活高效的处理文本的工具。正 则表达式本身,加上如同一门袖珍编程语言的通用模式表示法,赋予使用者描述和分析文本 的能力。配合上特定工具提供的额外支持,正则表达式能够添加、删除、分离、叠加、插入 和修正各种类型的文本和数据。

本实施例利用正则表达式可以快速分析大量的文件试题,找到特定的字符模式;提取、 编辑、替换或删除文本子字符串;本实施例主要根据HTML的<>标签、img标签、sup标签 以及特定的正则表达式对word试题文件中的不同类型试题进行过滤,匹配出不同试题题型的 题干和选项,从而转化为目标试题串。

对转换为目标文件的word试题文件,采用正则表达式过滤HTML内容,将其转换为不 同的题型,如单选、多选、填空等。一道试题的匹配过程如下所示(顺序执行):

1)针对word文件中的当前试题,匹配html<>标签。如果匹配不为空,则转步骤2); 若为空,则转步骤22)。

2)匹配<>中img标签的src。如果匹配不为空,则转步骤3);若为空,则转步骤22)。

3)替换img标签的路径。

4)如果包含sup标签,则跳出本次循环,转步骤22)。

5)如果不包含sup标签,则将匹配结果替换成“”。

6)匹配数字,找到数字右边不为数字的位置,以匹配出题号。

7)匹配汉字,找到汉字左边的位置,找到题干的开始位置。

8)将匹配的文本内容插入到数据库中,并将题目内容返回给web端显示。

9)遍历后台取得题目,匹配题目信息。

10)是否导入单选试题,是则转步骤11);否则转步骤12)。

11)解析出题干内容和题目选项,选项初始设定,转步骤20)。

12)是否导入多选题型,是则转步骤13);否则转步骤14)。

13)解析出试题题干内容和选项,设定正确选项,转步骤20)。

14)是否导入填空题型,是则转步骤15),否则转步骤16)。

15)解析出试题内容,设定初始答案,转步骤20)。

16)是否导入判断题型,是则转步骤17),否则转步骤18)。

17)解析出试题题干内容和题目选项,设定初始答案,转步骤20)。

18)是否导入主观题,是则转步骤19)。

19)根据主观题模版,解析出试题题干内容,设定初始答案。

20)导入试题数量加1。

21)是否为最后一题,是则转步骤22),否则转步骤1)。

22)试题文件解析结束。

通过步骤1)至步骤22)可准确无误的匹配出一道试题的题干和选项。本实施例采用正 则表达式进行匹配,可过滤出不同的试题题型,并且针对主观题和客观题采用不同的试题模 版,增加了高速化批量试题导入方法的灵活性。批量试题导入匹配结果参看图5。

四、基于正则表达式的高速化试题批量导入方法

基于正则表达式的高速化试题导入方法基于预存的试题模版,通过正则表达式匹配输入 的题目和寄存的题目模板,如果匹配适合,则通过字符串分解,分解出题干,各选项(A,B, C,D等),生成html文件,供第三方软件使用。试题模版可覆盖小学至高中,以及社会职称 考试等,涉及的科目有英语,日语,数学,政治,会计,公务员等多种。基于正则表达式的 高速化试题批量导入方法的系统结构图参看图6。

值得说明的是,通常企业或学校的试题库往往存在多种类型,如word、pdf和图片等试 题文件。本实施例主要适用于WORD文件的批量导入,但本实施例的设计思路可以推广应用 到pdf和图片等类型的试题文件导入上。本实施例的高速化试题导入方法,主要目标有:

(1)快速导入:采用高速化识别模式,使得试题导入速度大大高于目前市场上同类软件 的导入速度,大大减少试题导入耗费的时间。

(2)批量导入:每次试题导入的数量达到1000道,实现真正的批量试题导入。

(3)无误自动识别多种语言:实现自动识别英文、日文、中文等语言,且不出现乱码。

参看图7和图8,下面以实际的智慧教学应用软件smartClass为基础,实现高速化批量试 题导入。smartClass软件可支持在线教学、在线考试、离线作业等功能。word批量试题文件 含有1000道不同题型的试题,含有中文、英文、日文三种语言的试题。高速化批量试题导入 方法的具体实施步骤如下所示(顺序执行):

步骤一:采用HTML技术上传试题文件;

1):确定文件识别区域,将试题文件拖拽至识别区域;

var box=document.getElementById('importQuestion');

2):web页面获取拖拽区域的文件对象;

ar fileList=e.dataTransfer.files;

3):检测文件类型。若检测类型是word文件,则转4);

if(fileList[0].name.substring(fileList[0].name.lastIndexOf('.'),fileList[0].name.length)!=".docx"

4):拖拽试题文件至浏览器,实现预览功能;

步骤二:将试题文件转换成HTML页面;

1):启动试题文件;

ActiveXComponent app=new ActiveXComponent("Word.Application");

2):设置试题文件不可见,并将其打开;

app.setProperty("Visible",new Variant(false));

Dispatch docs=app.getProperty("Documents").toDispatch();

3):new Variant(i)参量用来控制word文档另存为的目标文档格式。若i=5,转4);

4):将批量试题文件转换为目标格式html文件,转5);

5):关闭批量试题文件。

步骤三:采用正则表达式对源题目进行匹配;

1):针对批量试题文件中的当前试题,匹配<>标签。如果匹配不为空,则转2);若为空, 则转22);

Pattern p1=Pattern.compile("<(\n||.)*?>");;

2):匹配img标签中src。如果匹配不为空,则转3);若为空,则转22);

String reg="\\d{14,14}.{7,7}image\\d*\\.\\w{3,5}";

3):替换img标签的路径;

path="/returnWordImg/"+examid+"/"+sourcePath.replaceAll("/","%5E");

4):如果包含sup标签,则跳出本次循环,转22);

if(m1.group().contains("sup")){

continue;}

5):如果不包含sup标签,则将匹配结果替换成“”;

source=source.replace(m1.group(),"");

6):匹配数字,且找到其右边不为数字的位置;

String huanHangRegx="(?<!\\d)(?=\\d+\\s*、)";

source=source.replaceAll(huanHangRegx,"\r\n");

source=source.replaceAll("(?<!\\d)(?=\\d+\\s+.)","\r\n");

source=source.replaceAll("(?<!\\d)(?=\\d+\\.\\s+)","\r\n");

Pattern p2=Pattern.compile("\\d+\\s+.");

7):匹配找到汉字左边的位置;

huanHangRegx="(?=[一二三四五六七八九]?[一二三四五六七八九]、)";

source=source.replaceAll(huanHangRegx,"\r\n");

source=source.replaceAll("\\\\\\*MERGEFORMAT","");

String reg="(\\d*||[A-D])\\s*、";

8):将匹配的文本内容插入到数据库中,并将插入的题目内容返回给前台页面。前台页 面利用Jquery技术,将返回的题目内容动态添加到页面中显示;

9):遍历后台取得题目,匹配题目信息;

10):是否导入单选试题,是则转11),否则转12);

11):解析出题干内容和题目选项,选项初始设定,转20);

12):是否导入多选题型,是则转13);否则转14);

13):解析出题干内容和题目选项,选项初始设定,转20);

14):是否导入填空题型,是则转15);否则转16);

15):解析出试题内容,设定初始答案,转20);

16):是否导入判断题型,是则转17),否则转18)

17):解析出题干内容和题目选项,设定初始答案,转20)

18):是否导入主观题,是则转19);

19):根据主观题模版,解析出题干内容和题目选项,设定初始答案;

20):导入试题数量加1;

Qnum++;

21):是否为最后一题,是则转22);否则转1);

22):批量试题文件解析结束;

步骤四:在smartClass软件的PC端显示批量试题文件中的所有试题。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号