本發(fā)明總體涉及用于食譜管理的方法和系統(tǒng),并且更具體地涉及一種平臺(tái),該平臺(tái)攝取多媒體內(nèi)容,將其翻譯成機(jī)器可執(zhí)行的指令,并可選地向器具和其他作用主體分派該指令和其他指示以影響食物的制備。
背景技術(shù):
傳統(tǒng)上,食物制備需要大量的體力勞動(dòng)。制備典型的一餐可能需要從書架上選擇一本烹飪書,在選擇的烹飪書中標(biāo)識(shí)感興趣的食譜,通過將其與現(xiàn)有的庫存原材料相比較而生成該食譜的購物單,購買購物單上的物品,準(zhǔn)備購買的物品為執(zhí)行食譜做準(zhǔn)備,以及通過以指定順序在一個(gè)或多個(gè)溫度下以不同的持續(xù)時(shí)間匯集指定量的原材料而利用各種烹飪器具(例如,食物處理器、微波爐、光波爐、慢燉鍋等)來執(zhí)行食譜。
食物制備工作的各部分已經(jīng)被自動(dòng)化或者正處于努力將其自動(dòng)化的過程中。例如,由位于加州山景城(mountainview,ca)的谷歌公司(googleinc.)提供的googlerecipeview允許用戶在萬維網(wǎng)上搜索使用特定原材料的食譜內(nèi)容。將計(jì)算機(jī)處理器和網(wǎng)絡(luò)接口嵌入家用器具用于因特網(wǎng)上的遠(yuǎn)程操作,為該設(shè)備的自動(dòng)化操作提供了光明前景。
這種自動(dòng)化操作的困難之一是食物制備者與器具程序設(shè)計(jì)員之間的技能組合上的差異。傳統(tǒng)上,食物制備者熟悉遵循操作指南并可能與在食物制備上有不同技能水平的他人分享該操作指南。傳統(tǒng)上,程序設(shè)計(jì)員熟悉軟件開發(fā),基于數(shù)據(jù)包的網(wǎng)絡(luò)通信等。雖然程序設(shè)計(jì)員可以使各種器具能夠自動(dòng)化操作,但他們可能并未以用戶友好的方式來這樣做,用戶友好的方式將使得食物制備者能夠從該功能中容易地得到好處。
因此,存在對(duì)于能夠彌合該差距并且進(jìn)而提供食譜管理的方法和系統(tǒng)的需要。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明內(nèi)容以簡化的形式介紹了在以下具體實(shí)施方式中進(jìn)一步描述的概念的選集。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)的主題中的關(guān)鍵特征或基本特征,也不旨在用作確定所要求保護(hù)的主題的范圍的輔助手段。
本發(fā)明的各實(shí)施例起源于觀察到存在大量面向人類受眾的數(shù)字格式的在線可獲得的食譜庫及食物制備操作指南。本發(fā)明的實(shí)施例將該內(nèi)容從人類友好的格式翻譯成適合自動(dòng)處理的指示。一旦完成翻譯,該指示可以被提供給人類操作者,作為機(jī)器可執(zhí)行的指令發(fā)布給一個(gè)或多個(gè)器具,或者作為二者的組合以影響食譜中描述的食物的制備。本發(fā)明的實(shí)施例還允許用戶通過基于成本、便利性、飲食偏好等原因替換原材料而單獨(dú)定制或在全球范圍內(nèi)定制制備方法。
一方面,本發(fā)明涉及用于食譜管理的裝置。該裝置包括用于存儲(chǔ)的持久存儲(chǔ)器;網(wǎng)絡(luò)接口,被配置為接收包括關(guān)于食物或飲料的制備的自然語言的至少一條通信;以及至少一個(gè)處理器,被配置為,從網(wǎng)絡(luò)接口接收包括關(guān)于食物或飲料的制備的自然語言的至少一條通信,從接收的至少一條通信中提取至少一條制備指示,并將提取的至少一條制備指示變換成至少一條機(jī)器可執(zhí)行的指令。
在一個(gè)實(shí)施例中,至少一個(gè)處理器還被配置為將包括至少一條機(jī)器可執(zhí)行的指令的至少一條通信傳送至網(wǎng)絡(luò)接口,并且網(wǎng)絡(luò)接口還被配置為傳送包括至少一條機(jī)器可執(zhí)行的指令的至少一條通信。在另一個(gè)實(shí)施例中,至少一個(gè)處理器還被配置為接收至少一條定制指令并將所述至少一條定制指令儲(chǔ)存于持久存儲(chǔ)器中。在某些實(shí)施例中,至少一條定制指令是飲食要求和原材料替代中的一項(xiàng)或多項(xiàng)。
在一個(gè)實(shí)施例中,包括自然語言的至少一條通信包括口頭語言,并且至少一個(gè)處理器還被配置為將口頭語言轉(zhuǎn)換成文本。在某些實(shí)施例中,至少一個(gè)處理器還被配置為,使用自然語言處理,從接收的包括口頭語言的至少一條通信中提取至少一條制備指示。
在一個(gè)實(shí)施例中,持久存儲(chǔ)器包括描述至少一個(gè)器具的能力的信息,并且,至少一個(gè)處理器還被配置為將提取的至少一條制備指示與描述至少一個(gè)器具的能力的信息進(jìn)行比較,以根據(jù)提取的至少一條制備指示而標(biāo)識(shí)用于制備食物或飲料的至少一個(gè)器具。在另一個(gè)實(shí)施例中,裝置還包括用于根據(jù)提取的至少一條制備指示而提供關(guān)于食物或飲料的制備的至少一條指示的用戶接口。在又另一個(gè)實(shí)施例中,裝置還包括用于從用戶處接收關(guān)于食物或飲料的制備的反饋的用戶接口。在另外一個(gè)實(shí)施例中,持久存儲(chǔ)器包括描述食物或飲料制備的制備信息,并且處理器還被配置為使用制備信息對(duì)提取的至少一條制備指示進(jìn)行校正或適配。
另一方面,本發(fā)明涉及一種用于食譜管理的方法。該方法包括,通過網(wǎng)絡(luò)接口,接收包括關(guān)于食物或飲料的制備的自然語言的至少一條電子通信;利用至少一個(gè)配置的處理器,從接收的至少一條自然語言通信中自動(dòng)提取至少一條制備指示;以及利用至少一個(gè)配置的處理器,將提取的至少一條制備指示變換為至少一條機(jī)器可執(zhí)行的指令。
在一個(gè)實(shí)施例中,至少一個(gè)處理器還被配置為,使用網(wǎng)絡(luò)接口傳送至少一條機(jī)器可執(zhí)行的指令。在另一個(gè)實(shí)施例中,方法還包括接收至少一條定制指令并將至少一條定制指令存儲(chǔ)于持久存儲(chǔ)器中。在某些實(shí)施例中,至少一條定制指令是飲食要求和原材料替代中的一項(xiàng)或多項(xiàng)。
在一個(gè)實(shí)施例中,包括自然語言的至少一條電子通信包括口頭語言,并且方法還包括利用至少一個(gè)配置的處理器將口頭語言轉(zhuǎn)換成文本。在某些實(shí)施例中,利用至少一個(gè)配置的處理器,使用自然語言處理從包括口頭語言的至少一條接收的通信中提取至少一條制備指示。
在一個(gè)實(shí)施例中,方法還包括,將提取的至少一條制備指示與存儲(chǔ)在持久存儲(chǔ)器中的描述至少一個(gè)器具的能力的信息進(jìn)行比較,以根據(jù)提取的至少一條制備指示標(biāo)識(shí)用于制備食物或飲料的至少一個(gè)器具。在另一個(gè)實(shí)施例中,方法還包括,根據(jù)提取的至少一條制備指示,利用用戶接口提供關(guān)于食物或飲料的制備的至少一條指示。在又另一個(gè)實(shí)施例中,方法還包括,利用用戶接口從用戶處接收關(guān)于食物或飲料的制備的反饋。在另外一個(gè)實(shí)施例中,方法還包括,利用存儲(chǔ)在持久存儲(chǔ)器中的描述食物或飲料制備的制備信息,對(duì)提取的至少一條制備指示進(jìn)行校正或適配。
通過閱讀以下的詳細(xì)說明及查閱相關(guān)附圖,描繪本公開中非限制性實(shí)施例的上述和其他特征及優(yōu)點(diǎn)將會(huì)非常明顯。需要理解的是,上述一般說明和以下詳細(xì)說明僅僅是示例性的,并不限制所要求的非限制性實(shí)施例。
附圖說明
參考如下附圖描述了非限制性和非詳盡的實(shí)施例,其中:
圖1是根據(jù)本發(fā)明的用于食譜管理的裝置的框圖;
圖2更詳細(xì)地描述了圖1中的食譜處理器100;
圖3是根據(jù)本發(fā)明的用于食譜管理的方法的流程圖;以及
圖4圖示了由根據(jù)本發(fā)明的食譜內(nèi)容的處理得到的示例性的食譜圖。
在圖中,相同的標(biāo)記符號(hào)貫穿不同視圖一般指代對(duì)應(yīng)的部分。附圖無需依比例繪制,相反,重點(diǎn)放在操作的原理和概念上。
具體實(shí)施方式
參照構(gòu)成本公開的一部分并示出了具體示例性的實(shí)施例的附圖,以下更充分地描述了各種實(shí)施例。然而,實(shí)施例可以通過多種不同的形式被實(shí)現(xiàn)并且不應(yīng)被解釋為限制于在本文中陳述的實(shí)施例;相反,提供該實(shí)施例是為了使得本公開嚴(yán)密完整并且向本領(lǐng)域技術(shù)人員充分地傳達(dá)該實(shí)施例的范圍。實(shí)施例可作為方法、系統(tǒng)、或設(shè)備實(shí)施。因此,實(shí)施例可采用硬件實(shí)施方式,完全軟件實(shí)施方式,或軟硬件結(jié)合的實(shí)施方式。因此,以下詳細(xì)描述不應(yīng)被視為具有限制意義。
說明書中對(duì)“一個(gè)實(shí)施例”或“實(shí)施例”的引用意指結(jié)合實(shí)施例所描述的特定特征、結(jié)構(gòu)、或特點(diǎn)被包含于本發(fā)明的至少一個(gè)實(shí)施例中。在本說明書中各處出現(xiàn)的術(shù)語“在一個(gè)實(shí)施例中”并不一定指的是相同的實(shí)施例。
本說明書以下的一些部分采用符號(hào)表示對(duì)存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器內(nèi)的非瞬態(tài)信號(hào)所進(jìn)行的操作。該描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員所使用的方式,以最有效率地向該領(lǐng)域的其他技術(shù)人員傳達(dá)其工作的主旨。這樣的操作一般要求對(duì)物理量進(jìn)行物理操作。雖然并非必要,該物理量通常采取電信號(hào)、磁信號(hào)、或光信號(hào)的形式,上述信號(hào)能夠被存儲(chǔ)、變換、組合、比較、以及以其他方式進(jìn)行操作。主要基于一般用法的原因,有時(shí)將上述信號(hào)稱為比特、值、元素、符號(hào)、字符、術(shù)語、數(shù)量等很方便。此外,有時(shí)將對(duì)物理量進(jìn)行物理操作的步驟的某些布置稱為模塊或代碼設(shè)備也很方便,并不失一般性。
然而,所有上述術(shù)語和相似的術(shù)語將與恰當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),并且只作為方便應(yīng)用于該物理量的標(biāo)記。除非在以下討論中特別說明,應(yīng)當(dāng)理解在本說明書中,利用諸如“處理”或“計(jì)算”或“運(yùn)算”或“確定”或“顯示”或“確定”等術(shù)語進(jìn)行的討論,指代計(jì)算機(jī)系統(tǒng)或類似的電子計(jì)算設(shè)備的動(dòng)作與過程,該計(jì)算機(jī)系統(tǒng)或類似的電子計(jì)算設(shè)備對(duì)表示為物理(電子)量的數(shù)據(jù)進(jìn)行操作或變換,該物理量存儲(chǔ)在計(jì)算機(jī)系統(tǒng)存儲(chǔ)器或寄存器或其他這樣的信息存儲(chǔ)、傳輸、或顯示設(shè)備內(nèi)。
本發(fā)明的某些方面包括過程步驟和指令,該過程步驟和指令可以被實(shí)施在軟件、固件、或硬件中,并且當(dāng)被實(shí)施在軟件中時(shí),可以被下載以駐留在由各種操作系統(tǒng)使用的不同的平臺(tái)上并且被該不同的平臺(tái)操作。
本發(fā)明還涉及用于執(zhí)行在本文中公開的操作的裝置。該裝置可以出于所需目的而被特別地構(gòu)造,或其可以包括通用計(jì)算機(jī),通用計(jì)算機(jī)被存儲(chǔ)在其上的計(jì)算機(jī)程序選擇性地激活或重新配置。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,諸如,但不限于,任何類型的磁盤,包括軟盤、光盤、cd-rom、磁光盤、只讀存儲(chǔ)器(rom)、隨機(jī)存取存儲(chǔ)器(ram)、eprom,eeprom、磁卡或光卡、專用集成電路(asic)、或任何類型的適于存儲(chǔ)電子指令的介質(zhì),每種存儲(chǔ)介質(zhì)均耦合至計(jì)算機(jī)系統(tǒng)總線。此外,本說明書中提及的計(jì)算機(jī)可以包括單處理器,或者可以是使用多處理器設(shè)計(jì)以提高計(jì)算能力的架構(gòu)。
在本文中提出的過程與顯示并不隱含地涉及任何特定的計(jì)算機(jī)或其他裝置。各種通用系統(tǒng)也可以與根據(jù)本文中的教導(dǎo)的程序一同被使用,或者構(gòu)造更專用的裝置來執(zhí)行所需的方法步驟可能會(huì)更加方便。以下將描述各種系統(tǒng)所需的結(jié)構(gòu)。此外,本發(fā)明的描述并不參照任何特定的編程語言。應(yīng)當(dāng)理解,各種編程語言均可以用來實(shí)現(xiàn)在本文中描述的本發(fā)明的教導(dǎo),并且以下對(duì)特定語言的引用僅被提供用于公開本發(fā)明的實(shí)現(xiàn)以及最佳模式。
此外,本說明書中使用的語言主要出于可讀性以及教示目的而被選擇,并非被選擇用于描述或限制創(chuàng)造性主題。因此,本發(fā)明的公開旨在是說明性的而非限制權(quán)利要求書中陳述的本發(fā)明的范圍。
簡要概述,本發(fā)明的各實(shí)施例提供了新一代的食譜管理系統(tǒng)。本發(fā)明的實(shí)施例提供了如下系統(tǒng)和方法,其用于在互聯(lián)網(wǎng)上獲取內(nèi)容、標(biāo)識(shí)該內(nèi)容內(nèi)的文本(例如,諸如隱藏字幕或食譜文本)或使用諸如語音識(shí)別等技術(shù)從該內(nèi)容中生成文本、分析文本中的可執(zhí)行指示,并且將可執(zhí)行指示翻譯成適用于聯(lián)網(wǎng)的烹飪器具的指令或適合人類操作員的指示。某些實(shí)施例提供了附加的指導(dǎo)以避免或糾正烹飪過程中的錯(cuò)誤并允許定制食譜以解決,例如,飲食限制、烹飪偏好、翻譯成外國語言等。
當(dāng)前的方法要求用戶手動(dòng)地從在線媒體內(nèi)容轉(zhuǎn)錄文本并解讀轉(zhuǎn)錄的文本以制備食譜。例如,用戶可以回顧視頻博客、做記錄、并回顧烹飪器具的說明書,從而確定制備食譜的正確程序。當(dāng)前的方法很耗時(shí)并且可能需要用戶在制備食譜的過程中數(shù)次回顧原始內(nèi)容。在某種程度上,該方法還依賴于用戶在烹飪、特定烹飪器具、及制備類似食譜方面的個(gè)人專業(yè)技能。
參照?qǐng)D1,本發(fā)明的實(shí)施例可以包括食譜處理器100,其適于從一種或多種內(nèi)容形式或從一條或多條內(nèi)容片斷中提取制備指示。處理器100可以被實(shí)施為在單個(gè)計(jì)算設(shè)備(諸如個(gè)人計(jì)算機(jī)或蜂窩電話)上執(zhí)行的程序,具有在固定存儲(chǔ)器中實(shí)施的處理器100的專用計(jì)算器具,在多個(gè)計(jì)算設(shè)備上執(zhí)行的程序等。
處理器100通過訪問預(yù)先定義的文本模式104,并使用這些存儲(chǔ)的模式以文本形式通知其對(duì)烹飪內(nèi)容的分析,而進(jìn)行操作。烹飪內(nèi)容通常為傳達(dá)給人類受眾的自然語言。這種自然語言內(nèi)容的示例為“在很低的溫度下將雞蛋打入冷的平底鍋中,加入黃油,頻繁攪拌雞蛋直到其開始凝固;六或七分鐘即可。加另一塊黃油,繼續(xù)攪拌,然后,在完全凝固之前,將平底鍋從熱源移開,放入一茶匙的法式鮮奶油,根據(jù)口味調(diào)節(jié)”。
這樣的自然語言內(nèi)容是要被人類讀者所解析的,并且通常不適合以其原本的形式用于被自動(dòng)化的(亦稱“智能的”)烹飪器具進(jìn)行自動(dòng)化處理。食譜處理器100攝取自然語言內(nèi)容,并且使用諸如動(dòng)詞詞組提取和智能文本解析的自然語言處理(nlp)技術(shù),而在自然語言內(nèi)容中搜索來自于預(yù)先定義的文本模式104的文本模式。文本中指令發(fā)生的順序通常表明制備指示的發(fā)生順序。具體的模式(諸如溫度和原材料量)使用編輯并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)中的特定的正則表達(dá)式被提取。
每個(gè)預(yù)先定義的模式可與在翻譯過程中使用的人類可理解的制備指示和機(jī)器可執(zhí)行的指令相關(guān)聯(lián)。例如,一個(gè)模式可以是“低溫烹飪”,其與人類可理解的制備指示“將平底鍋下的燃燒器調(diào)至‘低’”以及機(jī)器可執(zhí)行的指令“將燃燒器<1>設(shè)置到<2>”相關(guān)聯(lián)。
當(dāng)該模式被標(biāo)識(shí)112時(shí),將任何相關(guān)聯(lián)的制備指示和機(jī)器可執(zhí)行的指令116添加到用于儲(chǔ)存的存儲(chǔ)器中,以便以后交付給用戶或智能烹飪器具。如下所述,在一個(gè)實(shí)施例中,這些項(xiàng)目被添加到食譜圖中,盡管其他的數(shù)據(jù)結(jié)構(gòu)也可以用于存儲(chǔ)制備指示和機(jī)器可執(zhí)行的指令。
如上所述,烹飪內(nèi)容的許多項(xiàng)目是在互聯(lián)網(wǎng)上以各種形式可獲得的。文本形式的網(wǎng)頁和博客條目108可以按上述討論進(jìn)行處理。本發(fā)明的實(shí)施例還可以使用由食譜內(nèi)容的結(jié)構(gòu)化源108’暴露的api(應(yīng)用編程接口)與結(jié)構(gòu)化源108’交互;某些結(jié)構(gòu)化源108’可以以制備指示和/或機(jī)器可執(zhí)行的指令的形式提供烹飪內(nèi)容,從而避免了從烹飪內(nèi)容中提取制備指示的需求和/或?yàn)橹悄芘腼兤骶呱蓹C(jī)器可執(zhí)行的指令的需求。
以口語形式可獲得的烹飪內(nèi)容的項(xiàng)目可以采用本領(lǐng)域已知的語音識(shí)別技術(shù)(諸如神經(jīng)網(wǎng)絡(luò),隱馬爾可夫模型和動(dòng)態(tài)時(shí)間規(guī)整)進(jìn)行預(yù)處理,從而產(chǎn)生可以由如上所討論的食譜處理器100處理的一段轉(zhuǎn)錄文本120。視頻內(nèi)容的項(xiàng)目也可以使用語音識(shí)別技術(shù)進(jìn)行預(yù)處理,或者在其包括隱藏字幕的情況下,隱藏字幕文本可以由如上所討論的食譜處理器100直接進(jìn)行處理或者其可以用來輔助語音識(shí)別過程,從而產(chǎn)生轉(zhuǎn)錄文本120。
食譜處理器100可以結(jié)合所提取的制備指示對(duì)關(guān)于各種智能烹飪器具的能力的信息的電子數(shù)據(jù)庫124進(jìn)行查閱。該數(shù)據(jù)庫124可以用于標(biāo)識(shí)適用于制備該食譜的智能或人工操作的烹飪器具。例如,食譜處理器100可以修改制備指示,從而在向人類操作者提供制備指示之前指定器具(例如,烤箱、微波爐等)。食譜處理器100還可以在將提取的制備指示的至少一些變換為機(jī)器可執(zhí)行的指令之前,標(biāo)識(shí)能夠獨(dú)立執(zhí)行食譜的步驟的一個(gè)或多個(gè)智能器具,該機(jī)器可執(zhí)行的指令具有適于被所標(biāo)識(shí)的智能器具執(zhí)行的格式。
基于所標(biāo)識(shí)的基于指令的文本模式的類型,該模式可以與描述智能設(shè)備的條目相關(guān)聯(lián),以標(biāo)識(shí)和推薦用于制備食譜的設(shè)備。例如,“燒水”的指示將需要電熱水器根據(jù)指令在特定時(shí)間燒水。
食譜處理器100還可以查閱定制信息128的存儲(chǔ),其可包括諸如個(gè)人飲食偏好,用戶理解的語言,現(xiàn)有的庫存原材料等項(xiàng)目。食譜處理器100可以使用該信息,以在將制備指示132提供給用戶之前定制制備指示132,或在將機(jī)器可執(zhí)行的指令提供給智能器具以用于執(zhí)行之前定制機(jī)器可執(zhí)行的指令。例如,對(duì)于定制信息128指定其為患有乳糖不耐癥的用戶,處理器100可以在需要奶油的食譜中替代椰奶。在將食譜內(nèi)容翻譯為另一種語言的情況下,關(guān)鍵字跟蹤和優(yōu)先順序可以用來維護(hù)上下文和菜譜中動(dòng)作項(xiàng)的順序。
在已經(jīng)從食譜文本中提取出人性化的制備指示之后,食譜處理器100可使用諸如平板計(jì)算機(jī)或文本到語音生成器之類的用戶接口,為用戶提供制備指示。所提供的制備指示可包括食譜內(nèi)容以及與烹飪過程的各個(gè)中間階段相關(guān)的信息,如溫度、菜肴顏色、氣味等,該信息可以幫助用戶確認(rèn)烹飪過程按預(yù)期進(jìn)行。
食譜處理器100還可以使用用戶接口從用戶處接收實(shí)時(shí)反饋,如顏色、氣味、時(shí)間等,以確定用戶是否已經(jīng)成功地或未成功地完成食譜的各階段,并且作為響應(yīng)提供可替換的制備該食譜的指令以糾正在制備食譜的過程中所犯的任何錯(cuò)誤或誤差。
圖2更加詳盡地描述了食譜處理器100。如上所述,食譜處理器100可以采用各種形式,物理的和虛擬的,可是大部分實(shí)施方式將分享某些常用功能。網(wǎng)絡(luò)接口200允許食譜處理器100從其他設(shè)備接收通信,并且在一個(gè)實(shí)施例中,提供與因特網(wǎng)的雙向接口。適當(dāng)?shù)木W(wǎng)絡(luò)接口200包括千兆以太網(wǎng)、wi-fi(802.11a/b/g/n)、及3g/4g無線接口(諸如gsm/wcdma/lte),其能夠?qū)崿F(xiàn)在食譜處理器100與其他設(shè)備之間的數(shù)據(jù)傳輸。處理器204生成用于通過接口200傳輸?shù)耐ㄐ?,以及處理通過接口200接收的、來自食譜處理器100外部的通信。典型的處理器204為x86、x86-64、或armv7處理器等。用戶接口208允許食譜處理器100從操作者接收命令并向操作者提供反饋。示例性的用戶接口包括圖形顯示器、物理鍵盤、虛擬鍵盤等。數(shù)據(jù)存儲(chǔ)212為通過接口200接收的數(shù)據(jù)、處理器204處理的數(shù)據(jù)、和通過用戶接口208接收或發(fā)送的數(shù)據(jù),提供瞬態(tài)存儲(chǔ)和持久存儲(chǔ)。
食譜處理器100的接口200被配置成處理與各種數(shù)據(jù)源和器具的通信。食譜處理器100從諸如食譜內(nèi)容的結(jié)構(gòu)化源108、轉(zhuǎn)錄文本源120、器具信息數(shù)據(jù)庫124、定制信息128的存儲(chǔ)等的源中檢索數(shù)據(jù)。食譜處理器100的一些實(shí)施例還與上述源進(jìn)行雙向通信。如下所述,食譜處理器100還使用其接口200與裝配有接口的器具進(jìn)行通信,以接收機(jī)器可執(zhí)行的指令。
食譜處理器100還使用其存儲(chǔ)208以保存包含預(yù)先定義的文本模式104、標(biāo)識(shí)的與指令相關(guān)的文本模式112、機(jī)器可執(zhí)行的指令116、定制信息128、和定制的制備指示132的庫。
參照?qǐng)D3,本發(fā)明的實(shí)施例還可以采取用于食譜管理的方法的形式。該方法可以被實(shí)現(xiàn)為在單個(gè)計(jì)算設(shè)備(例如個(gè)人計(jì)算機(jī)或蜂窩電話)上執(zhí)行的程序、具有存儲(chǔ)在固定存儲(chǔ)器中的方法的專用計(jì)算器具、在多個(gè)計(jì)算設(shè)備上執(zhí)行的程序等。
該過程通過訪問內(nèi)容開始(步驟300)。烹飪內(nèi)容可以存儲(chǔ)在諸如溫徹斯特磁盤驅(qū)動(dòng)器之類的本地存儲(chǔ)器中,或通過某種形式的網(wǎng)絡(luò)接口(例如互聯(lián)網(wǎng)連接)可訪問。烹飪內(nèi)容的合適形式包括網(wǎng)頁、文本形式的博客條目,視頻博客條目,多媒體文件、流媒體等??墒褂胊pi(應(yīng)用編程接口)對(duì)烹調(diào)內(nèi)容進(jìn)行結(jié)構(gòu)化和訪問,或者以供人類消費(fèi)的形式呈現(xiàn)烹調(diào)內(nèi)容。如該過程的進(jìn)一步的步驟所述,當(dāng)食譜內(nèi)容被結(jié)構(gòu)化時(shí),可以通過制備指示和/或機(jī)器可執(zhí)行的指令的形式獲得食譜內(nèi)容,從而避免了從烹飪內(nèi)容中提取制備指示的需求和/或?yàn)橹悄芘腼兤骶呱蓹C(jī)器可執(zhí)行的指令的需求。
如果內(nèi)容不包含文本,則文本從所接收的烹飪內(nèi)容中被提取(步驟304)。以口語形式可獲得的烹飪內(nèi)容的項(xiàng)目可以采用本領(lǐng)域已知的語音識(shí)別技術(shù)(諸如神經(jīng)網(wǎng)絡(luò)、隱馬爾可夫模型、和動(dòng)態(tài)時(shí)間規(guī)整)進(jìn)行預(yù)處理,從而產(chǎn)生可以按如下所述進(jìn)行處理的轉(zhuǎn)錄文本。視頻內(nèi)容的項(xiàng)目也可以使用語音識(shí)別技術(shù)進(jìn)行預(yù)處理,或者在該項(xiàng)目包括隱藏字幕的情況下,隱藏字幕文本可以按如下所述進(jìn)行處理或者可以用來通知語音識(shí)別過程,從而產(chǎn)生用于進(jìn)一步處理的轉(zhuǎn)錄文本。
給定文本烹飪內(nèi)容,適合人類操作者的制備指示可以從內(nèi)容中被提取(步驟308)。在一個(gè)實(shí)施例中,該提取過程可以訪問預(yù)先定義的文本模式庫并且使用該存儲(chǔ)的模式來分析文本烹飪內(nèi)容。例如,使用諸如動(dòng)詞詞組提取和智能文本解析的自然語言處理(nlp)技術(shù),可以在自然語言內(nèi)容中搜索來自于預(yù)先定義的文本模式庫的文本模式。文本中指令發(fā)生的順序通常指示制備指示的發(fā)生順序。具體的模式(諸如溫度和原材料量)使用編輯并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)中的特定的正則表達(dá)式被提取。
每個(gè)預(yù)先定義的模式可以與人類可理解的制備指示和機(jī)器可執(zhí)行的指令相關(guān)聯(lián)。例如,一個(gè)模式可以是“低溫烹飪”,其與人類可理解的制備指示“將平底鍋下的燃燒器調(diào)至‘低’”以及機(jī)器可執(zhí)行的指令“將燃燒器<1>設(shè)置到<2>”相關(guān)聯(lián)。當(dāng)這樣的模式被標(biāo)識(shí)時(shí),將任何相關(guān)聯(lián)的制備指示和機(jī)器可執(zhí)行的指令添加到用于儲(chǔ)存的存儲(chǔ)器中,以便以后交付給用戶或智能烹飪器具。如下所述,在一個(gè)實(shí)施例中,這些項(xiàng)目被添加到食譜圖中,盡管其他的數(shù)據(jù)結(jié)構(gòu)可以用于存儲(chǔ)制備指示和機(jī)器可執(zhí)行的指令,。
在已經(jīng)處理文本食譜內(nèi)容之后,可以結(jié)合所提取的制備指示對(duì)描述各種智能烹飪器具的能力的信息的電子數(shù)據(jù)庫進(jìn)行查閱(步驟312)。該數(shù)據(jù)庫可以用于標(biāo)識(shí)適用于制備該食譜的智能或人工操作的烹飪器具。例如,在將制備指示提供給人類操作者之前,制備指示可以被修改以指定器具(例如,烤箱、微波爐等)。在將提取的制備指示的至少一些變換為機(jī)器可執(zhí)行的指令之前,一個(gè)或多個(gè)能夠獨(dú)立執(zhí)行食譜的步驟的智能器具可以被標(biāo)識(shí),該機(jī)器可執(zhí)行的指令的格式適于被所標(biāo)識(shí)的智能器具執(zhí)行。
基于所標(biāo)識(shí)的基于指令的文本模式的類型,該模式可以與描述智能設(shè)備的條目相關(guān)聯(lián),以標(biāo)識(shí)和推薦用于制備食譜的設(shè)備。例如,“燒水”的指示需要電熱水器根據(jù)指令在特定時(shí)間燒水。
在做準(zhǔn)備制備指示的過程中,定制信息存儲(chǔ)可以被查閱(316),其可包括諸如個(gè)人飲食偏好,用戶理解的語言,現(xiàn)有的庫存原材料等項(xiàng)目。該信息可以用來,在將制備指示提供給用戶之前定制制備指示,或在將機(jī)器可執(zhí)行的指令提供給智能器具以用于執(zhí)行之前定制機(jī)器可執(zhí)行的指令。例如,對(duì)于定制信息指定其為患有乳糖不耐癥的用戶,在需要奶油的食譜中,椰奶可以被替代。在將食譜內(nèi)容翻譯為另一種語言的情況下,關(guān)鍵字跟蹤和優(yōu)先順序可以用來維護(hù)上下文和菜譜中動(dòng)作項(xiàng)的順序。
在已經(jīng)從食譜文本中提取出人性化的制備指示之后,諸如平板計(jì)算機(jī)或文本到語音生成器之類的用戶接口可以用來向用戶提供制備指示。所提供的制備指示可包括食譜內(nèi)容以及與烹飪過程的各個(gè)中間階段相關(guān)的信息,如溫度、菜肴顏色、氣味等,該信息可以幫助用戶確認(rèn)烹飪過程按預(yù)期進(jìn)行。用戶接口還可以用來從用戶處接收實(shí)時(shí)反饋,如顏色、氣味、時(shí)間等,以確定用戶是否已經(jīng)成功地或未成功地完成食譜的各階段,并且作為響應(yīng)提供可替換的制備該食譜的指令以糾正在制備食譜的過程中所犯的任何錯(cuò)誤或誤差。
當(dāng)一個(gè)或多個(gè)智能器具已被標(biāo)識(shí)用于幫助食譜制備時(shí),然后機(jī)器可執(zhí)行的指令可被發(fā)布至該器具用于執(zhí)行(步驟320)。該指令可以以在器具信息的數(shù)據(jù)庫中指定的器具特定的格式發(fā)布。
例如,機(jī)器可執(zhí)行的指令可以是二進(jìn)制,json,xml或任何其他的本行業(yè)使用的格式或?qū)S懈袷?。機(jī)器可執(zhí)行的指令可以通過各種通信信道(如wi-fi、以太網(wǎng)、藍(lán)牙、bt-le,nfc等)被傳送至設(shè)備。當(dāng)器具與發(fā)送設(shè)備在同一個(gè)節(jié)點(diǎn)中時(shí),指令可以被本地傳送,或者,當(dāng)接收指令的機(jī)器與發(fā)送設(shè)備在不同的節(jié)點(diǎn)中時(shí),指令可以被遠(yuǎn)程傳送。
圖4呈現(xiàn)了由食譜內(nèi)容的處理所得到的食譜圖數(shù)據(jù)結(jié)構(gòu)的示例。在該示例中,關(guān)于馬鈴薯的制備的內(nèi)容已按照如上所討論的被檢索。食譜內(nèi)容被解析為單獨(dú)的語句,每個(gè)語句是得到的解析器輸出中的頂級(jí)條目。使用技術(shù)人員已知的解析方法,每條語句,依次,被解析成一系列的動(dòng)詞短語,形容詞短語、名詞短語等。該短語被存儲(chǔ)在一個(gè)樹形結(jié)構(gòu)中,動(dòng)詞短語通常形成該結(jié)構(gòu)的根,語句中的其他短語形成該結(jié)構(gòu)的葉。
然后,解析器輸出被轉(zhuǎn)換為根據(jù)本發(fā)明的食譜圖。每條語句被分配到圖中的一個(gè)節(jié)點(diǎn),并且在節(jié)點(diǎn)之間建立鏈接,從而使圖中的節(jié)點(diǎn)的順序大致對(duì)應(yīng)于解析的食譜內(nèi)容中的語句的順序。語句的各個(gè)動(dòng)詞短語等被建立為在轉(zhuǎn)至下一個(gè)結(jié)點(diǎn)之前要滿足的與結(jié)點(diǎn)相關(guān)聯(lián)的條件。
在一些實(shí)施例中,食譜圖結(jié)構(gòu)可以由本發(fā)明的實(shí)施例使用以根據(jù)食譜內(nèi)容制備食物。圖結(jié)構(gòu)可以被視為狀態(tài)機(jī),系統(tǒng)在該結(jié)構(gòu)中的開始節(jié)點(diǎn)處開始。系統(tǒng)檢查與開始節(jié)點(diǎn)相關(guān)的條件和指令,并發(fā)布反映該相關(guān)條件和指令的恰當(dāng)?shù)臋C(jī)器可執(zhí)行的指令和人類可理解的指示。系統(tǒng)等待表明機(jī)器可執(zhí)行的指令已經(jīng)被完成的自動(dòng)反饋,以及來自人類操作者的表明人類可理解的指示已經(jīng)被完成的人工反饋。
當(dāng)反饋表明條件和指令已經(jīng)被完成時(shí),系統(tǒng)沿鏈接向下前進(jìn)至圖中的下一個(gè)狀態(tài)并重復(fù)該過程,發(fā)布指令和指示并且在前進(jìn)至下一個(gè)結(jié)點(diǎn)前等待表明指令和指示被完成的反饋,直至到達(dá)圖中的結(jié)束狀態(tài),在該點(diǎn)的假設(shè)是食物已經(jīng)被制備好。
本發(fā)明的實(shí)施例可以在有需要或指示時(shí)實(shí)時(shí)地檢索包含自然語言通信的內(nèi)容,或者根據(jù)用戶指示或?yàn)橐院蟮氖褂米鰷?zhǔn)備,在使用前提前檢索并儲(chǔ)存該內(nèi)容。例如,本發(fā)明的實(shí)施例可以用于準(zhǔn)備食譜庫,該食譜庫可以至少部分地由一個(gè)或多個(gè)智能器具執(zhí)行并且可以以儲(chǔ)存的形式作為專用器具或以其他形式被遞送,以供以后使用。
從之前的描述中可以明顯發(fā)現(xiàn),本發(fā)明呈現(xiàn)了優(yōu)于現(xiàn)有技術(shù)的數(shù)個(gè)方面。一方面,提出的系統(tǒng)和方法使用來自于在線資源的視頻的隱藏字幕文本,以標(biāo)識(shí)使用例如文本模式的制備指示,該制備指示被解釋或翻譯成用于一個(gè)或多個(gè)烹飪?cè)O(shè)備的指令,其可為自動(dòng)化的或非自動(dòng)化的。另一方面,提出的系統(tǒng)和方法,在標(biāo)識(shí)制備指示和設(shè)備指令前,使用自然語言處理和其他相似的技術(shù)從音頻內(nèi)容中提取文本。另外一方面,提出的系統(tǒng)和方法,在已經(jīng)提取出制備指示之后,可以推薦智能或非智能的烹飪器具的列表,用于制備發(fā)布的食譜;提供關(guān)于在制備食譜時(shí)避免錯(cuò)誤的建議或在制備食譜時(shí)校正錯(cuò)誤而要進(jìn)行的步驟;考慮文化偏好、飲食要求、所用語言的差異等原因,提供替代物以個(gè)性化食譜的內(nèi)容;并且,當(dāng)協(xié)調(diào)各種自動(dòng)烹調(diào)設(shè)備的操作以執(zhí)行食譜的制備時(shí),通過經(jīng)由用戶接口(如平板計(jì)算機(jī)設(shè)備)顯示用戶指示而幫助用戶查看內(nèi)容。
本發(fā)明的實(shí)施例可以被應(yīng)用至數(shù)個(gè)期望的應(yīng)用中。
例如,本發(fā)明的實(shí)施例可以用來變換廣播烹飪內(nèi)容的過程。拍攝食譜視頻或烹飪秀的廣播提供者或網(wǎng)絡(luò)內(nèi)容提供者,可以利用本發(fā)明的實(shí)施例來自動(dòng)轉(zhuǎn)錄伴隨視頻內(nèi)容的口語音頻。一旦口語內(nèi)容被轉(zhuǎn)錄,實(shí)施例基于例如預(yù)先構(gòu)建的存在論從轉(zhuǎn)錄中繼續(xù)自動(dòng)提取食譜內(nèi)容。然后,提取的食譜內(nèi)容可以被分析以提取動(dòng)詞、指令、時(shí)間、溫度、前置條件、后置條件等,并且從該信息中自動(dòng)生成可執(zhí)行的食譜圖。圖中的適當(dāng)節(jié)點(diǎn)被轉(zhuǎn)換成可執(zhí)行的機(jī)器可執(zhí)行的指令,以用于一個(gè)或多個(gè)可遠(yuǎn)程操作的器具。利用多語言詞典或原材料替代物的詞典,可以將食譜圖轉(zhuǎn)換成不同的語言,或者將食譜圖轉(zhuǎn)換為使用不同的原材料。
另一個(gè)有用的應(yīng)用為出于飲食考慮的自動(dòng)食譜適配。例如,與本發(fā)明的實(shí)施例交互的有高血壓的個(gè)體,可以看到原材料列表中的鹽被用顏色編碼突出顯示,或者對(duì)食譜中的鹽自動(dòng)地做出合適的替代。同樣地,與本發(fā)明的實(shí)施例交互的有糖尿病的患者,可以利用原材料替代物的詞典或替代存在論,而使得食譜中的某些原材料被替代。
另一個(gè)有用的應(yīng)用涉及當(dāng)食譜中的原材料或步驟被遺失或忽略時(shí)的食譜“恢復(fù)”或“修復(fù)”。在該情況下,可執(zhí)行的食譜圖可以用來通過向用戶提供指導(dǎo)或備選方案來挽救食譜。例如,如果鹽被加多了,通過使用原材料替代物的詞典或替代存在論,可以建議吸收鹽的原材料,并且推薦其他原材料的替代品。
例如,在上文中參照根據(jù)本公開中實(shí)施例的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的框圖和/或操作圖示描述了本公開的實(shí)施例??蛑凶⒔獾墓δ?行為可以以流程圖中所示順序以外的順序出現(xiàn)。例如,取決于所涉及的功能/行為,連續(xù)顯示的兩個(gè)框?qū)嶋H上可以被并行執(zhí)行或者有時(shí)可能被以相反的順序執(zhí)行。此外,不是流程圖中所示出的所有框都需要被運(yùn)行和/或執(zhí)行。例如,如果給定的流程圖有五個(gè)包含功能/行為的框,可能該五個(gè)框中只有三個(gè)框被運(yùn)行和/或執(zhí)行。在該例中,該五個(gè)框中的該三個(gè)框的任何一個(gè)都可以被運(yùn)行和/或執(zhí)行。
本申請(qǐng)中提供的一個(gè)或多個(gè)實(shí)施例的描述和說明并不以任何方式限制或限定所要求的本公開中的范圍。本申請(qǐng)?zhí)峁┑膶?shí)施例、示例和詳細(xì)信息被認(rèn)為充分地傳達(dá)了本申請(qǐng)的范圍,并且使其他人能夠制造和使用所要求的實(shí)施例的最佳方式。所要求的實(shí)施例不應(yīng)被理解為僅限于此申請(qǐng)中提供的任何實(shí)施例、示例或詳細(xì)信息。無論是否組合或單獨(dú)地示出和描述,各種特征(結(jié)構(gòu)的和方法的)都被有意地選擇性地包含或省略以出示具有特定特征集的實(shí)施例。在已經(jīng)提供了本申請(qǐng)的描述與說明之后,本領(lǐng)域技術(shù)人員可以預(yù)見變化,修改,和可替換的實(shí)施例均屬于本申請(qǐng)中的總體發(fā)明構(gòu)思的較寬范疇的主旨中,并不偏離要求的實(shí)施例的較寬范圍。