如何善用通用性行業(yè)KG(知識(shí)圖)
1 認(rèn)識(shí)通用性行業(yè)KG
本文引用地址:http://www.ex-cimer.com/article/202501/466648.htm1.1 食物FlavorGraph為例
在上一期里,藉由< 用戶、食材和食譜> 三位一體的多層次關(guān)聯(lián)來建立知識(shí)圖(KG:Knowledge Graph)。并且基于上述KG體通過三個(gè)階段來生成反事實(shí)食材組合的圖譜,這結(jié)合了多階段的GCN模型和反事實(shí)分析來進(jìn)行推薦和創(chuàng)新。其中,幕后有一個(gè)基礎(chǔ)組件:FlavorGraph。它即是俗稱的:行業(yè)KG(industry knowledge graph),是由Sony AI團(tuán)隊(duì)與韓國(guó)高麗大學(xué)合作建立的食材配對(duì)通用性KG。它的數(shù)據(jù)量包含1,561 項(xiàng)風(fēng)味化合物(flavor molecules)和百萬筆食譜,形成食物和化合物組成的巨大知識(shí)網(wǎng)絡(luò),表達(dá)食材跟食材或食材與化合物之間的關(guān)系,可用來推薦互補(bǔ)的配料,幫助廚師們創(chuàng)新烹飪菜肴。
1.2 以醫(yī)藥DRKG為例
DRKG(Drug Repurposing Knowledge Gaph)是由亞馬遜上海AI實(shí)驗(yàn)室聯(lián)合來自亞馬遜AI北美、明尼蘇達(dá)大學(xué)、俄亥俄州立大學(xué)、湖南大學(xué)的研究者,共同構(gòu)建的大規(guī)模藥物再利用知識(shí)圖,其包括屬于13種實(shí)體類型(entity-types)的97, 238個(gè)實(shí)體(entities);以及屬于107種邊緣類型(edge-types)的5,874,261 項(xiàng)連結(jié)(links)。如圖-1所示。
圖1 通用性DRKG
(引自https://github.com/gnn4dr/DRKG)
這DGRK非常有助于新藥開發(fā),它可以有效縮短藥物研發(fā)周期、降低成本和風(fēng)險(xiǎn)。從上述的醫(yī)療行業(yè)的DRKG,以及飲食行業(yè)的FlavorGraph 等,我們來觀察它們對(duì)于各行業(yè)的AI應(yīng)用,提供了很大的幫助。
2 行業(yè)KG+AI模型
將知識(shí)圖KG和AI模型結(jié)合起來,更能夠掌握數(shù)據(jù)之間的關(guān)系和準(zhǔn)確涵意,提升了推論的準(zhǔn)確性,也更發(fā)揮AI器學(xué)習(xí)方法的能力。愈來愈多企業(yè)開始使用AI來幫助決策,KG+AI將智能融入數(shù)據(jù)本身,來為AI提供了更可解釋、更準(zhǔn)確的背景。進(jìn)而協(xié)助企業(yè)人士降低決策風(fēng)險(xiǎn),提升企業(yè)效益。例如,在醫(yī)藥行業(yè),能解釋某藥物為何對(duì)特定疾病有效。而在飲食行業(yè)FlavorGraph提供的通用化學(xué)風(fēng)味知識(shí),并由AI模型(如GCN模型)進(jìn)一步挖掘潛在菜單組合的關(guān)系,激發(fā)食譜創(chuàng)新。其中,KG與GCN模型的結(jié)合過程,如下:
2.1 數(shù)據(jù)收集與篩選:
收集企業(yè)內(nèi)部數(shù)據(jù)(如食材采購(gòu)列表、銷售記錄),并且清洗數(shù)據(jù),去除冗余或不相關(guān)的數(shù)據(jù)。利用行業(yè)KG結(jié)構(gòu)化數(shù)據(jù)提升GCN模型輸入數(shù)據(jù)的質(zhì)量。
2.2 立KG:
設(shè)計(jì)節(jié)點(diǎn)(node)與邊(edge)的類型,例如「食材」、「料理」、「風(fēng)味」等。并且定義節(jié)點(diǎn)特征(feature)和關(guān)系(relationship),例如「包含」、「兼容」、「替代」等。
2.3 練GCN模型:
訓(xùn)練GCN來實(shí)現(xiàn)模型的目標(biāo),包括使用模型來提取知識(shí)。例如風(fēng)味搭配建議、新菜單推薦等。
上述的KG 與GCN 模型是互補(bǔ)的,KG 中的數(shù)據(jù)是高度結(jié)構(gòu)化的圖形數(shù)據(jù),包含節(jié)點(diǎn)和關(guān)系。而GCN能夠處理圖結(jié)構(gòu)數(shù)據(jù),通過聚合鄰居節(jié)點(diǎn)的信息來學(xué)習(xí)每個(gè)節(jié)點(diǎn)的表示。于是,GCN自然適配KG的結(jié)構(gòu),捕捉節(jié)點(diǎn)間復(fù)雜的語義關(guān)系。這KG是行業(yè)數(shù)據(jù)的「智能連接器」,能有效提升企業(yè)AI解決方案的效率與準(zhǔn)確性。例如,F(xiàn)lavorGraph與DRKG已經(jīng)展現(xiàn)燦爛光芒,應(yīng)用于許多商業(yè)場(chǎng)景,讓企業(yè)采用行業(yè)KG,結(jié)合自身數(shù)據(jù)打用造更有競(jìng)爭(zhēng)力的AI 應(yīng)。
3 基于通用性行業(yè)KG,建構(gòu)下游企業(yè)KG
通用性行業(yè)KG(如FlavorGraph)蘊(yùn)含豐富的行業(yè)共享性知識(shí),而企業(yè)則針對(duì)小領(lǐng)域的特殊需求(如拉面的烹飪過程、食材搭配、口味調(diào)配等),建立專用的企業(yè)KG( 如FoodKG) 更具針對(duì)性。如圖-2所示。
圖2 行業(yè)KG支持下游任務(wù)
從行業(yè)KG(如FlavorGraph)中提取相關(guān)節(jié)點(diǎn)與邊,補(bǔ)充企業(yè)內(nèi)部數(shù)據(jù)(如食材采購(gòu)列表、銷售記錄)。清洗數(shù)據(jù),去除冗余或不相關(guān)的數(shù)據(jù)。有了行業(yè)KG提供跨域知識(shí)的支持,能有效應(yīng)用于拉面食材推薦、菜單設(shè)計(jì)和個(gè)性化服務(wù)等多種場(chǎng)景。這種模式是一種知識(shí)驅(qū)動(dòng)的AI遷移學(xué)習(xí),能加速AI針對(duì)企業(yè)目標(biāo)的應(yīng)用。
現(xiàn)在,就來觀摩這個(gè)「知識(shí)驅(qū)動(dòng)AI遷移學(xué)習(xí)」的第一項(xiàng)事情:將行業(yè)FlavorGraph 的節(jié)點(diǎn)嵌入(node embedding)作為企業(yè)FoodKG + GCN的初始特征(initial features)。將已有的行業(yè)知識(shí)(如FlavorGraph中的節(jié)點(diǎn)嵌入)轉(zhuǎn)化為模型可用的初始特征,等同于利用外部的知識(shí)來增強(qiáng)本地圖譜的表現(xiàn)。無論是餐飲、醫(yī)療、金融、制造還是零售行業(yè),都能從跨域知識(shí)的遷移中受益。初始特征來自于成熟的知識(shí)圖譜,代表了節(jié)點(diǎn)間的隱含語義與結(jié)構(gòu)關(guān)系。這種初始化能顯著提升模型在各行業(yè)的學(xué)習(xí)能力和性能。預(yù)先訓(xùn)練的嵌入能輕松應(yīng)用于新節(jié)點(diǎn)或關(guān)系的擴(kuò)展,而無需重新從零訓(xùn)練。不同行業(yè)的圖譜和嵌入可共享或遷移,促進(jìn)跨領(lǐng)域應(yīng)用。例如,將醫(yī)療行業(yè)的知識(shí)嵌入應(yīng)用于健康食品推薦(如從DRKG遷移到FlavorGraph)。還有,將財(cái)務(wù)數(shù)據(jù)圖譜嵌入用于供應(yīng)鏈風(fēng)險(xiǎn)管理等許多商業(yè)情境。
其中,節(jié)點(diǎn)嵌入(node embeddings)是將知識(shí)圖譜中的節(jié)點(diǎn)轉(zhuǎn)換為數(shù)值向量,亦即壓縮節(jié)點(diǎn)的高維屬性與關(guān)系信息到低維空間中,保留圖結(jié)構(gòu)的核心語義。然后,于節(jié)點(diǎn)嵌入的向量空間,衡量節(jié)點(diǎn)之間的相似性。使用行業(yè)大KG的節(jié)點(diǎn)嵌入作為下游企業(yè)小KG+GCN 模型輸入,非常有助于提升推薦、分類、或預(yù)測(cè)任務(wù)的準(zhǔn)確度。基于KG 的知識(shí)來生成節(jié)點(diǎn)嵌入的常見技術(shù)包刮:DeepWalk、Node2 Vec、GraphSAGE、或GCN 等。
4 實(shí)際案例演示:實(shí)踐下游任務(wù)
剛才提到了,每個(gè)食材和化學(xué)成分都是FlavorGraph圖中的節(jié)點(diǎn)(node),這些節(jié)點(diǎn)之間的邊(edge)代表食材和化學(xué)成分之間的關(guān)聯(lián)。例如,某些食材共享相似的化學(xué)成分或風(fēng)味特性。然后,F(xiàn)lavorGraph + AI的框架中,其關(guān)鍵任務(wù)之一就是:生成食材及其化學(xué)成分的節(jié)點(diǎn)嵌入。
由于SONY AI團(tuán)隊(duì)已經(jīng)使用FlavorGraph + DeepWalk方法來生成其節(jié)點(diǎn)嵌入了。所以在企業(yè)KG 的下游任務(wù)建構(gòu)中,就能直接讀取它,來做為下游FoodKG + GCN的起始輸入節(jié)點(diǎn)特征。
4.1 從FlavorGraph讀取節(jié)點(diǎn)嵌入
現(xiàn)在,就來寫一個(gè)小Python 程序讀取之。
此程序運(yùn)行時(shí),就會(huì)從FlavorGraph取出食材( 如蛋)的節(jié)點(diǎn)嵌入,輸出如下:
由于FlavorGraph是行業(yè)大型KG,其包容眾多食材,其節(jié)點(diǎn)嵌入向量采取較高的300維度。例如,這程序讀取的食材< 蛋> 的嵌入向量含有300個(gè)數(shù)值。
4.2 建立企業(yè)KG
基于FlavorGraph生成的節(jié)點(diǎn)嵌入,就能建立下游任務(wù)的高質(zhì)量企業(yè)KG。通常企業(yè)KG的節(jié)點(diǎn)和邊的數(shù)量,都比上游通用性KG少很多,但是為了接受從上游遷移而來的節(jié)點(diǎn)嵌入,所以企業(yè)KG的節(jié)點(diǎn)特征( 向量) 也必須設(shè)定成:300維。現(xiàn)在,就動(dòng)手撰寫一個(gè)小Python程序,來建立一個(gè)小型FoodKG。它只有200個(gè)節(jié)點(diǎn),以及171個(gè)邊。如下代碼:
此程序運(yùn)行時(shí),就會(huì)從nodes_tiny_200.csv和edges_tiny_200.csv兩個(gè)檔案里, 讀取200個(gè)節(jié)點(diǎn)和171個(gè)邊的數(shù)據(jù),建立一個(gè)下游的FoodKG。接著,從上游FlavorGraph讀取節(jié)點(diǎn)嵌入,做為FoodKG的起始節(jié)點(diǎn)特征。并且輸出如下:
于是,準(zhǔn)備好了FoodKG。
4.3 企業(yè)KG來訓(xùn)練GCN
接下來,就是引進(jìn)GCN模型來學(xué)習(xí)FoodKG的數(shù)據(jù)。這是一般典型的GCN 訓(xùn)練,于此省略其訓(xùn)練代碼。
此程序運(yùn)行時(shí),就展開訓(xùn)練200 回合,并輸出:
這是典型的GCN訓(xùn)練流程。從loss 值的持續(xù)下降,這GCN的學(xué)習(xí)效果是良好的。至此,完成了一項(xiàng)關(guān)鍵任務(wù):利用行業(yè)KG提供的預(yù)訓(xùn)練嵌入,將KG節(jié)點(diǎn)轉(zhuǎn)化為可用于GCN模型的數(shù)值特征,并且展開訓(xùn)練。
5 結(jié)束語
通用性行業(yè)KG可以支持建構(gòu)各種企業(yè)KG,并結(jié)合GCN等模型,來支持眾多企業(yè)AI的下游任務(wù)。例如,也能支持建立發(fā)酵食材的IngGraph,來實(shí)踐另一項(xiàng)下游客制化任務(wù)。發(fā)酵過程中的食材(例如:酸奶、醬油、啤酒、泡菜等)往往會(huì)經(jīng)歷復(fù)雜的化學(xué)反應(yīng)和微生物活動(dòng)。在FlavorGraph風(fēng)味關(guān)聯(lián)圖中,這些食材都是圖中的節(jié)點(diǎn),而發(fā)酵過程中的風(fēng)味轉(zhuǎn)變、化學(xué)物質(zhì)(如有機(jī)酸、酯類、醇類等)的變化則成為邊來連接這些節(jié)點(diǎn)。GCN模型不僅學(xué)習(xí)食材間的靜態(tài)關(guān)聯(lián),還能捕捉發(fā)酵過程中風(fēng)味的變化。而下游IngGraph這樣的系統(tǒng)可以幫助用戶實(shí)現(xiàn)更精確的食材搭配與風(fēng)味設(shè)計(jì),尤其是針對(duì)那些風(fēng)味組合復(fù)雜、需要高度自定義的發(fā)酵食材領(lǐng)域。
(本文來源于《EEPW》202501)
評(píng)論