本發(fā)明實(shí)施例涉及智能家居技術(shù)領(lǐng)域,尤其涉及一種菜譜推薦方法、裝置及智能冰箱。
背景技術(shù):
現(xiàn)今,各行各業(yè)的信息資源數(shù)量都在以指數(shù)形式增長(zhǎng),以信息資源為基礎(chǔ)的個(gè)性化推薦服務(wù)也逐漸出現(xiàn)在生活的方方面面。為了順應(yīng)趨勢(shì)、增強(qiáng)飲食方面的個(gè)性化推薦服務(wù),以菜譜推薦為主要服務(wù)形式的飲食個(gè)性化推薦服務(wù)陸續(xù)出現(xiàn)。
在冰箱智能化的今天,基于智能冰箱的菜譜推薦服務(wù)已成為菜譜推薦服務(wù)中的一種重要形式。目前,基于智能冰箱的菜譜推薦服務(wù)主要是以冰箱中的食材為依據(jù),從當(dāng)下熱門(mén)的菜譜中選取包含冰箱中食材的菜譜推薦給用戶(hù),但是這種菜譜推薦方法并沒(méi)有考慮到用戶(hù)飲食偏好等個(gè)性化需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種菜譜推薦方法、裝置及智能冰箱,用以向用戶(hù)提供符合用戶(hù)個(gè)性化需求的菜譜推薦。
本發(fā)明實(shí)施例第一方面提供一種菜譜推薦方法,該方法包括:
獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;
根據(jù)所述食材信息,確定與所述冰箱中食材相關(guān)聯(lián)的第一菜譜集合;
根據(jù)所述菜譜信息,確定與所述歷史菜譜相關(guān)聯(lián)的第二菜譜集合;
確定所述第一菜譜集合和所述第二菜譜集合的交集,生成待推薦菜譜。
本發(fā)明實(shí)施例第二方面提供一種菜譜推薦裝置,該裝置包括:
第一獲取模塊,用于獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;
第一確定模塊,用于根據(jù)所述食材信息,確定與所述冰箱中食材相關(guān)聯(lián)的第一菜譜集合;
第二確定模塊,用于根據(jù)所述菜譜信息,確定與所述歷史菜譜相關(guān)聯(lián)的第二菜譜集合;
處理模塊,用于確定所述第一菜譜集合和所述第二菜譜集合的交集,生成待推薦菜譜。
本發(fā)明實(shí)施例的第三方面,提供一種智能冰箱,所述智能冰箱包括上述的菜譜推薦裝置。
本發(fā)明實(shí)施例的菜譜推薦方法,通過(guò)獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;根據(jù)獲取到的食材信息,確定與冰箱中食材相關(guān)聯(lián)的第一菜譜集合;根據(jù)獲取到的菜譜信息,確定與歷史菜譜相關(guān)聯(lián)的第二菜譜集合;將第一菜譜集合和第二菜譜集合之間的交集菜譜作為待推薦菜譜推薦給用戶(hù),使得推薦給用戶(hù)的菜譜既不超出冰箱食材的供應(yīng)能力,又能符合用戶(hù)的個(gè)性化需要,而不像現(xiàn)有技術(shù)那樣只能提供給用戶(hù)當(dāng)下熱門(mén)的菜譜,而忽略了用戶(hù)的個(gè)性化需求。本發(fā)明實(shí)施例通過(guò)將菜譜推薦、冰箱中的食材以及用戶(hù)的個(gè)性化需求三者相結(jié)合,使得菜譜推薦更符合用戶(hù)的個(gè)性化需要,能夠有效提高用戶(hù)的使用體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的菜譜推薦方法的流程示意圖;
圖2為本發(fā)明一實(shí)施例提供的菜譜推薦方法的流程示意圖;
圖3為本發(fā)明另一實(shí)施例提供的菜譜推薦方法的流程示意圖;
圖4為本發(fā)明又一實(shí)施例提供的菜譜推薦方法的流程示意圖;
圖5為本發(fā)明又一實(shí)施例提供的菜譜推薦方法的流程示意圖;
圖6為本發(fā)明一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明另一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖;
圖8為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖;
圖9為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖;
圖10為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)的術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟的過(guò)程或結(jié)構(gòu)的裝置不必限于清楚地列出的那些結(jié)構(gòu)或步驟而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程或裝置固有的其它步驟或結(jié)構(gòu)。
圖1為本發(fā)明一實(shí)施例提供的菜譜推薦方法的流程示意圖,該方法可以由一終端來(lái)執(zhí)行,該終端可以是諸如手機(jī)、智能電視、智能冰箱等。如圖1所示,本實(shí)施例提供的方法包括如下步驟:
步驟S101、獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息。
本實(shí)施例中所稱(chēng)的“歷史菜譜”可以為用戶(hù)在過(guò)去某一時(shí)間段內(nèi)點(diǎn)擊查看的所有菜譜(例如,用戶(hù)在過(guò)去一周內(nèi)點(diǎn)擊查看的所有菜譜)。該時(shí)間段的設(shè)置可以根據(jù)具體需要具體設(shè)置,本實(shí)施例中不做限定。實(shí)際應(yīng)用中,當(dāng)用戶(hù)通過(guò)終端查閱菜譜時(shí),終端自動(dòng)對(duì)用戶(hù)點(diǎn)擊查看的菜譜以及點(diǎn)擊查看的時(shí)間點(diǎn)進(jìn)行記錄和存儲(chǔ)。當(dāng)獲取用戶(hù)關(guān)注的歷史菜譜時(shí),可以直接從數(shù)據(jù)庫(kù)中調(diào)取用戶(hù)在過(guò)去某一時(shí)間段內(nèi)點(diǎn)擊查看的所有菜譜,以及菜譜對(duì)應(yīng)的菜譜信息。
本實(shí)施例中所稱(chēng)的“菜譜信息”包括菜譜的屬性信息,其中,菜譜的屬性信息包括菜譜所需的主料食材、菜肴口味、烹飪方法、適合人群、適合場(chǎng)景、菜系、菜式、功效以及所需的廚房工具等屬性元素。實(shí)際應(yīng)用中菜譜和菜譜的屬性信息關(guān)聯(lián)存儲(chǔ)在菜譜數(shù)據(jù)庫(kù)中,以便調(diào)閱和使用。
本實(shí)施例中所稱(chēng)的“食材信息”包括食材的名稱(chēng)、以及各食材存放的時(shí)間長(zhǎng)度等。實(shí)際應(yīng)用中冰箱中的食材信息可以通過(guò)冰箱獲得,例如,終端可以通過(guò)有線或無(wú)線的方式向冰箱發(fā)送查詢(xún)請(qǐng)求,冰箱在接收到終端發(fā)送的查詢(xún)請(qǐng)求后,可通過(guò)掃描食材上的RFID標(biāo)簽的方式獲取冰箱中存放的食材的食材信息,并通過(guò)有線或無(wú)線的方式將該食材信息反饋給終端。
步驟S102、根據(jù)所述食材信息,確定與所述冰箱中食材相關(guān)聯(lián)的第一菜譜集合。
本實(shí)施例中所涉及的與冰箱中食材相關(guān)聯(lián)的第一菜譜集合是指至少包含冰箱中一種食材的所有菜譜的集合。
實(shí)際應(yīng)用中,可以在終端上內(nèi)置一個(gè)食材到菜譜的對(duì)應(yīng)關(guān)系字典,該字典中包含所有已知食材的名稱(chēng),以及食材與包含該食材的所有菜譜之間的對(duì)應(yīng)關(guān)系。當(dāng)然,食材到菜譜的對(duì)應(yīng)關(guān)系字典也可以存儲(chǔ)在服務(wù)器中,本發(fā)明實(shí)施例對(duì)此不做限定。
當(dāng)獲得冰箱中所有食材的食材信息后,根據(jù)食材信息中食材的名稱(chēng)從上述字典中查找獲得食材名稱(chēng)對(duì)應(yīng)的菜譜。其中,每個(gè)食材名稱(chēng)對(duì)應(yīng)的菜譜可以是一個(gè)也可以是若干個(gè)。
舉例來(lái)說(shuō),假設(shè),冰箱中的食材中包括洋蔥和黃瓜,則可以通過(guò)上述字典查找獲得洋蔥和黃瓜各自對(duì)應(yīng)的菜譜。進(jìn)一步的,在獲得洋蔥和黃瓜各自對(duì)應(yīng)的菜譜后,通過(guò)求得洋蔥對(duì)應(yīng)的菜譜和黃瓜對(duì)應(yīng)的菜譜之間的并集來(lái)獲得第一關(guān)聯(lián)菜譜集合。
步驟S103、根據(jù)所述菜譜信息,確定與所述歷史菜譜相關(guān)聯(lián)的第二菜譜集合。
本實(shí)施例中所涉及的第二菜譜集合是指與用戶(hù)點(diǎn)擊查看過(guò)的歷史菜譜的菜譜屬性的相似度超過(guò)某一預(yù)定閾值的菜譜的集合。
實(shí)際應(yīng)用中,在確定用戶(hù)歷史點(diǎn)擊查看過(guò)的菜譜后,首先,需要根據(jù)數(shù)據(jù)庫(kù)中存儲(chǔ)的菜譜與菜譜屬性之間的對(duì)應(yīng)關(guān)系,確定各歷史菜譜對(duì)應(yīng)的菜譜屬性。在確定各歷史菜譜對(duì)應(yīng)的菜譜屬性后,再逐一確定數(shù)據(jù)庫(kù)中其他菜譜與歷史菜譜在菜譜屬性上的相似度,從而在所有菜譜中確定與歷史菜譜在菜譜屬性上相似度超過(guò)某一閾值的所有菜譜,形成第二菜譜集合。其中,菜譜之間的相似度,可以根據(jù)預(yù)設(shè)的菜譜屬性與相似度之間的映射關(guān)系計(jì)算獲得,該映射關(guān)系可以根據(jù)需要具體設(shè)定,本實(shí)施例中不做限定。
舉例來(lái)說(shuō),本實(shí)施例可以根據(jù)公式:
計(jì)算菜譜數(shù)據(jù)庫(kù)中的菜譜的菜譜屬性與歷史菜譜的菜譜屬性之間的相似度。其中,Sim(X,Y)為歷史菜譜X和菜譜Y之間的相似度,所述X為歷史菜譜,Y為菜譜數(shù)據(jù)庫(kù)中的菜譜,表示菜譜屬性中第i個(gè)屬性的權(quán)重值,該權(quán)重值可以根據(jù)需要具體設(shè)定。比如,菜譜的屬性信息包括菜譜所需的主料食材、菜肴口味、烹飪方法、適合人群、適合場(chǎng)景、菜系、菜式、功效以及所需的廚房工具等屬性元素,則值的設(shè)置規(guī)則一般是食材的權(quán)重高于口味、烹飪方法的權(quán)重,并且口味和烹飪方法的權(quán)重高于其他六個(gè)屬性的權(quán)重。菜譜相似性的計(jì)算與影視或者商品的相似性計(jì)算有一定區(qū)別。首先、菜譜由食材唯一決定,因此食材對(duì)菜譜來(lái)說(shuō)占據(jù)主要地位,而影視中不會(huì)存在這種現(xiàn)象,例如,《老友記》,有些人認(rèn)為是美劇、有些人認(rèn)為是愛(ài)情片,另外有些人會(huì)認(rèn)為是搞笑片,而菜譜西紅柿炒雞蛋,所有人都會(huì)覺(jué)得是西紅柿和雞蛋。再次,在商品推薦中,很多時(shí)候根據(jù)決定性屬性來(lái)計(jì)算相關(guān)商品意義不大,因?yàn)楹芏嗌唐凡痪哂兄貜?fù)消費(fèi)的屬性。例如,昨天購(gòu)買(mǎi)了商品鞋架,今天就不會(huì)再看同一屬性的商品鞋架,因此在商品推薦中,推薦同一屬性的商品的效果就不如推薦著名的啤酒和尿布的組合推薦效果好。這也就是為什么在菜譜相似性計(jì)算的時(shí)候,食材的權(quán)重高于其他屬性。那么口味和烹飪方法的權(quán)重會(huì)高于其他六個(gè)描述性屬性的權(quán)重,因?yàn)榭谖逗团腼兎椒ǘ际菑膫€(gè)人喜好辨識(shí)度高的角度來(lái)考慮的,如果一個(gè)人喜歡吃辣的,那么她經(jīng)常吃辣,如果一個(gè)人喜歡燉湯喝,那么她基本每天都會(huì)喝湯,再者,有些人為了身體健康不吃油炸食品,那么他嘗試吃油炸食品的概率就非常小。再看其他六個(gè)屬性,(1)現(xiàn)在菜系的區(qū)分沒(méi)有那么明顯,很多菜系的菜傳播到其他地區(qū)都會(huì)經(jīng)過(guò)改良;(2)人群大致分為嬰幼兒、小孩、成年人、老年人、孕婦、高考人群等,這些對(duì)菜譜的區(qū)分也不明顯,例如嬰兒吃的食譜營(yíng)養(yǎng)豐富,同樣就適用于孕婦、老人和高考人群;(3)場(chǎng)景分為早餐、午餐、晚餐和宵夜等等,對(duì)菜譜的區(qū)分也不明顯;(4)菜式分為下飯菜、早餐、午餐和晚餐等,對(duì)菜譜的區(qū)分也不夠明顯;(5)功效分為補(bǔ)血、補(bǔ)鈣、補(bǔ)鐵、降血壓、降血脂等,對(duì)菜譜的區(qū)分也不夠明顯,例如降血壓的食材同樣就可以用于降血脂,一種食材可以有很多種功效;(6)廚房工具對(duì)于菜譜的區(qū)分就更不明顯了。菜譜屬性的權(quán)重可以后期根據(jù)推薦效果進(jìn)行微調(diào)。N為菜譜屬性中的屬性元素的個(gè)數(shù),本示例中,菜譜屬性包括9個(gè)元素(主料食材、菜肴口味、烹飪方法、適合人群、適合場(chǎng)景、菜系、菜式、功效以及所需的廚房工具),因此,本示例中N的值為9。sim(xi,yi)為歷史菜譜X和菜譜Y在第i個(gè)屬性上的局部相似度,i為正整數(shù)。
進(jìn)一步的,歷史菜譜X和菜譜Y在第i個(gè)屬性上的局部相似度sim(xi,yi),可以通過(guò)公式:
sim(xi,yi)=a∩b/a∪b (2)
計(jì)算菜譜Y和歷史菜譜X在第i個(gè)屬性上的局部相似度;其中,a和b分別為歷史菜譜X和菜譜Y在第i個(gè)屬性上的元素集合。公式(2)的含義就是集合a和集合b的交集與集合a和集合b的并集的比值。例如,歷史菜譜X和菜譜Y的第一個(gè)屬性分別是[茄子,青椒,土豆,雞蛋]和[茄子,青椒,黃瓜],那么歷史菜譜X和菜譜Y在第一個(gè)屬性的交集是[茄子,青椒],并集是[茄子,青椒,土豆,黃瓜,雞蛋],其局部相似性就是2/5=0.4。根據(jù)公式(1)和公式(2)即可獲得每個(gè)歷史菜譜的相關(guān)菜譜。
優(yōu)選地,單個(gè)菜譜的相關(guān)菜譜的存儲(chǔ)格式可以為{‘_id’:‘1552’,‘menus’:[‘4523’,‘6365’,…,‘3654’],‘score’:[6.5,4.3,…,0.8]},其含義是編號(hào)為1552的菜譜的相關(guān)菜譜按照相似度從高到低的排序是4523,6365,…,3654,并且他們的相似度分別是6.5,4.3,…,0.8。
需要說(shuō)明的是在實(shí)際應(yīng)用中步驟S102和步驟S103之間的執(zhí)行順序可以互換,也可以是步驟S102和步驟S103同時(shí)執(zhí)行。
步驟S104、確定所述第一菜譜集合和所述第二菜譜集合的交集,生成待推薦菜譜。
舉例來(lái)說(shuō),假設(shè)根據(jù)冰箱中的食材獲得的第一菜譜集合包括水煮魚(yú)和番茄炒雞蛋,根據(jù)用戶(hù)歷史點(diǎn)擊查看過(guò)的菜譜所獲得的第二菜譜集合包括水煮魚(yú)、紅燒魚(yú)以及番茄炒雞蛋,那么根據(jù)第一菜譜集合和第二菜譜集合獲得的推薦菜譜包括水煮魚(yú)和番茄炒雞蛋。當(dāng)然此處僅為示例說(shuō)明,而不是對(duì)本發(fā)明的唯一限定。
本實(shí)施例中,通過(guò)獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;根據(jù)獲取到的食材信息,確定與冰箱中食材相關(guān)聯(lián)的第一菜譜集合;根據(jù)獲取到的菜譜信息,確定與歷史菜譜相關(guān)聯(lián)的第二菜譜集合;將第一菜譜集合和第二菜譜集合之間的交集菜譜作為待推薦菜譜推薦給用戶(hù),使得推薦給用戶(hù)的菜譜既不超出冰箱食材的供應(yīng)能力,又能符合用戶(hù)的個(gè)性化需要,而不像現(xiàn)有技術(shù)那樣只能提供給用戶(hù)當(dāng)下熱門(mén)的菜譜,而忽略了用戶(hù)的個(gè)性化需求。本實(shí)施例通過(guò)將菜譜推薦、冰箱中的食材以及用戶(hù)的個(gè)性化需求三者相結(jié)合,使得菜譜推薦更符合用戶(hù)的個(gè)性化需要,能夠有效提高用戶(hù)的使用體驗(yàn)。
圖2為本發(fā)明一實(shí)施例提供的菜譜推薦方法的流程示意圖,如圖2所示,該菜譜推薦方法在圖1所示實(shí)施例的基礎(chǔ)上,在步驟S103之后還可以包括如下步驟:
步驟S201、獲取用戶(hù)在預(yù)設(shè)的歷史時(shí)間范圍內(nèi)食用過(guò)的食材的食材信息。
本實(shí)施例中所涉及的歷史時(shí)間范圍為本領(lǐng)域技術(shù)人員根據(jù)具體需要具體設(shè)定的。示例的,該歷史時(shí)間范圍可以設(shè)置為一個(gè)星期,即獲取用戶(hù)在過(guò)去一個(gè)星期內(nèi)食用過(guò)的食材的食材信息,當(dāng)然,該歷史時(shí)間范圍還可以設(shè)置為一個(gè)月,即獲取用戶(hù)在過(guò)去一個(gè)月內(nèi)食用過(guò)的食材的食材信息,此處僅是舉例說(shuō)明,并不代表本發(fā)明的歷史時(shí)間范圍局限于此。
實(shí)際應(yīng)用中,用戶(hù)在預(yù)設(shè)歷史時(shí)間范圍內(nèi)食用過(guò)的食材的食材信息可以直接從冰箱處獲得,例如,冰箱可以通過(guò)設(shè)置在食材上的RFID標(biāo)簽對(duì)食材的儲(chǔ)存時(shí)間和取出時(shí)間進(jìn)行記錄,這樣在終端請(qǐng)求獲得用戶(hù)在預(yù)設(shè)歷史時(shí)間范圍內(nèi)食用過(guò)的食材的食材信息時(shí),即可根據(jù)其自身記錄的數(shù)據(jù)中獲得并返回取出時(shí)間在所述預(yù)設(shè)歷史時(shí)間范圍內(nèi)的食材的食材信息。
步驟S202、根據(jù)所述食材信息,確定與所述用戶(hù)食用過(guò)的食材相關(guān)聯(lián)的菜譜。
舉例來(lái)說(shuō),假設(shè)用戶(hù)A的冰箱前天有青椒、茄子、雞蛋、羊肉和鯉魚(yú),今天用戶(hù)A的冰箱只有雞蛋和鯉魚(yú),則說(shuō)明用戶(hù)A昨天吃了青椒、茄子和羊肉。則根據(jù)食材到菜譜的對(duì)應(yīng)關(guān)系字典,即可分別獲得與青椒相關(guān)聯(lián)的菜譜、與茄子相關(guān)聯(lián)的菜譜、與羊肉相關(guān)聯(lián)的菜譜。當(dāng)然上述僅為示例說(shuō)明,并不是對(duì)本發(fā)明的唯一限定。
步驟S203、確定所述菜譜與所述推薦菜譜之間的交集菜譜,并降低所述交集菜譜的推薦優(yōu)先級(jí)。
實(shí)際情況中,一般個(gè)人對(duì)食物都存在同一天或者近兩天不喜歡吃同一種食物的特征?;诖?,本實(shí)施例在確定用戶(hù)在預(yù)設(shè)歷史時(shí)間范圍內(nèi)食用過(guò)的食材,以及每個(gè)食材對(duì)應(yīng)的相關(guān)菜譜后,通過(guò)將獲得的菜譜與推薦菜譜之間求交集的方式,確定推薦菜譜中包含用戶(hù)已食用過(guò)的食材的菜譜,并通過(guò)降低所述菜譜的推薦優(yōu)先級(jí)的方式,避免將包含用戶(hù)近幾天吃過(guò)的食材的食譜推薦給用戶(hù),從而使得推薦給用戶(hù)的菜譜更加符合用戶(hù)的個(gè)性化需求。
圖3為本發(fā)明另一實(shí)施例提供的菜譜推薦方法的流程示意圖,如圖3所示,該菜譜推薦方法在圖1所示實(shí)施例的基礎(chǔ)上,在步驟S103之后還可以包括如下步驟:
步驟S301、根據(jù)冰箱中食材的食材信息,確定冰箱中食材的存放時(shí)間。
本實(shí)施例中,終端從冰箱處獲得的食材信息包括食材的存放時(shí)間信息。例如,冰箱中存放有雞蛋、黃瓜、茄子、大蒜、土豆、豬肉,則冰箱反饋給終端的食材信息包括:{雞蛋:5、黃瓜:2、茄子:2、大蒜:3、土豆:5、豬肉:3},其中的數(shù)字代表食材已存放天數(shù)。
步驟S302、根據(jù)所述食材的存放時(shí)間,確定所述食材與所述第一菜譜集合中各菜譜的相關(guān)度。
實(shí)際應(yīng)用中,冰箱中食材與第一菜譜集合中各菜譜的相關(guān)度可以根據(jù)冰箱中各食材的存放天數(shù)與相關(guān)度之間的映射關(guān)系獲得。
本實(shí)施例中,優(yōu)選可以根據(jù)公式:
確定冰箱中食材與第一菜譜集合中各菜譜的相關(guān)度;
其中,X為所述第一菜譜集合中的菜譜,F(xiàn)為所述冰箱中的食材,X∩F為菜譜X中的主料和所述冰箱中的食材F之間的交集,為所述交集中各食材的推薦系數(shù)之和,其中,所述交集中每個(gè)食材的推薦系數(shù)為通過(guò)計(jì)算每個(gè)食材的存放時(shí)間與所述交集中所有食材存放時(shí)間之和的比值獲得的,|X|為X菜譜中的食材的個(gè)數(shù)。
舉例來(lái)說(shuō),假設(shè),冰箱中存放的食材以及各食材對(duì)應(yīng)的存放時(shí)間為{雞蛋:5、黃瓜:2、茄子:2、大蒜:3、土豆:5、豬肉:3},菜譜G的主料為[豬肉、胡蘿卜、青椒、大蔥、黃瓜],則菜譜G和冰箱中食材的交集為黃瓜和豬肉,根據(jù)各食材的存放天數(shù),計(jì)算獲得黃瓜的推薦系數(shù)為2/(5+2+2+3+5+3)=0.1,豬肉的推薦系數(shù)為3/(5+2+2+3+5+3)=0.15,黃瓜和豬肉的推薦系數(shù)之和為0.1+0.15=0.25,則菜譜G的相關(guān)度為relaRatio=(0.1+0.15)/5=0.05。
步驟S303、根據(jù)所述相關(guān)度,調(diào)整所述推薦菜譜中各菜譜的推薦優(yōu)先級(jí)。
實(shí)際應(yīng)用中,首先可以把推薦菜譜中所有包含冰箱中食材的菜譜的優(yōu)先級(jí)整體提到整個(gè)菜譜優(yōu)先級(jí)的最前面,再根據(jù)冰箱中各食材對(duì)應(yīng)的菜譜的相關(guān)度,按照相關(guān)度由高到底的順序,將冰箱中各食材對(duì)應(yīng)的菜譜的推薦優(yōu)先級(jí)按照由高到底的順序排列。
實(shí)際情況中,食材存放時(shí)間的長(zhǎng)短對(duì)食材的新鮮程度和鮮美程度都有直接的影響。食材存放的時(shí)間越久食材的新鮮程度和鮮美程度越低。因此,為了保證食材在新鮮、鮮美的時(shí)候被食用,本實(shí)施例中,通過(guò)提高與冰箱中存放時(shí)間較長(zhǎng)的食材相關(guān)聯(lián)的菜譜的推薦優(yōu)先級(jí),能夠促使用戶(hù)盡快食用存放時(shí)間較長(zhǎng)的食材,以免食材存放過(guò)久對(duì)食材的口感造成影響,同時(shí)也能防止因食材存放過(guò)久而造成的食材腐壞的問(wèn)題。
圖4為本發(fā)明又一實(shí)施例提供的菜譜推薦方法的流程示意圖,如圖4所示,該方法在圖1所示實(shí)施例的基礎(chǔ)上,在步驟S103之后還可以包括如下步驟:
步驟S401、確定所述推薦菜譜中包含時(shí)令食材的菜譜。
攝入季節(jié)性食材(即時(shí)令食材)有利于人體健康,特別是現(xiàn)在健康飲食得到了越來(lái)越多人的關(guān)注,因此在推薦菜譜的時(shí)候加入這個(gè)因素,通過(guò)爬蟲(chóng)等技術(shù)每天爬取多個(gè)美食平臺(tái)來(lái)獲取時(shí)令食材的信息。時(shí)令食材一般分為兩種類(lèi)型,(1)從人體方面考慮,為保證身體健康和舒適為目的,例如夏天吃綠豆可以消暑而冬天喝羊湯可以進(jìn)補(bǔ)。(2)從食材方面考慮,在某類(lèi)食材豐產(chǎn)的時(shí)候吃某類(lèi)食材不僅味道好而且吃當(dāng)季食材會(huì)比吃反季食材更有利于人體健康。同時(shí),為了保證獲取到的時(shí)令食材的信息更可靠,在多個(gè)美食平臺(tái)發(fā)布的時(shí)令食材時(shí),統(tǒng)計(jì)每個(gè)時(shí)令食材出現(xiàn)的次數(shù),根據(jù)時(shí)令食材的出現(xiàn)次數(shù)進(jìn)行排序,獲取出現(xiàn)次數(shù)排序在前N個(gè)的時(shí)令食材作為終端的默認(rèn)時(shí)令食材,其中N為正整數(shù)。
進(jìn)一步的,在確定終端的默認(rèn)時(shí)令食材后,根據(jù)食材到菜譜字的對(duì)應(yīng)關(guān)系字典獲得各時(shí)令食材相關(guān)的菜譜。
步驟S402、提高所述菜譜的推薦優(yōu)先級(jí)。
實(shí)際應(yīng)用中,在確定各各時(shí)令食材相關(guān)的菜譜后,還可以根據(jù)上述公式(3)計(jì)算各菜譜的相關(guān)度,再根據(jù)各菜譜的相關(guān)度調(diào)整推薦菜譜中各菜譜的推薦優(yōu)先級(jí),其調(diào)整方法與步驟S303類(lèi)似,在這里不再贅述。
考慮到食用時(shí)令食材對(duì)身體有益,本示例在確定待推薦菜譜后,通過(guò)確定待推薦菜譜中包含時(shí)令食材的菜譜,并提高包含時(shí)令食材的菜譜的推薦優(yōu)先級(jí),能夠促使用戶(hù)積極食用時(shí)令食材,從而達(dá)到健康飲食的目的。
圖5為本發(fā)明又一實(shí)施例提供的菜譜推薦方法的流程示意圖,如圖5所示,該方法在圖1所示實(shí)施例的基礎(chǔ)上,在步驟S103之后還可以包括如下步驟:
步驟S501、根據(jù)所述用戶(hù)關(guān)注的歷史菜譜,確定所述歷史菜譜中各食材的出現(xiàn)次數(shù)。
當(dāng)有相對(duì)比較大量的用戶(hù)行為數(shù)據(jù)時(shí),根據(jù)用戶(hù)行為數(shù)據(jù)可以大致了解到用戶(hù)的偏好信息,例如,用戶(hù)喜歡吃什么(經(jīng)常吃),用戶(hù)不喜歡吃什么(用戶(hù)從來(lái)不吃)。當(dāng)有這類(lèi)的信息之后,就可以修正推薦菜譜,使得推薦菜譜更貼近用戶(hù)需求,提高推薦的準(zhǔn)確率。用戶(hù)關(guān)注的歷史菜譜中各食材的出現(xiàn)次數(shù)的獲取過(guò)程如下:通過(guò)用戶(hù)行為數(shù)據(jù)得到用戶(hù)點(diǎn)擊菜譜的數(shù)據(jù),挨個(gè)掃描用戶(hù)所點(diǎn)擊的菜譜的主料(重復(fù)菜譜也需要統(tǒng)計(jì)),統(tǒng)計(jì)菜譜涉及的每個(gè)食材出現(xiàn)的次數(shù)。
步驟S502、根據(jù)所述各食材出現(xiàn)的次數(shù)由高到低的順序,對(duì)所述推薦菜譜中包含所述各食材的菜單的推薦優(yōu)先級(jí)進(jìn)行調(diào)整。
假設(shè),用戶(hù)歷史點(diǎn)擊查看的菜譜中包括主料黃瓜、西紅柿、土豆,其中黃瓜出現(xiàn)的次數(shù)為5、西紅柿出現(xiàn)的次數(shù)為3、土豆出現(xiàn)的次數(shù)為2。則將推薦菜譜中至少包含黃瓜、西紅柿、土豆中任意一種主料的菜譜的推薦優(yōu)先級(jí)提到整個(gè)推薦菜譜的最前方,再根據(jù)黃瓜、西紅柿、土豆三者的出現(xiàn)次數(shù)由高到底的順序?qū)χ辽侔S瓜、西紅柿、土豆中任意一種主料的菜譜的推薦優(yōu)先級(jí)進(jìn)行排序。
通過(guò)統(tǒng)計(jì)歷史菜譜中各食材出現(xiàn)的次數(shù),根據(jù)各食材的出現(xiàn)次數(shù)確定用戶(hù)對(duì)食材的偏好,從而通過(guò)提高與用戶(hù)喜歡吃的食材相關(guān)聯(lián)的菜譜的推薦優(yōu)先級(jí),能夠使得推薦菜譜更加符合用戶(hù)對(duì)食材的個(gè)人偏好,進(jìn)而進(jìn)一步的提高了菜譜推薦的個(gè)性化優(yōu)勢(shì),提高了用戶(hù)使用體驗(yàn)。
本實(shí)施例中,通過(guò)獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;根據(jù)獲取到的食材信息,確定與冰箱中食材相關(guān)聯(lián)的第一菜譜集合;根據(jù)獲取到的菜譜信息,確定與歷史菜譜相關(guān)聯(lián)的第二菜譜集合;將第一菜譜集合和第二菜譜集合之間的交集菜譜作為待推薦菜譜推薦給用戶(hù),使得推薦給用戶(hù)的菜譜既不超出冰箱食材的供應(yīng)能力,又能符合用戶(hù)的個(gè)性化需要,而不像現(xiàn)有技術(shù)那樣只能提供給用戶(hù)當(dāng)下熱門(mén)的菜譜,而忽略了用戶(hù)的個(gè)性化需求。本實(shí)施例通過(guò)將菜譜推薦、冰箱中的食材以及用戶(hù)的個(gè)性化需求三者相結(jié)合,使得菜譜推薦更符合用戶(hù)的個(gè)性化需要,能夠有效提高用戶(hù)的使用體驗(yàn)。
圖6為本發(fā)明一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖,如圖6所示,本實(shí)施例提供的菜譜推薦裝置包括:
第一獲取模塊11,用于獲取用戶(hù)關(guān)注的歷史菜譜的菜譜信息和冰箱中食材的食材信息;
第一確定模塊12,用于根據(jù)所述食材信息,確定與所述冰箱中食材相關(guān)聯(lián)的第一菜譜集合;
第二確定模塊13,用于根據(jù)所述菜譜信息,確定與所述歷史菜譜相關(guān)聯(lián)的第二菜譜集合;
處理模塊14,用于確定所述第一菜譜集合和所述第二菜譜集合的交集,生成待推薦菜譜。
其中,所述第一確定模塊12,具體用于:
根據(jù)所述食材信息,查詢(xún)食材與菜譜的對(duì)應(yīng)關(guān)系字典,確定與所述冰箱中食材相關(guān)聯(lián)的菜譜;
根據(jù)與所述冰箱中食材相關(guān)聯(lián)的菜譜,確定第一菜譜集合。
所述第二確定模塊13,包括:
第一確定子模塊131,用于根據(jù)所述歷史菜譜信息,確定歷史菜譜的菜譜屬性;
第二確定子模塊132,用于根據(jù)所述歷史菜譜的菜譜屬性,確定與所述歷史菜譜相關(guān)聯(lián)的菜譜;
第三確定子模塊133,用于根據(jù)所述與歷史菜譜相關(guān)聯(lián)的菜譜,確定第二菜譜集合。
所述第二確定子模塊132,還用于:
確定菜譜數(shù)據(jù)庫(kù)中的菜譜的菜譜屬性與歷史菜譜的菜譜屬性之間的相似度;
當(dāng)菜譜數(shù)據(jù)庫(kù)中的菜譜的菜譜屬性與歷史菜譜的菜譜屬性之間的相似度超過(guò)預(yù)設(shè)閾值時(shí),則確定所述菜譜為與所述歷史菜譜相關(guān)聯(lián)的菜譜。
所述第二確定子模塊132,還用于:
根據(jù)公式:
確定菜譜數(shù)據(jù)庫(kù)中的菜譜的菜譜屬性與歷史菜譜的菜譜屬性之間的相似度;
其中,所述X為歷史菜譜,Y為菜譜數(shù)據(jù)庫(kù)中的菜譜,表示菜譜屬性中第i個(gè)屬性的權(quán)重值,和i為常數(shù),sim(xi,yi)為歷史菜譜X和菜譜Y在第i個(gè)屬性上的局部相似度,i為正整數(shù),N為菜譜屬性中的屬性元素的個(gè)數(shù),Sim(X,Y)為歷史菜譜X和菜譜Y之間的相似度。
所述第二確定子模塊132,具體用于,根據(jù)公式::
sim(xi,yi)=a∩b/a∪b
計(jì)算菜譜Y和歷史菜譜X在第i個(gè)屬性上的局部相似度;
其中,a和b分別為歷史菜譜X和菜譜Y在第i個(gè)屬性上的元素集合。
本實(shí)施例提供的裝置能夠用于執(zhí)行圖1所示的方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
圖7為本發(fā)明另一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖,如圖7所示,在圖6所示結(jié)構(gòu)的基礎(chǔ)上,本實(shí)施例提供的裝置還可以包括:
第一修正模塊15,用于獲取用戶(hù)在預(yù)設(shè)的歷史時(shí)間范圍內(nèi)食用過(guò)的食材的食材信息;根據(jù)所述食材信息,確定與所述用戶(hù)食用過(guò)的食材相關(guān)聯(lián)的菜譜;確定所述菜譜與所述推薦菜譜之間的交集菜譜,并降低所述交集菜譜的推薦優(yōu)先級(jí)。
本實(shí)施例提供的裝置能夠用于執(zhí)行圖2所示的方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
圖8為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖,如圖8所示,在圖6所示結(jié)構(gòu)的基礎(chǔ)上,本實(shí)施例提供的裝置還可以包括:
第二修正模塊16,用于根據(jù)冰箱中食材的食材信息,確定冰箱中各食材的存放時(shí)間;根據(jù)所述食材的存放時(shí)間,確定所述食材與所述第一菜譜集合中菜譜的相關(guān)度;根據(jù)所述相關(guān)度,調(diào)整所述推薦菜譜中各菜譜的推薦優(yōu)先級(jí)。
其中,所述第二修正模塊,還用于:
根據(jù)公式:
確定所述食材與所述第一菜譜集合中各菜譜的相關(guān)度;
其中,X為所述第一菜譜集合中的菜譜,F(xiàn)為所述冰箱中的食材,X∩F為菜譜X中的主料和所述冰箱中的食材F之間的交集,為所述交集中各食材的推薦系數(shù)之和,其中,所述交集中每個(gè)食材的推薦系數(shù)為通過(guò)計(jì)算每個(gè)食材的存放時(shí)間與所述交集中所有食材存放時(shí)間之和的比值獲得的,|X|為X菜譜中的食材的個(gè)數(shù)。
本實(shí)施例提供的裝置能夠用于執(zhí)行圖3所示的方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
圖9為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖,如圖9所示,在圖6所示結(jié)構(gòu)的基礎(chǔ)上,本實(shí)施例提供的裝置還可以包括:
第三修正模塊17,用于確定所述推薦菜譜中包含時(shí)令食材的菜譜;
提高所述菜譜的推薦優(yōu)先級(jí)。
本實(shí)施例提供的裝置能夠用于執(zhí)行圖4所示的方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
圖10為本發(fā)明又一實(shí)施例提供的菜譜推薦裝置的結(jié)構(gòu)示意圖,如圖10所示,在圖6所示結(jié)構(gòu)的基礎(chǔ)上,本實(shí)施例提供的裝置還可以包括:
第四修正模塊18,用于根據(jù)所述用戶(hù)關(guān)注的歷史菜譜,確定所述歷史菜譜中各食材的出現(xiàn)次數(shù);
根據(jù)所述各食材出現(xiàn)的次數(shù)由高到低的順序,對(duì)所述推薦菜譜中包含所述各食材的菜單的推薦優(yōu)先級(jí)進(jìn)行調(diào)整。
本實(shí)施例提供的裝置能夠用于執(zhí)行圖5所示的方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
進(jìn)一步的,本發(fā)明實(shí)施例還提供一種智能冰箱,該智能冰箱包括上述的菜譜推薦裝置,能夠用于執(zhí)行如圖1-圖5中任一實(shí)施例所示的菜譜推薦方法,其執(zhí)行方式和有益效果類(lèi)似,在這里不再贅述。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。