《知识图谱:概念与技术》 读书笔记(上)

肖仰华老师的读书笔记,很多思路、方法都值得借鉴。

原始课件链接http://kw.fudan.edu.cn/workshop/kgbook,本博文中提到的资料就是这些原始课件链接。

本篇博客主要记录了原书第一篇和第二篇,与知识图谱的概念、构建相关,可以结合另一篇博客来看:https://blog.csdn.net/weixin_37763484/article/details/128907514

1.知识图谱概述

1.1基本概念

实体:知识图谱中的实例,例如希腊历史图谱中,柏拉图是一个实体

概念:一种类别,例如柏拉图是哲学家,那么哲学家就是一个概念

模式Schema:也称本体,是对实体的抽象,是实体所需具有的属性,例如哲学家这个概念,对应的本体应该包括姓名、学派、代表作等

知识类型:

  1.事实知识:某个实体的基本属性,例如人的出生地
  2.概念知识:实体和概念之间的从属关系,
  3.词汇知识:词汇之间的同义词、反义词,或实体的英文名、称谓等
  4.常识知识:计算机难以获取,例如鸟会飞,人会呼吸等

大规模知识图谱:OpenIE\Aminer\OpenKG\CN-DBpedia等

1.2 知识表示

1.基于图或基于三元组表示

2.使用低维向量表示:TransE系列翻译模型、SE系列距离模型,力求使头实体h和尾实体t在关系r的作用下尽可能的接近

3.谓词逻辑或产生式规则:利用逻辑符号和集合符号描述知识,类似于离散数学,可以在产生式规则的基础上推理新知识

4.框架frame:包含框架名、槽名、侧面和约束四部分:

  <框架名>
  <槽名1>:<侧面11>:<值111,值112,...> <约束1>
  <槽名2>:<侧面21>:<值211,值212,...> <约束1>

  
  例如:
  <哲学家>
  <信息>: <性别>:<男,女> <约束:必须是男或女>
        <姓名>:<约束:必须是字符串>
  <作品>: <书籍>:
        <论文>:

5.概率图模型、树模型、马尔科夫决策链、马尔科夫逻辑网等其他形式

2.知识图谱构建

2.1 词汇挖掘与实体识别

2.1.1领域短语挖掘

识别出复旦与复旦大学是同一个概念,并判断复旦大学的上位词是大学

领域短语挖掘:

从大量特定领域的文档挖掘出一些高质量词汇,例如从论文中挖掘出专业词汇
一些高频共现词汇,例如一些频繁出现的相互搭配的N-Gram词汇可能是高质量词汇,这些词汇能表达完整的信息 

LDA: LDA可以挖掘主题和主题下面的关键词,实际使用中,可以先用短语挖掘找出领域词语,然后再用lda,参考文献【40】

无监督领域短语挖掘:

选择出高频N-Gram词汇,然后计算他们的TF-IDF频率、PMI(点互信息,评判两个词汇的相关性)、左右邻字熵(用于新词发现等)
接下来对这些值进行打分排名,选择合适的词汇

有监督领域短语挖掘:

首先人工标注高质量领域短语,或者利用百科知识查询,然后计算他们的词频、PMI等指标,
接下来构造负样本,训练分类器模型

实际操作中,可以利用已经识别好的高质量短语,对预料进行重新分词,进而提高词频统计的准确性,
经过循环可以获得更好的效果,参考文献【3,4】

核心指标:以下核心指标可以用于短语挖掘,例如TF-IDF,C-Value,NC-value,PMI(点互信息),左右邻字熵

其中pmi可以用来找一些高频短语,例如“电影院”,pmi能够过滤掉“的电影”之类的词汇;
同时,“电影院”可以被拆分为“电|影院”和“电影|院”,一般选pmi较小的那一组拆分方式

C-value考虑了短语的长度,例如在医学领域中,较长的短语更可能是专有名词
C-value考虑了父短语,有可能造成误解,例如有父短语“变电站”,那么短语“110kv变电站”就可能被忽略
类似的还有D-value2,计算过程见资料ppt

