一种基于依存句法树的知识图谱扩充方法及系统与流程

文档序号:13913172阅读:587来源:国知局

本发明涉及中文信息处理技术领域,尤其涉及一种基于依存句法树的知识图谱扩充方法及系统。



背景技术:

知识图谱,英文是knowlebgegraph,以关联数据集等知识库为支撑,对数据资源进行语义标注和关联,建立关系网络,通过深入的语义分析和挖掘,借助强大的语义处理能力和开放互联能力,通过可视化界面为用户提供方便智能的浏览检索等服务。知识图谱本质上是一种语义网络,是语义网技术的成果之一。目前随着语义web资源数量激增、大量的rbf数据被发布和共享、linkingopenbata(lob)等项目全面开展,互联网从仅包含网页间超链接的文档万维网向包含大量描述实体间丰富关联的数据万维网转变这为知识的发现获取提供了新的方法和途径。从具有语义性的万维网中抽取出相互关联的事实经过一定处理就形成了知识图谱这种具有语义性的知识库系统。

依存语法历史悠久,最早可能追溯到公元前几世纪panini提出的梵文语法,之后发展成为传统语法学家使用的句法表示形式,尤其是欧洲古典语言和斯拉夫语。各种依存语法存在一个共同的基本假设:句法结构本质上包含词和词对之间的关系。这种关系称为依存关系一个依存关系连接两个词,分别是核心词(heab)和修饰词(bepenbent)。依存关系可以细分为不同的类型,表示两个词之间的句法关系。

依存句法分析不仅可以帮助各种上层应用,并且可以帮助底层的自然语言处理。传统的自然语言处理系统都采用级联式的框架,即先分词,然后做词性标注,然后进行句法分析。以词性标注为例,很多词性标注的歧义,如名词动词歧义,仅仅利用序列标注模型中使用到的局部上下文信息是无法正确消解的,而长距离的句法结构可以提供有用的信息。

关系抽取的研究是以mua评测会议和后来取代mua的aae评测会议为主线进行的,大量先进的信息抽取方法被提出来,有力地促进了关系抽取研究的完善发展.实体关系抽取所遵循的技术方法基本可以归纳为:基于模式匹配的方法、基于词典驱动的方法、基于本体的方法、基于机器学习的方法以及混合抽取方法。近几年的研究趋势表明,基于机器学习的方法逐渐成为关系抽取研究的主流思路。关系抽取通常采用有监督的机器学习方法,它可以根据关系实例的表示方式不同分为2类:基于特征向量的方法和基于核函数的方法。目前,基于特征向量的关系抽取取得了较好的成效。由于特征的选择对关系抽取的性能影响很大,因此基于特征向量的实体关系抽取的研究重点不在机器学习方法本身,而在于如何准确地获取各种词法、句法和语义等语言学特征,并把它们有效地集成起来,从而产生描述实体间语义关系的各种特征。

目前,知识图谱的构建主要针对于某一专业领域,如“医学领域”、“金融领域”,等。在构建过程中,需要具有较高领域知识的专家协助,需要耗费大量人工资源。基于深度学习等有监督方法,需要大量标注文本信息,也增加了构建和扩充知识图谱的成本。



技术实现要素:

本发明的目的鉴于上述相关技术与理论,结合实际运用与算法实现,提供了一种利用依存句法分析的方法对语料中的知识进行关系抽取,进而扩充知识图谱知识库的方法与系统,在知识抽取与知识图谱的扩充中,采用依存句法树规则的方法,大大减少了人工参与成分。

为实现上述目的,在第一方面,本发明提供了一种基于依存句法树的知识图谱扩充方法。该方法包括以下步骤:

1)爬取知识图谱对应百科站点的语料作为基础语料集a,以及爬取任一网站的语料作为知识抽取语料集b;

2)将步骤1)的基础语料集a和知识抽取语料集b语料中多余的标点及网页标签去除,然后对语料进行分句和分词处理;

3)对步骤2)中分词处理后的语料进行句法分析以获取语料中词语间的依存关系,并根据分析结果构建依存句法树;

4)将步骤3)中基于基础语料集a构建的依存句法树,结合知识图谱中的对应的知识生成依存句法树规则,并计算依存句法树规则的得分值,并将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中;

5)利用步骤4)中依存句法树规则库g0抽取步骤3)中经句法分析后的知识抽取语料集b中语料的三元组知识,

