訂閱
糾錯(cuò)
加入自媒體

萬(wàn)字詳解:騰訊如何自研大規(guī)模知識(shí)圖譜 Topbase

導(dǎo)讀

Topbase 是由 TEG-AI 平臺(tái)部構(gòu)建并維護(hù)的一個(gè)專注于通用領(lǐng)域知識(shí)圖譜,其涉及 226 種概念類型,共計(jì) 1 億多實(shí)體,三元組數(shù)量達(dá) 22 億。在技術(shù)上,Topbase 支持圖譜的自動(dòng)構(gòu)建和數(shù)據(jù)的及時(shí)更新入庫(kù)。此外,Topbase 還連續(xù)兩次獲得過(guò)知識(shí)圖譜領(lǐng)域頂級(jí)賽事 KBP 的大獎(jiǎng)。

目前,Topbase 主要應(yīng)用在微信搜一搜,信息流推薦以及智能問(wèn)答產(chǎn)品。本文主要梳理 Topbase 構(gòu)建過(guò)程中的技術(shù)經(jīng)驗(yàn),從0到1地介紹了構(gòu)建過(guò)程中的重難點(diǎn)問(wèn)題以及相應(yīng)的解決方案,希望對(duì)圖譜建設(shè)者有一定的借鑒意義。

一、簡(jiǎn)介

知識(shí)圖譜( Knowledge Graph)以結(jié)構(gòu)化的形式描述客觀世界中概念、實(shí)體及其關(guān)系,便于計(jì)算機(jī)更好的管理、計(jì)算和理解互聯(lián)網(wǎng)海量信息。通常結(jié)構(gòu)化的知識(shí)是以圖形式進(jìn)行表示,圖的節(jié)點(diǎn)表示語(yǔ)義符號(hào)(實(shí)體,概念),圖的邊表示符號(hào)之間的語(yǔ)義關(guān)系(如圖 1 所示),此外每個(gè)實(shí)體還有一些非實(shí)體級(jí)別的邊(通常稱之為屬性),如:人物的出生日期,主要成就等。

圖1 知識(shí)圖譜的示列

TEG-AI 平臺(tái)部的 Topbase 是專注于通用領(lǐng)域知識(shí)。數(shù)據(jù)層面,TopBase 覆蓋 51 個(gè)領(lǐng)域的知識(shí),涉及 226 種概念類型,共計(jì) 1 億多個(gè)實(shí)體,三元組數(shù)量達(dá) 22 億多。技術(shù)層面,Topbase 已完成圖譜自動(dòng)構(gòu)建和更新的整套流程,支持重點(diǎn)網(wǎng)站的監(jiān)控,數(shù)據(jù)的及時(shí)更新入庫(kù),同時(shí)具備非結(jié)構(gòu)化數(shù)據(jù)的抽取能力。此外,Topbase 還連續(xù)兩次獲得過(guò)知識(shí)圖譜領(lǐng)域頂級(jí)賽事 KBP 的大獎(jiǎng),分別是 2017 年 KBP 實(shí)體鏈接的雙項(xiàng)冠軍,以及 2019 年 KBP 大賽第二名。在應(yīng)用層面,Topbase 主要服務(wù)于微信搜一搜,信息流推薦以及智能問(wèn)答產(chǎn)品。本文主要梳理 Topbase 構(gòu)建過(guò)程中的重要技術(shù)點(diǎn),介紹如何從 0 到 1 構(gòu)建一個(gè)知識(shí)圖譜,內(nèi)容較長(zhǎng),建議先收藏。

二、知識(shí)圖譜技術(shù)架構(gòu)

TopBase 的技術(shù)框架如圖 2 所示,主要包括知識(shí)圖譜體系構(gòu)建,數(shù)據(jù)生產(chǎn)流程,運(yùn)維監(jiān)控系統(tǒng)以及存儲(chǔ)查詢系統(tǒng)。其中知識(shí)圖譜體系是知識(shí)圖譜的骨架,決定了我們采用什么樣的方式來(lái)組織和表達(dá)知識(shí),數(shù)據(jù)生產(chǎn)流程是知識(shí)圖譜構(gòu)建的核心內(nèi)容,主要包括下載平臺(tái),抽取平臺(tái),知識(shí)規(guī)整模塊,知識(shí)融合模塊,知識(shí)推理模塊,實(shí)體重要度計(jì)算模塊等。Topbase 應(yīng)用層涉及知識(shí)問(wèn)答(基于 topbase 的 KB-QA 準(zhǔn)確率超 90%),實(shí)體鏈接(2017 圖譜頂級(jí)賽事 KBP 雙料冠軍),相關(guān)實(shí)體推薦等。

