一種個性化健康飲食推薦服務(wù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于飲食、推薦服務(wù)和數(shù)據(jù)挖掘技術(shù)領(lǐng)域,具體設(shè)計(jì)一種個性化健康飲食 推薦服務(wù)方法。 技術(shù)背景
[0002] 隨著人民生活水平的不斷提高,吃飽已經(jīng)不能滿足人們對飲食的需求,人們開始 追求飲食的美味與健康。由于個人身體狀況不同,對食物的營養(yǎng)需求和禁忌也有所不同,面 對眾多的食物種類人們?nèi)匀浑y以選擇出合理的飲食方案。個性化健康飲食服務(wù)是基于營養(yǎng) 學(xué)原理和國家的各種膳食供給標(biāo)準(zhǔn),結(jié)合用戶信息為用戶提供針對性的健康飲食方案。
[0003] 健康飲食服務(wù)是一件非常復(fù)雜的工作,從二十世紀(jì)六十年代就有學(xué)者開始研究使 用計(jì)算機(jī)處理這類問題。由于中國的飲食結(jié)構(gòu)比國外相對復(fù)雜,國內(nèi)飲食推薦系統(tǒng)的發(fā)展 相對滯后。目前飲食推薦服務(wù)多采用基于幾個關(guān)鍵營養(yǎng)指標(biāo)的攝入量平衡的營養(yǎng)模型,實(shí) 現(xiàn)方式上多數(shù)采用三種方式:基于案例的和基于規(guī)則的、基于遺傳算法的。
[0004] 在個性化健康飲食推薦方面,要考慮到用戶當(dāng)前的生理需要(即某一特定性別、年 齡及生理狀況個體中對某營養(yǎng)素的需要量)。飲食對用戶長期性、累積性的影響不容忽視, 所以還應(yīng)將用戶在過往飲食記錄中對各營養(yǎng)素的累積攝入量加入到飲食服務(wù)中。上面提到 的方法只關(guān)注于滿足多種營養(yǎng)素在一天或一餐的攝入量是否達(dá)到標(biāo)準(zhǔn),而忽略了用戶飲食 記錄中對各營養(yǎng)素的累積過程。
[0005] 本發(fā)明提出的個性化健康飲食推薦算法其核心是基于飲食記錄的多目標(biāo)遺傳算 法,根據(jù)用戶飲食記錄這一信息,評估用戶在一段時間內(nèi)的總體營養(yǎng)素?cái)z入情況,調(diào)整目 標(biāo)和權(quán)重。該方法關(guān)心用戶在一段時期內(nèi)的總體營養(yǎng)素?cái)z入情況,而不是機(jī)械的要求每天 攝入的營養(yǎng)素。
【發(fā)明內(nèi)容】
[0006] 針對以上不足之處,為了更好地滿足人們飲食健康的需求,為用戶提供個性化的 飲食推薦服務(wù),促進(jìn)營養(yǎng)改善、營養(yǎng)信息化建設(shè),本發(fā)明提供一種個性化健康飲食推薦服務(wù) 方法。
[0007] 本發(fā)明所采用的技術(shù)方案是:
[0008] 該個性化健康飲食推薦服務(wù)方法包括以下步驟:
[0009] (1)收集歷史用戶的用戶數(shù)據(jù)、食品數(shù)據(jù)和營養(yǎng)數(shù)據(jù);
[0010] (2)在步驟(1)所收集的數(shù)據(jù)中進(jìn)行篩選,構(gòu)建飲食本體模型;
[0011] (3)根據(jù)飲食本體模型提取目標(biāo)用戶的用戶數(shù)據(jù)和營養(yǎng)數(shù)據(jù),并確定該目標(biāo)用戶 對應(yīng)的各營養(yǎng)素的標(biāo)準(zhǔn)攝入量S,;
[0012] (4)根據(jù)步驟(3)所得目標(biāo)用戶對應(yīng)的各營養(yǎng)素的標(biāo)準(zhǔn)攝入量51,結(jié)合該用戶在本 體模型中的飲食記錄,計(jì)算各目標(biāo)營養(yǎng)素的攝入誤差;
[0013]
[0014] 其中,fdX)為目標(biāo)用戶攝入第i種營養(yǎng)素的誤差,X為各食物及其所對應(yīng)的食用量 的集合,X=(xi,x2,···,x。,…,yi,y2,···,y。,···);V表示食物集,y。表示目標(biāo)用戶對第c種食物 X。的食用量,xc;i表不食物X。的第i種營養(yǎng)素的含量;
[0015] (5)利用步驟(3)的標(biāo)準(zhǔn)攝入量Si和步驟⑷的各目標(biāo)營養(yǎng)素的攝入誤差心⑴,計(jì) 算出各目標(biāo)營養(yǎng)素的攝入誤差率&和最近t段時間內(nèi)的累積誤差率Ei:
[0016]
[0017] Ε?= Σ tei ;
[0018] (6)根據(jù)步驟(5) t段時間內(nèi)的累積誤差率Ei,確定各目標(biāo)營養(yǎng)素函數(shù)的權(quán)重Wi,
[0019]
[0020] 其中,a為權(quán)重因子,q為目標(biāo)營養(yǎng)素的個數(shù);
[0021] (7)根據(jù)步驟(6)所得各目標(biāo)營養(yǎng)素的權(quán)重值,確定適應(yīng)值函數(shù)h:
[0022]
[0023] Y= (XI,X2,…,xm,…,yi,y2,…,ym,…),xmeV
[0024] 其中Y為目標(biāo)用戶所推薦的食物xm和其對應(yīng)的食用量7?的集合,m為給目標(biāo)用戶所 推薦的食物編號;
[0025]應(yīng)用適應(yīng)值函數(shù)h通過遺傳算法計(jì)算出目標(biāo)用戶所推薦的食物&和其對應(yīng)的食用 量ymo
[0026]在上述步驟(7)之后還包括步驟(8),提取飲食本體模型中歷史用戶在美食博客中 發(fā)布的所有菜肴信息,利用LDA模型建立用戶-興趣的概率生成矩陣,通過KL散度方法計(jì)算 歷史用戶與目標(biāo)用戶間的興趣相似度,從而將與步驟(7)所推薦的食物&相關(guān)的菜肴推薦 給目標(biāo)用戶。
[0027] 上述步驟(8)具體由以下步驟實(shí)現(xiàn):
[0028] (8.1)從飲食本體模型中提取用戶在美食博客中發(fā)布的所有菜肴信息,利LDA模型 確定出用戶-興趣-詞的關(guān)系,將一個用戶的所有菜肴合并成一個文檔進(jìn)行興趣模型生成, 得到用戶-興趣的概率生成矩陣:
[0029]
[0030]其中,u表示用戶集,z表示興趣集,η為用戶集中歷史用戶的個數(shù),k表示興趣集中 興趣的種類,Ay表示用戶此在興趣zk上的生成概率,表明用戶un對興趣zk的喜好程度;
[0031] (8.2)篩選出在美食博客中發(fā)布過與步驟(7)所推薦的食物Xm相關(guān)菜肴的歷史用 戶,根據(jù)步驟(8.1)所得的用戶-興趣概率生成矩陣計(jì)算該歷史用戶m與目標(biāo)用戶之間的 興趣相似度,公式如下:
[0032]
[0033] D(m,Uj) = [Dkl(ih | | Uj)+DKL(Uj | | Ui) ]/2,
[0034]
[0035] 其中,Sim(Ul,Uj)為歷史用戶m和目標(biāo)用戶的興趣相似度,該值越大,表示兩個 用戶興趣越相似;
[0036] (8.3)根據(jù)步驟(7)中食物Xm,為目標(biāo)用戶叫推薦與之相似度最高的用戶所發(fā)布的 關(guān)于食物Xm的菜肴。
[0037]上述用戶數(shù)據(jù)包括人口統(tǒng)計(jì)學(xué)特征信息、運(yùn)動信息、生理狀態(tài)信息、飲食記錄信 息、美食博客信息、位置物理環(huán)境信息、社會環(huán)境信息、宗教信仰信息、增肌減脂目標(biāo)信息和 口味興趣信息;食品數(shù)據(jù)包括網(wǎng)絡(luò)中的菜肴信息和食物成分表中的食物信息。
[0038] 本發(fā)明的個性化健康飲食推薦服務(wù)方法是通過收集的用戶數(shù)據(jù)、食品數(shù)據(jù)和營 養(yǎng)數(shù)據(jù)等進(jìn)行篩選,構(gòu)建飲食本體模型,從中提取用戶數(shù)據(jù)和營養(yǎng)數(shù)據(jù),計(jì)算各營養(yǎng)素的標(biāo) 準(zhǔn)攝入量,結(jié)合用戶的飲食記錄,計(jì)算各目標(biāo)營養(yǎng)素的攝入誤差,從而確定出各目標(biāo)營養(yǎng)素 的攝入誤差和最近t段時間內(nèi)的累積誤差率,確定出各目標(biāo)營養(yǎng)素函數(shù)的權(quán)重,利用遺傳算 法計(jì)算出目標(biāo)用戶所推薦的食物 Xm和其對應(yīng)的食用量ym,本發(fā)明能夠結(jié)合用戶的健康狀況、 飲食習(xí)慣以及個人愛好等,為用戶提供一種個性化的健康飲食推薦服務(wù)方法,更好地滿足 用戶飲食健康和興趣愛好的需求,促進(jìn)營養(yǎng)改善、營養(yǎng)信息化建設(shè)。
[0039] 與現(xiàn)有技術(shù)相比,本發(fā)明優(yōu)點(diǎn)在于:
[0040] 1)搜集與飲食相關(guān)的用戶數(shù)據(jù)、食品數(shù)據(jù)和營養(yǎng)數(shù)據(jù),構(gòu)建飲食本體模型,為飲食 推薦服務(wù)提供基礎(chǔ),能夠更好地表達(dá)用戶信息及其與食物、健康飲食間存在的內(nèi)在關(guān)系,提 高推薦結(jié)果的可靠性與通用性。
[0041] 2)將用戶的飲食記錄信息加入到推薦策略,改進(jìn)傳統(tǒng)的基于隨機(jī)權(quán)重的遺傳算 法,提出基于飲食記錄的多目標(biāo)遺傳算法為用戶推薦食物,結(jié)合用戶自身的身體健康狀況、 個人習(xí)慣與喜好等為用戶量身定制合理、健康的飲食,促進(jìn)營養(yǎng)改善、營養(yǎng)信息化建設(shè),大 大提尚用戶生活品質(zhì);
[0042] 3)挖掘用戶在美食社區(qū)發(fā)布的美食博客數(shù)據(jù),發(fā)現(xiàn)用戶興趣,推薦用戶感興趣的 菜肴,在健康合理的基礎(chǔ)上滿足用戶喜好,滿足人性化需求。
[0043]
【附圖說明】 圖1為實(shí)施例中飲食本體的分類架構(gòu)圖。 圖2為圖1中用戶模型的分類架構(gòu)圖。 圖3為圖2中人口統(tǒng)計(jì)學(xué)特征類的分類架構(gòu)圖。 圖4為圖2中