知识图谱

知识图谱(Knowledge Graph)是当前学术界和企业界的研究热点。中文知识图谱的构建对中文信息处理和中文信息检索具有重要的价值。中国中文信息学会联合几所著名高校和企业举办了一个会议http://www.cipsc.org.cn/kg1/

知识图谱介绍

通过阅读华南理工大学华芳槐的博士论文《基于多种数据源的中文知识图谱构建方法研究》,可以详细的了解知识图谱的发展及历史。
一).为什么引入知识图谱呢?
随着信息的爆炸式增长,人们很难从海量信息中找到真实需要的信息。搜索引擎正是在这种情况下应运而生,其原理是:
1.通过爬虫从互联网中采集信息,通过建立基于关键词的倒排索引,为用户提供信息检索服务;
2.用户通过使用关键词描述自己的查询意图,搜索引擎依据一定的排序算法,把符合查询条件的信息依序(打分)呈现给用户。
搜索引擎的出现,在一定程度上解决了用户从互联网中获取信息的难题,但由于它们是基于关键词或字符串的,并没有对查询的目标(通常为网页)和用户的查询输入进行理解。
因此,它们在搜索准确度方面存在明显的缺陷,即由于HTML形式的网页缺乏语义,难以被计算机理解。
二).语义Web和本体的概念
为解决互联网信息的语义问题,2008年Tim Berners-Lee等人提出了下一代互联网——语义网(The Semantic Web)的概念。在语义Web中,所有的信息都具备一定的结构,这些结构的语义通常使用本体(Ontology)来描述。
当信息结构化并且具备语义后,计算机就能理解其含义了,此时用户再进行检索时,搜索引擎在理解互联网中信息含义的基础上,寻找用户真实需要的信息。由于互联网中信息的含义是由本体来描述的,故本体的构建在很大程度上决定了语义Web的发展。
本体(Ontology)描述了特定领域(领域本体)或所有领域(通用本体)中的概念以及概念之间的关联关系,并且这些概念和关系是明确的、被共同认可的。
三).知识图谱发展历程
随着互联网中用户生成内容(User Generated Content, UGC)和开放链接数据(Linked Open Data, LOD)等大量RDF(Resource Description Framework)数据被发布。互联网又逐步从仅包含网页与网页之间超链接的文档万维网(Web of Document)转变为包含大量描述各种实体和实体之间丰富关系的数据万维网(Web of Data)。
在此背景下,知识图谱(Knowledge Graph)正式被Google于2012年5月提出,其目标在于改善搜索结果,描述真实世界中存在的各种实体和概念,以及这些实体、概念之间的关联关系。紧随其后,国内外的其它互联网搜索引擎公司也纷纷构建了自己的知识图谱,如微软的Probase、搜狗的知立方、百度的知心。知识图谱在语义搜索、智能问答、数据挖掘、数字图书馆、推荐系统等领域有着广泛的应用。
谷歌S. Amit的论文《Introducing the Knowledge Graph: Things, Not Strings》
阿米特·辛格尔博士通过“The world is not made of strings, but is made of things” 这句话来介绍他们的知识图谱的,此处的“thing”是和传统的互联网上的网页相比较:知识图谱的目标在于描述真实世界中存在的各种实体和概念,以及这些实体、概念之间的关联关系。google 还开源了一个图数据库cayley https://cayley.io/#
知识图谱和本体之间又存在什么区别呢?
知识图谱并不是本体的替代品,相反,它是在本体的基础上进行了丰富和扩充,这种扩充主要体现在实体(Entity)层面;本体中突出和强调的是概念以及概念之间的关联关系,它描述了知识图谱的数据模式(Schema),即为知识图谱构建数据模式相当于为其构建本体;而知识图谱则是在本体的基础上,增加了更加丰富的关于实体的信息。
知识图谱可以看成是一张巨大的图,图中的节点表示实体或概念,而图中的边则构成关系。在知识图谱中,每个实体和概念都使用一个全局唯一的确定ID来标识,这个ID对应目标的标识符(identifier);这种做法与一个网页有一个对应的URL、数据库中的主键相似。
同本体结构一样,知识图谱中的概念与概念之间也存在各种关联关系;同时,知识图谱中的实体之间也存在这同样的关系。实体可以拥有属性,用于刻画实体的内在特性,每个属性都是以“<属性,属性值>对(Attribute-Value Pair, AVP)”的方式来表示的。
四).知识图谱举例
总之,知识图谱的出现进一步敲开了语义搜索的大门,搜索引擎提供的已经不是通向答案的链接,还有答案本身。当使用Google搜索,当用户搜索“刘德华的年龄”时,其结果包括:
1.列出了相关的网页文档检索结果;
2.在网页文档的上方给出了搜索的直接精确答案“54岁”;
3.并且列出了相关的人物“梁朝伟”、“周润发”以及他们各自的年龄;
4.同时在右侧以知识卡片(Knowledge Card)的形式列出了“刘德华”的相关信息,包括:出生年月、出生地点、身高、相关的电影、专辑等。
知识卡片为用户所输入的查询条件中所包含的实体或搜索返回的答案提供详细的结构化信息,是特定于查询(Query Specific)的知识图谱。
按照覆盖面,知识图谱可以分为:
1.通用知识图谱
目前已经发布的知识图谱都是通用知识图谱,它强调的是广度,因而强调更多的是实体,很难生成完整的全局性的本体层的统一管理;另外,通用知识图谱主要应用于搜索等业务,对准确度要求不是很高。
2.行业知识图谱
行业知识图谱对准确度要求更高,通常用于辅助各种复杂的分析应用或决策支持;严格与丰富的数据模式,行业知识图谱中的实体通常属性多且具有行业意义;目标对象需要考虑各种级别的人员,不同人员对应的操作和业务场景不同。
本体构建:人工构建方式、自动构建方式和半自动构建方式

