[摘要] 目的 為精準、有效、直觀地為不同人群提供營養(yǎng)和飲食建議,構(gòu)建包含食物、營養(yǎng)、人群、疾病等實體的多模態(tài)營養(yǎng)知識圖譜。方法 利用爬蟲等技術(shù)手段獲取營養(yǎng)領(lǐng)域數(shù)據(jù)集,借鑒OneRel模型完成中文實體關(guān)系聯(lián)合抽取,構(gòu)建文本庫。使用RoBERTa和ResNet模型分別學習文本和圖像數(shù)據(jù)特征,實現(xiàn)圖像與文本的鏈接,構(gòu)建多模態(tài)知識圖譜。結(jié)果 實體關(guān)系聯(lián)合抽取模型的F1值為0.703,構(gòu)建的多模態(tài)知識圖譜中包含3312個文本實體、11 259條關(guān)系、1000張圖像實體。結(jié)論 本研究構(gòu)建的多模態(tài)營養(yǎng)知識圖譜可達到較好的效果,該圖譜不僅能系統(tǒng)整合營養(yǎng)領(lǐng)域多模態(tài)知識,實現(xiàn)良好可視化查詢,也能完成智能問答、營養(yǎng)推薦系統(tǒng)等下游任務(wù)的底層支撐。
[關(guān)鍵詞] 多模態(tài)知識圖譜;知識表達;健康飲食
[中圖分類號] R151;TP391.1" """"[文獻標識碼] A""" [DOI] 10.3969/j.issn.1673-9701.2025.17.004
Construction of multi-modal nutritional knowledge graph
CHE Meiling, NAN Jiale, LIN Jianhai, GAO Dongping
Institute of Medical Information, Chinese Academy of Medical Sciences, Peking Union Medical College, Beijing 100020, China
[Abstract] Objective To provide precise, effective, and intuitive nutritional and dietary recommendations for different population groups, a multi-modal nutritional knowledge graph was constructed, which includes entities such as food, nutrition, population, and diseases. Methods Data sets in the field of nutrition were obtained using web crawling and other technical means. The OneRel model was referenced to complete the joint extraction of Chinese entity relationships and construct a text library. The RoBERTa-ResNet model were used to learn the features of text and image data separately, to align images with text, and to construct a multi-modal knowledge graph. Results The F1 value of the joint entity relationship extraction model was 0.703. The constructed multi-modal knowledge graph contains 3312 textual entities, 11 259 relationships, and 1000 image entities. Conclusion The algorithms used in this study to construct the multi-modal nutritional knowledge graph achieve good results. This knowledge graph not only systematically integrates multi-modal knowledge in the field of nutrition and enables good visual query capabilities, but also serves as the underlying support for downstream tasks such as intelligent question answering and nutritional recommendation systems.
[Key words] Multi-modal knowledge graph; Knowledge representation; Healthy diet
飲食是人們生活中的關(guān)鍵一環(huán),與人體的健康狀況息息相關(guān)。《中國國民營養(yǎng)與慢性病狀況報告(2020年)》[1]指出中國營養(yǎng)改善和慢性病防控工作雖已取得積極進展和明顯成效,但膳食不合理問題仍十分突出,營養(yǎng)不足、營養(yǎng)過剩等問題仍需引起關(guān)注。健康飲食已成為廣大民眾追求的目標,但中國注冊營養(yǎng)師的數(shù)量仍不容樂觀,網(wǎng)絡(luò)中的營養(yǎng)學知識通常是海量且分散的,高質(zhì)量的營養(yǎng)學知識較難獲取,而構(gòu)建營養(yǎng)領(lǐng)域知識圖譜是解決這一問題的有效途徑。
知識圖譜使用基于圖的數(shù)據(jù)模型,從多元、多結(jié)構(gòu)、多模態(tài)的數(shù)據(jù)中獲取并表達知識,可用于知識解釋、判斷和推理[2-3];目前已成功應(yīng)用于智能搜索、智能問答、推薦系統(tǒng)和預(yù)測等領(lǐng)域[4-8]。
傳統(tǒng)知識圖譜大多僅包含文本信息,這種單一模態(tài)極大限制機器理解、解釋和展示現(xiàn)實世界的能力。事實上,圖片、視頻、音頻等數(shù)據(jù)也可納入知識圖譜。多模態(tài)知識圖譜構(gòu)建方法主要有兩種:基于特征的方法和基于實體的方法[9]。前者將模態(tài)信息作為實體的輔助特征或?qū)傩?,要求圖譜中每個實體都具備多模態(tài)信息;后者則將不同模態(tài)信息視為關(guān)系三元組,而非輔助特征。目前,基于實體的方法已成為主流構(gòu)建方法。
1 "資料與方法
1.1" 數(shù)據(jù)獲取與預(yù)處理
本研究的營養(yǎng)領(lǐng)域文本數(shù)據(jù)獲取主要來自《中國食物成分表》《營養(yǎng)與食品衛(wèi)生》和百度百科網(wǎng)站,圖像數(shù)據(jù)利用食物實體在搜索引擎中進行爬取。
文本數(shù)據(jù)的預(yù)處理包括語料清洗、中文分詞、詞性標注等步驟。對從百度百科網(wǎng)站獲取的網(wǎng)絡(luò)信息則需特別注意驗證信息的準確性和權(quán)威性,避免引入不準確或誤導性的知識,污染知識圖譜。圖像數(shù)據(jù)的預(yù)處理主要是圖像篩選和屬性標注。由于下載的圖像數(shù)據(jù)中可能包含大量重復或相似度過高的圖像,這些圖像對后續(xù)的圖譜構(gòu)建無益且會對計算造成負擔,因此應(yīng)進行過濾。本文利用感知哈希算法[10]對圖像進行過濾。
1.2" 實體關(guān)系聯(lián)合抽取
本研究借鑒OneRel模型,將其應(yīng)用到中文實體關(guān)系聯(lián)合抽取任務(wù)中。對于文本標記,使用“BIE”策略指示token在實體中的位置信息,如在“充足的蛋白質(zhì)供應(yīng)對胃癌患者十分重要”句子中,通過運用BIE標記策略產(chǎn)生4種類型的標記,分別是""" ①HB-TB:表示頭實體開頭和尾實體開頭。“蛋白質(zhì)”和“胃癌”這兩個實體之間存在“宜用”的關(guān)系,因此(“胃”“宜用”“蛋”)的分類標簽即為“HB-TB”;②HB-TE表示頭實體開頭和尾實體結(jié)尾。(“胃”“宜用”“質(zhì)”)的分類標簽即為“HB-TE”;③HE-TE表示頭實體結(jié)尾和尾實體結(jié)尾。(“癌”“宜用”“質(zhì)”)的分類標簽即為“HE-TE”;④上述3種情況之外的所有情況被標記為“–”。中文數(shù)據(jù)集中,DUIE 1.0[11]是一個較為常用的訓練實體–關(guān)系聯(lián)合抽取模型使用的數(shù)據(jù)集。在此基礎(chǔ)上,本文針對性地加入本領(lǐng)域標注的7種關(guān)系屬性和7種關(guān)系類型近千條標注數(shù)據(jù),與DUIE 1.0數(shù)據(jù)集一起轉(zhuǎn)置成模型訓練所需的數(shù)據(jù)格式,使得訓練的模型即擁有如預(yù)訓練模型一樣的通用實體–關(guān)系聯(lián)合抽取能力,又能提升模型在營養(yǎng)知識領(lǐng)域的表現(xiàn),見表1。采用Python 3.6和PyCharm 2022。在實體關(guān)系抽取任務(wù)中,常用精確度、召回率和F1值進行評價。
1.3" 文本圖像實體鏈接
本研究采用雙流模型的思想,使用圖像編碼器殘差神經(jīng)網(wǎng)絡(luò)(residual neural network,ResNet)[12]處理圖像數(shù)據(jù),使用文本編碼器RoBERTa(robustly optimized BERT pretraining approach,RoBERTa)[13]處理文本數(shù)據(jù),然后將兩個輸出映射到一個公共空間中,計算它們間的相似度得分,獲得最終的分類或預(yù)測結(jié)果。利用ResNet50和RoBERTa獲得圖像嵌入和文本嵌入后,采用對比學習的思想采用交叉熵損失進行訓練。本研究采用網(wǎng)絡(luò)下載的食物實體圖像進行標簽標注和圖像篩選過濾,形成擁有1000張不重復的圖像描述數(shù)據(jù)集。本研究使用K召回率(recall at K,Recall@K)作為評估指標,表示在最接近查詢的K個結(jié)果中,正確項目被檢索到的比例。
2" 結(jié)果
2.1" 營養(yǎng)知識圖譜模式層構(gòu)建
參考相關(guān)研究,并圍繞營養(yǎng)領(lǐng)域推薦的概念,為營養(yǎng)知識圖譜定義食物種類、食物、食物圖像、營養(yǎng)素、人群、疾病、癥狀7個實體,見表2?!皩嶓w–屬性–屬性值”三元組是知識圖譜中的重要組成部分,本研究對實體的屬性特征進行具體的刻畫和描述,對后續(xù)推薦系統(tǒng)的實現(xiàn)提供重要支撐,見表3。知識圖譜的實體之間通過關(guān)系連接成網(wǎng)狀結(jié)構(gòu),從而實現(xiàn)知識推理。圍繞知識圖譜面向的任務(wù),為實體之間定義7種關(guān)系:“分類”“富含”“宜搭配”“有圖像”“忌用”“宜用”“限制”。實體間的具體關(guān)系見圖1。
2.2" 實體關(guān)系聯(lián)合抽取
本研究F1值為0.706,表明該模型有良好的可用性,可在營養(yǎng)領(lǐng)域的實體關(guān)系抽取場景使用。完成實體關(guān)系抽取后,最終獲得文本實體3312條,關(guān)系11 259條。
2.3" 文本圖像實體鏈接
本研究從圖像查詢文本的Recall@1、Recall@5、Recall@10分別為0.657、0.822、0.951,從文本查詢圖像的Recall@1、Recall@5、Recall@10分別為0.630、0.792、0.859,表明該模型對食物圖像和營養(yǎng)相關(guān)文本的特征提取效果較好,模型經(jīng)訓練后可獲得良好的實體鏈接效果,本研究圖譜中包含3312個文本實體、11 259條關(guān)系、1000張圖像實體。
3" 討論
對實體關(guān)系聯(lián)合抽取實驗結(jié)果進行觀察,發(fā)現(xiàn)抽取的實體類型的多樣性,驗證所用算法可全面覆蓋營養(yǎng)領(lǐng)域所需的關(guān)鍵實體,確保抽取數(shù)據(jù)的豐富性。同時豐富的關(guān)系也揭示實體間存在復雜的相互作用。這些關(guān)系不僅包括食物與營養(yǎng)素間的關(guān)系,還涵蓋食物、營養(yǎng)素與疾病、人群間的關(guān)聯(lián),證明實驗方法可深入挖掘和理解實體間的廣泛聯(lián)系。
從文本數(shù)據(jù)中抽取的實體關(guān)系三元組是構(gòu)建知識圖譜的基礎(chǔ)。傳統(tǒng)的流水線方法將該任務(wù)分為命名實體識別和關(guān)系抽取兩個子任務(wù),這種方法簡單但易導致錯誤累積,且缺少子任務(wù)間的信息交互[14];面對多元重疊關(guān)系問題存在局限性。為增強子任務(wù)間的交互性,實體關(guān)系的聯(lián)合抽取方法應(yīng)運而生,其中,基于深度學習的端到端模型在該領(lǐng)域表現(xiàn)出極大優(yōu)勢[15]。基于深度學習的實體關(guān)系聯(lián)合抽取方法可分為多模塊–多步驟方法、多模塊–單步驟方法和單模塊–單步驟方法[16]。OneRel模型是一種基于細粒度的三重分類模型,有效緩解錯誤累積和實體冗余等問題,在公開數(shù)據(jù)集上取得超越前人的性能[17]。文本與圖像的實體鏈接通過學習文本及對應(yīng)圖像特征的關(guān)系,推斷它們間的對齊關(guān)系,從而實現(xiàn)圖文匹配。根據(jù)使用Transformer模型的模式不同,可將多模態(tài)預(yù)訓練模型分為單流模型和雙流模型[18]。本文借鑒OneRel模型,將其應(yīng)用到中文實體關(guān)系聯(lián)合抽取任務(wù)中。本研究采用雙流模型思想,使用圖像編碼器ResNet[19]處理圖像數(shù)據(jù),使用文本編碼器RoBERTa[13]處理文本數(shù)據(jù),然后將兩個輸出映射到一個公共空間中,計算它們間的相似度得分,獲得最終的分類或預(yù)測結(jié)果。
本研究文本圖像實體鏈接的實驗結(jié)果表明該模型對食物圖像和營養(yǎng)相關(guān)文本的特征提取效果較好,模型經(jīng)訓練后可獲得良好的實體鏈接效果。知識圖譜的存儲方式主要有RDF格式存儲和圖數(shù)據(jù)庫[20]兩種。RDF格式存儲通過三元組的形式存儲數(shù)據(jù),如Freebase知識圖譜。圖數(shù)據(jù)庫的方法比RDF數(shù)據(jù)庫更加通用。目前典型的開源圖數(shù)據(jù)庫是Neo4j,本文采用該圖數(shù)據(jù)庫存儲多模態(tài)數(shù)據(jù)。
本研究存在一定不足:①本文研究依賴單一數(shù)據(jù)集,存在在研究中引入偏見的可能性,限制結(jié)果的普遍性。②本研究對食物屬性的表達范圍有限,可能導致某些建議出現(xiàn)偏差;③知識圖譜目前尚未考慮用戶的特殊情況(體質(zhì)量管理目標、食物耐受等),納入這些因素有助于提供更定制化和個性化的建議,進而提高用戶滿意度和參與度。綜上,本研究提出一套構(gòu)建多模態(tài)營養(yǎng)知識圖譜的方案。本研究結(jié)合營養(yǎng)學書籍、百度百科等相關(guān)網(wǎng)站獲取營養(yǎng)領(lǐng)域的文本及圖像數(shù)據(jù),借鑒OneRel模型實現(xiàn)中文實體和關(guān)系聯(lián)合抽取,并構(gòu)建基于ResNet模型和RoBERTa模型的圖像文本實體鏈接模型,將圖像數(shù)據(jù)加入到文本知識子圖,最終實現(xiàn)構(gòu)建多模態(tài)營養(yǎng)知識圖譜的任務(wù)。在后續(xù)工作中,將考慮納入更多實體類型,進一步細化實體間的關(guān)系類型,豐富知識圖譜內(nèi)容,增強圖譜的推理能力。
利益沖突:所有作者均聲明不存在利益沖突。
[參考文獻]
(收稿日期:2025–05–23)
(修回日期:2025–05–29)
基金項目:科技創(chuàng)新2030“新一代人工智能”重大專項(2020AAA0104905)
通信作者:高東平,電子信箱:gaodp_gaodp@126.com