“领域知识图谱的构建与应用”讲座学习笔记

知识图谱是一种基于先进信息技术的型语义工具,它以实体或概念为节点,通过语义关系连接成大规模语义网络,可以帮助机器或信息系统理解语义、组织知识、发现知识,从而为人们提供知识、情报的智慧搜索和智能交互。
教授于3月30日围绕知识图谱的概念与构建流程、领域知识图谱的构建要求与应用、党史知识图谱构建与应用三部分内容展开了一次题为“领域知识图谱的构建与应用”的讲座。本人的学习笔记也就围绕这三个部分和老师讲解的内容展开,主要来梳理“领域知识图谱的构建与应用”相关的概念,具体包括知识图谱和领域知识图谱的概念、知识图谱与领域知识图谱的构建方法、知识图谱的应用现状和最后的个人总结四个部分。本次学习笔记的结构如下:

“领域知识图谱的构建与应用”讲座学习笔记
1.知识图谱和领域知识图谱的概念
1.1知识图谱的分类
1.2发展历程
2.知识图谱与领域知识图谱的构建方法
2.1构建方法分类
2.2构建流程
3.知识图谱的应用现状
3.1WordNet词汇知识库
3.2HowNet义原知识库
3.3BabelNet多语言词汇库
4.个人总结

1.知识图谱和领域知识图谱的概念
知识图谱(KnowledgeGraph)是人工智能的重要分支技术,它在2012年由谷歌提出,是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关属性—值对,实体间通过关系相互联结,构成网状的知识结构。

1.1知识图谱的分类
知识图谱按照功能和应用场景可以分为通用知识图谱和领域知识图谱。其中:
•通用知识图谱面向的是通用领域,强调知识的广度,形态通常为结构化的百科知识,针对的使用者主要为普通用户;
•领域知识图谱则面向某一特定领域,强调知识的深度,通常需要基于该行业的数据库进行构建,针对的使用者为行业内的从业人员以及潜在的业内人士等。

1.2发展历程
而追溯知识图谱的发展脉络和相关技术栈的发展历史,作者认为驱动知识图谱的是本体语义网和NLP两条路径。
•基于NLP技术的实体抽取、关系抽取、事件抽取、阅读理解等任务,能够帮助知识图谱完成知识结构化,海量知识沉淀及知识推理,这也是最近NLP与知识图谱结合越来越深的原因。
•语义网(semanticweb)由万维网(WorldWideWeb)的发明人TimBerners-Lee提出,其核心思想是"notstrings,butthings"。在实现上,为万维网上的文档定义通用的元数据(metadata)模型,通过统一资源描述符(UniformResourceIdentifier,URI)文档中的为实体及属性分配唯一的标识符,并建立实体间的超链接关系。因此,我们可以把由URI描述的网络资源中的站点、实体、属性等看作实体,超链接看作关系路径,则由它们构成了图谱的雏形。
•语义网为数据间建立关联,但没有解决对知识的认知。
•本体,即“Ontology”,是脱胎于哲学的概念,它是指“一种形式化的,对于共享概念体系的明确而又详细的说明”。本体用于指导我们在特定的领域范围内,对真实世界存在的事物和领域内的术语及概念,进行认知建模,定义图谱知识的schema。

2.知识图谱与领域知识图谱的构建方法
对于通用领域知识图谱,通常只需要宽泛的定义模式(Schema)或者直接使用OpenKG等开发知识图谱的结构,甚至采用“无模式(Schema)”方式,直接将数据结构化为SPO的三元组结构即可。但特定领域的应用,对知识的精确性要求较高。因此需要构建领域数据的模式(Schema),包括定义数据的概念、类别、关联、属性约束等。

2.1构建方法分类
领域本体建模或者说模式构建,可以认为有“自顶向下”和“自底向上”两种方法。
•“自顶向下”即先对领域所具备的知识点、概念、术语进行high-level的认知和抽象,提炼出最具广泛性的概念,然后在此基础上逐步细化,定义更多的属性和关系来约束更为具体的类别。“自顶向下”的方法适用于对领域知识体系已有深刻的洞察和全面了解的情况。
•而“自底向上”则是反向的认知路径。在已有大量数据表、文本时,先基于业务,定义具体的概念及其属性、关系。再对拥有高重叠属性/关系的概念进行聚类,抽象出共同的super-concept。
构建模式(Schema),从方法上讲,分为“手动构建”,“自动构建”和“半自动构建”三种实施方法。
•“手动构建”,是指企业内部已经有对业务和数据了然于心的专家,基于自身经验进行知识建模。手动构建可能存在的问题是主观性太强,没有工程化的科学管理流程作为支撑,以及缺少评价机制。
•半自动构建的方法是,基于领域已有的术语表/词典及通用领域schema,在此基础上进行schema的复用和扩展,使得概念的选择和继承有一个很好的起点,但可能带来本体/schema融合的问题。
•自动构建是指通过NLP技术和数据分析自动抽取文本中的领域实体和关系,通过聚类等分析方法自动构建领域概念的体系。但自动抽取的概念粒度过细,无法建立精确的概念层次及属性/关系约束。