NC-value考虑了上下文单词集合B,针对单词u,在c-value的基础上,加上每一个上下文词汇b的频率(f(b))与weight(b)的乘积,
即:NC-value(u)=( 0.8* C-value(u) ) +0.2∑( f(b) * weight(b) )
其中,可以先用C-value值筛选出前5%的词汇,将其作为B,针对其中的每一个词汇b, 
f(b)表示b与u作为上下文出现的次数,weight(b)=t(b)/n,t(b)是前5%词汇与单词b共同出现的概率,n指前5%词汇的数量

左右邻字熵,如果一个词汇的左短语和右短语具备较高的熵,那么这个短语就比较具有代表性,详见资料

参考文献:

40.Blei D M,. Latent dirichlet allocation[J]. Journal of machine Learning research, 2003, 3(Jan): 993-1022.
3.Mining Quality Phrases from Massive Text Corpora,jialu liu sigmod15
4.Automated Phrase Mining from Massive Text Corpora,jinbo shang

2.1.2 同义词挖掘

挖掘“玩具与toy”、“教师与老师”、“车厘子与樱桃”、“歌神和张学友”这样的词汇

方法:

1.百科知识

2.模板匹配(例如x又称y、x(y)、x俗称y等,能够建立x与y的关系)

3.自举法,可能会有语义飘移,即新模式的准确率有问题,例如明太祖(朱元璋)=》凤梨(原产台湾)

4.序列标注和图挖掘,见资料文献【46】,图挖掘主要找两个节点之间的显著性

参考文献:

46. Efficient Estimation of Word Representations in Vector Space,tomas,2013

2.1.3 略缩语 挖掘与预测

例如BBC、NBA、央视、联合国安理会、中建四局等

可以先用模板挖掘,然后利用共现频率、卡方检验、互信息、最大熵等方法,判断略缩语和原来的词语是否相关并清洗坏数据。
也可以用机器学习方法进行清洗。

完成清洗后,看词语对是否有一些高频共现词汇,例如“香港大学”,“港大”,“大学”三个词汇中,前两者都与“招生”相关,因此二者是略缩语
可以利用SimRank,Random Walk,Deep Walk.等算法来找相似节点

可以利用模板进行预测,例如北京市第四中学=》北京四中,
也可以用crf等进行序列标注预测,例如上海证券交易所,只把上交所三个字标识为1,可以利用crf-suit这个工具,这个工具能利用到更多的信息

2.1.4 实体识别

基于模板,或计算某个词汇与wordnet中的相似度,例如“乌鸡国”与wordnet中的“国家”高度相似,则乌鸡国是一个国家

bio标注,B和I标识一个实体,o标识非实体。

传统方法中,hmm和crf都可以利用,其中crf可以利用更多的特征,可以利用crf-suit实现。特征详见资料。

可以使用自举法来进行半监督学习。

深度学习中,通常使用词汇分布式表示=》上下文编码器=》标签解码器的结构

标签解码器常用crf,softmax,rnn;rnn更快,crf能考虑标签之间的关系,更准确。
编码器常用语言模型、transformer、cnn、rnn等;
词分布式表示包括fasttext、glove、bert等;字符级别的分布式表示可以处理新词汇,其他特征(如词性)也可以加入到分布式表示中

2.2关系抽取

构造类似于<柏拉图,学生,亚里士多德>这样的关系三元组,

或者进行开放关系抽取,将实体对之间的关系进行分类,例如将“<孔子,收徒,颜回>”中的收徒关系,映射为学生这一关系。

需要进行前置判断,例如对于还健在的人物,逝世日期是不适用的属性;并对结果进行规范化实体对齐,例如将“歪把子”翻译成“机枪”

2.2.1基于模式的抽取

基于字符模式:{arg1}是现代文学家{arg2}的作品=》

基于语法模式:在基于字符模式的基础上,限定每个槽位的词性等,例如arg1、arg2必须是名词

基于语义模式:进一步限制,arg1需要是文学作品,arg2需要是人物

TextRunner:

发现类似的模式,例如“出生于”这个种子关系和一些样例数据,
去文本中可以学习到很多模式,例如"出生在、诞生于",他们描述的都是“出生于”这个概念
然后利用新模式去发现新数据,进而循环

上述方法会引入语义飘移问题,解决方法见资料

自举语义飘移质量评估:

