- 知識圖譜:方法、實踐與應(yīng)用
- 王昊奮 漆桂林等
- 9469字
- 2020-04-03 12:54:49
1.6 知識圖譜的相關(guān)技術(shù)
知識圖譜是交叉領(lǐng)域,涉及的相關(guān)領(lǐng)域包括人工智能、數(shù)據(jù)庫、自然語言處理、機器學(xué)習(xí)、分布式系統(tǒng)等。下面分別從數(shù)據(jù)庫系統(tǒng)、智能問答、機器推理、推薦系統(tǒng)、區(qū)塊鏈與去中心化等角度介紹知識圖譜有關(guān)的相關(guān)技術(shù)進展。
1.6.1 知識圖譜與數(shù)據(jù)庫系統(tǒng)
隨著知識圖譜規(guī)模的日益增長,知識圖譜數(shù)據(jù)管理問題愈加突出。近年來,知識圖譜和數(shù)據(jù)庫領(lǐng)域均認(rèn)識到大規(guī)模知識圖譜數(shù)據(jù)管理任務(wù)的緊迫性。由于傳統(tǒng)關(guān)系數(shù)據(jù)庫無法有效適應(yīng)知識圖譜的圖數(shù)據(jù)模型,知識圖譜領(lǐng)域形成了RDF數(shù)據(jù)的三元組庫(Triple Store),數(shù)據(jù)庫領(lǐng)域開發(fā)了管理屬性圖的圖數(shù)據(jù)庫(Graph Database)。
知識圖譜的主要數(shù)據(jù)模型有RDF圖(RDF graph)和屬性圖(Property Graph)兩種;知識圖譜查詢語言可分為聲明式(Declarative)和導(dǎo)航式(Navigational)兩類。
RDF三元組庫主要是由Semantic Web領(lǐng)域推動開發(fā)的數(shù)據(jù)庫管理系統(tǒng),其數(shù)據(jù)模型RDF圖和查詢語言SPARQL均遵守W3C標(biāo)準(zhǔn)。查詢語言SPARQL從語法上借鑒了SQL語言,屬于聲明式查詢語言。最新的SPARQL 1.1版本[91]為有效查詢RDF三元組集合設(shè)計了三元組模式(Triple Pattern)、基本圖模式(Basic Graph Pattern)、屬性路徑(Property Path)等多種查詢機制。
圖數(shù)據(jù)庫是數(shù)據(jù)庫領(lǐng)域為更好地存儲和管理圖模型數(shù)據(jù)而開發(fā)的數(shù)據(jù)庫管理系統(tǒng),其數(shù)據(jù)模型采用屬性圖,其上的聲明式查詢語言有:Cypher[92]、PGQL[93]和G-Core[94]。Cypher是開源圖數(shù)據(jù)庫Neo4j中實現(xiàn)的圖查詢語言。PGQL是Oracle公司開發(fā)的圖查詢語言。G-Core是由LDBC(Linked Data Benchmarks Council)組織設(shè)計的圖查詢語言。考慮到關(guān)系數(shù)據(jù)庫采用統(tǒng)一的查詢語言SQL,目前學(xué)術(shù)和工業(yè)界關(guān)于開發(fā)統(tǒng)一圖數(shù)據(jù)庫語言的呼聲越來越高。
目前,基于三元組庫和圖數(shù)據(jù)庫能夠提供的知識圖譜數(shù)據(jù)存儲方案可分為三類:
(1)基于關(guān)系的存儲方案。包括三元組表、水平表、屬性表、垂直劃分、六重索引和DB2RDF等。
三元組表是將知識圖譜中的每條三元組存儲為一行具有三列的記錄(主語,謂語,賓語)。三元組表存儲方案雖然簡單明了,但三元組表的行數(shù)與知識圖譜的邊數(shù)一樣,其問題是將知識圖譜查詢翻譯為SQL后會產(chǎn)生大量三元組表的自連接操作,影響效率。
水平表存儲方案的每行記錄存儲知識圖譜中一個主語的所有謂語和賓語,相當(dāng)于知識圖譜的鄰接表。但其缺點在于所需列數(shù)目過多,表中產(chǎn)生大量空值,無法存儲多值賓語等。
屬性表存儲方案將同一類主語分配到一個表中,是對水平表存儲方案的細(xì)化。屬性表解決了三元組表的自連接問題和水平表的列數(shù)目過多問題。但對于真實大規(guī)模知識圖譜,屬性表的問題包括:所需屬性表過多,復(fù)雜查詢的多表連接效率,空值問題和多值賓語問題。
垂直劃分存儲方案為知識圖譜中的每種謂語建立一張兩列的表(主語,賓語),表中存放由該謂語連接的主語和賓語,支持“主語-主語”作為連接條件的查詢操作的快速執(zhí)行。垂直劃分有效解決了空值問題和多值賓語問題;但其仍有缺點,包括:大規(guī)模知識圖譜的謂語表數(shù)目過多、復(fù)雜查詢表連接過多、更新維護代價大等。
六重索引存儲方案是將三元組全部6種排列對應(yīng)地建立為6張表。六重索引通過“空間交換時間”策略有效緩解了三元組表的自連接問題,但需要更多的存儲空間開銷和索引更新維護代價。
DB2RDF存儲方案[95]是一種較新的基于關(guān)系的知識圖譜存儲方案,是以往存儲方案的一種權(quán)衡優(yōu)化。三元組表的靈活性體現(xiàn)在“行維度”上,無論多少行三元組數(shù)據(jù),表模式只有3列固定不變;DB2RDF方案將這種靈活性推廣到了“列維度”,列名稱不再和謂語綁定,將同一主語的所有謂語和賓語動態(tài)分配到某列。
(2)面向RDF的三元組庫。主要的RDF三元組庫包括:商業(yè)系統(tǒng)Virtuoso、AllegroGraph、GraphDB和BlazeGraph,開源系統(tǒng)Jena、RDF-3X和gStore[96]。
RDF4J目前是Eclipse基金會旗下的開源孵化項目,其功能包括RDF數(shù)據(jù)的解析、存儲、推理和查詢等。RDF4J本身提供內(nèi)存和磁盤兩種RDF存儲機制,支持全部的SPARQL 1.1查詢和更新語言,可以使用與訪問本地RDF庫相同的API訪問遠(yuǎn)程RDF庫,支持所有主流的RDF數(shù)據(jù)格式,包括RDF/XML、Turtle、N-Triples、N-Quads、JSON-LD、TriG和TriX。RDF4J框架的主要特點是其模塊化的軟件架構(gòu)設(shè)計。
RDF-3X是德國馬克斯·普朗克計算機科學(xué)研究所開發(fā)的三元組數(shù)據(jù)庫,其特點是為RDF優(yōu)化設(shè)計的物理存儲方案和查詢處理方法,是實現(xiàn)六重索引的典型系統(tǒng)。
gStore是由北京大學(xué)、加拿大滑鐵盧大學(xué)和香港科技大學(xué)聯(lián)合研究項目開發(fā)的基于圖的RDF三元組數(shù)據(jù)庫。gStore的底層存儲使用RDF圖對應(yīng)的標(biāo)簽圖(Signature Graph)并建立“VS樹”索引結(jié)構(gòu)以加速查找。gStore系統(tǒng)提出建立“VS樹”索引,其基本思想實際上是為標(biāo)簽圖G*建立不同詳細(xì)程度的摘要圖(Summary Graph);利用“VS樹”索引提供的摘要圖,gStore系統(tǒng)提出可以大幅削減SPARQL查詢的搜索空間,以加快查詢速度。
Virtuoso是由OpenLink公司開發(fā)的商業(yè)混合數(shù)據(jù)庫產(chǎn)品,支持關(guān)系數(shù)據(jù)、對象-關(guān)系數(shù)據(jù)、RDF數(shù)據(jù)、XML數(shù)據(jù)和文本數(shù)據(jù)的統(tǒng)一管理。因為Virtuoso可以較為完善地支持W3C的Linked Data系列協(xié)議,包括DBpedia在內(nèi)的很多開放RDF知識圖譜選擇其作為后臺存儲系統(tǒng)。
AllegroGraph是美國Franz公司開發(fā)的RDF三元組數(shù)據(jù)庫。AllegroGraph遵循對W3C語義Web相關(guān)標(biāo)準(zhǔn)的嚴(yán)格支持,包括RDF、RDFS、OWL和SPARQL等。AllegroGraph對語義推理功能具有較為完善的支持。AllegroGraph除了三元組數(shù)據(jù)庫的基本功能,還支持動態(tài)物化的RDFS++推理機、OWL2 RL推理機、Prolog規(guī)則推理系統(tǒng)、時空推理機制、社會網(wǎng)絡(luò)分析庫、可視化RDF圖瀏覽器等。
GraphDB是由保加利亞的Ontotext軟件公司開發(fā)的RDF三元組數(shù)據(jù)庫。GraphDB實現(xiàn)了RDF4J框架的SAIL層,與RDF4J API無縫對接,也就是說,可以使用RDF4J的RDF模型、解析器和查詢引擎直接訪問GraphDB。GraphDB的特色是良好支持RDF推理功能,其使用內(nèi)置的基于規(guī)則的“前向鏈”(Forward-Chaining)推理機,由顯式知識經(jīng)過推理得到導(dǎo)出知識,對這些導(dǎo)出知識進行優(yōu)化存儲;導(dǎo)出知識會在知識庫更新后相應(yīng)地同步更新。
Blazegraph是一個基于RDF三元組庫的圖數(shù)據(jù)庫管理系統(tǒng),在用戶接口層同時支持RDF三元組和屬性圖模型,既實現(xiàn)了SPARQL語言,也實現(xiàn)了Blueprints標(biāo)準(zhǔn)及Gremlin語言。通過分布式動態(tài)分片B+樹和服務(wù)總線技術(shù),Blazegraph支持真正意義上的集群分布式存儲和查詢處理。正是緣于此,Blazegraph在與Neo4j和Titan的競爭中脫穎而出,被Wikidata選為查詢服務(wù)的后臺圖數(shù)據(jù)庫系統(tǒng)。
Stardog是由美國Stardog Union公司開發(fā)的RDF三元組數(shù)據(jù)庫,支持RDF圖數(shù)據(jù)模型、SPARQL查詢語言、屬性圖模型、Gremlin圖遍歷語言、OWL2標(biāo)準(zhǔn)、用戶自定義的推理與數(shù)據(jù)分析規(guī)則、虛擬圖、地理空間查詢以及多用編程語言與網(wǎng)絡(luò)接口支持。Stardog雖然發(fā)布較晚,但其對OWL2推理機制具有良好的支持,同時具備全文搜索、GraphQL查詢、路徑查詢、融合機器學(xué)習(xí)任務(wù)等功能,能夠支持多種不同編程語言和Web訪問接口,使得Stardog成了一個知識圖譜數(shù)據(jù)存儲和查詢平臺。
(3)原生圖數(shù)據(jù)庫。Neo4j是用Java實現(xiàn)的開源圖數(shù)據(jù)庫??梢哉fNeo4j是目前流行程度最高的圖數(shù)據(jù)庫產(chǎn)品。Neo4j的不足之處在于其社區(qū)版是單機系統(tǒng),雖然Neo4j企業(yè)版支持高可用性(High availability)集群,但其與分布式圖存儲系統(tǒng)的最大區(qū)別在于每個節(jié)點上存儲圖數(shù)據(jù)庫的完整副本(類似于關(guān)系數(shù)據(jù)庫鏡像的副本集群),而不是將圖數(shù)據(jù)劃分為子圖進行分布式存儲,而并非真正意義上的分布式數(shù)據(jù)庫系統(tǒng)。如果圖數(shù)據(jù)超過一定規(guī)模,系統(tǒng)性能就會因為磁盤、內(nèi)存等限制而大幅降低。
JanusGraph是在原有Titan系統(tǒng)基礎(chǔ)上繼續(xù)開發(fā)的開源分布式圖數(shù)據(jù)庫,目前是Linux基金會旗下的一個開源項目。JanusGraph的存儲后端與查詢引擎是分離的,由于其可使用分布式Bigtable存儲庫Cassandra或HBase作為存儲后端,因此JanusGraph自然就成了分布式圖數(shù)據(jù)庫。JanusGraph的主要缺點是分布式查詢功能僅限于基于Cassandra或HBase提供的分布式讀寫實現(xiàn)的簡單導(dǎo)航查詢,對于很多稍復(fù)雜的查詢類型,目前還不支持真正意義上的分布式查詢處理,例如子圖匹配查詢、正則路徑查詢等。
OrientDB最初是由OrientDB公司開發(fā)的多模型數(shù)據(jù)庫管理系統(tǒng)。OrientDB雖然支持圖、文檔、鍵值、對象、關(guān)系等多種數(shù)據(jù)模型,但其底層實現(xiàn)主要面向圖和文檔數(shù)據(jù)存儲管理的需求設(shè)計。其存儲層中數(shù)據(jù)記錄之間的關(guān)聯(lián)并不像關(guān)系數(shù)據(jù)庫那樣通過主外鍵的引用,而是通過記錄之前直接的物理指針。
Cayley是由谷歌公司工程師開發(fā)的一款輕量級開源圖數(shù)據(jù)庫,于2014年6月在GitHub上發(fā)布。Cayley的開發(fā)受到了Freebase知識圖譜和谷歌知識圖譜背后的圖數(shù)據(jù)存儲的影響,目標(biāo)是成為開發(fā)者管理Linked Data和圖模型數(shù)據(jù)(語義Web、社會網(wǎng)絡(luò)等)的有效工具之一。
總體來講,基于關(guān)系的存儲系統(tǒng)繼承了關(guān)系數(shù)據(jù)庫的優(yōu)勢,成熟度較高,在硬件性能和存儲容量滿足的前提下,通常能夠適應(yīng)千萬到十億三元組規(guī)模的管理。官方測評顯示,關(guān)系數(shù)據(jù)庫Oracle 12c配上空間和圖數(shù)據(jù)擴展組件(Spatial and Graph)可以管理的三元組數(shù)量高達(dá)1.08萬億條[97]。對于一般在百萬到上億三元組的管理,使用稍高配置的單機系統(tǒng)和主流RDF三元組數(shù)據(jù)庫(如Jena、RDF4J、Virtuoso等)完全可以勝任。如果需要管理幾億到十幾億以上大規(guī)模的RDF三元組,則可嘗試部署具備分布式存儲與查詢能力的數(shù)據(jù)庫系統(tǒng)(如商業(yè)版的GraphDB和BlazeGraph、開源的JanusGraph等)。近年來,以Neo4j為代表的圖數(shù)據(jù)庫系統(tǒng)發(fā)展迅猛,使用圖數(shù)據(jù)庫管理RDF三元組也是一種很好的選擇;但目前大部分圖數(shù)據(jù)庫還不能直接支持RDF三元組存儲,對于這種情況,可采用數(shù)據(jù)轉(zhuǎn)換方式,先將RDF預(yù)處理為圖數(shù)據(jù)庫支持的數(shù)據(jù)格式(如屬性圖模型),再進行后續(xù)管理操作。
目前,還沒有一種數(shù)據(jù)庫系統(tǒng)被公認(rèn)為是具有主導(dǎo)地位的知識圖譜數(shù)據(jù)庫。但可以預(yù)見,隨著三元組庫和圖數(shù)據(jù)庫的相互融合發(fā)展,知識圖譜的存儲和數(shù)據(jù)管理手段將愈加豐富和強大。
1.6.2 知識圖譜與智能問答
基于知識圖譜的問答(Knowledge-based Question Answering,KBQA,下稱“知識問答”)是智能問答系統(tǒng)的核心功能,是一種人機交互的自然方式。知識問答依托一個大型知識庫(知識圖譜、結(jié)構(gòu)化數(shù)據(jù)庫等),將用戶的自然語言問題轉(zhuǎn)化成結(jié)構(gòu)化查詢語句(如SPARQL、SQL等),直接從知識庫中導(dǎo)出用戶所需的答案。
近幾年,知識問答聚焦于解決事實型問答,問題的答案是一個實義詞或?qū)嵙x短語。如“中國的首都是哪個城市?北京”或“菠菜是什么顏色的?綠色”。事實型問題按問題類型可分為單知識點問題(Single-hop Questions)和多知識點問題(Multi-hop Questions);按問題的領(lǐng)域可分為垂直領(lǐng)域問題和通用領(lǐng)域問題。相對于通用領(lǐng)域或開放領(lǐng)域,垂直領(lǐng)域下的知識圖譜規(guī)模更小、精度更高,知識問答的質(zhì)量更容易提升。
知識問答技術(shù)的成熟與落地不僅能提高人們檢索信息的精度和效率,還能提升用戶的產(chǎn)品體驗。無論依托的知識庫的規(guī)模如何,用戶總能像“跟人打交道一樣”使用自然語言向機器提問并得到反饋,便利性與實用性共存。
攻克知識問答的關(guān)鍵在于理解并解析用戶提出的自然語言問句。這涉及自然語言處理、信息檢索和推理(Reasoning)等多個領(lǐng)域的不同技術(shù)。相關(guān)研究工作在近五年來受到越來越多國內(nèi)外學(xué)者的關(guān)注,研究方法主要可分為三大類:基于語義解析(Semantic Parsing)的方法、基于信息檢索(Information Retrieval)的方法和基于概率模型(Probabilistic Models)的方法。
大部分先進的知識問答方法是基于語義解析的,目的是將自然語言問句解析成結(jié)構(gòu)化查詢語句,進而在知識庫上執(zhí)行查詢得到答案。通常,自然語言問句經(jīng)過語義解析后,所得的語義結(jié)構(gòu)能解釋答案的產(chǎn)生。在實際工程應(yīng)用中,這一點優(yōu)勢不僅能幫助用戶理解答案的產(chǎn)生,還能在產(chǎn)生錯誤答案時幫助開發(fā)者定位錯誤的可能來源。
微軟在利用語義解析技術(shù)解決單知識點問答(Single-hop Question Answering)中有突出貢獻。2014年,葉等人[98]指出,解決單知識點問答的關(guān)鍵在于將原任務(wù)分解為兩個子任務(wù)——話題詞識別和關(guān)系檢測。如回答“姚明的妻子是誰?”,可先通過計算語義相似性將問句解析成形如“(姚明,妻子,?)”的查詢。其中,話題詞是“姚明”,問題中包含的關(guān)系為“妻子”(或“配偶”),再在知識庫中執(zhí)行查詢,得到答案。2015年,葉等人[99]強調(diào),直接從大型知識庫中尋找與問句含義匹配的關(guān)系是比較困難的。論文中首先采用實體鏈接(Entity Linking)定位話題詞,再從與話題詞相關(guān)的關(guān)系子集中尋找與問句含義匹配的關(guān)系,從而將問句解析成一個結(jié)構(gòu)化的查詢。2016年,葉等人[100]繼承了斯坦福自然語言處理組開源的WebQuestions數(shù)據(jù)集,并在此基礎(chǔ)上標(biāo)注了問題的語義解析結(jié)果(SPARQL查詢),貢獻了WebQuestionsSP數(shù)據(jù)集。
在基于語義解析的方法訓(xùn)練過程中,問答模型隱式地學(xué)習(xí)了標(biāo)注數(shù)據(jù)中蘊涵的語法解析規(guī)律。這使得模型能具有更好的可解釋性。但是,數(shù)據(jù)標(biāo)注需要花費大量的人力和財力,是不切實際的。而基于信息檢索的方法回避了這個問題?;谛畔z索的知識問答大致可分為兩步:①通過粗粒度信息檢索,在知識庫中直接篩選出候選答案;②根據(jù)問句中抽取出的特征,對候選答案進行排序。這就要求模型對問句的語義有充分的理解。而在自然語言中,詞語同義替換等語言現(xiàn)象提升了理解問題的難度。[102]
為了實現(xiàn)有效的信息檢索式知識問答,學(xué)者們聚焦于如何讓機器理解用戶的問題,以及掌握問題與知識庫間的匹配規(guī)律??尚械姆椒òǎ?/p>
●集成額外的文本信息[101],如Wikipedia或搜索引擎結(jié)果;
●提出更多、更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),如多列卷積神經(jīng)網(wǎng)絡(luò)[102](Multi-Column Convolutional Neural Networks,MCCNN)、深度殘差雙向長短時記憶網(wǎng)絡(luò)[6] (Deep Residual Bidirectional Long Short-term Memory Network)和注意力最大池化層[103](Attentive Max Pooling Layer);
●聯(lián)合訓(xùn)練[104]實體鏈接和關(guān)系檢測兩個模塊。
除上述兩大流派外,有部分學(xué)者將知識問答問題看作是一個條件概率問題[105][106],即是要求給定問句Q時,答案為α的概率P(A=α|Q),進而引入概率分解[9]或變分推理[107]的技巧,將目標(biāo)概率分而治之。
大部分已有的知識問答解決方案都停留在回答單知識點事實型問題上。在這類問題中,基于語義解析的方法和基于信息檢索的方法并不呈完全割裂、對立的關(guān)系[1]。二者幾乎都把知識問答看作是話題詞識別和關(guān)系檢測兩個子任務(wù)串行。在一些論文中,學(xué)者們聲稱單知識點問答已接近人類水平[108]。
未來,學(xué)者們必然將更多的精力投入解決復(fù)雜的多知識點事實型問答上。這類問題涉及的自然語言現(xiàn)象更豐富,如關(guān)系詞的詞匯組合性[109](Sub-Lexical Compositionality)、多關(guān)系詞間語序等。另外一種思路是:研究如何將多知識點問題轉(zhuǎn)化為單知識點問題。因此,先進的單知識點問答模型直接被復(fù)用。
除此之外,在理解問題、回答問題的過程中,模型應(yīng)具備更強的推理能力和更好的可解釋性。更強的推理能力能滿足用戶的復(fù)雜提問需求。更好的可解釋性使用戶在“知其然”的同時“知其所以然”。
1.6.3 知識圖譜與機器推理
推理是指基于已知的事實或知識推斷得出未知的事實或知識的過程。典型的推理包括演繹推理(Deductive Reasoning)、歸納推理(Inductive Reasoning)、溯因推理(Abductive Reasoning)、類比推理(Analogical Reasoning)等。在知識圖譜中,推理主要用于對知識圖譜進行補全(Knowledge Base Completion,KBC)和知識圖譜質(zhì)量的校驗。
知識圖譜中的知識可分為概念層和實體層。知識圖譜推理的任務(wù)是根據(jù)知識圖譜中已有的知識推理出新的知識或識別出錯誤的知識。其中,概念層的推理主要包括概念之間的包含關(guān)系推理,實體層的推理主要包括鏈接預(yù)測與沖突檢測,實體層與概念層之間的推理主要包括實例檢測。推理的方法主要包含基于規(guī)則的推理、基于分布式表示學(xué)習(xí)的推理、基于神經(jīng)網(wǎng)絡(luò)的推理以及混合推理。
1.基于規(guī)則的推理
基于規(guī)則的推理通過定義或?qū)W習(xí)知識中存在的規(guī)則進行推理。根據(jù)規(guī)則的真值類型,可分為硬邏輯規(guī)則和軟邏輯規(guī)則。硬邏輯規(guī)則中的每條規(guī)則的真值都為1,即絕對正確,人工編寫的規(guī)則多為硬邏輯規(guī)則。軟邏輯規(guī)則即每條規(guī)則的真值為區(qū)間在0到1之間的概率,規(guī)則挖掘系統(tǒng)的結(jié)果多為軟邏輯規(guī)則,其學(xué)習(xí)過程一般是基于規(guī)則中結(jié)論與條件的共現(xiàn)特征,典型方法有AMIE[110]等。軟邏輯規(guī)則可通過真值重寫轉(zhuǎn)化為硬邏輯規(guī)則。硬邏輯規(guī)則可寫成知識圖譜本體中的SWRL規(guī)則,然后通過如Pellet、Hermit等本體推理機進行推理。規(guī)則推理在大型知識圖譜上的效率受限于它的離散性,Cohen提出了一個可微的規(guī)則推理機TensorLog[111]。
基于規(guī)則的推理方法最主要的優(yōu)點是在通常情況下規(guī)則比較接近人思考問題時的推理過程,其推理結(jié)論可解釋,所以對人比較友好。在知識圖譜中已經(jīng)沉淀的規(guī)則具有較好的演繹能力。
2.基于分布式表示學(xué)習(xí)的推理
分布式表示學(xué)習(xí)的核心是將知識圖譜映射到連續(xù)的向量空間中,并為知識圖譜中的元素學(xué)習(xí)分布式表示為低維稠密的向量或矩陣。分布式表示學(xué)習(xí)通過各元素的分布式表示之間的計算完成隱式的推理。多數(shù)表示學(xué)習(xí)方法以單步關(guān)系即單個三元組為輸入和學(xué)習(xí)目標(biāo),不同的分布式表示學(xué)習(xí)方法對三元組的建模基于不同的空間假設(shè)。例如,以TransE[112]為代表的Trans系列模型基于的是關(guān)系向量表示在空間中的平移不變性,故將關(guān)系向量看作是頭實體向量到尾實體向量的翻譯并采用向量加法模擬;以DistMult[113]為代表的線性轉(zhuǎn)換模型將關(guān)系表示為矩陣,頭實體的向量可經(jīng)過關(guān)系矩陣的線性變換轉(zhuǎn)換為尾實體;以RESCAL[114]為代表的模型將知識圖譜表示為高維稀疏的三維張量,通過張量分解得到實體和關(guān)系的表示??紤]到知識圖譜中的多步推理的表示學(xué)習(xí)方法有PTransE[115]和CVSM[116]。
3.基于神經(jīng)網(wǎng)絡(luò)的推理
基于神經(jīng)網(wǎng)絡(luò)的推理通過神經(jīng)網(wǎng)絡(luò)的設(shè)計模擬知識圖譜推理,其中NTN[117]用一個雙線性張量層判斷頭實體和尾實體的關(guān)系,ConvE[118]等在實體和關(guān)系的表示向量排布出的二維矩陣上采用卷機神經(jīng)網(wǎng)絡(luò)進行鏈接預(yù)測,R-GCN[119]通過圖卷積網(wǎng)絡(luò)捕捉實體的相鄰實體信息,IRN[120]采用記憶矩陣以及以遞歸神經(jīng)網(wǎng)絡(luò)為結(jié)構(gòu)的控制單元模擬多步推理的過程。基于神經(jīng)網(wǎng)絡(luò)的知識圖譜推理表達(dá)能力強,在鏈接預(yù)測等任務(wù)上取得了不錯的效果。網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計多樣,能夠滿足不同的推理需求。
4.混合推理
混合推理一般結(jié)合了規(guī)則、表示學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)。例如,NeuralLP[121]是一種可微的知識圖譜推理方法,融合了關(guān)系的表示學(xué)習(xí)、規(guī)則學(xué)習(xí)以及循環(huán)神經(jīng)網(wǎng)絡(luò),由LSTM生成多步推理中的隱變量,并通過隱變量生成在多步推理過程中對每種關(guān)系的注意力。DeepPath[122]和MINERVA[123]用強化學(xué)習(xí)方法學(xué)習(xí)知識圖譜多步推理過程中的路徑選擇策略。RUGE[124]將已有的推理規(guī)則輸入知識圖譜表示學(xué)習(xí)過程中,約束和影響表示學(xué)習(xí)結(jié)果并取得更好的推理效果。文獻[125]使用了對抗生成網(wǎng)絡(luò)(GAN)提升知識圖譜表示學(xué)習(xí)過程中的負(fù)樣本生成效率?;旌贤评砟軌蚪Y(jié)合規(guī)則推理、表示學(xué)習(xí)推理以及神經(jīng)網(wǎng)絡(luò)推理的能力并實現(xiàn)優(yōu)勢互補,能夠同時提升推理結(jié)果的精確性和可解釋性。
基于規(guī)則的知識圖譜推理研究主要分為兩部分:一是自動規(guī)則挖掘系統(tǒng),二是基于規(guī)則的推理系統(tǒng)。目前,二者的主要發(fā)展趨勢是提升規(guī)則挖掘的效率和準(zhǔn)確度,用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計代替在知識圖譜上的離散搜索和隨機游走是比較值得關(guān)注的方向。
基于表示學(xué)習(xí)的知識圖譜推理研究的主要研究趨勢是,一方面提高表示學(xué)習(xí)結(jié)果對知識圖譜中含有的語義信息的捕捉能力,目前的研究多集中在鏈接預(yù)測任務(wù)上,其他推理任務(wù)有待跟進研究;另一方面是利用分布式表示作為橋梁,將知識圖譜與文本、圖像等異質(zhì)信息結(jié)合,實現(xiàn)信息互補以及更多樣化的綜合推理。
基于神經(jīng)網(wǎng)絡(luò)的知識表示推理的主要發(fā)展趨勢是設(shè)計更加有效和有意義的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),來實現(xiàn)更加高效且精確的推理,通過對神經(jīng)網(wǎng)絡(luò)中間結(jié)果的解析實現(xiàn)對推理結(jié)果的部分解釋是比較值得關(guān)注的方向。
1.6.4 知識圖譜與推薦系統(tǒng)
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,各種信息在互聯(lián)網(wǎng)上匯集,信息呈指數(shù)級增長,人們面臨著信息過載的問題,推薦系統(tǒng)的提出是解決這一問題的有力途徑。但是,推薦系統(tǒng)在啟動階段往往效果不佳,存在冷啟動問題,而且用戶歷史記錄數(shù)據(jù)往往較為稀疏,使得推薦算法的性能很難讓用戶滿意。知識圖譜作為先驗知識,可以為推薦算法提供語義特征,引入它們可以有效地緩解數(shù)據(jù)稀疏問題,提高模型的性能。
基于知識圖譜的推薦模型大部分是以現(xiàn)有的推薦模型為基礎(chǔ)的,如基于協(xié)同過濾和基于內(nèi)容的推薦模型,將知識圖譜中關(guān)于商品、用戶等實體的結(jié)構(gòu)化知識加入推薦模型中,通過引入額外的知識改善早期推薦模型中數(shù)據(jù)稀疏的問題。文獻[126]提出了利用DBpedia知識圖譜中的層次類別信息應(yīng)用于推薦任務(wù)中,他們通過傳播激活算法在知識圖譜中尋找推薦實體。文獻[127]通過計算知識圖譜中蘊涵的語義距離建立音樂推薦模型。下面分別介紹三類利用知識圖譜的推薦模型,分別為:基于知識圖譜中元路徑的推薦模型、基于概率邏輯程序的推薦模型、基于知識圖譜表示學(xué)習(xí)技術(shù)的推薦模型。
考慮到知識圖譜是一個表示不同實體之間關(guān)系的圖,研究人員利用圖上路徑的連通信息計算物品之間的相似度[128]。研究人員通過元路徑的概念利用圖的信息[129][130],元路徑是圖中不同類型實體和關(guān)系構(gòu)成的路徑。文獻[131]利用元路徑在圖上傳播用戶偏好,并結(jié)合傳統(tǒng)的協(xié)同過濾模型,最終實現(xiàn)了個性化的推薦模型。其具體方法如下:首先,沿著不同元路徑利用路徑相似度計算用戶對不同物品的偏好,最終學(xué)得在元路徑P下的偏好矩陣。針對每條元路徑學(xué)得偏好矩陣,通過潛在因子模型對每個偏好矩陣進行分解,最終可獲得每條路徑下用戶和物品的潛在因子矩陣,最終通過對每條路徑下推薦結(jié)果的求和獲得最終的全局推薦模型。其工作有效地利用了知識圖譜中不同類型實體間路徑的語義信息傳遞用戶的偏好,但是路徑需要人工選擇。
文獻[132]提出了基于概率邏輯程序的推薦模型,文獻作者[133]將推薦問題形式化為邏輯程序,該邏輯程序?qū)δ繕?biāo)用戶按查詢得分高低輸出推薦物品的結(jié)果,最終尋找到目標(biāo)用戶的推薦物品。文獻作者提出了三種不同的推薦方法,分別為EntitySim、TypeSim和GraphLF,性能超過了以前的最佳方法[134]。這三種方法都是基于通用目的的概率邏輯系統(tǒng)ProPPR。其中,EntitySim方法只使用圖上的連接信息;TypeSim方法使用了實體的type信息,GraphLF提出了一個結(jié)合概率邏輯程序和用戶物品潛在因子模型的方法。他們的基本思路類似于文獻[134]的工作,通過規(guī)則在知識圖譜中傳遞用戶的偏好,解決了路徑人工選擇的問題。但是,他們將推薦的流程分為尋找用戶偏好實體和通過偏好實體尋找物品兩個步驟,導(dǎo)致無法有效地利用物品與物品之間的關(guān)系和用戶與用戶之間的關(guān)系。例如,在電影推薦的例子中,電影《諜影重重4》是《諜影重重3》的續(xù)集,但是《諜影重重4》更換了主演,而如果通過他們方法中的規(guī)則,用戶無法通過《諜影重重3》的主演馬特·達(dá)蒙尋找到《諜影重重4》。
通過知識圖譜表示學(xué)習(xí)技術(shù),可以獲得知識圖譜中實體和關(guān)系的低維稠密向量,其可以在低維的向量空間中計算實體間的關(guān)聯(lián)性,與傳統(tǒng)的基于符號邏輯在圖上查詢和推理的方法相比,大大降低了計算的復(fù)雜度。文獻[134]提出使用知識圖譜表示學(xué)習(xí)技術(shù)提取知識圖譜中的特征,以該特征向量使用K近鄰的方法尋找用戶最相近的物品,但是該模型與推薦模型結(jié)合較為松散,僅使用知識圖譜表示學(xué)習(xí)作為特征提取的一種方法。
文獻[135]在王灝等人[136]工作的基礎(chǔ)上進行擴展,通過表示學(xué)習(xí)的方法將知識圖譜中的信息加入推薦模型中,提出了協(xié)同知識圖譜表示學(xué)習(xí)的推薦模型(Collaborative Knowledge Base Embedding Recommender System),他們方法的具體思路如下:首先,通過知識表示學(xué)習(xí)獲得知識圖譜中和推薦物品相關(guān)的結(jié)構(gòu)化信息,通過去噪編碼器網(wǎng)絡(luò)從物品相關(guān)的文本中學(xué)習(xí)編碼層的文本表示向量,并通過和文本建模相似的去噪編碼器網(wǎng)絡(luò)從圖像中學(xué)習(xí)視覺表示向量,并將這些表示向量引入物品的潛在因子向量中,結(jié)合矩陣分解算法完成推薦。該工作通過貝葉斯理論的角度解釋并聯(lián)合了不同算法的優(yōu)化目標(biāo)。但是,在推薦領(lǐng)域的知識圖譜中,實體之間的關(guān)系非常稠密,且關(guān)系類型較少。以TransE為代表的模型不適合處理一對多、多對多的關(guān)系,盡管TransR針對該問題進行了一定的改進,但當(dāng)應(yīng)對相同類型關(guān)系的一對多、多對一和多對多關(guān)系時,算法實際退化為TransE。因此,本書在協(xié)同過濾算法上引入一類新的知識圖譜表示學(xué)習(xí)的技術(shù)[137][138]提取知識圖譜中的結(jié)構(gòu)化信息,最終提出了一個基于知識圖譜表示學(xué)習(xí)的協(xié)同過濾推薦系統(tǒng)。
1.6.5 區(qū)塊鏈與去中心化的知識圖譜
語義網(wǎng)的早期理念實際上包含三個方面:知識的互聯(lián)、去中心化的架構(gòu)和知識的可信。知識圖譜在一定程度上實現(xiàn)了“知識互聯(lián)”的理念,然而在去中心化的架構(gòu)和知識可信兩個方面都仍然沒有出現(xiàn)較好的解決方案。
對于去中心化,相比起現(xiàn)有的多為集中存儲的知識圖譜,語義網(wǎng)強調(diào)知識以分散的方式互聯(lián)和相互鏈接,知識的發(fā)布者擁有完整的控制權(quán)。近年來,國內(nèi)外已經(jīng)有研究機構(gòu)和企業(yè)開始探索通過區(qū)塊鏈技術(shù)實現(xiàn)去中心化的知識互聯(lián)。這包括去中心化的實體ID管理、基于分布式賬本的術(shù)語及實體命名管理、基于分布式賬本的知識溯源、知識簽名和權(quán)限管理等。
知識的可信與鑒真也是當(dāng)前很多知識圖譜項目面臨的挑戰(zhàn)和問題。由于很多知識圖譜數(shù)據(jù)來源廣泛,且知識的可信度量需要作用到實體和事實級別,怎樣有效地對知識圖譜中的海量事實進行管理、追蹤和鑒真,也成為區(qū)塊鏈技術(shù)在知識圖譜領(lǐng)域的一個重要應(yīng)用方向。
此外,將知識圖譜引入智能合約(Smart Contract)中,可以幫助解決目前智能合約內(nèi)生知識不足的問題。例如,PCHAIN[139]引入知識圖譜Oracle機制,解決傳統(tǒng)智能合約數(shù)據(jù)不閉環(huán)的問題。
- 腦動力:HTML+CSS標(biāo)簽速查效率手冊
- 現(xiàn)代信息技術(shù)基礎(chǔ)實踐教程(微課版)
- 計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用(實驗指南)
- 快意編程:Ext JS Web開發(fā)技術(shù)詳解
- 隨手查:系統(tǒng)重裝與維護技巧
- 信息技術(shù)(基礎(chǔ)模塊上下冊合訂本)
- 計算機應(yīng)用基礎(chǔ)(微課版)
- 區(qū)塊鏈技術(shù)與應(yīng)用
- 物聯(lián)網(wǎng)與無線傳感器網(wǎng)絡(luò)
- 應(yīng)用人機工程與設(shè)計
- 計算機應(yīng)用基礎(chǔ)學(xué)習(xí)指導(dǎo)
- Audition音頻編輯標(biāo)準(zhǔn)教程(全彩微課版)
- VRML虛擬現(xiàn)實應(yīng)用技術(shù)
- 信息技術(shù)標(biāo)準(zhǔn)化指南(2018)
- 玩轉(zhuǎn)3D視界:3D機器視覺及其應(yīng)用