日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

徐阿衡 | 知识抽取-实体及关系抽取(一)

發(fā)布時(shí)間:2024/7/5 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 徐阿衡 | 知识抽取-实体及关系抽取(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文轉(zhuǎn)載自公眾號(hào):徐阿衡。



這一篇是關(guān)于知識(shí)抽取,整理并補(bǔ)充了上學(xué)時(shí)的兩篇筆記 NLP筆記 - Information Extraction 和 NLP筆記 - Relation Extraction,梳理了知識(shí)抽取的基本方法,包括傳統(tǒng)機(jī)器學(xué)習(xí)及經(jīng)典的深度學(xué)習(xí)方法。

知識(shí)抽取涉及的“知識(shí)”通常是 清楚的、事實(shí)性的信息,這些信息來(lái)自不同的來(lái)源和結(jié)構(gòu),而對(duì)不同數(shù)據(jù)源進(jìn)行的知識(shí)抽取的方法各有不同,從結(jié)構(gòu)化數(shù)據(jù)中獲取知識(shí)用 D2R,其難點(diǎn)在于復(fù)雜表數(shù)據(jù)的處理,包括嵌套表、多列、外鍵關(guān)聯(lián)等,從鏈接數(shù)據(jù)中獲取知識(shí)用圖映射,難點(diǎn)在于數(shù)據(jù)對(duì)齊,從半結(jié)構(gòu)化數(shù)據(jù)中獲取知識(shí)用包裝器,難點(diǎn)在于 wrapper 的自動(dòng)生成、更新和維護(hù),這一篇主要講從文本中獲取知識(shí),也就是我們廣義上說(shuō)的信息抽取。

信息抽取三個(gè)最重要/最受關(guān)注的子任務(wù):

  • 實(shí)體抽取
    也就是命名實(shí)體識(shí)別,包括實(shí)體的檢測(cè)(find)和分類(classify)

  • 關(guān)系抽取
    通常我們說(shuō)的三元組(triple) 抽取,一個(gè)謂詞(predicate)帶 2 個(gè)形參(argument),如 Founding-location(IBM,New York)

  • 事件抽取
    相當(dāng)于一種多元關(guān)系的抽取

篇幅限制,這一篇主要整理實(shí)體抽取和關(guān)系抽取,下一篇再上事件抽取。


1. 相關(guān)競(jìng)賽與數(shù)據(jù)集


信息抽取相關(guān)的會(huì)議/數(shù)據(jù)集有 MUC、ACE、KBP、SemEval 等。其中,ACE(Automated Content Extraction) 對(duì) MUC 定義的任務(wù)進(jìn)行了融合、分類和細(xì)化,KBP(Knowledge Base Population) 對(duì) ACE 定義的任務(wù)進(jìn)一步修訂,分了四個(gè)獨(dú)立任務(wù)和一個(gè)整合任務(wù),包括

  • Cold Start KB (CSKB)
    端到端的冷啟動(dòng)知識(shí)構(gòu)建

  • Entity Discovery and Linking (EDL)
    實(shí)體發(fā)現(xiàn)與鏈接

  • Slot Filling (SF)
    槽填充

  • Event
    事件抽取

  • Belief/Sentiment (BeSt)
    信念和情感

至于 SemEval 主要是詞義消歧評(píng)測(cè),目的是增加人們對(duì)詞義、多義現(xiàn)象的理解。

ACE 的 17 類關(guān)系

具體的應(yīng)用實(shí)例

常用的 Freebase relations

還有的一些世界范圍內(nèi)知名的高質(zhì)量大規(guī)模開放知識(shí)圖譜,如包括 DBpedia、Yago、Wikidata、BabelNet、ConceptNet 以及 Microsoft Concept Graph等,中文的有開放知識(shí)圖譜平臺(tái) OpenKG……


2. 實(shí)體抽取


實(shí)體抽取或者說(shuō)命名實(shí)體識(shí)別(NER)在信息抽取中扮演著重要角色,主要抽取的是文本中的原子信息元素,如人名、組織/機(jī)構(gòu)名、地理位置、事件/日期、字符值、金額值等。實(shí)體抽取任務(wù)有兩個(gè)關(guān)鍵詞:find & classify,找到命名實(shí)體,并進(jìn)行分類。

主要應(yīng)用:

  • 命名實(shí)體作為索引和超鏈接

  • 情感分析的準(zhǔn)備步驟,在情感分析的文本中需要識(shí)別公司和產(chǎn)品,才能進(jìn)一步為情感詞歸類

  • 關(guān)系抽取(Relation Extraction)的準(zhǔn)備步驟

  • QA 系統(tǒng),大多數(shù)答案都是命名實(shí)體


2.1 傳統(tǒng)機(jī)器學(xué)習(xí)方法


標(biāo)準(zhǔn)流程:
Training:

  • 收集代表性的訓(xùn)練文檔

  • 為每個(gè) token 標(biāo)記命名實(shí)體(不屬于任何實(shí)體就標(biāo) Others O)

  • 設(shè)計(jì)適合該文本和類別的特征提取方法

  • 訓(xùn)練一個(gè) sequence classifier 來(lái)預(yù)測(cè)數(shù)據(jù)的 label

  • Testing:

  • 收集測(cè)試文檔

  • 運(yùn)行 sequence classifier 給每個(gè) token 做標(biāo)記

  • 輸出命名實(shí)體


  • 2.1.1 編碼方式


    看一下最常用的兩種 sequence labeling 的編碼方式,IO encoding 簡(jiǎn)單的為每個(gè) token 標(biāo)注,如果不是 NE 就標(biāo)為 O(other),所以一共需要 C+1 個(gè)類別(label)。而 IOB encoding 需要 2C+1 個(gè)類別(label),因?yàn)樗鼧?biāo)了 NE boundary,B 代表 begining,NE 開始的位置,I 代表 continue,承接上一個(gè) NE,如果連續(xù)出現(xiàn)兩個(gè) B,自然就表示上一個(gè) B 已經(jīng)結(jié)束了。

    在 Stanford NER 里,用的其實(shí)是 IO encoding,有兩個(gè)原因,一是 IO encoding 運(yùn)行速度更快,二是在實(shí)踐中,兩種編碼方式的效果差不多。IO encoding 確定 boundary 的依據(jù)是,如果有連續(xù)的 token 類別不為 O,那么類別相同,同屬一個(gè) NE;類別不相同,就分割,相同的 sequence 屬同一個(gè) NE。而實(shí)際上,兩個(gè) NE 是相同類別這樣的現(xiàn)象出現(xiàn)的很少,如上面的例子,Sue,Mengqiu Huang 兩個(gè)同是 PER 類別,并不多見,更重要的是,在實(shí)踐中,雖然 IOB encoding 能規(guī)定 boundary,而實(shí)際上它也很少能做對(duì),它也會(huì)把 Sue Mengqiu Huang 分為同一個(gè) PER,這主要是因?yàn)楦嗟念悇e會(huì)帶來(lái)數(shù)據(jù)的稀疏。


    2.1.2 特征選擇


    Features for sequence labeling:

    再來(lái)看兩個(gè)比較重要的 feature

    Word substrings
    Word substrings (包括前后綴)的作用是很大的,以下面的例子為例,NE 中間有 ‘oxa’ 的十有八九是 drug,NE 中間有 ‘:’ 的則大多都是 movie,而以 field 結(jié)尾的 NE 往往是 place。

    Word shapes
    可以做一個(gè) mapping,把 單詞長(zhǎng)度(length)、大寫(capitalization)、數(shù)字(numerals)、希臘字母(Greek eltters)、單詞內(nèi)部標(biāo)點(diǎn)(internal punctuation) 這些字本身的特征都考慮進(jìn)去。
    如下表,把所有大寫字母映射為 X,小寫字母映射為 x,數(shù)字映射為 d…

    2.1.3 序列模型


    NLP 的很多數(shù)據(jù)都是序列類型,像 sequence of characters, words, phrases, lines, sentences,我們可以把這些任務(wù)當(dāng)做是給每一個(gè) item 打標(biāo)簽,如下圖:

    常見的序列模型有 有向圖模型 如 HMM,假設(shè)特征之間相互獨(dú)立,找到使得 P(X,Y) 最大的參數(shù),生成式模型;無(wú)向圖模型 如 CRF,沒(méi)有特征獨(dú)立的假設(shè),找到使得 P(Y|X) 最大的參數(shù),判別式模型。相對(duì)而言,CRF 優(yōu)化的是聯(lián)合概率(整個(gè)序列,實(shí)際就是最終目標(biāo)),而不是每個(gè)時(shí)刻最優(yōu)點(diǎn)的拼接,一般而言性能比 CRF 要好,在小數(shù)據(jù)上擬合也會(huì)更好。

    整個(gè)流程如圖所示:

    討論下最后的 inference

    最基礎(chǔ)的是 “decide one sequence at a time and move on”,也就是一個(gè) greedy inference,比如在詞性標(biāo)注中,可能模型在位置 2 的時(shí)候挑了當(dāng)前最好的 PoS tag,但是到了位置 4 的時(shí)候,其實(shí)發(fā)現(xiàn)位置 2 應(yīng)該有更好的選擇,然而,greedy inference 并不會(huì) care 這些。因?yàn)樗秦澙返?#xff0c;只要當(dāng)前最好就行了。除了 greedy inference,比較常見的還有 beam inference 和 viterbi inference。


    2.1.3.1 Greedy Inference


    優(yōu)點(diǎn):

  • 速度快,沒(méi)有額外的內(nèi)存要求

  • 非常易于實(shí)現(xiàn)

  • 有很豐富的特征,表現(xiàn)不錯(cuò)

  • 缺點(diǎn):

  • 貪婪


  • 2.1.3.2 Beam Inference


    • 在每一個(gè)位置,都保留 top k 種可能(當(dāng)前的完整序列)

    • 在每個(gè)狀態(tài)下,考慮上一步保存的序列來(lái)進(jìn)行推進(jìn)

    優(yōu)點(diǎn):

  • 速度快,沒(méi)有額外的內(nèi)存要求

  • 易于實(shí)現(xiàn)(不用動(dòng)態(tài)規(guī)劃)

  • 缺點(diǎn):

  • 不精確,不能保證找到全局最優(yōu)


  • 2.1.3.3 Viterbi Inference


    • 動(dòng)態(tài)規(guī)劃

    • 需要維護(hù)一個(gè) fix small window

    優(yōu)點(diǎn):

  • 非常精確,能保證找到全局最優(yōu)序列

  • 缺點(diǎn):

  • 難以實(shí)現(xiàn)遠(yuǎn)距離的 state-state interaction


  • 2.2 深度學(xué)習(xí)方法


    2.2.1 LSTM+CRF


    最經(jīng)典的 LSTM+CRF,端到端的判別式模型,LSTM 利用過(guò)去的輸入特征,CRF 利用句子級(jí)的標(biāo)注信息,可以有效地使用過(guò)去和未來(lái)的標(biāo)注來(lái)預(yù)測(cè)當(dāng)前的標(biāo)注。


    2.3 評(píng)價(jià)指標(biāo)


    評(píng)估 IR 系統(tǒng)或者文本分類的任務(wù),我們通常會(huì)用到 precision,recall,F1 這種 set-based metrics,見信息檢索評(píng)價(jià)的 Unranked Boolean Retrieval Model 部分,但是在這里對(duì) NER 這種 sequence 類型任務(wù)的評(píng)估,如果用這些 metrics,可能出現(xiàn) boundary error 之類的問(wèn)題。因?yàn)?NER 的評(píng)估是按每個(gè) entity 而不是每個(gè) token 來(lái)計(jì)算的,我們需要看 entity 的 boundary。

    以下面一句話為例


    1

    First Bank of Chicago
    announced earnings...


    正確的 NE 應(yīng)該是 First Bank of Chicago,類別是 ORG,然而系統(tǒng)識(shí)別了 Bank of Chicago,類別 ORG,也就是說(shuō),右邊界(right boundary)是對(duì)的,但是左邊界(left boundary)是錯(cuò)誤的,這其實(shí)是一個(gè)常見的錯(cuò)誤。


    1

    2

    3

    4

    5

    正確的標(biāo)注:

    ORG - (1,4)

    系統(tǒng):

    ORG - (2,4)


    而計(jì)算 precision,recall 的時(shí)候,我們會(huì)發(fā)現(xiàn),對(duì) ORG - (1,4) 而言,系統(tǒng)產(chǎn)生了一個(gè) false negative,對(duì) ORG - (2,4) 而言,系統(tǒng)產(chǎn)生了一個(gè) false positive!所以系統(tǒng)有了 2 個(gè)錯(cuò)誤。F1 measure 對(duì) precision,recall 進(jìn)行加權(quán)平均,結(jié)果會(huì)更好一些,所以經(jīng)常用來(lái)作為 NER 任務(wù)的評(píng)估手段。另外,專家提出了別的建議,比如說(shuō)給出 partial credit,如 MUC scorer metric,然而,對(duì)哪種 case 給多少的 credit,也需要精心設(shè)計(jì)。


    2.4 其他-實(shí)體鏈接


    實(shí)體識(shí)別完成之后還需要進(jìn)行歸一化,比如萬(wàn)達(dá)集團(tuán)、大連萬(wàn)達(dá)集團(tuán)、萬(wàn)達(dá)集團(tuán)有限公司這些實(shí)體其實(shí)是可以融合的。

    主要步驟如下:

  • 實(shí)體識(shí)別
    命名實(shí)體識(shí)別,詞典匹配

  • 候選實(shí)體生成
    表層名字?jǐn)U展,搜索引擎,查詢實(shí)體引用表

  • 候選實(shí)體消歧
    圖方法,概率生成模型,主題模型,深度學(xué)習(xí)

  • 補(bǔ)充一些開源系統(tǒng):

    • http://acube.di.unipi.it/tagme

    • https://github.com/parthatalukdar/junto

    • http://orion.tw.rpi.edu/~zhengj3/wod/wikify.php

    • https://github.com/yahoo/FEL

    • https://github.com/yago-naga/aida

    • http://www.nzdl.org/wikification/about.html

    • http://aksw.org/Projects/AGDISTIS.html

    • https://github.com/dalab/pboh-entity-linking



    ?-End-


    原文鏈接:http://www.shuang0420.com/2018/09/15/%E7%9F%A5%E8%AF%86%E6%8A%BD%E5%8F%96-%E5%AE%9E%E4%BD%93%E5%8F%8A%E5%85%B3%E7%B3%BB%E6%8A%BD%E5%8F%96/



    OpenKG.CN


    中文開放知識(shí)圖譜(簡(jiǎn)稱OpenKG.CN)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識(shí)圖譜和語(yǔ)義技術(shù)的普及和廣泛應(yīng)用。

    點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。

    總結(jié)

    以上是生活随笔為你收集整理的徐阿衡 | 知识抽取-实体及关系抽取(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。