陳星豪
(廣西電力職業技術學院,南寧530007)
近年來,人們的飲食日益多樣化,餐桌上的菜品也是葷素搭配,但是有些食物是不能一起吃的,這些食物單獨進食并沒有任何問題,如果將兩種或者兩種以上的食物混合起來食用,則容易出現食物中毒或營養不被吸收等情況。不同食物由于組成的成分不同,有些食物混在一起食用會在體內產生化學反應,生成不能被人消化吸收的沉淀,嚴重的會引起疾病。因此食物不可以亂搭配,否則輕則流失營養,重則有生命危險。
目前國內外對于食品搭配安全的研究基本上是靠專家的經驗判斷,缺少系統化和智能化的查詢方法或推理方法。本體理論和技術的發展與應用為食品搭配安全查詢專項研究提供了一種新的途徑。目前國內外對本體在食品領域安全的研究只局限于針對食品的分析和建模,較少對食品搭配對人們身體所造成的影響進行深入探討,沒有對食品搭配本體做相應的推理研究。
構建一個智能的食品搭配安全查詢系統,挖掘食品搭配有可能對人身造成影響的信息,指導人們健康的飲食生活。
本體的目標是捕獲相關領域的知識,提供對該領域知識的共同理解,確定該領域內共同認可的詞匯,并從不同層次的形式化模式上給出這些詞匯(術語)和詞匯間相互關系的明確定義[1-2]。總的來說,構造本體可以實現某種程度的知識共享和重用,以及提高系統通訊、互操作、可靠性的能力。
本體推理機可用于推理和查詢語義,屬于語義web實現的主要途徑之一,推理是指依據一定的規則從已有事實推出結論的過程。本體推理機主要是針對本體進行推理,構建一個完善的領域本體是推理的基礎。Jena是面向語義Web的應用開發包,包含的內容比較全面,Jena中的推理引擎是針對具體本體語言的推理機,針對性強。OWL(Web Ontology Language)是W3C開發的一種網絡本體語言,用于對本體進行語義描述。其中OWLDL(Description Logic,描述邏輯)將可判定推理能力和較強表達能力作為首要目標[3-5]。
本文采用OWL語言來描述并構建食品搭配安全領域本體,根據推理規則構建部分自定義規則,最后使用JEna推理機對食品搭配對人身所造成的影響進行推理。
查詢模塊要有友好簡潔的查詢界面,利于人們方便使用。同時,為了能實現嚴密的邏輯推理功能,必須要有領域本體庫和推理規則的支撐。食品搭配安全查詢模塊框架如圖1所示。

