为题目打标签的方法、装置、存储介质及电子设备与流程

文档序号:25520904发布日期:2021-06-18 20:08阅读:186来源:国知局
为题目打标签的方法、装置、存储介质及电子设备与流程

本发明涉及文档分类技术领域,具体涉及一种为题目打标签的方法、装置、存储介质及电子设备。



背景技术:

通常通过为题目打标签,进而将多个题目进行分类,例如,该标签可以具体为题型、难度、知识点等,最终实现了题目与某种维度的关联。目前,为题目打标签是通过人工的方式进行,该方式的正确率较高,但效率较低,需要花费大量的时间及人力成本。

因此,如何一种为题目打标签的方法,既能保证正确率,又能提高效率,降低成本,是本领域技术人员亟待解决的一大技术难题。



技术实现要素:

有鉴于此,本发明实施例提供了一种为题目打标签的方法,既能保证正确率,又能提高效率,降低成本。

为实现上述目的,本发明实施例提供如下技术方案:

一种为题目打标签的方法,包括:

确定待打标签的题目的类型信息,所述类型信息至少包括口算类以及应用类;

基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签。

可选的,当所述待打标签的题目的类型信息为所述口算类时,所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,包括:

获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、答案;

基于所述目标文字信息,确定出目标算数表达式;

基于上下文无关文算法,对所述目标算数表达式进行解析,得到目标四元组;

基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签。

可选的,所述基于所述目标文字信息,确定出目标算数表达式,包括:

基于正则表达式,对所述目标文字信息进行数据清洗,得到去噪文字信息;

对所述去噪文字信息进行信息抽取,得到所述目标算数表达式。

可选的,所述基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签,包括:

获取所述目标四元组中的最大操作数;

获取所述目标算数表达式中的括号信息;

基于所述最大操作数以及所述括号信息,确定所述预设划分规则中符合所述最大操作数以及所述括号信息的标签为所述待打标签的题目的目标标签。

可选的,当所述待打标签的题目的类型信息为所述应用类时,所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,包括:

获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、解析;

对所述目标文字信息进行分词、停词处理,得到词特征集合;

计算所述词特征集合中每个词特征的词频与逆文档频率的比值;

基于所述词频与逆文档频率的比值,训练预设分类器,得到目标分类器;

将所述待打标签的题目输入所述目标分类器,输出所述待打标签的题目的目标标签。

一种为题目打标签的装置,包括:

第一确定模块,用于确定待打标签的题目的类型信息,所述类型信息至少包括口算类以及应用类;

第二确定模块,用于基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签。

可选的,当所述待打标签的题目的类型信息为所述口算类时,所述第二确定模块包括:

第一获取单元,用于获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、答案;

第一确定单元,用于基于所述目标文字信息,确定出目标算数表达式;

第一处理单元,用于基于上下文无关文算法,对所述目标算数表达式进行解析,得到目标四元组;

第二确定单元,用于基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签;

或,

当所述待打标签的题目的类型信息为所述应用类时,所述第二确定模块包括:

第二获取单元,用于获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、解析;

第二处理单元,用于对所述目标文字信息进行分词、停词处理,得到词特征集合;

计算单元,用于计算所述词特征集合中每个词特征的词频与逆文档频率的比值;

第三处理单元,用于基于所述词频与逆文档频率的比值,训练预设分类器,得到目标分类器;

输出单元,用于将所述待打标签的题目输入所述目标分类器,输出所述待打标签的题目的目标标签。

可选的,所述第一确定单元包括:

第一处理子单元,用于基于正则表达式,对所述目标文字信息进行数据清洗,得到去噪文字信息;

第二处理子单元,用于对所述去噪文字信息进行信息抽取,得到所述目标算数表达式;

和/或,所述第二确定单元包括:

第一获取子单元,用于获取所述目标四元组中的最大操作数;

第二获取子单元,用于获取所述目标算数表达式中的括号信息;

确定子单元,用于基于所述最大操作数以及所述括号信息,确定所述预设划分规则中符合所述最大操作数以及所述括号信息的标签为所述待打标签的题目的目标标签。

一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项上述的为题目打标签的方法。

一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行任意一项上述的为题目打标签的方法。

基于上述技术方案,本发明实施例提供了一种为题目打标签的方法、装置、存储介质及电子设备,该方法首先确定待打标签的题目的类型信息,然后基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,其中,所述类型信息至少包括口算类以及应用类。可见,本方案提供了一种基于题目的类型信息,自动为题目打标签的方式,避免了手动打标签导致的打标签效率低、成本高的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种为题目打标签的方法的流程示意图;

图2为本发明实施例提供的一种为题目打标签的方法的又一流程示意图;

图3为本发明实施例提供的一种为题目打标签的方法的又一流程示意图;

图4为本发明实施例提供的一种为题目打标签的方法的又一流程示意图;

图5为本发明实施例提供的一种为题目打标签的方法的又一流程示意图;

图6为本发明实施例提供的一种为题目打标签的装置的结构示意图;

图7为本发明实施例提供的一种为题目打标签的系统的硬件架构图。

具体实施方式

请参阅图1,图1为本发明实施例提供的一种为题目打标签的方法的流程示意图,该方法包括:

s11、确定待打标签的题目的类型信息。

s12、基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签。

需要说明的是,在本实施例中,类型信息至少包括口算类以及应用类。而本方案基于题目的类型信息,自动为题目打标签,避免了手动打标签导致的打标签效率低、成本高的问题。

具体的,由于类型信息的不同,本发明实施例提供了两种基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签的具体实现方式,如下:

方式一

当所述待打标签的题目的类型信息为所述口算类时,如图2所示,所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,包括步骤:

s21、获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、答案。

例如,从数据库中拿到原始题目的题干(如:<p>2\\times(99+6)=__$$1__</p>)、答案(210)等信息。

s22、基于所述目标文字信息,确定出目标算数表达式;

具体的,如图3所示,本发明实施例提供了一种基于所述目标文字信息,确定出目标算数表达式的具体实现方式,包括步骤:

s31、基于正则表达式,对所述目标文字信息进行数据清洗,得到去噪文字信息;

s32、对所述去噪文字信息进行信息抽取,得到所述目标算数表达式。

示意性的,利用正则表达式等技术清理其中的无用信息,如html标签(<p></p>)、空格等,得到无噪声信息的题干(2\\times(99+6)=__$$1__)和答案(210)。然后,将latex表达式(\\times)替换成对应的操作符(×),并将答案(210)替换填充到文本(__$$1__)中,抽取得到算术表达式(2×(99+6)=210)。

s23、基于上下文无关文算法,对所述目标算数表达式进行解析,得到目标四元组;

