艾亮東 艾滔
本文從在線食品安全檢測的實(shí)際需求入手,根據(jù)現(xiàn)有行業(yè)數(shù)據(jù)、標(biāo)準(zhǔn)操作流程,結(jié)合物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù),探索設(shè)計(jì)食品安全在線智能化檢測系統(tǒng),旨在有效提升食品安全檢測效率,確保食品安全。
一、智慧檢測流程介紹
1.食品采樣。食品采樣是指從食品市場中隨機(jī)抽取各類食物作為樣品進(jìn)行檢測。當(dāng)前有兩大難題亟待解決:一是如何在多個(gè)地區(qū),科學(xué)合理地規(guī)劃取樣位置,全面準(zhǔn)確地記錄樣品特性;二是如何確保在發(fā)生食品安全事故時(shí),系統(tǒng)能夠迅速做出識別、預(yù)警、送檢的反應(yīng),及時(shí)解決問題。人工采樣存在低效、易失誤等不足,無法保證檢測工作的可靠和高效,為此,筆者探索了一套能夠?qū)崿F(xiàn)任務(wù)管理、電子化采樣、智能化檢測、不合格品處置的智慧快檢全流程,其底層技術(shù)建立在工作流、地理信息系統(tǒng)、智能移動設(shè)備、云平臺的基礎(chǔ)之上。
2.智慧快檢流程。(1)任務(wù)管理模塊。任務(wù)管理模塊旨在讓食品安全檢測任務(wù)的下達(dá)變得更為清晰、準(zhǔn)確、細(xì)致,讓反饋更為及時(shí)。監(jiān)管者可通過智慧快檢平臺進(jìn)入任務(wù)管理模塊,下達(dá)檢測任務(wù),并明確任務(wù)類型、任務(wù)內(nèi)容、任務(wù)時(shí)間、檢測人員等信息,一鍵派發(fā)任務(wù),實(shí)時(shí)動態(tài)更新任務(wù)執(zhí)行情況。
(2)電子化采樣模塊。傳統(tǒng)的人工采樣容易因誤操作和疏忽使得檢測結(jié)果不準(zhǔn)確,而電子化采樣采用了自動編碼采集樣本、自動定位采樣地址、現(xiàn)場拍照,實(shí)現(xiàn)了信息同步傳輸和采樣過程可追蹤,使采樣的真實(shí)性得到保障。
(3)智能化檢測模塊與數(shù)據(jù)分析。數(shù)據(jù)分析是指對采集的樣本數(shù)據(jù)進(jìn)行分析、計(jì)算、挖掘等操作,但各級食品安全檢測機(jī)構(gòu)還是以人工分析檢測為主,智能化水平低,檢測效率不高,數(shù)據(jù)分析能力不足,基于智能技術(shù)的檢測數(shù)據(jù)分析則針對性地解決了這三大痛點(diǎn):通過自動采樣獲得樣本數(shù)據(jù)的特征,并將樣本檢測結(jié)果作為基礎(chǔ)輸入數(shù)據(jù),對此進(jìn)行分析、計(jì)算、挖掘,然后通過規(guī)則匹配等環(huán)節(jié)提取其中的價(jià)值,最終實(shí)現(xiàn)預(yù)警的功能。值得一提的是,在整個(gè)數(shù)據(jù)分析過程中,系統(tǒng)會通過歷史數(shù)據(jù)的積累,實(shí)現(xiàn)分析算法的自主學(xué)習(xí),從而不斷提高數(shù)據(jù)分析的效率和準(zhǔn)確性。具體來說,在線檢測的功能需求主要包括以下四個(gè)方面:一是臨時(shí)數(shù)據(jù)存儲。從不同的數(shù)據(jù)源和不同類型的數(shù)據(jù)樣本中收集測試數(shù)據(jù),并將其臨時(shí)存儲在專門的數(shù)據(jù)庫中,以便進(jìn)行數(shù)據(jù)過濾和清洗。二是食品安全法律法規(guī)數(shù)據(jù)庫。數(shù)據(jù)建模需要在相關(guān)法律法規(guī)框架內(nèi)進(jìn)行,并與整個(gè)食品分析系統(tǒng)的驗(yàn)證規(guī)則相匹配。三是數(shù)據(jù)過濾。主要基于規(guī)則庫中的規(guī)則過濾檢測數(shù)據(jù),對樣本數(shù)據(jù)進(jìn)行一致化處理。四是數(shù)據(jù)分析?;谝?guī)則庫的規(guī)則分析檢測數(shù)據(jù),對食品安全規(guī)則數(shù)據(jù)庫中的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)建模、集成、過濾、緩存和多元分析,并利用計(jì)算機(jī)的強(qiáng)大計(jì)算能力,預(yù)測樣本特征、關(guān)鍵風(fēng)險(xiǎn)點(diǎn)、消費(fèi)群體以及變化趨勢。
(4)不合格品處置模塊。當(dāng)自動采樣、智能化檢測、數(shù)據(jù)分析等動作完成后,系統(tǒng)將會對樣品的安全性做出判定,不合格品的數(shù)據(jù)將會上傳至智慧快檢云平臺。管理者、檢測者、消費(fèi)者可使用二維碼溯源樣本來源,對不合格食品啟動無害化銷毀處理,確保有害食品無法流入市場。
3.檢測報(bào)告生成與發(fā)布。檢測標(biāo)準(zhǔn)報(bào)告由各種測試數(shù)據(jù)、執(zhí)行任務(wù)計(jì)劃、輸出結(jié)果處理過程匯總之后形成,主要作用是向管理者、檢測者、消費(fèi)者公布食品安全檢測結(jié)果,以便形成三向監(jiān)督。當(dāng)檢測報(bào)告發(fā)布后,市場食品安全檢測信息公示區(qū)將實(shí)時(shí)更新快檢結(jié)果,消費(fèi)者通過手機(jī)掃碼即可自助查詢食品安全信息。由于在線智能檢測的需求,整個(gè)檢測報(bào)告的生成與發(fā)布不僅要高度自動化,還需要融入相關(guān)數(shù)據(jù)分析模塊,以下是檢測報(bào)告模型建立、發(fā)布的解決方案:一是數(shù)據(jù)提取。根據(jù)報(bào)告內(nèi)容提取經(jīng)過分析處理后的測試結(jié)果數(shù)據(jù),按照檢測報(bào)告標(biāo)準(zhǔn)生成檢測報(bào)告。二是報(bào)表設(shè)計(jì)?;谔囟ǖ膱?bào)表輸出格式預(yù)定義、格式化報(bào)表。三是報(bào)表類型管理。主要負(fù)責(zé)檢測報(bào)表類型的添加、刪除、修改和查看。四是報(bào)告任務(wù)調(diào)度?;趯?shí)際需要進(jìn)行食品檢測報(bào)告生成、輸出、發(fā)布任務(wù)的調(diào)度,包括優(yōu)先級排序、發(fā)布時(shí)間設(shè)置等。五是報(bào)表輸出。按照指定的格式、類型和時(shí)間生成測試結(jié)果報(bào)表。六是報(bào)表保存。歸檔系統(tǒng)生成的食品檢測報(bào)告,方便隨時(shí)檢索查閱。七是報(bào)表擴(kuò)展。不同地區(qū)和組織對食品檢測報(bào)告類型有不同的要求,因此需要為食品檢測報(bào)告提供擴(kuò)展接口,方便用戶重新開發(fā)和定制檢測報(bào)告,以滿足其個(gè)性化需求。
二、系統(tǒng)技術(shù)分析
1.系統(tǒng)架構(gòu)設(shè)計(jì)。食品安全在線智能化檢測系統(tǒng)同時(shí)采用C/S、B/S模式,其基本架構(gòu)如圖1所示,整個(gè)系統(tǒng)分為三層:表示層、邏輯層、存儲層。系統(tǒng)的主要業(yè)務(wù)邏輯封裝在邏輯層,包括主要業(yè)務(wù)組件和其他公共服務(wù),比如緩存、多語言處理、異常處理、日志記錄和檢索服務(wù)組件;數(shù)據(jù)庫服務(wù)器存儲和管理系統(tǒng)數(shù)據(jù)與地理信息數(shù)據(jù)庫配合使用;表示層則用于呈現(xiàn)系統(tǒng)檢測結(jié)果,主要包括數(shù)據(jù)源分析系統(tǒng)、檢測流程自動化系統(tǒng)、大數(shù)據(jù)智能分析系統(tǒng)、智能監(jiān)測與預(yù)警系統(tǒng)等子系統(tǒng)。
圖1:食品安全在線智能化檢測系統(tǒng)架構(gòu)
2.數(shù)據(jù)源分析系統(tǒng)。食品樣本檢測數(shù)據(jù)通過網(wǎng)絡(luò)從各地的食品檢測中心導(dǎo)入。在實(shí)際生活中,食品檢測數(shù)據(jù)庫中包含了大量不完整、不一致、包含噪聲的數(shù)據(jù),為了實(shí)現(xiàn)數(shù)據(jù)分析和挖掘效率的提升,就需要采用更加高效的數(shù)據(jù)源分析方法。數(shù)據(jù)源分析的主要工作包括源頭數(shù)據(jù)的選取、清洗、離散化以及概念層次劃分,經(jīng)過源頭分析的數(shù)據(jù)可以直接作為下一步關(guān)聯(lián)規(guī)則挖掘的基礎(chǔ)數(shù)據(jù)。
(1)數(shù)據(jù)選取。日常的食品安全檢查并不會測試所有批次的食品,同批次的食品也是采取抽檢方式,而且同一食品也不會檢測所有的有毒有害成分,這就需要進(jìn)行合理的數(shù)據(jù)選取。檢驗(yàn)數(shù)據(jù)庫是專門為OLAP(聯(lián)機(jī)事務(wù)處理)開發(fā)的,在申請檢測階段,由申請人錄入生成貨物質(zhì)量信息表,主鍵為報(bào)檢編號,每條數(shù)據(jù)記錄都包含待檢驗(yàn)貨物的信息。抽樣信息表是在采樣過程中以樣本編號為主鍵生成并輸入的,每條數(shù)據(jù)記錄都包含要測試的樣本信息,該表將檢測項(xiàng)目信息表、貨物信息表聯(lián)系起來。檢測項(xiàng)目信息表以樣品號為主鍵,每條記錄包含一個(gè)樣品的某個(gè)項(xiàng)目檢測信息。
挖掘樣本數(shù)據(jù)離不開貨物樣本檢測結(jié)果、貨物種類、貨物申請檢測時(shí)間、貨物產(chǎn)地以及其他項(xiàng)目檢測結(jié)果之間的關(guān)聯(lián)規(guī)則。但在實(shí)際數(shù)據(jù)庫中,部分信息沒有價(jià)值,有價(jià)值的信息卻零散分布,給數(shù)據(jù)分析帶來困難,因此必須將這些信息形成數(shù)據(jù)庫視圖。例如,報(bào)檢號、貨物號等信息對于數(shù)據(jù)分析來說沒有價(jià)值,可以舍棄,保留樣本號、檢測項(xiàng)且號、樣品名、檢測項(xiàng)目名、檢測結(jié)果、衛(wèi)生標(biāo)準(zhǔn)、報(bào)檢時(shí)間、貨物類別等有價(jià)值的信息。
(2)數(shù)據(jù)清洗。食品安全在線檢測項(xiàng)目一般分為兩類,一是病原微生物、有毒有害物,比如各種病原體、生物毒素等,這些檢測項(xiàng)目一旦被識別出就視為陽性,項(xiàng)目的檢測結(jié)果僅有“檢出”和“未檢出”兩種。二是限量類有毒有害物,比如農(nóng)藥殘留、獸藥殘留、食品添加劑等,這些項(xiàng)目的檢測結(jié)果通過具體數(shù)值來表示。傳統(tǒng)的食品安全檢測系統(tǒng)需手動輸入數(shù)據(jù),容易出現(xiàn)數(shù)據(jù)不一致的情況,例如,限量類有毒有害物質(zhì)的檢測結(jié)果數(shù)據(jù)中出現(xiàn)的字符或空白。必須對不夠規(guī)范的食品安全檢測數(shù)據(jù)進(jìn)行清理,刪除錯(cuò)誤的檢測結(jié)果記錄,例如,將“未檢出”等替換為“0”,將“<45”“>3000”等不確定數(shù)值替換為具體數(shù)值。
(3)數(shù)據(jù)離散化。數(shù)據(jù)分析最重要的部分是食品檢測結(jié)果,而基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘需要處理的數(shù)據(jù)類型是離散的,因此必須先對數(shù)值型檢測數(shù)據(jù)進(jìn)行離散化處理。根據(jù)國家標(biāo)準(zhǔn),食品檢測中的很多有害物質(zhì)有明確的限量規(guī)定,可以基于數(shù)據(jù)分布情況,將國家標(biāo)準(zhǔn)規(guī)定的限量以及限量二分之一作為截?cái)帱c(diǎn),將檢測結(jié)果數(shù)據(jù)離散成低風(fēng)險(xiǎn)、中風(fēng)險(xiǎn)、高風(fēng)險(xiǎn)數(shù)據(jù)。
(4)概念屬性劃分。在基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘模式下,數(shù)據(jù)的屬性層次不同。例如,在食品安全檢測層面,可以按季度、月份對食品檢測結(jié)果進(jìn)行分析;在食品類型層面,可以基于某些類別(如牛奶)以及子類(如奶類中的液體奶)進(jìn)行檢測結(jié)果數(shù)據(jù)分析。為了對不同層次的檢測結(jié)果進(jìn)行調(diào)查和分析,就需要對檢測結(jié)果數(shù)據(jù)的多種屬性層次進(jìn)行劃分,可以根據(jù)季度、月份將檢測結(jié)果數(shù)據(jù)分為兩個(gè)層次,可以基于食品類型將檢測結(jié)果數(shù)據(jù)分為多種層次,某食品大類根據(jù)不同的國家衛(wèi)生標(biāo)準(zhǔn)又分為若干小類,比如酒類可以分為五個(gè)小類,每個(gè)小類對應(yīng)不同的檢測項(xiàng)目和衛(wèi)生標(biāo)準(zhǔn)。
(5)平面表構(gòu)建。要進(jìn)行關(guān)聯(lián)挖掘的數(shù)據(jù)是分多個(gè)概念層次的,如果按照常見的多層關(guān)聯(lián)規(guī)則進(jìn)行挖掘,就不得不對數(shù)據(jù)集合進(jìn)行多次掃描,這會導(dǎo)致系統(tǒng)運(yùn)行效率降低。由于數(shù)據(jù)量大,因此,數(shù)據(jù)挖掘需要采用扁平化表結(jié)構(gòu),通過視圖和臨時(shí)表將數(shù)據(jù)的所有屬性組織到一張表中,以提高數(shù)據(jù)挖掘效率。一張典型的平面表應(yīng)該包括樣品名、食品大類、食品子類、產(chǎn)地、報(bào)檢季度、報(bào)檢月份、檢測項(xiàng)目1結(jié)果、檢測項(xiàng)目2結(jié)果。
3.檢測流程自動化系統(tǒng)。在食品安全在線檢測流程自動化方面,該系統(tǒng)主要通過批處理任務(wù)實(shí)現(xiàn),例如,1min后開始檢測等簡單任務(wù),2021年10月31日至2021年11月30日每隔10s運(yùn)行一次com.bdcc.hoffice.user.Dumpuser類,執(zhí)行完首次后再執(zhí)行9次,總計(jì)運(yùn)行10次。復(fù)雜的批處理任務(wù)可以實(shí)現(xiàn)復(fù)雜重復(fù)性檢測任務(wù)的自動化執(zhí)行,例如,每個(gè)星期五下午4:30,每個(gè)月的最后一天自動下載檢測日志、月度報(bào)告,還可以給任務(wù)添加開始、結(jié)束時(shí)間。為了實(shí)現(xiàn)檢測流程的自動化,系統(tǒng)設(shè)計(jì)了JOB類以實(shí)現(xiàn)org.quartz.Job or接口類,可通過execute方法實(shí)現(xiàn)業(yè)務(wù)邏輯。
系統(tǒng)使用行業(yè)通用的表達(dá)式,如CRON_EXPRESSION,該表達(dá)式由6-7個(gè)字段組成,這些字段是由空格分隔的字符串,例如,字母“L”是“l(fā)ast”的縮寫,可用于日、周這兩個(gè)字段的表示,但這兩個(gè)字段的含義不同。該系統(tǒng)用CRON表達(dá)統(tǒng)一描述所有任務(wù)計(jì)劃的定時(shí)控制與實(shí)現(xiàn),該表達(dá)機(jī)制靈活、高效、可靠,允許個(gè)性化修改,可以有效提高整個(gè)系統(tǒng)的靈活性和標(biāo)準(zhǔn)化,并為后續(xù)系統(tǒng)實(shí)施建立了統(tǒng)一、可重用的管理模式。
4.大數(shù)據(jù)智能分析系統(tǒng)?;陉P(guān)聯(lián)規(guī)則的食品安全檢測大數(shù)據(jù)智能分析系統(tǒng),其核心算法采用面向?qū)ο缶幊痰乃枷?。新算法的基本原理是先搜索?shù)據(jù)庫,以臨時(shí)表的形式創(chuàng)建新的數(shù)據(jù)存儲結(jié)構(gòu),并為所有檢測項(xiàng)目創(chuàng)建數(shù)據(jù)表,表中的元素包括檢測項(xiàng)目集合的事務(wù)標(biāo)識,在此基礎(chǔ)上獲得其他頻繁項(xiàng)集。該算法在查找頻繁項(xiàng)集上花費(fèi)的時(shí)間更少,而且能基于歷史數(shù)據(jù)進(jìn)行自主學(xué)習(xí)和優(yōu)化,從而提高系統(tǒng)關(guān)聯(lián)規(guī)則挖掘效率,將頻繁項(xiàng)集視為FrequencySets類的對象。
系統(tǒng)加載數(shù)據(jù)后需要對數(shù)據(jù)進(jìn)行預(yù)處理,主要食品類別映射為C01-C22,子類別映射為CXY。檢查時(shí)間信息,季度映射是Q1-Q4季度,月度映射是M1-M12。原產(chǎn)地信息,根據(jù)國家標(biāo)準(zhǔn)得到映射P1-P125。對于檢測結(jié)果信息,限量類檢測項(xiàng)目的映射為{I1L,I1M,I1H},對應(yīng)低風(fēng)險(xiǎn)、中風(fēng)險(xiǎn)、高風(fēng)險(xiǎn);非限量類檢測項(xiàng)目的映射為{I2T,I2F},對應(yīng)檢出、未檢出?;谏鲜鲇成淇梢缘玫骄唧w食品安全檢測記錄的編碼,例如,樣品001的檢測數(shù)據(jù)編碼為C04,C075,Q3,M7,P21,I1M,I2F。
基于食品安全在線檢測常規(guī)閾值,設(shè)支持度為最小30%,置信度為最低70%。滿足上述條件的的記錄組成頻繁項(xiàng)集1,基于頻繁項(xiàng)集1連接生成候選項(xiàng)集2。為了減少分析數(shù)據(jù)量和計(jì)算時(shí)間,可以優(yōu)化項(xiàng)集,規(guī)定每個(gè)屬性不會鏈接到自己的相似屬性,比如C07、C09不可相連;分層屬性只能直接連接到直屬越層,例如C075、C07可以連接,但C07、C088不能連接,從而達(dá)到精簡初始項(xiàng)集數(shù)量的目的。例如,樣品001的頻繁項(xiàng)集1為C04,基于此達(dá)到的初始項(xiàng)集2為C04Q3,C075P7,C04I1M,C04I1L,C04I2F。對初始項(xiàng)集2中所有項(xiàng)進(jìn)行計(jì)數(shù),基于最小支持度條件獲得頻繁項(xiàng)集2;統(tǒng)計(jì)各項(xiàng)集,基于頻繁項(xiàng)集2連接生成初始項(xiàng)集3;再根據(jù)最小支持度條件得到頻繁項(xiàng)集3,依此類推,直到最后的候選項(xiàng)集生成。針對每一個(gè)頻繁項(xiàng)集2、頻繁項(xiàng)集3、頻繁項(xiàng)集4做置信度檢驗(yàn),生成強(qiáng)規(guī)則。例如,C04Q3→I1M,經(jīng)過編碼解釋得到的規(guī)則如下:
食品類別=奶與奶制品類∧時(shí)間=第三季度=中等風(fēng)險(xiǎn)
基于上述規(guī)則,能夠得到指定時(shí)間范圍、指定食品類別及相關(guān)檢測項(xiàng)目分析結(jié)果,按照檢測結(jié)果可以評估食品在指定時(shí)間范圍內(nèi)的具體檢測項(xiàng)目的基本安全情況,從而明確安全風(fēng)險(xiǎn)。如果發(fā)生食品安全事故,就能及時(shí)提取食品的主要危害特征,包括食品的原產(chǎn)地、食品原料、銷售區(qū)域、進(jìn)出口批次、生產(chǎn)商等,從而做出及時(shí)有效的安全預(yù)警和管控。
5.智能監(jiān)測與預(yù)警系統(tǒng)。該系統(tǒng)中的異常分為兩大類:checked異常和unchecked異常。當(dāng)系統(tǒng)調(diào)用可能出現(xiàn)checked異常的方法,必須通過try_catch塊定位異常,進(jìn)行處理或重新拋出。系統(tǒng)中如果存在致命異常或者捕獲該異常無任何益處,則可以使用unchecked異常;如異??苫謴?fù)、可被正確處理,則使用checked異常。使用unchecked異常時(shí),需要在方法聲明中聲明該方法也許會拋出的unchecked異常,由調(diào)用者決定是否捕獲異常。
三、系統(tǒng)運(yùn)行環(huán)境分析
該系統(tǒng)部署的硬件主要包括檢測中心服務(wù)器、監(jiān)測中心服務(wù)器、數(shù)據(jù)庫服務(wù)器,軟件環(huán)境主要包括服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫、開發(fā)工具及配置管理工具。
作者簡介:艾亮東(1975-),男,漢族,湖南平江人,碩士研究生,副高級工程師,研究方向?yàn)槭称钒踩芸嘏c組織管理。
艾滔(1999-),男,漢族,湖南平江人,本科在讀,研究方向?yàn)橹悄苡布诤?、智能硬件云平臺架構(gòu)、RFID智能硬件。