圖1 食品搭配安全查詢模塊
具體工作流程為:查詢界面接收用戶的查詢搭配信息,輸送到推理機,推理機結合領域本體以及推理規則進行相關的邏輯推理,最后得出結果,顯示到查詢界面。
任何一個食品都包含有豐富的元素,比如,蝦這種食品,含大量的維生素B12,同時富含鋅、碘、硒、熱量和較低的脂肪。同時,食品搭配進食后會造成相關的元素進行化學作用,從而產生新的元素。這些新的元素有的是人身體所需的,有益健康,有的則是對人身造成有害影響的。根據營養專家的建議,食品搭配安全領域的本體可以分為以下幾類:
3.2.1 源食品本體。
源食品本體定義為進食之前食品的原本狀態,以及所包含的元素。食品的種類繁多,每一種食品還包括有更細品種的食品,各個食品也包含有豐富的元素。這些結構和內容都是通過源食品本體來表現出來。比如,蝦這類食品,蝦屬節肢動物甲殼類,種類很多,包括青蝦、河蝦、草蝦、小龍蝦、對蝦(南美白對蝦,南美藍對蝦)、明蝦、基圍蝦、琵琶蝦、龍蝦等。其中蝦還含有熱量、碳水化合物、脂肪、蛋白質、纖維素、鈣等元素。對于山楂這類食品,可以分為酸甜兩種山楂。其中,酸山楂包含糖類、蛋白質、脂肪、維生素C、胡蘿卜素、淀粉、蘋果酸、鞣酸等元素。
3.2.2 終食品本體。
終食品定義為食品在進入人的身體后最終所存在的狀態,包括進入人身體后所發生的化學反應后產生的最終元素。比如,蝦和山楂同時進入人的身體之后,原先的鈣和鞣酸兩種元素會生成新的不溶性結合物,這種不溶性結合物就屬于終食品本體的概念。
3.2.3 影響狀況本體。
影響狀況本體定義為終食品在人身體內對身體所造成的影響。包括有嘔吐、頭暈、惡心和腹痛腹瀉等不良影響,也包括補腎壯陽,通乳抗毒、養血固精、化瘀解毒、益氣滋陽、通絡止痛、開胃化痰等功效。
根據食品搭配安全領域本體的分類,采用OWL描述語言構建領域本體相關類之間的關系。
食品搭配安全領域本體包括有源食品本體、終食品本體、影響狀況本體,三個子本體相互之間存在著明顯的關聯性。各主要本體之間的關系主要包括有:
3.3.1 生成。主要用于描述源食品本體和終食品本體之間的關系,說明源兩種或多種食品本體混合最終會生成什么樣的終食品本體。例如,鈣和鞣酸兩種元素會生成新的不溶性結合物。
3.3.2 產生。主要用于終食品本體與影響狀況本體之間的關系,說明終食品本體對人身體會造成什么樣的影響狀況本體。例如,不溶性結合物會對人體產生嘔吐、頭暈、惡心和腹痛腹瀉等影響。
3.3.3 引發。主要用于說明影響狀況本體相互之間的關系,說明兩種或多種影響狀況本體同時或接連發生會引發另外一種影響狀況本體。例如,頭暈和呼吸困難會引發暫時性休克影響。
Jena囊括了針對本體的推理規則,可以檢查概念是否滿足,保證不同種類關系以及不同種類的屬性不相交[6],但是從實際運行情況來看,通用規則是不能滿足推理要求以及信息檢索的基本要求的。所以要從水利工程建筑安全隱患及各個隱患特點入手,擬定最適合使用的推理機制,在滿足相關要求的基礎下,對其進行完善。對自定義規則進行推理,從實例關系以及屬性關系等角度入手,介紹詳細的制定過程。
3.4.1 生成反繼承規則
Rule1(a rdf:subClassofm)(b rdf:subClassof n)(a b dp#shengcheng c)-->(m n dp#shengcheng c)
若源食品本體a是源食品本體m的子類,源食品本體b是n的子類,而源食品a,b搭配會生成終食品本體c,則源食品m和n搭配也會生成終食品c。
3.4.2 產生的反繼承規則
Rule2(a rdf:subClassof b)(a dp#chansheng c)-->(b dp#chansheng c)
若終食品本體a是終食品本體b的子類,而終食品a本體會產生影響狀況本體c,則終食品本體b也會產生影響狀況本體c。
3.4.3 引發反繼承規則
Rule3(a rdf:subClassofm)(b rdf:subClassof n)(a b dp#yinfa c)-->(m n dp#yinfa c)
若影響狀況本體a和b分別是m和n的子類,而a和b會引發另外一個影響狀況本體c,則m和n也會引發c。
本次選用的推理實現平臺為netbeans,而在開發語言方面則使用java來實現,通過加載jena2API庫文件結合自定義程序的方式來實現推理。從ReasonerRegistry當中獲取OWLReasoner。ReasonerRegistry.getOWLReasoner,并在其標準配置當中直接返回OWL reasoner,在返回OWL reasoner之后,將reasoner和其本體相互綁定,通過reasoner來實現返回,從本體模型當中創建InfModel。只要完成原始數據和owl的本體模型創建,便可以與其余的Model相同處理。創建和查詢推理模型部分代碼如下:

為了驗證模型的查詢功能,構建了一個小型的食品搭配安全領域本體,其中有小型的子本體包括源食品本體、終食品本體、影響狀況本體。通過輸入2個食品搭配信息來檢驗查詢效果。
4.1查詢食物搭配為:蝦+柿子,結果顯示如圖3所示。

圖3 “蝦+柿子”搭配查詢結果
4.2查詢食物搭配為:河蝦+韭菜,結果顯示如圖4所示。

圖4 “河蝦+韭菜”搭配查詢結果
以上實驗結果說明了本查詢模型系統具有挖掘食品搭配對人體所造成的各種影響的功能,無論是積極的影響還是消極的影響,模型系統具有合理性、智能性、有效性的特點。
本文將本體理論應用于食品搭配領域,分析食品領域中的概念以及概念之間的關系,創建食品搭配領域本體模型,并采用Jena推理引擎和自定義的規則對其進行推理,構建基于本體推理的食品搭配安全查詢模型,挖掘食品搭配對人身所造成的影響信息。經實驗結果表明,本模型具有合理性、智能性、有效性等特點。模型不足之處在于,對食品搭配的量沒有考慮,因為有些食物搭配產生的影響會根據量的多少而有所變化,這將是下一步研究的方向。
[1]付秀東.OWL+DL本體中概念相似度算法研究[D].西南交通大學,2009.
[2]李玉華,盧正鼎,廖振松.基于本體的通用知識網格架構研究[J].華中科技大學學報:自然科學版,2006,34(3):21-24.
[3]朱姬鳳馬宗民呂艷輝.OWL本體到關系數據庫模式的映射[J].計算機科學,2008,35(8):165-169.
[4]田飛,劉魯.基于語義推理的DSS模型研究與應用[J].計算機工程與應用,2009,45(17):11-15.
[5]李宏偉,蔡暢,李勤超.基于Jena和地理本體的空間查詢與推理研究[J].測繪工程,2009,18(5):5-9.
[6]田宏,馬朋云.基于Jena的城市交通領域本體推理和查詢方法[J].計算機應用與軟件,2011,28(8):57-59.