CN113420543A - 基于改进Seq2Seq模型的数学试题自动标注方法 - Google Patents
基于改进Seq2Seq模型的数学试题自动标注方法 Download PDFInfo
- Publication number
- CN113420543A CN113420543A CN202110509310.6A CN202110509310A CN113420543A CN 113420543 A CN113420543 A CN 113420543A CN 202110509310 A CN202110509310 A CN 202110509310A CN 113420543 A CN113420543 A CN 113420543A
- Authority
- CN
- China
- Prior art keywords
- vector
- word
- mathematical
- label
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 150
- 238000002372 labelling Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 217
- 239000011159 matrix material Substances 0.000 claims description 84
- 238000009826 distribution Methods 0.000 claims description 72
- 230000006870 function Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 9
- 239000004816 latex Substances 0.000 claims description 7
- 229920000126 latex Polymers 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明涉及一种基于改进Seq2Seq模型的数学试题自动标注方法,该方法包括以下步骤:采集数学试题数据;对数据进行预处理;构建基于改进的Seq2Seq模型;训练模型网络参数,并对未标记数学试题进行知识点预测标注。本发明能解决现有的人工标注数学试题费时费力,而且对于知识点会存在漏标、误标等问题,改进了传统的Seq2Seq模型,使之在预测知识点标签时更加关注数学试题中的关键部分以及相关知识点标签信息,从而进一步提高模型预测数学试题多个知识点标签的正确率。
Description
技术领域
本发明属于大数据以及人工智能教育技术领域,具体涉及一种基于改进Seq2Seq模型的数学题目自动标注方法。
背景技术
随着互联网教育规模的不断扩大和学生学习需求的深化,中国在线教育在现阶段已经进入了学习方式丰富多样、资源开放共享的智能教育时代,互联网、大数据和教育的有机结合成为时代发展的必然趋势。利用人工智能技术取代重复的人力劳动、提高效率,已是各行业明显的趋势,作为人口素质和国家储备力量的重要保证,教育领域在人工智能的应用与研究已成为学界和工业界研究的一个热点。
在智能教育的大环境下,需要对试题自动打标签,比如题库自动构建、易错点分析、相关题推荐、自动组卷等。但是在诸多应用场景下手动标注标签费时费力,自动标注系统可以省时省力的完成这一体力脑力活动。数学试题专业性强,包含多个知识点标签,手动标注知识点会存在漏标、误标等情况。因此需要设计一种良好的数学题目自动标注方法,来解决上述出现的问题。
现有技术中,将数学题目自动标注视为数学领域短文本多标签分类任务,方法主要有基于机器学习的与基于深度学习两类。基于传统的机器学习的方法,需要人为设定数学试题文本特征,且设定的文本特征的好坏将会直接影响到分类效果。基于深度学习的方法,采用NLP中具有良好自然语言表达的词向量,无需人为设定文本特征,是一种端到端的输出结构。但是现有的方法中,往往一道数学试题只打上一个标签,以及未能关注数学试题中对分类有重要帮助的关键词部分,还有未能考虑数学知识点中常常会有伴随知识点同步出现的情况。
发明内容
针对上述问题,本发明提出了一种基于改进Seq2Seq模型的数学题目自动标注方法,利用改进的Seq2Seq模型提取数学试题文本的浅层与深层数据特征,使得在生成数学知识点标签时,更多考虑到试题文本中关键词部分以及相关知识点标签信息,从而进一步提高模型预测数学试题多个知识点的正确率。
为了实现上述发明目的,本发明提出一种基于改进Seq2Seq模型的数学题目自动标注方法的技术方案,包括以下步骤:
S1:采集数学试题数据,形成数学试题数据集,所述数学试题数据集格式为通用自然语言文本、Latex表达的数学符号及表达式,所述每条数学试题数据包含一至多个知识点标签,所述知识点标签采用通用自然语言文本;
S2:对数学试题数据进行数据预处理,包括分词、去停用词、Latex字符串的正则表达式语义转换;
S3:将预处理后的数学试题数据送入ERNIE词向量提取层,将通用自然语言文本转换为数学试题词向量,所述ERNIE词向量提取层采用基于BERTBASE版本,由12层Transformer编码器构成;
S4:将转换后的数学试题词向量送入关键词突出的DPCNN编码器,提取数学文本语义信息;
S5:将S1中采集的带知识点标签的数学试题数据送入FSLLDA监督主题模型中,获得数学试题数据所属知识点标签的主题分布信息STM;
S6:解码器通过DPCNN编码器与注意力层提供的上下文语义向量C、解码器隐藏单元状态Z、上一个时刻预测最大概率标签向量g(yt-1)、S5中提供的主题分布信息STM,计算当前时刻的解码器输出状态ot;
S7:将当前时刻的解码器输出状态ot通过掩码层,防止重复预测已经生成的标签,通过softmax函数,生成当前时刻的标签概率分布向量yt;
S8:将标签概率分布向量yt通过词向量嵌入层,获得最大概率标签向量g(yt),该最大概率标签向量g(yt)将用来计算下一个时刻的标签概率分布向量yt+1;
S9:直到预测的最大概率标签向量为<EOS>,此时模型预测结束,在开始标记向量<SOS>与结束标记向量<EOS>中间生成的数学知识点标签向量,即为这道数学试题打上知识点标签。
进一步地,上述步骤S3中将通用自然语言文本转换为数学试题词向量包括以下具体步骤:
S3.1:将数学试题数据集的通用自然语言文本设定最大长度为n个字,长截断、短填充;
S3.2:通用自然语言文本X=[x1,......,xi,......,xn]通过基于BERTBASE版包含了12层Transformer编码器层后获得的数学试题词向量矩阵E=[e1,......,ei,......,en],其中xi表示通用自然语言文本的第i个单词,ei为对应单词的词向量。
进一步地,上述步骤S4中DPCNN编码器进行关键词突出的方法为:
S4.1:通过步骤S3中获得的数学试题词向量矩阵E=[e1,...,ei,...,en]∈R1×n,并且设一个初始值全为1的单词权重向量矩阵α∈Rm×n,按行复制m次数学试题词向量矩阵E,得到新的矩阵Enew∈Rm×n,其中,m为卷积核个数,n为数学文本向量长度;
S4.3:设立新矩阵H保存初始加权词向量矩阵Q的值:H=Q,H∈Rm×n;
S4.4:循环m次,根据DPCNN编码器的每一个卷积核求出Qm的目标语义向量Tm:Tm=DPCNN(Qm),自顶向下的迭代P次,通过计算初始词向量Hm与目标语义向量Tm的相似度,归一化更新权重向量αm:
αm=[αm1,...,αmi,...,αmn];
其中Wa,Za为权重参数,ba是偏置参数,Hm是矩阵H的第m行,Qm是加权词向量矩阵Q的第m行,Tm是根据DPCNN求出的基于Qm的第m行目标语义向量,αm为第m行权重向量,n为数学文本词向量长度,emi为m行第i个单词的相似度分数,αmj为第m行第j个单词的权重;
S4.5:m个卷积核分别迭代更新后,对赋予新值的单词权重向量矩阵α进行列向量的加权平均,得出根据不同卷积核提取的不同的词向量的关键词权重系数矩阵β∈R1×n;
S4.7:将关键词突出的数学试题文本词向量Eweight继续送入DPCNN编码器,根据不同的卷积核提取出的不同的试题文本语义目标向量S=[s1,s2,...,sm],m为卷积核个数。
进一步地,上述步骤S5中FSLLDA监督主题模型生成关于数学试题文本所属的知识点标签主题分布信息STM的方法为:
S5.1:将带有知识点标签的数学试题数据集进行学习,训练生成FSLLDA监督主题模型;
其中,zi=k表示将词语i分配给知识点标签主题表示除去词语i的其他单词,表示除词项i外其它单词的主题,表示除去单词i的词向量,t表示某一个具体的单词,表示统计第k个主题下词汇表中除了词项i其它词项出现的个数,表示文档m中除了词项i分配主题为k的词项数,为主题k在文档m中出现的先验概率,为词项i在知识点主题k中出现的先验概率;
进一步地,上述FSLLDA模型生成过程包括如下步骤:
S5.1.1:统计数学试题数据集中的数据,构建标签共现矩阵:
其中Labeli表示标签i,Labelj表示标签j,Count函数表示记录标签出现次数;Fi,j为标签i与标签j共现频率相关性矩阵;
S5.1.2:统计数学试题数据集中,所有标签i对应的文本,求出对应的平均字向量作为标签i在训练集中文本空间的特征表示;同理,求出标签j在数学试题数据集中文本空间的特征表示,构建标签语义相关性矩阵:
其中Si,j为标签i和标签j的语义相关性矩阵,cos函数为余弦函数;
S5.1.3:权重参数λ1,λ2表示考虑两部分信息的重要性,λ1,λ2∈[0,1]andλ1+λ2=1计算标签与标签之间的相关性矩阵:
Corrleation(Labeli,Labelj)=λ1*Fi,j+λ2*Si,j∈RL×L;
其中,Fi,j为标签i与标签j共现频率相关性矩阵;Si,j为标签i和标签j的语义相关性矩阵;
S5.1.4:根据数学试题数据集真实标签集计算文档标签相关性系数矩阵DLRLCE:
DLRLCE=Y*Corrleation∈RN×L;
其中,Y为数学试题数据集真实知识点标签矩阵,Corrleation矩阵为标签与标签之间的加权相关性系数矩阵;
其中η表示权重参数,γ代表平滑系数,DLRLCE为文档标签相关性系数矩阵;
S5.1.8:对于文档d中的每个单词wm,n:
进一步地,上述S5.3中Gibbs采样算法,对测试数学试题文本进行主题推断包括以下步骤:
其中,zi=k表示将词语i分配给知识点标签主题表示除去词语i的其他单词,表示所有单词的词向量,表示除去单词i的词向量,表示与词项wi分配相同主题k的词项数,表示文档m中分配主题为k的词项数,K表示主题个数,αk为主题k在文档m中出现的先验概率,βw为词语w在知识点主题k中出现的先验概率;
S5.3.2:根据狄利克雷分布的期望公式,最终推测出测试数学试题文本主题推断分布向量STM:
进一步地,上述步骤S6中上下文语义向量C和解码器输出状态ot的计算方法为:
S6.1:根据编码器不同卷积核提取的数学文本语义向量S=[s1,s2,...,sn]与解码器端t时刻的隐藏单元向量zt,通过注意力机制动态的选取当前时刻数学文本上下文语义向量ct;
S6.2:根据得到的数学试题文本所属的知识点标签主题分布信息STM、数学文本上文语义向量ct、解码器端t-1时刻隐藏单元状态zt-1、上一个时刻预测最大概率标签向量g(yt-1),综合以上信息计算t时刻的解码器输出状态ot;计算公式如下:
t时刻解码器端隐藏单元向量:zt=f(zt-1,g(yt-1),ct,STM);
t时刻的输出向量:ot=h(zt,ct,STM)。
进一步地,当前时刻数学文本语义向量ct的选取包括如下步骤:
S6.1.1:计算t时刻解码器端隐藏单元向量zt与编码器端所有的数学文本语义向量si的相似度:eti=a(zt,si);
其中eti表示解码器端隐藏单元向量zt与数学文本语义向量si的一个相似度分数;
S6.1.2:根据t时刻解码器端zt重点关注编码器提取的数学文本语义向量si部分分配权重:
其中αti表示编码器端第i个语义向量端权重系数,eti表示解码器端隐藏单元向量zt与编码器端数学文本语义向量si的一个相似度分数;
S6.1.3:计算t时刻的数学文本上下文语义向量:
其中αti表示编码器端第i个语义向量的权重系数,si表示编码器端第i个数学语义向量;
进一步地,上述步骤S7中生成当前时刻的标签概率分布向量yt的方法为:
S7.1:构造蒙面掩码向量It,公式如下:
其中li表示第i个标签;
S7.2:将t时刻输出向量ot通过掩码层,通过softmax函数计算得出标签概率分布向量yt:yt=softmax(ot+It),其中It为t时刻的蒙面掩码向量。
本发明的有益效果如下:
本发明可以解决现有的手动标注数学试题知识点标签费时费力的问题,而且基于改进的Seq2Seq模型,使之在预测多个知识点标签时更多考虑到试题文本中促进生成知识点标签的关键部分,以及知识点与知识点同时出现的情况,从而使之预测知识点标签时更加全面与准确。
附图说明
图1为本发明的方法流程图。
图2为改进Seq2Seq模型的网络结构图。
具体实施方式
为使本发明的技术方案更加清晰明确,下面结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明公开了一种基于改进Seq2Seq模型的数学题目自动标注方法,具体步骤如下:
S1:采集数学试题数据,形成数学试题数据集,所述数学试题数据集格式为通用自然语言文本、Latex表达的数学符号及表达式,所述每条数学试题数据包含一至多个知识点标签,所述知识点标签采用通用自然语言文本;
作为本发明的优选实施例,本发明中的数学试题数据来源于组卷网,对其上的数学试题文本,总共采集了2025条数学试题数据,包含初中数学下知识点135个,每道数学试题包含一至多个知识点标签。
S2:对数学试题数据进行数据预处理,包括分词、去停用词、Latex字符串的正则表达式语义转换;
作为本发明的优选实施例,本发明中的分词采用ERNIE自带分词工具包;停用词根据我们事先设定的停用词词典进行去除停用词,数学文本中的停用词具体包括“如图”、“以下”、“()”等对知识点标注无意义的字词;Latex字符串的正则表达式语义转换例如:将“∧”符号转换为“指数幂”、将“cos”转换为余弦三角函数、将“||”转换为绝对值等等。
S3:将预处理后的数学试题数据送入ERNIE词向量提取层,将通用自然语言文本转换为数学试题词向量,所述ERNIE词向量提取层采用基于BERTBASE版本,由12层Transformer编码器构成;
作为本发明的优选实施例,将通用自然语言文本转换为数学试题词向量包括以下具体步骤:
S3.1:将数学试题数据集的通用自然语言文本设定最大长度为n个字,长截断、短填充;
S3.2:通用自然语言文本X=[x1,......,xi,......,xn]通过基于BERTBASE版包含了12层Transformer编码器层后获得的数学试题词向量矩阵E=[e1,......,ei,......,en],其中xi表示通用自然语言文本的第i个单词,ei为对应单词的词向量。
S4:将转换后的数学试题词向量送入关键词突出的DPCNN编码器,提取数学文本语义信息;
作为本发明的优选实施例,DPCNN编码器进行关键词突出的方法为:
S4.1:通过步骤S3中获得的数学试题词向量矩阵E=[e1,...,ei,...,en]∈R1×n,并且设一个初始值全为1的单词权重向量矩阵α∈Rm×n,按行复制m次数学试题词向量矩阵E,得到新的矩阵Enew∈Rm×n,其中,m为卷积核个数,n为数学文本向量长度;
S4.3:设立新矩阵H保存初始加权词向量矩阵Q的值:H=Q,H∈Rm×n;
S4.4:循环m次,根据DPCNN编码器的每一个卷积核求出Qm的目标语义向量Tm:Tm=DPCNN(Qm),自顶向下的迭代P次,通过计算初始词向量Hm与目标语义向量Tm的相似度,归一化更新权重向量αm:
αm=[αm1,...,αmi,...,αmn];
其中Wa,Za为权重参数,ba是偏置参数,Hm是矩阵H的第m行,Qm是加权词向量矩阵Q的第m行,Tm是根据DPCNN求出的基于Qm的第m行目标语义向量,αm为第m行权重向量,n为数学文本词向量长度,emi为m行第i个单词的相似度分数,αmj为第m行第j个单词的权重;
S4.5:m个卷积核分别迭代更新后,对赋予新值的单词权重向量矩阵α进行列向量的加权平均,得出根据不同卷积核提取的不同的词向量的关键词权重系数矩阵β∈R1×n;
S4.7:将关键词突出的数学试题文本词向量Eweight继续送入DPCNN编码器,根据不同的卷积核提取出的不同的试题文本语义目标向量S=[s1,s2,...,sm],m为卷积核个数。
S5:将S1中采集的带知识点标签的数学试题数据送入FSLLDA监督主题模型中,获得数学试题数据所属知识点标签的主题分布信息STM;
作为本发明的优选实施例,FSLLDA监督主题模型生成关于数学试题文本所属的知识点标签主题分布信息STM的方法为:
S5.1:将带有知识点标签的数学试题数据集进行学习,训练生成FSLLDA监督主题模型;
其中,zi=k表示将词语i分配给知识点标签主题表示除去词语i的其他单词,表示除词项i外其它单词的主题,表示除去单词i的词向量,t表示某一个具体的单词,表示统计第k个主题下词汇表中除了词项i其它词项出现的个数,表示文档m中除了词项i分配主题为k的词项数,为主题k在文档m中出现的先验概率,为词项i在知识点主题k中出现的先验概率;
作为本发明的优选实施例,上述FSLLDA模型生成过程包括如下步骤:
S5.1.1:统计数学试题数据集中的数据,构建标签共现矩阵:
其中Labeli表示标签i,Labelj表示标签j,Count函数表示记录标签出现次数;Fi,j为标签i与标签j共现频率相关性矩阵;
S5.1.2:统计数学试题数据集中,所有标签i对应的文本,求出对应的平均字向量作为标签i在训练集中文本空间的特征表示;同理,求出标签j在数学试题数据集中文本空间的特征表示,构建标签语义相关性矩阵:
其中Si,j为标签i和标签j的语义相关性矩阵,cos函数为余弦函数;
S5.1.3:权重参数λ1,λ2表示考虑两部分信息的重要性,λ1,λ2∈[0,1]andλ1+λ2=1计算标签与标签之间的相关性矩阵:
Corrleation(Labeli,Labelj)=λ1*Fi,j+λ2*Si,j∈RL×L;
其中,Fi,j为标签i与标签j共现频率相关性矩阵;Si,j为标签i和标签j的语义相关性矩阵;
S5.1.4:根据数学试题数据集真实标签集计算文档标签相关性系数矩阵DLRLCE:
DLRLCE=Y*Corrleation∈RN×L;
其中,Y为数学试题数据集真实知识点标签矩阵,Corrleation矩阵为标签与标签之间的加权相关性系数矩阵;
其中η表示权重参数,γ代表平滑系数,DLRLCE为文档标签相关性系数矩阵;
S5.1.8:对于文档d中的每个单词wm,n:
作为本发明的优选实施例,上述S5.3中Gibbs采样算法,对测试数学试题文本进行主题推断包括以下步骤:
其中,zi=k表示将词语i分配给知识点标签主题表示除去词语i的其他单词,表示所有单词的词向量,表示除去单词i的词向量,表示与词项wi分配相同主题k的词项数,表示文档m中分配主题为k的词项数,K表示主题个数,αk为主题k在文档m中出现的先验概率,βw为词语w在知识点主题k中出现的先验概率;
S5.3.2:根据狄利克雷分布的期望公式,最终推测出测试数学试题文本主题推断分布向量STM:
S6:解码器通过DPCNN编码器与注意力层提供的上下文语义向量C、解码器隐藏单元状态Z、上一个时刻预测最大概率标签向量g(yt-1)、S5中提供的主题分布信息STM,计算当前时刻的解码器输出状态ot;
作为本发明的优选实施例,上下文语义向量C和解码器输出状态ot的计算方法为:
S6.1:根据编码器不同卷积核提取的数学文本语义向量S=[s1,s2,...,sn]与解码器端t时刻的隐藏单元向量zt,通过注意力机制动态的选取当前时刻数学文本上下文语义向量ct;
S6.2:根据得到的数学试题文本所属的知识点标签主题分布信息STM、数学文本上文语义向量ct、解码器端t-1时刻隐藏单元状态zt-1、上一个时刻预测最大概率标签向量g(yt-1),综合以上信息计算t时刻的解码器输出状态ot;计算公式如下:
t时刻解码器端隐藏单元向量:zt=f(zt-1,g(yt-1),ct,STM);
t时刻的输出向量:ot=h(zt,ct,STM)。
进一步地,当前时刻数学文本语义向量ct的选取包括如下步骤:
S6.1.1:计算t时刻解码器端隐藏单元向量zt与编码器端所有的数学文本语义向量si的相似度:eti=a(zt,si);
其中eti表示解码器端隐藏单元向量zt与数学文本语义向量si的一个相似度分数;
S6.1.2:根据t时刻解码器端zt重点关注编码器提取的数学文本语义向量si部分分配权重:
其中αti表示编码器端第i个语义向量端权重系数,eti表示解码器端隐藏单元向量zt与编码器端数学文本语义向量si的一个相似度分数;
S6.1.3:计算t时刻的数学文本上下文语义向量:
其中αti表示编码器端第i个语义向量的权重系数,si表示编码器端第i个数学语义向量。
S7:将当前时刻的解码器输出状态ot通过掩码层,防止重复预测已经生成的标签,通过softmax函数,生成当前时刻的标签概率分布向量yt;
作为本发明的优选实施例,上述步骤S7中生成当前时刻的标签概率分布向量yt的方法为:
S7.1:构造蒙面掩码向量It,公式如下:
其中li表示第i个标签;
S7.2:将t时刻输出向量ot通过掩码层,通过softmax函数计算得出标签概率分布向量yt:yt=softmax(ot+It),其中It为t时刻的蒙面掩码向量。
S8:将标签概率分布向量yt通过词向量嵌入层,获得最大概率标签向量g(yt),该最大概率标签向量g(yt)将用来计算下一个时刻的标签概率分布向量yt+1;
S9:直到预测的最大概率标签向量为<EOS>,此时模型预测结束,在开始标记向量<SOS>与结束标记向量<EOS>中间生成的数学知识点标签向量,即为这道数学试题打上知识点标签。
本发明所提出的基于改进Seq2Seq模型的数学题目自动标注方法,相比于传统的手动标注数学知识点,节省了大量的人力物力,而且基于改进Seq2Seq模型使得比原模型更加关注数学试题中促进生成数学知识点标签的关键部分,以及更多的考虑数学试题中会出现的知识点与知识点伴随出现的自然现象,可以使得生成的数学知识点标签更加全面与准确。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (9)
1.一种基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,包括以下步骤:
S1:采集数学试题数据,形成数学试题数据集,所述数学试题数据集格式为通用自然语言文本、Latex表达的数学符号及表达式,所述每条数学试题数据包含一至多个知识点标签,所述知识点标签采用通用自然语言文本;
S2:对数学试题数据进行数据预处理,包括分词、去停用词、Latex字符串的正则表达式语义转换;
S3:将预处理后的数学试题数据送入ERNIE词向量提取层,将通用自然语言文本转换为数学试题词向量,所述ERNIE词向量提取层采用基于BERTBASE版本,由12层Transformer编码器构成;
S4:将转换后的数学试题词向量送入关键词突出的DPCNN编码器,提取数学文本语义信息;
S5:将S1中采集的带知识点标签的数学试题数据送入FSLLDA监督主题模型中,获得数学试题数据所属知识点标签的主题分布信息STM;
S6:解码器通过DPCNN编码器与注意力层提供的上下文语义向量C、解码器隐藏单元状态Z、上一个时刻预测最大概率标签向量g(yt-1)、S5中提供的主题分布信息STM,计算当前时刻的解码器输出状态ot;
S7:将当前时刻的解码器输出状态ot通过掩码层,防止重复预测已经生成的标签,通过softmax函数,生成当前时刻的标签概率分布向量yt;
S8:将标签概率分布向量yt通过词向量嵌入层,获得最大概率标签向量g(yt),该最大概率标签向量g(yt)将用来计算下一个时刻的标签概率分布向量yt+1;
S9:直到预测的最大概率标签向量为<EOS>,此时模型预测结束,在开始标记向量<SOS>与结束标记向量<EOS>中间生成的数学知识点标签向量,即为这道数学试题打上知识点标签。
2.如权利要求1所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,所述S3中将通用自然语言文本转换为数学试题词向量包括以下具体步骤:
S3.1:将数学试题数据集的通用自然语言文本设定最大长度为n个字,长截断、短填充;
S3.2:通用自然语言文本X=[x1,......,xi,......,xn]通过基于BERTBASE版包含了12层Transformer编码器层后获得的数学试题词向量矩阵E=[e1,......,ei,......,en],其中xi表示通用自然语言文本的第i个单词,ei为对应单词的词向量。
3.如权利要求1所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,所述S4中DPCNN编码器进行关键词突出的方法为:
S4.1:通过步骤S3中获得的数学试题词向量矩阵E=[e1,...,ei,...,en]∈R1×n,并且设一个初始值全为1的单词权重向量矩阵α∈Rm×n,按行复制m次数学试题词向量矩阵E,得到新的矩阵Enew∈Rm×n,其中,m为卷积核个数,n为数学文本向量长度;
S4.3:设立新矩阵H保存初始加权词向量矩阵Q的值:H=Q,H∈Rm×n;
S4.4:循环m次,根据DPCNN编码器的每一个卷积核求出Qm的目标语义向量Tm:Tm=DPCNN(Qm),自顶向下的迭代P次,通过计算初始词向量Hm与目标语义向量Tm的相似度,归一化更新权重向量αm:
αm=[αm1,...,αmi,...,αmn];
其中Wa,Za为权重参数,ba是偏置参数,Hm是矩阵H的第m行,Qm是加权词向量矩阵Q的第m行,Tm是根据DPCNN求出的基于Qm的第m行目标语义向量,αm为第m行权重向量,n为数学文本词向量长度,emi为m行第i个单词的相似度分数,αmj为第m行第j个单词的权重;
S4.5:m个卷积核分别迭代更新后,对赋予新值的单词权重向量矩阵α进行列向量的加权平均,得出根据不同卷积核提取的不同的词向量的关键词权重系数矩阵β∈R1×n;
S4.7:将关键词突出的数学试题文本词向量Eweight继续送入DPCNN编码器,根据不同的卷积核提取出的不同的试题文本语义目标向量S=[s1,s2,...,sm],m为卷积核个数。
4.如权利要求1所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,S5中FSLLDA监督主题模型生成关于数学试题文本所属的知识点标签主题分布信息STM的方法为:
S5.1:将带有知识点标签的数学试题数据集进行学习,训练生成FSLLDA监督主题模型;
其中,zi=k表示将词语i分配给知识点标签主题k,表示除去词语i的其他单词,表示除词项i外其它单词的主题,表示除去单词i的词向量,t表示某一个具体的单词,表示统计第k个主题下词汇表中除了词项i其它词项出现的个数,表示文档m中除了词项i分配主题为k的词项数,为主题k在文档m中出现的先验概率,为词项i在知识点主题k中出现的先验概率;
5.如权利要求4所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征为在于,所述FSLLDA模型生成过程包括如下步骤:
S5.1.1:统计数学试题数据集中的数据,构建标签共现矩阵:
其中Labeli表示标签i,Labelj表示标签j,Count函数表示记录标签出现次数;Fi,j为标签i与标签j共现频率相关性矩阵;
S5.1.2:统计数学试题数据集中,所有标签i对应的文本,求出对应的平均字向量作为标签i在训练集中文本空间的特征表示;同理,求出标签j在数学试题数据集中文本空间的特征表示,构建标签语义相关性矩阵:
其中Si,j为标签i和标签j的语义相关性矩阵,cos函数为余弦函数;
S5.1.3:权重参数λ1,λ2表示考虑两部分信息的重要性,λ1,λ2∈[0,1]andλ1+λ2=1计算标签与标签之间的相关性矩阵:
Corrleation(Labeli,Labelj)=λ1*Fi,j+λ2*Si,j∈RL×L;
其中,Fi,j为标签i与标签j共现频率相关性矩阵;Si,j为标签i和标签j的语义相关性矩阵;
S5.1.4:根据数学试题数据集真实标签集计算文档标签相关性系数矩阵DLRLCE:
DLRLCE=Y*Corrleation∈RN×L;
其中,Y为数学试题数据集真实知识点标签矩阵,Corrleation矩阵为标签与标签之间的加权相关性系数矩阵;
其中η表示权重参数,γ代表平滑系数,DLRLCE为文档标签相关性系数矩阵;
S5.1.8:对于文档d中的每个单词wm,n:
6.如权利要求4所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征为在于,所述S5.3中Gibbs采样算法,对测试数学试题文本进行主题推断包括以下步骤:
其中,zi=k表示将词语i分配给知识点标签主题k,表示除去词语i的其他单词,表示所有单词的词向量,表示除去单词i的词向量,表示与词项wi分配相同主题k的词项数,表示文档m中分配主题为k的词项数,K表示主题个数,αk为主题k在文档m中出现的先验概率,βw为词语w在知识点主题k中出现的先验概率;
S5.3.2:根据狄利克雷分布的期望公式,最终推测出测试数学试题文本主题推断分布向量STM:
7.如权利要求1所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,S6中上下文语义向量C和解码器输出状态ot的计算方法为:
S6.1:根据编码器不同卷积核提取的数学文本语义向量S=[s1,s2,...,sn]与解码器端t时刻的隐藏单元向量zt,通过注意力机制动态的选取当前时刻数学文本上下文语义向量ct;
S6.2:根据得到的数学试题文本所属的知识点标签主题分布信息STM、数学文本上文语义向量ct、解码器端t-1时刻隐藏单元状态zt-1、上一个时刻预测最大概率标签向量g(yt-1),综合以上信息计算t时刻的解码器输出状态ot;计算公式如下:
t时刻解码器端隐藏单元向量:zt=f(zt-1,g(yt-1),ct,STM);
t时刻的输出向量:ot=h(zt,ct,STM)。
8.如权利要求7所述的基于改进Seq2Seq模型的数学试题自动标注方法,其特征在于,所述当前时刻数学文本语义向量ct的选取包括如下步骤:
S6.1.1:计算t时刻解码器端隐藏单元向量zt与编码器端所有的数学文本语义向量si的相似度:eti=a(zt,si);
其中eti表示解码器端隐藏单元向量zt与数学文本语义向量si的一个相似度分数;
S6.1.2:根据t时刻解码器端zt重点关注编码器提取的数学文本语义向量si部分分配权重:
其中αti表示编码器端第i个语义向量端权重系数,eti表示解码器端隐藏单元向量zt与编码器端数学文本语义向量si的一个相似度分数;
S6.1.3:计算t时刻的数学文本上下文语义向量:
其中αti表示编码器端第i个语义向量的权重系数,si表示编码器端第i个数学语义向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110509310.6A CN113420543B (zh) | 2021-05-11 | 2021-05-11 | 基于改进Seq2Seq模型的数学试题自动标注方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110509310.6A CN113420543B (zh) | 2021-05-11 | 2021-05-11 | 基于改进Seq2Seq模型的数学试题自动标注方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113420543A true CN113420543A (zh) | 2021-09-21 |
CN113420543B CN113420543B (zh) | 2024-03-22 |
Family
ID=77712216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110509310.6A Active CN113420543B (zh) | 2021-05-11 | 2021-05-11 | 基于改进Seq2Seq模型的数学试题自动标注方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420543B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563311A (zh) * | 2022-10-21 | 2023-01-03 | 中国能源建设集团广东省电力设计研究院有限公司 | 一种文档标注和知识库管理方法及知识库管理系统 |
CN117216132A (zh) * | 2023-11-09 | 2023-12-12 | 厦门达宸信教育科技有限公司 | 一种数学试题相似性判断方法、系统和应用 |
CN117473096A (zh) * | 2023-12-28 | 2024-01-30 | 江西师范大学 | 一种融合latex标签的知识点标注方法及其模型 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590127A (zh) * | 2017-09-21 | 2018-01-16 | 北京师范大学 | 一种题库知识点自动标注方法及系统 |
CN107967254A (zh) * | 2017-10-31 | 2018-04-27 | 科大讯飞股份有限公司 | 知识点预测方法及装置、存储介质、电子设备 |
CN108182177A (zh) * | 2018-01-24 | 2018-06-19 | 谢德刚 | 一种数学试题知识点自动化标注方法和装置 |
CN108763284A (zh) * | 2018-04-13 | 2018-11-06 | 华南理工大学 | 一种基于深度学习和主题模型的问答系统实现方法 |
CN110119765A (zh) * | 2019-04-18 | 2019-08-13 | 浙江工业大学 | 一种基于Seq2seq框架的关键词提取方法 |
CN110442707A (zh) * | 2019-06-21 | 2019-11-12 | 电子科技大学 | 一种基于seq2seq的多标签文本分类方法 |
CN110457674A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种主题指导的文本预测方法 |
CN110705399A (zh) * | 2019-09-19 | 2020-01-17 | 安徽七天教育科技有限公司 | 一种数学公式自动识别的方法 |
CN110781672A (zh) * | 2019-10-30 | 2020-02-11 | 北京爱学习博乐教育科技有限公司 | 基于机器智能的题库生产方法及系统 |
CN111241243A (zh) * | 2020-01-13 | 2020-06-05 | 华中师范大学 | 面向知识测量的试题、知识、能力张量构建与标注方法 |
CN111581962A (zh) * | 2020-05-14 | 2020-08-25 | 福州大学 | 一种基于主题词向量与混合神经网络的文本表示方法 |
KR20210000695A (ko) * | 2020-11-25 | 2021-01-05 | (주)엔에스데블 | 문항 뱅크 및 학습자 수준별 학습 운용을 위한 순차적 확률비 검증법을 이용한 학습관리 시스템 |
CN112613323A (zh) * | 2020-12-21 | 2021-04-06 | 中国科学技术大学 | 语法依赖增强的数学应用题语义识别与推理方法及系统 |
-
2021
- 2021-05-11 CN CN202110509310.6A patent/CN113420543B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590127A (zh) * | 2017-09-21 | 2018-01-16 | 北京师范大学 | 一种题库知识点自动标注方法及系统 |
CN107967254A (zh) * | 2017-10-31 | 2018-04-27 | 科大讯飞股份有限公司 | 知识点预测方法及装置、存储介质、电子设备 |
CN108182177A (zh) * | 2018-01-24 | 2018-06-19 | 谢德刚 | 一种数学试题知识点自动化标注方法和装置 |
CN108763284A (zh) * | 2018-04-13 | 2018-11-06 | 华南理工大学 | 一种基于深度学习和主题模型的问答系统实现方法 |
CN110119765A (zh) * | 2019-04-18 | 2019-08-13 | 浙江工业大学 | 一种基于Seq2seq框架的关键词提取方法 |
CN110442707A (zh) * | 2019-06-21 | 2019-11-12 | 电子科技大学 | 一种基于seq2seq的多标签文本分类方法 |
CN110457674A (zh) * | 2019-06-25 | 2019-11-15 | 西安电子科技大学 | 一种主题指导的文本预测方法 |
CN110705399A (zh) * | 2019-09-19 | 2020-01-17 | 安徽七天教育科技有限公司 | 一种数学公式自动识别的方法 |
CN110781672A (zh) * | 2019-10-30 | 2020-02-11 | 北京爱学习博乐教育科技有限公司 | 基于机器智能的题库生产方法及系统 |
CN111241243A (zh) * | 2020-01-13 | 2020-06-05 | 华中师范大学 | 面向知识测量的试题、知识、能力张量构建与标注方法 |
CN111581962A (zh) * | 2020-05-14 | 2020-08-25 | 福州大学 | 一种基于主题词向量与混合神经网络的文本表示方法 |
KR20210000695A (ko) * | 2020-11-25 | 2021-01-05 | (주)엔에스데블 | 문항 뱅크 및 학습자 수준별 학습 운용을 위한 순차적 확률비 검증법을 이용한 학습관리 시스템 |
CN112613323A (zh) * | 2020-12-21 | 2021-04-06 | 中国科学技术大学 | 语法依赖增强的数学应用题语义识别与推理方法及系统 |
Non-Patent Citations (5)
Title |
---|
DHUHA A等: "Programming Exam Questions Classification Based On Bloom’s Taxonomy Using Grammatical Rules", AUSTRALIAN JOURNAL OF BASIC AND APPLIED SCIENCES, vol. 10, no. 14 * |
MOHAMMED M等: "Question classification based on Bloom\'s Taxonomy using enhanced TF-IDF", INTERNATIONAL JOURNAL ON ADVANCED SCIENCE, ENGINEERING AND INFORMATION TECHNOLOGY * |
吕征达: "基于机器学习的试题多知识点和认知动词 自动标注研究", 中国硕士学位论文全文数据库 信息科技辑, no. 02 * |
朱刘影等: "基于SVM 的地理试题自动分类", 计算机应用研究, vol. 35, no. 9 * |
胡国平等: "试题知识点预测:一种教研知识强化的卷积神经网络模型", 中文信息学报, vol. 32, no. 05 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563311A (zh) * | 2022-10-21 | 2023-01-03 | 中国能源建设集团广东省电力设计研究院有限公司 | 一种文档标注和知识库管理方法及知识库管理系统 |
CN115563311B (zh) * | 2022-10-21 | 2023-09-15 | 中国能源建设集团广东省电力设计研究院有限公司 | 一种文档标注和知识库管理方法及知识库管理系统 |
CN117216132A (zh) * | 2023-11-09 | 2023-12-12 | 厦门达宸信教育科技有限公司 | 一种数学试题相似性判断方法、系统和应用 |
CN117216132B (zh) * | 2023-11-09 | 2024-02-23 | 厦门达宸信教育科技有限公司 | 一种数学试题相似性判断方法、系统和应用 |
CN117473096A (zh) * | 2023-12-28 | 2024-01-30 | 江西师范大学 | 一种融合latex标签的知识点标注方法及其模型 |
CN117473096B (zh) * | 2023-12-28 | 2024-03-15 | 江西师范大学 | 一种融合latex标签的知识点标注方法及其模型 |
Also Published As
Publication number | Publication date |
---|---|
CN113420543B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980683B (zh) | 基于深度学习的博客文本摘要生成方法 | |
CN108628823B (zh) | 结合注意力机制和多任务协同训练的命名实体识别方法 | |
CN113420543B (zh) | 基于改进Seq2Seq模型的数学试题自动标注方法 | |
CN111985239B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
CN110597997B (zh) | 一种军事想定文本事件抽取语料库迭代式构建方法及装置 | |
CN107133220A (zh) | 一种地理学科领域命名实体识别方法 | |
CN110555084A (zh) | 基于pcnn和多层注意力的远程监督关系分类方法 | |
CN112052684A (zh) | 电力计量的命名实体识别方法、装置、设备和存储介质 | |
CN113343690B (zh) | 一种文本可读性自动评估方法及装置 | |
CN113434688B (zh) | 用于舆情分类模型训练的数据处理方法和装置 | |
CN111709242A (zh) | 一种基于命名实体识别的中文标点符号添加方法 | |
CN111274829A (zh) | 一种利用跨语言信息的序列标注方法 | |
WO2019160096A1 (ja) | 関係性推定モデル学習装置、方法、及びプログラム | |
CN112417862A (zh) | 知识点预测方法、系统和可读存储介质 | |
CN111091002B (zh) | 一种中文命名实体的识别方法 | |
CN113420548A (zh) | 一种基于知识蒸馏和pu学习的实体抽取采样方法 | |
CN114297399A (zh) | 知识图谱生成方法、系统、存储介质及电子设备 | |
CN111444720A (zh) | 一种英文文本的命名实体识别方法 | |
CN113836891A (zh) | 基于多元标注策略的结构化信息抽取方法和装置 | |
CN112347783B (zh) | 无触发词的警情笔录数据事件类型识别方法 | |
CN111563374B (zh) | 一种基于司法裁判文书的人员社交关系抽取方法 | |
CN114579706B (zh) | 一种基于bert神经网络和多任务学习的主观题自动评阅方法 | |
CN115906846A (zh) | 一种基于双图的层次特征融合的文档级命名实体识别方法 | |
CN112148879A (zh) | 一种自动给代码打数据结构标签的计算机可读存储介质 | |
Zhang et al. | Hierarchical attention networks for grid text classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |