CN104794169A - 一种基于序列标注模型的学科术语抽取方法及系统 - Google Patents

一种基于序列标注模型的学科术语抽取方法及系统 Download PDF

Info

Publication number
CN104794169A
CN104794169A CN201510145663.7A CN201510145663A CN104794169A CN 104794169 A CN104794169 A CN 104794169A CN 201510145663 A CN201510145663 A CN 201510145663A CN 104794169 A CN104794169 A CN 104794169A
Authority
CN
China
Prior art keywords
subject term
subject
term
similarity
extracted
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
Application number
CN201510145663.7A
Other languages
English (en)
Other versions
CN104794169B (zh
Inventor
杨硕
高飞
冯岩松
贾爱霞
赵东岩
卢作伟
王冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MAINBO EDUCATION TECHNOLOGY Co Ltd
Peking University
Original Assignee
MAINBO EDUCATION TECHNOLOGY Co Ltd
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MAINBO EDUCATION TECHNOLOGY Co Ltd, Peking University filed Critical MAINBO EDUCATION TECHNOLOGY Co Ltd
Priority to CN201510145663.7A priority Critical patent/CN104794169B/zh
Publication of CN104794169A publication Critical patent/CN104794169A/zh
Application granted granted Critical
Publication of CN104794169B publication Critical patent/CN104794169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种基于序列标注模型的学科术语抽取方法及系统,属于数据抽取技术领域。该方法首先对训练语料中的学科术语进行标注和类别标签设置,得到标注序列,并以训练语料作为观察序列、标注序列作为状态序列,训练出学科术语抽取模型,以该模型为抽取器初步抽取出待抽取语料中的学科术语,再利用学科术语之间的相似度进行初步抽取结果的筛选,筛选出属于对应学科领域的真正学科学术。通过本发明所述的抽取方法及系统,在进行学科术语的抽取时,通过将少量的训练语料进行学科术语的标注,实现了语料中学科术语的快速、准确的提取,同时还能够不断完善学科领域的已有知识体系结构,克服了传统学科术语抽取方法的不足。

Description

一种基于序列标注模型的学科术语抽取方法及系统
技术领域
本发明涉及数据抽取技术领域,具体涉及一种基于序列标注模型的学科术语抽取方法及系统。
背景技术
学科术语是一个领域中最基本的单元,为了更好地描述该领域的知识体系,需要得到该领域当中的所有学科术语。而随着互联网和信息技术的发展,同一个领域中知识快速膨胀,新的领域层出不穷,学科术语的抽取及应用也越来越被受重视,例如,很多在线教育公司(比如明博教育等等)利用用户正在阅读的语料,会为用户标注出其中语料中的学科术语,并可以根据这些学科术语为用户推荐相关的教育资源,更好的满足了用户的需求。随着学科知识不断增多,用户受教育的需求日益膨胀,获取对应领域当中的学科术语成为这些在线教育公司的基本任务。但随着知识量及新技术领域的不断增加,从对应的领域中找到相关的学科术语变得越来越困难。
现有的学科术语抽取,通常使用专家标注的方法。专家凭借对相关领域知识的认知,书写领域当中的学科术语。这样的方法,具有很高的准确率,但是即使是专家也会遗漏掉很多术语,同时随着知识量的不断增加,专家的方法不具有好的持续性,现有的工作也很难迁移到其它领域。
通过多年研究,研究人员提出了一些使用计算机完成的学科术语的抽取方法,Kushal Dave(可参考Kushal Dave,Vasudeva Varma发表的论文“PatternBased Keyword Extraction for Contextual Advertising”.CIKM’10,October26–30.)提出了一种基于词语分块的N-gram(大词汇连续语音识别中常用的一种语言模型)关键词抽取模型,在模型当中,首先列举所有单词的分块,再利用每个单词的词性标注(POS-tagging)构造一个二元的朴素贝叶斯(Bayes)分类器,Kushal Dave将模型应用于广告关键词的抽取系统中,并取得了不错的效果。Steier和Belew(可参考Steier,A.M.,Belew,R.K.Exporting phrases:a statistical analysis of topical language.In Proceedings of Second Symposium on Document Analysis andInformation Retrieval,2010:pages 179-190.)两人提出了一种基于两个单词间互信息的方法来抽取学科术语;Wang et al.(可参考Wang,J.,Liu,J.and Wang,C.Keyword extraction based on PageRank.In Proceedingsof the 11th Pacific-Asia Conference on Knowledge Discovery and DataMining.Nanjing,China,2007:pages 857-864.)提出了一种基于Page-Rank(网页排名)的短语评分算法,进一步来获取关键词;Matsuo和Ishizuka(可参考Matsuo,Y.and Ishizuka,M..Keyword extraction from a singledocument using word co-occurrence statistical information.International Journal on Artificial Intelligence Tools.2004:13(1),157-169.)使用单词之间的共现次数的方法来抽取关键词。
上述这些抽取方法节省了大量人力成本,但是这些方法都没有考虑术语出现的上下文信息,需要大量的数据来训练抽取器,而一些新兴的领域缺失相关语料,所以抽取结果相对较差;同时,这些方法都是在英语的基础上完成的,并不适应于各种语言;最后,在抽取出新的学科术语之后,没有考虑进一步的术语去噪,术语当中依然存在一些无关的单词。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于序列标注模型的学科术语抽取方法及系统,实现语料中学科术语的快速、准确的抽取,并能够实现已有知识结构体系的扩大、完善。
为实现上述目的,本发明采用的技术方案如下:
一种基于序列标注模型的学科术语抽取方法,包括以下步骤:
(1)将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
(2)将所述标注语料按字切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语;
(3)将所述训练语料作为观察序列,将所述标注序列作为状态序列,利用条件随机场模型训练得到用于学科术语抽取的序列标注模型;
(4)根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;
(5)筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语,包括:计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。
进一步,如上所述的一种基于序列标注模型的学科术语抽取方法,步骤(4)中,根据序列标注模型初步抽取待抽取语料中的学科术语,包括:
(4.1)将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={w1,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
(4.2)如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
进一步,如上所述的一种基于序列标注模型的学科术语抽取方法,步骤(5)中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度;
计算初步抽取出的学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y)的计算公式为:
fatherProb(x,y)=ay×editSimi(x,y)+βy×semanticFatherSimi(x,y)
αyy=1
其中,editSimi(x,y)为学科术语x与学科术语y之间的表征相似度,semanticFatherSimi(x,y)学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度,αy为表征相似度的权重,βy为平均语义相似度的权重;
根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y)的计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,somSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vector(z)为词向量之间的点乘。
进一步,如上所述的一种基于序列标注模型的学科术语抽取方法,表征相似度的权重和平均语义相似度的权重的计算公式为:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0。
进一步,如上所述的一种基于序列标注模型的学科术语抽取方法,步骤(5)中,当计算出的最大相似度大于设定阈值时,该方法还包括:确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。
进一步,如上所述的一种基于序列标注模型的学科术语抽取方法,步骤(5)中,筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语还包括:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。
为实现上述目的,本发明实施例中还提供了一种基于序列标注模型的学科术语抽取系统,该系统包括:
学科术语标注模块,用于将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
语料切分及分类模块,用于将所述标注语料按字切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语;
抽取模型训练模块,用于将所述训练语料作为观察序列,将所述标注序列作为状态序列,利用条件随机场模型训练得到用于学科术语抽取的序列标注模型;
学科术语初步抽取模块,用于根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;
学科术语筛选模块,用于筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语;所述学科术语筛选模块包括:
第一筛选单元,用于根据学科术语之间的相似度判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
进一步,如上所述的一种基于序列标注模型的学科术语抽取系统,学科术语初步抽取模块包括:
状态序列计算单元,用于将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={w1,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
学科术语抽取单元,用于根据所述状态序列W初步抽取出学科术语,抽取方式为:如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
进一步,如上所述的一种基于序列标注模型的学科术语抽取系统,学科术语筛选模块中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度;
所述学科术语筛选模块包括表征相似度计算单元、语义相似度计算单元和相似度计算单元;其中,
表征相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的表征相似度editSimi(x,y),表征相似度计算单元根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
语义相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y),计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,sonSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vector(z)为词向量之间的点乘;
相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y),计算公式为:
fatherProb(x,y)=αy×editSimi(x,y)+βy×semanticFatherSimi(x,y)
其中,αy为表征相似度的权重,βy为平均语义相似度的权重。
进一步,如上所述的一种基于序列标注模型的学科术语抽取系统,表征相似度的权重和平均语义相似度的权重的计算公式为:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0。
进一步,如上所述的一种基于序列标注模型的学科术语抽取系统,该系统还包括:
知识体系结构完善模块,用于当计算出的最大相似度大于设定阈值时,确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。
进一步,如上所述的一种基于序列标注模型的学科术语抽取系统,所述学科术语筛选模块还包括:
第二筛选单元,用于根据设定条件判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
本发明的有益效果在于:本发明所述的抽取方法及系统,在进行学科术语的抽取时,通过将少量的训练语料进行学科术语的标注,以及标注后的切分及划分转换成标注序列,再利用训练语料和标注序列训练得到学科术语抽取模型(序列标注模型),通过该模型实现了语料中学科术语的初步抽取,同时利用学科术语之间的相似度,综合考虑术语之间的语义相似度和表征相似度,筛选掉初步抽取结果中的一些无关术语,得到真正的学科术语,同时还能够确定出真正学科术语在已有知识体系结构中的节点位置,不断完善该知识体系结构,克服了传统学科术语抽取方法的不足。
附图说明
图1为本发明具体实施方式中一种基于序列标注模型的学科术语抽取方法的流程图;
图2为本发明具体实施方式中一种基于序列标注模型的学科术语抽取系统的示意图;
图3为本发明实施例中初中英语语法的已有知识体系结构的示意图;
图4为对图3中的已有知识体系结构进一步完善后的示意图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
图1示出了本发明具体实施方式中一种基于序列标注模型的学科术语抽取方法,由图中可以看出,该方法可以包括以下步骤:
步骤S100:将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
首先利用少量的某一学科领域的语料,标注出其中的学科术语,该步骤中所选用的语料为样本数据,在本实施方式中称为训练语料,训练语料可以从该学科领域的已有语料数据库中随机选取,也可以采用其它方式获取,如可以从网络上发布的该学科领域的一些资料等。一般的,在得到训练语料后,会对训练语料进行简单的预处理,去掉语料中的一些与该学科领域知识关联不大的数据,保留下少量的和该领域知识高度相关的训练语料,其中,具体的预处理规则根据需要进行设置,不同的学科领域以及所选用的不同训练语料可以设置不同的预处理规则。
对于选用的训练语料,可以采用专家标注的方式,标注出训练预料的学科术语,得到标注语料。
步骤S200:将所述标注语料按字切分,并对切分后的每个字设置一个标签,得到标注序列;
步骤S300:将所述训练语料作为观察序列,将所述标注序列作为状态序列,训练得到用于学科术语抽取的序列标注模型;
通过步骤S100得到少量的标注语料后,通过对标注数据进切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语。标注序列中包含的标签的排列顺序与其对应的语料中字的顺序是相同的,即第一个标签对应第一个字,最后一个标签对应最后一个字。
需要说明的是,在实际应用中,根据不同的应用需求,可以对本实施方式中的标签集合T进行调整,如在上述BIO模型的基础上,可以通过增加一些标签来表示观察序列中的字符的特殊位置,例如一个观察序列中某一字符的前一个字符不存在,那么该不存在的前一字符可以采用S标签来表示,即某一字符为一个观察序列的开始;如果一个观察序列中某一字符的后一个字符不存在,那么该不存在的后一字符的标签可以采用E来表示,即该某一字符为观察序列的结尾,此时,BIO模型可以扩展为SBIOE模型,T={S,B,I,O,E}。
通过上述“BIO”模型完成每个字的标签设置后,将训练语料作为观察序列S、将对应的标注序列作为状态序列W,训练得到学科术语抽取模型,本实施方式中的学科术语抽取模型为利用条件随机场模型(Conditional RandomFields,简称CRF,或CRFs),建立从观察序列到状态序列的序列标注模型,从而得到用于学科术语抽取的序列标注模型。
条件随机场模型基于隐马尔科夫模型,是一种判别式概率模型,相邻的标注序列,观察序列到标注序列的对应位置,都是一次有效的转移,对于已有的观察序列S,对应的标注序列W的条件概率p(W|S)可以表示为:
p ( W | S ; π ) = 1 Z ( S ; π ) exp { Σ r θ r Σ x = 1 n f r ( w x - 1 , w x , S , x ) }
其中,fr(wx-1,wx,S,x)是一个特征函数,对应于用户可以根据需求手动编辑的一系列特征,由用户实现设定好,r表示特征函数的个数,n为标注序列的长度(也等于训练语料的长度),wx为标注序列中的第x个标签,π={θr}是对应特征函数的权重。在CRFs中,一共有两种不同的特征函数:过渡函数和放射函数,函数Z(S;π)是归一化因子,只与训练语料相关,可以通过前项算法或后向算法计算出来。
过渡函数是一个二元函数,这个二元函数对应的是一个过渡是否发生,用公式说明如下:
f(wx-1,wx,S,x)=δ(wx-1=i)δ(wx=j)
其中,δ(wx-1=i)是一个二值函数,在实际应用中,该过渡函数表示当且仅当wx-1为i,且wx为j时,函数的值才等于1,这里的i、j根据实际应用场景对应不同的含义。
放射函数也同样是一个二元函数,对应的是一个观察的特征是否对应状态j,例如,一个一元特征函数定义可以如下:
f(wx-1,wx,S,t)=δ(Sx=ω)δ(wx=j)
该放射函数表示当且仅当Sx=ω且wx=j时,函数的值才等于1,Sx表示观察序列中的第x个元素,即第x个字符,同样,这里的ω、j的含义根据实际应用场景的不同而对应不同的含义。
同时定义目标化函数来训练最优参数π,目标化函数的一种形式为:
J 1 = Σ x = 1 n log p ( w ( x ) | S ( x ) ; π ) - 1 2 σ 2 | | π | | 2
其中,n是整个标注序列的长度,σ是一个大于零的常数。
可以利用梯度下降方法最小化J1,训练最优参数π,即不同的特征对应的权重,本实施方式的条件随机场模型当中,特征函数的选取可以系统自动设置,用户也可以根据自己的不同需求进行手动添加。
需要说明的是,上述对条件随机场模型描述中所涉及的公式以及公式中的字母参数,都是为了说明条件随机场的原理,各字母参数的实际含义以及函数的具体形式在不同的应用中是不同的。在已知观察序列和该观察序列对应的标注序列,再根据需要确定或者有系统自动选取的特征函数后,利用条件随机场模型训练得到用于学科术语标注(抽取)的序列标注模型是本领域的现有技术,在此不再详细描述。
步骤S400:根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;
在步骤S300训练得到用于学科术语抽取的序列标注模型后,利用该标注模型初步抽取待抽取语料中的学科术语,本实施方式中,抽取方式如下:
1)将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={wq,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
2)如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
即首先通过所述序列标注模型得到待抽取语料的标注序列即状态序列,对于得到的状态序列,找到学科术语开始的标签位置(wi=B),并找到一个术语学科术语内部或开始的标签wk(k>i,wi+1=…=wk=I,或k=i)且该标签的下一个标签是学科术语的结束,那么wi至wk所对应的语料中的位置即为一个学科术语的位置,也就是说,如果一个待抽取语料对应的标注序列中,序列中的连续的两个或多个元素满足为BO或者为BI(可以是一个或多个连续的I)O,则所述两个或多个元素所对应的语料中的位置即为一个科学术语的位置,通过该方式得到待抽取语料中学科术语的集合K={keyword1,keyword2,…,keywordm},m表示抽取出的学科术语的个数,keywordj为第j个学科术语。
例如,在一个实际应用中,假设步骤S300中用户设定的两个特征函数为,第一个是wx和Sx的关系(wx表示标注序列(状态序列)中第x个元素,Sx表示训练语料(输入序列)中第x个元素,wx和Sx的关系即状态序列与输入序列中对应位置元素的关系),第二个是wx-1和wx之间的关系(标注序列中相邻元素的关系),且根据训练语料的学习出的两个特征函数的权重分别为0.4和0.6,即上述概率公式中k=2,θ1=0.4,θ2=0.6。采用上述设定的特征函数训练得到序列标注模型,假设采用该模型对“动词”进行标注,即待抽取语料为“动词”(需要标注的往往是一个句子,本实例中为了简化说明,仅仅以两个字的标注问题为例),那么“动词”的标注序列为{B,I}的概率为:
P(W={B,I}|S={动,词})=P(W1=B|S1=动)×P(W2=I|S2=词)×0.4+
P(W1=B|W0=S)×P(W2=I|W1=B)×0.6
其中,W1和W2代表观察序列当中第一个字和第二个字的对应的标注序列中的标签,W0表示当前第一个字的前一个字的标签,B代表当前字是一个学科术语的开始(对应于上面的BIO模型),I代表当前字在一个学科术语的内部,S表示所述当前第一个字的前一个字不存在,即所述第一个字为开始。
假设从训练数据当中学习到的概率值P(W1=B|S1=动)=0.6,P(W2=I|S2=词)=0.7,P(W1=B|W0=S)=1.0,P(W2=I|W1=B)=1.0,那么观察序列S={动,词}对应的标注序列为W={B,I}的概率为:
P(W={B,I}|S={动,词})=0.6×0.7×0.4+1.0×1.0×0.6=0.768
上述计算过程只是示例说明,通过步骤S300中得到的序列标注模型可以计算出待抽取语料最可能(概率最大)的状态序列,该概率最大的状态序列即为待抽取语料的状态序列。
例如,一个待抽取语料(序列标注模型的输入,无标注的观察序列)为“主句是过去时,从句谓语也要用一般现在时。”利用序列标注模型得到该语料对应的标注序列“BIOBIIOBIBIOOOBIIIIO”,则该序列中第一个wi=B的标签为第一个,即w1=B,而w2=I且w3=O,因此,上述判断条件中的k=2,因此w1、w2对应的语料中的前两个字“主句”即为初步抽取出的一个学科术语,同样的方式,在上述句子当中找到的学科术语就是“主句”,“过去时”,“从句”,“谓语”和“一般现在时”。
步骤S500:筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语。
在步骤S400中初步抽取出的学科术语集合中,会存在大量的噪音,通过分析这些噪声,可以将这些噪声大致可以分如下几类:
1)一些单字符噪声,比如初步抽取出的学科术语当中,存在一些单英文字符,如“a”,“f”等等。
2)一些过长的句子,比如初步抽取出的学科术语当中存在“条件状语时间状语从句”,抽取模型错误地把两个学科术语合为一个学科术语。
3)由于本身语料当中存在一些语法错误,或者由于语料中存在其它无关信息,抽取模型将会引入一些错误学科术语。
4)由于抽取模型本身仅仅是考虑到上下文的信息,以及字和标签的对应关系,并无法考虑当前词语是否与对应学科领域的相关性,本身可能引入和对应学科领域无关的术语。
针对初步抽取出的学科术语中可能存在的上述四种噪声,本实施方式中提供了两种筛选方法,以筛选掉这些噪声,筛选出对应的学科术语中真正的学科术语。
对于上述第1)类和第2)类噪声,本发明使用基于规则的方法进行筛除,去掉过短和过长的学科术语,具体方式如下:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。也就是说,如果初步抽取出的某个学科术语过短或过长,那么该学科术语有可能不是一个真正的学科术语,该筛除方式一般是用于删除序列标注得到的明显的错误信息。
对于上述第3)类和第4)类噪声,本实施方式采用基于学科术语之间相似度的方式进行筛选,具体方式如下:
采用待抽取语料对应的学科领域的已有知识体系结构,计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。
在实际应用中,可以根据需要选择筛选方式,可以采用其中一种或者同事采用上述两种,当然也可自定义其它的一些筛选规则。
本实施方式中,一个领域的已有知识体系结构是指由该领域的学科术语构成的、反映学科术语之间层级关系的知识结构树,知识结构树中的一个节点对应一个学科术语,即知识体系结构是利用一个学科领域中的学科术语之间的上下位关系建立的知识树。需要说明的是,本实施方式中的所述学科术语包括但不限于各门学科领域中的专门用语,还可以包括各学科领域的知识点中的关键词、关键字,也就是说学科术语的具体限定条件可以由用户根据应用需求进行设定。
本实施方式中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度,也就是学科术语表面形式上的相似度。
计算初步抽取出的学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y)的计算公式为:
fatnerProb(x,y)=αy×editSimi(x,y)+βy×semanticFatherSimi(x,y)
αyy=1
其中,editSimi(x,y)为学科术语x与学科术语y之间的表征相似度,semantivFatherSimi(x,y)学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度,αy为表征相似度的权重,βy为平均语义相似度的权重;
根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y)的计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,sonSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vector(z)为词向量之间的点乘。
本实施方式中,通过两个学科术语的词向量之间的余弦相似度来衡量两个学科术语之间的语义相似度,即semanticSimi(x,z)=vector(x)·vector(z)。因此,在计算学科术语之间的语义相似度之前,首先要使用word2vec模型(单词转向量模型)将每个学科术语转换成一个词向量,向量维度可以根据需要选取,如可以是100。将词语转换成词向量为现有技术,本实施方式中可以选用2013年Tomas Mikolov,Kai Chen,Greg Corrado,Jeffrey Dean发表的论文EfficientEstimation of Word Representations in Vector Space中建立word2vector模型实现词语到词向量的转换。
在已有知识体系结构中,同一类别的学科术语很有可能出现在知识结构树的同一层级的节点中,因此,本实施方式中,在判断学科术语x有多大可能是已有知识体系结构中学科术语y的子节点时,利用的是x和y的子节点的平均语义相似度semanticFatherSimi(x,y)来衡量两者的语义相似度,该方式与单独的计算x和y之间的语义相似度相比更全面的考虑了待加入学科术语与知识结构体系中同一类别的学科术语之间的关联性,准确率更高。
此外,本实施方式中,αy和βy是两部分相似度对应的权重,满足αyy=1。由于在初期仅仅使用少量的知识体系结构信息(在初始阶段,已有知识体系结构中的学科术语较少、结构较简单,数据量较少),存在数据稀疏性的问题。考虑当y节点的子节点数目较少的情况下,更多地考虑x和y节点表征层面的相似度(表征相似度),随着y节点的子节点数目增多,语义相似度的权重提高,所以αy和βy的计算公式如下:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0,b的值越大,表示考虑编辑距离的权重越小(即表征相似度的权重越小),反之亦然,在实际应用中,根据编辑距离的重要性选择b的具体取值。
在计算出初步抽取出的学科术语与已有知识体系结构中所有学科术语的相似度后,将最大相似度所对应的知识体系结构中的学科术语确定为抽取出的学科术语的父节点,如果该最大相似度值大于设定阈值,则判断该抽取出的学科术语为该学科领域的真正学科术语。在实际计算中,在计算抽取出的学科术语与已有知识体系结构中每个学科术语之间的相似度之前,可以通过设定条件筛除大部分已有知识体系结构中的学科术语,只计算抽取出的学科术语与其中一部分学科术语的相似度,大大优化计算效率。例如,可以以抽取出的学科术语中的某个字或词作为关键词,通过该关键词检索出已有知识体系结构中的包含该关键词学科术语(这些学科术语很有可能是与抽取出的学科术语最相似的术语),只计算抽取的学科术语与这部分学科术语之间的相似度。
当然,如果初步抽取出的学科术语已经在已有知识体系结构中,则不再需要进行对该待加入学科术语进行处理,该学科术语直接就可以确定为该领域的真正学科术语。因此,在对抽取出的学科术语进行上述筛选步骤之前,可以以抽取出的学科术语直接作为关键词,在已有知识体系结构中检索该学科术语是否已经存在,提高抽取效率。
步骤S600:确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构。
当步骤S500计算出的最大相似度大于设定阈值时,确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。学科术语x在学科术语y的节点的下一级。
通过本实施方式中的上述抽取方法,通过少量样本语料训练出收取模型,实现了语料中学科术语的快速抽取,并通过对抽取结果的筛选判断,提高了抽取结果的准确度,同时还实现了对已有知识体系结构的扩大和完善。
与图1中所示的方法相对应,本发明实施方式中还提供了一种基于序列标注模型的学科术语抽取系统,如图2所示,该系统包括:学科术语标注模块100、语料切分及分类模块200、抽取模型训练模块300、学科术语初步抽取模块400、学科术语筛选模块500和知识体系结构完善模块600。其中,
学科术语标注模块100,用于将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
语料切分及分类模块200,用于将所述标注语料按字切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语;
抽取模型训练模块300,用于将所述训练语料作为观察序列,将所述标注序列作为状态序列,利用条件随机场模型训练得到用于学科术语抽取的序列标注模型;
学科术语初步抽取模块400,用于根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;学科术语初步抽取模块包括:
状态序列计算单元,用于将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={w1,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
学科术语抽取单元,用于根据所述状态序列W初步抽取出学科术语,抽取方式为:如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
学科术语筛选模块500,用于筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语;所述学科术语筛选模块包括:
第一筛选单元,用于根据学科术语之间的相似度判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
学科术语筛选模块中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度;
所述学科术语筛选模块包括表征相似度计算单元、语义相似度计算单元和相似度计算单元;其中,
表征相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的表征相似度editSimi(x,y),表征相似度计算单元根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
语义相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y),计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,sonSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vector(z)为词向量之间的点乘;
相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y),计算公式为:
fatherProb(x,y)=αy×editSimi(x,y)+βy×semanticFatherSimi(x,y)
其中,αy为表征相似度的权重,βy为平均语义相似度的权重。
表征相似度的权重和平均语义相似度的权重的计算公式为:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0。
第二筛选单元,用于根据设定条件判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
知识体系结构完善模块600,用于当计算出的最大相似度大于设定阈值时,确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。
下面结合实施例对本发明进行进一步的说明。
实施例
本实施例中,以初中生英语语法知识作为一个具体的学科领域,目的是抽取该学科领域的语料中的学科术语,并完善初中英语语法知识相关的已有知识体系结构。
图3示出了本实施例中初中英语语法的一个已有知识体系结构,由图可以看出,所述已有知识体系结构即使反映该学科领域的知识点(本实施例中的学科术语)以及知识点间层级关系的知识结构树,如主语从句、表语从句和同位语从句为该体系结构中的同一级,名词性从句为三者的一级父节点,句法知识为二级父节点。
采用本发明实施方式中提供的抽取方法抽取该领域中学科术语的步骤如下:
1.首先选择训练语料
本实施例中从明博在线教育公司提供的和初中生英语语法相关的资料中,提取出主干知识点,并通过简单的规则,去掉了语料当中的例句和习题,保留下少量的和相关领域知识高度相关的语料,将该语料作为训练语料,再请专家标注出语料当中的学科术语,得到标注数据即标注语料。
2.对标注语料进行标签设置,得到标注序列
本实施例中,为了描述的方便,对训练语料以及后续的待抽取学科术语的语料中的内容都是以一个句子来进行简单说明的,而在实际应用中,训练语料的多少及具体内容都是可以根据实际应用的需要进行选取的。
本实施例中,训练语料的一个句子为:“动词不定式的基本形式为‘to+动词原形’”,其中的学科术语为“动词不定式”,“to”和“动词原型”,则该训练语料与标注序列之间的对应关系如下,语料中的一个字对应一个标签。
3.以训练预料为已知的观察序列,标注序列为该观察序列对应的状态序列,观察序列和状态序列作为条件随机场模型的训练数据,训练得到用于抽取该学科领域的学科术语的序列标注模型,即学科术语抽取模型。
4.对于需要抽取其中学科术语的待抽取语料,利用上述训练得到的抽取模型初步抽取出其中的学科术语。
本实施例中,待抽取语料中的一个句子为:“无论主句是陈述句还是疑问句,宾语从句都必须使用陈述语序。”采用步骤S300中训练得到的抽取模型初步抽取出该句子中学科术语的步骤包括:
首先,将句子“无论主句是陈述句还是疑问句,宾语从句都必须使用陈述语序。”作为抽取模型的输入(待抽取的观察序列),从模型中得到该句子对应的标注序列(状态序列)为:“OOBIOBIIOOBIIOBIIIOOOOOBIIIO”,由该标注序列可以判断得到该句子中包含的学科术语为:“主句”、“陈述句”、“疑问句”、“宾语从句”和“陈述语序”。
5.对初步抽取出的学科术语进行筛选,去除初步抽取结果中可能存在的噪声。
本实施例中,利用抽取出的学科术语与该领域的已有知识体系结构中的学科术语之间的相似度进行筛选,筛选出初步抽取中的学科术语中属于该学科领域的真正学科术语。
本实施例中,以初步抽取出的学科术语集合K={主句,陈述句,疑问句,宾语从句、使用、陈述语序}中的一个学科术语“宾语从句”为例进行说明,判断“宾语从句”是否为初中英语语法学科领域的真正学科术语。
为了提高处理的效率,首先以“宾语从句”中的“从句”作为关键词在图3中所示已有知识体系结构中的学科术语库中进行检索,检索得到已有知识体系结构中的包含该关键词学科术语为“名词性从句”、“主语从句”、“表语从句”和“同位语从句”,也就是说,这四个学科术语是与“宾语从句”最可能关联的(相似度可能最大)四个学科术语。当然,上述关键词的选择或者初步处理条件可以根据不同需要进行不同设置。
分别计算“宾语从句”与上述四个已有知识体系结构中学科术语之间的相似度。本实施例,以“宾语从句”和“名词性从句”为例进行说明,具体计算步骤如下:
计算“宾语从句”和“名词性从句”的表征相似度。
计算“宾语从句”和“名词性从句”的所有子节点的学科术语之间的平均语义相似度。
由图3中所示的已有知识体系结构可以看出,“名词性从句”的子节点集合sonSet名词性从句)={主语从句,表语从句,同位语从句},子节点个数|sonSet名词性从句)|=3。为了计算“宾语从句”和“名词性从句”的语义相似度semanticFatherSimi(宾语从句,名词性从句)首先需要分别计算“宾语从句”与三个子节点的相似度semanticSimi(宾语从句,z)。
为了计算semanticSimi(宾语从句,z),首先使用现有word2vec模型(单词转向量模型)将“”宾语从句“、名词性从句”、“主语从句”、“表语从句”分别转换成对应的词向量,然后根据公式semanticSimi(宾语从句,z)=vector(宾语从句)·vector(z)计算出“宾语从句”与“主语从句”,“表语从句”和“同位语从句”的语义相似度,本实施例中计算出的“宾语从句”与“主语从句”,“表语从句”和“同位语从句”的语义相似度如下表所示:
学科术语 相似度
主语从句 0.78
表语从句 0.84
同位语从句 0.58
因此,
之后,再计算出表征相似度和平均语义相似度的权重,本实施例中b=3,则:
最终计算“宾语从句”与“名词性从句”的相似度,即“宾语从句”为“名词性从句”子节点的概率:
本实施例中的设定阈值为δ=0.5,上述计算结果大于设定阈值,所以认为“宾语从句”是一个和当前领域相关的学科术语,并将“宾语从句”作为“名词性从句”的子节点,添加到已有知识结构树上,添加后的结果如图4所示。
再例如,一个抽取出的学科术语“使用”,用相同的方法,计算出的概率值为0.2,则认为不通过检验,“原因”被认为是和本实施例当中涉及领域不相关的学科术语。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种基于序列标注模型的学科术语抽取方法,包括以下步骤:
(1)将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
(2)将所述标注语料按字切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语;
(3)将所述训练语料作为观察序列,将所述标注序列作为状态序列,利用条件随机场模型训练得到用于学科术语抽取的序列标注模型;
(4)根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;
(5)筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语,包括:计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。
2.根据权利要求1所述的一种基于序列标注模型的学科术语抽取方法,其特征在于,步骤(4)中,根据序列标注模型初步抽取待抽取语料中的学科术语,包括:
(4.1)将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={w1,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
(4.2)如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
3.根据权利要求1所述的一种基于序列标注模型的学科术语抽取方法,其特征在于,步骤(5)中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度;
计算初步抽取出的学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y)的计算公式为:
fatherProb(x,y)=αy×editSimi(x,y)+βy×semanticFatherSimi(x,y)
αyy=1
其中,editSimi(x,y)为学科术语x与学科术语y之间的表征相似度,semanticFatherSimi(x,y)学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度,αy为表征相似度的权重,βy为平均语义相似度的权重;
根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y)的计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,sonSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vevtor(z)为词向量之间的点乘。
4.根据权利要求3所述的一种基于序列标注模型的学科术语抽取方法,其特征在于,表征相似度的权重和平均语义相似度的权重的计算公式为:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0。
5.根据权利要求3所述的一种基于序列标注模型的学科术语抽取方法,其特征在于,步骤(5)中,当计算出的最大相似度大于设定阈值时,该方法还包括:确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。
6.根据权利要求1所述的一种基于序列标注模型的学科术语抽取方法,其特征在于,步骤(5)中,筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语还包括:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判定初步抽取出的学科术语为所述学科领域不相关的学科术语。
7.一种基于序列标注模型的学科术语抽取系统,该系统包括:
学科术语标注模块,用于将某一学科领域的训练语料中的学科术语进行标注,得到标注语料;
语料切分及分类模块,用于将所述标注语料按字切分,并对切分后的每个字设置一个标签t,得到标注序列,其中,t∈T,T={B,I,O},B标签表示一个学科术语的开始,I标签表示一个学科术语的内部,O标签表示非学科术语;
抽取模型训练模块,用于将所述训练语料作为观察序列,将所述标注序列作为状态序列,利用条件随机场模型训练得到用于学科术语抽取的序列标注模型;
学科术语初步抽取模块,用于根据所述序列标注模型初步抽取出所述学科领域中待抽取语料中的学科术语;
学科术语筛选模块,用于筛选出初步抽取出的学科术语中属于所述学科领域的真正学科术语;所述学科术语筛选模块包括:
第一筛选单元,用于根据学科术语之间的相似度判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:计算初步抽取出的学科术语与所述学科领域的已有知识结构体系中所有学科术语的相似度,判断计算出的最大相似度是否大于设定阈值,若是,则判定初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
8.根据权利要求7所述的一种基于序列标注模型的学科术语抽取系统,其特征在于,学科术语初步抽取模块包括:
状态序列计算单元,用于将待抽取语料作为所述序列标注模型的输入,得到该待抽取语料对应的状态序列W,W={w1,w2,w3,……,wn},n为待抽取语料的字长度,wi为待抽取语料中第i个字的标签,wi∈T,T={B,I,O};
学科术语抽取单元,用于根据所述状态序列W初步抽取出学科术语,抽取方式为:如果状态序列W中的标签同时满足以下三个条件,则标签{wi,wi+1,…,wk}对应的词为初步抽取出的一个学科术语:
①wi=B;
②k>i,wi+1=…=wk=I,或k=i;
③wk+1=O。
9.根据权利要求7所述的一种基于序列标注模型的学科术语抽取系统,其特征在于,学科术语筛选模块中,学科术语之间的相似度包括学科术语之间的表征相似度和语义相似度;所述表征相似度是指学科术语的构成上的相似度;
所述学科术语筛选模块包括表征相似度计算单元、语义相似度计算单元和相似度计算单元;其中,
表征相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的表征相似度editSimi(x,y),表征相似度计算单元根据两个学科术语之间的编辑距离计算学科术语之间的表征相似度,学科术语x与学科术语y之间的表征相似度editSimi(x,y)计算公式为:
editSimi ( x , y ) = 1 - editDis tan ce ( x , y ) length ( y )
其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离,length(y)表示学科术语y的词长度;
语义相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y的所有子节点的学科术语之间的平均语义相似度semanticFatherSimi(x,y),计算公式为:
semanticFatherSimi ( x , y ) = 1 | sonSet ( y ) | Σ z ∈ sonSet ( y ) semanticSimi ( x , z )
semanticSimi(x,z)=vector(x)·vector(z)
其中,sonSet(y)为学科术语y的所有子节点构成的集合,|sonSet(y)|为学科术语y的所有子节点的个数,semanticSimi(x,z)为学科术语x与学科术语z之间的语义相似度,vector(x)为学科术语x的词向量,vector(z)为学科术语z的词向量,vector(x)·vector(z)为词向量之间的点乘;
相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结构体系中学科术语y之间的相似度fatherProb(x,y),计算公式为:
fatherProb(x,y)=αy×editSimi(x,y)+βy×semanticFatherSimi(x,y)
其中,αy为表征相似度的权重,βy为平均语义相似度的权重。
10.根据权利要求9所述的一种基于序列标注模型的学科术语抽取系统,其特征在于,表征相似度的权重和平均语义相似度的权重的计算公式为:
α y = 1 | sonSet ( y ) | + b
βy=1-αy
其中,b为表征相似度权重的计算系数,b>0。
11.根据权利要求3所述的一种基于序列标注模型的学科术语抽取系统,其特征在于,该系统还包括:
知识体系结构完善模块,用于当计算出的最大相似度大于设定阈值时,确定出初步抽取出的学科术语在所述已有知识体系结构中的节点位置,将初步抽取出的学科术语添加到已有知识体系结构中,完善所述已有知识体系结构,确定方式为:
假设初步抽取出的学科术语x与所述已有知识体系结构中学科术语y的相似度最大,则判断学科术语y在已有知识体系结构的节点位置为学科术语x的父节点。
12.根据权利要求8所述的一种基于序列标注模型的学科术语抽取系统,其特征在于,所述学科术语筛选模块还包括:
第二筛选单元,用于根据设定条件判断初步抽取出的学科术语是否为真正的学科术语,判断方式为:
设定学科术语的最短长度A和最长长度B,判断初步抽取的学科术语的长度L是否满足A≤L≤B,若是,则判断初步抽取出的学科术语为所述学科领域的真正学科术语;若否,则判断初步抽取出的学科术语为所述学科领域不相关的学科术语。
CN201510145663.7A 2015-03-30 2015-03-30 一种基于序列标注模型的学科术语抽取方法及系统 Active CN104794169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510145663.7A CN104794169B (zh) 2015-03-30 2015-03-30 一种基于序列标注模型的学科术语抽取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510145663.7A CN104794169B (zh) 2015-03-30 2015-03-30 一种基于序列标注模型的学科术语抽取方法及系统

Publications (2)

Publication Number Publication Date
CN104794169A true CN104794169A (zh) 2015-07-22
CN104794169B CN104794169B (zh) 2018-11-20

Family

ID=53558961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510145663.7A Active CN104794169B (zh) 2015-03-30 2015-03-30 一种基于序列标注模型的学科术语抽取方法及系统

Country Status (1)

Country Link
CN (1) CN104794169B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250910A (zh) * 2016-01-28 2016-12-21 西北工业大学 基于标签序列和nGrams的半结构化数据分类方法
CN106569997A (zh) * 2016-10-19 2017-04-19 中国科学院信息工程研究所 一种基于隐式马尔科夫模型的科技类复合短语识别方法
CN107783960A (zh) * 2017-10-23 2018-03-09 百度在线网络技术(北京)有限公司 用于抽取信息的方法、装置和设备
CN108549635A (zh) * 2018-04-09 2018-09-18 北京信息科技大学 一种专利文献领域术语抽取方法
CN108874942A (zh) * 2018-06-04 2018-11-23 科大讯飞股份有限公司 一种信息确定方法、装置、设备及可读存储介质
CN108920458A (zh) * 2018-06-21 2018-11-30 武汉斗鱼网络科技有限公司 一种标签归一化方法、装置、服务器和存储介质
CN108959372A (zh) * 2018-05-23 2018-12-07 中译语通科技股份有限公司 面向新闻网页的正文抽取方法及系统、信息数据处理终端
CN109766540A (zh) * 2018-12-10 2019-05-17 平安科技(深圳)有限公司 通用文本信息提取方法、装置、计算机设备和存储介质
CN109783775A (zh) * 2019-01-18 2019-05-21 广东小天才科技有限公司 一种标记用户语料的内容的方法及系统
CN109947891A (zh) * 2017-11-07 2019-06-28 北京国双科技有限公司 文书解析方法及装置
CN111651983A (zh) * 2020-05-12 2020-09-11 哈尔滨工业大学 一种基于自训练与噪声模型的因果事件抽取方法
CN111737992A (zh) * 2020-07-06 2020-10-02 和宇健康科技股份有限公司 三向文本信息处理方法、计算机设备和存储介质
CN111859858A (zh) * 2020-07-22 2020-10-30 智者四海(北京)技术有限公司 从文本中提取关系的方法及装置
CN113392196A (zh) * 2021-06-04 2021-09-14 北京师范大学 一种基于多模态交叉比较的题目检索方法和系统
CN114462387A (zh) * 2022-02-10 2022-05-10 北京易聊科技有限公司 无标注语料下的句型自动判别方法
CN115066679A (zh) * 2020-03-25 2022-09-16 苏州七星天专利运营管理有限责任公司 一种提取专业领域内的自造术语的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213804A1 (en) * 2008-11-14 2011-09-01 Korea Institute Of Science & Technology Information System for extracting ralation between technical terms in large collection using a verb-based pattern
CN102360383A (zh) * 2011-10-15 2012-02-22 西安交通大学 一种面向文本的领域术语与术语关系抽取方法
CN102402717A (zh) * 2010-09-13 2012-04-04 日电(中国)有限公司 数据分析设备和方法
CN102693244A (zh) * 2011-03-23 2012-09-26 日电(中国)有限公司 用于识别非结构化文本中的信息的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213804A1 (en) * 2008-11-14 2011-09-01 Korea Institute Of Science & Technology Information System for extracting ralation between technical terms in large collection using a verb-based pattern
CN102402717A (zh) * 2010-09-13 2012-04-04 日电(中国)有限公司 数据分析设备和方法
CN102693244A (zh) * 2011-03-23 2012-09-26 日电(中国)有限公司 用于识别非结构化文本中的信息的方法和装置
CN102360383A (zh) * 2011-10-15 2012-02-22 西安交通大学 一种面向文本的领域术语与术语关系抽取方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250910B (zh) * 2016-01-28 2021-01-05 西北工业大学 基于标签序列和nGrams的半结构化数据分类方法
CN106250910A (zh) * 2016-01-28 2016-12-21 西北工业大学 基于标签序列和nGrams的半结构化数据分类方法
CN106569997A (zh) * 2016-10-19 2017-04-19 中国科学院信息工程研究所 一种基于隐式马尔科夫模型的科技类复合短语识别方法
CN106569997B (zh) * 2016-10-19 2019-12-10 中国科学院信息工程研究所 一种基于隐式马尔科夫模型的科技类复合短语识别方法
CN107783960A (zh) * 2017-10-23 2018-03-09 百度在线网络技术(北京)有限公司 用于抽取信息的方法、装置和设备
US11288593B2 (en) 2017-10-23 2022-03-29 Baidu Online Network Technology (Beijing) Co., Ltd. Method, apparatus and device for extracting information
CN109947891A (zh) * 2017-11-07 2019-06-28 北京国双科技有限公司 文书解析方法及装置
CN108549635A (zh) * 2018-04-09 2018-09-18 北京信息科技大学 一种专利文献领域术语抽取方法
CN108959372A (zh) * 2018-05-23 2018-12-07 中译语通科技股份有限公司 面向新闻网页的正文抽取方法及系统、信息数据处理终端
CN108874942A (zh) * 2018-06-04 2018-11-23 科大讯飞股份有限公司 一种信息确定方法、装置、设备及可读存储介质
CN108920458A (zh) * 2018-06-21 2018-11-30 武汉斗鱼网络科技有限公司 一种标签归一化方法、装置、服务器和存储介质
CN109766540A (zh) * 2018-12-10 2019-05-17 平安科技(深圳)有限公司 通用文本信息提取方法、装置、计算机设备和存储介质
CN109766540B (zh) * 2018-12-10 2022-05-03 平安科技(深圳)有限公司 通用文本信息提取方法、装置、计算机设备和存储介质
CN109783775A (zh) * 2019-01-18 2019-05-21 广东小天才科技有限公司 一种标记用户语料的内容的方法及系统
CN109783775B (zh) * 2019-01-18 2023-07-28 广东小天才科技有限公司 一种标记用户语料的内容的方法及系统
CN115066679A (zh) * 2020-03-25 2022-09-16 苏州七星天专利运营管理有限责任公司 一种提取专业领域内的自造术语的方法及系统
CN115066679B (zh) * 2020-03-25 2024-02-20 苏州七星天专利运营管理有限责任公司 一种提取专业领域内的自造术语的方法及系统
CN111651983A (zh) * 2020-05-12 2020-09-11 哈尔滨工业大学 一种基于自训练与噪声模型的因果事件抽取方法
CN111651983B (zh) * 2020-05-12 2021-06-18 哈尔滨工业大学 一种基于自训练与噪声模型的因果事件抽取方法
CN111737992A (zh) * 2020-07-06 2020-10-02 和宇健康科技股份有限公司 三向文本信息处理方法、计算机设备和存储介质
CN111737992B (zh) * 2020-07-06 2020-12-22 和宇健康科技股份有限公司 三向文本信息处理方法、计算机设备和存储介质
CN111859858A (zh) * 2020-07-22 2020-10-30 智者四海(北京)技术有限公司 从文本中提取关系的方法及装置
CN111859858B (zh) * 2020-07-22 2024-03-01 智者四海(北京)技术有限公司 从文本中提取关系的方法及装置
CN113392196A (zh) * 2021-06-04 2021-09-14 北京师范大学 一种基于多模态交叉比较的题目检索方法和系统
CN114462387A (zh) * 2022-02-10 2022-05-10 北京易聊科技有限公司 无标注语料下的句型自动判别方法

Also Published As

Publication number Publication date
CN104794169B (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN104794169A (zh) 一种基于序列标注模型的学科术语抽取方法及系统
Stamatatos et al. Automatic text categorization in terms of genre and author
Ruiz-Casado et al. Automatic extraction of semantic relationships for wordnet by means of pattern learning from wikipedia
CN101539907B (zh) 词性标注模型训练装置、词性标注系统及其方法
CN105824933A (zh) 基于主述位的自动问答系统及其实现方法
CN110674252A (zh) 一种面向司法领域的高精度语义搜索系统
CN101261623A (zh) 基于搜索的无词边界标记语言的分词方法以及装置
CN106599032A (zh) 一种结合稀疏编码和结构感知机的文本事件抽取方法
CN111694927B (zh) 一种基于改进词移距离算法的文档自动评阅方法
CN110532328A (zh) 一种文本概念图构造方法
CN113157860B (zh) 一种基于小规模数据的电力设备检修知识图谱构建方法
Shen et al. SsciBERT: A pre-trained language model for social science texts
Mohammed Using machine learning to build POS tagger for under-resourced language: the case of Somali
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN113934814B (zh) 古诗文主观题自动评分方法
Chang et al. Automated Chinese essay scoring based on multilevel linguistic features
Iwatsuki et al. Using formulaic expressions in writing assistance systems
Iwatsuki et al. Communicative-function-based sentence classification for construction of an academic formulaic expression database
Lahbari et al. A rule-based method for Arabic question classification
Riza et al. Natural language processing and levenshtein distance for generating error identification typed questions on TOEFL
Almotairi et al. Developing a Semantic Question Answering System for E-Learning Environments Using Linguistic Resources.
Mansouri et al. Named entity recognition using a new fuzzy support vector machine
JP2002278982A (ja) 情報抽出方法および情報検索方法
Bear et al. Leveraging a bilingual dictionary to learn Wolastoqey word representations
Mori et al. Answering any class of Japanese non-factoid question by using the Web and example Q&A pairs from a social Q&A website

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant