知识图谱如何让智能金融“变魔术”
作者簡介:?
鮑捷,文因互聯CEO。Iowa State University博士,研究領域包括神經網絡、信息論、機器學習、邏輯與推理、語義網、自然語言處理等。三星S-Voice個人助手個核心設計者、語義網基礎國際標準OWL2作者之一。?
王叢,文因互聯CKO。美國Wright State University輟學博士生,專長知識提取、本體建模、語義推理。曾參與歐盟的大規模知識加速器項目、愛爾蘭DERI研究中心RDF規則推理系統等項目。?
本文為《程序員》原創文章,未經允許不得轉載,更多精彩文章請訂閱2017年《程序員》
什么是智能金融
智能金融,顧名思義,就是人工智能在金融領域的應用。智能金融還是一個比較新的方向,整體上還處于探索的階段。首先,我們需要澄清它和其他一些概念如金融科技、互聯網金融的區別。
過去幾年來,“金融科技”(Fintech)成為一個熱門詞。但是大部分的金融科技產品,例如銀行借貸、券商研究、早期投資、對沖基金、外匯支付等還是停留在對金融信息獲取、統計量化模型、交易完成的信息技術(IT)保障上。智能金融則再進一步,試圖用機器學習、知識表現等人工智能的分支來做決策支持。
智能金融也要和“互聯網金融”區分開來。互聯網金融(互金)是現在大家提到“金融科技”時最容易想到的,在國內幾乎成了“P2P”的代名詞。互聯網金融關注的是把交易行為或者獲客渠道搬到互聯網上來,其中會有一些智能的應用,但總的來說還是傳統人力服務的互聯網化,和“智能金融”的差距很大。
智能金融也借力于金融科技和互聯網金融的發展。金融機構開始相信技術的價值不僅僅是依賴經驗和人脈,一些統計算法(如時間序列分析)的成功也為更智能算法的應用起到了教育、冷啟動市場的作用。大量的金融數據互聯網化也提供了智能金融不可或缺的訓練數據。
智能金融現在中國市場上最常見的是征信,這和互聯網金融的發展息息相關。個人征信可能有上千家在做;企業征信也在起步,最初步的是各種工商注冊數據處理。在美國,我們接觸較多的有兩個領域,一個是傳統大銀行里的數據分析,另一個是交易策略的生成,類似橋水(Bridgewater)、Kensho在做的。當然人工智能分支很多,其他的分支和金融的結合也有很多應用,如圖1所示。
據我們了解,這些機構里的人工智能,可以分為機器學習和語義分析兩大塊。從算法層面講沒有什么太過神奇的東西,很多都是十幾年前就知道的方法。不管是征信還是策略生成,或者信息挖掘,基本都可以映射到“語義數據集成”這個經典的老問題上,進步一些的就是語義搜索。當然解決這個問題也不簡單,需要機器學習、數據庫、本體和知識庫等多種方法的混合應用。所以當前智能金融公司招聘的人才,主要是這樣的人。
智能金融能否“變魔術”
就如何在國內展開智能金融應用,我們接觸了很多金融界人士,包括風投、孵化器、券商、私募、銀行、交易所、研究所、監管機構等等,涉及的問題有行業研究、企業研究、盡職調查、交易撮合、并購、投資顧問、理財顧問、個人征信、企業征信、風險控制、系統風險防范等諸多領域。盡管金融面臨的具體問題千差萬別,但總的來說集中在“價值判斷”和“風險評估”兩個大方面。
但是如何做價值判斷和風險評估,就是見仁見智的問題,沒有統一的方法,甚至有時候看起來純粹是“拍腦門”。比如并購業務怎么找到合適的殼公司,有一個經驗模型是“三分鐘找殼法”,包括七八項判斷標準,其中一條是實際控制人應該是大學畢業、40-50歲之間。這有什么道理?但是在一些場景上可能就是有意義的。再如一位VC合伙人,判斷是否投資一個項目,基本上5分鐘就可以憑直覺做出,只看商業計劃書里的三五頁、項目的來源和誰在背書,很快做最終的決定。
乍看起來一點也不“理性”的決策流程,其實是很有道理的。金融決策的特點是涉及的因素實在是太多了。金融產品可能是最復雜的商品,一份股轉書有兩百多頁,還有大量的年報、半年報、研究報告、公告、反饋意見、盡職調查結果……但很少有人是看了這幾百頁的材料再做決定的,往往就憑經驗和人脈,直接“變魔術”,做出決定。
機器能不能也“變魔術”,替代人做出價值判斷和風險評估呢?市場上不乏這樣的探索者。但是深入理解金融和人工智能的人會知道,人工智能和市場研究員搶飯碗的擔心在短期內是多余的——雖然長期看可能會發生。
金融數據發展的五個階段
我們認為,想讓機器“變魔術”,要依次解決五個問題(每一個問題都依賴前一個問題的解決)。現在我們依靠人“變魔術”,是因為這個五個問題(特別是后面的問題)還沒有完善的解決方案,還需要人的經驗和人脈(信任、背書)來引導。但是每一個問題的解決,都可以更多地利用機器的力量,獲得更智能的工具來做出價值判斷和風險評估,人則有更多的時間去做只有人才能獲得的“洞察”(insights)。
第一個問題是從物理世界獲得數字化的數據。大多數買方和賣方的數據,其實是很難被機器、甚至人去訪問的。很多時候還是需要人面對面的交談、親臨現場的訪問,才能得到決策的依據,甚至僅僅是獲得一個行業里中小企業的名錄都是很困難的事。現在有了新三板系統,有了巨潮網上的信息披露,數據獲取成本才降下來,并使后續的機器處理成為可能。最近股轉系統要求券商留掛牌過程中的電子底稿,長遠看就是特別有意義的事。
第二個問題是從“臟數據”中獲得“干凈數據”。數字化數據中依然有大量的“臟數據”,例如新三板披露材料中有1/4是掃描件,大量的公告是不規范的PDF文件,難以做文本處理,大量的財務數據用不規范的表格展示。至于網上千差萬別的新聞數據、研究報告就更“臟”了,很多數據(如財務、股權結構、股東結構)隱藏在圖片中,難以提取、統計、匯總、比較。XBRL(金融數據結構化)報表只解決了一小部分問題,而且還沒有對公眾開放。現在各家機構都在用實習生、初級研究員做這些數據的提取工作,極為浪費人力。
第三個問題是從數據中辨認金融“實體”。實體(entity)包括企業、投資機構、人(高管、股東、投資人、合伙人等)、行業、產品、事件、案例、法規等等。數據不僅是一堆漢字和數字的組合,一次定增公告里會提到項目、產品、定增對象(人或者機構),供應商和收入來源里會提到上下游企業,投資人簡歷里會提到學歷和以前的職務。這些實體和它們的屬性往往很有價值。例如一家券商曾委托我們篩選股東里不含契約型基金的公司、在江浙地區的投資基金等等,這就需要我們不僅把股東、基金的名字看成字符串,而且要理解它是什么樣的機構、有哪些地域屬性、分類屬性等。這些數據分散在很多地方,如股轉系統、工商網站、行業協會、機構官網。只有做好實體的識別,才能把這些信息串起來。
第四個問題是發現金融實體之間的深入關系,形成“知識圖譜”。金融決策需要的洞察,往往不是一眼能看出來的。例如投資公司對企業的投資,往往通過各種子公司和“殼”來完成,僅僅依賴股東披露或工商注冊信息(包括子公司、孫公司的工商信息)是不夠的,還需要一些規則和數據挖掘來發現隱藏得很深的關系。我們曾對一家投資公司做了個案研究,發現單純從披露數據和工商數據,只能獲得一半的投資事件,而通過深度規則挖掘,才能獲得比較完整的投資組合。此外如行業對標關系、行業上下游關系、供應鏈關系、股權變更歷史、定增與重大資產重組的關系、多張財務報表之間的數據交叉驗證,都需要深入關聯來自多個源頭、多個時期、多個企業之間的數據關系。
第五個問題是在知識圖譜的基礎上表達業務邏輯。掛牌、定增、并購、對沖、二級市場交易等等,每一個業務場景都會有自身的邏輯。我們遇到很多研究員、投資總監在學習Python、R、Matlab,因為他們痛感自己腦子里的邏輯,難以用文字或者Excel表格表達出來,市場上也沒有一個好用的工具,幫助他們在數據的基礎上把被驗證有效的業務邏輯清晰地表達出來,以免總是要做簡單重復勞動。邏輯的表達可能是看數據的一些方式、處理數據的一些規則、展示數據的一些模板。一旦可以把邏輯數字化,一些比較初級的價值判斷和風險評估就可以由機器來做了。
解決了這五個問題,我們就擁有了“變魔術”的有力道具,如圖2所示。當然,這并不是說,我們需要把這五個問題都解決了,機器才能輔助人來“變魔術”。每個層次都可以比之前的層次更能幫助人快速發現洞察、做出判斷。每多一些機器的輔助,人就可以更好地集中精力去完成機器不擅長的工作,當好“魔術師”的角色。
那么,當前這個階段,技術發展到了哪一步呢?就金融領域的應用而言,我們認為美國領先中國很多。如表1所示,美國在各個層面都有相應的服務提供商,而中國僅僅在干凈數據層面有了成熟的解決方案。在實體數據層面,中國還只是剛剛開始(如一些行業數據庫和工商信息服務商),而美國七八年前就已經有了成熟的服務。再往上的圖譜數據和業務邏輯,中國基本還沒有對應的服務者。不過也需要指出,業務邏輯和“魔術”的層面,美國金融領域的嘗試也是初步的,現在還很難說已經走通了。
總結來說,美國的成熟行業前沿(state of the art)在圖譜數據層面,而中國在干凈數據層面。
因此,我們認為,當前中國的金融智能化,應該聚焦于基礎數據的實體化和圖譜化,讓數據更可信、更好用、更容易被發現和獲得。
分析層面的技術應用
數據發展的5個階段,也可以從分析的角度來看。數據質量的提升,依賴于不同層面分析方法的應用,總體如表2所示。
1 . 首先是基礎數據的可訪問性。這是其他一切事情的基礎。基礎數據如果被封閉在部門的高墻里,或者封閉在Excel表格、PDF文件、專用的數據終端里,我們不得不花費很多人力和時間去復制、粘貼,甚至進行手工錄入這種高度浪費人力的工作。此外現在是移動時代,人們在手機上經常需要做一些快速的輕量級的信息處理,傳統的金融數據工具都太重,可訪問性不好。
提高可訪問性的主要技術手段是把數據轉化為“鏈接數據”(linked data),就是方便在Web上訪問和相互鏈接的數據。里面涉及爬蟲、PDF文本化、表格提取、圖像OCR、文本清理等技術,也利用JSON/REST API或者新一代的語義數據接口(如RDF和JSON-LD),提供不同應用之間跨平臺的對接。
2 . 數據的可發現性。金融數據的問題不是數據太少,而是數據太多。怎么從紛繁蕪雜的數據里找到少數真正有價值的數據?怎么快速定位只是模模糊糊有點印象的數據?這些是后續分析的基礎——因為金融分析一定是人和機器協作的過程,不是機器有個銀彈算法就能搞定的,一定要提高對人友好的數據可發現性。
可發現性主要是利用語義搜索引擎和探索引擎。金融搜索引擎的背后核心技術是高質量的知識圖譜和大量的業務規則,幫助實現聯想、屬性查找、短程關系發現。探索引擎,如分面瀏覽器,也是在知識圖譜的基礎上,則提供了人機協作的界面,讓人對數據的探索過程可以很方便地被記錄、迭代、重用。此外推薦系統和推送系統也非常有用,幫助金融用戶聚焦在關鍵數據上,更省時省力地做投前發現和投后跟蹤。
3 . 數據深度關系的發現。找到那些人力根本看不出來的關系。人最多能看一兩百個維度,機器可以看成千上萬個維度。比如一個企業的重大風險提示和當前發生的新聞事件之間的關系,人力是很難監控和判斷這么多企業的那么多相關動態的,機器可以幫助我們。
這一部分依賴的技術主要是各種自然語言理解的方法,特別是關系抽取(Relation Extraction)。此外知識推理的方法也非常有用,通過推理規則可以發現隱藏得很深的關系。
4 . 領域知識的集成。金融涉及國民經濟各個領域,官方分了一百多個領域只是為了管理的方便,真正可用的領域大概有幾百個。這些領域都或多或少需要集成領域的知識。不管是投資有色金屬還是珠寶,領域的關鍵概念、產品分類、關鍵人物、市場競爭情況等,都需要梳理。
這一部分用到的主要技術是領域知識庫或“本體”(ontology)的構造和對齊,有文檔結構分析、篇章分割、常用詞和新詞發現、中文分詞、實體提取、實體消歧、實體鏈接、實體對齊、關系提取、本體學習、規則建立、本體映射等流程。另外常識知識庫如Freebase、DBPedia、Wikidata也是有用的。
5 . 金融業務知識的集成。并購、征信、融資、資管、對沖、二級市場交易等等,在每一個具體的業務場景上,都需要業務邏輯,然后在基礎數據和領域知識的基礎上表達這個邏輯。并購找殼有邏輯,股票日內交易預警有邏輯,這些邏輯要在數據之上表達為模型。需要一個系統來方便金融人士表達這些模型、重用這些模型、學習這些模型。
這一部分主要是用到知識建模和推理的技術。例如Palantir提供了一個“本體編輯器”來幫助金融人士來表達他們對數據的理解,把數據探索的過程表達為可重用的模型。此外我們通常也會利用可視化技術來提高從業者的工作效率。
6 . 策略的生成。到了最高的層面,就又是“魔術”了,機器輔助我們做出了價值判斷、風險判斷,通過過往的案例或者既定的邏輯,提供給我們可行的策略,或者策略的決策依賴點。
這個層面可以說是人工智能技術的集大成。從用戶交互角度有意圖理解、查詢生成、自然語言生成、用戶畫像、記憶匹配等;從數據層面有與情分析、規則提取、知識庫檢索、推理機、查詢分解和優化、多渠道證據收集和置信度分析等;從業務層面有財務模型、投資模型、風險模型、相關度建模、邏輯生成等。
系統設計
上文說的數據問題和分析問題,需要很大的投入才能構造出完整可用的系統。沒有底層的基礎的工作,就想跳到“魔術”的層面,是不切實際的。當然,這并不意味著底層的工作、中間步驟本身就沒有實用價值。比如僅僅是基礎的實體數據,解決它們的跨平臺的可訪問性和可發現性,就能解放很多人力出來。中國的很多金融機構都在用實習生和初級分析師做簡單重復勞動,復制粘帖這些數據,這是迫切需要改變的。我們從知識圖譜的四個層面來探討如何設計系統:
- 知識提取:垂直領域的知識提取很難復用(提取主營業務的代碼沒法用在提取上下游關系中),每一個信息點的提取成本都不低,首先要清楚的就是信息的重要程度以及需要的粒度。用于搜索只需要段落級別的提取,而做深層關聯才需要準確的實體提取。此外,知識提取是需要開發一些輔助工具來提高效率的,最簡單的是文本檢索系統,可以用Elasticsearch快速開發,幫助開發人員定位信息所在的大致段落,再針對這些段落提取;還可以開發一些簡單的交互工具,幫助非開人員來進行標注。提取的過程中要順帶建立詞庫,這個詞庫不僅可以提高提取的精度,也會用于后續的知識分析和知識檢索。知識提取是個反復優化的過程,要開拓思路,玩轉各個NLP工具,聯系親朋好友求取詞袋,不能一味死摳正則。
- 知識存儲:目前的圖數據庫都有不同方面的不足,如Neo4j性能低下,基于RDF的Triple Stores需要高昂的學習成本,Titan盡管性能優異但目前已無社區維護,而有潛力的Spark GraphX則剛剛起步,各方面接口還不完善。所以,維護一個在線的圖數據庫可能會出現各式各樣的問題,我們建議使用傳統的PostgreSQL作為主數據庫,穩定、高效,并且支持JSON這種弱Scheme格式。傳統數據庫很難處理復雜的圖查詢與推理,對此需要一個離線的圖數據庫做計算,計算完成后再將結果Push回主數據庫。
- 知識分析:知識分析包含很多環節,比如實體對齊,兩個同名同姓的人需要通過簡歷信息匹配到彼此;比如關系挖掘,企業間需要通過主營業務建立上下游關系或是競爭關系。基本的圖關系建立好后,復雜的推理則由具體的業務邏輯驅動,一個推理可以轉化成一個復雜的查詢語句,并且用一種人們易懂的語法結構維護,直接將業務邏輯寫到代碼中會帶來后續的維護困難。
- 知識檢索:檢索效果的好壞取決于前面的數據處理結果,但從一開始設計時就要留出人工修改的接口,能方便地直接將Query映射到搜索結果,一個優秀的搜索系統需要大量的人工優化。通常新的搜索引擎面臨冷啟動的問題,沒什么用戶數據,無法分析要優化哪些詞,這時可以考慮用相同垂直領域的其他網站作為語料,取其高頻詞;甚至可以詢問百度、Google內部人員了解熱搜詞。
結語
金融和所有其他領域一樣,遲早要被互聯網滲透,被人工智能滲透。現在我們靠經驗和人脈來做出很多決策,是在數據不足、分析能力低下的情況下不得不做的妥協。經驗和人脈以后依然很重要,但是我們會越來越多地依靠機器的幫助。不同于AlphaGo能超越圍棋人類冠軍,金融輔助判斷工具超過最優秀的投資人還比較困難,但是人工智能可以提供大量的輔助決策工具,讓投資人在形成邏輯鏈條的過程中,更容易地獲得數據和分析層面的支持,大大提高工作效率。
在整個技術鏈條中,知識圖譜居于核心的地位,可以說是金融報表電子化(以XBRL為代表)以來又一次質的飛躍。知識圖譜是金融數據分析從簡單的量化模型走向更為復雜的價值判斷和風險評估必經的一環,是把人的經驗和人脈逐步變成可重用、可演化、可驗證、可傳播的知識模型的方法。在系統的構造中,知識圖譜彌補原有數據庫的不足,把機器學習、自然語言處理、深度學習這些知識提取方法,領域詞表、分類樹、詞向量、本體這些知識表現方法,RDF數據庫和圖數據庫這些知識存儲方法,和語義搜索、問答系統、分面瀏覽器這些知識檢索方法粘合在一起,提供金融智能化的工具集。
上文提到了推進金融智能化的一些問題,但這并不是說智能金融要在遙遠的將來才能實現。其實基礎的算法都是很常見的,過去15年的語義網、互聯數據、知識圖譜的發展,也為我們準備了大量的底層數據、開源工具(如圖數據庫、檢索引擎、NLP工具)。現在這個領域到了一個轉折點——智能金融需要把多種已經比較成熟的人工智能工具結合起來,具體來說就是知識提取、知識表示、知識存儲和知識檢索這幾個不同的分支,按工程不同階段的需要象繡花一樣配合好,在應用場景上落地——這種結合的條件,目前已經成熟了。
總結
以上是生活随笔為你收集整理的知识图谱如何让智能金融“变魔术”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻量级大规模机器学习算法库Fregata
- 下一篇: 2017年深度学习十大趋势预测