上文已经抽取了算数表达式,之后,对抽取得到的算术表达式,用上下文无关文法来解析并用四元组的树形式来存储,如:['+,99,6,tree1','

×,2,tree1,tree2','=,tree2,210,tree3']。

需要说明的是,发明人考虑到口算类的知识点粒度比较细,比如同样是加法,需要细化到10以内的加法还是100以内的加法;这样在打知识点的时候,就需要知道计算步骤的先后顺序以及每个步骤的中间结果。

s24、基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签。

具体的,如图4所示,本发明实施例提供了一种基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签的具体实现方式,包括:

s41、获取所述目标四元组中的最大操作数;

s42、获取所述目标算数表达式中的括号信息;

s43、基于所述最大操作数以及所述括号信息,确定所述预设划分规则中符合所述最大操作数以及所述括号信息的标签为所述待打标签的题目的目标标签。

即,本步骤是结合行业背景规则,解释四元组和算术表达式,并给题目打上知识点标签的过程。例如,解析四元组的过程中,里面有加法和乘法操作,加法的最大操作数是99,乘法的最大操作数是105(通过解析tree1得到的中间结果);解析算术表达式,由于表达式里是带括号的,结合上述信息以及行业背景规则,给题目打上知识点标签“有括号的四则运算(1000以内)”。如果提取的算术表达式是2×(9+6)=30,则会给题目打上知识点标签“有括号的四则运算(100内)”;如果提取的算术表达式是2×9+6=24,则会给题目打上知识点标签“乘加(表内7~9)”,“表内7~9”表示乘法的范围在九九乘法口诀表内,且最大操作数属于7~9。

方式二

当所述待打标签的题目的类型信息为所述应用类时,如图5所示,本发明实施例提供了一种所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签的具体实现方式,包括:

s51、获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、解析;

s52、对所述目标文字信息进行分词、停词处理,得到词特征集合;

s53、计算所述词特征集合中每个词特征的词频与逆文档频率的比值;

s54、基于所述词频与逆文档频率的比值,训练预设分类器,得到目标分类器;

s55、将所述待打标签的题目输入所述目标分类器,输出所述待打标签的题目的目标标签。

即,当待打标签的题目的类型为应用类时,利用文本分类的(属于有监督的机器学习)方式,分为训练分类器和利用分类器对新题目打知识点两部分,如下:

一、训练分类器:

1、数据清洗:

收集一批已经人工标注好知识点标签的题目作为数据集,从数据库中拿到这些题目的题干、解析等文本信息,利用正则表达式等技术清理题目中的html标签、空格、数字、操作符等无用信息,分别将每道题目的题干和解析拼接到一起,得到每道题目文本信息;

如,题目q1的标记的知识点标签为“行程问题基本公式”,原始题干+解析为:“猎豹每秒跑30米,20秒跑__$$__米。<p>【提示】路程=速度×时间。</p><p>【解答】猎豹每秒跑30米,20秒跑:30×20=600(米)。</p>”,清洗后得到的文本信息为“猎豹每秒跑米,秒跑米。提示路程速度时间。解答猎豹每秒跑米,秒跑:米。”;题目q2的标记的知识点标签为“工程问题基本公式”,原始题干+解析为:“一个铺路队25小时铺路500米。照这样计算,8.5小时铺路__$$__米。<p>【提示】工作效率=工作总量÷工作时间;工作总量=工作效率×工作时间。</p><p>【解答】一个铺路队25小时铺路500米,则每小时铺路:500÷25=20(米);照这样计算,8.5小时铺路:20×8.5=170(米)。</p><p>【答】8.5小时铺路170米。</p>”,清洗后得到的文本信息为“一个铺路队小时铺路米。照这样计算,小时铺路米。提示工作效率工作总量工作时间;工作总量工作效率工作时间。解答一个铺路队小时铺路米,则每小时铺路:米;照这样计算,小时铺路:米。答小时铺路米。”

2、数据预处理:

对数据集中每道题目的文本信息,进行中文分词,去除停用词(标点符号、“则”、“的”、“是”、“一个”、“提示”、“解答”等)操作,剩余的所有词集合到一起并去重,作为文本分类所用的词特征集合。如q1得到“猎豹每秒跑米秒跑米路程速度时间猎豹每秒跑米秒跑米”,q2得到“铺路队小时铺路米照这样计算小时铺路米工作效率工作总量工作时间工作总量工作效率工作时间铺路队小时铺路米每小时铺路米照这样计算小时铺路米答小时铺路米”,词特征集合为“猎豹每秒跑米秒路程速度时间铺路队小时铺路照这样计算工作效率总量每小时答”。用向量空间模型来表示每道题目,得到题目的向量化表示,向量的每一列表示上面得到的词特征集合中的一个词特征,词特征的取值为该题目在该特征下的tf-idf(词频与逆文档频率的比值)值。tf-idf(t,d)=tf(t,d)*idf(t),其中t表示一个词,d表示一个文档(在此例中表示一个句子)。tf(t,d)=词t在文档d中出现的次数,除以文档d中词的总数。比如“猎豹”这个词,在q1中出现2次,q1中词的总数为17,在q2中出现0次,q2中词的总数为39;则“猎豹”在q1中的tf(词频)为2/17=0.118,在q2中的tf(词频)为0/39=0。idf(t)=log[n/df(t)]+1,其中n表示文档集合的大小,在此处举得例子中假设只有q1q2两个句子,则n为2;df(t)为包含词t的文档个数,比如“猎豹”这个词,只在q1中出现,则df(t)的取值为1,“米”这个词,在q1q2中同时出现,则df(t)的取值为2。按照此算法,为词特征集合(猎豹每秒跑米秒路程速度时间铺路队小时铺路照这样计算工作效率总量每小时答)中的每一个词(共19个),都计算相对于q1和q2的tf-idf值,这样就得到了2个19维的向量,用这2个向量来表示q1q2这两个句子。

3、模型训练:

每个句子计算出的向量作为x,句子的知识点标签作为y,(x,y)作为一个训练样本。利用lossfunction(损失函数)为“modified_huber”的sgdclassifier模型(利用随机梯度下降方法来训练的分类模型,对每一个输入x,该模型会计算这个输入属于每一个知识点标签的概率值,并将概率值最大的知识点标签作为模型的输出;如果模型的输出与实际输出之间有误差(用损失函数来表示),训练过程会按照减小该误差的方向来调整模型内部的参数,可见参考资料),来训练上述经过处理得到的数据,最后训练得到一个文本分类器。

二、利用分类器对新题目打知识点:

1、对一个尚未知道其知识点标签的新题目,从数据库中拿到这道题目的题干、解析等文本信息,进行数据清洗以及数据预处理,过程同训练部分,得到该题目的向量化表示。

2、将该向量作为训练部分得到的文本分类器模型的输入,预测出一个结果(模型会计算这个输入属于每一个知识点标签的概率值,并将概率值最大的知识点标签作为模型的预测结果),并将该结果作为题目的知识点标签。

可见,本发明实施例能够基于待打标签的题目的类型信息,确定出目标标签,例如,对口算题目用上下文无关文法来解析算术表达式,并用四元组的树形式来存储中间过程。对应类题目利用文本分类思路来标注。

除此,在上述实施例的基础上,本发明实施例还提供了一种为题目打标签的装置,如图6所示,包括:

第一确定模块61,用于确定待打标签的题目的类型信息,所述类型信息至少包括口算类以及应用类;

第二确定模块62,用于基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签。

其中,当所述待打标签的题目的类型信息为所述口算类时,所述第二确定模块可以包括:

第一获取单元,用于获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、答案;

第一确定单元,用于基于所述目标文字信息,确定出目标算数表达式;

第一处理单元,用于基于上下文无关文算法,对所述目标算数表达式进行解析,得到目标四元组;

第二确定单元,用于基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签;

或,

当所述待打标签的题目的类型信息为所述应用类时,所述第二确定模块可以包括:

第二获取单元,用于获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、解析;

第二处理单元,用于对所述目标文字信息进行分词、停词处理,得到词特征集合;

计算单元,用于计算所述词特征集合中每个词特征的词频与逆文档频率的比值;

第三处理单元,用于基于所述词频与逆文档频率的比值,训练预设分类器,得到目标分类器;

输出单元,用于将所述待打标签的题目输入所述目标分类器,输出所述待打标签的题目的目标标签。

除此,所述第一确定单元可以包括:

第一处理子单元,用于基于正则表达式,对所述目标文字信息进行数据清洗,得到去噪文字信息;

第二处理子单元,用于对所述去噪文字信息进行信息抽取,得到所述目标算数表达式;

和/或,所述第二确定单元包括:

第一获取子单元,用于获取所述目标四元组中的最大操作数;

第二获取子单元,用于获取所述目标算数表达式中的括号信息;

确定子单元,用于基于所述最大操作数以及所述括号信息,确定所述预设划分规则中符合所述最大操作数以及所述括号信息的标签为所述待打标签的题目的目标标签。

所述为题目打标签的装置包括处理器和存储器,上述第一确定模块、以及第二确定模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来避免了手动打标签导致的打标签效率低、成本高的问题。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述为题目打标签的方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述为题目打标签的方法。

本发明实施例提供了一种设备,如图7所示,设备包括至少一个处理器71、以及与处理器连接的至少一个存储器72、总线73;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的为题目打标签的方法。本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

一种为题目打标签的方法,包括:

确定待打标签的题目的类型信息,所述类型信息至少包括口算类以及应用类;

基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签。

可选的,当所述待打标签的题目的类型信息为所述口算类时,所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,包括:

获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、答案;

基于所述目标文字信息,确定出目标算数表达式;

基于上下文无关文算法,对所述目标算数表达式进行解析,得到目标四元组;

基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签。

可选的,所述基于所述目标文字信息,确定出目标算数表达式,包括:

基于正则表达式,对所述目标文字信息进行数据清洗,得到去噪文字信息;

对所述去噪文字信息进行信息抽取,得到所述目标算数表达式。

可选的,所述基于所述目标四元组、所述目标算数表达式以及预设划分规则,确定出所述待打标签的题目的目标标签,包括:

获取所述目标四元组中的最大操作数;

获取所述目标算数表达式中的括号信息;

基于所述最大操作数以及所述括号信息,确定所述预设划分规则中符合所述最大操作数以及所述括号信息的标签为所述待打标签的题目的目标标签。

可选的,当所述待打标签的题目的类型信息为所述应用类时,所述基于所述待打标签的题目的类型信息,确定出待打标签的题目的目标标签,包括:

获取所述待打标签的题目的目标文字信息,所述目标文字信息至少包括所述待打标签的题目的题干、解析;

对所述目标文字信息进行分词、停词处理,得到词特征集合;

计算所述词特征集合中每个词特征的词频与逆文档频率的比值;

基于所述词频与逆文档频率的比值,训练预设分类器,得到目标分类器;

将所述待打标签的题目输入所述目标分类器,输出所述待打标签的题目的目标标签。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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