知识图谱研究进展

2017-03-20 17:07:00
刘大牛
转自文章
229

编者按:想要了解更多知识图谱的内容,可参考人工智能站之前对漆桂林教授的专访文章   东南大学漆桂林教授:知识图谱不仅是一项技术,更是一项工程



本文首先简要回顾知识图谱的历史,探讨知识图谱研究的意义。其次,介绍知识图谱构建的关键技术,包括实体关系识别技术、知识融合技术、实体链接技术和知识推理技术等。然后,给出现有开放的知识图谱数据集的介绍。最后,给出知识图谱在情报分析中的应用案例。



— 漆桂林、高桓、吴天星

东南大学计算机科学与工程学院



本文节选自《情报工程》2017 年第 1 期,知识图谱专题稿件。



1 知识图谱构建技术



本节首先给出知识图谱的技术地图,然后介绍知识图谱构建的关键技术,包括关系抽取技术、知识融合技术、实体链接技术和知识推理技术。



1.1 知识图谱技术地图



构建知识图谱的主要目的是获取大量的、让计算机可读的知识。在互联网飞速发展的今天,知识大量存在于非结构化的文本数据、大量半结构化的表格和网页以及生产系统的结构化数据中。为了阐述如何构建知识图谱,本文给出了构建知识图谱的技术地图,该技术地图如图1所示。整个技术图主要分为三个部分,第一个部分是知识获取,主要阐述如何从非结构化、半结构化、以及结构化数据中获取知识。第二部是数据融合,主要阐述如何将不同数据源获取的知识进行融合构建数据之间的关联。第三部分是知识计算及应用,这一部分关注的是基于知识图谱计算功能以及基于知识图谱的应用。



1.1.1 知识获取



在处理非结构化数据方面,首先要对用户的非结构化数据提取正文。目前的互联网数据存在着大量的广告,正文提取技术希望有效的过滤广告而只保留用户关注的文本内容。当得到正文文本后,需要通过自然语言技术识别文章中的实体,实体识别通常有两种方法,一种是用户本身有一个知识库则可以使用实体链接将文章中可能的候选实体链接到用户的知识库上。另一种是当用户没有知识库则需要使用命名实体识别技术识别文章中的实体。若文章中存在实体的别名或者简称还需要构建实体间的同义词表,这样可以使不同实体具有相同的描述。在识别实体的过程中可能会用到分词、词性标注,以及深度学习模型中需要用到分布式表达如词向量。同时为了得到不同粒度的知识还可能需要提取文中的关键词,获取文章的潜在主题等。当用户获得实体后,则需要关注实体间的关系,我们称为实体关系识别,有些实体关系识别的方法会利用句法结构来帮助确定两个实体间的关系,因此在有些算法中会利用依存分析或者语义解析。如果用户不仅仅想获取实体间的关系,还想获取一个事件的详细内容,那么则需要确定事件的触发词并获取事件相应描述的句子,同时识别事件描述句子中实体对应事件的角色。



在处理半结构化数据方面,主要的工作是通过包装器学习半结构化数据的抽取规则。由于半结构化数据具有大量的重复性的结构,因此对数据进行少量的标注,可以让机器学出一定的规则进而在整个站点下使用规则对同类型或者符合某种关系的数据进行抽取。最后当用户的数据存储在生产系统的数据库中时,需要通过 ETL 工具对用户生产系统下的数据进行重新组织、清洗、检测最后得到符合用户使用目的数据。



1.1.2 知识融合