圖2 知識(shí)圖譜Topbase的技術(shù)框架

1.  下載平臺(tái)-知識(shí)更新:下載平臺(tái)是知識(shí)圖譜獲取源數(shù)據(jù)平臺(tái),其主要任務(wù)包括新實(shí)體的發(fā)現(xiàn)和新實(shí)體信息的下載。

2.  抽取平臺(tái)-知識(shí)抽。合螺d平臺(tái)只負(fù)責(zé)爬取到網(wǎng)頁(yè)的源代碼內(nèi)容,抽取平臺(tái)需要從這些源碼內(nèi)容中生成結(jié)構(gòu)化的知識(shí),供后續(xù)流程進(jìn)一步處理。

3.  知識(shí)規(guī)整:通過(guò)抽取平臺(tái)以及合作伙伴提供的數(shù)據(jù)我們可以得到大量的多源異構(gòu)數(shù)據(jù)。為了方便對(duì)多源數(shù)據(jù)進(jìn)行融合,知識(shí)規(guī)整環(huán)節(jié)需要對(duì)數(shù)據(jù)進(jìn)行規(guī)整處理,將各路數(shù)據(jù)映射到我們的知識(shí)體系中。

4.  知識(shí)融合:知識(shí)融合是對(duì)不同來(lái)源,不同結(jié)構(gòu)的數(shù)據(jù)進(jìn)行融合,其主要包括實(shí)體對(duì)齊和屬性融合。

5.  知識(shí)推理:由于處理數(shù)據(jù)的不完備性,上述流程構(gòu)建的知識(shí)圖譜會(huì)存在知識(shí)缺失現(xiàn)象(實(shí)體缺失,屬性缺失)。知識(shí)推理目的是利用已有的知識(shí)圖譜數(shù)據(jù)去推理缺失的知識(shí),從而將這些知識(shí)補(bǔ)全。此外,由于已獲取的數(shù)據(jù)中可能存在噪聲,所以知識(shí)推理還可以用于已有知識(shí)的噪聲檢測(cè),凈化圖譜數(shù)據(jù)。

6.  實(shí)體知名度計(jì)算:最后,我們需要對(duì)每一個(gè)實(shí)體計(jì)算一個(gè)重要性分?jǐn)?shù),這樣有助于更好的使用圖譜數(shù)據(jù)。比如:名字叫李娜的人物有網(wǎng)球運(yùn)動(dòng)員,歌手,作家等,如果用戶想通過(guò)圖譜查詢“李娜是誰(shuí)”那么圖譜應(yīng)該返回最知名的李娜(網(wǎng)球運(yùn)動(dòng)員)。

三、知識(shí)體系構(gòu)建

知識(shí)體系的構(gòu)建是指采用什么樣的方式來(lái)組織和表達(dá)知識(shí),核心是構(gòu)建一個(gè)本體(或 schema)對(duì)目標(biāo)知識(shí)進(jìn)行描述。在這個(gè)本體中需要定義:1)知識(shí)的類別體系(如:圖 1 中的人物類,娛樂(lè)人物,歌手等);2)各類別體系下實(shí)體間所具有的關(guān)系和實(shí)體自身所具有的屬性;3)不同關(guān)系或者屬性的定義域,值域等約束信息(如:出生日期的屬性值是 Date 類型,身高屬性值應(yīng)該是 Float 類型,簡(jiǎn)介應(yīng)該是 String 類型等)。我們構(gòu)建 Topbase 知識(shí)體系主要是以人工構(gòu)建和自動(dòng)挖掘的方式相結(jié)合,同時(shí)我們還大量借鑒現(xiàn)有的第三方知識(shí)體系或與之相關(guān)的資源,如:Schema.org、Dbpedia、大詞林、百科(搜狗)等。知識(shí)體系構(gòu)建的具體做法:

1.  首先是定義概念類別體系:

概念類別體系如圖 1 的概念層所示,我們將知識(shí)圖譜要表達(dá)的知識(shí)按照層級(jí)結(jié)構(gòu)的概念進(jìn)行組織。在構(gòu)建概念類別體系時(shí),必須保證上層類別所表示的概念完全包含下層類別表示的概念,如娛樂(lè)人物是人物類的下層類別,那么所有的娛樂(lè)人物都是人物。在設(shè)計(jì)概念類別體系時(shí),我們主要是參考 schema.org、DBpedia 等已有知識(shí)資源人工確定頂層的概念體系。同時(shí),我們要保證概念類別體系的魯棒性,便于維護(hù)和擴(kuò)展,適應(yīng)新的需求。除了人工精心維護(hù)設(shè)計(jì)的頂層概念類別體系,我們還設(shè)計(jì)了一套上下位關(guān)系挖掘系統(tǒng),用于自動(dòng)化構(gòu)建大量的細(xì)粒度概念(或稱之為上位詞),如:《不能說(shuō)的秘密》還具有細(xì)粒度的概念:“青春校園愛(ài)情電影”,“穿越電影”。

2.  其次是定義關(guān)系和屬性:

定義了概念類別體系之后我們還需要為每一個(gè)類別定義關(guān)系和屬性。關(guān)系用于描述不同實(shí)體間的聯(lián)系,如:夫妻關(guān)系(連接兩個(gè)人物實(shí)體),作品關(guān)系(連接人物和作品實(shí)體)等;屬性用于描述實(shí)體的內(nèi)在特征,如人物類實(shí)體的出生日期,職業(yè)等。關(guān)系和屬性的定義需要受概念類別體系的約束,下層需要繼承上層的關(guān)系屬性,例如所有歌手類實(shí)體應(yīng)該都具有人物類的關(guān)系和屬性。我們采用半自動(dòng)的方式生成每個(gè)概念類別體系下的關(guān)系屬性。我們通過(guò)獲取百科 Infobox 信息,然后將實(shí)體分類到概念類別體系下,再針對(duì)各類別下的實(shí)體關(guān)系屬性進(jìn)行統(tǒng)計(jì)分析并人工審核之后確定該概念類別的關(guān)系屬性。關(guān)系屬性的定義也是一個(gè)不斷完善積累的過(guò)程。

3.  定義約束:

定義關(guān)系屬性的約束信息可以保證數(shù)據(jù)的一致性,避免出現(xiàn)異常值,比如:年齡必須是 Int 類型且唯一(單值),演員作品的值是 String 類型且是多值。

四、下載平臺(tái)-知識(shí)更新

知識(shí)更新主要包括兩方面內(nèi)容,一個(gè)是新出現(xiàn)的熱門實(shí)體,需要被及時(shí)發(fā)現(xiàn)和下載其信息,另一個(gè)是關(guān)系屬性變化的情況需要對(duì)其值進(jìn)行替換或者補(bǔ)充,如明星的婚姻戀愛(ài)關(guān)系等。

知識(shí)更新的具體流程如下圖所示:

圖3 Topbase知識(shí)更新流程圖

1.  針對(duì)熱門實(shí)體信息的更新策略主要有:

從各大站點(diǎn)主頁(yè)更新,定時(shí)遍歷重點(diǎn)網(wǎng)站種子頁(yè),采用廣搜的方式層層下載實(shí)體頁(yè)面信息;

從新聞?wù)Z料中更新,基于新聞?wù)奈谋局型诰蛐聦?shí)體,然后拼接實(shí)體名稱生成百科 URL 下載;

從搜索 query log 中更新,通過(guò)挖掘 querylog 中的實(shí)體,然后拼接實(shí)體生成百科 URL 下載; querylog 的實(shí)體挖掘算法主要是基于實(shí)體模板庫(kù)和我們的 QQSEG-NER 工具;

從知識(shí)圖譜已有數(shù)據(jù)中更新,知識(shí)圖譜已有的重要度高的實(shí)體定期重新下載;

