鄒一波 李清雨 陳 明 葛 艷
(1.上海海洋大學信息學院, 上海 201306; 2.農業農村部漁業信息重點實驗室, 上海 201306)
水產品極易被污染,其質量安全風險高于其他類別食品[1]。危害分析及關鍵控制點(Hazard analysis critical control point, HACCP)是一種全面的、系統的控制體系,具有嚴格的記錄保持程序,可以降低食品行業風險[2],對水產品安全性和可靠性的提高也有積極的作用。因此研究HACCP計劃的信息化、數字化應用,對于提升生產和銷售環節的安全性和可靠性有積極的作用。
目前,已有眾多研究者開展了這方面的研究[3-13]。但這些研究主要集中于HACCP計劃的信息化應用、HACCP計劃的優化或者各種新興信息技術和HACCP計劃的結合應用。在此基礎上,還出現了有關HACCP的應用研究[14-16]。但針對如何把HACCP計劃中的知識作完整的數字化提取,實現HACCP計劃的知識表達和推理,相關研究還不多。
為提高水產品流通過程中的質量安全風險信息化管理水平,本文將生食牡蠣HACCP計劃(無特別說明,下文均用HACCP指代生食牡蠣HACCP)與語義建模相結合,提出基于生食牡蠣加工HACCP計劃的語義基礎模型(HACCP semantic base model,HSBM),用來實現知識提取、知識表示、知識建模以及知識推理,以語義的方式將HACCP計劃的知識固化到信息領域,為HACCP計劃的數字化應用奠定語義基礎。
參照文獻[17]進行生食牡蠣HACCP計劃的完整知識表示研究。
生食牡蠣HACCP計劃經危害分析確定活牡蠣接收、干法冷藏、牡蠣肉儲存3個環節,分別從顯著危害(HA)、各預防措施的關鍵限值(CL)、監控(CM)、糾偏行動(CA)、驗證(VE)、記錄(RE)6方面展開描述。其中每個環節從不同的危害角度,對與各環節、各危害相關的溫度、時間等作出要求,并對出現偏差可能會發生嚴重危害的關鍵點進行監控,如果監控發現該點超出關鍵限值的要求,則對該操作進行糾偏,通過每天審查監控、糾偏記錄等方式進行驗證。另外,在計劃表中的每個操作都要進行記錄,記錄也作為每個操作的憑證。具體的生食牡蠣HACCP計劃[17]如表1所示。

