隨著大數(shù)據(jù)的應(yīng)用越來越廣泛,人工智能也終于在幾番沉浮后再次煥發(fā)出了活力才写。除了理論基礎(chǔ)層面的發(fā)展以外葡兑,本輪發(fā)展最為矚目的是大數(shù)據(jù)基礎(chǔ)設(shè)施奖蔓、存儲(chǔ)和計(jì)算能力增長所帶來的前所未有的數(shù)據(jù)紅利。
人工智能的進(jìn)展突出體現(xiàn)在以知識(shí)圖譜為代表的知識(shí)工程以及以深度學(xué)習(xí)為代表的機(jī)器學(xué)習(xí)等相關(guān)領(lǐng)域讹堤。
未來伴隨著深度學(xué)習(xí)對(duì)于大數(shù)據(jù)的紅利消耗殆盡吆鹤,如果基礎(chǔ)理論方面沒有新的突破,深度學(xué)習(xí)模型效果的天花板將日益迫近洲守。而另一方面疑务,大量知識(shí)圖譜不斷涌現(xiàn),這些蘊(yùn)含人類大量先驗(yàn)知識(shí)的寶庫卻尚未被深度學(xué)習(xí)有效利用梗醇。
融合知識(shí)圖譜與深度學(xué)習(xí)知允,已然成為進(jìn)一步提升深度學(xué)習(xí)效果的重要思路之一。以知識(shí)圖譜為代表的符號(hào)主義叙谨,和以深度學(xué)習(xí)為代表的聯(lián)結(jié)主義温鸽,日益脫離原先各自獨(dú)立發(fā)展的軌道,走上協(xié)同并進(jìn)的新道路手负。
大規(guī)模知識(shí)圖譜的構(gòu)建
知識(shí)圖譜自上世紀(jì)60年代從語義網(wǎng)絡(luò)發(fā)展起來以后涤垫,分別經(jīng)歷了1980年代的專家系統(tǒng)、1990年代的貝葉斯網(wǎng)絡(luò)竟终、2000年代的OWL和語義WEB蝠猬,以及2010年以后的谷歌的知識(shí)圖譜。谷歌目前的知識(shí)圖譜已經(jīng)包含了數(shù)億個(gè)條目衡楞,并廣泛應(yīng)用于搜索吱雏、推薦等領(lǐng)域。
知識(shí)圖譜的存儲(chǔ)和查詢語言也經(jīng)歷了歷史的洗滌瘾境,從RDF到OWL以及SPARQL查詢歧杏,都逐漸因?yàn)槭褂蒙系牟槐慵案甙旱某杀荆还I(yè)界主流所遺棄迷守。圖數(shù)據(jù)庫逐步成為目前主要的知識(shí)圖譜存儲(chǔ)方式犬绒。
目前應(yīng)用比較廣泛的圖數(shù)據(jù)庫包括Neo4J、graphsql兑凿、sparkgraphx(包含圖計(jì)算引擎)凯力、基于hbase的Titan、BlazeGraph等礼华,各家的存儲(chǔ)語言和查詢語言也不盡相同咐鹤。實(shí)際應(yīng)用場景下,OrientDB和postgresql也有很多的應(yīng)用圣絮,主要原因是其相對(duì)低廉的實(shí)現(xiàn)成本和性能優(yōu)勢(shì)祈惶。
由于大規(guī)模知識(shí)圖譜的構(gòu)建往往會(huì)有眾多的實(shí)體和關(guān)系需要從原始數(shù)據(jù)(可以是結(jié)構(gòu)化也可以是非結(jié)構(gòu)化)中被抽取出來,并以圖的方式進(jìn)行結(jié)構(gòu)化存儲(chǔ),而我們依賴的原始數(shù)據(jù)往往存在于多源異構(gòu)的環(huán)境中捧请,所以進(jìn)行海量知識(shí)抽取和融合凡涩,就成了首要的無法回避的嚴(yán)峻問題。
對(duì)于結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換為圖結(jié)構(gòu)是比較容易和相對(duì)輕松的工程疹蛉,所以建議這一步應(yīng)該首先被完成活箕。
對(duì)于復(fù)雜的非結(jié)構(gòu)化數(shù)據(jù),現(xiàn)階段進(jìn)行知識(shí)圖譜構(gòu)建的主要方法有傳統(tǒng)NLP和基于深度學(xué)習(xí)模型兩類方法可款,而目前越來越多傾向于使用深度學(xué)習(xí)來抽取AVP(屬性-值對(duì))育韩。
有很多深度學(xué)習(xí)模型可以用來完成端到端的包括命名實(shí)體識(shí)別NER、關(guān)系抽取和關(guān)系補(bǔ)全等任務(wù)闺鲸,從而構(gòu)建和豐富知識(shí)圖譜座慰。
命名實(shí)體識(shí)別(Named Entity Recognition, NER)是從一段非結(jié)構(gòu)化文本中找出相關(guān)實(shí)體(triplet中的主詞和賓詞),并標(biāo)注出其位置以及類型翠拣,它是NLP領(lǐng)域中一些復(fù)雜任務(wù)(如關(guān)系抽取版仔、信息檢索等)的基礎(chǔ)。
NER一直是NLP領(lǐng)域的熱點(diǎn)误墓,從早期基于字典和規(guī)則的方法蛮粮,到傳統(tǒng)機(jī)器學(xué)習(xí)的方法,再到近年來基于深度學(xué)習(xí)的方法谜慌,NER方法的大致演化如下所示然想。
在機(jī)器學(xué)習(xí)中,NER被定義為序列標(biāo)注問題欣范。不同于分類問題变泄,序列標(biāo)注問題中的預(yù)測標(biāo)簽不僅與輸入特征有關(guān),還與之前的預(yù)測標(biāo)簽有關(guān)恼琼,也就是預(yù)測標(biāo)簽之間存在相互依賴和影響妨蛹。
條件隨機(jī)場(Conditional Random Field,CRF)是序列標(biāo)注的主流模型晴竞。它的目標(biāo)函數(shù)不僅考慮輸入的狀態(tài)特征函數(shù)蛙卤,還包含了標(biāo)簽轉(zhuǎn)移特征函數(shù)。在訓(xùn)練的時(shí)候可以使用SGD學(xué)習(xí)參數(shù)噩死。在預(yù)測時(shí)颤难,可以使用Vertibi算法求解使目標(biāo)函數(shù)最大化的最優(yōu)序列。
目前常見的基于深度學(xué)習(xí)的序列標(biāo)注模型有BiLSTM-CNN-CRF已维。它主要由Embedding層(詞向量行嗤、字向量等)、BiLSTM垛耳、tanh隱藏層以及CRF層組成(對(duì)于中文可以不需要CNN)栅屏。我們的實(shí)驗(yàn)表明BiLSTM-CRF可以獲得較好的效果捂敌。在特征方面,由于秉承了深度學(xué)習(xí)的優(yōu)點(diǎn)既琴,所以無需特征工作的鋪墊,使用詞向量及字向量就可以得到不錯(cuò)的效果泡嘴。
近幾個(gè)月來甫恩,我們也在嘗試使用Attention機(jī)制,以及僅需少量標(biāo)注樣本的半監(jiān)督來進(jìn)行相應(yīng)的工作酌予。
在BiLSTM-CRF的基礎(chǔ)上磺箕,使用Attention機(jī)制將原來的字向量和詞向量的拼接改進(jìn)為按權(quán)重求和,使用兩個(gè)隱藏層來學(xué)習(xí)Attention的權(quán)值抛虫,這樣使得模型
可以動(dòng)態(tài)地利用詞向量和字向量的信息松靡。同時(shí)加入NE種類的特征,并在字向量上使用Attention來學(xué)習(xí)關(guān)注更有效的字符建椰。實(shí)驗(yàn)效果優(yōu)于BiLSTM-CRF的方法雕欺。
這里之所以用了大量篇幅來說NER的深度學(xué)習(xí)模型,是因?yàn)殛P(guān)系抽取模型也是采用同樣的模型實(shí)現(xiàn)的棉姐,其本質(zhì)也是一個(gè)序列標(biāo)注問題屠列。所以這里不再贅述。
知識(shí)圖譜構(gòu)建中的另外一個(gè)難點(diǎn)就是知識(shí)融合伞矩,即多源數(shù)據(jù)融合笛洛。融合包括了實(shí)體對(duì)齊、屬性對(duì)齊乃坤、沖突消解苛让、規(guī)范化等。對(duì)于Open-domain這幾乎是一個(gè)舉步維艱的過程湿诊,但是對(duì)于我們特定旅游領(lǐng)域狱杰,可以通過別名舉證、領(lǐng)域知識(shí)等方法進(jìn)行對(duì)齊和消解厅须,從技術(shù)角度來看浦旱,這里會(huì)涉及較多的邏輯,所以偏傳統(tǒng)機(jī)器學(xué)習(xí)方法九杂,甚至利用業(yè)務(wù)邏輯即可覆蓋大部分場景颁湖。
知識(shí)圖譜schema是知識(shí)的分類體系的表現(xiàn),還可以用于邏輯推理例隆,也是用于沖突檢測的方法之一甥捺,從而提高知識(shí)圖譜的質(zhì)量。
總而言之镀层,構(gòu)建知識(shí)圖譜沒有統(tǒng)一的方法镰禾,因?yàn)槠錁?gòu)建需要一整套知識(shí)工程的方法皿曲,需要用到NLP、ML吴侦、DL技術(shù)屋休,用到圖數(shù)據(jù)庫技術(shù),用到知識(shí)表示推理技術(shù)等备韧。知識(shí)圖譜的構(gòu)建就是一個(gè)系統(tǒng)工程劫樟,而且知識(shí)的更新也是不可避免的,所以一定要重視快速迭代和快速產(chǎn)出檢驗(yàn)织堂。
知識(shí)圖譜的推理
在知識(shí)圖譜構(gòu)建過程中叠艳,還存在很多關(guān)系補(bǔ)全問題。雖然一個(gè)普通的知識(shí)圖譜可能存在數(shù)百萬的實(shí)體和數(shù)億的關(guān)系事實(shí)易阳,但相距補(bǔ)全還差很遠(yuǎn)附较。知識(shí)圖譜的補(bǔ)全是通過現(xiàn)有知識(shí)圖譜來預(yù)測實(shí)體之間的關(guān)系,是對(duì)關(guān)系抽取的重要補(bǔ)充潦俺。傳統(tǒng)方法TransE和TransH通過把關(guān)系作為從實(shí)體A到實(shí)體B的翻譯來建立實(shí)體和關(guān)系嵌入拒课,但是這些模型僅僅簡單地假設(shè)實(shí)體和關(guān)系處于相同的語義空間。而事實(shí)上事示,一個(gè)實(shí)體是由多種屬性組成的綜合體捕发,不同關(guān)系關(guān)注實(shí)體的不同屬性,所以僅僅在一個(gè)空間內(nèi)對(duì)他們進(jìn)行建模是不夠的很魂。
因此我們嘗試用TransR來分別將實(shí)體和關(guān)系投影到不同的空間中扎酷,在實(shí)體空間和關(guān)系空間構(gòu)建實(shí)體和關(guān)系嵌入。對(duì)于每個(gè)元組(h,r,t)遏匆,首先將實(shí)體空間中的實(shí)體通過Mr向關(guān)系r投影得到hr和tr法挨,然后是hr+r ≈tr。特定的關(guān)系投影能夠使得兩個(gè)實(shí)體在這個(gè)關(guān)系下真實(shí)地靠近彼此幅聘,使得不具有此關(guān)系的實(shí)體彼此遠(yuǎn)離凡纳。
知識(shí)圖譜推理中還經(jīng)常將知識(shí)圖譜表示為張量tensor形式,通過張量分解(tensor factorization)來實(shí)現(xiàn)對(duì)未知事實(shí)的判定帝蒿。常用于鏈接預(yù)測(判斷兩個(gè)實(shí)體之間是否存在某種特定關(guān)系)荐糜、實(shí)體分類(判斷實(shí)體所屬語義類別)、實(shí)體解析(識(shí)別并合并指代同一實(shí)體的不同名稱)葛超。
常見的模型有RESCAL模型和TRESCAL模型暴氏。
RESCAL模型的核心思想,是將整個(gè)知識(shí)圖譜編碼為一個(gè)三維張量绣张,由這個(gè)張量分解出一個(gè)核心張量和一個(gè)因子矩陣答渔,核心張量中每個(gè)二維矩陣切片代表一種關(guān)系,因子矩陣中每一行代表一個(gè)實(shí)體侥涵。由核心張量和因子矩陣還原的結(jié)果被看作對(duì)應(yīng)三元組成立的概率沼撕,如果概率大于某個(gè)閾值宋雏,則對(duì)應(yīng)三元組正確;否則不正確务豺。
而TRESCAL則是解決在輸入張量高度稀疏時(shí)所帶來的過擬合問題磨总。
路徑排序算法也常用來判斷兩個(gè)實(shí)體之間可能存在的關(guān)系,比如PRA算法笼沥。本文不展開描述蚪燕。
大規(guī)模知識(shí)圖譜的應(yīng)用
知識(shí)圖譜的應(yīng)用場景非常廣泛,比如搜索敬拓、問答、推薦系統(tǒng)裙戏、反欺詐乘凸、不一致性驗(yàn)證、異常分析累榜、客戶管理等营勤。由于以上場景在應(yīng)用中出現(xiàn)越來越多的深度學(xué)習(xí)模型,因此本文主要討論知識(shí)圖譜在深度學(xué)習(xí)模型中的應(yīng)用壹罚。
目前將知識(shí)圖譜用于深度學(xué)習(xí)主要有兩種方式葛作,一種是將知識(shí)圖譜的語義信息輸入到深度學(xué)習(xí)模型中,將離散化的知識(shí)表示為連續(xù)化的向量猖凛,從而使得知識(shí)圖譜的先驗(yàn)知識(shí)能夠稱為深度學(xué)習(xí)的輸入赂蠢;另外一種是利用知識(shí)作為優(yōu)化目標(biāo)的約束,指導(dǎo)深度學(xué)習(xí)模型的學(xué)習(xí)過程辨泳,通常是將知識(shí)圖譜中的知識(shí)表示為優(yōu)化目標(biāo)的后驗(yàn)正則項(xiàng)虱岂。
知識(shí)圖譜的表示學(xué)習(xí)用于學(xué)習(xí)實(shí)體和關(guān)系的向量化表示,其關(guān)鍵是合理定義知識(shí)圖譜中關(guān)于事實(shí)(三元組h,r,t)的損失函數(shù)fr(h,t)菠红,其總和是三元組的兩個(gè)實(shí)體h和t的向量化表示第岖。通常情況下,當(dāng)事實(shí)h,r,t成立時(shí)试溯,期望最小化fr(h,t)蔑滓。
常見的有基于距離和翻譯的模型。
基于距離的模型遇绞,比如SE模型键袱,其基本思想是當(dāng)兩個(gè)實(shí)體屬于同一個(gè)三元組時(shí),它們的向量表示在投影后的空間中也應(yīng)該彼此靠近摹闽。所以損失函數(shù)定義為向量投影后的距離
其中矩陣Wr1和Wr2用于三元組中頭實(shí)體h和尾實(shí)體t的投影操作杠纵。
基于翻譯的模型可以參考前述的TransE, TransH和TransR模型。其通過向量空間的向量翻譯來描述實(shí)體與關(guān)系之間的相關(guān)性钩骇。
當(dāng)前的知識(shí)圖譜表示學(xué)習(xí)方法都還存在各種問題比藻,這個(gè)領(lǐng)域的發(fā)展也非常迅速铝量,值得期待。
知識(shí)圖譜的表示轉(zhuǎn)換后银亲,根據(jù)不同領(lǐng)域的應(yīng)用慢叨,就可以和各種深度學(xué)習(xí)模型相結(jié)合,比如在自動(dòng)問答領(lǐng)域务蝠,可以和encoder-decoder相結(jié)合拍谐,將問題和三元組進(jìn)行匹配,即計(jì)算其向量相似度馏段,從而為某個(gè)特定問題找到來自知識(shí)圖譜的最佳三元組匹配轩拨。也有案例在推薦系統(tǒng)中,通過網(wǎng)絡(luò)嵌入(network embedding)獲取結(jié)構(gòu)化知識(shí)的向量化表示院喜,然后分別用SDAE(Stacked Denoising Auto-Encoder)和層疊卷積自編碼器(StackedConvolutional Auto-Encoder)來抽取文本知識(shí)特征和圖片知識(shí)特征亡蓉,并將三類特征融合進(jìn)協(xié)同集成學(xué)習(xí)框架,利用三類知識(shí)特征的整合來實(shí)現(xiàn)個(gè)性化推薦喷舀。
隨著深度學(xué)習(xí)的廣泛應(yīng)用砍濒,如何有效利用大量先驗(yàn)知識(shí),來大大降低模型對(duì)大規(guī)模標(biāo)注語料的依賴硫麻,也逐漸成為主要的研究方向之一爸邢。在深度學(xué)習(xí)模型中融合常識(shí)知識(shí)和領(lǐng)域知識(shí),將是又一大機(jī)遇和挑戰(zhàn)拿愧。