知识图谱相关介绍

来源:互联网 发布:高新区行知小学好不好 编辑:程序博客网 时间:2024/06/06 08:42

知识图谱概要

概念介绍

什么是知识,知识从哪来

现实世界的语义本体,本体的相关语义,本体的认知层次,本体间的关系,都可以叫做知识

知识从哪里来

  • 结构化文本
    wiki,infobox,tables,database,social-net





  • 非结构化文本
    互联网,新闻,社交媒体…
  • 图像,视频流

什么是知识图谱

  1. 实体-对应现实世界的语义本体
  2. 关系-对应本体间的关系,连接了不同类型的实体
  3. 属性-描述一类实体的common特性,实体被属性所标注



为什么需要知识图谱

  1. 查询理解

    • 优化搜索排序






      • 对同名实体进行搜索属性,为什么百度和google给出了不一样的排序结果?
    • 特定意图的知识展现



      • 搜索李娜和奥运会,出现了李娜的奥运会名次,还有侧边栏的体育人物展现逻辑
  2. 智能问答(KB-QA)

    • 知识推理
      • 谓词逻辑和消解原理















        一系列推理以后,发现关于李明的假设没有推理出合理命题,最后得假设为假
        ![这里写图片描述])
  3. 金融领域

    • 反欺诈



      • 智能投顾
  4. 社交领域

    • 兴趣推荐
    • 用户聚类
      • SimRank



        • S(U1,U2)=C|I(U1)||I(U2)|i=1|I(U1)|j=1|I(U2)|S(Ii(U1),Ij(U2))

怎么存储知识图谱

  • rdf (语义网)

         <?xml version="1.0"?>             <RDF>          <Description about="http://www.yahoo.com/">          <资源作者>Yahoo!公司</资源作者>          <资源名称>Yahoo!首页</资源名称>          </Description>          </RDF>  
  • 图数据库

    • neo4j

          插入      CREATE (n:Person { name : 'Andres'});    删除      MATCH (n:Person { name:'Andres' })     DETACH DELETE n;     查询      MATCH (a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })     RETURN type(r);     CREATE CONSTRAINT ON (a:Person) ASSERT a.name IS UNIQUE;     MATCH (a:Person),(b:Person)     WHERE a.name = 'Node A' AND b.name = 'Node B'     CREATE (a)-[r:Follow]->(b);     MATCH (a:Person)-[r:Follow]->(b:Person)     WHERE a.name = 'Andres' AND b.name = 'Taylor'     DELETE r;     MATCH (:Person { name:'Taylor' })-[r:Follow]->(Person)     RETURN Person.name;     创建索引      CREATE INDEX ON :Person(name); 
    • titan





      • Transformg = TinkerGraphFactory.createTinkerGraph()g.V().in().outE().toList()g.V().in().outE().toList()g.v(1).mapg.E.has(‘weight’, T.gt, 0.5f).outV.age.(_).transform{it+2}Filtere.outV.outE(e.label).filter{ElementHelper.haveEqualProperties(e,it)}.as('e').inV.filter{it==e.inV.next()}.back('e').except([e])g.V[0..2].nameg.v(1).outE.and(_().has('weight', T.gt, 0.4f), _().has('weight', T.lt, 0.8f))g.V.as(‘x’).outE(‘knows’).inV.has(‘age’, T.gt, 30).back(‘x’).agesideEffectg.v(1).out.aggregate(x).next()g.V.groupBy{it}{it.out}.capMethodg.addVertex(100)g.addVertex(null,[name:"stephen"])

知识图谱的关键问题

信息抽取(Infomation Extraction)

  • 什么是信息抽取
    从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术
    自然语言处理和信息抽取

实体链接(Entity Linking )

问题分类
  • 实体识别
    人名,地名,机构名,时间,日期,货币,百分比
    子任务:实体边界识别和确定实体类别
  • 开放域实体抽取

  • 实体消歧
    如何确定一个实体指称所指向的是真实世界的实体?



    • bow方法计算相似度
      score(q,ek)=cos(q.T,ek.T)=q.T,ek.T||q.T||||ek.T||

      ê =argmaxscore(q,ek)
    • 加入其特征的分类
      1. 类别共现特征
      2. 文本相似度
      3. 实体本身流行度 P(e)
      4. 实体到指代的先验 P(s|e)
      5. 实体上下文的先验 P(c|e)
    • 实体在网页链接上的社会化关系进行聚类消歧
    • 基于实体链接的方法
      1. Pairwise
      2. Referent Graph
方法分类
  • manual-Defining Domain



    • 高精度的语义本体
    • 高准确的提取算子

      这里写图片描述
    • 构建成本高
    • 需要业务专家
  • Sime-automatic

    • 本体类型上下位人工定义
    • 这里写图片描述

      • SSL实现data上的label
      • 这里写图片描述

      • 用已有类别很容易判断实体类型

      • 可以从现有的语料库中抽取出关系
      • 可以得到较为松散提取语法
        这里写图片描述
  • Automatic

    • 所有名词短语都是实体
    • 所有动词短语都是属性
    • 频率统计实现挖掘
web实体抽取系统构成
  • Fetcher
    把种子放到相关搜索引擎,把topN的相关页面爬取下来
  • Extractor
    针对单个页面,使用模板抽取候选实例
  • Ranker
    构建种子,网页,模板,候选的相关排序规则,计算候选的置信度