当知识从各个数据源下获取时需要提供统一的术语将各个数据源获取的知识融合成一个庞大的知识库。提供统一术语的结构或者数据被称为本体,本体不仅提供了统一的术语字典,还构建了各个术语间的关系以及限制。本体可以让用户非常方便和灵活的根据自己的业务建立或者修改数据模型。通过数据映射技术建立本体中术语和不同数据源抽取知识中词汇的映射关系,进而将不同数据源的数据融合在一起。同时不同源的实体可能会指向现实世界的同一个客体,这时需要使用实体匹配将不同数据源相同客体的数据进行融合。不同本体间也会存在某些术语描述同一类数据,那么对这些本体间则需要本体融合技术把不同的本体融合。最后融合而成的知识库需要一个存储、管理的解决方案。知识存储和管理的解决方案会根据用户查询场景的不同采用不同的存储架构如 NoSQL 或者关系数据库。同时大规模的知识库也符合大数据的特征,因此需要传统的大数据平台如 Spark 或者 Hadoop 提供高性能计算能力,支持快速运算。



1.1.2 知识计算及应用



知识计算主要是根据图谱提供的信息得到更多隐含的知识,如通过本体或者规则推理技术可以获取数据中存在的隐含知识;而链接预测则可预测实体间隐含的关系;同时使用社会计算的不同算法在知识网络上计算获取知识图谱上存在的社区,提供知识间关联的路径;通过不一致检测技术发现数据中的噪声和缺陷。通过知识计算知识图谱可以产生大量的智能应用如可以提供精确的用户画像为精准营销系统提供潜在的客户;提供领域知识给专家系统提供决策数据,给律师、医生、公司 CEO 等提供辅助决策的意见;提供更智能的检索方式,使用户可以通过自然语言进行搜索;当然知识图谱也是问答必不可少的重要组建。



6-1.png

图1   



从上图可以看出,知识图谱涉及到的技术非常多,每一项技术都需要专门去研究,而且已经有很多研究成果。由于篇幅的限制,本文重点介绍知识图谱构建和知识计算的几个核心技术。



1.2 实体关系识别技术



最初实体关系识别任务在 1998 年 MUC(Message Understanding Conference)中以 MUC-7 任务被引入,目的是通过填充关系模板槽的方式抽去文本中特定的关系。1998 后,在 ACE(Automatic Content Extraction)中被定义为关系检测和识别的任务;2009 年 ACE 并入 TAC (Text Analysis Conference),关系抽取被并入到 KBP(knowledgeBase Population)领域的槽填充任务。从关系任务定义上,分为限定领域(Close Domain)和开放领域(Open IE);从方法上看,实体关系识别了从流水线识别方法逐渐过渡到端到端的识别方法。



基于统计学的方法将从文本中识别实体间关系的问题转化为分类问题。基于统计学的方法在实体关系识别时需要加入实体关系上下文信息确定实体间的关系,然而基于监督的方法依赖大量的标注数据,因此半监督或者无监督的方法受到了更多关注。



(1)监督学习:Zhou[13] 在 Kambhatla 的基础上加入了基本词组块信息和 WordNet,使用 SVM 作为分类器,在实体关系识别的准确率达到了 55.5%,实验表明实体类别信息的特征有助于提高关系抽取性能; Zelenko[14] 等人使用浅层句法分析树上最小公共子树来表达关系实例,计算两颗子树之间的核函数,通过训练例如 SVM 模型的分类器来对实例进行分。但基于核函数的方法的问题是召回率普遍较低,这是由于相似度计算过程匹配约束比较严格,因此在后续研究对基于核函数改进中,大部分是围绕改进召回率。但随着时间的推移,语料的增多、深度学习在图像和语音领域获得成功,信息抽取逐渐转向了基于神经模型的研究,相关的语料被提出作为测试标准,如 SemEval-2010 task 8[15]。基于神经网络方法的研究有,Hashimoto[16] 等人利用 Word Embedding 方法从标注语料中学习特定的名词对的上下文特征,然后将该特征加入到神经网络分类器中,在 SemEval-2010 task 8 上取得了 F1 值 82.8% 的效果。基于神经网络模型显著的特点是不需要加入太多的特征,一般可用的特征有词向量、位置等,因此有人提出利用基于联合抽取模型,这种模型可以同时抽取实体和其之间的关系。联合抽取模型的优点是可以避免流水线模型存在的错误累积[17-22]。其中比较有代表性的工作是[20],该方法通过提出全新的全局特征作为算法的软约束,进而同时提高关系抽取和实体抽取的准确率,该方法在 ACE 语料上比传统的流水线方法 F1 提高了 1.5%,;另一项工作是 [22],利用双层的 LSTM-RNN 模型训练分类模型,第一层 LSTM 输入的是词向量、位置特征和词性来识别实体的类型。训练得到的 LSTM 中隐藏层的分布式表达和实体的分类标签信息作为第二层 RNN 模型的输入,第二层的输入实体之间的依存路径,第二层训练对关系的分类,通过神经网络同时优化 LSTM 和 RNN 的模型参数,实验与另一个采用神经网络的联合抽取模型[21]相比在关系分类上有一定的提升。但无论是流水线方法还是联合抽取方法,都属于有监督学习,因此需要大量的训练语料,尤其是对基于神经网络的方法,需要大量的语料进行模型训练,因此这些方法都不适用于构建大规模的 Knowledge Base。



