随着计算资源的廉价和语料知识资源的积累,知识图谱在各大企业逐步开始尝试使用。本文结合王昊奋和漆桂林老师的知识图谱课件以及复旦知识工厂课件,尝试对知识图谱做个综述。
目录
基于表示学习的推理-Representational Learning
知识图谱与语义技术概述
web:以链接为中心的系统,以“链接”为中心的系统,在开放的互联网环境里面更加容易生长和扩长。语义网:从链接文本到链接数据web of Texts,web of documents –web of objects,web of data,web of things.事物之间有多种类型的连接,
Web视角 像建立文本之间的超链接一样,建立数据之间的语义链接,并支持语义搜索
NLP视角 怎样从文本中抽取语义和结构化数据
KR视角 怎样利用计算机符号来表示和处理知识
AI视角 怎样利用知识库来辅助理解人的语言
DB视角 用图的方式去存储知识
语义网典型知识库项目简介
cyc:常识库
Cyc是在1984年由Douglas Lenat开始创建。最初的目标是要建立人类最大的常识知识库。典型的常识知识如“Every tree is a plant” ,“Plants die eventually”等
Cyc知识库主要由术语Terms和断言Assertions组成。Terms包含概念、关系和实体的定义。Assertions用来建立Terms之间的关系,这既包括事实Fact描述,也包含规则Rule的描述
最新的Cyc知识库包含有50万条Terms和700万条Assertions。 Cyc的主要特点是基于形式化的知识表示方法来刻画知识。形式化的优势是可以支持复杂的推理。但过于形式化也导致知识库的扩展性和应用
的灵活性不够。Cyc提供开放版本OpenCyc
Wordnet:词性消歧词库
WordNet是最著名的词典知识库,主要用于词义消歧。WordNet由普林斯顿大学认识科学实验室从1985年开始开发
WordNet主要定义了名词、动词、形容词和副词之间的语义关系。例如名词之间的上下位关系(如:“猫科动物”是“猫”的上位词),
动词之间的蕴含关系(如:“打鼾”蕴含着“睡眠”)等
WordNet3.0已经包含超过15万个词和20万个语义关系
conceptnet:常识知识库
ConceptNet 是 常 识 知 识 库 。 最 早 源 于 MIT 媒 体 实 验 室 的 Open Mind Common Sense (OMCS)项目。OMCS项目是由著名人工智能专家Marvin Minsky于1999年建议创立
ConceptNet主要依靠互联网众包、专家创建和游戏三种方法来构建。新版本导入大量开放的结构化数据,如DBPedia、Wikinary,Wordnet等
ConceptNet知识库以三元组形式的关系型知识构成。ConceptNet5版本已经包含有2800万关系描述。与Cyc相比,ConceptNet采用了非形式化、更加接近自然语言的描述,而不是像Cyc那样采用形式化的谓词逻辑
与链接数据和谷歌知识图谱相比,ConceptNet比较侧重于词与词之间的关 系 。 从 这 个 角 度 看 , ConceptNet 更 加 接 近 于 WordNet , 但 是 又 比WordNet包含的关系类型多。此外,ConceptNet完全免费开放,并支持多种语言
freebase:
Freebase 是一个由元数据组成的大型合作知识库,内容主要来自其社区成员的贡献。它整合了许多网上的资源,包括部分私人wiki站点中的内容。Freebase 致力于打造一个允许全球所有人(和机器)快捷访问的资源库。它由美国软件公司Metaweb开发并于2007年3月公开运营。2010年7月16日被谷歌收购。 2014年12月16日,Google宣布将在六个月后关闭 Freebase ,并将全部数据迁移至 Wikidata 。
Wikidata:
Wikidata 是一个可协同编辑的知识库,是继2006年的维基学院之后,第一个新的维基媒体基金会项目。这一项目与维基共享资源的工作方式类似,将为其他维基计划及各语种维基百科中的信息框、列表及跨语言链接等提供统一存放的数据,该项目在2012年10月30日投入使用。
Dbpedia:
DBPedia是早期的语义网项目。DBPedia意指数据库版本的Wikipedia,是从Wikipedia抽取出来的链接数据集。DBPedia
采用了一个较为严格的本体,包含人、地点、音乐、电影、组织机构、物种、疾病等类定义
此外,DBPedia还与Freebase,OpenCYC、Bio2RDF等多个数据集建立了数据链接。DBPedia采用RDF语义数据模型,总共
包含30亿RDF三元组
Yago:
YAGO是由德国马普研究所研制的链接数据库。YAGO主要集成了Wikipedia、WordNet和GeoNames三个来源的数据。
YAGO将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得YAGO具有更加丰富的实体分类体系
YAGO还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。目前,YAGO包含1.2亿条三元组知识。YAGO是IBM Watson的后端知识库之一
Babelnet:
BabelNet是类似于WordNet的多语言词典知识库。BabelNet的目标是解决WordNet在非英语语种中数据缺乏的问题。BabelNet采用的方法是将WordNet词典与Wikipedia百科集成
首先建立WordNet中的词与Wikipedia的页面标题的映射,然后利用Wikipedia中的多语言链接,再辅以机器翻译技术,来给WordNet增加多种语言的词汇
BabelNet3.7包含了271种语言,1400万同义词组,36.4万词语关系和3.8亿从Wikipedia中抽取的链接关系,总计超过19亿RDF三元组。 BabelNet集成了WordNet在词语关系上的优势和Wikipedia在多语言语料方面的优势,构建成功了目前最大规模的多语言词典知识库。
Nell:
NELL(Never-Ending Language Learner) 是卡内基梅隆大学开发的知识库。NELL主要采用互联网挖掘的方法从Web自动抽取
三元组知识
NELL的基本理念是:给定一个初始的本体(少量类和关系的定义)和少量样本,让机器能够通过自学习的方式不断的从Web学习和抽取新的知识。目前NELL已经抽取了400多万条高置信度三元组知识
微软 Concept Graph:
Concept Graph是以概念层次体系为中心的知识图谱。与Freebase等知识图谱不同,Concept Graph以概念定义和概念之间的IsA关系为主
给定一个概念如“Microsoft”,Concept Graph返回一组与“微软”有IsA 关 系 概 念 组 , 如 : “ Company ” , “ Software Company ” ,
“Largest OS Vender”等。这被称为概念化“Conceptualization”
Concept Graph可以用于短文本理解和语义消歧中。例如,给定一个短文本“the engineer is eating the apple”,可以利用Concept Graph来正确理解其中“apple”的含义是“吃的苹果”还是“苹果公司”。微软发布的第一个版本包含超过540万的概念,1255万的实体,和8760万的关系。Concept Graph主要通过从互联网和网络日志中挖掘来构建cnSchema: 开放的中文知识图谱Schema
cnSchema.org是一个基于社区维护的开放的知识图谱Schema标准。cnSchema分类(classes)、数据类型(data type)的词汇集包括了上千种概念pes)、属性(propertities)和关系(relations)等常用概念定义,以支持知识图谱数据的通用性、复用性和流动性
结合中文的特点,我们复用、连接并扩展了Schema.org,Wikidata, Wikipedia等已有的知识图谱Schema标准,为中文领域的开放知
识图谱、聊天机器人、搜索引擎优化等提供可供参考和扩展的数据描述和接口定义标准
知识图谱相关技术简介
知识表示
知识图谱的分布式表示:在保留语义的同时,将知识图谱中的实体和关系映射到连续的稠密的低维向量空间
知识抽取
知识抽取的主要方法:
知识工程
正则表达式
模板匹配
BootStrap: 从种子数据中识别Patterns,用于抽取更多数据,提取更多Patterns
规则约束
POS、NER约束、距离约束等
基于本体的抽取
知识挖掘 (推理)
PRA 基于图的抽取
TransE系列 基于Embedding的抽取
基于模型的抽取
模型
SVM, Logistic Model
条件随机场 (CRF)
LSTM等循环神经网络
训练
有监督学习
无监督聚类
远程监督 (Distant Supervision),从已有知识库获取少量训练数据
知识存储
知识比数据的结构更加复杂,知识的存储需要综合考虑图的特点、复杂的知识结构存储、索引和查询 (支持推理)的优化等问题
典型的知识存储引擎分为基于关系数据库的存储和基于原生图的存储
在实践中,多为混合存储结构,图存储并非必须
知识融合
其它相关叫法:Record Linkage,Entity Resolution,Data Linking,Knowledge Fusion,Entity Alignment......
都是指在不同数据集中找出同一个实体的描述记录,主要目的是对不同数据源中的实体信息进行整合,形成更加全面的实体信息
Dedupe, 基于Python的工具包,实现了包括fuzzy matching, deduplication, entity resolution在内的常见任务。主要处理流程是先对所有records通过Clustering/Blocking的方法进行分组,然后在组内部通过计算相似度特征和机器学习分类模型对任一一对records进行预测是否为同一实体。
适合于两个数据集有相似的结构,如果两个数据集的实体属性个数差异很大,不建议采用。
Limes: A Time-Efficient Approach forLarge-Scale Link Discovery on theWeb of Data. IJCAI2013
专门针对链接数据Linked Data设计的链接框架,不要求两个数据集的实体具有相似的结构
可灵活配置匹配规则,自定义距离计 算 模 型 , 也 支 持 基 于 Active Learning的机器学习方法
知识推理
简单而言,推理是指基于已知事实推出未知的事实的计算过程。
按解决方法分类: 按推理类型分类:
1基于描述逻辑的推理 1缺省推理 Default reasoning
2基于规则挖掘的推理 2连续变化推理 Continuous Change
3基于概率逻辑的推理 3空间推理 Spatial reasoning
4基于表示学习与神经网络的推理 4因果关系推理 Causality reasoning
5…
基于描述逻辑的推理: 本体推理
描述逻辑(description logic)是一种用于知识表示的逻辑语言和以其
为对象的推理方法,主要用于描述概念分类及其概念之间的关系。
描述逻辑是当前语义网发展中本体的理论基础。
主要方法:
基于表运算(Tableaux)及改进的方法:FaCT++、Racer、 Pellet Hermit等
基于一阶查询重写的方法(Ontology based data access,基于本体的数
据访问)
基于产生式规则的算法(如rete):Jena 、Sesame、OWLIM等
基于Datalog转换的方法如KAON、RDFox等。
回答集程序 Answer set programming
基于统计规则挖掘的推理
主要方法 :
•基于路径排序学习方法 (PRA,Path ranking
Algorithm)
•基于关联规则挖掘方法 (AMIE)
基于表示学习的推理-Representational Learning
Representation Learning
•将实体和关系都表示为向量
•通过向量之间的计算代替图的遍历和搜索来预测三元组的存在,由于向量的表示已经包含了实体原有的语义信息,计算含有一定的推理能力。
•可应用于链接预测,基于路径的多度查询等。
知识众包
知识搜索
知识问答