當知識圖譜遇上文字智慧處理,會擦出怎樣的火花?
目前以理解人類語言為入口的認知智慧成為了人工智慧發展的突破點,而知識圖譜則是邁向認知智慧的關鍵要素。達觀資料在2018AIIA人工智慧開發者大會承辦的 語言認知智慧與知識圖譜公開課上,三位來自企業和學術領域的專家分別從不同角度講述的知識圖譜的應用和發展。 文字根據達觀資料副總裁王文廣演講內容《知識圖譜與文字智慧處理》整理所得,內容略有刪減。
人們一些模糊詞義的表達,比如:以前沒有錢買華為,現在沒有錢買華為。”這兩句“沒有錢”的意思很不一樣,我們人理解這樣的句子很容易,但對於計算機來說理解便很困難。
同一句話在不同場景下含義也很不一樣,比如說從青島開高速出來在車上談“G20”是指高速有沒有堵車,如果是北京或者是杭州談G20有可能是高鐵的票,在一些環境下G20也可能是20國集團峰會,這些表達的意思非常需要語境和背景知識的理解。計算機做文字閱讀理解面臨的挑戰主要包括三個方面:
(1)缺乏常識體系
因為沒有豐富的知識體系難以對文字背後的含義進行深入理解和推導
(2)缺乏領域的專家經驗
人類的業務、法務、財務專家因為有行業知識,所以閱讀文字後與知識對比後可以形成專業的見解
(3)模糊、歧義、抽象會增加困難
語言中模糊不清的現象比比皆是,需結合語境去理解
知識圖譜是其中一個為解決問題提出來的方法——我們可以把人類的各種知識以知識圖譜的形式沉澱下來,讓計算機利用這個知識圖譜理解更加複雜的含義。
知識圖譜基本概念
知識圖譜本身是從語義網發展出來的,也是谷歌提出來的概念,知識圖譜的構建也是現在AI領域裡面的非常大的難點,這是因為不僅涉及到AI領域各方面的技術,還包括人類各種領域的知識所形成的專家系統。
構建高質量的不斷演化知識圖譜也是AI領域的難點之一, 因為知識圖譜本身研究的意義就是可以為語言提供更多的背景知識,讓計算機更好的讀寫文字。基本現狀像谷歌、百度、搜狗都有大量的通用知識圖譜,還有垂直領域的醫療或者是金融領域的知識圖譜的廣泛應用也很多,如何結合業務場景使用好知識圖譜是落地的根本要素。

知識圖譜本質上是一種語義網路,將客觀的經驗沉澱在巨大的網路中,結點代表實體(entity)或者概念(concept),邊(edge)代表實體/概念之間的語義關係,成熟的圖資料庫如neo4j,Dgraph,JanusGraph等可以用來儲存知識圖譜。
知識圖譜更加廣泛的被認知的是一個三元組的表示形式。 就是有三個值,第一個表示第一個實體,第二個值表示第二個實體,中間值是兩者之間的關係。三元組本身基於三元組的語義網發展起來,有RDF的檢索語言,還有基於RDF的儲存的開源的方式,都是很方便使用方式。
深度學習的發展促使知識的表示從三元組邁向稠密向量表示, 從Word2Vec到對三元組的表示學習,稠密向量,實體等本身可以用Word2Vec等進行表示學習,例如 Vector(山東省) – Vector(威海市) = Vector(廣東省) – Vector(佛山市) ,對於三元組的表示學習,有各類深度學習演算法,如TransE、TransH、TransR、TransG、KBGAN、等。
知識圖譜上的應用非常多,比如推薦系統可以用上知識圖譜來實現更加智慧的推薦,除此之外,知識問答、文件稽核等也是知識圖譜常見的應用場景。
通用型知識圖譜和行業型知識圖譜
一般來講會把知識圖譜分成通用和行業的知識圖譜,通用型的就是剛剛提過像谷歌,構建知識圖譜就是一個面向全領域,沒有一些特別的偏好,國內有百度或者是搜狗的知識圖譜,還有一些是開放式的像wikidata 以及中文openKG等。
行業垂直型知識圖譜是面向某一特定領域,如金融、法律、財會、教育等,以專家知識為主, 通過結合業務場景,基於行業資料構建,打造“語義層面的行業知識庫”,通常也更加專業。
比如向百度或者是搜狗搜一些人名地名會以卡片的形式展現出來,這個是知識圖譜的現實的應用。金融領域會用知識圖譜分析借貸關係或者是企業的信貸狀況等,這是非常強的應用場景。

目前達觀達觀構建一些企業資訊法律類的知識圖譜用來幫助我們的文件智慧審閱系統更好的稽核合同或者是專業文字,像財報或者是上交所的公告等。
如何構建知識圖譜?
知識圖譜有這麼多好處,我們怎麼去構建一個知識圖譜? 簡單來說,構建知識圖譜其實是一個系統性的工程, 不是單一的演算法能夠完成。

如果要構造一個完整的知識圖譜則是非常複雜的系統工程,會涉及到schema(本體)的構造,然後會有一些知識抽取或者是關係抽取的概念語言。其次,需要對知識推理(關係推理)的結果進行質量評估。此外,需要對知識抽取的監督演算法進行樣本標註,或者對自動標註的樣本進行效果確認。
另外對於知識圖譜來說非常重要的一點是反饋機制,我們怎麼樣利用反饋系統不斷地讓知識圖譜進行進化?這個在構建知識圖譜的過程當中非常需要考慮的問題。此外,工程上詳細的logging和報表系統以在需要的時候進行分析和糾正。
分層次的領域模式(Schema)非常重要

schema的構造是層級的方式,專業領域是先按照專家經驗構造出一個知識圖譜的schema,然後在實踐過程當中不斷完善,像通用的谷歌或者是百度他們自上而下利用類演算法抽取知識圖譜,然後歸類到已經有的schema,如果歸類不到就想方設法生成新的schema的模式匹配它。
在這裡面知識圖譜構建過程當中,除了schema之外就是往圖譜裡填內容,這個過程就是知識抽取,本身是包括了實體抽取和關係抽取,還有屬性抽取這幾個概念, 在實踐過程當中,其實不完全是像在論文裡面看到的各種抽取,有可能是從結構化資料庫裡面按照某一種專業的規則直接轉化, 因為很多的知識其實已經儲存在各個企業裡面關係資料庫裡面。這種情況下可能是用了簡單的規則就轉化成知識圖譜的一部分的內容。
另外一部分是半結構資料,維基百科很多的標籤是已經存在在裡面的,還有國家企業資訊公示網的各種實體公司名或者是企業法人都是以半結構化存在,這個用模板匹配就可以完成了。
這裡面簡單的就總結了剛剛提到的點,在不同的背景下可能選擇不同的知識抽取的演算法可以更好的去幫助我們構建一個完整的知識圖譜。

這是一個像BiLSTM-CRF用於命名實體識別常用的辦法,幫助我們識別非結構化文字,比如說書籍或者是合同或者是新聞裡面的實體。

Bi-LSTM雙向網路分別從前往後和從後往前進行序列訊號的記憶和傳遞是常見做法,CRF等經典方法結果可控性好, 在序列標註時,在頂層用CRF對Bi-LSTM的結果進行二次操作可得到更好的結果。
除了剛剛提到的知識抽取之外,其實抽取完之後在不同的地方表現方法和表達方式不一樣, 在不同來源的知識裡面如何融合成一個相同的?這個是我們需要考慮的點 ,這裡有幾個例子:比如說蘇東坡在不同的地方會被提到,而且有不同的名字,可能是曆書裡面有東坡學士這樣的說法,還有蘇軾的叫法。
另外這些不僅僅存在中國,因為多元跨國之間的交流也導致很大的問題,比如說後面的例子是美國總統特朗普,中文的官方名稱是特朗普,大家還有稱他為川普,還有其他的語言西班牙或者是土耳其語。 在多元的環境下如何進行知識圖譜?其實對知識圖譜構建是非常大的挑戰。