表1 生食牡蠣HACCP計劃Tab.1 HACCP schedule of raw oysters
HACCP語義建模過程就是對HACCP作知識提取、知識表示、知識建模以及知識推理的過程。HACCP計劃既有結構化的知識,又有非結構化的知識,并且涉及到工作流程問題,計劃內容繁多,關系復雜,流程之間信息無法共享,因此準確描述HACCP中的相關知識,加強機器對數據的理解,為后續的知識推理及實際應用打下良好的基礎成為要解決的關鍵問題。
知識表示是使用合適的知識表示方法[18]對HACCP知識進行分析整理,得到概念、關系、實例等相關知識,對知識進行新的描述,使計算機能對生食牡蠣知識進行有效的表達[19]。知識表示是知識建模與推理的基礎。
知識建模的過程實際上就是建立本體的過程,對HACCP計劃中的知識進行科學的表示、獲取和組織。本體(Ontology)可有效地實現知識表示,得到可以被機器處理和共享的抽象模型[20]。它由概念、概念之間的關系以及概念之間的約束組成[21]。而OWL2(Ontology Web languag 2)是一種網絡本體語言,拓展了領域知識的表達和推理能力[22],是一種針對領域知識而通用的建模語言,可實現與本體建模工具的交互[23-24]。
為了增強知識推理能力,在知識表示的基礎上,使用語義網規則語言(Semantic Web rule language,SWRL)建立規則,使用推理機獲取新的知識。
SWRL以邏輯形式來表達規則,根據已有知識得到隱含知識,具有較強的邏輯表達能力[25]和推理能力[26]。每條規則的基本語法[27]為
P1,P2,…,Pn→C′
(1)
式中,P1、P2、…、Pn以及C′都是基本命題,P1、P2、…、Pn這些基本命題之間是邏輯與的關系,它們統稱為前提,C′稱為結論。式(1)的含義是,如果前提P1、P2、…、Pn成立,則結論C′成立。
基本命題P還可以拓展為形如P(?x,?y)的限制式,此時,x、y可以是變量或實例,P表示x、y之間的某種關系。
知識推理可以在知識建模的基礎上通過本體推理或規則推理獲取新的知識。
本體推理是通過概念的約束條件對本體模型中概念的推理,保證本體模型中概念的一致性。本體推理為規則推理提供前提條件,可使用HermiT、FaCT++等推理機實現。
結合生食牡蠣業務流程與HACCP計劃特點,對HACCP計劃中的概念、關系、實例及規則等進行提取設計本體模型,并借助本體建模工具實現該模型,形成生食牡蠣HACCP計劃的語義基礎模型(HSBM),該模型的語義建模層次架構如圖1所示。
按照不同的業務邏輯,該模型分為4層,自底向上分別是:領域知識層、知識表示層、知識建模層和知識推理層。
領域知識層是模型的基礎層,對內容繁多、關系復雜的HACCP知識作梳理,該層為模型最底層,為上層系統和業務實現提供領域知識支撐。知識表示層是模型的核心層,將領域知識用本體建模方法完成元素抽取。知識建模層是模型的實現層,對知識表示層抽象表達的知識作具體的本體描述。知識推理層是模型的補充層,按規則或約束條件實現知識的推理,得到新的知識,從而豐富HACCP計劃知識,形成概念化、形式化、結構化的本體知識庫。
圍繞HACCP 計劃中的活牡蠣接收、干法冷藏、牡蠣肉儲存3個關鍵控制點,以及每個關鍵控制點覆蓋的顯著危害、關鍵限值、監控內容、糾偏行動、驗證和記錄來獲取相關知識。其中的典型知識分析如下:
(1)在活牡蠣接收、干法冷藏、牡蠣肉儲存各環節中,活牡蠣接收環節會有捕撈產生的捕撈標識牌、捕撈許可證、捕撈時間牌等標識,接收之后對牡蠣進行簡單處理,進入干法冷藏、儲存環節,要保證從捕撈到冷藏庫以及從冷藏庫到儲藏間運輸過程中的食品安全性。
(2)活牡蠣接收包括致病菌污染、致病菌生長、環境化學污染、天然毒素4種顯著危害,針對各危害制定HACCP計劃;干法冷藏和牡蠣肉儲存環節確定致病菌生長為顯著危害,圍繞致病菌生長制定HACCP計劃。
(3)在實施 HACCP 計劃中,會有許可證、標識牌類的監測信息貫穿業務流程,它們是檢測該批水產品是否滿足關鍵限值的重要依據。
(4)還有一類監控信息是溫度、時間。如果監控值不符合關鍵限值的要求,則產生拒收的糾偏行動。同時需要對監控、糾偏等進行驗證。不管監控的結果是否符合關鍵限值的要求,都要產生記錄,以作為該批水產品接收或拒收的依據。
上述HACCP 領域知識可抽象為一個知識表示模型(Knowledge representation model-HACCP, KRM-HACCP),該模型由領域的抽象概念集C和與概念相關的關系集R組成。其中概念集是HACCP計劃中包含的所有概念形成的集合,概念集Cn={C1,C2,…,Ci},每個概念可以具像化為多個實例I,由此又形成實例集In={I1,I2,…,Ii},I?C。
(1)概念提取
建立完整的概念集是構建一個本體的基礎,結合2.1節領域知識描述,概念集合C包括:對生食牡蠣業務流程的抽象形成生食牡蠣業務流程概念(STEP);按照危害分析與關鍵控制點HACCP原理抽象出的7個概念:CCP(關鍵控制點)、HA、CL、CM、CA、VE、RE。
(2)概念實例化
將上述HACCP中的每個概念作為一個表格列,結合表 1的原始HACCP 計劃表,可以得到對應每個概念下合理存在的實例如表2所示。表中每一行代表一個被選為關鍵控制點CCP的實例,除首行首列外的每個單元格代表一個列概念在當前行對應關鍵控制點上存在的所有實例。
(3)關系分析
關系是連接兩個概念的“橋梁”,兩個概念之間通過屬性建立相連的關系。與關系相連的兩個概念根據連接屬性的作用方式分別定義為:主體和客體。主體表示觸發該屬性作用的概念,客體表示該屬性作用的目標對象概念。這些連接屬性構成概念的關系集,反映領域知識中概念之間的交互作用。
首先,以活牡蠣接收這一關鍵控制點流程為例,說明其中包含的主要關系,如表3所示。