知识图谱的架构

知识图谱的逻辑结构分为两个层次:数据层和模式层。
在知识图谱的数据层,知识以事实(fact)为单位存储在图数据库。如果以『实体-关系-实体』或者『实体-属性-值』三元组作为事实的基本表达方式,则存储在图数据库中的所有数据将构成庞大的实体关系网络,形成知识的图谱。
模式层在数据层之上,是知识图谱的核心,在模式层存储的是经过提炼的知识,通常采用本体库来管理知识图谱的模式层,借助本体库对公理、规则和约束条件的支持能力来规范实体、关系以及实体的类型和属性等对象之间的联系。本体库在知识图谱中的地位相当于知识库的模具,拥有本体库的知识库冗余知识较少。

1169201-b23c8f823b5bef26.png
Semantic Computation 语义计算(知识图谱构建技术)

这些大概是传统的自然语言处理(抽取非结构化或半结构化的数据)的问题,已经有了很多的开源工具,如下:
基于warpper的抽取工具
beautiful soup: 帮助轻松读取和解析网页。非常适合初始解析和抓取。
lxml: 以Python语言处理XML和HTML的库。
信息抽取工具(主要是python语言)
NLTK 老牌的自然语言处理工具(使用的技术现在差不多都已经不太使用了)
Google Cloud Natural Language API
SpaCy (自然语言处理的新秀,2014年新出的的库,有许多强大的功能,如词向量,实体抽取,深度学习嵌入,多线程等)
KOKO (Python语言): 利用有限证据的实体提取工具。
下面是一些其他工具(Java和Scala语言)
Stanford Open IE 用于命名实体识别、关系抽取等。
Mallet, 从文本进行实体抽取。
具体步骤:

预处理

检测和清除表面错误,包括不可读代码(Unreadable codes)、错误的截断(Erroneous Truncation)、由于挖掘错误引起的错误属性、双字节-单字节替换(Double byte - single byte replacement)、英语字符处理(English character processing)等。

实体构建——实体和属性的抽取
实体抽取

命名实体挖掘 Mining Named Entities
传统命名实体(NE)类别:人(Person)、位置(Location)、组织(Organization)
更多对web应用程序有用的新类别:Movie、TV series、music、book、software、computer game
更精细的分类:组织 -> {学校,医院,政府,公司...}
Computer game -> {net game,webpage game,...}
其中web中命名实体的特点包括:新的命名实体迅速崛起,包括软件、游戏和小说;命名实体在网络上的名字是非正式的(informal)
1.从查询日志(Query Logs)中学习命名实体(NEs)
查询日志中包含了大量的命名实体,大约70%的搜索查询包含了NEs。如下图2007年Pasca论文所示,命名实体能够根据上下文特征(context features)识别。如上下文词“电影、在线观看、影评”等等,识别“中国合伙人”。
从查询中学习种子的上下文特征,然后使用已经学到的上下文特征来提取C类的新种子实体,使用扩展种子集去扩展上下文特征....
利用查询日志该方法的优点是:它能够覆盖最新出现的命名实体;它的缺点是:旧的或者不受欢迎的命名实体可能会错过。
2.从普通文本中学习命名实体(Learning NEs from Plain Texts)
文字包装器(Text Wrappers)被广泛使用于从纯文本中提取(Extracting)命名实体。例如包装器“电影《[X]》”,“影片[X],导演”,其中[X]表示电影名字
3.使用URL文本混合模式(Url-text Hybrid Patterns)学习命名实体
是否有可能只从网页标题(webpage titles)中提取命名实体呢?确实。99%的命名实体都能够在一些网页标题中发现。
Url文本混合模型应该考虑URL约束,简单的文本模式可信的URL链接是足够的,复杂的文本模式需要低质量的URL。 可以参考 《Bootstrapping Large-scale Named Entities using URL-Text Hybrid Patterns》
4.算法自动从非结构化或半结构化数据抽取实体,2012年Ling等人归纳出112种实体类别,并基于条件随机场CRF进行实体边界识别,最后采用自适应感知机算法实现了对实体的自动分类,取得了不错的效果。