2.2构建流程

构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代都包含几个阶段:
•信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;
信息抽取可以分为实体识别、关系抽取、属性抽取等。目前结构化的数据是最主要的知识来源。针对结构化的数据,知识图谱通常可以直接利用和转化,形成基础数据集,再利用知识图谱补全技术进一步扩展知识图谱。
针对文本型数据这种非结构化数据,知识获取的方式主要包括实体识别、关系抽取、属性抽取等。具体的方法又包括基于特征模版的方法、基于核函数的监督学习方法、基于深度学习的方法等。
•实体识别:指在一段文本中识别哪些词代表实体,并打上标签(进行分类)。例如“演员于和伟出演了电视剧《觉醒年代》”这句话中,“于和伟”和“《觉醒年代》”就是两个实体,将他们识别出来之后会分别给“于和伟”打上“演员”的标签,给“《觉醒年代》”打上“电视剧的标签”;
•关系抽取:识别文本(或其他数据)中实体之间的关系。例如“演员于和伟出演了电视剧《觉醒年代》”这句话中,“出演”为“演员于和伟”与“电视剧《觉醒年代》”之间的关系。
•知识表示与知识融合:
知识表示就是指用一定的结构和符号语言来描述知识,并且能够用计算机进行推理、计算等操作的技术。其方法有:谓词逻辑表示法、框架表示法、基于语义网络的表示法、基于语义网的表示法等等。
当我们想建立一个知识图谱,需要从多个来源获取数据,这些来源不同的数据可能会存在交叉、重叠,同一个概念、实体可能会反复出现,知识融合的目的就是把表示相同概念的实体进行合并,把来源不同的知识融合为一个知识库。
知识融合的主要任务包括实体消歧和指代消解,它们都用来判断知识库中的同名实体是代表同一含义、是否有其他实体也表示相同含义。实体消歧专门用于解决同名实体产生歧义的问题,通常采用聚类法、空间向量模型、语义模型等。指代消解则为了避免代词指代不清的情况。
•知识加工:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。
•知识推理:推理是模拟思维的基本形式之一,是从一个或多个现有判断(前提)中推断出新判断(结论)的过程。基于知识图的知识推理旨在识别错误并从现有数据中推断新结论。通过知识推理可以导出实体间的新关系,并反馈以丰富知识图,从而支持高级应用。鉴于知识图的广泛应用前景,大规模知识图的知识推理研究成为近年来自然语言处理领域的一个研究热点
•知识更新:知识库的更新包括概念层的更新和数据层的更新。
概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。
数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中出现频率高的事实和属性加入知识库。

3.知识图谱的应用现状
随着知识图谱的思想逐步在各个领域、各个行业传播,并与具体的业务场景和数据类型进行了结合。知识图谱在搜索和推荐场景中的应用也很广泛,在搜索和推荐的各层模块当中,知识图谱可以提供包括:基于知识的结构化召回、基于图嵌入表示的向量化召回、基于商品理解的高阶排序特征、基于知识推理的展示层优化等优化功能。
目前陆续出现了众多优秀的知识图谱项目。如语言类知识图谱项目Babelnet,百科类知识图谱项目Freebase,实时常识知识库项目NELL等。这些项目显示出了知识图谱项目构建的几个趋势,即更多数据的融合(从单语言到跨语言,从单模态到多模态,从单一到集成)、从一次性到实时等。
主要介绍WordNet词汇知识库、HowNet义原知识库、BabelNet多语言词汇库三个典型语言知识图谱,从由来、构成、实现、总结几个方面进行总结。

