韦韬,王金华
(1.北京赛迪翻译技术有限公司,北京 100048;2.中国电子科技集团公司第三十二研究所,上海 201808)
每时每刻信息的海量增长,为人们学习知识带来便利,但是为人们进行索取、识别、学习知识带来提取和甄别困难[1]。对海量隐性知识进行自动关联、快速进行机器思考,而把这些海量知识有机组织起来的核心就是“神经网络”[2]。
为构建满足以上业务需求的“神经网络”,知识图谱的构建是一个解决方案。知识图谱包括目标融合与识别知识图谱、全维度关联分析知识图谱等[3-4]。这些知识图谱其实是由图上的实体和语义描述、实体间的关联关系和语义描述等要素所组成的,要从海量互联网信息、卫星遥感数据中发现实体,就已经是个巨大的难题[5],而发现实体间的关联关系,并将这些海量的实体关联关系进行记录、存储,乃至对这些知识图谱进行全语义空间的快速检索,并不是现有信息系统能够胜任的。
由于人们所掌握的提取知识已经难以覆盖现有海量信息,因此如何在信息系统中,为全维度的信息构建一个相互关联、智能搜索、快速定位、易于维护的网络化数据模型,并在该模型上进行知识决策,成为一个关键的问题。本文从自动化、持续化的知识图谱构建机制进行研究,分析了多源、异构知识图谱建模、融合、管理等现实需求,应用非分类提取技术,提出了知识图谱的自动化构建实践路径和模型。
互联网大力发展的这些年是一个数据爆炸的时代,数据量每年保持着50%左右的增长速度,为了处理这些海量的数据,挖掘这些数据的潜在意义,提高数据检索质量和效率,全球各大研究机构和搜索引擎公司都绞尽脑汁。随着Linking Open Data 等项目的全面展开,语义Web数据源的数量激增,大量资源描述框架(Resource Description Framework,RDF)数据被发布。互联网正从仅包含网页和网页之间超链接的文档万维网(Document Web)转变成包含描述各种实体和实体之间丰富关系的数据万维网(Data Web)。在这个背景下,Google、百度和搜狗等搜索引擎公司纷纷以此为基础构建知识图谱,即Knowledge Graph、百度知心和搜狗知立方等,来改进搜索质量,从而拉开了语义搜索的序幕。同时,面对海量、复杂、异构的网络信息,我们需要具备能够对其进行快速分析挖掘与关联的能力,也就是能够快速挖掘分析出对象实体,并将实体关联到庞大的知识图谱中的能力。同时,数据处理环境也要在数据处理量、反馈时效等方面具备很强的能力。想要拥有这些能力,如何构建一张完整、高质量的知识图谱,是不得不考虑的关键问题。
世界各个国家和地区均已开展系统构建或技术研发,为大数据的有效收集、融合、管理和分析提供支持,并从中获得有价值的信息。例如,Palantir公司通过其完善的数据库和强大的数据关联分析技术,从技术上开展了以下重点工作:1)构建大规模数据库的体系结构;2)探索以现有资源填充数据库的新方法,并创造新的来源,以及创造新的挖掘、融合和提炼算法;3)为了分析和关联数据库信息,采用知识图谱的新模型,从而获得可操作的技术。
相比之下,我国对知识图谱构建技术的利用和研究还需深入。面对涉及到各个领域的、海量纷繁复杂的数据,我们急需一种方法对其进行清洗处理,使其变成有高利用价值的知识图谱。知识图谱的构建步骤一般是数据抽取、中文分词、实体识别、关系识别。而关系识别是目前是最难以解决的问题,其主要工作是:实体共现、关系标注,而现有方法无法做到关系标注的持续改进,或者只能强烈依赖外部知识输入和人工干预。
本研究探索解决的问题有:
(1)通过收集信息,实现自动/半自动化构建知识图谱的技术,其中涉及的主要技术包括:文本分词、词性标注、术语分析、命名实体识别、语法分析、语义分析、实体关系提取;
(2)满足对来源多、流量大、高密集度数据进行可靠记录、高效分析的要求;
(3)快速挖掘分析出研究对象实体,并将实体关联到庞大的知识图谱中;
(4)对海量、复杂、异构的网络信息进行快速分析挖掘与关联,实现知识图谱的半自动化构建;
(5)集成、整合现有信息系统中所有结构良好的数据资源,对信息系统运行过程中产生的信息资源进行实时整合,并对接外部信息资源,从而实现知识图谱信息的完整性、准确性、时效性。
本文第2章对知识图谱构建技术进行了系统架构设计,第3章阐述了知识图谱构建的关键技术,第4章进行了总结并提出建议。
本文设计的知识图谱构建框架包含的技术包括数据采集、命名实体识别、语法语义分析、实体关系提取四大模块,其中最核心的技术是命名实体识别和实体关系提取,如图1所示。
图1 系统架构
2.1.1 数据采集
我们是通过采用数据爬虫系统来实现初始数据积累的,和一般性的以广度为目标的数据爬虫系统相比,我们进行了改进优化,使其成为可以围绕某一特定目标进行针对性的爬取的、面向网络信息大数据的爬虫系统。对爬取到的数据进行清洗和简单的预处理之后,就把数据输出到命名实体识别模块。
2.1.2 命名实体识别
我们通过命名实体识别模块来实现对文本信息中主要实体对象的识别,其主要功能包括:分词模块、词性标注模块、术语分析模块。
其中分词和词性标注可以放在一起进行,在分词的时候就标注好词性。基本的分词和词性标注操作依赖于分词规则库以及词典与词性的一个关系库。然而事实上,这对歧义词和新词的识别率较低。尤其是在中文分词中,一词多义、歧义以及各种网络名词的出现,使我们需要不断地扩充分词库。为了应对词典统计分词的不足,我们采用了基于CRF机器学习算法的分词技术,并且不仅考虑了词语出现的频率信息,同时还增加了对上下文语境的考虑,这使得模块对歧义词和新词有较好的学习能力。我们结合不断扩充的分词库,采用比较成熟的分词技术,通过分词库和词性库就可以完成分词和词性标注,不仅更加准确,并且效率很高,当遇到歧义词、新词,分词库和词性库不能解决的时候,再结合CRF完成工作,兼以扩充我们的分词库和词性库。在分词和词性标注后,将术语输出到术语分析模块。
术语分析通常是指从术语词典中提取出术语到术语库。我们需要根据不同的领域划分并维护这个术语库。术语分析后将信息输出到语法语义分析模块。
2.1.3 语法语义分析模块
结合本体集成,提取出语法库和本体库。结合语法、语义规范以及语法、语义的学习算法,生成信息提取的一个规则库。依赖这个过程生成的语法库、本体库以及信息提取规则库,通过语法、语义分析,提取出本体间的关系,再通过本体构建工具生成语义元数据模型,然后将模型输出到实体关系提取模块。
2.1.4 实体关系提取
实体关系提取包括分类关系提取、非分类关系提取。其中已经有分类体系的关系提取不存在太大技术障碍,难点就是非分类关系提取。非分类关系提取可分为两个不同的问题:1)发现一对概念间存在的关系;2)根据语义标记这种关系。本研究采用两种方法来提取非分类关系。本文认为实体关系的抽取比单纯的实体抽取难度更高,准确性、成熟度更低,因此将在第3章对实体关系提取功能进行详细、深化的技术设计与探讨。
从大规模文本集合中自动提取语义元数据是构建知识图谱和知识库的核心步骤,图2以流程的方式将如何从文本数据中对知识图谱元素进行抽取识别所需要采用的方法、领域资源、所采用的技术按先后次序依次列出,而这也正是进行语义分析的基础。
如图2所示,本系统的流程包括文本信息采集、数据清洗和过滤、命名实体识别、分词、词性标注、术语分析、语法分析、语义分析、语义关系识别和提取等步骤。其中,命名实体识别是通过机器学习和传统词典相集成的方法实现的;术语分析是通过术语的提取和术语词典集成的方式实现的;语法分析与语义分析是通过本体学习与本体集成的方式实现的;语义关系识别和提取是通过语义关系学习与声明规范相结合来实现的。
图2 知识图谱元素抽取识别流程
知识图谱的人工构建被视为一种耗时、耗力、枯燥、易错的任务,再者由于缺乏对现有知识图谱进行集成或重复使用的标准,以及缺乏完全自动化的知识获取方法,知识图谱甚至本体的构建进一步受到阻碍。
因此,本研究将精力集中在知识图谱的自动构建技术上。使用机器学习和文本挖掘方法,从领域文本中获取知识图谱和本体要素,已逐渐成为一种有利于本体工程的方法。在此背景下,本体学习被认为能帮助知识工程师以及终端用户进行本体构建,其集成了多个领域,如本体工程、机器学习和自然语言学习领域的技术。这些技术被用于三个主要阶段,即实体识别、分类关系提取、非分类关系提取。这三个阶段能帮助构建本体或丰富现存本体,而本体学习是构建知识图谱的支撑。
本体学习中涉及到提取非分类关系的方法,被视为是一个困难而又容易被忽视的问题。非分类关系包括两方面:一是概念间关系的发现;二是基于语义的关系标记。解决这种赋予关系标记的问题也是十分不易的,因为同一类通用的概念实例通常存在多种关系,而且即使语义是清晰的,在几个相似的标记中选取符合上下文的标记也是十分困难的。
大多数对于从文本源中进行非分类关系提取的研究要结合不同层次的统计和语言分析技术。在此背景下,关联法则被用来从文本中获取语义(非预先定义的)关系,如可以通过使用关联法则发现一对词语共同出现的概率,来判断这对词语合适的关系。虽然通过这类方法可以发现语义关系,但是并没有解决标记的问题。
其他研究者采用正规表达式来获取语义关系。这类方法需要完全地检测文本,而语义关系的识别则是根据文本中一系列词语是否匹配预定义的模式来决定的。许多算法和此类方法相关,被应用于寻找上下位关系。然而这些算法需要预先生成符合关系模式的规则,这样就需要终端用户具有大量的领域知识。相关的研究以同样的方式,通过使用外部语义词典,如WordNet,根据预先定义的少量语义结构自动分配语义关系。同样地,这种方式也并不能提取更多的语义关系。
由于上述方法的缺陷,越来越多的研究者注重于使用自然语言处理技术,从领域文本集中提取语法结构,以帮助语义关系的提取。比如有研究通过选择和一对概念频繁出现在一起的动词作为语义关系的标记。在此研究中,概念之间的关联是由一对概念基于动词的条件概率来衡量的。RelExt系统根据术语在领域文本中被观察的频率,使用基于相关度的统计测量来过滤术语,然后根据动词和名词概念共同出现的测量值,选取排序高者作为关系。然而有研究表明,与一对概念共同出现的动词,往往并不一定能成为该对概念之间的关系动词。
综上所述,现有的非分类关系的提取方法还不完善,即只能提取一小部分语义关系,而且为了提高关系提取的正确率,特别需要领域知识的输入。与现存方法相比较,本研究采用了两种关键技术实现非分类关系提取。
本研究提出基于关联法则和语义关系的方法,来测量一对概念和动词的相关性的强度(此强度是由所提取的关联规则的confidence 来定义的),作为已确认存在语义关系的概念对的候选标记。同时本研究还提出,在领域文本集中,通过概念间的依存和句法结构分析,可以发现概念之间的语义关系,而概念之间的语义关系通常又是由动词来表达与连接的。该方法的流程如图3所示。其中,通过句法分析选择概念候选集后,由关联法则对其进行挖掘,确认合适的关系集,最后通过领域专家的反馈,提供最合适的知识图谱关系集合。该方法不仅可以用于自动发现概念间的关系,也可为这些关系赋予合适的标记,极大减轻了知识工程师在知识图谱和领域本体构建时的负担。
采用基于规则和机器学习相结合的混合方法从领域文本中提取非分类关系的流程如图4所示。
图3 基于关联法则和语义关系的非分类关系提取流程
图4 基于规则和机器学习的非分类关系提取流程
提取流程具体为:
(1)对领域文本进行人工的规则学习,形成规则库;
(2)使用所学习的规则对其他语料文本进行匹配,形成语料句式库;
(3)利用语料句式库,对训练语料进行人工标注,然后用CRF机器学习算法进行训练,生成训练模型;
(4)使用测试语料和训练模型,进行测试和人工验证,根据测试结果,对训练语料进行补充和调整,重新训练,直到训练模型的准确率和召回率达到一定的水平;
(5)利用调整过的训练模型,结合规则匹配结果,从实际语料中提取非分类实体关系。
以上流程有效提高了从术语集合中获取非分类关系的效果,受到人工帮助的CRF算法还可以提取更多的术语,有效地补充现有的术语集合。
本文围绕多源、异构知识图谱,提出了建模、融合、管理、分析等现实需求;特别是针对人工构建知识图谱存在的问题,探讨了知识图谱的自动化构建技术,明确了实体关系提取中的非分类提取技术是关键技术。
本文研究探讨的技术,可用于网络中心、数据中心等平台,在相关业务中接入了侦察、预警、探测等多源情报后,可以实现知识图谱的自动化构建,并通过知识图谱实现关联印证、综合处理等功能,最终形成情况态势图。
由于数据往往具有保密性,本文强烈建议提升知识图谱在系统运行状态进行自动化、持续化构建的能力,从而使得数据即使在没有知识库基础的环境下,也能成长为完整、可用、与时俱进的知识图谱体系,从而更好地为各种业务提供知识支撑。