抽取关系

从相关的语料中提取出实体之间的关联关系,通过关联关系将实体(概念)联系起来。
早期的关系抽取研究方法主要是通过人工构造语法和语义规则。随后,出现了大量基于特征向量或者核函数的有监督学习方法,关系抽取的准确性也不断提高。但以上研究成果的共同特点是需要预先定义实体关系类型,如雇佣关系、整体部分关系以及位置关系等。
与之相对的,Banko等人提出了面向开放域的信息抽取方法框架(open information extraction,OpenIE),并发布了基于自监督(self-supervised)学习方式的开放信息抽取原型系统(TextRunner),该系统采用少量人工标记数据作为训练集,据此得到一个实体关系分类模型,再依据该模型对开放数据进行分类,依据分类结果训练朴素贝叶斯模型来识别『实体-关系-实体』三元组,经过大规模真实数据测试,取得了显著优于同时期其他方法的结果。
TextRunner系统中错误的部分主要是一些无意义或者不和逻辑的实体关系三元组,据此引入语法限制条件和字典约束,采用先识别关系指示词,然后再对实体进行识别的策略,有效提高了关系识别准确率。

3。属性抽取
属性抽取的目标是从不同信息源中采集特定实体的属性信息。例如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。属性抽取技术能够从多种数据来源中汇集这些信息,实现对实体属性的完整勾画。一般从百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模型,然后将其应用于对非结构化数据的实体属性抽取;
属性值对挖掘 AVP Mining
AVP英文全称是Attribute Values Pairs。那么,哪里会见到这种AVP数据呢?
在线百科:三大百科 Baidu Baike \ Wikipedia \ Hudong Baike
垂直网站(Vertical websites):IMDB,douban for videos
普通文档网页:从结构化、半结构化(semistructured)和非结构化文本中爬取AVP,例如挖掘垂直网站AVP数据
可能会遇到两个问题?
第一个是如何找到相关的垂直网站,如果是寻找流行的网站是容易的,如音乐、电影、小说;但是如果是寻找长尾域(long tail domains)的网站是困难的,如化妆品、杂志。第二个问题是面对众多的数据怎样生成提取模式。
同时,人工模式可以保证很高的准确性,但是工具能够帮助我们更加便利的编辑模式。最后AVP知识需要日常中积累和更新,包括不同时间类别的更新、新网站的加入、无序或网站崩溃需要自动检测或手工处理。
对属性进行一些转换
1.Value Type Recognition 值类型识别
属性对应的值类型。其中值类型包括:Number(数字)、Data/Time(日期/时间)、Entity(实体),Enumeration(枚举)、Text(default,默认文本)。
2.Value Normalization 值正常化
Splitting(分词)
Conversion(转换),E.g., 2.26m -> 226cm
3.Attribute Normalization 属性正常化
Domain-specific problem(特定领域问题)
某些属性被视为同义词只在特定的领域甚至是两个特定的知识源中。
例如“大小(size)”和“屏幕(screen)”在一些手机网站上表示同义词,但不是所有的开放域解释都相同,可以使用分类模型(Classification model)来识别候选同义属性。其中特征包括属性浅层相似特征、相似属性值特征、相似值类型(Value-type)特征和实体值特征。最后评选者从所有候选中选择正确的相似属性对。

Knowledge Fusion 知识融合

