[0046] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 如图1所示为本发明实施例提供的一种O2O商铺食品安全监测方法的流程图,包括但不限于以下步骤:
[0048] (1)首先根据微调好的ELECTRA模型对某个店铺的评论的进行判别,判别该店铺是否存在食品安全隐患;
[0049] (2)如果存在食品安全隐患,则使用训练好的AT‑GRU模型(AT‑GRU模型的训练过程如S4所述)计算得到评论中每个词的注意力权重,取权重最大的词作为店铺具体的食品安全隐患。
[0050] S1、使用主动学习算法对用户历史评论文本数据进行标注,标注1表明有食品安全隐患,标注0表明没有食品安全隐患,最终得到标注样本集L,如图2所示。
[0051] S11、从网络平台上随机获取用户历史评论文本数据(400条以上,且用户历史评论文本数据中包括历史评论文本数据和历史评论文本数据所对应的标签),随机选择获取的部分用户的历史评论文本数据进行人工标注(标注1表明有食品安全隐患,标注0表明没有食品安全隐患),作为标注样本集L;剩下的部分用户的历史评论文本数据为未标注样本集U;
[0052] S12、使用标注样本集L训练逻辑回归模型(常规训练方法,不属于本发明的创造点,故不做过多赘述),使用文本和文本对应的标签训练逻辑回归模型的权重参数,最终得到训练好的逻辑回归模型M;
[0053] S13、使用训练好的逻辑回归模型M对未标注样本集U进行查询函数计算,得到当前模型M不确定的样本x*,对不确定的样本x*进行人工标注,加入标注样本集L中,重复以上步骤,直到不确定的样本x*对应的表达式 的值大于0.5为止,得到最终的标注样本集L。
[0054] 查询函数计算方法如下:
[0055]
[0056] 主动学习中基于不确定性的查询策略有三种方法:
[0057] (1)置信度最低(Least Confident):选择预测类别中最大的概率最小的样本进行标注,公式为:
[0058]
[0059] 其中,xLC表示基于置信度最低查询策略所得到的不确定性样本,θ表示一个已经训练好的机器学习模型参数集合, 对于x而言是
模型预测概率最大的类别。
[0060] (2)边缘采样(margin sampling):选择模型预测最大和第二大的概率差值最小的样本,用数学公式来描述就是:
[0061]
[0062] 其中, 表示基于边缘采样查询策略所得到的不确定性样本, 和 分别表示对于x而言,模型预测为最大可能类和第二大可能类。
[0063] (3)熵(Entropy):选择熵比较大的样本数据作为待定标注数据。
[0064]
[0065] 其中,xE表示基于熵查询策略所得到的不确定性样本。
[0066] 现有的基于不确定性的查询策略大多需要进行大量的计算过程,复杂度高。本发明对基于不确定性的查询策略做出改进,提出一种查询函数,不需要确定样本预测最大的概率,只需要使用预测为正类的概率进行计算即可得到不确定性数据,查询函数计算表达式如下:
[0067]
[0068] 其中,x*表示模型M对未标注样本集U中最不确定的样本,Q(U)表示查询函数对未标注样本集U进行计算,argmin表示取表达式的值最小时的参数, 表示模型M对U中的样本x的预测值。需要说明的是,除了上述本发明使用的查询函数计算当前模型M不确定的样本*x外,也可以采用现有的可以实现的查询策略得到不确定样本。
[0069] S2、根据标注样本集L构建词向量。
[0070] S21、将标注样本集L中的文本分词后输入训练好的ALBERT语言模型,ALBERT模型会对每个分词进行编码,去掉ALBERT语言模型的输出层,将ALBERT语言模型的最后一层编码状态进行平均池化后作为输入词的初始词向量。
[0071] S22、将初始词向量作为Word2Vec模型中隐藏层的初始化权重,再使用Word2Vec算法在用户的历史评论文本语料上进行训练,得到最终的词向量。
[0072] S3、将标注样本集L输入ELECTRA模型进行模型参数的微调,得到微调好的ELECTRA模型,将未标注样本集U输入微调好的ELECTRA模型中进行二分类,,判别该店铺是否存在食品安全隐患,如果存在食品安全隐患,则执行步骤S4。
[0073] 传统的预训练模型使用大规模语料对训练好的模型参数进行微调,微调方法是,将用户文本评论数据输入Transformer模型,这部分网络使用预训练的权重,然后由编码器编码得到句子的向量表示后,再经过一个自定义的分类器进行分类,分类器的权重随机初始化。将整个网络的所有权重在下游任务的数据集上进行训练,这就是预训练模型的微调过程。
[0074] ELECTRA模型的结构包括判别器,基于标注样本集L,使用判别器对模型参数进行微调。
[0075] ELECTRA模型中判别器的结构以及各结构的作用包括:判别器是一个Transformer结构,由24个结构完全相同的层堆叠而成,每一层都有两个子层。第一个子层是一个多头自注意力层,第二个子层是一个简单的、基于位置的全连接前馈网络。
[0076] Transformer结构中每一层作用是对输入的序列状态向量进行编码。24个层被平均分为浅层、中间层和高层,浅层主要编码文本表层特征(字的位置信息、短语信息、特殊符号),中间层主要编码句法特征,高层主要编码语义特征。
[0077] 现有的微调方法包括将其中一层隐状态接输出层,或者将最后四层的隐状态进行拼接或者平均或取最大再接输出层,或者将前四层的隐状态进行拼接或者平均或取最大再接输出层。
[0078] 本发明所采用的微调方法是通过拼接不同层次的编码状态,将ELECTRA模型中浅层、中间层和高层的编码状态进行拼接,能够有效地综合编码文本表层特征(词法特征)、句法特征、语义特征等不同层次的信息。
[0079] 在一个优选实施例中,微调方法包括:去掉原判别器的输出层,将判别器的第6、12、18、24层的编码状态连接起来作为句子的向量表示,再输入一个随机初始化参数的分类输出层,然后将整个网络的所有权重在训练集上进行微调,最终输出微调后的结果,计算表达式如下:
[0080]
[0081] 其中,表示模型的最终预测结果,即是否存在食品安全隐患,Concat表示连接操作,h6,h12,h18,h24分别是判别器第6、12、18、24层的隐藏状态。
[0082] 最终模型微调完成后,将未标注样本集U中的文本评论输入微调好的ELECTRA模型,可以得到更为精确的预测结果,即是否存在食品安全隐患。
[0083] S4、将标注样本集L和最终的词向量输入AT‑GRU模型中进行进行计细粒度预测,AT‑GRU模型计算评论中每个词的注意力权重,取权重最大的词作为该店铺具体的食品安全隐患并输出,得到细粒度预测结果。
[0084] 传统的使用注意力机制的文本分类模型是AT‑LSTM,即在LSTM层的后面接注意力层,而本发明选用的模型是AT‑GRU,使用的是GRU层而不是LSTM层,GRU层使得模型训练效率更高。另外,在AT‑GRU模型中进行注意力权重计算时使用了隐藏状态的维度,对点积结果进行了缩放,使得模型训练时能够更好地收敛。此外,在注意力层后使用ReLU激活函数而不是Tanh,防止梯度消失。
[0085] 如图3所示,AT‑GRU模型的具体结构包括输入层、嵌入层、GRU网络层、注意力层和输出层。其中,AT‑GRU模型各个结构的作用以及具体处理流程包括:
[0086] 输入层:用于输入数据,将标注样本集L和最终的词向量的索引序列作为输入。
[0087] 嵌入层:将构建的词向量作为初始化的权重矩阵;嵌入层的作用是将输入层输入的索引序列转换为词向量序列。
[0088] GRU网络层:对输入的词向量序列进行编码,得到隐藏状态序列S。
[0089] 注意力层:对GRU网络层所有时间步的隐藏状态序列S做加权平均,得到编码向量h,而每个时间步的隐藏状态S的权重γ就是对于不同词的注意力。编码向量h的计算表达式如下:
[0090] h=SγT
[0091] 其中,注意力权重γ的计算方式如下:
[0092]
[0093] D=ReLU(S)
[0094] 其中,h表示注意力层的编码向量,D表示对S的激活处理,S表示GRU层对输入的词向量序列的编码,ReLU()表示修正线性单元函数,d表示隐藏状态的维度,w表示一个d维度的可学习的参数列向量。
[0095] 输出层:对注意力层的编码向量h进行分类,最终输出文本评论是否存在食品安全隐患。
[0096] 最终模型训练完成后,将未标注样本集U中的文本评论输入训练好的AT‑GRU模型,可以得到细粒度预测结果:进行预测后,如果存在食品安全隐患,则使用AT‑GRU模型计算得到的评论中每个词的注意力权重,取注意力权重最大的词作为店铺具体的食品安全隐患。
[0097] 当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
[0098] 需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read‑0nly Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0099] 以上所述仅是本申请的具体实施方式,应当指出,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。