自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

知識圖譜數(shù)據(jù)構(gòu)建的“硬骨頭”,阿里工程師如何拿下?

新聞 前端 知識圖譜
作為近年來搜索領(lǐng)域和自然語言處理領(lǐng)域的熱點,知識圖譜正引領(lǐng)著搜索引擎向知識引擎的轉(zhuǎn)變。在阿里的“神馬搜索”中,知識圖譜及其相關(guān)技術(shù)的廣泛應(yīng)用不僅能幫助用戶找到最想要的信息,更能讓用戶有意想不到的知識收獲。

 [[233069]]

  阿里妹導(dǎo)讀:搜索“西紅柿”,你不但能知道它的營養(yǎng)功效、熱量,還能順帶學(xué)會煲個牛腩、炒個雞蛋!搜索引擎何時變成“暖男”了?原來背后有“知識圖譜”這個強大的秘密武器。

  作為近年來搜索領(lǐng)域和自然語言處理領(lǐng)域的熱點,知識圖譜正引領(lǐng)著搜索引擎向知識引擎的轉(zhuǎn)變。在阿里的“神馬搜索”中,知識圖譜及其相關(guān)技術(shù)的廣泛應(yīng)用不僅能幫助用戶找到最想要的信息,更能讓用戶有意想不到的知識收獲。

  背景簡介  

  為了不斷提升搜索體驗,神馬搜索的知識圖譜與應(yīng)用團隊,一直在不斷探索和完善圖譜的構(gòu)建技術(shù)。其中,開放信息抽取(Open Information Extraction),或稱通用信息抽取,旨在從大規(guī)模無結(jié)構(gòu)的自然語言文本中抽取結(jié)構(gòu)化信息。它是知識圖譜數(shù)據(jù)構(gòu)建的核心技術(shù)之一,決定了知識圖譜可持續(xù)擴增的能力。

  “神馬搜索”界面

  本文聚焦于開放信息抽取中的重要子任務(wù)——關(guān)系抽取,首先對關(guān)系抽取的各種主流技術(shù)進行概述,而后結(jié)合業(yè)務(wù)中的選擇與應(yīng)用,重點介紹了基于 DeepDive 的方法,并詳述它在神馬知識圖譜數(shù)據(jù)構(gòu)建工作中的應(yīng)用進展。

  關(guān)系抽取概述

  關(guān)系抽取技術(shù)分類

  現(xiàn)有的關(guān)系抽取技術(shù)主要可分為三種 :

  • 有監(jiān)督的學(xué)習(xí)方法 :該方法將關(guān)系抽取任務(wù)當(dāng)做分類問題,根據(jù)訓(xùn)練數(shù)據(jù)設(shè)計有效的特征,從而學(xué)習(xí)各種分類模型,然后使用訓(xùn)練好的分類器預(yù)測關(guān)系。該方法的問題在于需要大量的人工標注訓(xùn)練語料,而語料標注工作通常非常耗時耗力。
  • 半監(jiān)督的學(xué)習(xí)方法 :該方法主要采用 Bootstrapping 進行關(guān)系抽取。對于要抽取的關(guān)系,該方法首先手工設(shè)定若干種子實例,然后迭代地從數(shù)據(jù)從抽取關(guān)系對應(yīng)的關(guān)系模板和更多的實例。
  • 無監(jiān)督的學(xué)習(xí)方法 :該方法假設(shè)擁有相同語義關(guān)系的實體對擁有相似的上下文信息。因此可以利用每個實體對對應(yīng)上下文信息來代表該實體對的語義關(guān)系,并對所有實體對的語義關(guān)系進行聚類。

  這三種方法中,有監(jiān)督學(xué)習(xí)法因為能夠抽取并有效利用特征,在獲得高準確率和高召回率方面更有優(yōu)勢,是目前業(yè)界應(yīng)用最廣泛的一類方法。

  遠程監(jiān)督算法

  為了打破有監(jiān)督學(xué)習(xí)中人工數(shù)據(jù)標注的局限性,Mintz 等人提出了遠程監(jiān)督(Distant Supervision)算法,該算法的核心思想是將文本與大規(guī)模知識圖譜進行實體對齊,利用知識圖譜已有的實體間關(guān)系對文本進行標注。遠程監(jiān)督基于的基本假設(shè)是:如果從知識圖譜中可獲取三元組R(E1,E2)(注:R代表關(guān)系,E1、E2 代表兩個實體),且 E1 和 E2 共現(xiàn)與句子S中,則S表達了 E1 和 E2 間的關(guān)系R,標注為訓(xùn)練正例。

  遠程監(jiān)督算法是目前主流的關(guān)系抽取系統(tǒng)廣泛采用的方法,也是該領(lǐng)域的研究熱點之一。該算法很好地解決了數(shù)據(jù)標注的規(guī)模問題,但它基于的基本假設(shè)過強,會引入大量噪音數(shù)據(jù)。例如,從知識圖譜獲取三元組:創(chuàng)始人(喬布斯,蘋果公司),下表句 1 和句 2 正確表達了該關(guān)系,但句 3 和句 4 并沒有表達這樣的關(guān)系,因此對句 3 和句 4 應(yīng)用基本假設(shè)時會得到錯誤的標注信息。這個問題通常稱為 the wrong label problem。

  出現(xiàn) the wrong label problem 的根本原因,是遠程監(jiān)督假設(shè)一個實體對只對應(yīng)一種關(guān)系,但實際上實體對間可以同時具有多種關(guān)系,如上例中還存在 CEO(喬布斯,蘋果公司)的關(guān)系,實體對間也可能不存在通常定義的某種關(guān)系,而僅因為共同涉及了某個話題才在句中共現(xiàn)。

  為了減小 the wrong label problem 的影響,學(xué)術(shù)界陸續(xù)提出了多種改進算法,主要包括:

  • 基于規(guī)則的方法:通過對 wrong label cases 的統(tǒng)計分析,添加規(guī)則,將原本獲得正例標注的 wrong label cases 直接標為負例,或通過分值控制,抵消原有的正標注。
  • 基于圖模型的方法:構(gòu)建因子圖(factor graph)等能表征變量間關(guān)聯(lián)的圖模型,通過對特征的學(xué)習(xí)和對特征權(quán)重的推算減小 wrong label cases 對全局的影響。
  • 基于多示例學(xué)習(xí)(multi-instance learning)的方法:將所有包含(E1,E2)的句子組成一個 bag,從每個 bag 對句子進行篩選來生成訓(xùn)練樣本。此類方法最早提出時假設(shè)如果知識圖譜中存在R(E1,E2),則語料中含(E1,E2)的所有 instance 中至少有一個表達了關(guān)系R。一般與無向圖模型結(jié)合,計算出每個包中置信度最高的樣例,標為正向訓(xùn)練示例。該假設(shè)比遠程監(jiān)督的假設(shè)合理,但可能損失很多訓(xùn)練樣本,造成有用信息的丟失和訓(xùn)練的不充分。為了能得到更豐富的訓(xùn)練樣本,又提出了 multi-instance multi-labels 的方法。該方法的假設(shè)是,同一個包中,一個 sentence 只能表示(E1,E2)的一種關(guān)系,也就是只能給出一個 label,但是不同的 sentence 可以表征(E1,E2)的不同關(guān)系,從而得到不同的 label。多 label 標注的 label 值不是正或負,而是某一種關(guān)系。它為同時挖掘一個實體對的多種關(guān)系提供了可能的實現(xiàn)途徑。另一種改進的方法是從一個包中選取多個 valid sentences 作為訓(xùn)練集,一般與深度學(xué)習(xí)方法相結(jié)合,這種方法更詳細的講解和實現(xiàn)會安排在后續(xù)介紹深度學(xué)習(xí)模型的章節(jié)中。

  神馬知識圖譜構(gòu)建中的關(guān)系抽取方法選擇

  知識圖譜的數(shù)據(jù)構(gòu)建,就數(shù)據(jù)源而言,分為結(jié)構(gòu)化數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)和無結(jié)構(gòu)數(shù)據(jù)三類。其中,無結(jié)構(gòu)數(shù)據(jù)是最龐大、最易獲取的資源,同時也是在處理和利用方面難度最大的資源。神馬知識圖譜構(gòu)建至今,已經(jīng)發(fā)展為一個擁有近 5000 萬實體,近 30 億關(guān)系的大規(guī)模知識圖譜。在經(jīng)歷了前期以結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)為主的領(lǐng)域圖譜構(gòu)建階段,神馬知識圖譜的數(shù)據(jù)構(gòu)建重點已經(jīng)逐漸轉(zhuǎn)移為如何準確高效地利用無結(jié)構(gòu)數(shù)據(jù)進行實體與關(guān)系的自動識別與抽取。這一構(gòu)建策略使得神馬知識圖譜在通用領(lǐng)域的建設(shè)和可持續(xù)擴增方面有很強的競爭力。

  遠程監(jiān)督算法利用知識圖譜的已有信息,使得有監(jiān)督學(xué)習(xí)中所需的大規(guī)模文本標注成為可能。一方面,遠程監(jiān)督在很大程度上提升了有監(jiān)督學(xué)習(xí)關(guān)系抽取的規(guī)模和準確率,為大規(guī)模的知識圖譜數(shù)據(jù)構(gòu)建和補充提供了可能;另一方面,遠程監(jiān)督對現(xiàn)有知識圖譜的數(shù)據(jù)和規(guī)模有較強的依賴,豐富的標注數(shù)據(jù)對機器學(xué)習(xí)能力的提升有很大幫助。為了充分利用知識圖譜規(guī)模和遠程監(jiān)督學(xué)習(xí)這種相輔相成的特性,在神馬知識圖譜的現(xiàn)階段數(shù)據(jù)構(gòu)建業(yè)務(wù)中,我們采用了以圖譜現(xiàn)有的大規(guī)模實體與關(guān)系數(shù)據(jù)為依托,以遠程監(jiān)督算法為工具的關(guān)系抽取技術(shù)。

  在上一章的綜述中,我們介紹過多種基于遠程監(jiān)督思想的改進方法。在具體的業(yè)務(wù)實現(xiàn)中,我們選取了領(lǐng)域內(nèi)與業(yè)務(wù)需求最為契合的兩種代表性方法:基于 DeepDive 的抽取系統(tǒng)和基于深度學(xué)習(xí)抽取算法。兩種方法相輔相成,各有優(yōu)勢:DeepDive 系統(tǒng)較多依賴于自然語言處理工具和基于上下文的特征進行抽取,在語料規(guī)模的選擇上更為靈活,能進行有針對性的關(guān)系抽取,且能方便地在抽取過程中進行人工檢驗和干預(yù);而深度學(xué)習(xí)的方法主要應(yīng)用了詞向量和卷積神經(jīng)網(wǎng)絡(luò),在大規(guī)模語料處理和多關(guān)系抽取的人物中有明顯的優(yōu)勢。在下面的章節(jié)中,我們來更詳細地了解這兩種方法的實現(xiàn)與應(yīng)用。

  DeepDive 系統(tǒng)介紹

  DeepDive 概述

  DeepDive (http://deepdive.stanford.edu/) 是斯坦福大學(xué)開發(fā)的信息抽取系統(tǒng),能處理文本、表格、圖表、圖片等多種格式的無結(jié)構(gòu)數(shù)據(jù),從中抽取結(jié)構(gòu)化的信息。系統(tǒng)集成了文件分析、信息提取、信息整合、概率預(yù)測等功能。Deepdive 的主要應(yīng)用是特定領(lǐng)域的信息抽取,系統(tǒng)構(gòu)建至今,已在交通、考古、地理、醫(yī)療等多個領(lǐng)域的項目實踐中取得了良好的效果;在開放領(lǐng)域的應(yīng)用,如 TAC-KBP 競賽、維基百科的 infobox 信息自動增補等項目中也有不錯的表現(xiàn)。

  DeepDive 系統(tǒng)的基本輸入包括:

  • 無結(jié)構(gòu)數(shù)據(jù),如自然語言文本
  • 現(xiàn)有知識庫或知識圖譜中的相關(guān)知識
  • 若干啟發(fā)式規(guī)則

  DeepDive 系統(tǒng)的基本輸出包括:

  • 規(guī)定形式的結(jié)構(gòu)化知識,可以為關(guān)系(實體1,實體2)或者屬性(實體,屬性值)等形式
  • 對每一條提取信息的概率預(yù)測

  DeepDive 系統(tǒng)運行過程中還包括一個重要的迭代環(huán)節(jié),即每輪輸出生成后,用戶需要對運行結(jié)果進行錯誤分析,通過特征調(diào)整、更新知識庫信息、修改規(guī)則等手段干預(yù)系統(tǒng)的學(xué)習(xí),這樣的交互與迭代計算能使得系統(tǒng)的輸出不斷得到改進。

  DeepDive 系統(tǒng)架構(gòu)和工作流程

  DeepDive 的系統(tǒng)架構(gòu)如下圖所示,大致分為數(shù)據(jù)處理、數(shù)據(jù)標注、學(xué)習(xí)推理和交互迭代四個流程:

  數(shù)據(jù)處理

  1、 輸入與切分

  在數(shù)據(jù)處理流程中,DeepDive 首先接收用戶的輸入數(shù)據(jù),通常是自然語言文本,以句子為單位進行切分。同時自動生成文本 id 和每個句子在文本中的 index。doc_id + sentence_index 構(gòu)成了每個句子的全局唯一標識。

  2、 NLP 標注

  對于每個切分好的句子,DeepDive 會使用內(nèi)嵌的 Stanford CoreNLP 工具進行自然語言處理和標注,包括 token 切分,詞根還原、POS 標注、NER 標注、token 在文本中的起始位置標注、依存文法分析等。

  3、 候選實體對提取

  根據(jù)需要抽取的實體類型和 NER 結(jié)果,首先對實體 mentions 進行定位和提取,而后根據(jù)一定的配對規(guī)則生成候選實體對。需要特別注意,在 DeepDive 中,每一個實體 mention 的標定都是全局唯一的,由 doc_id、sentence_index 以及該 mention 在句子中的起始和結(jié)束位置共同標識。因此,不同位置出現(xiàn)的同名的實體對(E1,E2)將擁有不同的(E1_id,E2_id),最終的預(yù)測結(jié)果也將不同。

  4、 特征提取

  該步驟的目的是將每一個候選實體對用一組特征表示出來,以便后續(xù)的機器學(xué)習(xí)模塊能夠?qū)W習(xí)到每個特征與所要預(yù)測關(guān)系的相關(guān)性。Deepdive 內(nèi)含自動特征生成模塊 DDlib,主要提取基于上下文的語義特征,例如兩個實體 mention 間的 token sequence、NER tag sequence、實體前后的n-gram 等。Deepdive 也支持用戶自定義的特征提取算法。

  數(shù)據(jù)標注  

  在數(shù)據(jù)標注階段,我們得到了候選實體對以及它們對應(yīng)的特征集合。在數(shù)據(jù)標注階段,我們將運用遠程監(jiān)督算法和啟發(fā)式規(guī)則,對每個候選實體對進行 label 標注,得到機器學(xué)習(xí)所需的正例和負例樣本。

  1、 遠程監(jiān)督

  實現(xiàn)遠程監(jiān)督標注,首先需要從已知的知識庫或知識圖譜中獲取相關(guān)的三元組。以婚姻關(guān)系為例,DeepDive 從 DBpedia 中獲取已有的夫妻實體對。若候選實體對能在已知的夫妻實體對中找到匹配映射時,該候選對標記為正例。負例的標注針對需要抽取的不同關(guān)系有不同的可選方法。例如可以將沒有在知識庫中出現(xiàn)的實體對標注為負例,但在知識庫收入不完整的情況下該方法會引入噪音負例;也可以用知識庫中互斥關(guān)系下的實例來做負例標注,例如父母-子女關(guān)系,兄弟姐妹關(guān)系,都與婚姻關(guān)系互斥,用于標注負例基本不會引入噪音。

  2、 啟發(fā)式規(guī)則

  正負樣本的標注還可以通過用戶編寫啟發(fā)式規(guī)則來實現(xiàn)。以抽取婚姻關(guān)系為例,可以定義如下規(guī)則:

  • Candidates with person mentions that are too far apart in the sentence are marked as false.
  • Candidates with person mentions that have another person in between are marked as false.
  • Candidates with person mentions that have words like "wife" or "husband" in between are marked as true.

  用戶可以通過預(yù)留的 user defined function 接口,對啟發(fā)式規(guī)則進行編寫和修改。

  3、 Label 沖突的解決

  當(dāng)遠程監(jiān)督生成和啟發(fā)式規(guī)則生成的 label 沖突,或不同規(guī)則生成的 label 產(chǎn)生沖突時,DeepDive 采用 majority vote 算法進行解決。例如,一個候選對在 DBpedia 中找到了映射,label 為1,同時又滿足 2 中第 2 條規(guī)則,得到 label 為-1,majority vote 對所有 label 求和:sum = 1 - 1 = 0,最終得到的 label 為 doubt。

  學(xué)習(xí)與推理

  通過數(shù)據(jù)標注得到訓(xùn)練集后,在學(xué)習(xí)與推理階段,Deepdive 主要通過基于因子圖模型的推理,學(xué)習(xí)特征的權(quán)重,并最終得到對候選三元組為真的概率預(yù)測值。

  因子圖是一種概率圖模型,用于表征變量和變量間的函數(shù)關(guān)系,借助因子圖可以進行權(quán)重的學(xué)習(xí)和邊緣概率的推算。DeepDive 系統(tǒng)中,因子圖的頂點有兩種,一種是隨機變量,即提取的候選實體對,另一種是隨機變量的函數(shù),即所有的特征和根據(jù)規(guī)則得到的函數(shù),比方兩個實體間的距離是否大于一定閾值等。因子圖的邊表示了實體對和特征及規(guī)則的關(guān)聯(lián)關(guān)系。

  當(dāng)訓(xùn)練文本的規(guī)模很大,涉及的實體眾多時,生成的因子圖可能非常復(fù)雜龐大,DeepDive 采用吉布斯采樣(Gibbs sampling)進行來簡化基于圖的概率推算。在特征權(quán)重的學(xué)習(xí)中,采用標準的 SGD 過程,并根據(jù)吉布斯采樣的結(jié)果預(yù)測梯度值。為了使特征權(quán)重的獲得更靈活合理,除了系統(tǒng)默認的推理過程,用戶還可以通過直接賦值來調(diào)整某個特征的權(quán)重。篇幅關(guān)系,更詳細的學(xué)習(xí)與推理過程本文不做展開介紹,更多的信息可參考 DeepDive 的官網(wǎng)。

  交互迭代

  迭代階段保證通過一定的人工干預(yù)對系統(tǒng)的錯誤進行糾正,從而使得系統(tǒng)的準召率不斷提升。交互迭代一般包括以下幾個步驟:

  1、 準召率的快速估算

  • 準確率:在P集中隨機挑選 100 個,看為 TP 的比例。
  • 召回率:在輸入集中隨機挑選 100 個 positive case,看有多少個落在計算出的P集中。

  2、 錯誤分類與歸納

  將得到的每個 extraction failure(包括 FP 和 FN)按錯誤原因進行分類和歸納,并按錯誤發(fā)生的頻率進行排序,一般而言,最主要錯誤原因包括:

  • 在候選集生成階段沒有捕獲應(yīng)捕獲的實體,一般是 token 切分、token 拼接或 NER 問題
  • 特征獲取問題,沒能獲取到區(qū)分度高的特征
  • 特征計算問題,區(qū)分度高的特征在訓(xùn)練中沒有獲得相應(yīng)的高分(包括正負高分)

  3、 錯誤修正

  根據(jù)錯誤原因,通過添加或修改規(guī)則、對特征進行添加或刪除、對特征的權(quán)重進行調(diào)整等行為,調(diào)整系統(tǒng),重新運行修改后的相應(yīng)流程,得到新的計算結(jié)果。

  神馬知識圖譜構(gòu)建中的 DeepDive 應(yīng)用與改進

  在了解了 DeepDive 的工作流程之后,本章將介紹我們?nèi)绾卧谏耨R知識圖譜的數(shù)據(jù)構(gòu)建業(yè)務(wù)中使用 DeepDive。為了充分利用語料信息、提高系統(tǒng)運行效率,我們在語料處理和標注、輸入規(guī)模的控制、輸入質(zhì)量的提升等環(huán)節(jié),對 DeepDive 做了一些改進,并將這些改進成功運用到業(yè)務(wù)落地的過程中。

  中文 NLP 標注

  NLP 標注是數(shù)據(jù)處理的一個重要環(huán)節(jié)。DeepDive 自帶的 Stanford CoreNLP 工具主要是針對英文的處理,而在知識圖譜的應(yīng)用中,主要的處理需求是針對中文的。因此,我們開發(fā)了中文 NLP 標注的外部流程來取代 CoreNLP,主要變動如下:

  • 使用 Ali 分詞代替 CoreNLP 的 token 切分,刪除詞根還原、POS 標注和依存文法分析,保留 NER 標注和 token 在文本中的起始位置標注。
  • token 切分由以詞為單位,改為以實體為單位。在 NER 環(huán)節(jié),將 Ali 分詞切碎的 token 以實體為粒度重新組合。例如分詞結(jié)果“華盛頓”、“州立”、“大學(xué)”將被組合為“華盛頓州立大學(xué)”,并作為一個完整的實體獲得“University”的 NER 標簽。
  • 長句的切分:文本中的某些段落可能因為缺少正確的標點或包含眾多并列項等原因,出現(xiàn)切分后的句子長度超過一定閾值(如 200 個中文字符)的情況,使 NER 步驟耗時過長。這種情況將按預(yù)定義的一系列規(guī)則進行重新切分。

  主語自動增補

  數(shù)據(jù)處理環(huán)節(jié)的另一個改進是添加了主語自動補充的流程。以中文百科文本為例,統(tǒng)計發(fā)現(xiàn),有將近 40% 的句子缺少主語。如下圖劉德華的百科介紹,第二段中所有句子均缺少主語。

  主語的缺失很多時候直接意味著候選實體對中其中一個實體的缺失,這將導(dǎo)致系統(tǒng)對大量含有有用信息的句子無法進行學(xué)習(xí),嚴重影響系統(tǒng)的準確率和召回率。主語的自動補充涉及兩方面的判斷:

  • 主語缺失的判斷
  • 缺失主語的添加

  由于目前業(yè)務(wù)應(yīng)用中涉及的絕大多數(shù)是百科文本,缺失主語的添加采用了比較簡單的策略,即從當(dāng)前句的上一句提取主語,如果上一句也缺失主語,則將百科標題的 NER 結(jié)果作為要添加的主語。主語缺失的判斷相對復(fù)雜,目前主要采用基于規(guī)則的方法。假設(shè)需要提取的候選對(E1, E2)對應(yīng)的實體類型為(T1, T2),則判定流程如下圖所示:

  具體的主語補充實例和處理過程舉例如下:

  以百科文本為例,經(jīng)實驗統(tǒng)計,上述主語自動補充算法的準確率大約在 92%。從關(guān)系抽取的結(jié)果來看,在所有的錯誤抽取 case 中,由主語增補導(dǎo)致的錯誤比例不超過2%。

  基于關(guān)系相關(guān)關(guān)鍵詞的輸入過濾

  DeepDive 是一個機器學(xué)習(xí)系統(tǒng),輸入集的大小直接影響系統(tǒng)的運行時間,尤其在耗時較長的特征計算和學(xué)習(xí)推理步驟。在保證系統(tǒng)召回率的前提下,合理減小輸入集規(guī)模能有效提升系統(tǒng)的運行效率。

  假設(shè)需要提取的三元組為R(E1, E2)且(E1, E2)對應(yīng)的實體類型為(T1, T2)。DeepDive 的默認運行機制是:在數(shù)據(jù)處理階段,提取所有滿足類型為(T1,T2)的實體對作為候選,不考慮上下文是否有表達關(guān)系R的可能性。例如,抽取婚姻關(guān)系時,只要一個句子中出現(xiàn)大于等于兩個的人物實體,該句子就會作為輸入?yún)⑴c系統(tǒng)整個數(shù)據(jù)處理、標注和學(xué)習(xí)的過程。以下五個例句中,除了句1,其它 4 句完全不涉及婚姻關(guān)系:

  尤其當(dāng)句中的兩個人物實體無法通過遠程監(jiān)督獲取正例或負例標簽時,此類輸入無法在學(xué)習(xí)環(huán)節(jié)為系統(tǒng)的準確率帶來增益。為減小此類輸入帶來的系統(tǒng)運行時間損耗,我們提出了以下改進算法:

  實驗證明,利用改進算法得到的輸入集規(guī)模有顯著的減小,以百科文本的抽取為例,婚姻關(guān)系的輸入集可縮小至原輸入集的 13%,人物和畢業(yè)院校關(guān)系的輸入集可縮小至原輸入集的 36%。輸入集的縮小能顯著減少系統(tǒng)運行時間,且實驗證明,排除了大量 doubt 標注實體候選對的干擾,系統(tǒng)的準確率也有較大幅度的提升。

  需要指出的是,雖然在輸入環(huán)節(jié)通過關(guān)系相關(guān)關(guān)鍵詞進行過濾減小輸入規(guī)模,能最有效地提高系統(tǒng)運行效率(因為跳過了包含特征提取在內(nèi)的所有后續(xù)計算步驟),但該環(huán)節(jié)的過濾是以句子為單位,而非作用于抽取的候選實體對。來看一個婚姻關(guān)系提取的多人物示例:

  • 除了孫楠、那英等表演嘉賓盛裝出席外,擔(dān)任本場音樂會監(jiān)制的華誼兄弟總裁王中磊先生、馮小剛導(dǎo)演和夫人徐帆,以及葛優(yōu)、宋丹丹、李冰冰等演藝明星也一一現(xiàn)身紅毯,到場支持此次音樂會。

  因為含有婚姻關(guān)系相關(guān)的關(guān)鍵詞“夫人”,該句子將被保留為系統(tǒng)輸入。從該句提取的多個人物候選實體對需要依靠更完善的啟發(fā)式規(guī)則來完成進一步的標注和過濾。

  實體對到多實體的擴展  

  關(guān)系抽取的絕大部分任務(wù)僅涉及三元組的抽取。三元組一般有兩種形式,一種是兩個實體具有某種關(guān)系,形如R(E1, E2),例如:婚姻關(guān)系(劉德華,朱麗倩);另一種是實體的屬性值,形如P(E,V),例如:身高(劉德華,1.74 米)。DeepDive 默認的關(guān)系抽取模式都是基于三元組的。但在實際應(yīng)用中,有很多復(fù)雜的關(guān)系用三元組難以完整表達,例如,人物的教育經(jīng)歷,包括人物、人物的畢業(yè)院校、所學(xué)專業(yè)、取得學(xué)位、畢業(yè)時間等。這些復(fù)雜的多實體關(guān)系在神馬知識圖譜中用復(fù)合類型來表示。因此,為使抽取任務(wù)能兼容復(fù)合類型的構(gòu)建時,我們對 DeepDive 的代碼做了一些修改,將候選實體對的提取,擴展為候選實體組的提取。代碼修改涉及主抽取模塊中的 app.ddlog、底層用于特征自動生成的 DDlib 和 udf 中的 map_entity_mention.py、extract_relation_features.py 等文件。下圖展示了一個擴展后的實體組抽取實例,抽取關(guān)系為(人物、所在機構(gòu)、職位):

  應(yīng)用 DeepDive 的數(shù)據(jù)構(gòu)建工作

  本節(jié)首先給出一個輸入示例以及該示例在 DeepDive 運行過程中每一步的輸出結(jié)果,如下圖所示。通過這個示例,我們可以對 DeepDive 各模塊的功能和輸出有更直觀的認識。

  為了更詳細地了解 DeepDive 的應(yīng)用和改進算法的效果,以下我們給出一個具體的婚姻關(guān)系抽取任務(wù)的相關(guān)運行數(shù)據(jù)。

  下表顯示了該抽取任務(wù)在數(shù)據(jù)處理階段各步驟的的耗時和產(chǎn)出數(shù)量:

  在數(shù)據(jù)標注的遠程監(jiān)督階段,我們除了使用知識圖譜中已有的夫妻關(guān)系做正例標注,還使用了已有的父母-子女關(guān)系和兄弟姐妹關(guān)系做負例標注,得到正例數(shù)千個,正負標注候選實體的比例約為1:2。


  在 DeepDive 系統(tǒng)中,遠程監(jiān)督的 wrong label problem 可以依靠合理編寫的啟發(fā)式規(guī)則得到一定程度的糾正。觀察婚姻關(guān)系的 wrong label 樣例,我們發(fā)現(xiàn)較大比例的 wrong label 是夫妻實體以某種合作形式(如合作演出、合作演唱、合作著書等)共現(xiàn)在一個句子中,夫妻實體有一個出現(xiàn)在書名號中時,也容易發(fā)生誤判。例如:

  類似的觀察和總結(jié)可以編寫成啟發(fā)式規(guī)則,依靠從規(guī)則得到的負標注抵償遠程監(jiān)督得到的正標注,減小系統(tǒng)在學(xué)習(xí)和推理時的偏差。

  雖然啟發(fā)式規(guī)則的編寫大多依靠專家知識或人工經(jīng)驗完成,但規(guī)則的完善和擴充可以依靠某些自動機制來輔助實現(xiàn)。例如,規(guī)則定義:句中出現(xiàn)“P_1 和P_2 結(jié)婚”,則(P_1,P_2)得到正標注。根據(jù)對“和”和“結(jié)婚”等 token 的擴展,我們可以得到“P_1 與P_2 結(jié)婚”、“P_1 和 P2 婚后”、“P_1 和P_2 的婚禮”等類似應(yīng)該標注為正的語境。這里,token 的擴展可以通過 word2vec 算法加人工過濾實現(xiàn)。下表給出了該抽取任務(wù)中用到的規(guī)則和相應(yīng)的統(tǒng)計數(shù)據(jù)。整個數(shù)據(jù)標注過程耗為 14m21s。

  學(xué)習(xí)與推理過程耗時約 38m50s。我們隨機截取了部分知識圖譜未收錄的預(yù)測實體對的輸出結(jié)果展示如下

  對于系統(tǒng)的準確率,我們?nèi)?expectation 為 [0.95,1][0.95,1] 區(qū)間內(nèi)的輸出結(jié)果進行分段統(tǒng)計,統(tǒng)計結(jié)果如下列圖表所示:

  對系統(tǒng)預(yù)測的錯誤樣例進行分析,我們總結(jié)了幾種錯誤類型,下表按照出現(xiàn)頻率從高到低,給出了錯誤描述和錯誤示例:

  系統(tǒng)召回率的計算相比準確率的計算更為復(fù)雜,在語料規(guī)模較大的情況下,準確估算召回率將耗費大量的人力。我們采用了抽樣檢測的方式來估算召回率,具體實踐了以下三種方法(統(tǒng)計中 expectation 均取>=0.95):

  • 抽樣含有某個指定實體的所有 sentences,計算召回:含實體 “楊冪” 的 sentences 共 78 例,含 (楊冪, 劉愷威)實體對的 sentences 共 13 例,人工判斷其中 9 例描述了該實體對的婚姻關(guān)系,其中 5 例被召回,召回率為 0.556。
  • 用于遠程監(jiān)督正例標注的知識圖譜實體對超過 4000 對,統(tǒng)計表明,其中 42.7% 的實體對出現(xiàn)在了語料中,26.5% 的實體對被召回,召回率為 0.621。
  • 輸入集隨機挑選 100 例 positive cases,其中 49 例的 expectation 值>=0.95, 召回率為 0.49。

  基于 DeepDive 的關(guān)系抽取研究目前已較為完整,并已經(jīng)在神馬知識圖譜的構(gòu)建業(yè)務(wù)中落地。目前在數(shù)據(jù)構(gòu)建中的應(yīng)用涉及人物、歷史、組織機構(gòu)、圖書、影視等多個核心領(lǐng)域,已抽取關(guān)系包括人物的父母、子女、兄弟姐妹、婚姻、歷史事件及人物的合稱、圖書的作者、影視作品的導(dǎo)演和演員、人物的畢業(yè)院校和就業(yè)單位等。以百科全量語料為例,每個關(guān)系抽取任務(wù)候選 sentence 集合的規(guī)模在 80w 至 1000w,經(jīng)改進算法過濾,輸入規(guī)模在 15w 至 200w 之間,生成的候選實體對規(guī)模在 30w 至 500w 之間。系統(tǒng)每輪迭代運行的時間在 1 小時至 8 小時之間,約經(jīng)過3-4 輪迭代可產(chǎn)出準確率和召回率都較高的數(shù)據(jù)給運營審核環(huán)節(jié)。系統(tǒng)運行至今,已累計產(chǎn)出候選三元組近 3 千萬。

  除此之外,基于深度學(xué)習(xí)模型的關(guān)系抽取技術(shù)及其在神馬知識圖譜數(shù)據(jù)構(gòu)建中的應(yīng)用,我們也在不斷探索和實踐。明天,阿里妹將繼續(xù)為大家介紹相關(guān)的技術(shù)進展和業(yè)務(wù)落地過程中遇到的一些挑戰(zhàn),敬請關(guān)注哦。

  參考文獻

  [1]. 林衍凱、劉知遠,基于深度學(xué)習(xí)的關(guān)系抽取

  [2]. Daojian Zeng, Kang Liu, Yubo Chen, and Jun Zhao. 2015. Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks. In EMNLP. 1753–1762.

  [3]. Guoliang Ji, Kang Liu, Shizhu He, Jun Zhao. 2017. Distant Supervision for Relation Extraction with Sentence-Level Attention and Entity Descriptions. Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence

  [4]. Siliang Tang, Jinjian Zhang, Ning Zhang, Fei Wu, Jun Xiao, Yueting Zhuang. 2017. ENCORE: External Neural Constraints Regularized Distant Supervision for Relation Extraction. SIGIR'17

  [5]. Zeng, D.; Liu, K.; Chen, Y.; and Zhao, J. 2015. Distant supervision for relation extraction via piecewise convolutional neural networks. EMNLP.

  [6]. Riedel, S.; Yao, L.; and McCallum, A. 2010. Modeling relations and their mentions without labeled text. In Machine Learning and Knowledge Discovery in Databases. Springer. 148–163.

  [7]. Ce Zhang. 2015. DeepDive: A Data Management System for Automatic Knowledge Base Construction. PhD thesis.

  [8]. Hoffmann, R.; Zhang, C.; Ling, X.; Zettlemoyer, L.; and Weld, D. S. 2011. Knowledge-based weak supervision for information extraction of overlapping relations. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1, 541–550. Association for Computational Linguistics.

  [9]. Surdeanu, M.; Tibshirani, J.; Nallapati, R.; and Manning, C. D. 2012. Multi-instance multi-label learning for relation extraction. In Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, 455–465. Association for Computational Linguistics.

  [10]. Shingo Takamatsu, Issei Sato and Hiroshi Nakagawa. 2012. Reducing Wrong Labels in Distant Supervision for Relation Extraction. Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, pages 721–729

  [11]. Zeng, D.; Liu, K.; Lai, S.; Zhou, G.; Zhao, J.; et al. 2014. Relation classification via convolutional deep neural network. In COLING, 2335–2344.

  [12]. Ce zhang, Cheistopher Re; et al. 2017. Communications of the ACM CACM Homepage archive Volume 60 Issue 5, Pages 93-102

  [13]. Mintz, M.; Bills, S.; Snow, R.; and Jurafsky, D. 2009. Distant supervision for relation extraction without labeled data. In Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2, 1003–1011. Association for Computational Linguistics.
