APP下载

食品安全在线智能化检测关键技术的研究

2022-03-09艾亮东艾滔

中国食品 2022年5期
关键词:样本数据库规则

艾亮东 艾滔

本文从在线食品安全检测的实际需求入手,根据现有行业数据、标准操作流程,结合物联网、大数据、人工智能等技术,探索设计食品安全在线智能化检测系统,旨在有效提升食品安全检测效率,确保食品安全。

一、智慧检测流程介绍

1.食品采样。食品采样是指从食品市场中随机抽取各类食物作为样品进行检测。当前有两大难题亟待解决:一是如何在多个地区,科学合理地规划取样位置,全面准确地记录样品特性;二是如何确保在发生食品安全事故时,系统能够迅速做出识别、预警、送检的反应,及时解决问题。人工采样存在低效、易失误等不足,无法保证检测工作的可靠和高效,为此,笔者探索了一套能够实现任务管理、电子化采样、智能化检测、不合格品处置的智慧快检全流程,其底层技术建立在工作流、地理信息系统、智能移动设备、云平台的基础之上。

2.智慧快检流程。(1)任务管理模块。任务管理模块旨在让食品安全检测任务的下达变得更为清晰、准确、细致,让反馈更为及时。监管者可通过智慧快检平台进入任务管理模块,下达检测任务,并明确任务类型、任务内容、任务时间、检测人员等信息,一键派发任务,实时动态更新任务执行情况。

(2)电子化采样模块。传统的人工采样容易因误操作和疏忽使得检测结果不准确,而电子化采样采用了自动编码采集样本、自动定位采样地址、现场拍照,实现了信息同步传输和采样过程可追踪,使采样的真实性得到保障。

(3)智能化检测模块与数据分析。数据分析是指对采集的样本数据进行分析、计算、挖掘等操作,但各级食品安全检测机构还是以人工分析检测为主,智能化水平低,检测效率不高,数据分析能力不足,基于智能技术的检测数据分析则针对性地解决了这三大痛点:通过自动采样获得样本数据的特征,并将样本检测结果作为基础输入数据,对此进行分析、计算、挖掘,然后通过规则匹配等环节提取其中的价值,最终实现预警的功能。值得一提的是,在整个数据分析过程中,系统会通过历史数据的积累,实现分析算法的自主学习,从而不断提高数据分析的效率和准确性。具体来说,在线检测的功能需求主要包括以下四个方面:一是临时数据存储。从不同的数据源和不同类型的数据样本中收集测试数据,并将其临时存储在专门的数据库中,以便进行数据过滤和清洗。二是食品安全法律法规数据库。数据建模需要在相关法律法规框架内进行,并与整个食品分析系统的验证规则相匹配。三是数据过滤。主要基于规则库中的规则过滤检测数据,对样本数据进行一致化处理。四是数据分析。基于规则库的规则分析检测数据,对食品安全规则数据库中的原始数据进行数据建模、集成、过滤、缓存和多元分析,并利用计算机的强大计算能力,预测样本特征、关键风险点、消费群体以及变化趋势。

(4)不合格品处置模块。当自动采样、智能化检测、数据分析等动作完成后,系统将会对样品的安全性做出判定,不合格品的数据将会上传至智慧快检云平台。管理者、检测者、消费者可使用二维码溯源样本来源,对不合格食品启动无害化销毁处理,确保有害食品无法流入市场。

3.檢测报告生成与发布。检测标准报告由各种测试数据、执行任务计划、输出结果处理过程汇总之后形成,主要作用是向管理者、检测者、消费者公布食品安全检测结果,以便形成三向监督。当检测报告发布后,市场食品安全检测信息公示区将实时更新快检结果,消费者通过手机扫码即可自助查询食品安全信息。由于在线智能检测的需求,整个检测报告的生成与发布不仅要高度自动化,还需要融入相关数据分析模块,以下是检测报告模型建立、发布的解决方案:一是数据提取。根据报告内容提取经过分析处理后的测试结果数据,按照检测报告标准生成检测报告。二是报表设计。基于特定的报表输出格式预定义、格式化报表。三是报表类型管理。主要负责检测报表类型的添加、删除、修改和查看。四是报告任务调度。基于实际需要进行食品检测报告生成、输出、发布任务的调度,包括优先级排序、发布时间设置等。五是报表输出。按照指定的格式、类型和时间生成测试结果报表。六是报表保存。归档系统生成的食品检测报告,方便随时检索查阅。七是报表扩展。不同地区和组织对食品检测报告类型有不同的要求,因此需要为食品检测报告提供扩展接口,方便用户重新开发和定制检测报告,以满足其个性化需求。

二、系统技术分析

1.系统架构设计。食品安全在线智能化检测系统同时采用C/S、B/S模式,其基本架构如图1所示,整个系统分为三层:表示层、逻辑层、存储层。系统的主要业务逻辑封装在逻辑层,包括主要业务组件和其他公共服务,比如缓存、多语言处理、异常处理、日志记录和检索服务组件;数据库服务器存储和管理系统数据与地理信息数据库配合使用;表示层则用于呈现系统检测结果,主要包括数据源分析系统、检测流程自动化系统、大数据智能分析系统、智能监测与预警系统等子系统。

图1:食品安全在线智能化检测系统架构

2.数据源分析系统。食品样本检测数据通过网络从各地的食品检测中心导入。在实际生活中,食品检测数据库中包含了大量不完整、不一致、包含噪声的数据,为了实现数据分析和挖掘效率的提升,就需要采用更加高效的数据源分析方法。数据源分析的主要工作包括源头数据的选取、清洗、离散化以及概念层次划分,经过源头分析的数据可以直接作为下一步关联规则挖掘的基础数据。

(1)数据选取。日常的食品安全检查并不会测试所有批次的食品,同批次的食品也是采取抽检方式,而且同一食品也不会检测所有的有毒有害成分,这就需要进行合理的数据选取。检验数据库是专门为OLAP(联机事务处理)开发的,在申请检测阶段,由申请人录入生成货物质量信息表,主键为报检编号,每条数据记录都包含待检验货物的信息。抽样信息表是在采样过程中以样本编号为主键生成并输入的,每条数据记录都包含要测试的样本信息,该表将检测项目信息表、货物信息表联系起来。检测项目信息表以样品号为主键,每条记录包含一个样品的某个项目检测信息。

挖掘样本数据离不开货物样本检测结果、货物种类、货物申请检测时间、货物产地以及其他项目检测结果之间的关联规则。但在实际数据库中,部分信息没有价值,有价值的信息却零散分布,给数据分析带来困难,因此必须将这些信息形成数据库视图。例如,报检号、货物号等信息对于数据分析来说没有价值,可以舍弃,保留样本号、检测项且号、样品名、检测项目名、检测结果、卫生标准、报检时间、货物类别等有价值的信息。

(2)数据清洗。食品安全在线检测项目一般分为两类,一是病原微生物、有毒有害物,比如各种病原体、生物毒素等,这些检测项目一旦被识别出就视为阳性,项目的检测结果仅有“检出”和“未检出”两种。二是限量类有毒有害物,比如农药残留、兽药残留、食品添加剂等,这些项目的检测结果通过具体数值来表示。传统的食品安全检测系统需手动输入数据,容易出现数据不一致的情况,例如,限量类有毒有害物质的检测结果数据中出现的字符或空白。必须对不够规范的食品安全检测数据进行清理,删除错误的检测结果记录,例如,将“未检出”等替换为“0”,将“<45”“>3000”等不确定数值替换为具体数值。

(3)数据离散化。数据分析最重要的部分是食品检测结果,而基于关联规则的数据挖掘需要处理的数据类型是离散的,因此必须先对数值型检测数据进行离散化处理。根据国家标准,食品检测中的很多有害物质有明确的限量规定,可以基于数据分布情况,将国家标准规定的限量以及限量二分之一作为截断点,将检测结果数据离散成低风险、中风险、高风险数据。

(4)概念属性划分。在基于关联规则的数据挖掘模式下,数据的属性层次不同。例如,在食品安全检测层面,可以按季度、月份对食品检测结果进行分析;在食品类型层面,可以基于某些类别(如牛奶)以及子类(如奶类中的液体奶)进行检测结果数据分析。为了对不同层次的检测结果进行调查和分析,就需要对检测结果数据的多种属性层次进行划分,可以根据季度、月份将检测结果数据分为两个层次,可以基于食品类型将检测结果数据分为多种层次,某食品大类根据不同的国家卫生标准又分为若干小类,比如酒类可以分为五个小类,每个小类对应不同的检测项目和卫生标准。

(5)平面表构建。要进行关联挖掘的数据是分多个概念层次的,如果按照常见的多层关联规则进行挖掘,就不得不对数据集合进行多次扫描,这会导致系统运行效率降低。由于数据量大,因此,数据挖掘需要采用扁平化表结构,通过视图和临时表将数据的所有属性组织到一张表中,以提高数据挖掘效率。一张典型的平面表应该包括样品名、食品大类、食品子类、产地、报检季度、报检月份、检测项目1结果、检测项目2结果。