3.1WordNet词汇知识库
Wordnet是采用分类法进行词义表示的一类知识库,最开始被看作是一个词典浏览器,一个基于意义而非传统按字母排序的机器可读词典辅助工具。使用同义词集合(synset)来代表词汇概念,并在词的形式和意义之间建立起映射关系(mapping)这种做法是Wordnet知识库的两个重要特征,也奠定了其建成后受到广泛使用的基础。
从构成上,wordnet用一组同义词的集合Synset来表示一个概念,并对每一个概念有一段描述性的说明。
Wordnet主要定义了名词、动词、形容词以及副词之间的语义关系,如典型的名词之间的上下位关系:“猫科动物”是“猫”的上位词,动词之间的蕴含关系,如“打鼾”与“睡眠”是一种蕴含关系。
Wordnet描述了compound(复合词)、phrasalverb(短语动词)、collocation(搭配词)、idiomaticphrase(成语)、word(单词),其中word是最基本的单位等对象,以及对象之间的关联关系,例如,同义反义关系(synonymy,antonymy),上下位关系(hyponymy,troponymy),部分整体关系(entailment,meronymy)。
按照词的类型来看,wordnet描述名词的整体与部分关系,如A是B的组成关系:beak/wing->bird,A是B的成员tree->forest,A是B的构成材料,aluminum->plane在形容词的语义关系上,着重刻画形容词之间的同义关系和同义关系。
在动词的语义关系上,一方面,刻画了动词的类别分类关系,将将动词归纳为15个基本类(semantic domain),包括动作motion,感知Perception/,联系Contact,通信Communication等。定义了动词之间蕴含与上下位层级关系。wordnet根据词义而不是词形,组织词汇信息,是一部语义词典,并且同义词集合之间的语义关系是对称关系。
通过陆续吸收了Brown语料库、Laurence Urdang的同义反义小词典(1978)、Urdang修订的Rodale同义词词典(1978)、以及RobertChapmand的第4版罗杰斯同义词词林(1977)等,并终于自1989年年初开始,从一个简单的“词典浏览器”(dictionarybrowser)发展成一个自足的词汇数据库(self-containedlexicaldatabase)。
当前,wordnet3.0已经包含了超过15万个词以及20万个词之间的语义关系,成为了目前处理英文最多的一类词典知识库,主要用于词义消歧。
实际上,WordNet的研究人员一直把WordNet视作一个试验,而不是一个产品,当WordNet中的词语足够多的时候,他们就把WordNet向学术界免费公开了。
Python的NLTK库中提供了快速访问wordnet数据的接口,由于一个单词(‘dog’)可以有很多个含义(synset,如‘dog.n.01’,或者叫词集),使用单词.词性.词义序号来对wordnet中某一单词的具体含义进行表示,其中词义序号明确一个单词在同一个词性下也可能有多种含义,为每一个含义都分配一个序号。
用synsets指令查看dog的所有同义词集。例如:
[Synset(‘dog.n.01’),Synset(‘frump.n.01’),Synset(‘dog.n.03’),Synset(‘cad.n.01’),Synset(‘frank.n.02’),Synset(‘pawl.n.01’),Synset(‘andiron.n.01’),Synset(‘chase.v.01’)]

3.2HowNet义原知识库
知网(英文名称HowNet),是一个以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。
与wordnet不同的是,HowNet沿着义素分析的语义描写方法来组织词义,由人工构建,自底向上归纳义原(知网标记集),将词义用更基本的单位进行表示。经典的Hownet哲学观:世界上一切事物(物质的和精神的)都在特定的时间和空间内不停地运动和变化,它们通常是从一种状态变化到另一种状态,并通常由其属性值的改变来体现。因此,万物(物质和精神)、部件、属性、时间、空间、属性值以及事件成为了Hownet的基本操作运算元素。
有限的义原集合来表示一个概念以及复杂的关联关系(概念与概念之间的关系以及概念的属性与属性之间)是Hownet的两个重要特征,因此,义原结合的构建以及关系的设计成为了构造这个知识系统的基础性工作。
其中,在义原的提取上,该系统设想所有的概念都可以分解成各种各样的义原,同时也设想应该有一个有限的义原集合,其中的义原组合成一个无限的概念集,并且能够反映出概念的共性和个性。
例如:对于“医生”和“患者”,“人”是它们的共性。义原的抽取和修正是两个基础环节,其中:
在义原的抽取上,Hownet采用通过对全部的基本义原进行观察分析并形成义原的标注集,然后再用更多的概念对标注集进行考核,据此建立完善的标注集,通过对约6000个汉字进行考察和分析来抽取了1000多个义原。
例如,在中文中具有事件义原的汉字(单纯词)中我们曾提取出3200个义原,如治(医治、管理、处罚)、处(处在、处罚、处理)、理(处理、整理、理睬),在初步合并后大约可以得到1700个,再进一步加以归类,得到大约700多个义原,再用700多个义原作为标注集去标注多音节的词,以对义原进行修正;
在义原的修正上,采用了两条原则进行考核,即在扩大标注中观察该义原的覆盖面,已有的义原一定要能够描述全部的概念。观察某一个义原在概念之间关系中的地位,如果一个义原在同类别的许多概念中出现或者不同类别的概念中出现,那么这样的义原就是稳定的义原是一个必须确定的义原。
在关系的设计上,hownet定义了词语之间的上下位关系、同义关系、反义关系、对义关系、部件-整体关系、属性-宿主关系、材料-成品关系以及角色-事件关系。其中,角色-事件关系包括实施某一事件所关联的施事/经验者-事件关系等,也包括事件关联的工具以及场所。
在构建好义原集合之后,将义原作为知网中最基本的、不能再分割的意义的最小单位,作为解释知识词典的基本要素,其它的词条全都由这些义原来定义,即一个概念可以有若干个唯一的没有歧义的语义原子进行组合而成。例:医生的定义为DEF=human|人,#occupation|职位,*cure|医治,medical|医;其中,人、职位、医治、医,就是用来定义语义的四个原子义原,分别表示为医生是人,与职位相关,是医治的施事者。
HowNet预定义了两千多个义原,并用其标注了十万多个中英文词语。每个词语的每个义项都用若干义原标注以表达其语义。然而,HowNet中已标注义原的英文词语数量有限,仅占WordNet英文词数的32.8%(50879/155287),且中英之外其他语言的词语没有义原标注,这导致义原在自然语言处理领域的应用范围被大大局限。
OpenHowNet,为快速使用hownet数据提供了开源的义原在线查询网站和API(提供了Python的OpenHowNet库)。存放HowNet核心数据和THUNLP开发的OpenHowNetAPI,提供方便的HowNet信息查询、义原树展示、基于义原的词相似度计算等功能。作为HowNet的核心数据,开放了由223,767个以中英文词和词组所代表的概念构成,HowNet为每个概念标注了基于义原的定义以及词性、情感倾向、例句等信息。