從人工運(yùn)營(yíng)中更新,將人工(業(yè)務(wù))獲得的 URL 送入下載平臺(tái)獲取實(shí)體信息;

從相關(guān)實(shí)體中更新,如果某個(gè)熱門實(shí)體信息變更,則其相關(guān)實(shí)體信息也有可能變更,所以需要獲得熱門實(shí)體的相關(guān)實(shí)體,進(jìn)行相應(yīng)更新。

表 1  最近 7 日下載數(shù)據(jù)統(tǒng)計(jì)情況

2.  針對(duì)其他關(guān)系屬性易變的情況,我們針對(duì)某些重要關(guān)系屬性進(jìn)行專項(xiàng)更新。如明星等知名人物的婚姻感情關(guān)系我們主要通過(guò)事件挖掘的方式及時(shí)更新,如:離婚事件會(huì)觸發(fā)已有關(guān)系“妻子”“丈夫”變化為“前妻”“前夫”,戀愛(ài)事件會(huì)觸發(fā)“男友”“女友”關(guān)系等。此外,基于非結(jié)構(gòu)化抽取平臺(tái)獲得的三元組信息也有助于更新實(shí)體的關(guān)系屬性。

五、抽取平臺(tái) - 知識(shí)抽取

Topbase 的抽取平臺(tái)主要包括結(jié)構(gòu)化抽取,非結(jié)構(gòu)化抽取和專項(xiàng)抽取。其中結(jié)構(gòu)化抽取主要負(fù)責(zé)抽取網(wǎng)頁(yè)編輯者整理好的規(guī)則化知識(shí),其準(zhǔn)確率高,可以直接入庫(kù)。由于結(jié)構(gòu)化知識(shí)的局限性,大量的知識(shí)信息蘊(yùn)含在純文本內(nèi)容中,因此非結(jié)構(gòu)化抽取主要是從純文本數(shù)據(jù)中挖掘知識(shí)彌補(bǔ)結(jié)構(gòu)化抽取信息的不足。此外,某些重要的知識(shí)信息需要額外的設(shè)計(jì)專項(xiàng)策略進(jìn)行抽取,比如:事件信息,上位詞信息(概念),描述信息,別名信息等。這些重要的知識(shí)抽取我們統(tǒng)稱專項(xiàng)抽取,針對(duì)不同專項(xiàng)的特點(diǎn)設(shè)計(jì)不同的抽取模塊。

1.  結(jié)構(gòu)化抽取平臺(tái)

許多網(wǎng)站提供了大量的結(jié)構(gòu)化數(shù)據(jù),如(圖 4 左)所示的百科 Infobox 信息。這種結(jié)構(gòu)化知識(shí)很容易轉(zhuǎn)化為三元組,如:“<姚明,妻子,葉莉>”。針對(duì)結(jié)構(gòu)化數(shù)據(jù)的抽取,我們?cè)O(shè)計(jì)了基于 Xpath 解析的抽取平臺(tái),如(圖 4 右)所示,我們只需要定義好抽取網(wǎng)頁(yè)的種子頁(yè)面如:baike.com,然后從網(wǎng)頁(yè)源碼中拷貝 Infobox 中屬性的 xpath 路徑即可實(shí)現(xiàn)結(jié)構(gòu)化知識(shí)的自動(dòng)抽取,入庫(kù)。通過(guò)結(jié)構(gòu)化抽取平臺(tái)生成的數(shù)據(jù)準(zhǔn)確率高,因此無(wú)需人工參與審核即可直接入庫(kù),它是知識(shí)圖譜的重要數(shù)據(jù)來(lái)源。

圖4 Topbase結(jié)構(gòu)化抽取平臺(tái)的xpath配置界面

2.  非結(jié)構(gòu)化抽取平臺(tái)

由于大量的知識(shí)是蘊(yùn)含在純文本中,為了彌補(bǔ)結(jié)構(gòu)化抽取信息的不足,我們?cè)O(shè)計(jì)了非結(jié)構(gòu)化抽取平臺(tái)。非結(jié)構(gòu)化抽取流程如圖 5 所示:

圖5 Topbase非結(jié)構(gòu)化抽取平臺(tái)的技術(shù)框架

1  2  3  4  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)