表3 活牡蠣接收中的關系分析Tab.3 Relationship analysis in live oyster reception
對比表3,針對干法冷藏關鍵控制點流程還需在此基礎上附加的關系如表4所示。

表4 干法冷藏的附加關系分析Tab.4 Additional relationship analysis of dry refrigeration
在3個控制點各自對應的關系分析外,還有涉及到兩個關鍵控制點之間,為了更好地實現信息共享而有必要表達的關系如表5所示。

表5 兩個流程之間的關系分析Tab.5 Analysis of relationship between two processes
(4)屬性分析
概念不僅有相互之間的連接關系,還有屬于自己的一些數據屬性,比如在HACCP計劃表中與時間、溫度等有具體數據要求的概念。因此用數據屬性描述概念主體與一些數據特征之間的關系,表現為主體和數據類型的關系,本質上也是一種關系。其中,主體表示該屬性作用的對象概念,數據類型表示該屬性值的取值約束。主要的數據屬性如表6所示。
知識建模是知識推理和知識應用的基礎。此處的知識建模主要是通過兩方面建立本體知識模型:一是概念關系模型的構建,以理清領域知識核心概念間的關系;二是基于本體的規則的提取與表述,實現通過本體共享概念模型的明確形式化規范說明[28],通過本體建模工具,建立概念關系和規則,為知識推理提供前提條件。