3.检测流程自动化系统。在食品安全在线检测流程自动化方面,该系统主要通过批处理任务实现,例如,1min后开始检测等简单任务,2021年10月31日至2021年11月30日每隔10s运行一次com.bdcc.hoffice.user.Dumpuser类,执行完首次后再执行9次,总计运行10次。复杂的批处理任务可以实现复杂重复性检测任务的自动化执行,例如,每个星期五下午4:30,每个月的最后一天自动下载检测日志、月度报告,还可以给任务添加开始、结束时间。为了实现检测流程的自动化,系统设计了JOB类以实现org.quartz.Job or接口类,可通过execute方法实现业务逻辑。

系统使用行业通用的表达式,如CRON_EXPRESSION,该表达式由6-7个字段组成,这些字段是由空格分隔的字符串,例如,字母“L”是“last”的缩写,可用于日、周这两个字段的表示,但这两个字段的含义不同。该系统用CRON表达统一描述所有任务计划的定时控制与实现,该表达机制灵活、高效、可靠,允许个性化修改,可以有效提高整个系统的灵活性和标准化,并为后续系统实施建立了统一、可重用的管理模式。

4.大数据智能分析系统。基于关联规则的食品安全检测大数据智能分析系统,其核心算法采用面向对象编程的思想。新算法的基本原理是先搜索数据库,以临时表的形式创建新的数据存储结构,并为所有检测项目创建数据表,表中的元素包括检测项目集合的事务标识,在此基础上获得其他频繁项集。该算法在查找频繁项集上花费的时间更少,而且能基于历史数据进行自主学习和优化,从而提高系统关联规则挖掘效率,将频繁项集视为FrequencySets类的对象。

系统加载数据后需要对数据进行预处理,主要食品类别映射为C01-C22,子类别映射为CXY。检查时间信息,季度映射是Q1-Q4季度,月度映射是M1-M12。原产地信息,根据国家标准得到映射P1-P125。对于检测结果信息,限量类检测项目的映射为{I1L,I1M,I1H},对应低风险、中风险、高风险;非限量类检测项目的映射为{I2T,I2F},对应检出、未检出。基于上述映射可以得到具体食品安全检测记录的编码,例如,样品001的检测数据编码为C04,C075,Q3,M7,P21,I1M,I2F。

基于食品安全在线检测常规阈值,设支持度为最小30%,置信度为最低70%。满足上述条件的的记录组成频繁项集1,基于频繁项集1连接生成候选项集2。为了减少分析数据量和计算时间,可以优化项集,规定每个属性不会链接到自己的相似属性,比如C07、C09不可相连;分层属性只能直接连接到直属越层,例如C075、C07可以连接,但C07、C088不能连接,从而达到精简初始项集数量的目的。例如,样品001的频繁项集1为C04,基于此达到的初始项集2为C04Q3,C075P7,C04I1M,C04I1L,C04I2F。对初始项集2中所有项进行计数,基于最小支持度条件获得频繁项集2;统计各项集,基于频繁项集2连接生成初始项集3;再根据最小支持度条件得到频繁项集3,依此类推,直到最后的候选项集生成。针对每一个频繁项集2、频繁项集3、频繁项集4做置信度检验,生成强规则。例如,C04Q3→I1M,经过编码解释得到的规则如下:

食品类别=奶与奶制品类∧时间=第三季度=中等风险

基于上述规则,能够得到指定时间范围、指定食品类别及相关检测项目分析结果,按照检测结果可以评估食品在指定时间范围内的具体检测项目的基本安全情况,从而明确安全风险。如果发生食品安全事故,就能及时提取食品的主要危害特征,包括食品的原产地、食品原料、销售区域、进出口批次、生产商等,从而做出及时有效的安全预警和管控。

5.智能监测与预警系统。该系统中的异常分为两大类:checked异常和unchecked异常。當系统调用可能出现checked异常的方法,必须通过try_catch块定位异常,进行处理或重新抛出。系统中如果存在致命异常或者捕获该异常无任何益处,则可以使用unchecked异常;如异常可恢复、可被正确处理,则使用checked异常。使用unchecked异常时,需要在方法声明中声明该方法也许会抛出的unchecked异常,由调用者决定是否捕获异常。

三、系统运行环境分析

该系统部署的硬件主要包括检测中心服务器、监测中心服务器、数据库服务器,软件环境主要包括服务器操作系统、数据库、开发工具及配置管理工具。

作者简介:艾亮东(1975-),男,汉族,湖南平江人,硕士研究生,副高级工程师,研究方向为食品安全管控与组织管理。

艾滔(1999-),男,汉族,湖南平江人,本科在读,研究方向为智能硬件融合、智能硬件云平台架构、RFID智能硬件。

猜你喜欢

样本数据库规则
撑竿跳规则的制定
让规则不规则
直击高考中的用样本估计总体
不如吃茶去
数据库
随机微分方程的样本Lyapunov二次型估计
采用C—NCAP 2006年版管理规则
数据库
数据库
数据库