若能抽取出三元组知识,则舍弃包含该三元组知识的语料;

若未能抽取出三元组知识,则采用弱监督方式构建依存句法树规则,并检验规则在语料集b中的抽取率,在抽取率大于0时再计算依存句法树规则对应的得分值,将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中,然后将依存句法树规则库g0按照得分值升序排列,删除排序靠前的2%-5%的依存句法树规则,得到更新后的依存句法树规则库g1;

6)根据依存句法树规则库g1抽取步骤3)中经句法分析后的知识抽取语料集b中语料的三元组知识,并判断获取的三元组知识的属性关系词是否能与属性词表中的词语匹相配,若能匹配,则表示成功提取出三元组知识;若不能匹配,则表示未能成功提取出三元组知识,然后将匹配上的得分值最高的三元组知识输出,并且一个语料至多输出得分值最高的设定条的三元组知识作为备选知识;

7)判断步骤6)输出的三元组知识是否存在于知识图谱中,若不存在,则添加相应三元组知识。

进一步地,所述步骤2)中采用正则匹配方式进行语料中多余的标点及网页标签去除,采用hanlp开源的分词器进行分词处理。

进一步地,所述步骤3)具体为:采用斯坦福的句法分析算法,训练出依存句法模型,并运用该模型对步骤2)中已分词的语句进行分析,得出语句的句法依存关系,构建依存句法树。

进一步地,所述步骤3)具体为:采用哈尔滨工业大学建立的语言云平台的依存句法分析算法分析步骤2)中的分词后的语句,得出语句的句法依存关系,构建依存句法树。

进一步地,所述步骤5)中采用弱监督方式构建依存句法树规则具体包括:通过人工标记出语料中的三元组知识,然后将标记出的三元组知识结合其对应的语料,运用依存句法树规则生成算法生成新的依存句法树规则。

进一步地,所述步骤5)中检验规则x在知识抽取语料集b中的抽取率,利用如下公式计算:

其中,p(x)表示某条依存句法数规则x在知识抽取语料集b中的抽取率,k表示在利用规则x在知识抽取语料集b中抽取的三元组知识数目,b为知识抽取语料集b的文本集合,当抽取率p(x)大于0时,表述该条依存句法树规则可以用于抽取知识,是一条有效的规则。

进一步地,所述步骤4)和步骤5)中某条依存句法树规则的得分值的计算如下:

利用公式:

h1(x)=h1'(x)+h1"(x)

其中,h1(x)为删除依存句法树规则x抽取出三元组的文本集合的信息熵值,x表示一条依存句法树规则,h1'(x)的计算公式为:

h1'(x)=p1'(x)×logp1'(x)

其中,p1'(x)计算公式为:

k1'表删除依存句法树规则x时依存句法库g0从语料集c中抽取出三元组的文本的集合,c表示语料集c的文本集合,当计算步骤4)中某条依存句法树规则的得分值时,c为基础语料集a的文本集合;当计算步骤5)中某条依存句法树规则的得分值时,c为知识抽取语料集b的文本集合;

h1"(x)的计算公式为:

h1"(x)=p1"(x)×logp1"(x)

其中,p1"(x)计算公式为:

k1"表示删除依存句法树规则x依存句法库g0包涵从语料集c中未被抽取出三元组的文本的集合,c表示语料集c的文本集合,当计算步骤4)中某条依存句法树规则的得分值时,c为基础语料集a的文本集合;当计算步骤5)中某条依存句法树规则的得分值时,c为知识抽取语料集b的文本集合;

利用公式:

h2(x)=h2'(x)+h2"(x)

其中,h2(x)为包涵依存句法树规则x抽取出三元组的文本集合的信息熵值,h2'(x)的计算公式为:

h2'(x)=p2'(x)×logp2'(x)

其中,p2'(x)计算公式为:

k2'表包涵依存句法树规则x时依存句法库g0从语料集c中抽取出三元组的文本的集合,c表示语料集c的文本集合,当计算步骤4)中某条依存句法树规则的得分值时,c为基础语料集a的文本集合;当计算步骤5)中某条依存句法树规则的得分值时,c为知识抽取语料集b的文本集合;

h2"(x)的计算公式为:

h2"(x)=p2"(x)×logp2"(x)

