开源开放 | 移动应用知识图谱MAKG(CCKS2021)
OpenKG地址:http://openkg.cn/dataset/makg
GitHub地址:https://github.com/Everglow123/MAKG
MAKG網站:http://www.makg.com.cn
開放許可協議:CC BY-SA 4.0 (署名相似共享)
貢獻者:東南大學(周恒、張步燁、譚亦鳴),南京郵電大學(李煒卓、季秋),之江實驗室(那崇寧)
1. 開放背景
隨著智能手機和移動設備的普及,移動應用(又稱“APP”) 的數量迅速增長,為用戶進行網上購物、教育、娛樂、理財等諸多方面提供了極大的便利。然而,隨著越來越多的APP被開發與發布,網絡上也存在諸多含有惡意風險的APP,它們或傳播不良信息、或侵犯用戶隱私,甚至違反國家信息安全法令。對普通的網民來說,構建全面的移動應用知識庫信息有助于用戶查詢和預防APP的詐騙; 對網絡安全分析人員來說,APP知識圖譜不僅可以幫助網絡安全分析人員更加快速地找出潛在風險,也可以在一定程度確保移動網絡的安全。
2.?MAKG介紹
在相關領域的研究中,DREBIN、AndroZoo++、AndroVault等APP知識庫相繼被提出。然而,這些知識庫的構建僅側重考慮了部分安卓應用市場的APP,存在來源單一、整體數據量少、屬性不夠全面等問題,從而無法全面地展示APP的信息。此外,由于已有的APP知識庫重點聚焦在單個APP底層數據(如: 應用權限、應用隱私) 的分析上,導致此類方法在一定程度上缺少對APP之間的關聯性分析,無法較好實現APP信息的共享與重用。因此,從多源異構數據中構建APP知識圖譜,利用APP知識圖譜的語義信息對APP進行大規模相關性分析對于APP的應用(如: 風險防控)顯得至關重要,同時也能為語義網與網絡安全社區研究提供高質量的數據資源。
MAKG (Mobile Application Knowledge Graph) 是一個基于自動化知識抽取算法與知識圖譜對齊技術構建的移動應用知識圖譜。由東南大學網絡空間安全學院與南京郵電大學現代郵政學院貢獻。MAKG開源了來自于華為應用市場、小米應用商店、App Store、Google Play四大移動應用商城共計34.7萬移動應用(簡稱APP),包含700萬三元組,提供.nt格式的數據下載。
3.?MAKG構建
構建移動應用知識圖譜具有諸多挑戰。早年的英文知識圖譜(如: CyC、WordNet) 以及中文知識庫(如: HowNet) 大多通過專家手工構建,成本非常高昂。MAKG統一定義了輕量級本體,采用了知識抽取技術與知識對齊技術來補全與實現APP之間的關聯,在緩解人工構建成本的同時,較好地為網絡安全研究提供服務。相較于傳統的概念知識圖譜,MAKG的特點在于:
1)?通過爬蟲技術收集了國內外應用商店的APP數據,百度百科、快懂百科中APP的infobox信息和摘要信息,網站新聞中有關于風險APP的信息,并根據這些信息統一設計了一個APP本體用以實現APP之間的關聯。
2)?通過國際前沿的實體識別與關系抽取技術對APP中的非結構化信息描述進行知識抽取,實現APP信息的補全。
3)?通過國際前沿的實體對齊算法對不同數據源的APP信息進行知識的融合,構建了一個高質量的APP知識圖譜。
圖1描述了MAKG構建的框架,主要包括五個階段: 1)本體定義、2)APP爬取、3)知識抽取、4)知識對齊、5)知識存儲。基于MAKG,網絡安全分析師與用戶可以獲得更好的服務,如: 語義檢索、推薦、風險檢測等。
圖1?MAKG的構建框架
本體定義:為了利用APP應用程序的信息來構建一個語義明確的知識圖譜抽象層,我們首先設計了一個關于APP的本體,它主要定義了APP關系與屬性層面的內容。在對現實的APP數據進行調研中,我們發現絕大多數針對APP的風險信息(如: APP的功能點、APP的交互模式等)并不能夠從網絡上直接獲得。因此,我們基于現有概念化的技術研究選擇了合適的術語,并通過斯坦福大學研發prote?ge?定義MAKG中APP的關聯關系與屬性。
圖2?輕量級本體概覽
圖2為我們定義的輕量級本體,其中紅色邊和藍色邊分別表示子類(subclassOf)和實例類型(rdfs: type)兩個基本關系。此外,綠色邊代表關系,紫色邊代表屬性。我們在本體中一共定義了26個基本概念、11個關系和45個屬性。得益于定義良好的本體,不僅可以在查詢過程中為APP在網絡安全分析師和用戶呈現更全面的屬性,還可以在APP之間產生更多共享鏈接。
APP爬取:借助scrapy框架,我們爬取了華為應用市場、小米應用商店、App Store、Google Play發布的APP描述信息。由于一些應用市場(如: Google Play)并不提供APP的分類,所以我們在爬取的過程中將一些常見的APP當作種子,利用它們的推薦結果來爬取更多的同類APP。考慮到MAKG整體的存儲大小,我們并沒有下載APP的安裝包,而是專注于它們在本體中定義的描述信息。表1列出了來自各應用市場的爬取應用的統計數據,其中,MKAG一共收集了超過34.7萬個APP,生成了大約700萬個三元組。可以注意到,由于Google Play為APP提供了多語言的描述,因此統計的APP數量相比其應用他商店更多。
表1??移動應用商店爬取的APP統計信息
移動應用商店 | 華為應用市場 | 小米應用商店 | APP?Store | Google?Play |
APP數量 | 43287 | 27694 | 3137 | 273802 |
APP關系 | 5 | 3 | 3 | 4 |
APP屬性 | 14 | 12 | 5 | 15 |
實體數量 | 70954 | 47478 | 5724 | 382358 |
三元組數量 | 1384854 | 384648 | 25088 | 5210417 |
知識抽取:從應用市場爬取APP的描述信息是構建MAKG最直接的方法。然而,應用市場中現有的標簽不足以覆蓋我們設計本體中的屬性,這阻礙了APP之間共享鏈接(又稱實體)的進一步發現。為此,我們試圖從百科全書(如: 百度百科、快懂百科)、文本描述以及網站上發布的APP相關新聞中收集相關的網頁,以補全這些屬性缺失的取值。
我們主要考慮以下策略來解析網頁和文本描述,以獲得結構化的應用三元組,并豐富其缺乏的價值。
infobox的補全。這是一種最為普遍的屬性值補全技巧。我們采用字符串匹配方法(如: “基于編輯距離測度”)計算infobox中標簽與設計的本體中屬性的相似度,并進一步構造它們的對應關系(如: infobox中的市場與本體中的Platform)。
命名實體識別。對于本體中定義的概念(如: Developer和Company),我們評估了4種主流的命名為實體識別方法,最終選擇了NcrfPP 模型來捕獲應用程序的相關信息,該方法是一種以CRF推理層為基礎,通過不同神經網絡層結構快速實現的序列標記模型,并在我們的測試評估中獲得最佳性能。
關系抽取技術。對于本體中的部分重要關系(如: 總部)和屬性(如: 發布時間),我們分別采用了來自清華大學研發的OpenNRE與浙江大學研發的DeepKE平臺中前沿的關系抽取模型進行測試,最終,我們在DeepKE平臺中選取一種驗證效果最佳的關系抽取模型CNN來抽取部分APP的結構化描述信息。同時,考慮到標注的語料庫中存在部分關系僅有少量標注的關系,我們也嘗試從清華大學研發的FewRel平臺中利用少樣本關系抽取技術進行知識的抽取與補充。
最終,我們從百度百科和快懂百科中分別檢索到了2493和2503個APP,并在MAKG中添加了69092個結構化的三元組。同時,在命名實體識別和關系抽取的幫助下,我們針對MAKG的文本描述和百科全書中共補全了29651個三元組。
知識對齊:我們注意到大多數應用通常會發布在不同的移動應用商店,但對它們描述標簽的具體取值可能是異構的。此外,不同的移動應用商店對APP關系和屬性的描述方式也存在差異。因此,找出來自不同應用商店的APP以及相應實體之間的對應關系(又稱匹配)至關重要,這樣有助于APP信息的共享與重用。為了實現這一目標,我們嘗試采用以下方法進行知識對齊。
基于規則挖掘器方法。它是一種半監督學習算法,用于迭代細化的匹配規則(如: ?EM迭代策略),并基于這些規則發現新的高置信度匹配。
基于知識圖譜表示學習的方法。它將知識圖的實體和關系編碼在連續稠密的向量空間中,基于學習到的向量表示來度量實體的相似性。
基于上述知識對齊模型提及的算法(即, Rule Miner、NMN以及南京大學研發的OpenEA平臺中MultiKE、RDGCN),我們最終獲得應用市場之間的對齊。同時,手動校驗它們對齊結果的正確性。表2列出了不同移動應用商店APP對齊的具體統計數據。由于目前APP Store爬取的APP數量遠小于其他應用商店,因此,我們暫時沒有列出它相應的結果。
表2?不同移動應用商店中等價實體的統計數據
應用商店 | 華為應用市場對應的 | 小米應用商店對應的 | Google?Play對應的 |
華為應用市場 | — | 27397 | 1526 |
小米應用商店 | 27397 | — | 979 |
Google?Play | 1526 | 979 | — |
知識存儲:基于我們設計的本體,利用爬取的數據實例化關系與屬性取值,并利用知識抽取和知識對齊來豐富知識圖的結構化三元組。然后,通過Jena將它們轉換為具有指定URL的結構化三元組{(h, r, t)}。對于知識存儲,我們使用Neo4j來存儲轉換后的三元組,這是一種能夠高效存儲RDF三元組的圖數據庫,并提供配套查詢語言Cypher。為了讓MAKG與移動應用商店里的數據保持同步,我們定期更新APP的描述性信息,并記錄更新到日志中。
4.?MAKG的用途
目前,我們為MAKG列出了三種可能的應用場景:
1) MAKG可以實現基于APP的語義檢索。比如: 用戶查詢一個APP,通過MAKG就可以向用戶獲得呈現該APP全面的信息。此外,我們還可以將實體鏈接技術應用到APP出現的文本描述中,特別是國家發布的APP整治新聞。受益于以上檢索方式,用戶可以更加充分了解APP的信息,避免下載一些有負面報道或者存在風險的移動應用。
2) MAKG可以幫助網絡安全分析師檢測一些敏感APP。相比于普通APP,這些APP擁有更多的條件或者可能性成為網絡罪犯溫床。借助于MAKG對APP全面綜合的關系與屬性描述,分析師可以定義一些先驗規則或采用前沿的算法來評估APP敏感度并對其進行排序。這樣,可以提前降低一些敏感APP所帶來的風險,實現提前防控。
當用戶和網絡安全分析師請求上述服務時,MAKG可以為他們推薦一些類似的APP。利用一些高效的算法進行推薦,同樣可以降低潛在風險,維護移動互聯網的安全。
5.?結語及致謝
由于MAKG是基于自動化爬取算法從各大應用商店與網站進行獲取的,其中難免存在數據爬取、處理上的問題,在此表達歉意。目前MAKG網站 (http://www.makg.com.cn/) 的測試版本已經對外進行開放,歡迎大家進行測試,提供寶貴意見。最后,感謝周恒、張步燁、譚亦鳴提供算法實現上的支持,周恒實現的在線服務平臺,漆桂林教授、季秋博士、吳天星博士、高桓博士、李林、李學凱、李志強、許茜、羅安源、黃婉華、申時榮等給予技術上的寶貴建議。
?
?
OpenKG
OpenKG(中文開放知識圖譜)旨在推動以中文為核心的知識圖譜數據的開放、互聯及眾包,并促進知識圖譜算法、工具及平臺的開源開放。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的开源开放 | 移动应用知识图谱MAKG(CCKS2021)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术动态 | 跨句多元关系抽取
- 下一篇: 论文浅尝 | Tree-to-seque