梁家卿 | 百科知识图谱同步更新
本文轉載自公眾號知識工場。
本文整理自復旦大學知識工場梁家卿博士在IJCAI 2017 會議上的論文報告,題目為《How to Keep a Knowledge Base Synchronized with Its Encyclopedia Source》,作者包括:梁家卿博士(復旦大學,上海數眼科技發展有限公司),張圣碩士(復旦大學),肖仰華教授(復旦大學,上?;ヂ摼W大數據工程技術研究中心,小i機器人)
IJCAI(International Joint Conference on Artificial Intelligence,國際人工智能聯合會議)是人工智能領域最頂級的學術會議之一,被中國計算機學會推薦國際學術會議列表認定為 A 類會議。該會議聚集了人工智能領域最頂尖的研究者和優秀從業者,關注研討領域涵蓋機器學習、計算可持續性、圖像識別、語音技術、視頻技術等,對全球人工智能行業具有巨大影響力。8月19日-8月25日,IJCAI 2017在澳大利亞墨爾本正式開啟。
梁家卿:大家下午好,我的這篇文章主要講的是如何讓百科知識庫和它對應的百科數據源保持同步更新。
大家都知道,知識庫在很多應用中都擔任著非常重要的角色。有些知識庫使用百科類網站(如:維基百科)作為數據源,像DBpedia、Freebase,CN-DBpedia等。由于百科類網站的質量都很高,所以在此基礎上構建的百科知識圖譜質量也很高。
知識庫中的知識并不是一成不變的,很多事實都會發生變化。例如,美國總統從奧巴馬變成了特朗普;特朗普的職業從商人變成了總統。這樣一來,知識圖譜的更新就顯得非常重要。如果不知道特朗普是總統,機器在閱讀最新文章時,可能只會把他認為是一個普通商人發表的政治意見。還有很多新詞,比如說iPhone8,你將永遠不知道它是什么。
我們都知道,很多數據源(維基百科)一直是志愿者在更新的,那么我們只需要將知識庫與維基百科進行同步即可。這里的關鍵問題在于,如何保持知識庫與在線百科網站的同步更新呢?
目前傳統有兩種方法來進行知識庫與在線百科的同步,第一種方法是下載最新的網站Dump數據,但是這個方法要求我們下載GB級的數據,然后每個周期都會生成新的Dump數據,不僅如此,還有許多的百科類網站是不會提供Dump數據的。第二個方法是爬網站,但是這個方法的工作量太大了,有太多的網頁需要爬,而且還會有很多網站會封鎖我們的爬蟲。
知識庫的更新固然重要,但也不是說庫中的每個實體都需要更新,因為大多數實體都具有穩定的性質,它的關系很少會發生變化,例如,“橙子”,這是一個基本概念;“牛頓”,這是一個不會改變的歷史人物。
我們真正需要更新的是一些會發生改變的實體,像一些非常熱門的實體就很有可能發生改變,比如特朗普。所以一個更好的策略就是先將實體區分為穩定實體和易變實體(比如:熱門實體),然后把易變實體更新即可。現在有一個關鍵的問題,就是如何去估算百科網站中實體的更新頻率?
我們將這套策略用在了CN-DBpedia知識庫中。CN-DBpedia是一個以百度百科作為數據源構建的中文百科知識庫。為了解決上述的這個問題,我們在CN-DBpedia上建立了一個系統,這個系統每天只需要更新很少的熱門實體即可。
接下來是具體實現細節。我們首先將這個問題定義為一個最大化問題,選擇最需要更新的K個實體。一個實體是否需要更新就看在線百科網站上實體的最近更新時間是否晚于我們知識庫中的上一次同步時間。
為什么要設置K值呢?這主要是由于獲取資源的能力是有限的,并且很多網站也有訪問次數限制。所以我們設置了每天能訪問的實體次數上限K。
現在,假設我們可以預測每個實體的更新頻率,那么將如何找到這些待更新的K個實體呢?
一個基本方法是對每個數據庫中的實體都預測它的更新頻率,然后取最大的K個。但這種做法太耗時了,并且只能對已有的數據進行更新,無法更新新詞。
一個改進的方法是對互聯網上的熱詞進行監控。因為我們認為,一個實體之所以變成熱詞,會有兩個原因。一個是新詞,比如即將發布的iPhone8。另一個是舊詞,但知識發生了變化,比如說特朗普變成美國總統了。
整體框架如下:首先監控熱詞獲得種子實體,然后同步這些種子實體。接下來通過實體的相關實體來擴展得到更多的待更新實體,最后根據這些待更新實體的優先級來進行更新。
先來看種子發現和種子同步。
我們發現一個現象,如果一個實體突然頻繁地出現在互聯網上,關于它的知識很可能就會發生變化。因此,我們從互聯網上搜集熱門新聞,熱門搜索關鍵字和熱點話題,通過分詞等方法,提取出其中的熱門實體,然后加以同步。
但是,每天的熱門話題數量太少,所以我們需要通過擴展的方式得到更多的待更新實體。
我們遵循的一個原則是:與最近更新的實體相關的實體更可能更新。例如,特朗普成為總統后,特朗普的妻子成為第一夫人。
我們做了一個實驗來驗證這一原則。
優先級設置的原則是這樣的,如果是一個新詞,那么優先級設置為最高,如果是一個舊詞,估計其上一次更新結束到當前時間內可能更新的次數,將這個次數作為優先級的指標。指標為更新頻率乘以更新間隔。
接下來,就是要估計每個實體的更新頻率了。最開始,我們基于這樣一個基本假設:實體更新頻率遵循泊松分布。但后來實驗發現,這個分布并不成立。
我們把這個問題看作是一個回歸問題。選擇了表中的8個特征,分別使用了線性回歸和隨機森林回歸兩種來估計更新頻率。
最后,實驗結果表明,我們提出的隨機森林回歸模型取得了最好的效果。
我們將系統部署到CN-DBpedia上,設置K值為1000。結果發現,68.7%的實體中的知識都發生了改變。
最后,我們再對本文進行一下簡單的總結。
首先,?許多知識庫都是使用百科網站作為數據源,但是這些知識庫往往不能及時更新。每個都重新構建一遍代價巨大。
第二,我們提出了一個知識庫更新系統,包含了一組有效的更新策略。
第三,我們將這套策略部署到了中文知識庫CN-DBpedia中,提高了知識庫的時效性。
最后,這個系統每天更新一千個實體,統計發現,其中70%的實體的知識確實發生了變化。
獲取完整PPT
關注“知識工場”微信公眾號,回復“20170819”獲取下載鏈接。
以上就是梁家卿博士在IJCAI為大家帶來的全部內容。知識工場實驗室后續將為大家帶來更精彩的文章,請大家關注。
?? ? ? ? ? ??
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的梁家卿 | 百科知识图谱同步更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速的找出元素是否在list中 pyth
- 下一篇: 商汤科技2020数据分析师0820笔试题