一种基于情境嵌入和知识蒸馏的企业画像标签抽取方法及
装置
技术领域
本发明涉及企业画像和自然语言处理技术领域,具体涉及一种基于情境嵌入和知识蒸馏的企业画像标签抽取方法及装置。
背景技术
近年来,随着知识图谱和大数据的快速发展,画像技术受到学术界和工业界的广泛关注。目前比较流行的企业画像在电子商务、风险评估、市场监管等方面有着广泛的应用。其中包含企业画像的网站不仅具备传统门户网站的信息服务功能,还能提供许多与标签相关的服务如热点分析和企业推荐等。企业画像作为画像技术的一种新型应用,不仅包含了企业的名称、位置和关键词等多模实体标签,还拥有众多的兴趣与偏好主题标签,比如企业的研发方向和经营范围等。这些标签混合在一起形成了非常复杂的结构特征,尤其以企业为中心的各类关系网络已成为传统企业画像扩展的重要特征。通过画像技术对不同维度的信息进行处理和整合,能够为企业和政府提供更便利的服务。
但现有的企业画像标签抽取还存在以下问题:1、深层次的预训练语言模型虽然能够提高标签抽取的准确率,但模型的高计算成本使其无法在有限的资源下轻易实现,深层次的预训练语言模型很难在实际场景中得到应用;2、传统标签抽取方法往往只针对同一类型数据进行抽取,却忽略了不同类型的企业情境信息在标签抽取中的作用,无法有效发现企业情境特征,导致标签概括能力差。
发明内容
发明目的:针对现有技术中存在的问题,本发明提供及一种基于情境嵌入和知识蒸馏的企业画像标签抽取方法及装置,使用企业情境嵌入可以有效提高标签抽取的准确率,同时拥有知识蒸馏的深度学习模型可以提高标签抽取效率,使其在实际场景中更好的应用。
技术方案:本发明提供了一种基于情境嵌入和知识蒸馏的企业画像标签抽取方法,包括如下步骤:
步骤1:对企业情境信息D和企业文本D1进行去重、去空,清洗后得到企业数据集D2和D3,并将其进行关联得到含有企业情境的企业数据集D4;
步骤2:将企业情境信息向量化后与企业文本进行向量拼接,得到融合企业情境信息的向量E作为模型输入;
步骤3:构建主干网络与枝干网络,所述主干网络为拥有12层Transformer的Bert模型,所述枝干网络采用卷积神经网络内嵌到前11层Transformer主干网络中;
步骤4:构建双向长短期记忆网络并串联池化层;
步骤5:将所述向量E传入所述主干网络的每层Transformer依次计算不确定系数UCi,并指导知识蒸馏,发现其隐藏特征,同时依据应用需求自适应调节蒸馏速度SP,通过UCi与SP的大小控制主干网络与枝干网络的输出,再传入所述双向长短期记忆网络和池化层进一步发现其上下文特征和局部特征,完成标签抽取和知识蒸馏。
进一步地,所述步骤1的具体方法为:
步骤1.1:定义Text为单个企业情境待清洗数据,定义id和situation分别为企业序号、企业情境信息,并且满足关系Text={id,situation};
步骤1.2:定义Text1为单个企业信息待清洗数据,定义id、content和label分别为企业序号、企业信息和企业标签,并且满足关系Text1={id,content,label};
步骤1.3:定义D为企业情境待清洗数据集,D1为企业信息待清洗数据集,满足关系D={Text1,Text2,…,Texta,…,Textlen(D)},Texta为D中第a个待清洗企业情境数据,D1={Text11,Text12,…,Text1b,…,Text1len(D1)},Text1b为D1中第b个待清洗企业数据,其中len(D)为D中文本数量,变量a∈[1,len(D)],len(D1)为D1中文本数量,变量b∈[1,len(D1)];
步骤1.4:对企业情境数据集D去除空值,得到清洗后的企业情境数据集D2={Text21,Text22,…,Text2c,…,Text2len(D2)},Text2c为D2中第c个清洗后的数据,其中len(D2)为D2中文本数量,变量c∈[1,len(D2)];
步骤1.5:对企业数据集D1去重和去空,得到清洗后的企业数据集D3={Text31,Text32,…,Text3d,…,Text3len(D3)},Text3d为D3中第d个清洗后的数据,其中len(D3)为D3中文本数量,变量d∈[1,len(D3)];
步骤1.6:使用id将数据集D2和D3进行关联,得到含有企业情境的企业数据集D4,其中D4={id,situation,content,label}。
进一步地,所述步骤2的具体方法为:
步骤2.1:使用Bert模型将D4数据集中的content转化成字向量E1;
步骤2.2:将企业情境信息situation转化成字向量E2;
步骤2.3:使用Bert模型学习后得到刻画企业全局信息的文本向量E3;
步骤2.4:依据字在文本不同位置的语义差异,得到位置向量E4;
步骤2.5:将步骤2.1至步骤2.4所有向量进行拼接得到融合企业情境信息的向量表示E,其中E=E1+E2+E3+E4;
步骤2.6:将向量E作为整个模型输入。
进一步地,所述步骤5通过UCi与SP的大小控制主干网络与枝干网络的输出的具体方法为:
步骤3.1:使用主干网络计算不确定系数UC并指导知识蒸馏;
步骤3.2:向拥有12层Transformer的Bert模型中传入向量E;
步骤3.3:定义循环变量i和j,且i和j赋初值为1;
步骤3.4:定义蒸馏速度SP和不确定系数UC;
步骤3.5:将每条融合企业情境信息的向量E依次传入主干网络进行知识蒸馏和标签抽取;
步骤3.6:使用每层Transformer计算不确定系数UCi并输出向量TRi,其中i为第i层Transformer,i≤11;
步骤3.7:如果不确定系数UCi≤SP且i≤11,则进行枝干网络的蒸馏和标签抽取,否则进行下一步;
步骤3.8:i=i+1;
步骤3.9:当i=12;则结束循环进行主干网络预测;
步骤3.10:在最后一层Transformer获得单个文本的向量序列T={W1,W2,…,We,…,Wlen(T)},其中We为第e个结合文本信息的向量表示,len(T)为T向量长度,e∈[1,len(T)];
步骤3.11:j=j+1;
步骤3.12:结束循环,输出全部向量序列S={T1,T2,…,Tf,…,Tlen(D4)},其中f∈[1,len(D4)]。
进一步地,所述步骤3.7进行枝干网络的蒸馏和标签抽取的具体方法为:
步骤4.1:构建卷积神经网络内嵌到前11层Transformer形成枝干网络,使用枝干网络进行知识蒸馏和枝干网络标签抽取;
步骤4.2:将步骤3.6中的向量TRi传入枝干网络,i为第i层的枝干网络;
步骤4.3:在卷积神经网络的卷积层,向量TRi进行卷积操作后输入到池化层;
步骤4.4:池化层进行最大池化并输出向量X1;
步骤4.5:将池化层输出向量X1使用softmax函数进行标签预测,得到枝干网络预测概率向量YB={yb1,yb2,…,ybh,…,ybG},其中ybh表示该输入文本属于第h类标签的概率,G为类别总数,h∈[1,G];
步骤4.6:查找向量YB中的最大值ybmax,将最大值对应的标签类别Y1输出为该企业枝干网络预测标签。
进一步地,所述步骤5中利用所述双向长短期记忆网络和池化层进一步发现其上下文特征和局部特征的具体方法为:
步骤5.1:向所述双向长短期记忆网络中传入向量序列S;
步骤5.2:定义循环变量t,且t赋初值为1;
步骤5.3:定义M为最大时刻,如果t≤M则跳转至下一步,否则跳转至步骤5.8;
步骤5.4:使用双向长短期记忆网络计算当前时刻的正向输出htl,计算公式为htl=LSTM(xt,h(t-1)l),其中,xt表示当前时刻网络的输入,h(t-1)l为t-1时刻的正向网络输出,t为当前时刻;
步骤5.5:使用双向长短期记忆网络计算当前时刻的逆向输出htr,计算公式为htr=LSTM(xt,h(t-1)r),其中,xt表示当前时刻网络的输入,h(t-1)r为t-1时刻的逆向网络输出,t为当前时刻;
步骤5.6:将正向输出htl和逆向输出htr分别与权重矩阵相乘后进行向量拼接,得到t时刻的输出结果ht;
步骤5.7:t=t+1;
步骤5.8:结束循环,输出全部时刻向量V={h1,h2,…hm,…hM},其中M为最大时刻,hm为m时刻的网络输出,变量m∈[1,M];
步骤5.9:将向量V作为卷积神经网络池化层输入,池化方式采用最大池化;
步骤5.10:将池化层输出向量X使用softmax函数进行标签预测,得到主干网络预测概率向量YT={yt1,yt2,…,ytg,…,ytG},其中ytg表示该输入文本属于第g类标签的概率,G为类别总数,g∈[1,G];
步骤5.11:查找向量YT中的最大值ytmax,将最大值对应的标签类别Y输出为该企业的主干网络预测标签。
本发明还公开一种基于情境嵌入和知识蒸馏的企业画像标签抽取装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现上述基于情境嵌入和知识蒸馏的企业画像标签抽取方法。
有益效果:
1、本发明首先将企业情境信息向量化后与企业文本进行向量拼接,得到融合企业情境信息的企业文本,构建复杂度较高的主干网络进行模型训练,并构建小规模TextCNN枝干网络内嵌到前11层Transformer的主干网络上,将融合后的企业文本传入拥有12层Transformer的Bert模型发现其隐藏特征,使用主干网络指导枝干网络进行知识蒸馏和标签抽取,再传入BiLSTM网络和最大池化层进一步发现其上下文特征和局部特征。本发明普遍适用于标签建模和标签抽取问题,使用企业情境嵌入可以有效提高标签抽取的准确率,同时拥有知识蒸馏的深度学习模型可以提高标签抽取效率,使其在实际场景中更好的应用。其能够精确刻画企业特点,弥补传统企业画像的不足;同时优化标签建模的速率,缩减从业者的工作时长,提高企业画像系统的运行效率。
2、本发明中的情境嵌入和知识蒸馏对企业画像标签抽取有着重要的作用和意义。因此,为更好应对实际场景下的标签抽取,企业情境嵌入和知识蒸馏为我们提供了新的思路,本发明使用情境嵌入和知识蒸馏在提高计算效率的同时,进一步提高了抽取准确率。
附图说明
图1为本发明总体流程图;
图2为本发明网络结构图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明公开了一种基于情境嵌入和知识蒸馏的企业画像标签抽取方法,主要包括如下步骤:
步骤1:对企业情境信息D和企业文本D1进行去重、去空,清洗后得到企业数据集D2和D3,具体方法为:
步骤1.1:定义Text为单个企业情境待清洗数据,定义id和situation分别为企业序号、企业情境信息,并且满足关系Text={id,situation};
步骤1.2:定义Text1为单个企业信息待清洗数据,定义id、content和label分别为企业序号、企业信息和企业标签,并且满足关系Text1={id,content,label};
步骤1.3:定义D为企业情境待清洗数据集,D1为企业信息待清洗数据集,满足关系D={Text1,Text2,…,Texta,…,Textlen(D)},Texta为D中第a个待清洗企业情境数据,D1={Text11,Text12,…,Text1b,…,Text1len(D1)},Text1b为D1中第b个待清洗企业数据,其中len(D)为D中文本数量,变量a∈[1,len(D)],len(D1)为D1中文本数量,变量b∈[1,len(D1)];
步骤1.4:对企业情境数据集D去除空值,得到清洗后的企业情境数据集D2={Text21,Text22,…,Text2c,…,Text2len(D2)},Text2c为D2中第c个清洗后的数据,其中len(D2)为D2中文本数量,变量c∈[1,len(D2)];
步骤1.5:对企业数据集D1去重和去空,得到清洗后的企业数据集D3={Text31,Text32,…,Text3d,…,Text3len(D3)},Text3d为D3中第d个清洗后的数据,其中len(D3)为D3中文本数量,变量d∈[1,len(D3)];
步骤1.6:使用id将数据集D2和D3进行关联,得到含有企业情境的企业数据集D4,其中D4={id,situation,content,label}。
步骤2:将企业情境信息向量化后与企业文本进行向量拼接,得到融合企业情境信息的向量E作为模型输入,具体方法为:
步骤2.1:使用Bert模型将D4数据集中的content转化成字向量E1;
步骤2.2:将企业情境信息situation转化成字向量E2;
步骤2.3:使用Bert模型学习后得到刻画企业全局信息的文本向量E3;
步骤2.4:依据字在文本不同位置的语义差异,得到位置向量E4;
步骤2.5:将所有向量进行拼接得到融合企业情境信息的向量表示E,其中E=E1+E2+E3+E4;
步骤2.6:将向量E作为整个模型输入。
步骤3:构建主干网络与枝干网络,所述主干网络为拥有12层Transformer的Bert模型,所述枝干网络采用卷积神经网络内嵌到前11层Transformer主干网络中。
步骤4:构建双向长短期记忆网络并串联池化层。
步骤5:将向量E传入所述主干网络的每层Transformer依次计算不确定系数UCi,并指导知识蒸馏,发现其隐藏特征,同时依据应用需求自适应调节蒸馏速度SP,通过UCi与SP的大小控制主干网络与枝干网络的输出,再传入所述双向长短期记忆网络和池化层进一步发现其上下文特征和局部特征,完成标签抽取和知识蒸馏。
步骤5中将向量E传入拥有12层Transformer的Bert模型,每层Transformer依次计算不确定系数UCi,同时依据应用需求自适应调节蒸馏速度SP,通过UCi与SP的大小控制主干与枝干网络的输出,具体方法为:
步骤3.1:使用主干网络计算不确定系数UC并指导知识蒸馏;
步骤3.2:构建12层Transformer的Bert模型,传入向量序列E;
步骤3.3:定义循环变量i和j,且i和j赋初值为1;
步骤3.4:定义蒸馏速度SP和不确定系数UC;
步骤3.5:将每条融合企业情境信息的向量E依次传入主干网络进行知识蒸馏和标签抽取;
步骤3.6:使用每层Transformer计算不确定系数UCi并输出向量TRi,其中i为第i层Transformer,i≤11;
步骤3.7:如果不确定系数UCi≤SP且i≤11,则跳转至步骤3.7.1~步骤3.7.6进行枝干网络的蒸馏和标签抽取,否则进行下一步;
步骤3.7.1:构建卷积神经网络内嵌到前11层Transformer形成枝干网络,使用枝干网络进行知识蒸馏和枝干网络标签抽取;
步骤3.7.2:将步骤3.6中的向量TRi传入枝干网络,i为第i层的枝干网络;
步骤3.7.3:在卷积神经网络的卷积层,向量TRi进行卷积操作后输入到池化层;
步骤3.7.4:池化层进行最大池化并输出向量X1;
步骤3.7.5:将池化层输出向量X1使用softmax函数进行标签预测,得到枝干网络预测概率向量YB={yb1,yb2,…,ybh,…,ybG},其中ybh表示该输入文本属于第h类标签的概率,G为类别总数,h∈[1,G];
步骤3.7.6:查找向量YB中的最大值ybmax,将最大值对应的标签类别Y1输出为该企业枝干网络预测标签。
步骤3.8:i=i+1;
步骤3.9:当i=12;则结束循环进行主干网络预测;
步骤3.10:在最后一层Transformer获得单个文本的向量序列T={W1,W2,…,We,…,Wlen(T)},其中We为第e个结合文本信息的向量表示,len(T)为T向量长度,e∈[1,len(T)];
步骤3.11:j=j+1;
步骤3.12:结束循环,输出全部向量序列S={T1,T2,…,Tf,…,Tlen(D4)},其中f∈[1,len(D4)]。
步骤5中利用双向长短期记忆网络和池化层进一步发现其上下文特征和局部特征的具体方法为:
步骤5.1:向所述双向长短期记忆网络中传入向量序列S;
步骤5.2:定义循环变量t,且t赋初值为1;
步骤5.3:定义M为最大时刻,如果t≤M则跳转至下一步,否则跳转至步骤5.8;
步骤5.4:使用双向长短期记忆网络计算当前时刻的正向输出htl,计算公式为htl=LSTM(xt,h(t-1)l),其中,xt表示当前时刻网络的输入,h(t-1)l为t-1时刻的正向网络输出,t为当前时刻;
步骤5.5:使用双向长短期记忆网络计算当前时刻的逆向输出htr,计算公式为htr=LSTM(xt,h(t-1)r),其中,xt表示当前时刻网络的输入,h(t-1)r为t-1时刻的逆向网络输出,t为当前时刻;
步骤5.6:将正向输出htl和逆向输出htr分别与权重矩阵相乘后进行向量拼接,得到t时刻的输出结果ht;
步骤5.7:t=t+1;
步骤5.8:结束循环,输出全部时刻向量V={h1,h2,…hm,…hM},其中M为最大时刻,hm为m时刻的网络输出,变量m∈[1,M];
步骤5.9:将向量V作为卷积神经网络池化层输入,池化方式采用最大池化;
步骤5.10:将池化层输出向量X使用softmax函数进行标签预测,得到主干网络预测概率向量YT={yt1,yt2,…,ytg,…,ytG},其中ytg表示该输入文本属于第g类标签的概率,G为类别总数,g∈[1,G];
步骤5.11:查找向量YT中的最大值ytmax,将最大值对应的标签类别Y输出为该企业的主干网络预测标签。
本发明还提供了一种基于情境嵌入和知识蒸馏的企业画像标签抽取装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被加载至处理器时实现上述的基于情境嵌入和知识蒸馏的企业画像标签抽取方法。
为了更好的说明本方法的可行性与有效性,通过对115810条企业文本数据进行实验,结果表明使用情景嵌入和知识蒸馏的标签抽取模型在准确率上高于传统BERT模型达到94.35%,且通过每秒所执行的浮点运算次数比较标签抽取效率,结果表明本方法将BERT模型的抽取效率提高了4.21倍。
上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。