其中,p2"(x)计算公式为:

k2"表示包涵依存句法树规则x时依存句法库g0从语料集c中未被抽取出三元组的文本的集合,c表示语料集c的文本集合,当计算步骤4)中某条依存句法树规则的得分值时,c为基础语料集a的文本集合;当计算步骤5)中某条依存句法树规则的得分值时,c为知识抽取语料集b的文本集合,该条依存句法树规则x的得分值,记为score(x)值,通过公式score(x)=|h2(x)-h1(x)|计算出。

进一步地,所述步骤6)中在成功提取出三元组知识时,还将其对应的依存句法树规则进行加分处理;在未成功提取出三元组知识时,还将其对应的依存句法树规则进行减分处理;然后根据加分和减分处理结果更新依存句法树规则库g1,以形成新的依存句法树规则库g2,在步骤1)爬取另一知识抽取语料集时,规则库g2替换初始规则库g0,作为新的初始句法规则库进行下一次知识图谱的扩充。

在第二方面,本发明公开了一种基于依存句法树的知识图谱扩充系统。该系统包括:

语料获取模块,用以爬取知识图谱对应百科站点的语料作为基础语料集a,以及爬取任一网站的语料作为知识抽取语料集b;

语料预处理模块,用以将语料获取模块获取的基础语料集a和知识抽取语料集b语料中多余的标点及网页标签去除,然后对语料进行分句和分词处理;

句法分析模块,用以将语料预处理模块分词处理后的语料进行句法分析以获取语料中词语间的依存关系,并根据分析结果构建依存句法树;

基础依存句法树规则库构建模块,将句法分析模块基于基础语料集a构建的依存句法树,结合知识图谱中的对应的知识生成依存句法树规则,并计算依存句法树规则的得分值,并将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中;

基础依存句法树规则库更新模块,利用基础依存句法树规则库构建模块构建的依存句法树规则库g0抽取经句法分析模块分析后的知识抽取语料集b中语料的三元组知识,

若能抽取出三元组知识,则舍弃包含该三元组知识的语料;

若未能抽取出三元组知识,则采用弱监督方式构建依存句法树规则,并检验规则在语料集b中的抽取率,在抽取率大于0时再计算依存句法树规则对应的得分值,将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中,然后将依存句法树规则库g0按照得分值升序排列,删除排序靠前的2%-5%的依存句法树规则,得到更新后的依存句法树规则库g1;

知识获取模块,根据依存句法树规则库g1抽取经句法分析模块分析后的知识抽取语料集b中语料的三元组知识,并判断获取的三元组知识的属性关系词是否能与属性词表中的词语匹相配,若能匹配,则表示成功提取出三元组知识;若不能匹配,则表示未能成功提取出三元组知识,然后将匹配上的得分值最高的三元组知识输出,并且一个语料至多输出得分值最高的设定条的三元组知识作为备选知识;

知识添加模块,判断知识获取模块输出的三元组知识是否存在于知识图谱中,若不存在,则添加相应三元组知识。

进一步地,所述知识获取模块还用以在成功提取出三元组知识时,将其对应的依存句法树规则进行加分处理;在未成功提取出三元组知识时,还将其对应的依存句法树规则进行减分处理;然后根据加分和减分处理结果更新依存句法树规则库g1,以形成新的依存句法树规则库g2,在语料获取模块爬取另一知识抽取语料集时,规则库g2替换初始规则库g0,作为新的初始句法规则库进行下一次知识图谱的扩充。

本发明通过利用基础语料集a的依存句法树和知识图谱中的知识构建依存句法树规则,并计算规则对应的得分值,将规则与对应分值存入依存句法树规则库,然后利用依存句法树规则库基础语料集b中的知识进行抽取,在未抽取出知识时采用弱监督方式进行标记知识,生成新的依存句法树规则,并进一步计算新规则对应的得分值,然后将新规则及其对应的得分值更新扩充依存句法树规则库,提高三元组知识的抽取效率,运用该方法,减少了人工构建和扩充知识图谱的成本,能够有效地从语料中抽取知识,可以将不同领域的知识加入到知识图谱中。

附图说明

图1为本发明实施例提供的一种基于依存句法树的知识图谱扩充方法流程图;

图2为本发明实施例提供的依存句法树示意图;

图3为本发明实施例提供的自动构建依存句法树规则流程图;