3.3BabelNet多语言词汇库
BabelNet是一个多语词汇语义网络和本体,由罗马萨皮恩扎大学(罗马大学)计算机科学系的计算语言学实验室所创建,采用的是机器自动生成的方法。Babelnet与wordnet类似,并在此基础上引入了“跨语言”和“百科”的双重特点,成为了当前规模最大的一种多语言百科词典知识库,并凭此获得了诸多大奖。
跨语言、词汇语义、百科实体是BabelNet的三个重要特征。通过将最大的多语言网络百科全书(即Wikipedia)与最流行的计算词典(即WordNet)连接起来,提供了用多种语言词汇化的概念和命名实体,并与大量的语义关系相连接,形成了一个"百科全书式的词典"(百科+概念词汇库)。
首先,在映射阶段,给定一个wikpedia资源(词条或者包含词条的标题,该资源包括重定向到w的集合、通过其跨语言链接链接的所有页面、重定向到目标语言维基百科中的跨语言链接等信息),即词条或者包含词条的标题,将其与Wordnet中的概念进行匹配,得到多个wordsenses。随后将资源映射问题视为消歧问题,利用词语的上下文信息与wordsenses中词语信息的定义,计算WordNetsense和Wikipage引用相同概念的概率进行消歧,从中挑选出没有歧义的最佳结果。
通过与免费授权使用的OmegaWiki、英语维基词典、维基数据、FrameNet、VerbNet、维基词典、OmegaWiki、Wikidata、多语言WordNet,Wikiquote、Microsoft术语集、GeoNames、WoNeF、ImageNet,ItalWordNet,FrameNet和WN-Map、等语义资源建立链接,BabelNet的规模逐年扩大。
当前Babelnet3.7(目前已经到了5.0)中包括271种语言,1400万个同义词词组,以及超过36.4万的词语关系对,以及3.8亿个与wikipedia的链接关系,总计超过19亿个RDF三元组。
到后来,该团队还推出了BabelNetlive,一个新的、持续增长的知识库系统,每天从包括维基百科、维基词典、用户的输入等处获得数据的持续更新,BabelNet提供了JavaAPI、SPARQL端点和关联数据接口,如实例化BabelNet、BabelSynset、BabelSense类可以获取相应的数据。

4.个人总结
其实个人本科毕业论文就是做的“本体”相关的工作,因此,对于知识图谱会提前有一些了解,但没有系统的了解过。借助老师这次的讲座理清了整个思路,再通过这个思路去网上查阅了一些资料,汇总整理形成了这份学习笔记,感觉在知识图谱方面还是有所进步的。最后,很感谢老师分享了他关于知识图谱的理解和“党史知识图谱”的研究内容,也希望能有更多同学来对这方面感兴趣。

猜你喜欢

转载自blog.csdn.net/Morganfs/article/details/125284923
今日推荐