導讀web
知識圖譜 (Knowledge Graph) 是當前的研究熱點。自從2012年Google推出本身初版知識圖譜以來,它在學術界和工業界掀起了一股熱潮。各大互聯網企業在以後的短短一年內紛紛推出了本身的知識圖譜產品以做爲迴應。好比在國內,互聯網巨頭百度和搜狗分別推出」知心「和」知立方」來改進其搜索質量。那麼與這些傳統的互聯網公司相比,對處於當今風口浪尖上的行業 - 互聯網金融, 知識圖譜能夠有哪方面的應用呢?算法
目錄數據庫
1. 什麼是知識圖譜?網絡
2. 知識圖譜的表示數據結構
3. 知識圖譜的存儲併發
4. 應用框架
5. 挑戰機器學習
6. 結語分佈式
1. 什麼是知識圖譜?ide
知識圖譜本質上是語義網絡,是一種基於圖的數據結構,由節點(Point)和邊(Edge)組成。在知識圖譜裏,每一個節點表示現實世界中存在的「實體」,每條邊爲實體與實體之間的「關係」。知識圖譜是關係的最有效的表示方式。通俗地講,知識圖譜就是把全部不一樣種類的信息(Heterogeneous Information)鏈接在一塊兒而獲得的一個關係網絡。知識圖譜提供了從「關係」的角度去分析問題的能力。
知識圖譜這個概念最先由Google提出,主要是用來優化現有的搜索引擎。不一樣於基於關鍵詞搜索的傳統搜索引擎,知識圖譜可用來更好地查詢複雜的關聯信息,從語義層面理解用戶意圖,改進搜索質量。好比在Google的搜索框裏輸入Bill Gates的時候,搜索結果頁面的右側還會出現Bill Gates相關的信息好比出生年月,家庭狀況等等。
另外,對於稍微複雜的搜索語句好比 」Who is the wife of Bill Gates「,Google能準確返回他的妻子Melinda Gates。這就說明搜索引擎經過知識圖譜真正理解了用戶的意圖。
上面提到的知識圖譜都是屬於比較寬泛的範疇,在通用領域裏解決搜索引擎優化和問答系統(Question-Answering)等方面的問題。接下來咱們看一下特定領域裏的 (Domain-Specific) 知識圖譜表示方式和應用,這也是工業界比較關心的話題。
2. 知識圖譜的表示
假設咱們用知識圖譜來描述一個事實(Fact) - 「張三是李四的父親」。這裏的實體是張三和李四,關係是「父親」(is_father_of)。固然,張三和李四也可能會跟其餘人存在着某種類型的關係(暫時不考慮)。當咱們把電話號碼也做爲節點加入到知識圖譜之後(電話號碼也是實體),人和電話之間也能夠定義一種關係叫 has_phone,就是說某個電話號碼是屬於某我的。下面的圖就展現了這兩種不一樣的關係。
另外,咱們能夠把時間做爲屬性(Property)添加到 has_phone 關係裏來表示開通電話號碼的時間。這種屬性不只能夠加到關係裏,還能夠加到實體當中,當咱們把全部這些信息做爲關係或者實體的屬性添加後,所獲得的圖譜稱之爲屬性圖 (Property Graph)。屬性圖和傳統的RDF格式均可以做爲知識圖譜的表示和存儲方式,但兩者仍是有區別的,這將在後面章節作簡單說明。
3. 知識圖譜的存儲
知識圖譜是基於圖的數據結構,它的存儲方式主要有兩種形式:RDF存儲格式和圖數據庫(Graph Database)。至於它們有哪些區別,請參考【1】。下面的曲線表示各類數據存儲類型在最近幾年的發展狀況。從這裏咱們能夠明顯地看到基於圖的存儲方式在整個數據庫存儲領域的飛速發展。這幅曲線圖來源於 Graph DBMS increased their popularity by 500% within the last 2 years
下面的列表表示的是目前比較流行的基於圖存儲的數據庫排名。從這個排名中能夠看出neo4j在整個圖存儲領域裏佔據着NO.1的地位,並且在RDF領域裏Jena仍是目前爲止最爲流行的存儲框架。這部分數據來源於 DB-Engines Ranking
固然,若是須要設計的知識圖譜很是簡單,並且查詢也不會涉及到1度以上的關聯查詢,咱們也能夠選擇用關係型數據存儲格式來保存知識圖譜。但對那些稍微複雜的關係網絡(現實生活中的實體和關係廣泛都比較複雜),知識圖譜的優勢仍是很是明顯的。首先,在關聯查詢的效率上會比傳統的存儲方式有顯著的提升。當咱們涉及到2,3度的關聯查詢,基於知識圖譜的查詢效率會高出幾千倍甚至幾百萬倍。其次,基於圖的存儲在設計上會很是靈活,通常只須要局部的改動便可。好比咱們有一個新的數據源,咱們只須要在已有的圖譜上插入就能夠。於此相反,關係型存儲方式靈活性方面比較差,它全部的Schema都是提早定義好的,若是後續要改變,它的代價是很是高的。最後,把實體和關係存儲在圖數據結構是一種符合整個故事邏輯的最好的方式。
4. 應用
在本文中,咱們主要討論知識圖譜在互聯網金融行業中的應用。固然,不少應用場景和想法均可以延伸到其餘的各行各業。這裏提到的應用場景只是冰山一角, 在不少其餘的應用上,知識圖譜仍然能夠發揮它潛在的價值, 咱們在後續的文章中會繼續討論。
反欺詐
反欺詐是風控中很是重要的一道環節。基於大數據的反欺詐的難點在於如何把不一樣來源的數據(結構化,非結構)整合在一塊兒,並構建反欺詐引擎,從而有效地識別出欺詐案件(好比身份造假,團體欺詐,代辦包裝等)。並且很多欺詐案件會涉及到複雜的關係網絡,這也給欺詐審覈帶來了新的挑戰。 知識圖譜,做爲關係的直接表示方式,能夠很好地解決這兩個問題。 首先,知識圖譜提供很是便捷的方式來添加新的數據源,這一點在前面提到過。其次,知識圖譜自己就是用來表示關係的,這種直觀的表示方法能夠幫助咱們更有效地分析複雜關係中存在的特定的潛在風險。
反欺詐的核心是人,首先須要把與借款人相關的全部的數據源打通,並構建包含多數據源的知識圖譜,從而整合成爲一臺機器能夠理解的結構化的知識。在這裏,咱們不只能夠整合借款人的基本信息(好比申請時填寫的信息),還能夠把借款人的消費記錄、行爲記錄、網上的瀏覽記錄等整合到整個知識圖譜裏,從而進行分析和預測。這裏的一個難點是不少的數據都是從網絡上獲取的非結構化數據,須要利用機器學習、天然語言處理技術把這些數據變成結構化的數據。
不一致性驗證
不一致性驗證能夠用來判斷一個借款人的欺詐風險,這個跟交叉驗證相似。好比借款人張三和借款人李四填寫的是同一個公司電話,但張三填寫的公司和李四填寫的公司徹底不同,這就成了一個風險點,須要審覈人員格外的注意。
再好比,借款人說跟張三是朋友關係,跟李四是父子關係。當咱們試圖把借款人的信息添加到知識圖譜裏的時候,「一致性驗證」引擎會觸發。引擎首先會去讀取張三和李四的關係,從而去驗證這個「三角關係」是否正確。很顯然,朋友的朋友不是父子關係,因此存在着明顯的不一致性。
不一致性驗證涉及到知識的推理。通俗地講,知識的推理能夠理解成「連接預測」,也就是從已有的關係圖譜裏推導出新的關係或連接。 好比在上面的例子,假設張三和李四是朋友關係,並且張三和借款人也是朋友關係,那咱們能夠推理出借款人和李四也是朋友關係。
組團欺詐
相比虛假身份的識別,組團欺詐的挖掘難度更大。這種組織在很是複雜的關係網絡裏隱藏着,不容易被發現。當咱們只有把其中隱含的關係網絡梳理清楚,纔有可能去分析並發現其中潛在的風險。知識圖譜,做爲自然的關係網絡的分析工具,能夠幫助咱們更容易地去識別這種潛在的風險。舉一個簡單的例子,有些組團欺詐的成員會用虛假的身份去申請貸款,但部分信息是共享的。下面的圖大概說明了這種情形。從圖中能夠看出張3、李四和王五之間沒有直接的關係,但經過關係網絡咱們很容易看出這三者之間都共享着某一部分信息,這就讓咱們立刻聯想到欺詐風險。雖然組團欺詐的形式衆多,但有一點值得確定的是知識圖譜必定會比其餘任何的工具提供更佳便捷的分析手段。
異常分析(Anomaly Detection)
異常分析是數據挖掘研究領域裏比較重要的課題。咱們能夠把它簡單理解成從給定的數據中找出「異常」點。在咱們的應用中,這些」異常「點可能會關聯到欺詐。既然知識圖譜能夠看作是一個圖 (Graph),知識圖譜的異常分析也大都是基於圖的結構。因爲知識圖譜裏的實體類型、關係類型不一樣,異常分析也須要把這些額外的信息考慮進去。大多數基於圖的異常分析的計算量比較大,能夠選擇作離線計算。在咱們的應用框架中,能夠把異常分析分爲兩大類: 靜態分析和動態分析,後面會逐一講到。
- 靜態分析
所謂的靜態分析指的是,給定一個圖形結構和某個時間點,從中去發現一些異常點(好比有異常的子圖)。下圖中咱們能夠很清楚地看到其中五個點的相互緊密度很是強,多是一個欺詐組織。因此針對這些異常的結構,咱們能夠作出進一步的分析。
- 動態分析
所謂的動態分析指的是分析其結構隨時間變化的趨勢。咱們的假設是,在短期內知識圖譜結構的變化不會太大,若是它的變化很大,就說明可能存在異常,須要進一步的關注。分析結構隨時間的變化會涉及到時序分析技術和圖類似性計算技術。有興趣的讀者能夠去參考這方面的資料【2】。
失聯客戶管理
除了貸前的風險控制,知識圖譜也能夠在貸後發揮其強大的做用。好比在貸後失聯客戶管理的問題上,知識圖譜能夠幫助咱們挖掘出更多潛在的新的聯繫人,從而提升催收的成功率。
現實中,很多借款人在借款成功後出現不還款現象,並且玩「捉迷藏」,聯繫不上本人。即使試圖去聯繫借款人曾經提供過的其餘聯繫人,但仍是沒有辦法聯繫到本人。這就進入了所謂的「失聯」狀態,使得催收人員也無從下手。那接下來的問題是,在失聯的狀況下,咱們有沒有辦法去挖掘跟借款人有關係的新的聯繫人? 並且這部分人羣並無以關聯聯繫人的身份出如今咱們的知識圖譜裏。若是咱們可以挖掘出更多潛在的新的聯繫人,就會大大地提升催收成功率。舉個例子,在下面的關係圖中,借款人跟李四有直接的關係,但咱們卻聯繫不上李四。那有沒有可能經過2度關係的分析,預測並判斷哪些李四的聯繫人可能會認識借款人。這就涉及到圖譜結構的分析。
智能搜索及可視化展現
基於知識圖譜,咱們也能夠提供智能搜索和數據可視化的服務。智能搜索的功能相似於知識圖譜在Google, Baidu上的應用。也就是說,對於每個搜索的關鍵詞,咱們能夠經過知識圖譜來返回更豐富,更全面的信息。好比搜索一我的的身份證號,咱們的智能搜索引擎能夠返回與這我的相關的全部歷史借款記錄、聯繫人信息、行爲特徵和每個實體的標籤(好比黑名單,同業等)。另外,可視化的好處不言而喻,經過可視化把複雜的信息以很是直觀的方式呈現出來, 使得咱們對隱藏信息的前因後果一目瞭然。
精準營銷
「A knowledge graph allows you to take core information about your customer—their name, where they reside, how to contact them—and relate it to who else they know, how they interact on the web, and more」-- Michele Goetz, a Principal Analyst at Forrester Research
一個聰明的企業能夠比它的競爭對手以更爲有效的方式去挖掘其潛在的客戶。在互聯網時代,營銷手段多種多樣,但無論有多少種方式,都離不開一個核心 - 分析用戶和理解用戶。知識圖譜能夠結合多種數據源去分析實體之間的關係,從而對用戶的行爲有更好的理解。好比一個公司的市場經理用知識圖譜來分析用戶之間的關係,去發現一個組織的共同喜愛,從而能夠有針對性的對某一類人羣制定營銷策略。只有咱們能更好的、更深刻的(Deep understanding)理解用戶的需求,咱們才能更好地去作營銷。
5. 挑戰
知識圖譜在工業界尚未造成大規模的應用。即使有部分企業試圖往這個方向發展,但不少仍處於調研階段。主要的緣由是不少企業對知識圖譜並不瞭解,或者理解不深。但有一點能夠確定的是,知識圖譜在將來幾年內必將成爲工業界的熱門工具,這也是從目前的趨勢中很容易預測到的。固然,知識圖譜畢竟是一個比較新的工具,因此在實際應用中必定會涉及到或多或少的挑戰。
數據的噪聲
首先,數據中存在着不少的噪聲。即使是已經存在庫裏的數據,咱們也不能保證它有100%的準確性。在這裏主要從兩個方面提及。第一,目前積累的數據自己有錯誤,因此這部分錯誤數據須要糾正。 最簡單的糾正辦法就是作離線的不一致性驗證,這點在前面提過。第二, 數據的冗餘。好比借款人張三填寫公司名字爲」普惠「,借款人李四填寫的名字爲」普惠金融「,借款人王五則填寫成」普惠金融信息服務有限公司「。雖然這三我的都隸屬於一家公司,但因爲他們填寫的名字不一樣,計算機則會認爲他們三個是來自不一樣的公司。那接下來的問題是,怎麼從海量的數據中找出這些存在歧義的名字並將它們合併成一個名字? 這就涉及到天然語言處理中的」消歧分析」技術。
非結構化數據處理能力
在大數據時代,不少數據都是未經處理過的非結構化數據,好比文本、圖片、音頻、視頻等。特別在互聯網金融行業裏,咱們每每會面對大量的文本數據。怎麼從這些非結構化數據裏提取出有價值的信息是一件很是有挑戰性的任務,這對掌握的機器學習,數據挖掘,天然語言處理能力提出了更高的門檻。
知識推理
推理能力是人類智能的重要特徵,使得咱們能夠從已有的知識中發現隱含的知識, 通常的推理每每須要一些規則的支持【3】。例如「朋友」的「朋友」,能夠推理出「朋友」關係,「父親」的「父親」能夠推理出「祖父」的關係。再好比張三的朋友不少也是李四的朋友,那咱們能夠推測張三和李四也頗有多是朋友關係。固然,這裏會涉及到機率的問題。當信息量特別多的時候,怎麼把這些信息(side information)有效地與推理算法結合在一塊兒纔是最關鍵的。經常使用的推理算法包括基於邏輯(Logic) 的推理和基於分佈式表示方法(Distributed Representation)的推理。隨着深度學習在人工智能領域的地位變得愈來愈重要,基於分佈式表示方法的推理也成爲目前研究的熱點。若是有興趣能夠參考一下這方面目前的工做進展【4,5,6,7】。
大數據、小樣本、構建有效的生態閉環是關鍵
雖然如今能獲取的數據量很是龐大,咱們仍然面臨着小樣本問題,也就是樣本數量少。假設咱們須要搭建一個基於機器學習的反欺詐評分系統,咱們首先須要一些欺詐樣本。但實際上,咱們能拿到的欺詐樣本數量很少,即使有幾百萬個貸款申請,最後被咱們標記爲欺詐的樣本極可能也就幾萬個而已。這對機器學習的建模提出了更高的挑戰。每個欺詐樣本咱們都是以很高昂的「代價」獲得的。隨着時間的推移,咱們必然會收集到更多的樣本,但樣本的增加空間仍是有侷限的。這有區別於傳統的機器學習系統,好比圖像識別,不難拿到好幾十萬甚至幾百萬的樣本。
在這種小樣本條件下,構建有效的生態閉環尤爲的重要。所謂的生態閉環,指的是構建有效的自反饋系統使其可以實時地反饋給咱們的模型,並使得模型不斷地自優化從而提高準確率。爲了搭建這種自學習系統,咱們不只要完善已有的數據流系統,並且要深刻到各個業務線,並對相應的流程進行優化。這也是整個反欺詐環節必要的過程,咱們要知道整個過程都充滿着博弈。因此咱們須要不斷地經過反饋信號來調整咱們的策略。
6. 結語
知識圖譜在學術界和工業界受到愈來愈多的關注。除了本文中所提到的應用,知識圖譜還能夠應用在權限管理,人力資源管理等不一樣的領域。在後續的文章中會詳細地講到這方面的應用。
參考文獻
【1】De Abreu, D., Flores, A., Palma, G., Pestana, V., Pinero, J., Queipo, J., ... & Vidal, M. E. (2013). Choosing Between Graph Databases and RDF Engines for Consuming and Mining Linked Data. In COLD.
【3】劉知遠 知識圖譜——機器大腦中的知識庫 第二章 知識圖譜——機器大腦中的知識庫
【4】Nickel, M., Murphy, K., Tresp, V., & Gabrilovich, E. A Review of Relational Machine Learning for Knowledge Graphs.
【5】Socher, R., Chen, D., Manning, C. D., & Ng, A. (2013). Reasoning with neural tensor networks for knowledge base completion. In Advances in Neural Information Processing Systems (pp. 926-934).
【6】Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., & Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems (pp. 2787-2795).
【7】Jenatton, R., Roux, N. L., Bordes, A., & Obozinski, G. R. (2012). A latent factor model for highly multi-relational data. In Advances in Neural Information Processing Systems (pp. 3167-3175).
轉自:https://zhuanlan.zhihu.com/p/20394260?columnSlug=liwenzhe