【知识图谱】知识图谱概论
文章目录
- 一、知识图谱与语义技术概述
- 1、知识图谱的概念演化
- 2、重点
- 3、应用
- 4、KG的本质
- 二、典型知识图谱
- 三、知识图谱技术概览
- 1、KG技术体系
- 2、知识表示
- (1)概述
- (2)语义网知识表示框架:
- (3)典型表示方法(离散型)
- ① RDF:Triple-based Assertion model
- ② RDFS:Simple Vocabulary and Schema
- ③ OWL:Web Ontology Language
- (4)典型表示方法(分布式)——KG Embedding
- 4、知识抽取:NLP + KR
- 5、知识存储
- 6、知识问答
- 7、知识推理
- 8、知识融合
- 9、知识众包:Schema.ORG
- 四、典型案例
一、知识图谱与语义技术概述
1、知识图谱的概念演化
知识图谱(Knowledge Graph, KG)的概念演化如下图所示:
- 1960年,语义网络(Semantic Networks) 是一种用图来表示知识的结构化方式。在一个语义网络中,信息被表达为一组结点,结点通过一组带标记的有向直线彼此相连,用于表示结点间的关系。但缺少标准,其比较难应用于实践。
- 1980s,本体论(Ontology)。 该本体是由哲学概念引入到人工智能领域的,用来刻画知识。
- 1989年,万维网。 Time Berners-Lee发明了万维网(Web),以链接为中心的系统。
- 1998年,语义网(The Semantic Web)。 从链接文本到链接数据。 语义网正是为了使得网络上的数据变得机器可读而提出的一个通用框架。“Semantic”就是用更丰富的方式来表达数据背后的含义,让机器能够理解数据。“Web”则是希望这些数据相互链接,组成一个庞大的信息网络,正如互联网中相互链接的网页,只不过基本单位变为粒度更小的数据。
- 2006年,链接数据。 Tim突出强调语义网的本质是要建立开放数据之间的链接,即链接数据(Linked Data)。
- 2012年,知识图谱。知识图谱的提出得益于Web的发展和数据层面的丰富,有着来源于知识表示(Knowledge Represention, KR)、自然语言处理(NLP)、Web、AI多个方面的基因。可用于搜索、问答、决策、AI推理等方面。
2、重点
- 知识表示——Knowledge Representation
- 基于知识表示的知识库——Knowledge Base
- 知识库的来源:知识构建、知识抽取、知识融合
- 知识库的应用:语义搜索、知识问答
3、应用
- 辅助搜索
- 辅助问答
- 辅助决策
- 辅助AI:常识推理
4、KG的本质
- Web角度:类似于文本之间的超链接一样,建立数据之间的语义链接,并支持语义搜索;
- NLP角度:如何从文本中抽取语义和结构化数据;
- KR(知识表示)角度:如何利用计算机符号表示和处理知识;
- AI角度:如何利用知识库来辅助理解人的语言;
- DB角度:用图的方式存储知识。
知识图谱 VS. 深度学习(区别)
人的大脑依赖所学的知识进行思考、逻辑推理、理解语言。
可以将深度学习和知识图谱比作是“聪明的AI”和“有学识的AI”。
- 深度学习:主要是【学习】能力,通过强大的计算能力,感知、识别、判断来进行学习。
- 知识图谱:主要是【推理】能力,通过已有的规则和知识,思考、语言、推理来进行学习。
注意:两者不是不相关的,可以利用对方来解决本领域的问题。
二、典型知识图谱
常识知识库:CYC、WordNet、ConceptNet、Freebase、Wikidata、DBPedia、YAGO、Babelnet、NELL、Concept Graph、OpenKG、Zhishi.me
- CYC知识库:常识知识库,最初目标:建立人类最大的常识知识库。 由属于Terms(概念、关系和实体)和断言Assertions(Terms之间的关系,可包括事实Fact描述、规则Rule描述)组成。
- Wordnet:词典知识库,主要用于词义消歧。 主要定义了名词、动词、形容词和副词之间的语义关系。
- ConceptNet:常识数据库,最早源于MIT媒体实验室,主要依靠互联网众包、专家创建和游戏三种方法来构建。知识库以三元组形式的关系型知识构成。侧重:词与词之间的关系。ConceptNet完全免费开放,并支持多种语言。
- Freebase:完全免费并允许商业化的开放许可协议。通过开源免费吸引吸引用户贡献数据,增值的应用及技术服务收费。
- Wikidata:目标是构建全世界最大的免费知识库,但是仍然面临知识缺失严重的问题。
- DBPedia:早期的语义网项目,意指数据库版本的Wikipedia,是从Wikipedia抽取出来的链接数据集。
- YAGO:集成了Wikipedia、WordNet、GeoNames三个来源的数据。此外,还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。
- Babelnet:类似于WordNet的多语言词典知识库,目标是解决WordNet在非英语语种中数据缺乏的问题。 将WordNet与Wikipedia百科集成。
- NELL:是卡内基梅隆大学开发的知识库,主要采用** **的方法从WEB自动抽取三元组知识。
- Concept Graph(Microsoft):以概念层次体系为中心的知识图谱。与Freebase等知识图谱不同,Concept Graph是以概念定义和概念之间的IsA关系为主。
- OpenKG:中文知识图谱资源库。
- cnSchema:开放的中文知识图谱Schema
三、知识图谱技术概览
1、KG技术体系
2、知识表示
(1)概述
知识表示:研究怎样用计算机符号来表示人脑中的知识,以及怎样通过符号之间的运算来模拟人脑的推理过程。
表示方法:
- 基于离散型的知识表示:RDF、RDFS、OWL、OWL…
- 基于分布式知识表示:KG Embedding
(2)语义网知识表示框架:
- 绿色部分:知识表示 。其中最底层的是URI/IRI是网络链接,其上是XML和RDF为资源表示框架。
- 黄色部分:查询。SPARQL是知识查询语言。
- 蓝色部分:知识推理。它包含了如RDFS和OWL这样的支持推理的表示框架。
- 橘色部分:trust
- 灰色部分:interaction
(3)典型表示方法(离散型)
分类:
- 离散型表示:RDF、RDFa、OWL
- 分布式表示:KG Embedding
① RDF:Triple-based Assertion model
- RDF(Resource Description Framework)即资源描述框架,是W3C制定的。用于描述实体/资源的标准数据模型。在知识图谱中,我们用RDF形式化地表示三元关系。
(Subject, predicate, object)
,即(主语,谓语,宾语)
- RDF Graph:Directed Labeled Graph
基础数据模型:有向标记图
- RDF的序列化格式
- JSON for Linking Data(JSON-LD):程序之间的数据交换格式,在网页中嵌入语义数据和 Restful Web Service。
{"@context":"http://json-ld.org/contexts/person.jsonld","@id":"http://dbpedia.org/resource/John_Lennon","name":"John Lennon","born":"1940-10-09","spouse":"http://dbpedia.org/resource/Cynthia_Lennon" }
- RDFa,HTML5 MicroData:在网页中嵌入语义数据
- RDF查询语言——SPARQL
- 可对不同数据集撰写复杂的连接(
joins
) - 由所有主流图数据库支持
- 示例1:
# prefix declarations:for abbreviating URIs PREFIX foo: <http://example.com/resources/> ... # dataset defintion, stating what RDF graph(s) are being queried FROM ... # result clause:identifying what information to return from the query SELECT ... # query pattern: WHERE {... } # query modifiers:slicing, ordering, and otherwise rearranging query results ORDER BY ...
- 示例2:本质——子图匹配
SELECT ?name WHERE {?m <bornIn> ?city. ?m <hasName> ?name.?m <bornOnDate> ?bd. ?city <foundingYear> "1718".FILTER(regex(str(?bd), "1976")) }
- 可对不同数据集撰写复杂的连接(
② RDFS:Simple Vocabulary and Schema
- RDFS在RDF的基础上定义了一些固定的关键词如:
Class
,subClassOf
,type
,Property
,subPropertyOf
,Domain
,Range
以及多了Schema层
。
③ OWL:Web Ontology Language
- OWL(本体)就是从哲学方面借鉴来的。OWL在RDF的基础上扩充了 RDF Schema,使它支持推理等操作。
- OWL示例
- 复杂类
:Mother owl:equivalentClass [rdf:type owl:Class ;owl:intersectionOf ( :Woman :Parent ) ] .
- 属性约束
:Parent owl:equivalentClass [rdf:type owl:Restriction ;owl:onProperty :hasChild ;owl:someValuesFrom :Person ] .
- 对称属性
:hasSpouse rdf:type owl:SymmetricProperty .
- 传递属性
:hasAncestor rdf:type owl:TransitiveProperty .
- 属性链
:hasGrandparent owl:propertyChainAxiom ( :hasParent :hasParent ) .
(4)典型表示方法(分布式)——KG Embedding
在保留语义的同时,将KG中的实体和关系映射到连续的稠密的低维向量空间。
常用方法:
- 张量分解:eg:RESCAL1RESCAL^1RESCAL1
- 神经网络:势能函数,正确的势能高,错误的势能低。eg:NTN2NTN^2NTN2
- 距离模型:eg:TransE3
4、知识抽取:NLP + KR
知识抽取是一个结合NLP和KR的工作,它的目标是抽取KR用的三元组、多元关系、模态知识等。
具体流程:
- 非结构化的文本数据获取与预处理:从网络上获取大量的各种非结构化的文本数据,经过文本预处理后得到干净的文本数据。
- 词法及句法层次的分析:借助机器学习相关程序对文本进行分词、词性标注、词法解析、依存分析等工作,此时词法及句法层次的分析结束,
- NER 和 实体链接
- 关系抽取 和 事件抽取
- KR(知识表示):最终形成KR用的三元组、多元关系、模态知识等构成知识图谱。
评测:MUC-7 ==》ACE ==》TAC 的 KBP Track
主要方法:
- 知识工程:正则表达式、模板匹配(eg:BootStrap)、规则约束(POS、NER约束、距离约束等)
- 基于本体的抽取:
- 知识挖掘(推理):PRA基于图的抽取、TransE基于Embedding的抽取
- 基于模型的抽取
- 模型: SVM、逻辑回归、CRF、LSTM等循环神经网络
- 训练:有监督学习、无监督聚类、远程监督(从已有知识库获取少量训练数据)
5、知识存储
复杂性:需考虑图的特点、复杂的知识结构存储、索引和查询(支持推理)的优化等问题。
典型方法:
- 分为:基于关系数据库的存储、基于原生图的存储
- 实践:多为混合存储结构,图存储并非必须。
6、知识问答
KBQA(Knowledge-Based Question Answering),是基于知识库的问题回答,它以直接而准确的方式回答用户自然语言提问的自动问答系统,它将构成下一代搜索引擎的基本形态。eg:搜索 姚明的身高
,就可以给出 226cm
的回答。其实现流程为:
基本实现流程:
7、知识推理
知识推理:基于已知事实推出未知的事实的计算过程。eg:回答李四儿子的爸爸是谁?
分类
- 按解决方法分类:基于描述逻辑的推理、基于规则挖掘的推理、基于概率逻辑的推理、基于表示学习与神经网络的推理。
- 按照推理类型分类:缺省推理、连续变化推理、空间推理、因果关系推理等等。
8、知识融合
知识融合:
- 也称:Record Linkage(记录链接)、Entity Resolution(实体解析)、Data Linking(数据链接)、Knowledge Fusion(知识融合)、Entity Alignment(实体对齐)…
- 定义:在不同数据集中找出同一个实体的描述记录,主要目的是对不同数据源中的实体信息进行整合,形成更加全面的实体信息。
典型工具
- Dedupe
- 基于Python的工具包,实现了fuzzy matching、deduplication、entity resolution等常见任务。
- 主要流程:先对所有records通过Clustering/Blocking方法进行分组,然后再组内通过计算相似度特征和分类器对任意一对records预测是否为同一实体。
- 适用性:适用于有相似结构的两个数据集,不适用于两个数据集的实体属性个数差异很大的情况。
- LIMES
- 针对链接数据(Linked data)设计的链接框架,不要求两个数据集的实体具有相似的结构。
- 可灵活配置匹配规则,自定义距离计算模型,也支持基于Active Learning的ML方法。
9、知识众包:Schema.ORG
允许各网站基于一定的方式如RDFa、JASON-LD等方式在网页和邮件等数据源中嵌入语义化数据,让个人和企业定制自己的知识图谱信息。
四、典型案例
- Open PHACTS:药物研发的开放数据访问平台。
- 电商知识图谱:阿里巴巴
- SAP:企业知识图谱应用。
- BBC ONTOLOGIES:更好的搜索体验。
【知识图谱】知识图谱概论相关推荐
- 智源论坛 | 知识与认知图谱(5月30日,活动报名)
活动亮点 智源论坛,AI技术前沿精粹尽览 独家经验分享,顶尖学者零距离 探讨前沿技术,亦分享职业经验 助你成为更好的研究者.工程师 活动报名及报告摘要请扫描文末二维码,或点击"阅读原文&qu ...
- 虚拟专题:知识图谱 | 知识图谱多跳问答推理研究进展、挑战与展望
来源:<大数据> 知识图谱多跳问答推理研究进展.挑战与展望 杜会芳1, 王昊奋1, 史英慧2, 王萌3 1 同济大学设计创意学院 2 东南大学网络空间与安全学院 3 东南大学计算机科学与工 ...
- 虚拟专题:知识图谱 | 事件图谱的构建、推理与应用
来源:<大数据> 事件图谱的构建.推理与应用 胡志磊1,2,3, 靳小龙1,2,3, 陈剑赟4, 黄冠利5 1 中国科学院网络数据科学与技术重点实验室 2 中国科学院计算技术研究所 3 中 ...
- 特定领域知识图谱知识融合方案(实体对齐)论文合集
相关文章项目链接: 特定领域知识图谱知识融合方案(实体对齐):优酷领域知识图谱为例 特定领域知识图谱知识融合方案(实体对齐):文娱知识图谱构建之人物实体对齐
- H. 知识图谱 知识问答
H. 知识问答 概述 问答系统四大要素 问题:是问答系统的输入 答案:是问答系统的输出,除了文本表示的答案,有时也需要输出一组答案.候选答案的选择.甚至是多媒体信息 智能体:问答系统的执行者,需要理解 ...
- 2020前端知识体系(图谱)
前言 随着前端的不断发展,各种框架概念层出不穷,初级希望能了解前端整个知识体系,加强对前端认知,有一定工作经验的前端工程师也希望能构建自己的知识体系,往更高的层次迈进.因此本人查阅多方资料,结合自己的 ...
- 知识图谱基础知识之三——知识图谱的构建过程
前两次介绍了知识图谱的基本概念和知识图谱的构建方式,这次介绍一下知识图谱系统的构建过程. 1 知识图谱的总体构建思路 如图所示,从原始的数据到形成知识图谱,经历了知识抽取.知识融合(实体对齐).数据模 ...
- 1.特定领域知识图谱知识融合方案(实体对齐):优酷领域知识图谱为例
相关文章项目链接: 特定领域知识图谱知识融合方案(实体对齐):优酷领域知识图谱为例 特定领域知识图谱知识融合方案(实体对齐):文娱知识图谱构建之人物实体对齐
- 知识图谱之《海贼王-ONEPICE》领域图谱项目实战(含码源):数据采集、知识存储、知识抽取、知识计算、知识应用、图谱可视化、问答系统(KBQA)等
项目设计集合(人工智能方向):助力新人快速实战掌握技能.自主完成项目设计升级,提升自身的硬实力(不仅限NLP.知识图谱.计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户 ...
- java用输入流创建数据文件_java开发知识IO知识之输入输出流以及文件
java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用 ...
最新文章
- c#有多少种可能导致写文件失败?
- python 调用函数 开销_减少python中的函数调用开销
- 最近学了个elarning,结尾非要让写问卷,写了一下,发出来共勉
- Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
- https://blog.csdn.net/nameofcsdn/article/details/53164652
- 2020下半年新机最新消息_提前剧透 2020 年下半年五大新机
- 音频信号发生器_1957年,DIY的Hi-Fi 电唱机单电子管音频发生器的音质保真度高...
- jrtplib java,jrtplib 分包处理
- 私藏了好几年的20个谷歌搜索技巧
- C语言pow()函数的运用(x的y次幂)
- 计算机键盘指示灯不亮也不启动不了,终于明白电脑开机黑屏鼠标键盘灯不亮
- PCIe学习(一):PCIe基础及生成PIO例程分析
- solr facet查询及solrj 读取facet数据
- tooth的用法_tooth的复数形式
- 如何用营销思维做好产品运营规划?
- 百度网盘青春版将不限速;Win10商店上线摸鱼App;Log4j维护者:只有三个人赞助Log4j项目 | EA周报...
- 数据可视化之matplotlib实战:plt.step() 绘制阶梯图
- 华为2020年鸿蒙系统发布会,2021年6月2日华为发布会内容是什么?将正式发布鸿蒙手机操作系统...
- 12306 原因:系统繁忙,请稍后重试!
- Fireworks切图视频教程
热门文章
- Security 登录认证流程详细分析 源码与图相结合
- vba根据内容调整word表格_【邮件合并】不会VBA也能批量生成Word封面
- git clone 一部分_Git/GitHub 中文术语表 | Linux 中国
- webuploader在bootstrap模态对话框中选择文件按钮无效的问题
- java实型常量用十六进制表示_Java 基本语法
- python环境管理命令_conda管理Python环境
- 学python要有多少英语词汇量测试_“扫地僧”!自学Python编程、英语词汇量15000……北大保安再上热搜...
- u3d 动态 随机 地图_我的世界1.12.2模组教程:VoxelMap小地图新老玩家辅助神器
- python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析
- anconda3安装虚拟环境