1.本发明涉及人工智能领域,尤其涉及一种食品安全检测方法、装置、设备及存储介质。
背景技术:2.食品安全是当前人们普遍关注的重要问题,食品品种复杂多样,而影响食品安全的因素则更多,例如天气情况、微生物、重金属等。为了科学有效地反映食品质量情况,通过深度学习等方法来预测出存在较大安全隐患可能性的食品品种,从而对其进行抽检。
3.现有食品安全检测方法,检测结果的准确性较低,原因在于该方法采用了较为简单且离散的特征对深度学习模型进行训练,模型的泛化能力较弱,导致预测结果不准确,从而影响抽样检测的准确性。
技术实现要素:4.本发明的主要目的在于解决由现有食品安全检测方案准确性低的问题。
5.本发明第一方面提供了一种食品安全检测方法,包括:
6.获取预设的食品安全数据,并基于所述食品安全数据,构建训练数据集和预测数据集,其中,所述食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
7.分别对所述训练数据集和所述预测数据集进行预处理,得到训练样本集和预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集;
8.基于所述离散型训练样本集和所述连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算所述训练样本集中的每种食品类型为不合格食品的概率值;
9.调用所述不合格食品的预测模型,对所述离散型预测样本集和所述连续型预测样本集进行处理,得到所述预测样本集中的每种食品类型为不合格食品的概率值,并输出所述概率值大于预置阈值的目标食品类型;
10.获取所述目标食品类型的实际检测参数和所述目标食品类型的预置安全标准参数范围,若所述目标食品类型的实际检测参数在所述目标食品类型的预置安全标准参数范围内,则确定所述目标食品类型安全。
11.可选的,在本发明第一方面的第一种实现方式中,所述获取预设的食品安全数据,并基于所述食品安全数据,构建食品安全数据集包括:
12.获取预设的食品安全数据,并根据所述食品安全数据的生成时间,将所述食品安全数据划分为当月的食品安全数据和历史的食品安全数据;
13.根据所述历史的食品安全数据,构建训练数据集,以及根据所述当月的食品安全数据,构建预测数据集。
14.可选的,在本发明第一方面的第二种实现方式中,所述分别对所述训练数据集和所述预测数据集进行预处理,得到训练样本集和预测样本集包括:
15.基于预置的数据标注工具,以及根据所述训练数据集中的食品抽检结果数据,对所述训练数据集进行数据标注,得到目标训练数据集,其中,所述目标训练数据集中包括用于表示食品抽检结果的数据标签;
16.将所述目标训练数据集中的数据和所述预测数据集中的数据按照数据特征类型进行数据分类,其中,所述数据特征类型包括离散型和连续型;
17.对分类后得到的每一类数据进行数值化处理,得到多个离散型训练样本、多个连续型训练样本、多个离散型预测样本以及多个连续型预测样本;
18.根据所述离散型训练样本和所述连续型训练样本,构建训练样本集,以及根据所述离散型预测样本和所述连续型预测样本,构建预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集。
19.可选的,在本发明第一方面的第三种实现方式中,所述基于所述离散型训练样本集和所述连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型包括:
20.调用所述预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
21.调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布,其中,所述隐藏层网络包括深度神经网络和因子分解网络,所述多分类概率分布用于表示所述训练样本集中的每种食品类型为不合格食品的概率值;
22.基于预设的损失函数和所述数据标签,计算所述多分类概率分布对应的损失值;
23.根据所述多分类概率分布对应的损失值,调整所述预测模型的网络参数,得到不合格食品的预测模型。
24.可选的,在本发明第一方面的第四种实现方式中,在所述调用所述预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量之后,在所述调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布之前,还包括:
25.调用所述预测模型中的嵌入层网络,对所述离散特征向量和所述连续特征向量进行降维处理,得到低维且稠密的离散特征向量和低维且稠密的连续特征向量。
26.可选的,在本发明第一方面的第五种实现方式中,所述调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布包括:
27.调用所述因子分解网络,对所述离散特征向量进行特征交叉,得到所述离散特征向量对应的交叉向量,其中,所述交叉向量用于表示所述离散特征向量之间的关联关系;
28.调用所述深度神经网络,对所述连续特征向量进行非线性激活,得到所述连续型
训练样本对应的目标连续特征向量;
29.调用所述输出层网络中的多分类器,分别对所述交叉向量和所述目标连续特征向量进行平均,并对平均后的交叉向量和平均后的目标连续特征向量归一化处理,得到一个多分类概率分布。
30.可选的,在本发明第一方面的第六种实现方式中,所述根据所述多分类概率分布对应的损失值,调整所述预测模型的网络参数,得到不合格食品的预测模型包括:
31.将所述多分类概率分布对应的损失值输入至所述预测模型中;
32.根据所述多分类概率分布对应的损失值,并基于随机梯度下降算法,对所述预测模型的网络参数进行迭代更新,直至所述预测模型收敛;
33.当所述预测模型收敛时,确定当前所述预测模型的网络参数为目标参数,得到不合格食品的预测模型。
34.本发明第二方面提供了一种食品安全检测装置,包括:
35.数据集构建模块,用于获取预设的食品安全数据,并基于所述食品安全数据,构建训练数据集和预测数据集,其中,所述食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
36.数据预处理模块,用于分别对所述训练数据集和所述预测数据集进行预处理,得到训练样本集和预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集;
37.模型训练模块,用于基于所述离散型训练样本集和所述连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算所述训练样本集中的每种食品类型为不合格食品的概率值;
38.模型预测模块,用于调用所述不合格食品的预测模型,对所述离散型预测样本集和所述连续型预测样本集进行处理,得到所述预测样本集中的每种食品类型为不合格食品的概率值,并输出所述概率值大于预置阈值的目标食品类型;
39.食品安全检测模块,用于获取所述目标食品类型的实际检测参数和所述目标食品类型的预置安全标准参数范围,若所述目标食品类型的实际检测参数在所述目标食品类型的预置安全标准参数范围内,则确定所述目标食品类型安全。
40.可选的,在本发明第二方面的第一种实现方式中,所述数据集构建模块具体包括:
41.划分单元,用于获取预设的食品安全数据,并根据所述食品安全数据的生成时间,将所述食品安全数据划分为当月的食品安全数据和历史的食品安全数据;
42.第一构建单元,用于根据所述历史的食品安全数据,构建训练数据集,以及根据所述当月的食品安全数据,构建预测数据集。
43.可选的,在本发明第二方面的第二种实现方式中,所述数据预处理模块具体包括:
44.标注单元,用于基于预置的数据标注工具,以及根据所述训练数据集中的食品抽检结果数据,对所述训练数据集进行数据标注,得到目标训练数据集,其中,所述目标训练数据集中包括用于表示食品抽检结果的数据标签;
45.分类单元,用于将所述目标训练数据集中的数据和所述预测数据集中的数据按照数据特征类型进行数据分类,其中,所述数据特征类型包括离散型和连续型;
46.数值化单元,用于对分类后得到的每一类数据进行数值化处理,得到多个离散型
训练样本、多个连续型训练样本、多个离散型预测样本以及多个连续型预测样本;
47.第二构建单元,用于根据所述离散型训练样本和所述连续型训练样本,构建训练样本集,以及根据所述离散型预测样本和所述连续型预测样本,构建预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集。
48.可选的,在本发明第二方面的第三种实现方式中,所述模型训练模块具体包括:
49.编码单元,用于调用所述预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
50.预测单元,用于调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布,其中,所述隐藏层网络包括深度神经网络和因子分解网络,所述多分类概率分布用于表示所述训练样本集中的每种食品类型为不合格食品的概率值;
51.计算单元,用于基于预设的损失函数和所述数据标签,计算所述多分类概率分布对应的损失值;
52.微调单元,用于根据所述多分类概率分布对应的损失值,调整所述预测模型的网络参数,得到不合格食品的预测模型。
53.可选的,在本发明第二方面的第四种实现方式中,所述模型训练模块用于:
54.编码单元,用于调用所述预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
55.降维单元,用于调用所述预测模型中的嵌入层网络,对所述离散特征向量和所述连续特征向量进行降维处理,得到低维且稠密的离散特征向量和低维且稠密的连续特征向量;
56.预测单元,用于调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布,其中,所述隐藏层网络包括深度神经网络和因子分解网络,所述多分类概率分布用于表示所述训练样本集中的每种食品类型为不合格食品的概率值;
57.计算单元,用于基于预设的损失函数和所述数据标签,计算所述多分类概率分布对应的损失值;
58.微调单元,用于根据所述多分类概率分布对应的损失值,调整所述预测模型的网络参数,得到不合格食品的预测模型。
59.可选的,在本发明第二方面的第五种实现方式中,所述预测单元具体用于:
60.调用所述因子分解网络,对所述离散特征向量进行特征交叉,得到所述离散特征向量对应的交叉向量,其中,所述交叉向量用于表示所述离散特征向量之间的关联关系;
61.调用所述深度神经网络,对所述连续特征向量进行非线性激活,得到所述连续型训练样本对应的目标连续特征向量;
62.调用所述输出层网络中的多分类器,分别对所述交叉向量和所述目标连续特征向量进行平均,并对平均后的交叉向量和平均后的目标连续特征向量归一化处理,得到一个
多分类概率分布。
63.可选的,在本发明第二方面的第六种实现方式中,所述微调单元具体用于:
64.将所述多分类概率分布对应的损失值输入至所述预测模型中;
65.根据所述多分类概率分布对应的损失值,并基于随机梯度下降算法,对所述预测模型的网络参数进行迭代更新,直至所述预测模型收敛;
66.当所述预测模型收敛时,确定当前所述预测模型的网络参数为目标参数,得到不合格食品的预测模型。
67.本发明第三方面提供了一种食品安全检测设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述食品安全检测设备执行上述的食品安全检测方法。
68.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的食品安全检测方法。
69.本发明提供的技术方案中,首先通过获取食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据,构建训练数据集和预测数据集;其次对训练数据集和预测数据集进行预处理,从而得到预测模型能够识别的训练样本集和预测样本集,其中,训练样本集包括离散型训练样本集和连续型训练样本集,预测样本集包括离散型预测样本集和连续型预测样本集;然后,基于训练样本集,对预置的预测模型进行不合格食品的预测训练,得到对应的预测模型;最后,调用该模型处理预测样本集,从而得到预测样本集中每种食品类型为不合格食品的概率,最后将概率值大于预设阈值的食品类型输出,并对其进行食品安全检测。本发明通过将数据分为离散型和连续型,从而建立不同数据特征之间的强关联关系,然后利用模型去学习这种数据特征之间强关联关系,并预测每种食品为不合格食品的概率值,从而提升模型预测的准确性,进而提升食品安全检测的准确性。
附图说明
70.图1为本发明实施例中食品安全检测方法的第一个实施例示意图;
71.图2为本发明实施例中食品安全检测方法的第二个实施例示意图;
72.图3为本发明实施例中食品安全检测方法的第三个实施例示意图;
73.图4为本发明实施例中食品安全检测方法的第四个实施例示意图;
74.图5为本发明实施例中食品安全检测装置的一个实施例示意图;
75.图6为本发明实施例中食品安全检测装置的另一个实施例示意图;
76.图7为本发明实施例中食品安全检测设备的一个实施例示意图。
具体实施方式
77.本发明实施例提供了一种食品安全检测方法、装置、设备及存储介质,检测更加准确。
78.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不
排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
79.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中食品安全检测方法的一个实施例包括:
80.101、获取预设的食品安全数据,并基于食品安全数据,构建训练数据集和预测数据集,其中,食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
81.应当理解的是,食品安全数据即与食品安全相关的数据,具体哪些类型的数据与食品安全相关,本实施例中采用了预设的食品安全数据模型,该数据模型中定义了“食品抽检数据”、“天气数据”、“与食品安全相关的舆情数据”、“与食品安全相关的国际预警数据”这四种类型的数据,由人工预先对其进行采集。这些数据都可以按照时间维度被划分为两个部分,即历史数据和当月数据。其中,服务器基于历史数据构建该训练数据集,该训练数据集被用于模型(不合格食品的预测模型)的训练,其时间跨度可灵活配置,例如设定时间跨度为两年,则以当前时间点为起点,过去的两年内产生的数据皆可被定义为该历史数据;而服务器基于当月数据构建该预测数据集,该预测数据集被用于预测下个月的不合格食品,值得一提的是,天气数据对应当月数据应为下个月对应的天气预测状况。
82.该服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
83.具体的,该食品抽检数据包括食品的名称、大类、亚类、品种、抽检城市、抽检区域、抽检日期、抽检项目;该天气数据包括时间、城市、地区、最高气温、最低气温、天气情况(晴、中雨、多云、小雨ˉ暴雨等);食品安全相关的舆情数据即与食品安全相关的新闻报道;国际预警数据来自于国际认证的信息发布平台发布的预警信息。
84.102、分别对训练数据集和预测数据集进行预处理,得到训练样本集和预测样本集,其中,训练样本集包括离散型训练样本集和连续型训练样本集,预测样本集包括离散型预测样本集和连续型预测样本集;
85.具体的,服务器首先基于数据标注工具(例如doccano),并根据训练数据集中的食品抽检结果,对训练数据集进行数据标注,数据的标注内容为食品抽检结果,例如用数字“0”表示食品抽检结果为不合格,用数字“1”表示食品抽检结果为合格,从而生成不同食品类型数据对应的标签。在模型(不合格食品的预测模型)的微调阶段,可依赖该标签比对预测结果,从而调整模型的网络参数以减少预测误差,提高预测的准确性;
86.其次,服务器将数据标注后的训练数据集中的数据和预测数据集中的数据,按照预设的数据特征类型(即预设的食品安全数据模型中定义的数据特征类型)进行数据分类,该数据特征类型包括离散型和连续型;然后,服务器对分类后得到的每一类数据进行数值化处理,得到离散型训练样本、连续型训练样本、离散型预测样本以及连续型预测样本;最后,服务器根据离散型训练样本、连续型训练样本、离散型预测样本以及连续型预测样本,依次构建离散型训练样本集、连续型训练样本集、离散型预测样本集以及连续型预测样本集。
87.在本实施例中,与食品安全相关离散单值型数据包括食品名称、城市、区域、食品大类、食品亚类、食品品种、食品相关的舆情数据;离散多值型数据包括食品的抽检项目、天气数据,连续型数据包括抽检日期、最高气温、最低气温、当月食品相关舆情文章数、当月食品相关国际预警文章数、食品同期抽检不合格率、食品最近三月抽检不合格率、食品受高温影响的概率。
88.103、基于离散型训练样本集和连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算训练样本集中的每种食品类型为不合格食品的概率值;
89.应当理解的是,在本实施例中,该预测模型采用深度因子分解机模型(deep factorization machines,deepfm),该模型主要由因子分解机(factorization machines,fm)和深度神经网络(deep neural networks,dnn)两部分组成,其中dnn网络作为该预测模型的主干网络,fm网络作为辅助网络,两者共享同样的输入层,从而同时学习低阶和高阶的特征交叉过程。
90.具体的,服务器调用输入层中的多层翻译网络,对每个离散型训练样本(离散型训练样本集中的样本数据),以及每个连续型训练样本(连续型训练样本集中的样本数据)进行编码,得到离散型训练样本的向量表示(即离散特征向量),以及连续型训练样本的向量表示(即连续特征向量),并通过dnn网络对连续特征向量进行非线性激活,以提取目标连续特征向量,并利用fm网络对离散特征向量进行特征交叉,以提取离散特征之间的关联关系,最后将目标连续特征向量和交叉向量输入至模型的输出层网络(全连接网络)中,基于一个多分类器,对两者平均后,并进行归一化处理,从而将其映射到(0,1)数值区间内,即一个多分类的概率值分布。
91.进一步的,服务器根据预设的损失函数来计算该多分类的概率值分布对应的损失结果(即预测结果与数据集中数据标定的结果之间的误差),以及根据该损失结果来调整模型的网络参数,从而让模型实现最优效果,提升预测的准确性。
92.104、调用不合格食品的预测模型,对离散型预测样本集和连续型预测样本集进行处理,得到预测样本集中的每种食品类型为不合格食品的概率值,并输出概率值大于预置阈值的目标食品类型;
93.本技术实施例可以基于人工智能技术对预测可能存在食品安全隐患的食品安全类型。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
94.可以理解的是,服务器调用该不合格食品的预测模型,对预测数据集(离散型预测样本集和连续型预测样本集)进行处理,从而得到下个月中各种食品为不合格食品的概率分布,若该概率分布中的概率值大于预设的阈值,则将该概率值对应的食品名称输出,例如,概率分布为[食品a:0.6,食品b:0.3,食品c:0.35,食品d:0.55],预设的阈值为0.5,则将食品a和食品d作为目标食品类型输出。
[0095]
105、获取目标食品类型的实际检测参数和目标食品类型的预置安全标准参数范围,若目标食品类型的实际检测参数在目标食品类型的预置安全标准参数范围内,则确定目标食品类型安全。
[0096]
可以理解的是,服务器通过预测模型预测下个月的食品中存在较大食品安全隐患的食品类型,将其作为重点的安全检测对象,对其进行安全检测。具体的,该实际检测参数中包括化学组成成分及其含量(例如酸价、酸度、氧化值、过氧化值等等)、重金属成分及其含量、食品添加剂成分及其含量、农药残留量等,而安全标准参数范围为世界卫生组织发布的该目标食品类型对应的标准参数范围,只有所有的检测参数完全符合该标准参数范围的食品才可被认定为安全食品。
[0097]
本实施例中,本发明通过将数据分为离散型和连续型,从而建立不同数据特征之间的强关联关系,然后利用模型去学习这种数据特征之间强关联关系,并预测每种食品为不合格食品的概率值,从而提升模型预测的准确性,进而提升食品安全检测的准确性。
[0098]
参阅图2,本发明实施例中食品安全检测方法的第二个实施例包括:
[0099]
201、获取预设的食品安全数据,并基于食品安全数据,构建训练数据集和预测数据集,其中,食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
[0100]
其中,步骤201与上述步骤101的执行步骤类似,具体此处不再赘述。
[0101]
202、基于预置的数据标注工具,以及根据训练数据集中的食品抽检结果数据,对训练数据集进行数据标注,得到目标训练数据集,其中,目标训练数据集中包括用于表示食品抽检结果的数据标签;
[0102]
可以理解的是,服务器基于预置的数据标注工具(如doccano、labelme),对训练数据集中的数据进行标注,其标注内容为该训练数据集中的食品抽检结果,食品抽检结果包括合格与不合格,为了便于机器识别,分别用数值“0”代表抽检结果为不合格,以及用数值“1”代表抽检结果为合格。
[0103]
203、将目标训练数据集中的数据和预测数据集中的数据按照数据特征类型进行数据分类,其中,数据特征类型包括离散型和连续型;
[0104]
应当理解的是,服务器对数据标注后的训练数据集以及预测数据集进行数据分类,其分类的标准为离散型数据(具体还可细分为离散单值型数据和离散多值型数据)和连续型数据,这两个标准为预设的食品安全数据模型中所定义的,能够体现数据之间的强关联关系。
[0105]
204、对分类后得到的每一类数据进行数值化处理,得到多个离散型训练样本、多个连续型训练样本、多个离散型预测样本以及多个连续型预测样本;
[0106]
应当理解的是,服务器将分类后得到的每一类数据进行数值化处理,即将文本型数据转换为模型能够识别的数值型数据,得到多个离散型训练样本、多个连续型训练样本、多个离散型预测样本以及多个连续型预测样本,具体的,例如服务器调用word2vec模型来处理食品名称信息(离散型数据),从而获取食品名称对应的词向量表示,该词向量表示为一个高维向量,包含了过多的数据特征,会影响模型对其计算处理的速度,因此服务器还通过主成分分析法(principal component analysis,pca)对该词向量进行降维处理,从而保留原向量表示的主要特征,并降低了原词向量的维度。
[0107]
值得一提的是,对于离散型数据中的食品安全相关的舆情数据而言,服务器通过情感分析方法来获取该舆情数据的情感分类,并通过数值来表示它们,例如数值“0”和数值“1”,其中,“0”表示正面情感,“1”表示负面情感。对于离散型数据中的其他文本数据(非食
品名称且非食品安全相关的舆情数据)而言,服务器可通过标签编码器(labelencoder)将文本转成数值,例如深圳市转成21759,北京市转成47121。
[0108]
205、根据离散型训练样本和连续型训练样本,构建训练样本集,以及根据离散型预测样本和连续型预测样本,构建预测样本集,其中,训练样本集包括离散型训练样本集和连续型训练样本集,预测样本集包括离散型预测样本集和连续型预测样本集;
[0109]
可以理解的是,服务器基于该离散型训练样本和该连续型训练样本,构建用于模型训练的训练样本集(离散型训练样本集和连续型训练样本集),以及基于该离散型预测样本和该连续型预测样本,构建用于预测的预测样本集(离散型预测样本集和连续型预测样本集)。
[0110]
206、基于离散型训练样本集和连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算训练样本集中的每种食品类型为不合格食品的概率值;
[0111]
207、调用不合格食品的预测模型,对离散型预测样本集和连续型预测样本集进行处理,得到预测样本集中的每种食品类型为不合格食品的概率值,并输出概率值大于预置阈值的目标食品类型;
[0112]
208、获取目标食品类型的实际检测参数和目标食品类型的预置安全标准参数范围,若目标食品类型的实际检测参数在目标食品类型的预置安全标准参数范围内,则确定目标食品类型安全。
[0113]
其中,步骤206
‑
208与上述步骤103
‑
105的执行步骤类似,具体此处不再赘述。
[0114]
本实施例中,详细描述了预处理的过程,通过数据标注,便于对模型的预测结果进行评估,通过数据分类,从而建立数据间的强关联关系,通过数值化处理,便于模型识别数据,从而进一步处理。
[0115]
参阅图3,本发明实施例中食品安全检测方法的第三个实施例包括:
[0116]
301、获取预设的食品安全数据,并基于食品安全数据,构建训练数据集和预测数据集,其中,食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
[0117]
302、分别对训练数据集和预测数据集进行预处理,得到训练样本集和预测样本集,其中,训练样本集包括离散型训练样本集和连续型训练样本集,预测样本集包括离散型预测样本集和连续型预测样本集,离散型训练样本集中包括多个离散型训练样本,连续型训练样本集中包括多个连续型训练样本;
[0118]
其中,步骤301
‑
302与上述步骤101
‑
102的执行步骤类似,具体此处不再赘述。
[0119]
303、调用预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
[0120]
可以理解的是,该多层翻译网络(transformer)在预测模型的输入层中,由编码器(encoder)和解码器(decoder)组成,分别用于编码和解码,服务器将数据输入该预测模型的输入层,并调用输入层中的transformer网络,对样本数据进行快速编码(包括字嵌入、段落嵌入、位置编码等),从而将文本数据翻译为模型能够识别的特征向量,该特征向量为一个稀疏的高维向量。值得一提的是,为提升模型的计算速度,该预测模型的输入层和隐藏层
之间还引入一个嵌入层,服务器通过调用该嵌入层对这个高维稀疏的向量进行处理(即embedding过程),从而将其压缩为一个稠密的低维向量。
[0121]
304、调用预测模型中的隐藏层网络和输出层网络,对离散特征向量和连续特征向量进行处理,得到一个多分类概率分布,其中,隐藏层网络包括深度神经网络和因子分解网络,多分类概率分布用于表示训练样本集中的每种食品类型为不合格食品的概率值;
[0122]
可以理解的是,模型的隐藏层网络中包括主干网络(dnn网络)和辅助网络(fm网络),通过dnn网络中对该连续特征向量进行非线性激活,以提取目标连续特征向量;同时,利用fm网络对离散特征向量进行特征交叉,以提取离散型训练样本之间的关联关系,最后将dnn网络输出的目标连续特征向量和fm网络输出的交叉向量输入至模型的输出层网络(全连接网络)中,基于一个多分类器,对两者平均后,并进行归一化处理,从而将其映射到(0,1)数值区间内,即一个多分类的概率值分布。
[0123]
305、基于预设的损失函数和数据标签,计算多分类概率分布对应的损失值;
[0124]
可以理解的是,服务器基于预设的损失函数,来计算多分类概率分布与训练样本数据集的数据标注结果(即食品真实的抽检结果)之间损失值(用数值来表示即两者之间的误差),当损失值越小时,则表示预测结果越接近真实的抽检结果,该预测结果(多分类概率分布)越准确。
[0125]
306、根据多分类概率分布对应的损失值,调整预测模型的网络参数,得到不合格食品的预测模型;
[0126]
可以理解的是,服务器通过计算预测结果与实际结果之间的损失值,并根据该损失值得大小,迭代调整模型的网络参数,然后再次进行训练及计算对应的损失值,直至模型收敛时,确定效果最优的网络参数,从而得到不合格食品的预测模型。
[0127]
具体的,服务器将损失值从预测模型的输出层向隐藏层反向传播,直至传播到输入层,在反向传播的过程中,根据损失结果,随机选取一个点方向作梯度下降,直至该模型收敛。当模型收敛时,当前的预测模型能够得到局部最优的结果,能够较为准确地输出每种食品类型为不合格食品的概率。
[0128]
307、调用不合格食品的预测模型,对离散型预测样本集和连续型预测样本集进行处理,得到预测样本集中的每种食品类型为不合格食品的概率值,并输出概率值大于预置阈值的目标食品类型;
[0129]
308、获取目标食品类型的实际检测参数和目标食品类型的预置安全标准参数范围,若目标食品类型的实际检测参数在目标食品类型的预置安全标准参数范围内,则确定目标食品类型安全。
[0130]
其中,步骤307
‑
308与上述步骤104
‑
105的执行步骤类似,具体此处不再赘述。
[0131]
本实施例中,详细描述预测模型的训练过程,通过提取样本对应的特征向量,并根据该特征向量预测对应的概率,最后计算预测结果和真实结果之间的损失值,并根据损失值调整模型的网络参数,从而提高了模型预测的准确性。
[0132]
参阅图4,本发明实施例中食品安全检测方法的第四个实施例包括:
[0133]
401、获取预设的食品安全数据,并基于食品安全数据,构建训练数据集和预测数据集,其中,食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
[0134]
402、分别对训练数据集和预测数据集进行预处理,得到训练样本集和预测样本集,其中,训练样本集包括离散型训练样本集和连续型训练样本集,预测样本集包括离散型预测样本集和连续型预测样本集,离散型训练样本集中包括多个离散型训练样本,连续型训练样本集中包括多个连续型训练样本;
[0135]
403、调用预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
[0136]
其中,步骤401
‑
403与上述步骤301
‑
303的执行步骤类似,具体此处不再赘述。
[0137]
404、调用预测模型中的因子分解网络,对离散特征向量进行特征交叉,得到离散特征向量对应的交叉向量,其中,交叉向量用于表示离散特征向量之间的关联关系;
[0138]
可以理解的是,服务器通过该预测模型中的因子分解网络,对每个离散特征向量进行特征交叉处理,从而提取离散型训练样本之间的关联关系。对于离散型的特征而言,其特征交叉即对应的求笛卡尔积,具体的,例如存在离散型训练样本a和离散型训练样本b,该离散型训练样本a存在3个特征向量,分别为a1,a2,a3,该离散型训练样本b存在2个特征向量,分别为b1,b2,对其做特征交叉,可以得到6个新的特征向量,分别为a1_b1,a1_b2,a2_b1,a2_b2,a3_b1,a3_b2。
[0139]
405、调用预测模型中的深度神经网络,对连续特征向量进行非线性激活,得到连续型训练样本对应的目标连续特征向量;
[0140]
可以理解的是,每个连续型训练样本中数据分布状况既有线性的分布,也有非线性的分布,服务器通过深度神经网络对每个连续型训练样本的向量进行非线性激活,从而从样本中提取更多的数据特征,具体的,通过预设的激活函数(如relu函数)对连续型训练样本的向量进行非线性变化,从而引入连续型训练样本中更多的数据特征,进一步强化模型的学习能力。
[0141]
406、调用预测模型中的输出层网络,并基于输出层网络中的多分类器,分别对交叉向量和目标连续特征向量进行平均,并对平均后的交叉向量和平均后的目标连续特征向量归一化处理,得到一个多分类概率分布,其中,多分类概率分布用于表示训练样本集中的每种食品类型为不合格食品的概率值;
[0142]
可以理解的是,服务器将dnn网络输出的目标连续特征向量和fm网络输出的交叉向量输入至模型的输出层网络(全连接网络)中,基于一个多分类器,对两者平均后,并进行归一化处理,从而将其映射到(0,1)数值区间内,即一个多分类的概率值分布。
[0143]
407、基于预设的损失函数和数据标签,计算多分类概率分布对应的损失值;
[0144]
408、根据多分类概率分布对应的损失值,调整预测模型的网络参数,得到不合格食品的预测模型;
[0145]
409、调用不合格食品的预测模型,对离散型预测样本集和连续型预测样本集进行处理,得到预测样本集中的每种食品类型为不合格食品的概率值,
[0146]
并输出概率值大于预置阈值的目标食品类型;
[0147]
410、获取目标食品类型的实际检测参数和目标食品类型的预置安全标准参数范围,若目标食品类型的实际检测参数在目标食品类型的预置安全标准参数范围内,则确定目标食品类型安全。
[0148]
其中,步骤407
‑
410与上述步骤305
‑
308的执行步骤类似,具体此处不再赘述。
[0149]
本实施例中,详细描述对离散特征向量和连续特征向量处理的过程,通过深度神经网络提取连续特征,通过因子分解网络提取离散特征之间的关系,基于两者的结合,从而进行预测,提升了预测的准确性。
[0150]
上面对本发明实施例中食品安全检测方法进行了描述,下面对本发明实施例中食品安全检测装置进行描述,请参阅图5,本发明实施例中食品安全检测装置的一个实施例包括:
[0151]
数据集构建模块501,用于获取预设的食品安全数据,并基于所述食品安全数据,构建训练数据集和预测数据集,其中,所述食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
[0152]
数据预处理模块502,用于分别对所述训练数据集和所述预测数据集进行预处理,得到训练样本集和预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集;
[0153]
模型训练模块503,用于基于所述离散型训练样本集和所述连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算所述训练样本集中的每种食品类型为不合格食品的概率值;
[0154]
模型预测模块504,用于调用所述不合格食品的预测模型,对所述离散型预测样本集和所述连续型预测样本集进行处理,得到所述预测样本集中的每种食品类型为不合格食品的概率值,并输出所述概率值大于预置阈值的目标食品类型;
[0155]
食品安全检测模块505,用于获取所述目标食品类型的实际检测参数和所述目标食品类型的预置安全标准参数范围,若所述目标食品类型的实际检测参数在所述目标食品类型的预置安全标准参数范围内,则确定所述目标食品类型安全。
[0156]
本实施例中,本发明通过将数据分为离散型和连续型,从而建立不同数据特征之间的强关联关系,然后利用模型去学习这种数据特征之间强关联关系,并预测每种食品为不合格食品的概率值,从而提升模型预测的准确性,进而提升食品安全检测的准确性。
[0157]
参阅图6,本发明实施例中食品安全检测装置的另一个实施例包括:
[0158]
数据集构建模块501,用于获取预设的食品安全数据,并基于所述食品安全数据,构建训练数据集和预测数据集,其中,所述食品安全数据包括食品抽检数据、天气数据、食品安全相关的舆情数据以及食品安全相关的国际预警数据;
[0159]
数据预处理模块502,用于分别对所述训练数据集和所述预测数据集进行预处理,得到训练样本集和预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集;
[0160]
模型训练模块503,用于基于所述离散型训练样本集和所述连续型训练样本集,对预置的预测模型进行包含目标训练任务的训练,得到不合格食品的预测模型,其中,目标训练任务为计算所述训练样本集中的每种食品类型为不合格食品的概率值;
[0161]
模型预测模块504,用于调用所述不合格食品的预测模型,对所述离散型预测样本集和所述连续型预测样本集进行处理,得到所述预测样本集中的每种食品类型为不合格食品的概率值,并输出所述概率值大于预置阈值的目标食品类型;
[0162]
食品安全检测模块505,用于获取所述目标食品类型的实际检测参数和所述目标
食品类型的预置安全标准参数范围,若所述目标食品类型的实际检测参数在所述目标食品类型的预置安全标准参数范围内,则确定所述目标食品类型安全。
[0163]
其中,所述数据集构建模块501包括:
[0164]
划分单元5011,用于获取预设的食品安全数据,并根据所述食品安全数据的生成时间,将所述食品安全数据划分为当月的食品安全数据和历史的食品安全数据;
[0165]
第一构建单元5012,用于根据所述历史的食品安全数据,构建训练数据集,以及根据所述当月的食品安全数据,构建预测数据集。
[0166]
其中,所述数据预处理模块502具体包括:
[0167]
标注单元5021,用于基于预置的数据标注工具,以及根据所述训练数据集中的食品抽检结果数据,对所述训练数据集进行数据标注,得到目标训练数据集,其中,所述目标训练数据集中包括用于表示食品抽检结果的数据标签;
[0168]
分类单元5022,用于将所述目标训练数据集中的数据和所述预测数据集中的数据按照数据特征类型进行数据分类,其中,所述数据特征类型包括离散型和连续型;
[0169]
数值化单元5023,用于对分类后得到的每一类数据进行数值化处理,得到多个离散型训练样本、多个连续型训练样本、多个离散型预测样本以及多个连续型预测样本;
[0170]
第二构建单元5024,用于根据所述离散型训练样本和所述连续型训练样本,构建训练样本集,以及根据所述离散型预测样本和所述连续型预测样本,构建预测样本集,其中,所述训练样本集包括离散型训练样本集和连续型训练样本集,所述预测样本集包括离散型预测样本集和连续型预测样本集。
[0171]
其中,所述模型训练模块503具体包括:
[0172]
编码单元5031,用于调用所述预测模型中的多层翻译网络,对每个离散型训练样本进行编码,得到每个离散型训练样本对应的离散特征向量,以及对每个连续型训练样本进行编码,得到每个连续型训练样本对应的连续特征向量;
[0173]
预测单元5032,用于调用所述预测模型中的隐藏层网络和输出层网络,对所述离散特征向量和所述连续特征向量进行处理,得到一个多分类概率分布,其中,所述隐藏层网络包括深度神经网络和因子分解网络,所述多分类概率分布用于表示所述训练样本集中的每种食品类型为不合格食品的概率值;
[0174]
计算单元5033,用于基于预设的损失函数和所述数据标签,计算所述多分类概率分布对应的损失值;
[0175]
微调单元5034,用于根据所述多分类概率分布对应的损失值,调整所述预测模型的网络参数,得到不合格食品的预测模型。
[0176]
本发明实施例中,模块化的设计让食品安全检测装置各部位的硬件专注于某一功能的实现,最大化实现了硬件的性能,同时模块化的设计也降低了装置的模块之间的耦合性,更加方便维护。
[0177]
上面图5和图6从模块化功能实体的角度对本发明实施例中的食品安全检测装置进行详细描述,下面从硬件处理的角度对本发明实施例中食品安全检测设备进行详细描述。
[0178]
图7是本发明实施例提供的一种食品安全检测设备的结构示意图,该食品安全检测设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器
(central processing units,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对食品安全检测设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在食品安全检测设备700上执行存储介质730中的一系列指令操作。
[0179]
食品安全检测设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的食品安全检测设备结构并不构成对食品安全检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0180]
本发明还提供一种食品安全检测设备,所述食品安全检测设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述食品安全检测方法的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述食品安全检测方法的步骤。
[0181]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0182]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0183]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。