图4为本发明实施例提供的采用弱监督构建依存句法树规则流程图;

图5为本发明实施例提供的一种基于依存句法树的知识图谱扩充系统结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面将结合发明实施例中的附图,对发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是发明一部分实施例,而非全部的实施例。基于发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于发明保护的范围。

传统的构建知识图谱的方法需要耗费极大的人力资源,关系抽取的方法众多,但效果参差不齐,本发明提出的一种结合语料的依存句法分析结果,构建依存句法树规则,运用规则的方法,提取三元组知识,并将新的三元组知识对走势图进行扩充。

图1为本发明实施例提供的一种基于依存句法树的知识图谱扩充方法流程图。

在步骤101中,爬取知识图谱对应百科站点的语料作为基础语料集a,以及爬取任一网站的语料作为知识抽取语料集b。本步骤主要运用网络爬虫技术,定制化爬取相关内容,为语料中的知识抽取与知识图谱的构建和扩充提供语料集支持。目前,从开放的知识图谱社区(www.openkg.cn)上获取了由复旦大学知识工场实验室研发并维护的大规模通用领域结构化百科(cn-dbpedia)筛选其中30多万行的数据,并根据数据知识,运用网络爬虫,定向爬取规模为10000的语料作为基础语料集a,并爬取1000篇新闻作为知识抽取语料集b。