(2)半(弱)监督学习:半监督学习主要是利用少量的标注信息进行学习,这方面的工作主要是基于 Bootstrap 的方法。基于 Bootstrap 的方法主要是利用少量的实例作为初始种子的集合,然后利用 pattern 学习方法进行学习,通过不断的迭代,从非结构化数据中抽取实例,然后从新学到的实例中学习新的 pattern 并扩种 pattern 集合。Brin[23]等人通过少量的实例学习种子模板,从网络上大量非结构化文本中抽取新的实例,同时学习新的抽取模板,其主要贡献是构建了 DIPRE 系统;Agichtein[24]在 Brin 的基础上对新抽取的实例进行可信度的评分和完善关系描述的模式,设计实现了 Snowball 抽取系统;此后的一些系统都沿着 Bootstrap 的方法,但会加入更合理的对 pattern 描述、更加合理的限制条件和评分策略,或者基于先前系统抽取结果上构建大规模 pattern;如 NELL(Never-EndingLanguage Learner)系统[25-26],NELL 初始化一个本体和种子 pattern,从大规模的 Web 文本中学习,通过对学习到的内容进行打分来提高准确率,目前已经获得了 280 万个事实。



(3)无监督学习: Bollegala[27]从搜索引擎摘要中获取和聚合抽取模板,将模板聚类后发现由实体对代表的隐含语义关系; Bollegala[28]使用联合聚类(Co-clustering)算法,利用关系实例和关系模板的对偶性,提高了关系模板聚类效果,同时使用 L1 正则化 Logistics 回归模型,在关系模板聚类结果中筛选出代表性的抽取模板,使得关系抽取在准确率和召回率上都有所提高。



无监督学习一般利用语料中存在的大量冗余信息做聚类,在聚类结果的基础上给定关系,但由于聚类方法本身就存在难以描述关系和低频实例召回率低的问题,因此无监督学习一般难以得很好的抽取效果。



1.3 知识融合技术



知识融合(knowledge fusion)指的是将多个数据源抽取的知识进行融合。与传统数据融合(datafusion)[29]任务的主要不同是,知识融合可能使用多个知识抽取工具为每个数据项从每个数据源中抽取相应的值,而数据融合未考虑多个抽取工具[30]。由此,知识融合除了应对抽取出来的事实本身可能存在的噪音外,还比数据融合多引入了一个噪音,就是不同抽取工具通过实体链接和本体匹配可能产生不同的结果。另外,知识融合还需要考虑本体的融合和实例的融合。