实体链接的评测方法
  • 以指代项准的评测
    Accuarcymicro=NumCorrectNumQueries
  • 以实体为标准的评测
    Accuarcymicro=iNumEntitysNumCorrect(Ei)NumQueries(Ei)NumQueries

关系挖掘(Relation Extraction)

  • 目标-自动识别由一对概念和联系这对概念的关系构成的相关三元组
  • 这里写图片描述

  • bootstraping

  • Distant Supervision
    • Matrix Factorization
      这里写图片描述
  • PRA

  • Predicate Logic

知识表示(RL)

  • 目标-将研究对象的语义信息表示为低维稠密实值向量,从而可以表示研究对象语义相似度,是一种分布式表示
  • RL的分布式表示的应用
    • 相似度计算
    • 知识图谱补全(linking prediction)
    • 实体链接
  • RL的优点:
    • 不同于三元组的one-hot表示,可以提升计算效率
    • 缓解数据稀疏
    • 异质信息融合
  • RL方法

    1. 距离模型(structured embedding, SE)
      argminr||RlhsriEv(eli)RrhsriEv(eri)||1,whereeiRd,RlriRrriRdxd

      s.t.f(eli,ri,rri)<f(elj,ri,eri),(elj,ri,eri)xwherextriple_tuple

      f(eli,ri,rri)<f(eli,ri,erj),(eli,ri,erj)xwherextriple_tuple
    2. 单层神经网络(Single Layer Model, SLM)

      • A word i is then embedded in a d=kdk dimensional space by concatenating all lookup-table outputs:
        LTW1,...,WK(i)T=(LTW1(i1)T,...,LTWK(iK)T)
      • A classical TDNN layer performs a convolution on a given sequence x(·), outputting another sequence o(·) whose value at time t is:
        这里写图片描述
        fr(h,t=uTrg(Mr,llh+Mr,2lt)
    3. 语义匹配能量模型(SME sematic matching energy)
      — 为每个三元组定义两种评分函数

      fr(h,t)=(Mllh+M2lr+b1)T(M3Lt+M4lr+b2)

      fr(h,t=MllhM2lr+b1)T(M3LtM4Lr+b2)

    4. 双线性模型(Latent factor model, LFM)

      fr(h,t)=lThMrlt

    5. 张量神经网络模型

      • Represent each entity as the average of its word vectors, allowing the sharing of statistical strength between the words describing each entity,word vectors which are trained on large unlabeled text.
      • Train on relationships in WordNet and Freebase and evaluate on a heldout set of unseen relational triplets
      • Define a set of parameters indexed by R for each relation’s scoring function.
        这里写图片描述

      s.t.g(e1,R,e2)uTRf(eT1W[1:k]Re2+VR[e1e2]+bR)wheref=tanh,W[1:k]RRk,eT1W[1:k]Re2hRkVRRkx2d,URk,bRRk

      这里写图片描述

    6. 翻译模型

      • transE
      • 知识库的关系看做实体之间的某种平移向量
        fr(h,t)=|lh+lrlt|L1/L2
      • 损失函数
        (h,r,t)s(h,r,t)smax(0,fr(h,t)+γfr(h,t))whereS=(h,l,t)(h,l,t)(h,l,t)
      • 缺点
        无法处理复杂关系(1-N,N-1)
        这里写图片描述

      • transH

      • 同时使用平移向量l和超平面法向量wr表示
      • 这里写图片描述

      fr(h,t=||lhr+lrltr||L1/L2s.t.lhr=lhwTrLhWr,ltr=ltwTrltWr

      • transR
      • 假设关系和实体处于不同的语义空间中
      • 这里写图片描述

      fr(h,t=||lhr+lrltr||L1/L2s.t.lhr=lhMr,ltr=ltMr

      • TransD
      • 头尾空间不共享投影矩阵,关系的头尾实体的类型和属性可能差异巨大
      • 投影矩阵与实体和关系均相关
        这里写图片描述

    Mrh=lrplThp+Idxk

    Mrt=lrplTtp+Idxk

    • 损失函数

      fr(h,t)=||lhMrh+lrltMrt||L1/L2

      • TransG
      • GMM描述模型头尾实体关系,一个关系对应多种语义,每种语义用一个高斯分布刻画

        ltlh|lrm=1Mπr,mN(μr,m,I)

        这里写图片描述

      • KG2E

    • 使用高斯分布表示实体和关系,高斯分布均值表示他们在语义kongjian中心位置,高斯分布协方差表示实体或者关系的不确定性。
      这里写图片描述

    • 使用概率分布表示头尾关系

      peN(μhμt,h+t)

    • 假设关系本身也满足一个分布
      prN(μr,r)
    • 使用相对熵定义距离度量
      fr(h,t)=xRkeN(x;μr,r)N(s;μe,e)dx

相关研究和应用

知识库

FreeBase
google(5.7亿实体,180亿关系)
Satori(MicrosoBing)

应用系统

TextRunner

http://dl.acm.org/citation.cfm?id=1614177

OpenIE

http://openie.allenai.org/#

NELL

http://openie.allenai.org/#

知识计算平台

WolframAlpha

10万亿个实体,各种type的知识和逻辑表示
Graph Search(Facebook)
知立方(搜狗)

原创粉丝点击