本發(fā)明涉及一種基于動(dòng)態(tài)語(yǔ)義增強(qiáng)的層次化文本多粒度食譜檢索方法,屬于食品計(jì)算中的食品跨模態(tài)檢索。
背景技術(shù):
1、隨著信息技術(shù)飛速發(fā)展,跨模態(tài)檢索技術(shù)融合文本、圖像、語(yǔ)音等多模態(tài)數(shù)據(jù),實(shí)現(xiàn)對(duì)復(fù)雜信息的深度理解。在烹飪領(lǐng)域,食譜作為集食材描述、操作步驟和成品展示等信息于一體的典型多模態(tài)文檔,伴隨數(shù)字化進(jìn)程,人們對(duì)其檢索需求顯著增長(zhǎng),期望通過(guò)輸入文本描述、上傳菜品圖片等方式快速準(zhǔn)確找到符合需求的食譜。目前的跨模態(tài)食譜檢索方法大多采用食譜文本和食物圖像簡(jiǎn)單對(duì)齊的方式,這種方式存在顯著的缺點(diǎn),首先食譜文本和食物圖像這兩種模態(tài)之間存在表示差異,提取的食譜文本含有大量冗余信息加深了模態(tài)間的表示差異,產(chǎn)生的噪聲導(dǎo)致特征被稀釋,造成了不必要信息的對(duì)齊干擾。其次食譜文本具有復(fù)合語(yǔ)義特征,包含嵌套的食材實(shí)體“法式紅酒燉牛肉”、時(shí)序關(guān)聯(lián)的動(dòng)作指令“先煎后烤”、以及狀態(tài)描述的屬性詞“糖霜覆蓋”等復(fù)雜文本信息容易丟失,造成語(yǔ)義對(duì)齊困難,從而影響檢索的準(zhǔn)確性,正是由于這些原因使得食物圖像和食譜文本的檢索效果不盡如人意。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于克服上述已有技術(shù)的不足而提供一種基于動(dòng)態(tài)語(yǔ)義增強(qiáng)的層次化文本多粒度食譜檢索方法。
2、本發(fā)明提供的技術(shù)方案如下:一種基于動(dòng)態(tài)語(yǔ)義增強(qiáng)的層次化文本多粒度食譜檢索方法,其特征在于,其包括以下步驟:
3、步驟s1,使用recipe1m數(shù)據(jù)集,建立食物圖像和食譜文本兩個(gè)模態(tài)的數(shù)據(jù)集,其中食譜文本包含標(biāo)題、配料、指令三個(gè)組件,將這食物圖像和食譜文本的數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集;
4、步驟s2,分別利用vit視覺(jué)模型和級(jí)聯(lián)transformer模型對(duì)訓(xùn)練集、驗(yàn)證集和測(cè)試集的食物圖像和食譜文本進(jìn)行特征的提取,具體包括:
5、步驟s21,提取食物圖像的全局特征;
6、步驟s22,提取食譜文本的全局特征;
7、步驟s23,提取食譜文本的三個(gè)核心語(yǔ)義單元特征;
8、步驟s3,構(gòu)造訓(xùn)練集上的損失函數(shù),具體包括:
9、步驟s31,構(gòu)造全局三元組鉸鏈損失函數(shù);
10、步驟s32,對(duì)食譜文本的三個(gè)核心語(yǔ)義單元特征,分別構(gòu)造出三個(gè)語(yǔ)義單元特征的三元組鉸鏈損失函數(shù);
11、步驟s33,構(gòu)造最終動(dòng)態(tài)三元組聯(lián)合損失函數(shù);
12、步驟s4,進(jìn)行跨模態(tài)食譜檢索,將召回率用作評(píng)定指標(biāo)。
13、進(jìn)一步地,所述步驟s2具體包括以下步驟:
14、進(jìn)一步地,所述步驟s2具體包括以下步驟:
15、步驟s21,提取食物圖像的全局特征:
16、將食物圖像集輸入到vit視覺(jué)模型編碼器中,然后通過(guò)vit視覺(jué)模型編碼器映射函數(shù)生成對(duì)應(yīng)的食物圖像全局嵌入特征,其中,表示第f個(gè)食物圖像,v表示視覺(jué)模態(tài)標(biāo)識(shí)符,表示食物圖像的數(shù)量;
17、步驟s22,提取食譜文本的全局特征:
18、采用雙層的transformer網(wǎng)絡(luò)來(lái)處理食譜文本的各單詞和句子,給定食譜文本集合,其中,表示第個(gè)標(biāo)題組件,表示第個(gè)配料組件,表示第個(gè)指令組件,表示食譜文本標(biāo)識(shí)符,表示食譜文本的數(shù)量;將標(biāo)題組件,配料組件和指令組件分別送入第一層transformer網(wǎng)絡(luò)中,第一層的transformer網(wǎng)絡(luò)接收三個(gè)組件中的句子里面的每個(gè)單詞并對(duì)其進(jìn)行編碼處理,捕獲到每個(gè)單詞之間的關(guān)系并通過(guò)平均池化將每個(gè)句子中所有單詞的嵌入表示進(jìn)行平均處理,從而得到標(biāo)題組件、配料組件和指令組件的句子級(jí)別嵌入表示=,其中,表示第一層transformer網(wǎng)絡(luò);將得到的標(biāo)題組件、配料組件和指令組件的句子級(jí)別嵌入再分別送入第二層transformer網(wǎng)絡(luò)中,通過(guò)平均池化將標(biāo)題組件、配料組件和指令組件的句子級(jí)別嵌入進(jìn)行平均處理得到最終的標(biāo)題組件、配料組件和指令組件的整體融合特征向量=,其中為第二層transformer的網(wǎng)絡(luò);將標(biāo)題組件、配料組件、指令組件的整體融合特征向量進(jìn)行拼接得到最后的食譜文本全局特征向量,其中,表示全連接層;
19、步驟s23,提取食譜文本的三個(gè)核心語(yǔ)義單元特征:
20、首先對(duì)標(biāo)題組件、配料組件和指令組件的句子級(jí)別嵌入表示進(jìn)行分詞處理,獲取每個(gè)單詞的初始特征表示;隨后通過(guò)transformer編碼器對(duì)詞序列進(jìn)行全局上下文建模,生成具有語(yǔ)義關(guān)聯(lián)的增強(qiáng)特征,建模公式為,表示第個(gè)單詞的初始特征,隨后進(jìn)行預(yù)測(cè)詞語(yǔ)類別的操作,此過(guò)程經(jīng)過(guò)兩層分類器:首先,第一層使用relu激活函數(shù)對(duì)增強(qiáng)特征進(jìn)行非線性變換,其中,表示非線性變換函數(shù),是非線性變換權(quán)重矩陣,是非線性變換偏置向量;隨后,第二層通過(guò)線性映射和softmax歸一化輸出三元概率向量,三元概率向量的計(jì)算公式為:,其中,是線性變換權(quán)重矩陣,是線性變換偏置向量,三元概率向量的表示形式為,表示實(shí)體詞概率、表示屬性詞概率,表示關(guān)系詞概率;
21、最終基于三元概率向量對(duì)食譜文本特征加權(quán)融合,生成食譜文本的三個(gè)核心語(yǔ)義單元特征,用于跨模態(tài)對(duì)齊任務(wù),其中,表示實(shí)體詞語(yǔ)義單元特征,表示屬性詞語(yǔ)義單元特征,表示關(guān)系詞語(yǔ)義單元特征;計(jì)算實(shí)體詞語(yǔ)義單元特征的公式為:;計(jì)算屬性詞語(yǔ)義單元特征的公式為:;計(jì)算關(guān)系詞語(yǔ)義單元特征的公式為:。
22、進(jìn)一步地,所述步驟s3具體包括以下步驟:
23、步驟s31,構(gòu)造全局三元組鉸鏈損失函數(shù),以此優(yōu)化食物圖像全局嵌入特征和食譜文本全局特征向量的相似度;
24、利用三元組損失公式構(gòu)造出單一食物圖像與單一食譜文本的雙約束三元組損失函數(shù),公式如下:
25、?;
26、在三元組損失公式中表示錨點(diǎn)樣本,表示正樣本,?表示負(fù)樣本,表示為余弦相似度計(jì)算函數(shù),為邊界閾值,在單一食物圖像與單一食譜文本的雙約束三元組損失函數(shù)中分別表示單一食物圖像的正樣本和負(fù)樣本,分別表示單一食譜文本的正樣本和負(fù)樣本;
27、利用單一食物圖像與單一食譜文本的雙約束三元組損失函數(shù),構(gòu)造出基于批次食物圖像與批次食譜文本的雙約束三元組損失函數(shù)公式如下:
28、;
29、其中為批次大小,;
30、利用基于批次食物圖像與批次食譜文本的雙約束三元組損失函數(shù)以及食物圖像全局嵌入特征,食譜全局特征向量構(gòu)造出全局三元組鉸鏈損失函數(shù)公式如下:
31、=?;
32、其中,表示食物圖像全局嵌入特征的正樣本,表示食譜文本全局特征向量的正樣本,表示食譜文本全局特征向量的負(fù)樣本,表示食物圖像全局嵌入特征的負(fù)樣本;
33、步驟s32,對(duì)食譜文本的三個(gè)核心語(yǔ)義單元特征,分別構(gòu)造出三個(gè)語(yǔ)義單元特征的三元組鉸鏈損失函數(shù);
34、利用基于批次圖像與批次文本的雙約束三元組損失函數(shù),食物圖像全局嵌入特征,以及實(shí)體詞語(yǔ)義單元特征、屬性詞語(yǔ)義單元特征和關(guān)系詞語(yǔ)義單元特征分別構(gòu)造出實(shí)體詞三元組鉸鏈損失函數(shù)、屬性詞三元組鉸鏈損失函數(shù)、關(guān)系詞三元組鉸鏈損失函數(shù),公式如下:
35、=;
36、=;
37、=;
38、其中,表示食物圖像全局嵌入特征的正樣本,表示實(shí)體詞語(yǔ)義單元特征的正樣本,表示實(shí)體詞語(yǔ)義單元特征的負(fù)樣本,表示屬性詞語(yǔ)義單元特征的正樣本,表示屬性詞語(yǔ)義單元特征的負(fù)樣本,表示關(guān)系詞語(yǔ)義單元特征的正樣本,表示關(guān)系詞語(yǔ)義單元特征的負(fù)樣本,表示食物圖像全局嵌入特征的負(fù)樣本;
39、步驟s33,構(gòu)造最終動(dòng)態(tài)三元組聯(lián)合損失函數(shù),實(shí)現(xiàn)食物圖像與食譜文本的三重對(duì)齊策略;
40、將求得的全局三元組鉸鏈損失函數(shù)、實(shí)體詞三元組鉸鏈損失函數(shù)、屬性詞三元組鉸鏈損失函數(shù)、關(guān)系詞三元組鉸鏈損失函數(shù)相加求和得到最終動(dòng)態(tài)三元組聯(lián)合損失函數(shù)l,公式如下:
41、++?。
42、本發(fā)明的有益效果是:本發(fā)明首先通過(guò)特征提取算法分別把食物圖像的全局特征和食譜文本的全局特征提取出來(lái),構(gòu)造全局三元組鉸鏈損失函數(shù)以優(yōu)化食物圖像全局嵌入特征和食譜文本全局向量的相似度。其次,提取出食譜文本的三個(gè)核心語(yǔ)義單元特征,分別構(gòu)造出三個(gè)語(yǔ)義單元特征的三元組鉸鏈損失函數(shù),利用實(shí)體詞、屬性詞、關(guān)系詞這三個(gè)核心語(yǔ)義進(jìn)一步增強(qiáng)食譜文本特征,構(gòu)建出細(xì)粒度的匹配依據(jù),有效解決了復(fù)雜食譜文本信息在檢索過(guò)程中易丟失的問(wèn)題。最后,構(gòu)造動(dòng)態(tài)三元組聯(lián)合損失函數(shù),實(shí)現(xiàn)食物圖像與食譜文本的三重對(duì)齊策略,緩解了語(yǔ)義對(duì)齊困難,提高檢索的準(zhǔn)確性。
43、本發(fā)明融合了圖像文本粗粒度檢索和動(dòng)態(tài)語(yǔ)義增強(qiáng)的細(xì)粒度食譜檢索方法,一方面通過(guò)增強(qiáng)文本特征補(bǔ)償跨模態(tài)表示差異,消除了食譜文本冗余信息的噪聲干擾;另一方面利用提取的三個(gè)核心語(yǔ)義單元構(gòu)建細(xì)粒度的匹配依據(jù),有效解決了復(fù)雜文本信息在檢索過(guò)程中易丟失的問(wèn)題,顯著提升跨模態(tài)檢索的準(zhǔn)確性與魯棒性,具有顯著的效果。