在步骤102中,分别将步骤101的基础语料集a和知识抽取语料集b语料中多余的标点及网页标签去除,然后对语料进行分句和分词处理。例如基础语料集a输入语料为:“姚明的身高是2.26米。”,进行清洗分词等操作得到结果为:“姚明/nr,的/ude,身高/n,是/vshi,2.26/m,米/q”。本步骤中采用hanlp(http://hanlp.linrunsoft.com/)开源的分词器进行分词处理。

在步骤103中,对步骤102中分词处理后的基础语料集a中的语料和知识抽取语料集b中的语料分别进行句法分析以获取各自语料中词语间的依存关系,并根据分析结果分别构建依存句法树。本步骤可以利用斯坦福大学(stanforduniversity)公开的自然语言处理相关算法(corenlp),通过自行标注相关文本及语料,训练出相应的句法分析模型,利用该模型对已分词的语料进行句法分析,得到语料中词语间的依存关系,即依存句法。并根据句法分析结构构建依存句法树。

如上述输入语料:“姚明的身高是2.26米”,[(姚明/nr-1),(的/ude-2),(身高/n3),(是/vshi-4),(2.26-5/m),(米-6/q)],其中“(姚明/nr-1)”表示例句分词结果得到词语“姚明”,词性为nr,并且该词语“姚明”位于语料中的位置为“1”。运用依存句法分析,得到结果为:“att(身高-3,姚明-1),rad(姚明-1,的-2),sbv(是-4,身高-3),root(root-0,是-4),att(米-6,2.26-5),vob(是-4,米-6)”。根据句法分析模块构建依存句法树,如图2所示。在上述依存句法树的结果中,如“att(身高-3,姚明-1)”,其中“att”表示词语间的依存关系为“定中关系”,“身高-3”为句中的词语及其位于整个句子中的位置,“rad”表示词语间的依存关系为“后附加关系”,“sbv”表示词语间的依存关系为“主谓关系”,“vob”表示词语间的依存关系为“动宾关系”,特别的“root”所描述的依存关系为整个句子的核心关系,目前总的依存关系有15种。

另外,本步骤也可以直接调用哈尔滨工业大学建立的语言云平台(http://www.ltp-cloud.com/)上的句法分析模块,得到依存句法分析的结果,利用结果也可以构建出依存句法树。

在步骤104中,将步骤103中基于基础语料集a构建的依存句法树,结合知识图谱中对应的知识生成依存句法树规则,并计算依存句法树规则的得分值,并将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中,具体流程如图3所示。得分值计算过程如下:

利用公式:h1(x)=h1'(x)+h1"(x)计算得出删除依存句法规则x后的信息熵。其中,h1(x)为删除依存句法树规则x抽取出三元组的文本集合的信息熵值,x表示一条依存句法树规则,h1'(x)的计算公式为:h1'(x)=p1'(x)×logp1'(x),其中,p1'(x)计算公式为:k1'表删除依存句法树规则x时依存句法库g0从语料集a中抽取出三元组的文本的集合,a表示语料集a的文本集合;h1"(x)的计算公式为:h1"(x)=p1"(x)×logp1"(x),其中,p1"(x)计算公式为:k1"表示删除依存句法树规则x依存句法库g0包涵从语料集a中未被抽取出三元组的文本的集合,a表示语料集a的文本集合。

然后,利用公式h2(x)=h2'(x)+h2"(x)计算得出包含句法规则x时的信息熵。其中,h2(x)为包涵依存句法树规则x抽取出三元组的文本集合的信息熵值,h2'(x)的计算公式为:h2'(x)=p2'(x)×logp2'(x),其中,p2'(x)计算公式为:k2'表包涵依存句法树规则x时依存句法库g0从语料集a中抽取出三元组的文本的集合,a表示语料集a的文本集合;h2"(x)的计算公式为:h2"(x)=p2"(x)×logp2"(x),其中,p2"(x)计算公式为:k2"表示包涵依存句法树规则x时依存句法库g0从语料集a中未被抽取出三元组的文本的集合,a表示语料集a的文本集合。

最后利用公式:score(x)=|h2(x)-h1(x)|计算得分值。

如上述例子可以得到依存句法树规则x为:([att,rad,sbv,root,att,vob],[1,3,(5,6)])。其中,[att,rad,sbv,root,att,vob]表示语料的依存句法分析结果,[1,3,(5,6)]表示三元组知识对应的词语位于例句“姚明的身高是2.26米”中的位置,[(姚明-1)]特别的(5,6)表示为词语位于语料位置为5和6两个词的结合,即,“2.26米”。

在未添加该条依存句法树规则x(即,[att,rad,sbv,root,att,vob],[1,3,(5,6)])时,目前语料集a的规模为10000条语料,依存句法树规则库g0在语料a中可以抽取知识的语料有6500条,未能被提取知识的语料有3500条;在加入该条依存句法树规则x(即,[att,rad,sbv,root,att,vob],[1,3,(5,6)])后,语料集a可以提取知识的语料6650条,未提取出知识的语料3350条,利用上述公式,此时score值的具体计算方式为:

score(x)=|h2(x)-h1(x)|

计算的出该条句法规则的score值为:0.0098452。则将新的依存句法规则([att,rad,sbv,root,att,vob],[1,3,(5,6)],0.0098452)添加至句法规则库。

在语料集a中相同的依存句法树结构,也可以对应不同的句法规则,例如句法结构同为[att,rad,att,sbv,root,vob]的句法树规则构建如表1所示:

表1语料集a构建依存句法树规则示例

在步骤105中,利用步骤104中依存句法树规则库g0抽取步骤103中经句法分析后的知识抽取语料集b中语料的三元组知识,

若能抽取出三元组知识,则舍弃包含该三元组知识的语料;

若未能抽取出三元组知识,则采用弱监督方式构建依存句法树规则,并检验规则在语料集b中的抽取率,在抽取率大于0时再计算依存句法树规则对应的得分值,将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中,然后将依存句法树规则库g0按照得分值升序排列,删除排序靠前的2%-5%的依存句法树规则,得到更新后的依存句法树规则库g1。本步骤中采用弱监督方式构建依存句法树规则具体包括:通过人工标记出语料中的三元组知识,然后将标记出的三元组知识结合其对应的语料,运用依存句法树规则生成算法生成新的依存句法树规则。

其中,检验规则x在知识抽取语料集b中的抽取率,利用如下公式计算:

其中,p(x)表示某条依存句法数规则x在知识抽取语料集b中的抽取率,k表示在利用规则x在知识抽取语料集b中抽取的三元组知识数目,b为知识抽取语料集b的文本集合,当抽取率p(x)大于0时,表述该条依存句法树规则可以用于抽取知识,是一条有效的规则。然后再计算该规则对应的score值,计算方式与步骤104中得分值计算公式相同。

例如知识抽取语料集b中语料“江苏是中国的一个省。若能抽取出,则直接舍弃该语料;若不能抽取出,则人工分析例句,可以发现,语料中存在的知识可以表示为(江苏--省--中国),将知识与例句结合,按照图4所示流程图,可以得到相应的依存句法x',即(([sbv,root,att,rad,att,vob],(1,6,3))),依存句法树规则x'的抽取率计算p(x'),通过算法可以得出该条句法树规则x'(即([sbv,root,att,rad,att,vob],(1,6,3)))在语料集d中可以提取出知识5条,利用公式

其中,x'表示该条依存句法规则(即([sbv,root,att,rad,att,vob],(1,6,3))),k'的规模为5,d的规模为1000,计算得出p(x')为0.5%且大于0,即该条依存句法规则能够在语料集中提取知识,是一条有效的规则,再则计算score值,利用公式:

score(x')=|h4(x')-h3(x')|

计算新生成的依存句法规则的score值。

在未加入该条句法规则,(即([sbv,root,att,rad,att,vob],(1,6,3)))时,目前语料集d的规模为1000,依存句法规则库可以从语料集d中能够抽取出知识的语料350条,未被抽取出知识的语料650条,在加入该条依存句法规则(即([sbv,root,att,rad,att,vob],(1,6,3)))时,依存句法规则库可以抽取知识的语料355条,未抽取知识的语料645条,计算得到score值,利用上述公式,可以得出此时score值的具体计算方法为:

score(x')=|h4(x')-h3(x')|

计算得出score值为:0.0035123,将新的依存句法树规则x'(即([sbv,root,att,rad,att,vob],(1,6,3),0.0035123))加入依存句法树规则库g0中,得到新的依存句法树规则库g1。

6)据依存句法树规则库g1抽取经句法分析后的知识抽取语料集b中语料的三元组知识,并判断获取的三元组知识的属性关系词是否能与属性词表中的词语匹相配,若能匹配,则表示成功提取出三元组知识;若不能匹配,则表示未能成功提取出三元组知识,然后将匹配上的得分值最高的三元组知识输出,并且针对一条语料至多输出得分值最高的设定条的三元组知识作为备选知识,本实施例中设定条数为10条。

另外,在未成功提取出三元组知识时,还将其对应的依存句法树规则进行减分处理;然后根据加分和减分处理结果更新依存句法树规则库g1,以形成新的依存句法树规则库g2,在步骤1)爬取另一知识抽取语料集时,规则库g2替换初始规则库g0,作为新的初始句法规则库进行下一次知识图谱的扩充。加分和减分处理范围值为2%-5%。

以如下知识抽取语料集b一语料为例:

比特币英文名称是bitcoin。“比特币的概念由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的p2p网络。比特币是一种p2p形式的数字货币。与大多数货币不同,比特币不依靠特定货币机构发行而依据特定算法,点对点的传输意味着一个去中心化的支付系统。比特币到底有没有投资价值呢?聚财网郎咸平教授明确表态:看空比特币,老百姓投资比特币需谨慎。”

该文本中有6句话,每句话经过分词处理可形成一条依存句法树,每条依存句法树在依存句法树规则库g1中可以对应0条、一条或多条依存句法树规则,即对应可以抽取0条、一条三元组知识或多条三元组知识。以首句“比特币的英文名称是bitcoin”的依存句法树([att,rad,att,sbv,root,vob]为例,在依存句法规则库中对应多条依存句法规则,具体如表2所示:

表2新闻语料知识抽取表

如表2所示,在针对新闻语料“比特币英文名称是bitcoin”进行知识抽取时,依存句法树规则库中有6种依存句法树规则,对应可抽取出6条知识。然后要对这6条知识进行属性词的判断,最终输出一条得分值最高且能匹配上的知识。如在表2中,对应score最高的句法规则为:([att,rad,att,sbv,root,vob],[3,4,5],0.0281768),但对应抽取出的知识是“[名称,是,bitcoin]”,由于属性词“是”不位于属性词库中,因而抽取失败,将score值0.0281768降低5%,更新后的结果为:0.0267680;得到新的句法规则为:([att,rad,att,sbv,root,vob],[3,4,5],0.0267680)。由于score排名较高的第二条依存句法规则([att,rad,att,sbv,root,vob],[1,(2,3),5],0.0235124),成功抽取出知识,因而将score值增加5%,得到更新后的依存句法规则为:([att,rad,att,sbv,root,vob],[1,(2,3),5],0.02468802),添加更新后的句法规则至依存句法规则库。则“比特币英文名称是bitcoin”抽取的知识为[比特币,英文名称,bitcoin],其余5条知识抽取方式与本条一样,再次不一一举例说明。

上述一条新闻语料的最终知识抽取情况如表3所示:

表3新闻语料知识抽取表

需要对表3说明的是:上述新闻语料中包涵6句话,每一句话会对应一个依存句法树,也就是6条依存句法树,根据依存句法树,在规则库中进行匹配,表3中展示的4条是能够被匹配上且能给出的最佳答案,其余两句话并没有在规则库中匹配到相应的规则,也就不能抽取出知识,于是就没有在表中列出。又由于,表3中第三句话最终提取出的最优知识是“[比特币,是,数字货币]”,但是由于属性词“是”并不存在于属性词表中,因此,该条三元组知识最终还是不作为备选知识输出。

另外,如若上述新闻语料包含11句话,11句在句法库对应依存句法树规则,即最终可以输出11条三元组知识,但是按照设定最多只能输出10条得分值最高的限定要求,则最终只输出得分值最高的前10条作为备选知识。

在步骤107中,判断步骤106输出的三元组知识是否存在于知识图谱中,若不存在,则添加相应三元组知识。如若步骤106中4条备选三元组知识均不存在于知识图谱中,则将“[比特币,英文名称,bitcoin]”,“[中本聪,提出,比特币概念]”,“[比特币,依据,特定算法]”作为新的三元组知识存入知识图谱中。

图5为本发明实施例提供的一种基于依存句法树的知识图谱扩充系统结构框图。

如图5所示,本发明实施例提供的一种基于依存句法树的知识图谱扩充系统包括语料获取模块1、语料预处理模块2、句法分析模块3、基础依存句法树规则库构建模块4、基础依存句法树规则库构建模块5、知识获取模块6和知识添加模块7。

语料获取模块1,用以实现上述步骤101的操作过程,爬取知识图谱对应百科站点的语料作为基础语料集a,以及爬取任一网站的语料作为知识抽取语料集b。

语料预处理模块2,用以实现上述步骤103的操作过程,将获取的基础语料集a和知识抽取语料集b语料中多余的标点及网页标签去除,然后对语料进行分句和分词处理。

句法分析模块3,用以实现上述步骤103的操作过程,将分词处理后的语料进行句法分析以获取语料中词语间的依存关系,并根据分析结果构建依存句法树;

基础依存句法树规则库构建模块4,用以实现上述步骤104的操作过程,将基于基础语料集a构建的依存句法树,结合知识图谱中的对应的知识生成依存句法树规则,并计算依存句法树规则的得分值,并将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中。

基础依存句法树规则库更新模块5,用以实现上述步骤105的操作过程,利用构建的依存句法树规则库g0抽取经句法分析模块分析后的知识抽取语料集b中语料的三元组知识,

若能抽取出三元组知识,则舍弃包含该三元组知识的语料;

若未能抽取出三元组知识,则采用弱监督方式构建依存句法树规则,并检验规则在语料集b中的抽取率,在抽取率大于0时再计算依存句法树规则对应的得分值,将得到的依存句法树规则与其对应的得分值加入依存句法树规则库g0中,然后将依存句法树规则库g0按照得分值升序排列,删除排序靠前的2%-5%的依存句法树规则,得到更新后的依存句法树规则库g1。

知识获取模块6,用以实现上述步骤106的操作过程,根据依存句法树规则库g1抽取经句法分析模块分析后的知识抽取语料集b中语料的三元组知识,并判断获取的三元组知识的属性关系词是否能与属性词表中的词语匹相配,若能匹配,则表示成功提取出三元组知识;若不能匹配,则表示未能成功提取出三元组知识,然后将匹配上的得分值最高的三元组知识输出,并且一个语料至多输出得分值最高的设定条的三元组知识作为备选知识。以及在成功提取出三元组知识时,将其对应的依存句法树规则进行加分处理;在未成功提取出三元组知识时,还将其对应的依存句法树规则进行减分处理;然后根据加分和减分处理结果更新依存句法树规则库g1,以形成新的依存句法树规则库g2,在语料获取模块1爬取另一知识抽取语料集时,规则库g2替换初始规则库g0,作为新的初始句法规则库进行下一次知识图谱的扩充。

知识添加模块7,用以实现上述步骤107的操作过程,判断知识获取模块输出的三元组知识是否存在于知识图谱中,若不存在,则添加相应三元组知识。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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