知识库是基于知识的系统数据库。并不是所有具有智能的程序都拥有知识库,只有基于知识的系统才拥有知识库。许多应用程序都利用知识,其中有的还达到了很高的水平,但是,这些应用程序可能并不是基于知识的系统,它们也不拥有知识库。一般的应用程序与基于知识的系统之间的区别在于:一般的应用程序是把问题求解的知识隐含地编码在程序中,而基于知识的系统则将应用领域的问题求解知识显式地表达,并单独地组成一个相对独立的程序实体。
在通用知识库的构建方面,目前学术上已有一套相对比较成熟的技术体系,市场上也有多款商用知识库投放,如谷歌的“Google Knowledge Base”、百度的“知心”等。而对于特定领域的知识库,通常都用的是人工手动补全信息的构建方式,从目前的研究看来,知识库作为知识系统的一种表示形式,与知识图谱的相关特性与技术,有着一些共通的特性,因此,本文从软件工程角度出发,提出一种基于知识图谱的构建技术的领域知识库构建方法。
1、知识图谱的基本介绍
20 世纪中叶,普赖斯等人提出使用引文网络来研究当代科学发展脉络的方法,首次提出了知识图谱的概念。 1977 年,知识工程的概念在第五届国际人工智能大会上被提出,以专家系统为代表 的知识库系统开始被广泛研究和应用。到20世纪90年代,机构知识库的概念被提出,自此关于 知识表示、知识组织的研究工作开始深入开展起来。 机构知识库系统被广泛应用于各科研机构和 单位内部的资料整合及对外宣传工作。
进入21 世纪,随着互联网的蓬勃发展以及知识的爆炸式增长,搜索引擎被广泛使用。 但面对 互联网上不断增加的海量信息,仅包含网页和网页之间链接的传统文档万维网已经不能满足人们迅速获取所需信息的需求。 人们期望以更加智能的方式组织互联网上的资源,期望可以更加快速、 准确、智能地获取到自己需要的信息。为了满足这种需求,知识图谱应运而生。它们力求通过将 知识进行更加有序、有机的组织,对用户提供更加智能的访问接口,使用户可以更加快速、准确地访 问自己需要的知识信息,并进行一定的知识挖掘和智能决策。从机构知识库到互联网搜索引擎, 近年来不少学者和机构纷纷在知识图谱上深入研 究,希望以这种更加清晰、动态的方式展现各种概念之间的联系,实现知识的智能获取和管理。
2012 年 11 月 Google 公司率先提出知识图谱 (Knowledge graph,KG) 的概念[2],表示将在其搜索结果中加入知识图谱的功能。据 2015 年 1 月统 计的数据,Google 构建的 KG 已拥有 5亿个实体, 约 35 亿条实体关系信息,已被广泛用于提高搜索 引擎的搜索质量。另一个代表性的知识图谱系统 是微软公司构建的Probase。根据微软公司官 网上的数据显示,截至 2016年 4 月,Probase 已拥 有总量超过千万级的概念,其中核心概念大概有 270 万个,Probase已成为知识库系统中拥有概念 数最多的系统。上海交通大学的 zhishi. me 是国 内构建的最早的知识库,zhishi. me 知识库通过整 合维基百科(中文)、百度百科、互动百科中的数 万方数据 据以提供关联开放数据(Linking open
data,LOD)的服务给知识库用户。中国科学院机构知识库 (Chinese academy of
sciences institutional repository, CAS-IR)对 DSpace 软件进行的二次开发。截止到 2013 年 9 月,
CAS-IR 累计采集和保存超过 44 万个的科研成果,其中,超过 70% 的科研成果 可获取全文,CAS-IR是目前国内机构知识库网络中规模最大的一个;此外,国内知名搜索引擎公司也纷纷投入对知识图谱的构建,并在其搜索引擎中添加了知识图谱的功能,比如百度的“知心”和搜狗的“知立方”。
知识图谱将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解互联网海量信息的能力。知识图谱给互联网语义搜索带来了活力,同时也在智能问答、大数据分析与决策中显示 出强大威力,已经成为互联网基于知识的智能服务的基础设施。知识图谱与大数据和深度学习一起,成为推动人工智能发展的核心驱动力之一。
2、知识图谱的构建
知识图谱,是融合认知计算、知识表示与推理、信息检索与抽取、自然语言处理与语义WEB 、 数据挖掘与机器学习等技术的交叉研究。知识图谱研究,一方面探索从互联网 语言资源中获取知识的理论和方法;另一方面促进知识驱动的语言理解研究。随着大数据时代的到来,研究从大数据中挖掘隐含的知识理论与方法,将大数据转化为知识,增强对互联网资源的内容理解,将促进当代信息处理技术从信息服务向知识服务转变[3]。具体地,知识图谱技术包括知识表示、知识图谱构建和知识图谱应用三方面的研究内容:
1)知识表示研究客观世界知识的建模,以方便机器识别和理解,既要考虑知识的表示与存储,又要考虑知识的使用和计算;
2) 知识图谱构建解决如何建立计算机算法从客观世界或者互联网的各种数据资源中获取客观世界的知识, 主要研究使用何种数据和方法抽取何种知识;
3) 知识图谱应用主要研究如何利用知识图谱建立基于知识的智能服务系统,更好地解决实际应用问题。
(1) 知识图谱的分类
知识图谱经历了由人工和群体智慧构建,到面向互联网数据利用机器学习和信息抽取技术自动获取的过程。根据信息来源和获取方式的不同,目前的知识图谱分为以下几类。
1) 依靠人工构建的知识资源:早期知识资源通过人工添加和合作编辑获得,如英文 WordNet 和 Cyc 项目以及中文的 HowNet 。Cyc 是一个通用的世界知识库,始建于1984 年,其目的是将上百万条知识编码为机器可处理形式,并在此基础上实现知识推理等人工智能相关任务,共包含了五十万实体,近三万个关系以及五百万个事实。
2) 基于群体智能的知识图谱:维基百科是至今利用群体智能建立的互联网上最大的知识资源,因此出现了 很多使用维基百科构建知识库的项目,如DBpedia、 YAGO 和 Freebase[4],以及谷歌的KG等。DBpedia 以构建本体的形式对知识条目进行组织。YAGO 融合 WordNet 良好的概念层次结构和维基百科中的大量实体数据。Freebase 是基于维基百科,使用群体智能方法建立的包含 6800万实体的结构化数据的知识图谱。清华大学和上海交通大学通过利用互动百科、百度百科,建立大规模知识图谱 XLORE 和 Zhishi.me 。XLORE以英文维基百科为桥梁,通过跨语言链接技术,建立融合了四大中英文百科数据的跨语言知识库[5-9]。
3) 基于互联网链接数据构建的知识资源:国际万维网组织 W3C 于2007年 发 起 的 开 放 互 联 数 据 项 目 (Linked Open
Data,LOD), 为实现网络环境下的知识发布、互联、共享和服务提供了创新技术,为智能搜索、知识问答和语义集成提供了创新源动力。Sean Bechhofer 等人在科学领域自建了一个近似于 LOD的语义数据资源,该资源包含更准确的学术用语,并能很好地反映研究者的影响力。
[if !supportLists]4) [endif]基于机器学习和信息抽取构建的知识图谱:从互联网数据自动获取知识是建立可持续发展知识图谱的发 展趋势。这类知识图谱构建的特点是面向互联网的大规模、开放、异构环境,利用机器学习和信息抽取技术自卡内基梅隆大学动获取Web上的信息构建知识库。如华盛顿大学图灵中心的KnowItAll 和 TextRunner 、 的 “ 永不停歇的语言学习者”(Never-Ending
Language Learner,NELL) 都是这种类型的知识库[10]。
(2) 知识库的构建
知识库的构建方法
知识图谱的构建过程可以分为自顶向下和自底向上两种方式。自顶向下首先从数据源中学习本体,得到术语、顶层的概念、同义和层次关系以及相关规则,然后进行实体学习的过程,将实体纳入前面的概念体系中。自底向上的构建过程与此相反,从归纳实体开始, 进一步进行抽象,逐步形成分层的概念体系。在实际的构造过程中,可以先后混合使用两种方式, 来提高实体抽取的准确度。
其中,基于统计的机器学习命名实体关系(NER)抽取作为知识抽取的关键首先需要大量人工标注的语料库,然后在语料库基础上进行特征抽取和选择,通过利用不同的机器学习算法训练分类模型,自动抽取、发现新的实体对及关系。这类方法很大程度上依赖于自然语言处理工具[12](如词性标注、句法分析等),这些步骤会带来如下问题:
①自然语言处理工具存在不同程度的错误,使用多个工具会造成错误累积,影响最终的分类性能;
②特征选择依靠专家知识和经验,需要花费大量时间设计和验证特征;
③有些使用人数较少的语言没有完善的自然语言处理工具,此时这些方法不再适用。传统的语义网络[13]结合机器学习等方法,使知识图谱的构建技术又迎来新的研究点。
Heckerman等在上世纪末就提出了基于贝叶斯网络和统计学习的知识图谱构建方法[14],Cheong H等提出了一种从文本文档中自动抽取功能知识的方法[15],其对自动构建知识图谱具有指导意义。Nick M等人则聚焦研究了关联机器学习与知识图谱的方法,提出了如何利用统计模型来构建知识图谱并用于决策分析[16]。
近年来,深度学习框架的神经网络模型成为实体关系抽取的新方法,深度学习是一种特殊的机器学习方法,是机器学习的一个分支,不同之处在于:神经网络模型自动学习句子特征,无需复杂的特征工程。
李枫林等研究了基于深度学习框架的实体关系抽取的进展,对于现今火热的深度学习应用于知识图谱提供了支持[17]。王蕾等提出一种基于神经网络的片段级中文命名实体识别方法,该方法能有效地处理中文片段中的命名实体关系[18]。Garcez 等人则使徒使用深度置信网络来提取知识并构建知识图谱[19]。
对于文本类数据进行知识图谱的构建,国内外学者利用相关神经网络模型,做了大量的研究与工作,其利用各种神经网络模型,对各个不同模型与算法构建的知识图谱的性能与质量进行了充足的研究[20-40]。在经过大量学者的研究和分析,发现长短记忆神经网络(LSTM)对于处理文本来构建知识图谱,有着一定的优势,也给处理中文文本构建领域知识库提供了一定思路[41-46]。
(3)基于知识图谱的领域知识库的存储
国内外学者研究发现,在对基于知识图谱技术生成的领域知识库的存储过程中,图数据库有着天然的优势,在数据结构、数据检索以及图计算等方面有着很好的性能支持。
图数据库源起欧拉和图理论,也可称为面向/基于图的数据库,区别于传统的SQL数据库系统,图数据库又可以称为NOSQL数据库,对应的英文是Graph Database。图数据库的基本含义是以“图”这种数据结构存储和查询数据,而不是存储图片的数据库。它的数据模型主要是以节点和关系(边)来体现,也可处理键值对。它的优点是快速解决复杂的关系问题。目前市面上有很多图数据库,例如:Neo4J、ArangoDB、OrientDB、FlockDB、GraphDB、InfiniteGraph、Titan、Cayley等。
吴鹏等人利用本体和NOSQL图数据库方法,提出了基于FBS模型的机械产品方案设计本体构建方法,以及基于本体和Neo4j的机械产品方案设计存储模型,应用于农业机械产品设计的知识图谱,很好的适应了结构化和半结构化的知识[47]。
典型的NOSQL图数据库系统,其存储的是结构化的图数据。在数据库内以网络的方式代替传统的表格进行存储。同时支持丰富的图计算,是一个高性能,高可用的图计算引擎。同时也具备完整的数据库存储功能。其主要特点有:
1) 支持事务并发,在对图数据库进行操作的时候,对数据的修改都是可以再一个事务内进行,可以确保数据在存储修改过程中的一致性。
2) 完善的图数据检索能力,支持高效率的查询语言来检索数据,该语言是专门针对图数据库进行操作的数据库语言,同时提供完整的API支持。
3) 提供丰富的访问方式,图数据库支持多种方式进行访问,可以利用API的嵌入式开发,将数据库的操作嵌入到系统应用中执行;并且支持REST风格接口进行访问,通过http的协议方式进行数据库操作。
4) 支持图形界面,可以方便用户进行丰富GUI界面的访问及操作。
实体关系抽取(NER)作为信息抽取的核心工作,对完善知识库、优化搜索引擎、开发智能问答系统都具有重要的价值,同时对于实体关系的链接则是构建知识库的关键[48]。而命名实体识别一直是自然语言处理中的一个难点所在,国内外专家学者对此进行了大量研究,从深度语义模型开放关系抽取[49],机器学习希望计算机更智能、快速的处理数据,而深度学习框架的神经网络模型最大特点在于单词的特征表示和特征的自动学习,模型能保留文本的所有特征,数据量越大, 模型泛化能力越强。使用神经网络模型实现关系抽取最关键的是根据任务选择合适的词向量,再利用 RecNN/CNN/ RNN/LSTM等不同的网络模型自动提取特征,摈弃复杂的人工特征工程[50]。
而针对数据来源,知识图谱的知识来源通常有两类,一类是通过互联网上分布的开放,海量的异构数据,一类是已有的离线结构化或非结构化数据,例如文档文本。本文中基于水泥能耗相关国标的知识库构建,即采用第二种数据来源,针对这一类资源采用NER的概念层次学习,以及基于语义分析的事实学习,来对文档数据进行信息抽取,并利用NoSQL数据库技术来存储相关的知识,并将其通过一定的前端技术,进行可视化呈现,提供给课题组相关学者进行数据研究。
文献资料
[1]李涛, 王次臣, 李华康. 知识图谱的发展与构建[J]. 南京理工大学学报: 自然科学版, 2017, 41(1): 22-34.
[2]A. Singhal, Introducing the knowledge graph:Things, not strings,May 2012. [Online].http://googleblog.blogspot.com/2012/05/introducingknowledge-graph-things-not.html.
[3]曹倩,赵一鸣. 知识图谱的技术实现流程及相关应用[J]. 情报理论与实践,2015,38(12): 13-18.
[4]Bollacker K,
Evans C, Paritosh P, et al. Freebase:A Collaboratively Created Graph Database
for Structuring Human Knowledge[C]// SIGMOD Conference. 2008:1247-1250.
[5]杨思洛,韩瑞珍. 知识图谱研究现状及趋势的可视化分析[J]. 情报资料工作,2012,33(4):22-28.
[6]陈和. 机构知识库发展趋势探析[J]. 图书情报工作,2012,21:62-66.
[7]鄢珞清. 知识库的知识表达方式探讨[J]. 情报杂志,2003,(4):63-64
[8]彭乾慧. 领域知识图谱的自动化构建[D]. 重庆大学, 2017.
[9]宋园园SYY. 一种基于领域知识的特征提取算法[J]. 云南民族大学学报: 自然科学版, 2017, 26 (3): 252-257.
[10]袁旭萍. 基于深度学习的商业领域知识图谱构建[D].华东师范大学商学院,2015.
[11]程如烟, 罗晖. 制定国家标准化战略抢夺标准控制权——对《世界主要国家的标准化战略》报告的述评[J]. 中国软科学, 2007, (7):158-160.
[12]宗成庆. 统计自然语言处理[M]. 清华大学出版社, 2013.
[13]Hartley R T,
Barnden A J A. Semantic Networks: Visualizations of Knowledge[J]. Trends in
Cognitive Sciences, 1997, 1(5):169.
[14] Heckerman D, Dan G, Chickering D M. Learning
Bayesian networks: The combination of knowledge and statistical data[J].
Machine Learning, 1995, 20(3):197-243.
[15]CheongH, Li W, Cheung A, Nogueira A, Iorio F.Automated Extraction
of Function Knowledge From Text[J]. ASME. J. Mech.Des. 2017, 139(11):111407-111407-9.
[16]Nickel M, Murphy K,Tresp V, et al. A Review of Relational Machine Learning for Knowledge Graphs[J].Proceedings of the IEEE, 2016, 104(1):11-33.
[17]李枫林, 柯佳. 基于深度学习框架的实体关系抽取研究进展[J]. 情报科学, 2018, 36(3): 169-176.
[18]王蕾, 谢云, 周俊生, 等. 基于神经网络的片段级中文命名实体识别[J]. 中文信息学报, 2018, 32(3): 84-90,100.
[19] Tran S N, Garcez A S D. Deep Logic Networks:
Inserting and Extracting Knowledge From Deep Belief Networks[J]. IEEE Transactions
on Neural Networks & Learning Systems, 2018, 29(2):246-258.
[20]王毅, 谢娟, 成颖. 结合 LSTM 和 CNN 混合架构的深度神经网络语言模型[J]. 情报学报, 2018, 37(2): 194-205.
[21]An W, Chen Q, Yang
Y, et al. Knowledge Memory Based LSTM Model for Answer Selection[C]
//International Conference on Neural Information Processing. Springer, Cham,
2017: 34-42.
[22]Dong C, Zhang J,
Zong C, et al. Character-based LSTM-CRF with Radical-level Features for Chinese
Name Entity Recognition[M]//Natural Language Understanding and Intelligent Applications.Springer,Cham,2016:239-250.
[23]张艳,宗成庆,徐波. 汉语术语定义的结构分析和提取[J]. 中文信息学报,2003,17(6):9-16
[24]刘浏, 王东波. 命名实体识别研究综述[J]. 情报学报, 2018, 37(3): 329-340.
[25]曹浩. 基于机器学习的双语词汇抽取问题研究[D].南开大学研究生学院,2011.
[26]孙霞,董乐红. 基于监督学习的同义关系自动抽取方法[J]. 西北大学学报,2008,38(1):35-39.
[27]关键. 面向中文文本本体学习概念抽取的研究 [D]. 吉林大学,2010.
[28]车海燕, 冯铁, 张家晨,等. 面向中文自然语言文档的自动知识抽取方法[J]. 计算机研究与发展, 2013, 50(4):834-842.
[29]寇月,申德荣,李冬,等. 一种基于语义及统计分析的Deep Web 实体识别机制[J]. 软件学报, 2008, 19(2):194-208.
[30]庄严, 李国良,冯建华. 知识库实体对齐技术综述[J]. 计算机研究与发展, 2016, 53(1):165-192.
[31]Cui M, Li L, Wang Z, et
al. A Survey on Relation Extraction[C]//China Conference on Knowledge Graph and
Semantic Computing. Springer, Singapore, 2017: 50-58.
[32]R. Upadhyay and A. Fujii, Semantic
knowledge extraction from research documents,2016 Federated Conference on Computer Science and Information Systems
(FedCSIS), Gdansk, 2016, 439-445.
[33]Xu B, Xu Y, Liang J, et
al. CN-DBpedia: A never-ending Chinese knowledge extraction
system[C]//International Conference on Industrial, Engineering and Other
Applications of Applied Intelligent Systems. Springer, Cham, 2017: 428-438.
[34] Auer S, Bizer C, Kobilarov G, et al. DBpedia: A
Nucleus for a Web of Open Data[C]// The Semantic Web, International Semantic
Web Conference, Asian Semantic Web Conference, ISWC 2007 + Aswc 2007, Busan,
Korea, November 2007: 722-735.
[35]L. Akoglu, H. Tong and D. Koutra, Graph basedanomaly detection and description: A survey, Data Mining and KnowledgeDiscovery[J], 2014, 29(3):1-63.
[36]Aprosio A P,Giuliano C, Lavelli A.Automatic Expansion of DBpedia Exploiting Wikipedia
Cross-Language Information[C]// Extended Semantic Web Conference.Springer, Berlin, Heidelberg, 2013: 397-411.
[37]Yan Q, Shen C, Li S, et
al. Domain-Specific Chinese Word Segmentation with Document-Level
Optimization[C]//National CCF Conference on Natural Language Processing and
Chinese Computing. Springer, Cham, 2017, 353-365.
[38] Zuhori S T, Zaman M A, Mahmud F. Ontological Knowledge
Extraction from Natural Language text[C]//Computer and Information Technology
(ICCIT), 2017 20th International Conference of. IEEE, 2017: 1-6.
[39]Martinez-Rodriguez J L, Lopez-Arevalo I, Rios-Alvarado A B.
OpenIE-based approach for Knowledge Graph construction from text[J]. Expert
Systems with Applications, 2018, 113: 339-355.
[40]Wu Y, Mu T, Goulermas JY.Translating on Pairwise Entity Space for Knowledge Graph Embedding[J].Neurocomputing, 2017, 260:411-419.
[41]Huang
Y, Yang X, Zhuang F, et al. Automatic Chinese Reading Comprehension Grading by
LSTM with Knowledge Adaptation[C]//Pacific-Asia Conference on Knowledge
Discovery and Data Mining. Springer, Cham, 2018: 118-129.
[42]Sha L, Li S, Chang B,et al.Recognizing Textual Entailment via Multi-task Knowledge Assisted LSTM[M]//ChineseComputational Linguistics and Natural Language Processing Based on NaturallyAnnotated Big Data. Springer, Cham, 2016: 285-298.
[43]Ma F, Chitta R, Zhou J, et al. Long-Term Memory Networks for
Knowledge Extraction from Text and Publications [EB/OL]. https://patents.justia.com/patent/20180150743,
2018-5-31.
[44]Li S L, Xu B, Chung T
L. Definition Extraction with LSTM Recurrent Neural Networks[M]//Chinese
Computational Linguistics and Natural Language Processing Based on Naturally
Annotated Big Data. Springer, Cham, 2016: 177-189.
[45]Liu J, Ren H, Wu M,
et al. Multiple relations extraction among multiple entities in unstructured
text[J]. Soft Computing, 2018, 22(13): 4295-4305.
[46]Ouyang L, Tian Y,Tang H, et al. Chinese Named Entity Recognition Based on B-LSTM Neural Networkwith Additional Features[C]//International Conference on Security, Privacy andAnonymity in Computation, Communication and Storage. Springer, Cham, 2017:269-279.
[47]吴鹏, 刘恒旺, 丁慧君. 基于本体和NoSQL的机械产品方案设计的知识表示与存储研究[J]. 情报学报, 2017, 36(3):285-296.
[48] Wu G, He Y, Hu X. Entity Linking: An Issue to
Extract Corresponding Entity With Knowledge Base[J]. IEEE Access, 2018,
6(99):6220-6231.
[49]Bianchi F, Soto M,
Palmonari M, et al. Type vector representations from text: An empirical
analysis[C]//Deep Learning for Knowledge Graphs and Semantic Technologies
Workshop, co-located with the Extended Semantic Web Conference. 2018.
[50]Luo, A., Gao, S., &Xu, Y. .Deep Semantic Match Model for Entity Linking
Using Knowledge Graph and Text[J].Procedia Computer Science,2018,129:110–114.