這是一個網路上的例子,來自於幾個不同的影視劇或者是小說,裡面的部分人是同一個人,但是不同的小說可能有不同的名字或是不同影視劇裡面的主角,這樣如果做成一個知識圖譜如何歸結好?利用各種影視劇小說裡面的內容進行推理,其實是多元知識融合裡面非常通俗易懂的例子。這個是人工整理,人有專業的知識非常好做,但是耗費了大量的人力,不能把各種知識都做很好的融合,所以我們需要發掘更多演算法去實現這個目標。
除了剛剛提到的抽取和融合之外,對於知識圖譜的儲存其實也是非常大的挑戰。 大一點的通用的知識圖譜都是幾十億甚至上百億的節點,可能百億千億級別的關係,如何做好儲存系統是極其需要考慮的點,下圖總結目前常見的幾種儲存型別,像RDF和ApacheJena以三元組的形式表現的,NoSQL也可以儲存,但是如果量大會很吃力,開源的Neo4j是單機的,DGraph正在發展,按照官方的說法支援千億級別的,但是現在還沒有達到,但億級別是完全沒有問題的。

下圖一個JanusGraph,有如下幾個特點:

- 十億以上的節點和邊
- C* 或 Hbase等
- 與Spark無縫整合
- 支援使用ElasticSearch進行高效檢索
- 最終一致性
- 支援Gremlin語言進行線上分析
- 開源
除了以上這些點,如果構建好了知識圖譜,要對知識進行推理和評估, 知識推理本身可以補充知識圖譜的內容,或者是進行完善或者是較驗。 對於知識圖譜大部分還是需要人工的參與。
Path Ranking Algorithm(PRA)演算法和DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning,這兩個是知識推理的前沿進展,有興趣可以去看一下。
總之,從合適的業務場景出發是成功構建和使用行業知識圖譜的關鍵。

知識圖譜行業應用
知識圖譜的作用是銜接企業的資料和業務需求。

對於企業來說,是把原有的分散的資料變成集中化的管理。 可能是遇到比較大的集團企業他的傳統的資料是分散的,不同的部門和公司之間,這部分的知識是沒有被更好的利用起來。如何利用好這些資料?更好的支援業務,讓整個業務更高效的執行?其實是整個企業在做知識圖譜需要考慮的一個點。
對於我們來說他的難點就是在於因為本身的資料非常的分散,不同的資料結構表示不一樣,存在不同的地方有不同的表達方式,如何做好這部分融合的工作其實是很大的難點。
知識圖譜的應用場景可以是簡單的利用,即直接用知識圖譜的分析, 下圖比是早的阿里巴巴的分析圖,當時發生了一個事件馬雲把支付寶私有化,當時他們畫了一個阿里巴巴的股權結構圖,像這種股權分析在金融領域裡面是非常直接的知識圖譜的應用。

除此之外,信貸分析也是經典的應用場景,直接用知識圖譜或者是知識推理進行分析,生成相應的報告或者得出一些結論,這個是最直接的應用場景。
第二是利用知識圖譜做一些輿情分析熱點分析,把知識圖譜和其他的結合起來使用。

