首页> 中国专利> 一种基于序列标注模型的学科术语抽取方法及系统

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

摘要

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

著录项

  • 公开/公告号CN104794169A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

  • 申请/专利权人 明博教育科技有限公司;北京大学;

    申请/专利号CN201510145663.7

  • 申请日2015-03-30

  • 分类号G06F17/30(20060101);G06F17/27(20060101);

  • 代理机构北京天悦专利代理事务所(普通合伙);

  • 代理人田明;张海秀

  • 地址 100085 北京市海淀区上地三街9号嘉华大厦C座801-803

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-20

    授权

    授权

  • 2015-08-19

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150330

    实质审查的生效

  • 2015-07-22

    公开

    公开

说明书

技术领域

本发明涉及数据抽取技术领域,具体涉及一种基于序列标注模型的学科 术语抽取方法及系统。

背景技术

学科术语是一个领域中最基本的单元,为了更好地描述该领域的知识体 系,需要得到该领域当中的所有学科术语。而随着互联网和信息技术的发展, 同一个领域中知识快速膨胀,新的领域层出不穷,学科术语的抽取及应用也 越来越被受重视,例如,很多在线教育公司(比如明博教育等等)利用用户 正在阅读的语料,会为用户标注出其中语料中的学科术语,并可以根据这些 学科术语为用户推荐相关的教育资源,更好的满足了用户的需求。随着学科 知识不断增多,用户受教育的需求日益膨胀,获取对应领域当中的学科术语 成为这些在线教育公司的基本任务。但随着知识量及新技术领域的不断增加, 从对应的领域中找到相关的学科术语变得越来越困难。

现有的学科术语抽取,通常使用专家标注的方法。专家凭借对相关领域 知识的认知,书写领域当中的学科术语。这样的方法,具有很高的准确率, 但是即使是专家也会遗漏掉很多术语,同时随着知识量的不断增加,专家的 方法不具有好的持续性,现有的工作也很难迁移到其它领域。

通过多年研究,研究人员提出了一些使用计算机完成的学科术语的抽取 方法,Kushal Dave(可参考Kushal Dave,Vasudeva Varma发表的论文“Pattern  Based Keyword Extraction for Contextual Advertising”.CIKM’10,October 26–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 and  Information Retrieval,2010:pages 179-190.)两人提出了一种基于两个 单词间互信息的方法来抽取学科术语;Wang et al.(可参考Wang,J.,Liu, J.and Wang,C.Keyword extraction based on PageRank.In Proceedings  of the 11th Pacific-Asia Conference on Knowledge Discovery and Data  Mining.Nanjing,China,2007:pages 857-864.)提出了一种基于Page-Rank (网页排名)的短语评分算法,进一步来获取关键词;Matsuo和Ishizuka(可 参考Matsuo,Y.and Ishizuka,M..Keyword extraction from a single  document 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-editDistance(x,y)length(y)

其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离, length(y)表示学科术语y的词长度;

学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度 semanticFatherSimi(x,y)的计算公式为:

semanticFatherSimi(x,y)=1|sonSet(y)|ΣzsonSet(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-editDistance(x,y)length(y)

其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离, length(y)表示学科术语y的词长度;

语义相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结 构体系中学科术语y的所有子节点的学科术语之间的平均语义相似度 semanticFatherSimi(x,y),计算公式为:

semanticFatherSimi(x,y)=1|sonSet(y)|ΣzsonSet(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 Random  Fields,简称CRF,或CRFs),建立从观察序列到状态序列的序列标注模型, 从而得到用于学科术语抽取的序列标注模型。

条件随机场模型基于隐马尔科夫模型,是一种判别式概率模型,相邻的标 注序列,观察序列到标注序列的对应位置,都是一次有效的转移,对于已有 的观察序列S,对应的标注序列W的条件概率p(W|S)可以表示为:

p(W|S;π)=1Z(S;π)exp{ΣrθrΣx=1nfr(wx-1,wx,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的含义根据实 际应用场景的不同而对应不同的含义。

同时定义目标化函数来训练最优参数π,目标化函数的一种形式为:

J1=Σx=1nlogp(w(x)|S(x);π)-12σ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-editDistance(x,y)length(y)

其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离, length(y)表示学科术语y的词长度;

学科术语x与学科术语y的所有子节点的学科术语之间的平均语义相似度 semanticFatherSimi(x,y)的计算公式为:

semanticFatherSimi(x,y)=1|sonSet(y)|ΣzsonSet(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发表的论文Efficient  Estimation 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-editDistance(x,y)length(y)

其中,editDistance(x,y)表示学科术语x与学科术语y之间的编辑距离, length(y)表示学科术语y的词长度;

语义相似度计算单元,用于计算学科术语x与所述学科领域的已有知识结 构体系中学科术语y的所有子节点的学科术语之间的平均语义相似度 semanticFatherSimi(x,y),计算公式为:

semanticFatherSimi(x,y)=1|sonSet(y)|ΣzsonSet(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,则认为不通过检验,“原因”被认为是和本实施例当中涉及领域不相关 的学科术语。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号