表6 KRM-HACCP中的主要數據屬性Tab.6 Main data attributes in KRM-HACCP
2.3.1概念關系建模
對2.2節中通過知識表示提取出的、面向一個關鍵控制點的相關概念,梳理這些概念間的相互關系,建立生食牡蠣CCP概念-關系(E-R)模型,如圖2所示。圖中矩形框表示概念,菱形框是概念間存在的關系。連接線上的數字代表連接基數,0表示所連接的概念中可以沒有實例與對應概念的實例建立關系,1表示所連接的概念中實例與對應概念的實例之間建立一對一關系,n表示所連接的概念中最多有n個實例與對應概念的實例之間建立關系。
2.3.2規則建模
規則建模采用SWRL構造規則本體并通過本體之間的關聯來獲取更多的知識,即使用SWRL建立推理規則。推理規則是以目標為導向的推理條件的有機組合[29]。
對HACCP計劃表達的知識作規則提取,可以更好地監控HACCP計劃實施、保障產品質量、提供水產品追溯證明?;谏鲜鯤ACCP計劃知識表示基礎,描述部分典型推理規則:
(1)流程記錄類規則
這類規則與各關鍵控制點中的信息密切相關。以活牡蠣接收CCP為例,其中涉及到捕撈標識、捕撈許可證、捕撈時間等證明信息,為下一個CCP的實施提供前提條件,因此要將產生的證明信息進行驗證,并拒收不符合條件的原材料,形成記錄。為此,設計了如下規則。
Rule-1(記錄驗證規則):如果某CCP中實施了某項監控措施CM,且監控措施CM對關鍵限值CL進行監控,并由監控對象信息載體Proof進行記錄和證明,則在CCP中需要提交產生的Proof供后續驗證有效性。該規則描述為
Has_CM(?CCP,?CM),Monitor_CL(?CM,?CL),CL_proved_by(?CL,?Proof),Proof_from_CCP(?Proof,?CCP)→CCP_submit_proof(?CCP,?Proof)
Rule-2(監控記錄規則):如果某CCP有某顯著危害HA,實施了某項監控措施CM,CM對CL進行監控,對監控內容進行記錄,監控信息可以用來檢驗某關鍵限值 CL,則在實例CCP中會產生記錄RE,記錄實例CCP中的接收記錄。該規則描述為
Has_HA_risk(?CCP,?HA),Has_CM(?HA,?CM),Monitored_by(?CL,?CM),Has_RE(?CM,?RE),CL_proved_by(?CL,?CM)→CCP_generate_RE(?CCP,?RE)
Rule-3(有偏必糾規則):如果某CCP有某種顯著危害HA,根據某顯著危害有相應的預防措施的關鍵限值CL,由監控措施CM對關鍵限值CL實施監控,并由記錄RE檢驗某糾偏措施CA,當顯著危害超出關鍵限值的要求時,則在實例CCP 中產生糾偏行動的一個實例糾偏措施CA。該規則描述為
Has_HA_risk(?CCP,?HA),Has_CL (?HA,?CL),Monitored_by(?CL,?CM), CA_proved_by(?CA,?RE)→CCP_generate_CA(?CCP,?CA)
(2)數據共享類規則
這類規則主要與計劃表中時間相關特征屬性密切相關。比如,針對表1中活牡蠣接收CCP下的關鍵限值:“捕撈至冷藏的最長時間小于24 h”,即是要求在CCP1中有關起始時間的監控信息需共享給干法冷藏CCP2。為此,設計了如下規則。
Rule-4(數據共享規則):如果有實例 CCP1、CCP2,且在生食牡蠣業務流程中,CCP2是CCP1之后的實例,監控措施CM對實例CCP1的關鍵限值CL進行監控,且由監控對象信息載體Proof進行證明,那么在CCP1中需將關鍵限值CL向下一步傳遞。該規則描述為
Differentfrom(?CCP1,?CCP2),Next_CCP(?CCP1,?CCP2),Proof_from_CCP(?Proof,?CCP1),Monitored_by(?CL,?CM),CL_proved_by(?CL,?Proof)→CCP_deliver_CL(?CCP1,?CL)
其他,諸如“冷藏庫溫度不超過7.2℃的時間不大于2 h”,“產品從干法冷藏庫移到牡蠣肉儲藏間的時間不得超過3 h”等也可對應此規則,在此不再贅述。
(3)糾偏類規則
這類規則與各CCP中與溫度相關的CL糾偏記錄密切相關。比如,針對表1中干法冷藏CCP下的關鍵限值:“冷藏庫溫度不超過7.2℃的時間不大于2 h”,牡蠣肉儲存 CCP下的關鍵限值:“冷藏庫溫度超過7.2℃的時間不大于2 h”,即需要嚴密監控冷藏庫溫度以便及時糾偏,并作出記錄。為此,設計了如下規則。
Rule-5(糾偏記錄規則):如果某CCP有某顯著危害HA,各顯著危害有某關鍵限值CL,監控措施CM對CL進行監控,監控措施CM由記錄RE進行證明,若有誤差則有糾偏措施CA,那么CA由記錄RE進行證明,并記錄其中。該規則描述為
Has_HA_risk(?CCP,?HA),Has_CL(?HA,?CL),Monitor_CL(?CM,?CL),CM_proved_by(?CM,?RE),Has_CA(?CM,?CA)→CA_proved_by(?CA,?RE)
同時設計了在各CCP中與溫度相關的糾偏驗證的規則。
Rule-6(糾偏驗證規則):如果某CCP有某關鍵限值CL,CL由監控措施CM進行監控,并且CM由監控記錄進行證明,如果發現不符合關鍵限值的要求,產生糾偏CA,并審查糾偏措施,則該糾偏措施會產生相關的驗證信息VE。該規則描述為
Has_CL(?CCP,?CL),Monitor_CL (?CM,?CL),CM_proved_by(?CM,?RE),Has_CA(?CM,?CA)→CA_generate_VE(?CA,?VE)
知識推理層核心是實現HACCP規則的推理,繼續豐富HACCP知識庫的知識。推理系統的概念邏輯可抽象為圖3,它由HACCP的基礎知識庫再加一個HACCP知識推理機組成[30]。
HACCP的基礎知識庫包括事實集合和規則集合。HACCP知識推理機由模式匹配、規則選擇和規則執行3個組件構成。推理機的執行流程為:首先對輸入的命題從語法層面作模式分析,匹配的模式進入規則選擇環節,可以從HACCP基礎知識庫中去選擇匹配度最高的規則,接下來執行該規則,執行后得到的結論進一步去豐富原始的事實集合。
結合實例,部分推理過程如圖4所示。圖中由6個圓角矩形分割出6個不同規則的條件實例關系和部分推理結果,其中 “Monitored_by-≡Monitor_CL”、“Proof_from_step-≡CCP_generate_proof”展現的是部分本體推理內容。
在“活牡蠣接收”中執行規則Rule-2,CCP1的一個顯著危害點在于“致病菌生長”,為預防該危害的發生,“活牡蠣捕撈至冷藏的時間關鍵限值”規定該時間差小于24 h,由“捕撈時間監控”和“移到冷藏庫的時間監控”兩個監控內容對該關鍵限值進行監控,記錄監控內容,若證明其差值未超出時間限制,該批牡蠣符合要求,則推出結論:“接收記錄”,并在“活牡蠣接收”中產生該記錄,形成CCP1中的一條實例。
規則Rule-3中推理條件與規則Rule-2類似,區別在于規則Rule-3推理條件中“活牡蠣捕撈至冷藏時間關鍵限值”不符合要求,則該規則推出的是在CCP1中產生“捕撈至冷藏時間糾偏措施”,拒收超出時間限制的牡蠣。圖中菱形框內容并沒有在本體編輯工具中實現,還需輔以外部應用來實現。
其他規則相關的推理過程與上述推理流程類似。
將2.2節中通過HACCP計劃表抽象出的概念、關系和實例,借助本體建模工具Protégé進行本體構建,實現概念關系建模以及規則建模。
在Protégé中通過Ontograf得到的圖形化關系結構如圖5所示。CCP概念和Step概念在具體實現中設置為兩個等價概念。“OWL:Thing”代表定義的所有概念都是它的子概念。實線代表本體中的基本關系,虛線代表本體中的自定義關系,相同顏色的線條代表同一種關系。以 “CL”和“CM”為例,關鍵限值被監控內容監控,同時監控內容也監控關鍵限值,所以圖中兩個概念之間有兩條自定義關系。概念具象化出的實例之間根據語義設置它們之間的關系,所以實例既存在自定義的關系,又存在基本關系。概念與概念,概念與實例之間通過2.3節所述關系聯系在一起,這些聯系是規則推理的基礎。
在概念、關系建立的本體基礎上,結合SWRL表達的規則,借助HermiT推理機進行本體推理和規則推理。以活牡蠣接收為例,部分推理結果及其分析如圖6所示,其中推理①、②、③、④為本體推理結果,對應(1)、(2)、(3)、(4)推理過程,推理⑤、⑥、⑦為規則推理結果,對應(5)、(6)、(7)推理過程。
推理⑤、⑥、⑦是由規則推理得到的知識,根據規則Rule-1,在“活牡蠣接收”中,由“捕撈標識監控”監控“活牡蠣捕撈標識”關鍵限值,在監控過程中產生“捕撈標識”證明關鍵限值符合要求,則推出在CCP1中要提交監測信息以供后續CCP驗證該批牡蠣符合要求。在規則推理過程中,包含部分由約束條件得到的本體推理結果。約束條件Proof_from_step-≡CCP_ generate_proof,得到推理②、③、④,即捕撈標識、捕撈許可證、捕撈時間標識等監測信息在CCP1中產生。因為“活牡蠣接收”為CCP的一個實例,CCP中存在約束條件“Equivalent to”Step,則得到推理①,即活牡蠣接收也是業務流程中的一個實例。Step這一等價實例的存在是為HACCP計劃中關鍵控制點的動態調整預留的。
(1)結合生食牡蠣HACCP質量體系,提取領域知識,保證了提取到影響質量安全的關鍵監控知識,以及HACCP原理知識,奠定了HACCP計劃自動化應用的知識基礎,也為可信溯源提供業務知識保證。
(2)結合生食牡蠣HACCP質量體系標準,設計規則,在增強語義描述能力的同時,實現了知識共享,使時間等相關信息在不同業務流程之間有效傳遞,從語義層面保障了業務約束的可控性。
(3)應用本體建模工具Protégé實現了本體構建,完成了 HACCP 計劃的知識表達,借助HermiT推理機實現了知識推理,充實了HACCP基礎知識庫。
(4)生食牡蠣HACCP語義建模層次架構以及KRM-HACCP模型已完全具備知識描述能力、知識共享能力、知識語義推理能力以及知識發現能力。同時,該模型可以更系統、更完整地理解和表達HACCP計劃語義。