[14]. http://deepdive.stanford.edu/

責(zé)任編輯:張燕妮 來源: 阿里技術(shù)
相關(guān)推薦

2020-10-15 09:00:00

Python編程語言

2022-03-16 10:14:55

C語言C++

2024-10-08 10:37:12

語言數(shù)據(jù)自然語言

2018-09-29 09:47:41

開源分布式數(shù)據(jù)庫

2022-08-11 14:11:14

知識圖譜人工智能

2019-05-07 10:01:49

Redis軟件開發(fā)

2022-01-14 09:40:12

語言指針代碼

2020-09-22 14:52:33

華為禁令開發(fā)

2021-01-18 10:42:36

深度學(xué)習(xí)知識圖譜

2020-11-13 15:38:12

深度學(xué)習(xí)編程人工智能

2017-03-06 16:48:56

知識圖譜構(gòu)建存儲

2021-01-19 10:52:15

知識圖譜

2025-04-27 00:10:00

AI人工智能知識圖譜

2021-01-25 10:36:32

知識圖譜人工智能

2020-03-12 11:52:04

工業(yè)互聯(lián)網(wǎng)新基建物聯(lián)網(wǎng)

2023-04-26 06:22:45

NLPPython知識圖譜

2023-10-17 07:54:43

AI算法

2021-01-19 10:16:00

AI大數(shù)據(jù)知識圖譜

2021-01-18 10:50:29

知識圖譜人工智能深度學(xué)習(xí)

2017-04-13 11:48:05

NLP知識圖譜
點贊
收藏

51CTO技術(shù)棧公眾號