面向在線百科的知識庫自動更新方法及系統的制作方法
【專利摘要】本發明提供一種面向在線百科的知識庫自動更新的方法,該方法實時監控知識庫的知識語料來源,根據知識語料更新時間和知識語料內容變化,獲取新增的知識語料與內容改變的知識語料;從所獲取的知識語料識別知識的變化,以及將基于所識別的知識的變化來更新知識庫。該方法實時感知更新的知識,自動判斷更新知識在知識庫中所處的位置,以及將更新的知識,自動合并添加到知識庫中,可避免知識庫的滯后性并滿足用戶對知識庫時新性的要求。
【專利說明】面向在線百科的知識庫自動更新方法及系統
【技術領域】
[0001]本發明涉及網絡知識庫,尤其涉及網絡知識庫自動更新方法及系統。
【背景技術】
[0002]知識庫通常包含一組概念、實例和關系的集合,是結構化、全面有組織的知識集群,是采用某種知識表示方式組織、管理和使用的互相聯系的知識集合。這些知識包括與領域相關的理論知識、事實數據,由專家經驗得到的啟發式知識,如某領域內有關的定義、定理和運算法則以及常識性知識等。在知識工程領域中,知識描述的要素一般包括概念、實例、關系和屬性四個要素。
[0003]近年來,構建知識庫是國內外工業界開發和學術界研究的一個熱點,目前,世界各國各個組織建立的知識庫多達50余種,相關的應用系統更是達到了上百種。其中,有代表性的知識庫有 DBpedia、YAGO> Probase、WikiTaxonomy> Freebase、Omega 等。知識庫之所以得到廣泛關注,原因在于知識庫在很多應用中起到至關重要的作用,如在搜索引擎中,Google、Bing、百度、搜狗等使用知識庫幫助理解用戶查詢、感知用戶查詢意圖、進行查詢擴展和查詢問答等;在0的? Web資源發現中,知識庫可以輔助進行Deep Web查詢選擇;在社交網絡中,知識庫可以輔助挖掘社交數據等。
[0004]而在知識庫構造中,在線百科(如Wikipedia、百度百科、互動百科等)作為聚集互聯網用戶的群體智慧建立的大規模、隨時間演化、可分享的網絡百科全書,成為構造知識庫首選的知識語料來源。在線百科知識語料,比起結構性較弱的普通網頁,其包含的百科詞條不僅具有較高的質量而且可以保證所得到知識的精度,因此,在線百科數據成為構造知識庫的重要語料來源,很多知識庫都是基于百科數據構造的,如:DBpedia、YAG0、WikiTaxonomy、Omega等。然而,在線百科數據是隨時間不斷演化的,其在不斷的增加、刪除和修改,因此,為了保持知識庫的時新性,在最大程度上避免知識庫的滯后,需要不斷對知識庫進行更新,以適應用戶對知識的實時性的需求。知識庫的更新可分為兩個層面的工作:一是已有知識的更新;二是新的知識的加入。
[0005]目前,專門針對知識庫的更新的工作較少,很多工作都是從數據庫更新的角度展開,如對數據庫數據的增加、刪除和修改等。從更新方式來講,知識庫的更新方法可分為兩類:一種是定期重建的方式,另一種是實時更新的方式。
[0006]a)定期重建的方式。該方式本質上是一種離線更新的方式:按照知識庫構造的方法,定期在知識語料源上重新執行知識庫構造流程,從而得到最新的知識庫,這種方式雖然操作簡單,但是仍然存在很多缺陷,例如,知識庫更新過程耗時長、難以重用知識庫構造過程中人工修正的工作、無法滿足適應用戶對知識的時新性的需求。
[0007]b)實時更新的方式。該方式定期采集數據源,檢測數據源內容的變化,將發生變化的內容提供給領域專家,由人工判斷發生變化的內容涉及哪些知識,或者基于由專家制定的各種規則來判斷哪些知識發生了變化并將其同步到知識庫中,從而得到更新的知識庫。這種方式存在以下局限性:(I)難以編寫完備的規則表示知識的增加、刪除、修改等;(2)難以滿足用戶實時更新的需求。
[0008]綜上所述,目前,對知識庫的更新仍然沒有很有效的方法,尤其是在面對用戶對知識的實時性更新需求方面,遠遠達不到用戶的要求。在更新數據的自動化感知方面,缺乏有效的辦法能夠自動識別知識的變化,和能夠動態響應這些變化的更新機制。
【發明內容】
[0009]因此,本發明的目的在于克服上述現有技術的缺陷,提供一種面向在線百科的知識庫自動更新的方法。
[0010]本發明的目的是通過以下技術方案實現的:
[0011]一方面,本發明提供了一種面向在線百科的知識庫自動更新的方法,包括:
[0012]步驟1,實時監控知識庫的知識語料來源,根據知識語料更新時間和知識語料內容變化,獲取新增的知識語料與內容改變的知識語料;
[0013]步驟2,從所獲取的知識語料識別其表示的知識,其中所識別的知識包括實例、實例的屬性以及實例所屬的概念;
[0014]步驟3,基于所識別的知識來更新知識庫。
[0015]在上述技術方案中,在步驟I中,所述知識語料來源可包括定期備份的知識語料庫,所述步驟I可包括:
[0016]從該知識語料庫的源網站獲取新的語料庫備份和語料庫修改歷史;
[0017]對于所獲取的新的語料庫備份中的每個知識語料,獲取該知識語料在語料庫修改歷史中第一次出現的時間和最后一次出現的時間,
[0018]如果所述第一次出現的時間大于與知識庫當前使用的知識語料庫備份的時間,則確定該知識語料是新增的知識語料;
[0019]如果所述第一出現的時間小于或等于知識庫當前使用的知識語料庫備份的時間,并且知識庫當前使用的知識語料庫備份的時間小于或等于所述最后一次出現的時間,則確定該知識語料是內容改變的知識語料。
[0020]在上述技術方案中,在步驟I中所述知識語料來源還可包括通過網絡搜索采集的知識語料的集合,所述步驟I還可包括:
[0021]基于知識庫當前使用的知識語料集合中各知識語料對應URL發送HTTP請求;
[0022]從對該HTTP請求的響應的頭部信息中提取該知識語料的頁面內容最后一次發生變化的時間;
[0023]如果所述最后一次發生變化的時間大于知識庫當前所使用的該知識語料頁面上次更新的時間,則確定該知識語料是內容改變的知識語料;
[0024]對所確定的內容改變的知識語料的頁面內容進行分析,若發現當前的知識語料集合中不存在的URL,則該URL對應的知識語料是新增的知識語料。
[0025]在上述技術方案中,所述步驟3可包括:
[0026]對于從新增的知識語料中識別的實例,則根據實例所屬的概念判斷知識庫中是否存在與之對應的概念;若存在,則將該新增的實例,添加到知識庫對應的概念下;若不存在,則在知識庫中創建一個新的概念,并將該實例添加到該概念下;
[0027]對于從內容改變的知識語料中識別的實例信息,則利用該實例信息替換知識庫中對應的實例的信息。
[0028]在上述技術方案中,所述步驟3中對于所識別的每個實例可執行下列步驟:
[0029]步驟31)判斷知識庫中是否存在與該實例名稱且所屬概念相同的實例,如果存在,則該實例的信息添加到該知識庫中對應實例中;如果不存在,則執行步驟32);
[0030]步驟32)從知識庫中選出與該實例名稱相同但所述概念不同的實例,計算每個所選出的實例與該實例的匹配度,如果所計算的最大匹配度大于設定的閾值,則該實例的信息添加到與該實例具有最大匹配度的實例中,否則,執行步驟33);
[0031]步驟33)從知識庫中查找與該實例所屬的概念相匹配的概念,若不存在匹配的概念,則在知識庫中創建該概念,并在該概念下創建該實例;若存在匹配的概念,計算該匹配的概念下的每個實例與該實例的匹配度,如果所計算的最大匹配度大于設定的閾值,則該實例的信息添加到與該實例具有最大匹配度的實例中,否則,在該匹配的概念下創建該實例。
[0032]在上述技術方案中,在所述步驟32)和步驟33)中,可以通過下面的公式來計算兩個實例間的匹配度:
[0033]
【權利要求】
1.一種面向在線百科的知識庫自動更新的方法,該方法包括: 步驟1,實時監控知識庫的知識語料來源,根據知識語料更新時間和知識語料內容變化,獲取新增的知識語料與內容改變的知識語料; 步驟2,從所獲取的知識語料識別其表示的知識,其中所識別的知識包括實例、實例的屬性以及實例所屬的概念; 步驟3,基于所識別的知識來更新知識庫。
2.根據權利要求1所述的方法,在步驟I中,所述知識語料來源包括定期備份的知識語料庫,所述步驟I包括: 從該知識語料庫的源網站獲取新的語料庫備份和語料庫修改歷史; 對于所獲取的新的語料庫備份中的每個知識語料,獲取該知識語料在語料庫修改歷史中第一次出現的時間和最后一次出現的時間, 如果所述第一次出現的時間大于與知識庫當前使用的知識語料庫備份的時間,則確定該知識語料是新增的知識語料; 如果所述第一出現的時間小于或等于知識庫當前使用的知識語料庫備份的時間,并且知識庫當前使用的知識語料庫備份的時間小于或等于所述最后一次出現的時間,則確定該知識語料是內容改變的知識語料。
3.根據權利要求2所述的方法,在所述步驟I中,所述知識語料來源還包括通過網絡搜索采集的知識語料的集合,所述步驟I包括: 基于知識庫當前使用的知識語料集合中`各知識語料對應URL發送HTTP請求; 從對該HTTP請求的響應的頭部信息中提取該知識語料的頁面內容最后一次發生變化的時間; 如果所述最后一次發生變化的時間大于知識庫當前所使用的該知識語料頁面上次更新的時間,則確定該知識語料是內容改變的知識語料; 對所確定的內容改變的知識語料的頁面內容進行分析,若發現當前的知識語料集合中不存在的URL,則該URL對應的知識語料是新增的知識語料。
4.根據權利要求1所述的方法,所述步驟3包括: 對于從新增的知識語料中識別的實例,則根據實例所屬的概念判斷知識庫中是否存在與之對應的概念;若存在,則將該新增的實例,添加到知識庫對應的概念下;若不存在,則在知識庫中創建一個新的概念,并將該實例添加到該概念下; 對于從內容改變的知識語料中識別的實例信息,則利用該實例信息替換知識庫中對應的實例的信息。
5.根據權利要求1所述的方法,所述步驟3中對于所識別的每個實例執行下列步驟: 步驟31)判斷知識庫中是否存在與該實例名稱且所屬概念相同的實例,如果存在,則該實例的信息添加到該知識庫中對應實例中;如果不存在,則執行步驟32); 步驟32)從知識庫中選出與該實例名稱相同但所述概念不同的實例,計算每個所選出的實例與該實例的匹配度,如果所計算的最大匹配度大于設定的閾值,則該實例的信息添加到與該實例具有最大匹配度的實例中,否則,執行步驟33); 步驟33)從知識庫中查找與該實例所屬的概念相匹配的概念,若不存在匹配的概念,則在知識庫中創建該概念,并在該概念下創建該實例;若存在匹配的概念,計算該匹配的概念下的每個實例與該實例的匹配度,如果所計算的最大匹配度大于設定的閾值,則該實例的信息添加到與該實例具有最大匹配度的實例中,否則,在該匹配的概念下創建該實例。
6.根據權利要求5所述的方法,在所述步驟32)和步驟33)中,通過下面的公式來計算兩個實例間的匹配度:
7.根據權利要求6所述的方法,其中屬性Pi與P」之間的相似度為屬性Pi與P」的屬性名的文本相似度和Pi與P」的屬性名的語義相似度的線性加權。
8.根據權利要求6所述的方法,其中屬性Pi與P」之間的相似度為屬性Pi與P」的屬性名的文本相似度。
9.根據權利要求6所述的方法,其中屬性Pi與P」之間的相似度為屬性Pi與P」的屬性名的語義相似度。
10.一種面向在線百科的知識庫自動更新的系統,該系統包括: 用于實時監控知識庫的知識語料來源,根據知識語料更新時間和知識語料內容變化,獲取新增的知識語料與內容改變的知識語料的裝置; 用于從所獲取的知識語料識別其表示的知識的裝置,其中所識別的知識包括實例、實例的屬性以及實例所屬的概念; 用于基于所識別的知識來更新知識庫的裝置。
【文檔編號】G06F17/30GK103823879SQ201410072608
【公開日】2014年5月28日 申請日期:2014年2月28日 優先權日:2014年2月28日
【發明者】程學旗, 王元卓, 林海倫, 賈巖濤, 熊錦華, 許洪波, 馮凱 申請人:中國科學院計算技術研究所