知識抽取與挖掘(二)

大綱

  • 面向文本的知識抽取
    Deep Dive關(guān)系抽取實戰(zhàn)
    開放域關(guān)系抽取
  • 知識挖掘
    實體消岐與鏈接
    知識規(guī)則挖掘
    知識圖譜表示學習

面向文本的知識抽取

關(guān)系抽取分類

KBC系統(tǒng)
  • 填充、融合不同來源的知識
    輸入:非結(jié)構(gòu)化的期刊文章,半結(jié)構(gòu)化的html、table等
    輸出:結(jié)構(gòu)化知識庫
Deepdive
  • KBC系統(tǒng)的自動搭建框架
    特征工程+distant supervision+圖優(yōu)化
    考慮全局最優(yōu)而不是某個三元組最優(yōu)
    幫助領(lǐng)域?qū)<易灾鞔罱↘B
  • 技術(shù)難點
    設(shè)計一個KBC系統(tǒng)的工作流,包括文本預(yù)處理、特征抽取、統(tǒng)計推理與學習、迭代優(yōu)化等;
    利用分布式數(shù)據(jù)庫大幅度提升系統(tǒng)性能。
框架實戰(zhàn):抽取上市公司中的股權(quán)交易關(guān)系
  • 工程組成:
    app.ddlog:dd,deepdive,log,類dialogue的語言
    db.url
    deepdive.conf
    input文件夾:數(shù)據(jù)
    udf文件夾:python
  • 先驗數(shù)據(jù)導入
    準備先驗數(shù)據(jù)(國泰安);
    在app.ddlog中定義相應(yīng)的數(shù)據(jù)表;
    命令行生成postgresql數(shù)據(jù)表;
    $ deepdive do pos_transaction
  • 待抽取文章導入
    準備待抽取的文章,名為articles.csv,放在input文件夾下;
    在app.ddlog中定義文章數(shù)據(jù)表,包括doc_id和content;
    deepdive do articles導入文章到postgresql里
  • 工作流
  • 文章數(shù)據(jù)預(yù)處理
    對數(shù)據(jù)庫中文章數(shù)據(jù)進行NLP解析;
    在app.ddlog中定義sentence表,存放POS、NER字段;
    定義NLP處理的函數(shù)nlp_markup;
    nlp_markup.sh
    函數(shù)調(diào)用,從articles表中讀取輸入,輸出存放在sentences表中;
    編譯執(zhí)行$ deepdive do sentences,生成sentences表
  • 候選實體抽取
    抽取文本中的候選實體;
    在app.ddlog中定義候選實體表;
    定義候選實體抽取的函數(shù)map_company_mention
    map_company_mention.py
    函數(shù)調(diào)用,從sentences表中讀取輸入,輸出到company_mention中
    Join實體表,篩選出在同句中的不同實體,生成候選實體對;
    編譯,生成候選實體對表
  • 特征抽取
    抽取候選實體對的文本特征;
    在app.ddlog中定義特征表;
    定義特征抽取的函數(shù)extract_transaction_features;
    輸入為sentence的NLP結(jié)果,輸出NLP組合的各種特征
  • 樣本打標
    從候選實體對中標出部分正負例;
    在app.ddlog中定義標簽表;
    導入所有的候選實體對,初始標簽均為0
    將db數(shù)據(jù)與候選實體對關(guān)聯(lián),關(guān)聯(lián)到權(quán)重標注為+3,規(guī)則標記為從知識庫得到
    通過規(guī)則再標注一部分實體,輸入候選實體對的關(guān)聯(lián)文本,進行打標;
    將規(guī)則抽取的標簽也加入到transaction_label中
    規(guī)則在supervise_transaction.py中定義:
    最后,在多條規(guī)則和知識庫標記的結(jié)果中為每隊實體做vote,執(zhí)行deepdive do transaction label resolved 生成最終標簽。
  • 因子圖構(gòu)建
    定義最終存儲的表格;
    定義一系列推導關(guān)系,構(gòu)建因子圖;
    根據(jù)打標的結(jié)果,灌入已知的變量
  • 因子圖定義
  • 吉布斯采樣
  • 權(quán)重學習
    最大化和先驗變量取值一致的possible world的數(shù)目;
    在采樣得到的樣本上隨機梯度下降;
    deepdive針對硬件做了優(yōu)化,支持分布式、增量式訓練;
    執(zhí)行deepdive do probablities,開始訓練。
  • 數(shù)據(jù)表
  • 其他配置文件
  • 迭代調(diào)試

總結(jié)-deepdive

模快化,便于更改替換;
NLP影響較大,可以考慮其他端到端模型;
便于分析和迭代開發(fā)。
http://www.openkg.cn/tool/cn-deepdive

開放域關(guān)系抽取

IE的發(fā)展趨勢
主要系統(tǒng)
第一代OpenIE系統(tǒng)
第二代OpenIE系統(tǒng)

  • OpenIE的應(yīng)用
    直接回答問題,形如(A1,?,A2)的問題
    用作其他NLP的特征:
    文本理解,相似度比較

第二部分:知識挖掘

實體鏈接:給定一片文本中的實體指稱(mention),確定這些指稱在給定知識庫中的目標實體(entity)。

  • 實例一:百科型知識庫,適用于長、短文本場景
    生成模型,先計算聯(lián)合概率,再計算條件概率。
  • 實例二:百科型知識庫,適用于長文本場景
  • 示例三:百科型知識庫,適用于長文本場景
    候選實體間語義相似度計算(cos)
實體鏈接總結(jié)
  • 知識庫的變更:從百科知識庫發(fā)展到特定領(lǐng)域知識庫;
  • 實體鏈接的載體:從長文本到短文本,甚至到列表和表格數(shù)據(jù);
  • 候選實體生成追求同義詞、簡稱、縮寫的準備到從Mention到實體候選的查找;
  • 實體消岐則考慮相似度計算的細化和聚合,以及基于圖計算協(xié)同消岐。

規(guī)則挖掘

主要方法

  • 基于歸納邏輯編程(ILP)的方法
  • 基于統(tǒng)計關(guān)系學習(SRL)的方法
    目標:根據(jù)已知三元組對未知三元組預(yù)測;
    將連接兩個實體的路徑作為特征來預(yù)測其間可能存在非關(guān)系
    路徑排序算法-path Ranking Alo(PRA)
  • 基于關(guān)聯(lián)規(guī)則挖掘(ARM)的方法
    數(shù)據(jù)挖掘>>>事務(wù)表

知識表示學習

自然語言中的表示學習;
建立統(tǒng)一的語義空間,語義可計算。

  • 實體預(yù)測和推理
  • 關(guān)系推理
  • 推薦系統(tǒng)
TransE

將三元組<h, r, t>看做 h 通過 r 翻譯到 t 的過程

  • 優(yōu)化目標
    勢能函數(shù)
    目標函數(shù)
PRA vs. TransE

互補

路徑的表示學習

性能比較 - 三元組分類
性能比較 - 鏈接預(yù)測
pTransE

  • 加入規(guī)則的表示學習
  • 多模態(tài)的表示學習
  • 基于知識圖譜圖結(jié)構(gòu)的表示學習
    用實體周圍實體描述實體
    Neighbor Context
    Path Context
    Triple Context = Triple + Path Context + Neighbor Context
  • 勢能函數(shù)
  • 實驗結(jié)果:在一對多,多對多,多對一均有好的效果

實體鏈接總結(jié)和挑戰(zhàn)

  • 融合更多本體特征的知識圖譜表示學習算法研發(fā)
  • 知識圖譜表示學習與本體推理之間的等價性分析
  • 知識圖譜學習與網(wǎng)絡(luò)表示學習之間的異同
  • 神經(jīng)符號系統(tǒng)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容