文献[30]首先从已有的数据融合方法中挑选出易于产生有意义概率的、便于使用基于 MapReduce 框架的、有前途的最新方法,然后对这些挑选出的方法做出以下改进以用于知识融合:将每个抽取工具同每个信息源配对,每对作为数据融合任务中的一个数据源,这样就变成了传统的数据融合任务;改进已有数据融合方法使其输出概率,代替原来的真假二值;根据知识融合中的数据特征修改基于 MapReduce 的框架。文献[31]提出一个将通过不同搜索引擎得到的知识卡片(即结构化的总结)融合起来的方法。针对一个实体查询,不同搜索引擎可能返回不同的知识卡片,即便同一个搜索引擎也可能返回多个知识卡片。将这些知识卡片融合起来时,同文献[30]中提出的方法类似,将知识融合中的三维问题将为二维问题,再应用传统的数据融合技术。不过,文献[31]提出了一个新的概率打分算法,用于挑选一个知识卡片最有可能指向的实体,并设计了一个基于学习的方法来做属性匹配。



在知识融合技术中,本体匹配扮演着非常重要的角色,提供了概念或者实体之间的对应关系。截止目前,人们已经提出了各种各样的本体匹配算法,一般可以分为模式匹配(schema matching)和实例匹配(instance matching),也有少量的同时考虑模式和实例的匹配[32-34]。从技术层面来讲,本体匹配可分为启发式方法、概率方法、基于图的方法、基于学习的方法和基于推理的方法。下面围绕模式匹配和实例匹配,具体介绍各自分类中几个具有代表性的匹配方法。 



模式匹配主要寻找本体中属性和概念之间的对应关系,文献[35]和[36]给出比较详尽的综述。文献[37]提出一个自动的语义匹配方法,该方法首先利用像 WordNet 之类的词典以及本体的结构等信息进行模式匹配,然后将结果根据加权平均的方法整合起来,再利用一些模式(patterns)进行一致性检查,去除那些导致不一致的对应关系。该过程可循环的,直到不再找到新的对应关系为止。文献[38]也是考虑多种匹配算法的结合,利用基于术语的一些相似度计算算法,例如 n-gram 和编辑距离,这里算法计算的结果根据加权求和进行合并,还考虑了概念的层次关系和一些背景知识,最后通过用户定义的权重进行合并。为了应对大规模的本体,文献[39]提出一个使用锚(anchor)的系统,该系统以一对来自两个本体的相似概念为起点,根据这些概念的父概念和子概念等邻居信息逐渐地构建小片段,从中找出匹配的概念。新找出的匹配的概念对又可作为新的锚,然后再根据邻居信息构建新的片段。该过程不断地重复,直到未找到新的匹配概念对时停止。文献[40]则以分而治之的思想处理大规模本体,该方法先根据本体的结构对其进行划分获得组块,然后从不同本体获得的组块进行基于锚的匹配,这里的锚是指事先匹配好的实体对,最后再从匹配的组块中找出对应的概念和属性。现有的匹配方法通常是将多个匹配算法相结合,采用加权平均或加权求和的方式进行合并。但是,由于本体结构的不对称性等特征,这种固定的加权方法显出不足。文献[41]基于贝叶斯决策的风险最小化提出一个动态的合并方法,该方法可以根据本体的特征,在计算每个实体对的相似度时动态地选择使用哪几个匹配算法,如何合并这些算法,其灵活性带来了很好的匹配结果。



实例匹配是评估异构知识源之间实例对的相似度,用来判断这些实例是否指向给定领域的相同实体。最近几年,随着 Web 2.0 和语义 Web 技术的不断发展,越来越多的语义数据往往具有丰富实例和薄弱模式的特点,促使本体匹配的研究工作慢慢的从模式层转移到实例层[42]。文献[43]提出一个自训练的方法进行实例匹配,该方法首先根据 owl:sameAs、函数型属性(functional properties)和基数(cardinalities)构建一个核(kernel),再根据区别比较明显的属性值对递归的对该核进行扩展。文献[44]利用现有的局部敏感哈希(locality-sensitivehashing)技术来大幅提高实例匹配的可扩展性,该方法首先需要定义用

发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 透明七彩巨人
Email: weok168@gmail.com