1.新实例x与模式关系r的匹配程度m:
   
   例如,通过模式关系r找出了实例x,计算x与关系r下的旧实例集合X'之间的,上下文文本集合相似度
   (也就是计算x的上下文文本字符集合,与X'的上下文文本字符集合,有多少相似度)
   模糊相似度可以用编辑距离、Jaccard距离或加权匹配实现
   加权编辑指,把旧实例分成多个部分,分别与新实例集合X计算文本相似度
   
2.模式关系r本身的置信度c:
    由正确率决定,可以看该模式关系匹配的正确实例与全部实例的比值

3.实例x的可能性p:
    有了1,2的基础,计算一个实例x的可靠度p,
    例如,一个实例x出现在了两组关系(r1和r2)中,
    分别计算x与每个模式关系的匹配程度m,以及模式关系自身的置信度c,然后计算p:
        p=1- {(1-m1*c1)+(1-m2*c2) }
        
4.在每一轮循环结束之后,保留c值较高的关系模式,保留p值较高的实例x,进行下一轮自举学习

2.2.2 基于学习的抽取

监督学习:词法、句法、语义,具体见材料,有一些不理解,如基本短语块特征

远程监督:

   由已有知识,例如(乔布斯,创建,苹果)扩展到其他语料中,在其他包含“乔布斯和苹果”的语料中抽取“创建”

   包含实体对的句子集合和关系类型标签构成了关系抽取的标注集
   
   可以通过强化学习的方法来选择好的句子集合,参考文献【11】和【12】
   利用策略选择器C先选出句子集合A,然后用A训练分类器L,将L对A的分类置信度作为分数,
   讲理选择器C并更新C,更新后利用新的C选择新的A,然后再训练分类器L

深度学习:

  通过注意力、cnn或rnn提取出句子的表示,然后用最大池化选出最显著的特征,并作为最终分类去训练
  
  其中rnn会得到一个m*d的矩阵,在每一行提取一个最大元素,得到一个m维向量,
  再将这个m维向量mlp连接+softmax,得到最终的关系分类
  
  cnn通过卷积,每个卷积核会得到一个M-L+1的向量X,M是句子长度,L是卷积核宽度,
  假设有K个卷积核,对他们的卷积结果拼接进行池化并拼接,可以得到K维向量,
  然后再利用mlp+softmax得到最终分类
  
  文献【16】记载了一种句子级别的注意力,首先利用cnn将句子集合中的每一个句子编码,
  然后计算每一个句子编码的重要性,加权得到句子集合的编码,在利用上一段中的方法,对这些句子进行分类
  这种方法能够处理句子集合中的噪声,
  注意力分数可以用来评估句子属于特定关系的可能性(如果太低,就说明这个句子)

参考文献:

  11.Reinforcement Learning for Relation Classification from Noisy Data,jun feng aaai18
  12.Large Scaled Relation Extraction with Reinforcement Learning
  16.Neural Relation Extraction with Selective Attention over Instance,yankai lin,acl16

2.2.3开放关系抽取

TextRunner:

 利用依存句法分析,找到所有可能的实体对或三元组,
 利用启发规则(例如实体依存路径不能太长\实体依存路径不能跨越实体)初步标记正负样本,
 例如正:<林俊杰,演唱,江南>、负:<江南,是,歌>
 并利用这些实体对、和一些基本特征(例如实体的词性、实体间的距离、名词短语划分)训练贝叶斯分类器

 对于输入的一句文本,利用浅层特征(词性标注等)找出其中的名词短语
 • 令一组名词短语为关系主体与关系客体,并将出现在它们之间的其他短语作为关系短
 语,构造潜在三元组
 • 利用训练好的分类器,对潜在三元组进行初步筛选

 之后可以根据三元组的频次、相似度等,进行融合,例如把“演唱”和“表演歌曲”两个关系进行融合

Reverb,文献【25】:

以动词为中心,构建关系短语的语法模式(Relations from verbs),
并且如果某些关系对应的实例过少,就省略掉

Ollie,文献【30】:

进一步限制了动词的范围,以及首尾实体,尾实体必须是动词的直接作用者

参考文献:

25.Identifying Relations for Open Information Extraction,ANthony,emnlp2011
30.Open Language Learning for Information Extraction,mausam,emnlp 2012

2.3概念图谱和百科图谱构建

2.3.1 概念图谱概述

柏拉图对应的概念为哲学家,通过概念,

能够认知同类实体(例如黑格尔),产生联想(哲学家=》哲学理论,科学家等),进而推理(柏拉图有自己的哲学作品)

知识图谱中有两种节点,例如演艺圈图谱,刘德华是一个节点,电影演员也是一个节点,演员也是一个节点

    刘德华 isA 电影演员
    电影演员 subClassOf 演员

常见的概念图谱有wordNet、Microsoft Concept Graph、CN-Probase等

应用案例见资料,例如“苹果和华为收购了电池厂”,华为的概念包括了科技企业,可以用来帮助判断苹果在此处指苹果公司

2.3.2 概念图谱isA关系抽取、补全、纠错

基于百科的抽取:找词干和前缀,将不同前缀和词干进行组合,可以得到新概念

基于模板的抽取:

英文中可以利用"A,including B\C"的模板判断BC属于A,
如果出现“小猫 是 武器”和“小猫 是 动物”,后者频率更多

中文中准确度差一些,因为存在歧义并且中文本身更复杂,下面两个系统进行了优化:

1.大词林通过抽取+排序的在百科、搜索页面结果等来源记性抽取,使用了一些启发式规则来自动收集排序器的训练数据
2.CN-Probase通过生成+验证的框架,例如抽取出“刘德华 isA 歌手”、“刘德华 isA 音乐”,后者需要验证。
抽取时,短语分割组合可以从“括号”中取得上位词,谓词发现可以直接抽出上位词,深度模型可以从摘要中找出上位词

验证时,可以将上位词定义为互斥关系,例如歌手和音乐应该是互斥的,这样上面的两个关系至少有一个是错的
      互斥概念可以由实体集合相似度和实体属性相似度计算得到,详见资料
      利用语法规则,例如下位词x是一个复合名词时,x中的修饰部分不能成为上位词,例如x=“教育机构”
      如果ner能够确认上位词是一个实体,那么这个上位词可能是错误的

关系补全:

 1.传递性,x isA y,y isA z,如果需要判断传递是否成立,可以看x y z三者的边权(即此关系在语 料中出现的频次)、
        关系两端实体/概念的点互信息量(Pointwise MutualInformation)等特征。
 2.实体相似性,牛顿和爱因斯坦相似,爱因斯坦是物理学家和科学家,牛顿是物理学家,因此牛顿是科学家
 3.概念相似性,连发枪械和自动步枪两个概念高度相似,ak47是连发枪械,则其可能也是自动步枪
 4.协同过滤,综合考虑jaccard和随机游走相似度,详见资料,前者精度高,后者扩展性好。
         jaccard计算时,考虑两个节点u、v,分别针对二者的上位词、下位词集合,计算jaccard相似度,得到x和y
         jaccard计算时,可以使用noisy-or模型,因为原始的概率值可能非常小
         通过N(x,y)=1-(1-x)(1-y)可以得到合适的相似度
         进行两步随机游走,以保证召回率,召回结果丰富

关系纠错:

 1.基于置信度,x isA y,x的直接下位词e(x)一般会少于y,计算:P=log(1+ e(y)/e(x))
   频率较高的isA关系,其置信度也应该越高
 2.基于图模型:如果存在环,那么就有可能是错误的isA关系,环长度一般为2到3
  在环中,可以利用最小反馈边集MFAS问题处理,
  利用贪心法简化开销随机顺序枚举图中的每个环,每次找到一个环,将环中最小权值的边全部删除,直到图中不存在环为止。
  • 将前一步中删除的边按权值从大到小排序,逐个尝试。
  • 若当前被删除的边加回图中不会产生环,则将其加回图中。否则删除这条边作为最终输出的一部分。

2.3.3 百科图谱构建

以百科网站为基础构建,例如百度百科,或者购物网站(网站中商品页面已经包含了很多知识)

单源百科:DBpedia、YAGO、CN-DBpedia
多源百科:zhishi.me、BabelNet、XLORE

单源百科:

 1.通过链接或猜测、归纳url的方式,访问所有页面,获取信息
 2.属性对齐:例如用Dice、jaccard稀疏将“英文名”和“英文名称”对齐,
         利用同义词将“妻子”、“老婆对齐”
         或利用取值的值集合相似度、属性类型相似度进行对齐
  过滤:利用启发规则,例如出现在同一页面的两个属性非等价       
  归一化:单位统一、正则抽取年月日、多值拆分、
 3.关系构建:利用反指特征、超链接次数等确定实体间的关系,
  例如刘德华主演无间道,无间道对应了很多作品,只有电影无间道中包含了刘德华
 4.级别构建:确定层级,例如人=》演员=》电影演员=
 5.实体分类:将实体对应到层级中,例如刘德华是电影演员,不是京剧演员
         可以利用启发规则:实体包含属性“毕业院校”的属于人物
         
         单分类中,输入为0-1多维向量,直接用决策树等算法即可。
         多分类中,先从一个句子判断实体的分类,然后把这些分类做融合
         例如“忘情水是刘德华演唱的歌曲”,HNM等方法能判断出刘德华是歌手【文献21】
 6.融合策略:参见资料带约束合并【文献22】,
         针对步骤5,x_{e,t}表示实体e属于概念t,取值为0或1;P(t|m)表示实体指代m属于概念t的概率;
         θ为阈值,ME(t1,t2)表示概念t1和t2互斥的概率,IsA(t1,t2)表示t1是t2的子类;
 7.深度学习方法:见资料

多源百科:见资料

参考文献:

22.METIC: Multi-Instance Entity Typing from Corpus,bo xu,acm2018
21.A Hybrid Neural Model for Type Classification of Entity Mentions,dong li,ijcai15             

2.4知识图谱的众包构建

2.4.1众包的基本问题

将哪些任务进行众包:

  通过nlp等技术计算出来的关系路径有一定的概率值,
  应该将不确定性最强的路径(即概率为0.5的路径)交给众包任务,
  一些确定性非常强的任务(例如概率为0.9999或0.0001)就不交给众包处理
  众包任务会判断该路径的概率为0还是为1,能降低整个图谱的不确定性
  
  也可以将相似度最低的实体建的关系,交给众包
  例如,数据中有三个节点需要判断关系,分别是iphone12、ihnone13和华为手机,
  那么应该将华为和iphone之间的标注任务交给众包平台,

如何选择工人:

  工人技能和任务的相似度(树模型,或者向量相似度)
  也可以用树图结合的方式,既考虑具体知识图谱中各个节点的交叉关系,
  又能在知识图谱的基础上提炼出虚拟意义上的树,能够考虑各个节点之间的分类关系,见资料图
  
  针对工人冷启动,可以用迁移学习文献【14】,例如工人熟悉口红,那么它也可能对唇膏、护肤乳也比较熟悉
  
  其他算法详见资料

如何实施众包:

  显式众包和隐式众包
  利用实物奖励和社交舆论吸引、以及游戏式的成就感系统等刺激参与
  利用事前制定规则、事中监督(埋雷法或回溯前一个问题)和时候验证来管控质量

参考文献:

14.cross-task crowdsourceing,mo k,zhong e,2013

2.4.2基于众包的图谱构建

本体阶段:

定义知识类型、概念层级和关系元数据,添加标签和其他元数据等
辅助判断isA关系,

或者先利用专家用户构造出概念框架并自动填充一些容易判断的数据,再由众包去处理一些比较难的数据
例如构造一个概念框架,将数据表A和B按照一定规则合并成C,然后再把AB中一些难以判断的给工人

游戏式双人联合判断,只有两个人的判断一致了,才能通过

三元组抽取:

人工对置信度低的三元组进行处理

实体对齐:

首先选择候选匹配对,基本思路是谓词过滤、相似度阈值、利用分类模型进行判断等

然后以成对或者成簇的方式进行分发,评估方式包括投票法

其中候选匹配分为以下实体分块,偏序对生成,问题生成,错误处理等四步:
    
    1.实体分块,减少可能的实体对,例如资料中的hike算法,
      其中的T(p)表示包含了关系p的首尾实体,依据公式找出关系p的分块,
     
    2.HIKE算法中,偏序对生成,有了上面的分块,还要对分块中的实体进行组合,
    
      假如组合1在任意谓词下的相关度都高于组合2,那么就可以判断:
          如果众包人员判断出,组合2是同一实体对,那么组合1一定是同一实体对
          如果众包人员判断出,组合1不是同一实体对,那么组合2也一定不是同一实体对
      此处的相似度只两个实体,在所有谓词对上的相似度(例如文本相似度jaccard等)
      
在收集实体时,例如收集在中国打球的美国球员,其中可能存在一些问题,例如实体错误、重复、缺失等,
可以着重奖励工人提供一些准确的新知识,例如提供一些最新的美国球员转会中国的动态

精细化阶段的众包:

知识补全:

Cyc、OpenMind等,用户越容易想到的知识,就越有使用价值,但是无法解决长尾问题,覆盖度不足

知识纠错:

包括关系纠错、属性值纠错等

属性值纠错可以利用异常值文献【25】、数值的大小关系文献【7】和文献【19】、【13】等

关系纠错可以利用isA成环检测文献【10】、基于分类的冲突检测文献【3】

参考文献:

 25.detecting incorrect numerical data in dbpedia ,Dominik 2014
 7.Probabilistic Error Detecting in Numerical Linked Data,huiying li,2015'
 19.Improving the Quality of Linked Data Using Statistical Distributions,Paulheim H,2014
 13.Human-powered Sorts and Joins,NGUYEN A,2017
 
 10.Graph-Based Wrong IsA Relation Detection in a Large-Scale Lexical Taxonomy,Jiaqing Liang, aaai17
 3.Knowledge vault: a web-scale approach to probabilistic knowledge fusion,dong x,kdd14

2.5 质量控制

2.5.1 概述

数据问题;

        缺失、错误、表述不一、数据过期等
        需要保证数据的准确、一致、完成和时效性

        方法1:人工抽样,流行度越高,越有可能被抽样
        方法2:一致性评估,例如“在中国一个男性存在多个配偶”
        方法3:冗余实体消除,通过荣誉相似度实现
        方法4:与外部高质量数据库进行比较。

构建中的质量控制:

        syntax-based自增迭代,找新的语义模式,例如“x is y”,xy可能发生漂移
        semantic-based自增迭代,例如“such as x,y”,xy可能发生漂移,
        可以利用实体类型检查法文献【4】,如果x既属于人类,又属于动物类,那么肯定有一个分类是错的
        可以利用文献【8】中的漂移点检测,找到最开始发现漂移的位置,进而分辨哪些是多义实例,或者错误事例

构建后的质量控制:

        更关注属性与关系的缺失或错误,以及数据的过期,更依赖于自动发现这些问题知识,然后交给众包

参考文献:

4.Names and Similarities on the Web: Fact Extraction in the Fast Lane,marius,2006
8.Diagnosing and Minimizing Semantic Drift in Iterative Bootstrapping Extraction,li z 2018

2.5.2 知识发现与补全

类型补全:

SDType:加权求和计算概率之和,详见资料
Probase+:协同过滤
其他深度模型:见材料

关系补全:

概率图模型:文献【13、14】,重构知识图谱,判断候选知识的合理性,
        其中节点为知识,边为规则的概率,需要学习每一条规则的概率,
        计算每一个知识的可能性,类似于pagerank,
        Pracmln有实现,可以预测一些知识成立的可能
        
        其中的概率来自:1.数据挖掘中得到的规律与模式
                   2.从领域知识中得到的规则
                   3.从文本分类器、提取器中获取的统计信息
        
pra路径排序算法:类似于随机游走和资源分配,指定路径权重那一块没看懂
可以用重启随机游走替代:http://blog.codinglabs.org/articles/intro-to-pagerank.html
                https://blog.csdn.net/bibibibiboi/article/details/109302890?
aaai20有更好的方法:Path Ranking with Attention to Type Hierarchies,性能提升非常显著

还可以利用搜索引擎、外部结构化表格或者机器阅读理解来完成关系补全。
其他表示学习方法见材料。

属性补全:

是否有特定的属性?如果某概念下所包含的实体中,70%都有某一属性,那么大概率其他实体也会有。

其他判断条件见资料,例如 
    1.相似实体必有相似属性,
    2.通过模式匹配“has no children”来判断一个人类实体是否有子女
    3.或者如果属性A在概念C下分布密集,在其他概念下不密集,那么A有可能是C的必有属性    
    4.或者如果一个属性在某概念A中分布很稀疏,而在其它概念中分布较密,则可判断它一定不是概念C的必有属性
    (WWW’18: Are All People Married? Determining Obligatory Attributes in KBs)
    
 Unsupervised Person Slot Filling based on Graph Mining论文中,相关实现值得参考
     介绍了一种结合pageRank和图聚类算法的方法,用于扩展槽位下的关键词,
     
     例如配偶槽位下,可以用pagerank和图聚类找到“结婚”这个词,“结婚“”这个词又能找到“婚配”等触发词,
     然后再去用“结婚”、“婚配”等触发词去发掘新的关系,
     例如询问鲁迅的配偶,则可以去找“鲁迅结婚”、“鲁迅婚配”等句子,并找出相应答案
    
    有一些词汇可能属于两个关系,例如“制导方式”,既可以指导弹的指导方式,也可以指无人车的制导方式
    可以利用上下文去消除歧义,也可以利用“制导方式”这个词在两种场景下pagerank值的归一化分数,
    去选择究竟是“无人车”还是“导弹”

参考文献:

13.Markov logic networks, richardson M,2006
14.Knowledge expansion over probabilistic knowledge bases,sigmod 14

2.5.3 错误知识的发现与纠正

错误实体检测:

从属性推概念,以便发现错误,例如某实体“代表作品”的取值多为电影,那么他的概念更应该是电影演员

概念互斥:通过关联规则挖掘,获得大量相斥的概念,从而据此判断是否有矛盾错误的实体类型存在。
例如挖掘出“动物”与“食物”相关,并且某个概念A下同时包含猪肉与猪两个实体,那么这个概念就是错的

错误关系检测:

hometown的定义域(理论来源)是person,但实际域(实际来源)包括了band这一organization,此即为不一致矛盾,
应该允许organization下存在hometown,或者删除相关矛盾数据

当对应的图谱中存在多条通路能连接首尾实体,那么这些关系就可能成立

计算各个关系p头实体和尾实体的概念类型的先验概率分布,对于关系p中的新实例三元组,
如果首尾实体都落在高频分布区域,则关系更可能是正确的。

利用搜索引擎,将三元组所描述的关系进行查询,对查询结果进行网页置信度计算,
之后训练监督学习模型,并判断关系是否正确。将人工验证的新三元组放入训练集,更新监督模型。
此方法对于低频信息不是很适用。

可以利用本体库知识进行判断,
对于<柏拉图,学生,柏拉图学院>这一错误三元组,“学生”这一关系的值域为“人物”,
可映射到本体中的等价类“人”上,而 “柏拉图学院”属于“机构”,可映射到本体中的等价类“社会机构”上,
然而“人”和“社会机构”是互斥的,因此可判定该关系系三元组可能是错误 的

错误属性值检测:

分组离群值检测(例如对国家和村镇,两个类别的实体的“人口总量”属性,利用多种检测指标,分别检验离群值)

过期知识更新:

知识图谱被动更新:主知识源有了新数据,主知识源主动将新数据推送给知识图谱;
知识图谱主动更新:知识图谱去全量扫描主知识源,然后重建图谱
全局更新:以上两种方式代价过大

1.基于频率的局部更新:
    更新频率高的知识应该优先更新,
    14天内观察10次,有5次发生数据更新,那么更新率为(1/14)*(5/10)=1/28,
    对应的泊松分布λ参数为1/28
    改进方法见文献【32】

2.基于时间的更新:
    利用时间序列模型预测下一个要更新的知识事实。

    利用两个事件中事件的先后关系、互斥关系等,构造相应推理模型,进而排查错误,
    或指导何时进行数据更新
    
3.基于热点事件的更新:
    监测热门事件,识别出热门实体H=》找到与热门实体相关的关联实体R=》对H和R按照一定规则进行更新。

参考文献:

32.Estimating Frequency of Change,Junghoo Cho,2003

Defining Feature挖掘-统计方法

你可能感兴趣的:(数据挖掘,机器学习,知识图谱,人工智能,自然语言处理)