達觀擅長的VOC使用者評論分析,會涉及到使用者評論歸類到哪一個實體裡面,比如說一個企業會抓他的所有的評論和微博資料,會歸納到具體的品牌和產品上,甚至是歸到產品的某些類別中。比如說手機,有不同的品牌,每個品牌下面有不同的型號,每個型號下有不同的版本,手機本身有不同的零件——螢幕或者是相機之類。每個評論過來之後其實針對的是某一個具體手機的型號,在這個型號裡面有可能是針對整機進行評價,有可能是針對整機裡面的部件。那麼我們需要做的更好的分析就是可以利用像手機這種類似的知識圖譜對它進行更深入的分析。
招聘也是達觀目前在做的,有企業在用,可以對候選人和職位構建出圖譜進行分析,更好的理解這個職位需要招什麼人?也可以更好的瞭解候選人適合哪一個職位。
此外,基於知識圖譜實現更加智慧的搜尋。 基於知識圖譜的檢索最早用在搜尋引擎上面,搜尋利用這些之後可以更好的理解使用者的意圖,達到更好的效果。
推薦系統也可以用知識圖譜,這個是達觀在做的,達觀的推薦系統在業界比較領先,知識圖譜可以針對不同的場景或者是不同的型別還有不同的領域推薦。推薦中最重要的一點是冷啟動問題,如果完全沒有資料的系統或者是剛構建的系統,想達到好的推薦效果比較難, 利用知識圖譜裡面的內容能更好的在冷啟動的環境下達到更好的效果。 如何利用深度學習把知識圖譜用在推薦系統上,也是達觀資料在研究的內容。
構建知識圖譜之上的問答系統是最直接的,知識問答是你需要了解使用者問的問題是什麼意思?然後給他一個最直接的答案。知識問答除了像各種搜尋引擎,這個裡面的例子有幾個,一個是問范冰冰的男友是誰,百度就直接給出一個卡片。

前面就是一些通用場景下的應用場景,下面講講達觀資料對知識圖譜的的一些應用。

這個場景是合同審閱,自動化的幫企業審閱各種合同文字和公告,合同需要符合合同法規定的,以及企業內部的法務部門對合同有一些要求,以及本身合同是一個非常規範的文字,不允許有錯別字等。
達觀文件智慧審閱系統能利用知識圖譜裡面包括對法律文字的語義化的圖譜應用,自動完成審閱。以及對企業資訊可以從工商資訊網的資訊裡面可以做一些較驗。

推薦系統剛剛提到過,推薦系統裡面應用到知識圖譜,這個是簡單的例子,比如說達觀資料和人工智慧公司,是屬於人工智慧的一個領域,如果一個使用者對人工智慧感興趣,對達觀相關的資訊就感興趣,比如說達觀的融資資訊,這個對人工智慧來說是一個比較有用的新聞,可以判斷這個領域是不是繁榮?估值是不是上漲了還是下降了?

上圖是達觀用深度學習的方式把知識圖譜的三元組表示應用到協同過濾和推薦相關的領域。
總結
前面簡單的介紹了整個知識圖譜的相關的內容,最後做一些總結。
1.構建知識圖譜本身是非常系統性的工程,包括計算機的方方面面還有實踐過程,以及企業真實應用場景中包括對企業的不斷的溝通,不同部門之間整合的過程。
2.整個知識圖譜的構建沒有”銀彈”,沒有一個統一或者是完美的方法搞定一個事情,在做事情的過程當中需要因時因地制宜的實現。
3.知識圖譜的構建能有效提升文字智慧處理的效果。
4.知識圖譜可能是走向認知智慧的關鍵要素。
5.知識圖譜需要結合應用場景做分析落地,落地之後還要不斷的優化總結來提升整個效果。
關於嘉賓
王文廣 ,達觀資料副總裁,在人工智慧領域和系統架構設計上有十餘年工作經驗,浙江大學計算機碩士。曾擔任金融AI公司Kavout首席架構師,將人工智慧(AI)和自然語言處理(NLP)技術應用於金融、證券、量化交易等領域,效果得到美國大型基金公司認可。
曾負責盛大創新院搜尋、推薦、廣告等多個專案的架構設計工作,所設計和開發的系統具備海量資料的快速處理和高度智慧的挖掘能力,多次獲得嘉獎。早期在百度負責MP3搜尋、語音識別與搜尋和音訊指紋等系統的核心研發。