一种基于知识约束的MCT完形填空智能出题方法及系统
文献发布时间:2023-06-19 16:06:26
技术领域
本发明属于推荐算法技术领域,具体涉及一种基于知识约束的MCT完形填空智能出题方法及系统。
背景技术
为满足医学专业留学生在专业学习和临床实习过程中运用中文进行交际的需求,切实提高来华留学医学教育质量,2019年12月15日,教育部中外语言交流合作中心和汉考国际联合创建的医学汉语水平考试(Medical Chinese Test,简称MCT)正式启动。MCT旨在考查留学生在医学/医疗场景中与患者、医护人员及相关人员用中文进行交际的能力,内容聚焦在医院日常交际场景的理解、病情的沟通与交流、疾病的具体描述。
然而,MCT题库资源的建设仍然停留在初级和传统阶段,至今市场上仍没有能够实现MCT完形填空题的智能生成。在信息化时代,教育与科技的融合是大势所趋,通过互联网、云技术和人工智能可以拓展MCT题库构建工程,提升MCT题库生成的智能化,实现MCT考试的提效增速。而在如今大数据时代的背景下,海量的医疗知识字典、医疗知识图谱同样可以作为医疗知识库数据支撑,为MCT题库智能生成注入新鲜活力,实现医学汉语资源的科学利用。
发明内容
本发明公开了一种基于知识约束的MCT完形填空智能出题方法及系统,包括:基于HSK中文水平等级和医学词典等多维复杂知识约束对医疗文本进行篇章语义解析,以筛选出符合要求的医疗文本作为出题语料;基于MCT等级的知识约束对出题语料进行考点词挖空;基于医学知识图谱、HSK中文水平等级、MCT等级等多维复杂知识约束完成干扰项生成;将题干挖空文本和题目列表组成完形填空题目进行输出。本发明针对参加MCT考试的医学专业留学生,内容聚焦在医院日常交际场景的理解、病情的沟通与交流、疾病的具体描述,海量的医学词典、医疗知识图谱为MCT题库智能生成提供医疗知识数据支撑,实现医学汉语资源的科学利用。
一方面,一种基于知识约束的MCT完形填空智能出题方法,包括以下步骤:
S1:医疗文本出题语料筛选步骤
S11:对医疗题干文本进行分词,分词结果存储于数组listOfStr中;
S12:将“中医疾病与病征编码”词典中词汇存储于数组txt中,如果listOfStr中的词汇包含于词典中,则舍弃对应的医疗题干文本;
S13:若医疗题干文本被保留,则依次遍历listOfStr中的每个词语,判断listOfStr中的每个词语是否都存在于“科室-疾病”医学词典department中;若存在,则对字典time中的相同键次数+1;
S14:遍历结束后,找出字典time中键次数最大的值,即出现次数最多的科室,将该科室名判断为题干文本的类别;若类别符合MCT出题要求,则该医疗题干文本保留;
S15:若保留医疗题干文本,将HSK中文水平等级的等级词汇“HSK”存储于数组strDict1中;
S16:依次遍历listOfStr中的每个词语,在数组strDict1中寻找词语对应的HSK中文水平等级;设当前出题对应的MCT等级值为c,其中c包括一级、二级和三级,设置MCT等级一级对应HSK1-4级、MCT等级二级对应HSK5级、MCT等级三级对应HSK6-9级;若词语对应的HSK等级超过其对应的MCT等级,则舍弃对应的医疗题干文本;
S17:若医疗题干文本被保留,则将该医疗题干文本确定为出题语料文本TextQuestion;
S2:考点词挖空步骤
S21:将MCT考试大纲中的等级词库小于当前出题MCT等级值c的词汇存储于数组strDict2中;所述等级词库包括词汇及其对应的MCT等级;
S22:判断listOfStr中的词语否存在于strDict2中,如果存在,则将该词语存储于候选挖空词组listLine中;
S23:如果候选挖空词组中词汇数量多于设定的MCT单题出题词语数量限定值n,则随机剔除词汇,保证剩余挖空词汇不多于n个,由剩余挖空词汇组成的词组为最终挖空词组;
S24:遍历最终挖空词组,对每个词在出题语料文本TextQuestion中找到该词第一处出现的位置,将该词替换为挖空字符“____”;
S23:基于完成挖空后的出题语料文本TextQuestion形成题干挖空文本;
S3:干扰项生成步骤
S31:创建题目选项数组key,遍历最终挖空词组中的词汇,每个词语依次存入数组key的第1个单元key[0];
S32:若key[0]存在于医学知识图谱中,则在该知识图谱中随机选择另外3个词语构成干扰项,并将这3个字符串存入数组key的第2至第4单元中,并将题目标注为“医学题”,将题目标注的值存入key的第5个单元中;
S33:若key[0]不存在于医学知识图谱中,则进一步判断key[0]是否存在于HSK中文水平等级词汇数组strDict1中,若存在,则在数组strDict1中随机选择另外3个词语构成干扰项,并将这3个字符串存入数组key的第2至第4单元中,将题目标注为“语法题”,将题目标注的值存入key的第5个单元中;
S34:若key[0]不存在于HSK中文水平等级词汇中,则在MCT考试大纲等级词库strDict3中随机选择另外3个词语构成干扰项,并将这3个字符串存入数组key的第2至第4单元中,将题目标注为“其它题”,将题目标注的值存入key的第5个单元中;
S4:完形填空题目输出步骤
S41:将获得与最终挖空词组的数量m一致的m个题目选项数组key作为题目列表;其中,m≤n。
S42:将题干挖空文本和题目列表组成完形填空题目进行输出。
另一方面,一种基于知识约束的MCT完形填空智能出题系统,包括:
医疗文本出题语料筛选模块,用于基于HSK中文水平等级和医学词典的知识约束对医疗文本进行篇章语义解析,筛选出符合要求的医疗文本作为出题语料;
考点词挖空模块,用于基于MCT等级的知识约束对出题语料进行考点词挖空,形成题干挖空文本;
干扰项生成模块,用于基于医学知识图谱、HSK中文水平等级和MCT等级的知识约束完成干扰项生成,获得题目列表;
完形填空题目输出模块,用于输出由题干挖空文本和题目列表组成的完形填空题目。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
本发明针对参加MCT考试的医学专业留学生,内容聚焦在医院日常交际场景的理解、病情的沟通与交流、疾病的具体描述,海量的医学词典、医疗知识图谱为MCT题库智能生成提供医疗知识数据支撑,实现医学汉语资源的科学利用。
附图说明
图1为本发明的基于知识约束的MCT完形填空智能出题方法的流程图;
图2为本发明的基于知识约束的MCT完形填空智能出题系统的结构框图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
参见图1所示,为本发明一种基于知识约束的MCT完形填空智能出题方法的详细步骤。
具体的,如下将以一个具体的实施例进行说明,已知题干文本“demo.txt”的内容如下表1。
表1
本发明方法对应的实施步骤如下:
S1:医疗文本出题语料筛选步骤
S11:对医疗题干文本进行分词,分词结果存储于数组listOfStr中。数组内容为:['history',”,'患者','胃会','反酸','偶尔','会痛','是','什么','病','医生','你好','很','高兴','能','帮到','你','胃炎','胃溃疡','都','有','这种','表现','可以','胃镜','检查','那要','吃','药好','吃点','奥美拉唑','和','铝','碳酸镁','片','看看','两种','一起','药','吗','的','怎么','吃法','多','大','年纪','啊','还有','其他','不适','79']
S12:将“中医疾病与病征编码”(
S13:依次遍历listOfStr中的每个词语,是否存在于“科室-疾病”医学词典(
S14:遍历结束后,找出字典time中数量最大的值,即出现次数最多的为“内科”。则该题干文本标注类型为“内科”。该类型符合MCT出题要求,故医疗题干文本保留。
S15:将HSK中文水平等级的等级词汇“HSK”存储于数组strDict1(
S16:依次遍历listOfStr中的每个词语,在数组strDict1中寻找该词语对应的HSK中文水平等级。设当前出题对应的MCT等级值为二,则listOfStr中的每个词语对应的HSK等级均未超过其对应的MCT等级,故该医疗题干文本保留。
S17:该医疗题干文本确定为出题语料文本TextQuestion。
S2:考点词挖空步骤
S21:将MCT考试大纲中的等级词库(包含词汇及其对应的MCT等级)小于当前出题MCT等级值二的词汇存储于数组strDict2((
S22:判断listOfStr中的词汇是否存在于strDict2中,如果存在,则将该词存储于候选挖空词组listLine中。针对题干文本“demo.txt”的文本出题,存入候选挖空词组listLine中的词有:['反酸','什么','表现','胃镜','检查','片','怎么','年纪']。
S23:因为候选挖空词组中词汇数量多于MCT单题挖空词数量限定值4,则随机剔除词汇,保证剩余挖空词汇不多于4个。由剩余挖空词汇组成的词组为最终挖空词组,经随机剔除后生成的最终挖空词组为:['反酸','什么','表现','胃镜']。
S24:对最终挖空词组进行遍历,对每个词在出题语料文本TextQuestion中找到该词第一处出现的位置,将该词替换为挖空字符“____”。
S25:如步骤S24所述,完成挖空后的出题语料文本TextQuestion形成题干挖空文本。
最终形成的题干挖空文本如下表2。
表2
S3:干扰项生成步骤
S31:创建题目选项数组key,对最终挖空词组['反酸','什么','表现','胃镜']中的词汇遍历,每个词依次存入数组key的第1个单元key[0]。
S32:以“反酸”为例。因“反酸”存在于医学知识图谱(
S33:以“什么”为例。因“什么”存在于HSK中文水平等级词汇数组strDict1中,则在数组strDict1中随机选择另外3个词语[“咱”,“哪些”,“各”]构成干扰项,并将这3个字符串存入数组key的2-4单元中。并将题目标注为“语法题”,并将该标注值存入key的第5个单元中。
S34:以“表现”为例。因“表现”不存在于知识图谱和HSK中文水平等级词汇数组strDict1中,则在MCT考试大纲等级词库strDict3(
S4:完形填空题目输出步骤
S41:如步骤S3所述,获得与最终挖空词组数量4一致的4个题目选项数组key,即题目列表。针对题干文本“demo.txt”的文本生成的最终干扰项题目列表如下:
{[“反酸”,“皱纹”,“哺乳”,“手掌”,“医学题”]
[“什么”,“咱”,“哪些”,“各”,“语法题”]
[“表现”,“断端”,“胆石病”,“肺气肿”,“其它题”]
[“胃镜”,“胃镜”,“难产”,“失神”,“其它题”]}
S42:由题干挖空文本和题目列表组成完形填空题目进行输出。
最终生成的题目如下表3。
参见图2所示,本发明一种基于知识约束的MCT完形填空智能出题系统,包括:
医疗文本出题语料筛选模块201,用于基于HSK中文水平等级和医学词典的知识约束对医疗文本进行篇章语义解析,筛选出符合要求的医疗文本作为出题语料;
考点词挖空模块202,用于基于MCT等级的知识约束对出题语料进行考点词挖空,形成题干挖空文本;
干扰项生成模块203,用于基于医学知识图谱、HSK中文水平等级和MCT等级的知识约束完成干扰项生成,获得题目列表;
完形填空题目输出模块204,用于输出由题干挖空文本和题目列表组成的完形填空题目。
表3
一种基于知识约束的MCT完形填空智能出题系统的具体实现同基于知识约束的MCT完形填空智能出题方法,本实施例不再重复说明。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。