本发明专利技术公开了计算机课程填空题自动生成方法,包括从教材大纲中选择文本作为训练集;将训练集中的文本送入TextRank算法中提取关键句;从出题文本集中抽取若干条数据,并将其标记为三元组形式,将标记后的数据放入TPLinker模型中,采用Handshaking tagging scheme方法进行词汇标注,完成TPLinker模型训练;将关键句输入训练后的TPLinker模型中,将输出的实体关系依据TF
【技术实现步骤摘要】
计算机课程填空题自动生成方法
[0001]本专利技术属于出题方法
,涉及一种计算机课程填空题自动生成方法。
技术介绍
[0002]近年来随着多种实体关系抽取和文本关键句提取的模型的提出与落地,自然语言处理领域在深度学习方向也得到了广阔的应用前景的进展,对于问题生成方面的问题,使用人力从海量文本中查找知识点提出问题仍是目前主流的出题方式,该种方法效率较低,对不同时期不同人员参与时问题生成的风格差别较大,需要一种统一的问题生成范式来减轻人力工作的负担。
[0003]目前,对于计算机科学与工程相关领域的实体识别和实体关系抽取的研究正处于起步阶段,没有针对计算机科学规范文本对应的公开权威的语料库。根本原因在于,规范中的内容涉及专业多,名词术语与日常用词有所重叠,不同专业之间名词关联复杂,使得专业领域人员和具备自然语言处理技术的人都无法单独展开工作。进而导致机器关键语句抽取的实体关系识别的能力较低,无法达到机器生成问题的目的。
技术实现思路
[0004]本专利技术的目的是提供一种计算机课程填空题自动生成方法,解决了现有技术中存在的无法达到机器生成问题的目的的问题。
[0005]本专利技术所采用的技术方案是,计算机课程填空题自动生成方法,包括以下步骤:
[0006]步骤1、从教材大纲中选择文本作为训练集;
[0007]步骤2、将训练集中的文本送入TextRank算法中提取关键句;
[0008]步骤3、从出题文本集中抽取若干条数据,并将其标记为三元组形式,将标记后的数据放入TPLinker模型中,采用Handshaking tagging scheme方法进行词汇标注,完成TPLinker模型训练;
[0009]步骤4、将步骤2得到的关键句输入步骤3得到的TPLinker模型中,将输出的实体关系依据TF
‑
IDF算法操作筛选出高频师徒关系,并依照特定规则生成出对应的问题。
[0010]本专利技术的特点还在于:
[0011]步骤2具体包括以下步骤:
[0012]步骤2.1、将训练集中的文本分割成单个句子;
[0013]步骤2.2、对全部句子的噪声数据进行剔除操作,得到预备基准句;
[0014]步骤2.3、将每个预备基准句的所有词embedding操作,然后使用word2vec自然语言处理模型生成词向量,得到训练集的词向量;同时取这些词向量的平均值,并以句子的合并向量作为句子的特征向量;
[0015]步骤2.4、创建一个N阶方阵,N为所有预备基准句的个数,将其所有元素置零,并用句子的余弦相似度填充;
[0016]步骤2.5、将N阶方阵视为余弦相似度矩阵M,先假设一个初始的TextRank分布矩阵
Representation(stanford.edu)作为预训练好的词向量(存储了40k术语的词向量)。用预训练好的词向量作为标准,对全部句子的噪声数据进行剔除操作,包括移除标点符号、数字、停用词,得到预备基准句;
[0034]步骤2.3、将每个预备基准句的所有词embedding操作,然后使用word2vec自然语言处理模型生成词向量,得到训练集的词向量;同时取这些词向量的平均值,并以句子的合并向量作为句子的特征向量;
[0035]步骤2.4、为找出句子之间的相似性,提高基准句库的价值度,创建一个N阶方阵,N为所有预备基准句的个数,将其所有元素置零,并用句子的余弦相似度填充;各个句子的余弦相似度计算方法如下:
[0036][0037]上式中,sentenceA
i
和sentenceB
i
为句子的特征向量的各分量,对任何维度均适用;
[0038]步骤2.5、将N阶方阵视为余弦相似度矩阵M,先假设一个初始的TextRank分布矩阵R,通过迭代,不断计算所有句子的相似度作为TextRank值,直到收敛为止,即R=MR
[0039]步骤2.6、将矩阵R转换为图结构G=(V,E),其中V为节点集,其中的节点为各个预备基准句,节点之间的边的权值即为对应句子之间的余弦相似度;将图中任两点之间的边用句子之间的转移概率表示,并将该图结构其输入到TextRank算法获得每个句子的TextRank值,之后根据TextRank值抽取排名前n个句子(n为预期生成问题数),得到基准句库,在训练集的词向量中查找基准句库对应的词语作为关键术语库;将关键术语库与现有的计算机科学领域的术语库作为对比,得到更为严谨的术语作为实体,筛掉无实体的基准句,得到关键句。
[0040]步骤3、从出题文本集中抽取若干条数据,并将其标记为三元组形式,将标记后的数据放入TPLinker模型中,采用Handshaking tagging scheme方法进行词汇标注,完成TPLinker模型训练;
[0041]利用handshaking tagging scheme方法进行词汇标注(可以在避免暴露偏差的情况下识别重叠关系),标注过程具体如下:以以下三种token间的链接将元数据转变为一个可以标注的序列:
[0042]实体头到实体尾(Entity Head to Entity Tail,EH
‑
to
‑
ET)
[0043]头实体头到尾实体头(Subject Head to Object Head,SH
‑
to
‑
OH)
[0044]头实体尾到尾实体尾(Subject Tail to Object Tail,ST
‑
to
‑
OT)
[0045]实体头到实体尾,就是通过给定的关系确定对应关系的两个实体,并将每个实体的第一个字和最后一个字标记连接;头实体头到尾实体头,就是通过给定的关系确定对应关系的两个实体,并将对应关系前的实体的第一个字和对应关系后的实体的第一个字标记连接;头实体尾到尾实体尾,就是通过给定的关系确定对应关系的两个实体,并将对应关系前的实体的最后一个字和对应关系后的最后一个字标记连接。如图2所示,图中第五行深色部分代表实体的头尾关系,红色标签代表两个实体的头部关系,蓝色标签代表两个实体的尾部关系,因为三种关系可能重叠,所以三种标签是存在于不同的矩阵;
[0046]由于实体尾部不可能出现在头部之前,所以矩阵中可以舍弃掉下三角区域,但是红标和蓝标可能出现在下三角区域,因此,可以把下三角区域的非零元素的值映射到上三角,并标记为2(顺语序方向的tag为1,逆向为2)将标注转换成一个上三角矩阵;
[0047]抽取所有entities,将(entity head,entity)存入字典D;对每个关系,抽取所有(subject tail,object tail)存入集合E;对每个关系,依次遍历(subject head,object head),得到有关系的两个实体的头部,结合字典D得到这两个实体尾部set(s),set(o)(此为真实的标签),再通过s本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.计算机课程填空题自动生成方法,其特征在于,包括以下步骤:步骤1、从教材大纲中选择文本作为训练集;步骤2、将所述训练集中的文本送入TextRank算法中提取关键句;步骤3、从出题文本集中抽取若干条数据,并将其标记为三元组形式,将标记后的数据放入TPLinker模型中,采用Handshaking tagging scheme方法进行词汇标注,完成TPLinker模型训练;步骤4、将步骤2得到的关键句输入步骤3得到的TPLinker模型中,将输出的实体关系依据TF
‑
IDF算法操作筛选出高频师徒关系,并依照规则生成出对应的问题。2.根据权利要求1所述的计算机课程填空题自动生成方法,其特征在于,步骤2具体包括以下步骤:步骤2.1、将所述训练集中的文本分割成单个句子;步骤2.2、对全部所述句子的噪声数据进行剔除操作,得到预备基准句;步骤2.3、将每个所述预备基准句的所有词embedding操作,然后使用word2vec自然语言处理模型生成词向量,得到训练集的词向量;同时取这些词向量的平均值,并以句子的合并向量作为句子的特征向量;步骤2.4、创建一个N阶方阵,N为所有预备基准句的个数,将其所有元素置零,并用句子的余弦相似度填充;步骤2.5、将N阶方阵视为余弦相似度矩阵M,先假设一个初始的TextRank分布矩阵R,通过迭代,不断...
【专利技术属性】
技术研发人员:朱磊,杨子梁,黑新宏,张梓恒,晁冰,王一川,姜琨,
申请(专利权)人:西安理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。