除了知識圖譜,圖還能做什么?
提到圖,大家可能不怎么了解,但是提到知識圖譜(knowledge graph),絕對是當前的熱門話題。近年來,各個行業涌現出大量的垂直應用及服務提供商,各個企業,從技術到業務的各個條線,紛紛學習知識圖譜的概念、技術、建設方法。知識圖譜,是對現實世界的抽象,通過點和邊描述實體之間的關系,構成一個大型的語義網絡,提供一種從關系的視角來觀察世界的方法。但究其本質,知識圖譜其實只是圖的其中一種應用。那除了知識圖譜,圖還能做什么呢?
一、圖直觀體現了實體之間的聯系
提到一個新的東西,首先要知道它是什么。相信之前對圖有了解的小伙伴,一下子就能說出圖的概念:圖(graph)是由一組或多組點以及點和點之間的關系(也被稱為邊)組成的。比如知識圖譜,實際上是把知識提取出來做連接,如果僅僅是把數據連接起來,那可能只是一個數據圖譜。但是在我們與客戶實際交流的過程中發現,只知道圖的概念,是沒辦法真正切換到圖的思維方式的,而圖的思維方式,對于重新思考業務,有著非常大的價值。
什么是圖的思維方式呢?讓我舉個例子,這個場景大家一定不會陌生。白板是公司里最常使用的工具之一。當遇到一個問題需要群策群力的時候,我們會召集一些小伙伴,到一個會議室里進行頭腦風暴。首先,拋出幾個議題,大家發散思維,將想到的東西盡可能多的寫在白板上。然后,將這些信息進行分類、排序,或者繪制一些流程。當苦苦思索,陷入僵局的時候,我們會緊盯著白板上的信息,飛快地運轉自己的大腦,期望能想出一些新的點子。忽然,靈光一現,可能是白板上的某些東西和自己腦中的信息產生了碰撞,也可能是白板上某些信息之間,貌似有一些新的聯系,就這樣,一個新的點子產生了,我們可以就這個點子進行新的討論,并重復這個過程。而解釋這種想法,我只需要把自己的想法寫在白板上,并重新理清關系。
聽起來很熟悉吧?沒錯,這其實就是我們自然的思考方式,也就是圖的思維方式。這個例子中,最重要的是聯系(connection),我們需要把每個人腦中的信息聯系起來,去發現一些新的東西,同樣地,當我們向別人解釋自己的想法,用圖的方式去解釋這些信息如何聯系在一起,構成一個想法,別人也更容易接受。
在偵探電影中,我們經常看到偵探把案情的所有信息貼在墻上,去發現里面一些隱藏的關系,因為這很有可能是破案的關鍵。如果家里的實體書種類繁多,散落在各處,我們在思考的時候,很有可能偶然看到某本書,想到了其中的某些內容,把它們和思考的內容結合起來產生一些新的想法??鐚W科思維,其實也是將一些可能看起來毫不相干的內容聯系起來,產生新的想法或者解決方案。
二、圖思維其實就是發現聯系的過程
所以圖思維,核心是聯系(connection),當我們思考的重點在于事物之間如何聯系,或者期望通過聯系事物去產生一些新的思考的時候,其實已經運用了圖思維。
而意識到這是一種圖思維,會有什么樣的意義呢?還是舉個例子,這其實會讓我們多一種解決問題的方式。
這是斯坦福大學《數理邏輯與人工智能》中的一個問題。
看到這個問題的第一反應,你可能會想著用純邏輯推理的方式來解決這個問題。但是如果用圖的思維方式,我們將解決問題的重點放到了情況之間的聯系上。我們可以先構造一個認知圖(Epistemic graph),列出所有的8種可能情況,通過不確定邊來連接可能情況,去看每個人的認知和可能情況之間的聯系,然后根據條件結合每個結點的鄰邊,不斷縮小圖中的結點的范圍,最后推理出結論。這種方式會讓這個問題變得更加簡單。
圖是一個高度抽象的模型,數據中的各種關系都能用圖表示。圖中的點和邊,可以非常靈活,不局限于現實意義的實體。最直接能想到的當然是某個人可以是點,某個產品可以是點,它們之間的聯系是邊;路口是點,路口與路口連接的XX路是邊。但你完全可以把某個產品的某個特性抽象成點,比如顏色、重量;XX路抽象成點,路口也抽象成點,XX路和YY路的連接是邊。甚至再擴展到一些虛擬的實體,比如可能的情況是點,某筆交易是點,某個訂單是點。甚至到某些分子是點,分子之間的連接是邊(沒錯,圖是可以用在化學/生物等學科上的)。圖由你自由定義,可以連接人,連接物,連接知識,連接數據,連接規則,連接過程,連接抽象的和實際的實體。
三、圖在企業中的實際應用和價值
圖能給企業帶來什么價值呢?上述的兩個例子可能已經給了你一些啟發。圖非常擅長通過聯系發掘數據中隱藏的價值。在國外,其實已經有非常多行業的客戶在用圖做實際應用,囊括了金融、電信、電商、能源、醫療、供應鏈、制造、政府等各個行業。圖本身并不是一個垂直行業的技術,而是通用的技術。
在金融行業,圖可以進行申請反欺詐、反盜刷、信用卡追逃、洗錢團伙發現,事前事中發現潛藏風險,事后降低損失;在電信行業,圖可以和機器學習結合,幫助客戶進行電信反欺詐,實時識別出欺詐電話、廣告電話、騷擾電話、正常電話,并及時報送公安部門;在電商行業,圖可以構建用戶360畫像,幫助客戶進行實時個性化產品推薦;在能源行業,可以構建電網一張圖,進行潮流分析,實現超實時計算;在醫療行業,圖可以對用戶進行實時護理路徑推薦;在供應鏈行業,客戶可以通過圖及時了解某項因素發生變化時,對上下游及總體成本的影響,發現產品延誤、裝運狀態及其他質量控制和風險問題;在制造行業,圖可以找到復雜生產工藝的最佳路徑;在政府行業,圖可以改進社會福利服務管理。在通用行業,圖可以進行數據治理中的數據血緣分析、實體解析,網絡&IT資源優化,為機器學習提供圖特征。
國內的應用場景主要集中在金融行業。當然,圖用來做反欺詐、反洗錢等,是非常適合的,這些也是很成熟的應用。其他行業為什么沒有對圖進行大規模的應用呢?其實是因為,對圖有了解的人,基本集中在學術和計算機領域。而想要將圖的價值發揮出來,需要業務人員的參與和思考,因為業務人員是最懂業務的。理解和使用圖的思維方式,是應用圖解決實際問題的第一步。
四、應用圖分析的條件和工具
我們通常把這種用圖去分析問題的方式叫做圖分析(Graph Analysis)。我們認為,如果想要應用圖分析給企業帶來真正的價值,需要圖的思維方式(產生需求&問題)+企業數據(解決問題的數據基礎)+解決方案(解決問題的方法)+工具(選擇合適的工具解決問題)。
圖的思維方式
由于歷史原因(有興趣的小伙伴可以了解一下數據庫的歷史,導航數據庫-關系型數據庫-nosql數據庫-圖數據庫),當我們思考業務和數據結合的時候,往往會考慮技術的限制,應用關系型數據庫的方式,也就是用表的思路來思考,這會極大的限制我們的思路。而現在有了新的工具——圖數據庫,可以將我們的想法更直接的與工具結合,不需要再將最初的想法打碎成一個個表格,再通過表格來表示實際業務。
舉一個企業反薅羊毛的實際場景,薅羊毛是指商家或金融機構為了拉新會舉辦一些推廣活動,比如每邀請一個新用戶注冊,可以獲得一定的積分獎勵,這些積分可以兌換現金、優惠券或者獎品?;顒由暇€會吸引黑產團伙,這給推廣方造成了大量的資金浪費。薅羊毛和反薅羊毛成為了黑產團伙和推廣方之間的博弈。
針對這種推廣活動,關系型數據庫里最簡單的存儲方式是分為邀請注冊表和積分兌換表兩張表,通過統計的方式去識別黑產團伙,比如每個獨立設備登陸的賬戶數,每個IP上登陸的賬戶數等等。然而黑產團伙可以通過群控設備,虛擬IP等等技術來繞開這些檢測。
但如果轉換成圖的思維方式,著重從關系的角度去分析,會發現一些非常有趣的模式。用戶邀請注冊的這些新用戶,他們既沒有產生新的交易,也沒有邀請新的人,甚至還按時間形成非常有序的排列,這毫無疑問也是薅羊毛的一種模式,單純通過統計很難發現。(詳情可參考https://beader.gitbook.io/tigergraph-tutorials/usecases/invite-graph-econnoisseur-detection/background)
所以第一步,需要業務人員切換到圖的思維來重新思考業務,找到那些以前解決困難或者解決不了的復雜業務問題,嘗試用圖的思維方式來解決,甚至找到一些新的業務價值點。
企業數據
我們的想法往往需要通過數據分析來驗證或者落地。當我們的數據量巨大,且類型復雜的時候,單純的統計分析已經沒辦法滿足我們的需求了。業務人員在進行探索式分析時,需要多維度思考,落地到關系型數據庫里,就體現為多表關聯,在數據量巨大的時候,這對關系型數據庫是個災難。而采用數據倉庫和大寬表的方案也不盡如人意。本質上是因為,這些技術的重點并不是在數據之間的關系上。應用圖分析平臺,業務人員和數據分析人員,都可以從數據的角度出發,去做一些探索,找到一些隱藏的聯系。嘗試從關系的角度,發掘出新的價值。
解決方案
當有了想要解決的問題和解決問題的數據基礎,還需要解決問題的方法。我們可以把行業經驗和圖算法結合起來??梢詮暮唵蔚年P系查詢開始,比如看新進客戶是否和一個已有黑點連接,基于已有的規則做更深度的探索,通過子圖判斷兩個客戶是否相似。同時,還可以利用一些圖算法做輔助,比如我們想要發現一些隱藏的洗錢團伙,欺詐團伙,可以用圖中衡量群體度的算法——魯汶算法(Louvain Modularity);我們想要找到所有客戶中最有影響力的人(KOL),可以用圖中衡量中心度的算法——頁面排名算法(PageRank)。當找到一些模式后,可以通過圖上的模式匹配找到所有的相似客戶,并通過一些目標值做反復的驗證和迭代。業務人員、數據分析人員、IT人員都可以參與到其中,包括一些經驗豐富的解決方案提供商,都是我們有力的幫手。
工具
從業務的探索到最后的落地應用,需要一個安全易用、穩定可靠的工具支持。更重要的是,要選擇合適的工具。
首先,如何使用圖,是純粹的做圖的可視化?還是做圖的查詢計算?還是做圖的數據和業務探索?
其次,是否傳統的關系型數據庫就能解決這個問題,或者圖數據庫才能解決這個問題,還是需要多種工具結合使用。
最后,關于工具本身的功能。業務人員可能更加關注探索與交互的易用性;開發人員可能更加關注開發的便捷性,語言是否強大;運維人員可能更加關注系統管理、資源監控。不同的角色有不同的關注點,這都是工具需要解決的問題。
看完上述四個步驟,你肯定會有很多問題,比如,怎么從數據的角度在圖中做探索呢?有沒有什么已經落地的,圖的解決方案?關于企業不同角色對于工具的關注點,TigerGraph能夠滿足嗎?由于篇幅有限,這些問題,我們會在后續的內容中一一解答。
總結一下,除了知識圖譜,圖還能做什么呢?Think in graph, and you will find it.