1.融合从不同数据来源的知识,关键问题——实体消歧(Entity disambiguation)。
其解决方法是计算两个相同名称实体之间的相似性。一些基本属性可以用来确定实体的身份,如“works of a writer”。其他一些属性只能用来作相似性的特征,如“nationality of a person”(国籍)。随着统计机器学习方法被引入该领域,McCarthy等人将C4.5决策树算法也被应用于解决实体消歧问题。
2.Entity Classification 实体分类
为什么需要分类呢?因为一些实体会丢失类别信息;同时不失所有从源数据中挖掘的实体都有类别(category)。解决方法是:通过监督模型训练已知类别的实体和它们的属性-值对;使用结构化数据(AVPs)和非结构化数据(上下文文本)来精确地分类特征。
下面是一些在知识应用层的语义计算模块/方法。主要是具体的应用:
实体消歧用于推理(Entity disambiguation for reasoning)
相关实体消歧(Related entity disambiguation)
搜索需求识别(Search requirement recognition)
需要识别用户搜索的“李娜”是网球运动员、歌手、舞蹈家还是其他。
其核心问题就是AVP相似计算,包括为不同的属性定义不同的权重、有用属性和无用属性等。

异构数据整合(实体对齐、属性值决策、关系建立)

1.实体对齐
例如对“张艺谋”这个实体进行对齐,数据源来自互动百科、百度百科、tvmao网站、搜狐娱乐。
比如张艺谋的国籍需要对齐“中华人民共和国”、“中国(内地)”、“中国”三个属性值;“国家”、“国籍”、“国籍”需要属性对齐;再如出生日期对齐“1951年11月14日”、“1951-11-14”、“1951-11-14”实现属性值对齐。
还可以接入外部知识库,
国际上流行的知识库或数据源如下所示:
Wolframalpha: 一个计算知识引擎,而不是搜索引擎。其真正的创新之处,在于能够马上理解问题,并给出答案,在被问到"珠穆朗玛峰有多高"之类的问题时,WolframAlpha不仅能告诉你海拔高度,还能告诉你这座世界第一高峰的地理位置、附近有什么城镇,以及一系列图表。
Freebase: 6800万实体,10亿的关系。Google号称扩展到5亿实体和25亿的关系。所有内容都由用户添加,采用创意共用许可证,可以自由引用。
DBpedia: wikipedia基金会的一个子项目,处于萌芽阶段。DBpedia是一个在线关联数据知识库项目。它从维基百科的词条中抽取结构化数据,以提供更准确和直接的维基百科搜索,并在其他数据集和维基百科之间创建连接,并进一步将这些数据以关联数据的形式发布到互联网上,提供给需要这些关联数据的在线网络应用、社交网站或者其他在线关联数据知识库。
还有一个中文知识库openkg http://openkg.cn

知识推理

知识推理是指从知识库中已有的实体关系数据出发,进行计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。知识推理是知识图谱构建的重要手段和关键环节,通过知识推理,能够从现有知识中发现新的知识。
知识推理的对象也并不局限于实体间的关系,也可以是实体的属性值,本体的概念层次关系等。
知识的推理方法可以分为2大类:基于逻辑的推理和基于图的推理。
基于逻辑的推理主要包括一阶逻辑谓词、描述逻辑以及基于规则的推理。
一阶谓词逻辑建立在命题的基础上,在一阶谓词逻辑中,命题被分解为个体(individuals)和谓词(predication)2部分。个体是指可独立存在的客体,可以是一个具体的事物,也可以是一个抽象的概念。谓词是用来刻画个体性质及事物关系的词。比如(A,friend,B)就是表达个体A和B关系的谓词。
对于复杂的实体关系,可以采用描述逻辑进行推理。描述逻辑(description logic)是一种基于对象的知识表示的形式化工具,是一阶谓词逻辑的子集,它是本体语言推理的重要设计基础。
基于规则的推理可以利用专门的规则语言,如SWRL(semantic Web rule language)。
基于图的推理方法主要基于神经网络模型或Path Ranking算法。Path Ranking算法的基本思想是将知识图谱视为图(以实体为节点,以关系或属性为边),从源节点开始,在图上执行随机游走,如果能够通过一个路径到达目标节点,则推测源和目的节点可能存在关系。

reference:
https://stanfordnlp.github.io/CoreNLP/openie.html
http://www.52nlp.cn/tag/python-spacy
https://github.com/explosion/spaCy
https://github.com/biggorilla-gh/koko
https://leetcode.com/problemset/all/
https://github.com/HazyResearch/deepdive
https://www.biggorilla.org/zh-hans/data-extraction
http://www.jianshu.com/p/4f09043e22ea
https://cayley.io/#
http://openkg.cn
https://m.wikidata.org/wiki/Wikidata:Main_Page
http://m.blog.csdn.net/column/details?alias=eastmount-kgdmnlp&page=2
https://googleblog.blogspot.hk/2012/05/introducing-knowledge-graph-things-not.html?m=1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容