CN113420548A - 一种基于知识蒸馏和pu学习的实体抽取采样方法 - Google Patents

一种基于知识蒸馏和pu学习的实体抽取采样方法 Download PDF

Info

Publication number
CN113420548A
CN113420548A CN202110704680.5A CN202110704680A CN113420548A CN 113420548 A CN113420548 A CN 113420548A CN 202110704680 A CN202110704680 A CN 202110704680A CN 113420548 A CN113420548 A CN 113420548A
Authority
CN
China
Prior art keywords
training
entity
span
data
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202110704680.5A
Other languages
English (en)
Inventor
康文涛
傅啸
毛佳豪
周春珂
邱雨菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202110704680.5A priority Critical patent/CN113420548A/zh
Publication of CN113420548A publication Critical patent/CN113420548A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于知识蒸馏和PU学习的实体抽取采样方法,首先获取互联网语料库,经并将其整理得到<文本,实体>格式的数据集;然后对训练集数据进行预处理,构建教师网络,生成训练集的候选实体集D1;再构建PU学习分类器,生成训练集的候选实体集D2;构建学生网络训练样本集;最后进行学生网络模型训练,使用训练好的学生网络模型进行预测。本发明通过知识蒸馏,将多个模型的知识压缩到单一神经网络的训练采样过程中,并辅以PU学习分类器,保证了知识的准确性。在实体数据漏标严重的情况下,本发明能够有效减少样本集中的噪音数据,降低漏标实体数据对抽取结果的影响,改善抽取效果。

Description

一种基于知识蒸馏和PU学习的实体抽取采样方法
技术领域
本发明属于信息抽取(information extraction)中的实体关系抽取领域,主要提出了一种基于神经网络的实体抽取模型训练的采样方法。
背景技术
实体抽取,即在自然语言中识别实体指称的边界和类别,也称为命名实体识别,其主要任务是识别文本中具有意义的实体,比如人名、地名、机构名等。跨度表示是实体抽取的一种标注方法,通过列举文本中可能出现的跨度片段,构建片段表示并进行分类,以达到实现识别出序列中所有的实体的目的。在实体数据漏标严重的情况下,若所有未标注的跨度片段均被当成负样本进行训练,则会引入大量的噪音数据,对模型的训练造成干扰,进而影响模型表现。
知识蒸馏,即把一个大模型或多个模型集成(教师网络)中的知识迁移到一个轻量化的小模型(学生网络)上。知识蒸馏利用性能更好的大模型的信息,监督指导小模型的训练过程,可有效降低计算和存储开销,同时依然具有较高的准确性。
PU学习是半监督学习的一个重要研究方向,主要通过一部分正例样本和大量未标注样本学习得到一个二元分类器。在实体数据漏标严重的情况下,可令已标注的实体词构成正样本,其余的跨度片段构成未标记样本用于PU学习,进而得到一个更加精确的实体词的数据分布。
发明内容
本发明旨在解决实体数据漏标严重情况下训练样本数据噪音过大的问题。本发明的核心改进点在于提出了一种基于跨度表示的实体抽取模型训练的采样策略。本发明先通过集成模型预测得到训练集中潜在的漏标实体集,后使用PU分类器对所得的漏标实体进行进一步筛选,防止其被采集成为负样本参与训练,影响模型训练效果。
一种基于知识蒸馏和PU学习的实体抽取采样方法,步骤如下:
步骤1:获取互联网语料库,经并将其整理得到<文本,实体>格式的数据集。
步骤2:对训练集数据进行预处理。
步骤3:构建教师网络,生成训练集的候选实体集D1。
步骤4:构建PU学习分类器,生成训练集的候选实体集D2。
步骤5:构建学生网络训练样本集;
步骤6:学生网络模型训练。
步骤7:学生网络模型预测。
步骤1具体步骤如下:
1-1所述的互联网语料库采用现有公开的数据库。
1-2构建数据集。具体实施步骤如下:
1-2-1定义实体类别。具体可以参考行业内对于实体类型定义的规则规范。
1-2-2实体关系标注。对于存在实体的文本,可从中得到命名实体及其对应位置。根据步骤1-2-1定义的实体类型,采用人工标注的方法,对互联网语料中的命名实体进行标注,生成数据集。
1-2-3数据集拆分。将所有文本数据拆分成两部分,其中85%作为训练集,15%作为测试集,分别用于模型的训练和测试。
步骤2具体步骤如下:
所述的预处理包括对所得数据集进行清洗和结构化整理,以便后续用于模型的输入。具体实施步骤如下:
2-1数据清洗,删除文本中的非法字符、空格、换行符。
2-2以字为粒度将文本分割,构建字典。构建的字典D={d1,d2,...,dz}。其中z为字典的总长度,di表示字典中第i个字。
2-3构建实体类型字典。
构建的实体类型字典L={l0,l1,l2,...,lp}。其中p为实体类型数,l0表示非实体类型,li表示第i个实体类型。
步骤3具体步骤如下:
所述的候选实体集D1,即训练集中潜在的漏标实体集,由集成模型(教师网络)在训练集上的预测结果组成。集成模型由多个子模型共同组成。具体实施步骤如下:
3-1构造子模型的训练集。
对步骤1-2-3中得到的原始训练集进行K次随机采样,每次均随机抽取原始训练数据集中80%的数据,作为子模型的训练集。
3-2构建子模型的训练样本,即对步骤3-1生成的子模型训练集进行采样。
使用Span格式对样本进行表示。对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk)。Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure BDA0003131727640000021
lk是类型标签,表示
Figure BDA0003131727640000022
所属的实体类型。
所述的训练样本主要由正样本集合和负样本集合组成。正样本集由已标注实体集Y构成。负样本集合N由N0中随机采样的negsamples个样本构成。
Figure BDA0003131727640000031
其中m为实体数量,即正样本总数,negpercent为负采样比例。
Figure BDA0003131727640000032
其中maxspanlen为最大Span长度。l0表示Span(i,j)不是实体。
故训练样本集T=Y∪N
3-3构建实体抽取模型,作为构建集成模型的子模型。
3-3-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分。如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替。
3-3-2建立每个字的向量表示。利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
3-3-3建立Span表示。对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure BDA0003131727640000033
Figure BDA0003131727640000034
表示拼接操作。
3-3-4将步骤3-3-3得到的Span表示进行预测。定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数。训练时使用交叉熵损失函数,更新参数:
Figure BDA0003131727640000035
3-4利用集成学习,构造训练集数据的候选实体集D1。
3-4-1训练得到子模型。
使用步骤3-1生成的K个子模型训练集,依次通过梯度下降算法求得步骤3-3-4中损失函数的最小化,训练得到K个子模型。
3-4-2利用子模型依次对原始训练数据集进行预测。
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)}。利用步骤3-2-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别。
3-4-3使用投票法集成,构建候选实体集D1。统计预测样本集在K个子模型下的预测结果,记Span(i,j)被预测为l0的次数为Count(i,j),则候选实体集
Figure BDA0003131727640000046
步骤4具体步骤如下:
所述的候选实体集D2由PU学习分类器在候选实体集D1上的预测结果组成。构建D2的具体步骤如下:
4-1构建PU学习分类器的训练样本。
对于文本数据S={s1,s2,...,sn},n是句子长度,和已标注实体集Y={y1,y2,...,ym},m是实体数量。PU学习分类器的训练样本Tpu可被表示为:
P={((i,j),1)|((i,j),l)∈Y}
Figure BDA0003131727640000041
Tpu=P∪U
4-2构建并训练pu学习分类器。
对任意((i,j),l)∈Tpu,Span(i,j)的向量表示hi,j可由步骤3-2-3得到。
则Span(i,j)被预测为正例的概率为:f(i,j)=σ(Wfhi,j+bf),
其中σ表示sigmoid函数。
训练时损失函数定义为:
Figure BDA0003131727640000042
Figure BDA0003131727640000043
Figure BDA0003131727640000044
Figure BDA0003131727640000045
其中,πp表示实体词在U中的比例,可以通过步骤3-3-3中集成模型在训练集数据中的预测结果计算得到。
训练过程中,求损失函数的最小化进行模型训练。
4-3使用pu学习分类器,对D1进行筛选,得到候选实体集D2。
使用步骤4-2训练得到的pu学习分类器依次预测D1中的候选实体。获得候选实体集D2={(i,j)|f(i,j)>θ,(i,j)∈D1}
其中θ表示分界阈值。
步骤5具体步骤如下:
训练时使用的数据集为步骤1-2-3中得到的训练集。所述的学生网络训练样本集由正样本集合和负样本集合组成。
对步骤1-2-3中得到的训练集进行采样。
使用Span格式对样本进行表示。对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk)。Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure BDA0003131727640000051
lk是类型标签,表示
Figure BDA0003131727640000052
所属的实体类型。
所述的训练样本主要由正样本集合和负样本集合组成。正样本集由已标注实体集Y构成。负样本集合N由N0中随机采样的negsamples个样本构成。
Figure BDA0003131727640000053
其中m为实体数量,即正样本总数,negpercent为负采样比例。
为防止漏标数据被采集成为负样本参与训练,需将N0定义为:
Figure BDA0003131727640000054
其中maxspanlen为最大Span长度。l0表示Span(i,j)不是实体。
故学生网络训练样本集T=Y∪N;
步骤6具体步骤如下:
使用步骤5生成的样本集进行训练。
6-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分。如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替。
6-2建立每个字的向量表示。利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
6-3建立Span表示。对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure BDA0003131727640000055
Figure BDA0003131727640000056
表示拼接操作。
6-4将步骤6-3得到的Span表示进行预测。定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数。训练时使用交叉熵损失函数,更新参数:
Figure BDA0003131727640000057
求得步骤6-4中损失函数的最小化,训练得到最终的模型。
步骤7具体方法如下:
使用步骤1-2-3获得的测试集数据,构建预测样本集,使用步骤6训练所得模型,对预测样本集进行预测。
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)}。利用步骤6-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别。
进一步的,所述的互联网语料库采用wiki中文语料库。
本发明有益效果如下:
1)通过知识蒸馏,将多个模型的知识压缩到单一神经网络的训练采样过程中,并辅以PU学习分类器,保证了知识的准确性。
2)在实体数据漏标严重的情况下,本发明能够有效减少样本集中的噪音数据,降低漏标实体数据对抽取结果的影响,改善抽取效果。
附图说明
图1为本发明实施例整体结构框架图;
图2为本发明实施例教师网络模块结构框架图;
图3为本发明实施例PU学习模块结构框架图;
图4为本发明实施例学生网络结构框架图。
具体实施方式
以下结合附图与实施例对本发明方法进行进一步说明;
如图1所示,一种基于知识蒸馏和PU学习的实体抽取采样方法,步骤如下:
步骤1:获取互联网语料库,经并将其整理得到<文本,实体>格式的数据集。
1-3所述的互联网语料库采用现有公开的数据库。
1-4构建数据集。具体实施步骤如下:
1-2-1定义实体类别。具体可以参考行业内对于实体类型定义的规则规范。
1-2-2实体关系标注。对于存在实体的文本,可从中得到命名实体及其对应位置。根据步骤1-2-1定义的实体类型,采用人工标注的方法,对互联网语料中的命名实体进行标注,生成数据集。
1-2-3数据集拆分。将所有文本数据拆分成两部分,其中85%作为训练集,15%作为测试集,分别用于模型的训练和测试。
进一步的,所述的互联网语料库采用wiki中文语料库。
步骤2:对训练集数据进行预处理。
所述的预处理包括对所得数据集进行清洗和结构化整理,以便后续用于模型的输入。具体实施步骤如下:
2-1数据清洗,删除文本中的非法字符、空格、换行符。
2-2以字为粒度将文本分割,构建字典。构建的字典D={d1,d2,...,dz}。其中z为字典的总长度,di表示字典中第i个字。
2-3构建实体类型字典。
构建的实体类型字典L={l0,l1,l2,...,lp}。其中p为实体类型数,l0表示非实体类型,li表示第i个实体类型。
步骤3:构建教师网络,生成训练集的候选实体集D1。
图2为本发明实施例教师网络模块结构框架图;所述的候选实体集D1,即训练集中潜在的漏标实体集,由集成模型(教师网络)在训练集上的预测结果组成。集成模型由多个子模型共同组成。具体实施步骤如下:
3-1构造子模型的训练集。
对步骤1-2-3中得到的原始训练集进行K次随机采样,每次均随机抽取原始训练数据集中80%的数据,作为子模型的训练集。
3-2构建子模型的训练样本,即对步骤3-1生成的子模型训练集进行采样。
使用Span格式对样本进行表示。对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk)。Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure BDA0003131727640000071
lk是类型标签,表示
Figure BDA0003131727640000072
所属的实体类型。
所述的训练样本主要由正样本集合和负样本集合组成。正样本集由已标注实体集Y构成。负样本集合N由N0中随机采样的negsamples个样本构成。
Figure BDA0003131727640000073
其中m为实体数量,即正样本总数,negpercent为负采样比例,实验中取值为0.7。
Figure BDA0003131727640000074
其中maxspanlen为最大Span长度,实验中取值为15。l0表示Span(i,j)不是实体。
故训练样本集T=Y∪N
3-3构建实体抽取模型,作为构建集成模型的子模型。
3-3-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分。如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替。
3-3-2建立每个字的向量表示。利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
3-3-3建立Span表示。对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure BDA0003131727640000081
Figure BDA0003131727640000082
表示拼接操作。
3-3-4将步骤3-3-3得到的Span表示进行预测。定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数。训练时使用交叉熵损失函数,更新参数:
Figure BDA0003131727640000083
3-4利用集成学习,构造训练集数据的候选实体集D1。
3-4-1训练得到子模型。
使用步骤3-1生成的K个子模型训练集,依次通过梯度下降算法求得步骤3-3-4中损失函数的最小化,训练得到K个子模型。
3-4-2利用子模型依次对原始训练数据集进行预测。
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)}。利用步骤3-2-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别。
3-4-3使用投票法集成,构建候选实体集D1。统计预测样本集在K个子模型下的预测结果,记Span(i,j)被预测为l0的次数为Count(i,j),则候选实体集
Figure BDA0003131727640000084
步骤4:构建PU学习分类器,生成训练集的候选实体集D2。
图3为本发明实施例PU学习模块结构框架图;所述的候选实体集D2由PU学习分类器在候选实体集D1上的预测结果组成。构建D2的具体步骤如下:
4-1构建PU学习分类器的训练样本。
对于文本数据S={s1,s2,...,sn},n是句子长度,和已标注实体集Y={y1,y2,...,ym},m是实体数量。PU学习分类器的训练样本Tpu可被表示为:
P={((i,j),1)|((i,j),l)∈Y}
Figure BDA0003131727640000091
Tpu=P∪U
4-2构建并训练pu学习分类器。
对任意((i,j),l)∈Tpu,Span(i,j)的向量表示hi,j可由步骤3-2-3得到。
则Span(i,j)被预测为正例的概率为:f(i,j)=σ(Wfhi,j+bf),
其中σ表示sigmoid函数。
训练时损失函数定义为:
Figure BDA0003131727640000092
Figure BDA0003131727640000093
Figure BDA0003131727640000094
Figure BDA0003131727640000095
其中,πp表示实体词在U中的比例,可以通过步骤3-3-3中集成模型在训练集数据中的预测结果计算得到。
训练过程中,求损失函数的最小化进行模型训练。
4-3使用pu学习分类器,对D1进行筛选,得到候选实体集D2。
使用步骤4-2训练得到的pu学习分类器依次预测D1中的候选实体。获得候选实体集D2={(i,j)|f(i,j)>θ,(i,j)∈D1}
其中θ表示分界阈值,实验中取0.75。
步骤5:构建学生网络训练样本集
训练时使用的数据集为步骤1-2-3中得到的训练集。所述的学生网络训练样本集由正样本集合和负样本集合组成。
对步骤1-2-3中得到的训练集进行采样。
使用Span格式对样本进行表示。对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk)。Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure BDA0003131727640000096
lk是类型标签,表示
Figure BDA0003131727640000097
所属的实体类型。
所述的训练样本主要由正样本集合和负样本集合组成。正样本集由已标注实体集Y构成。负样本集合N由N0中随机采样的negsamples个样本构成。
Figure BDA0003131727640000101
其中m为实体数量,即正样本总数,negpercent为负采样比例,实验中取值为0.7。
为防止漏标数据被采集成为负样本参与训练,需将N0定义为:
Figure BDA0003131727640000102
其中maxspanlen为最大Span长度,实验中取值为15。l0表示Span(i,j)不是实体。
故学生网络训练样本集T=Y∪N;
步骤6:学生网络模型训练。
使用步骤5生成的样本集进行训练。
6-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分。如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替。
6-2建立每个字的向量表示。利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
6-3建立Span表示。对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure BDA0003131727640000103
Figure BDA0003131727640000104
表示拼接操作。
6-4将步骤6-3得到的Span表示进行预测。定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数。训练时使用交叉熵损失函数,更新参数:
Figure BDA0003131727640000105
求得步骤6-4中损失函数的最小化,训练得到最终的模型。
图4为本发明实施例学生网络结构框架图。
步骤7:学生网络模型预测。
使用步骤1-2-3获得的测试集数据,构建预测样本集,使用步骤6训练所得模型,对预测样本集进行预测。
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)}。利用步骤6-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别。

Claims (9)

1.一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤如下:
步骤1:获取互联网语料库,经并将其整理得到<文本,实体>格式的数据集;
步骤2:对训练集数据进行预处理;
步骤3:构建教师网络,生成训练集的候选实体集D1;
步骤4:构建PU学习分类器,生成训练集的候选实体集D2;
步骤5:构建学生网络训练样本集;
步骤6:学生网络模型训练;
步骤7:学生网络模型预测。
2.根据权利要求1所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤1具体步骤如下:
1-1所述的互联网语料库采用现有公开的数据库;
1-2构建数据集;具体实施步骤如下:
1-2-1定义实体类别;具体可以参考行业内对于实体类型定义的规则规范;
1-2-2实体关系标注;对于存在实体的文本,可从中得到命名实体及其对应位置;根据步骤1-2-1定义的实体类型,采用人工标注的方法,对互联网语料中的命名实体进行标注,生成数据集;
1-2-3数据集拆分;将所有文本数据拆分成两部分,其中85%作为训练集,15%作为测试集,分别用于模型的训练和测试。
3.根据权利要求2所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤2具体步骤如下:
所述的预处理包括对所得数据集进行清洗和结构化整理,以便后续用于模型的输入;具体实施步骤如下:
2-1数据清洗,删除文本中的非法字符、空格、换行符;
2-2以字为粒度将文本分割,构建字典;构建的字典D={d1,d2,...,dz};其中z为字典的总长度,di表示字典中第i个字;
2-3构建实体类型字典;
构建的实体类型字典L={l0,l1,l2,...,lp};其中p为实体类型数,l0表示非实体类型,li表示第i个实体类型。
4.根据权利要求3所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤3具体步骤如下:
所述的候选实体集D1,即训练集中潜在的漏标实体集,由集成模型,即教师网络在训练集上的预测结果组成;集成模型由多个子模型共同组成;具体实施步骤如下:
3-1构造子模型的训练集;
对步骤1-2-3中得到的原始训练集进行K次随机采样,每次均随机抽取原始训练数据集中80%的数据,作为子模型的训练集;
3-2构建子模型的训练样本,即对步骤3-1生成的子模型训练集进行采样;
使用Span格式对样本进行表示;对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk);Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure FDA0003131727630000021
lk是类型标签,表示
Figure FDA0003131727630000022
所属的实体类型;
所述的训练样本主要由正样本集合和负样本集合组成;正样本集由已标注实体集Y构成;负样本集合N由N0中随机采样的negsamples个样本构成;
Figure FDA0003131727630000023
其中m为实体数量,即正样本总数,negpercent为负采样比例;
Figure FDA0003131727630000024
其中maxspanlen为最大Span长度;l0表示Span(i,j)不是实体;
故训练样本集T=Y∪N
3-3构建实体抽取模型,作为构建集成模型的子模型;
3-3-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分;如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替;
3-3-2建立每个字的向量表示;利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
3-3-3建立Span表示;对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure FDA0003131727630000025
Figure FDA0003131727630000026
表示拼接操作;
3-3-4将步骤3-3-3得到的Span表示进行预测;定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数;训练时使用交叉熵损失函数,更新参数:
Figure FDA0003131727630000027
3-4利用集成学习,构造训练集数据的候选实体集D1;
3-4-1训练得到子模型;
使用步骤3-1生成的K个子模型训练集,依次通过梯度下降算法求得步骤3-3-4中损失函数的最小化,训练得到K个子模型;
3-4-2利用子模型依次对原始训练数据集进行预测;
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)};利用步骤3-2-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别;
3-4-3使用投票法集成,构建候选实体集D1;统计预测样本集在K个子模型下的预测结果,记Span(i,j)被预测为l0的次数为Count(i,j),则候选实体集
Figure FDA0003131727630000031
5.根据权利要求4所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤4具体步骤如下:
所述的候选实体集D2由PU学习分类器在候选实体集D1上的预测结果组成;构建D2的具体步骤如下:
4-1构建PU学习分类器的训练样本;
对于文本数据S={s1,s2,...,sn},n是句子长度,和已标注实体集Y={y1,y2,...,ym},m是实体数量;PU学习分类器的训练样本Tpu可被表示为:
P={((i,j),1)|((i,j),l)∈Y}
Figure FDA0003131727630000032
Tpu=P∪U
4-2构建并训练pu学习分类器;
对任意((i,j),l)∈Tpu,Span(i,j)的向量表示hi,j可由步骤3-2-3得到;
则Span(i,j)被预测为正例的概率为:f(i,j)=σ(Wfhi,j+bf),
其中σ表示sigmoid函数;
训练时损失函数定义为:
Figure FDA0003131727630000041
Figure FDA0003131727630000042
Figure FDA0003131727630000043
Figure FDA0003131727630000044
其中,πp表示实体词在U中的比例,可以通过步骤3-3-3中集成模型在训练集数据中的预测结果计算得到;
训练过程中,求损失函数的最小化进行模型训练;
4-3使用pu学习分类器,对D1进行筛选,得到候选实体集D2;
使用步骤4-2训练得到的pu学习分类器依次预测D1中的候选实体;获得候选实体集D2={(i,j)|f(i,j)>θ,(i,j)∈D1}
其中θ表示分界阈值。
6.根据权利要求5所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤5具体步骤如下:
训练时使用的数据集为步骤1-2-3中得到的训练集;所述的学生网络训练样本集由正样本集合和负样本集合组成;
对步骤1-2-3中得到的训练集进行采样;
使用Span格式对样本进行表示;对于文本数据S={s1,s2,...,sn}和已标注实体集Y={y1,y2,...,ym},n是句子长度,m是实体数量,集合Y中的任意元素yk是一个元组(Span(ik,jk),lk);Span(ik,jk)=(ik,jk)是一个跨度,对应一个字符串序列
Figure FDA0003131727630000045
lk是类型标签,表示
Figure FDA0003131727630000046
所属的实体类型;
所述的训练样本主要由正样本集合和负样本集合组成;正样本集由已标注实体集Y构成;负样本集合N由N0中随机采样的negsamples个样本构成;
Figure FDA0003131727630000047
其中m为实体数量,即正样本总数,negpercent为负采样比例;
为防止漏标数据被采集成为负样本参与训练,需将N0定义为:
Figure FDA0003131727630000048
其中maxspanlen为最大Span长度;l0表示Span(i,j)不是实体;
故学生网络训练样本集T=Y∪N。
7.根据权利要求6所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤6具体步骤如下:
使用步骤5生成的样本集进行训练;
6-1对文本数据S={s1,s2,...,sn}进行填充达到固定长度max_seq_length,得到SP={sp1,sp2,...,spmax_seq_length},如果原始序列长度小于max_seq_length,则使用“PAD”进行填充,如果长度超过max_seq_length则丢弃超过长度的部分;如果文本数据中的字步骤2-2构建的字典D中,使用“UNK”代替;
6-2建立每个字的向量表示;利用步骤2-2构建的字典,将输入文本数据中的每个字映射成对应索引,通过Bert模型得到当前文本的上下文语义信息,将每个字spt转化为一个768维的稠密向量wt
6-3建立Span表示;对任意((i,j),l)∈T,Span(i,j)的向量表示可被定义为:
Figure FDA0003131727630000051
Figure FDA0003131727630000052
表示拼接操作;
6-4将步骤6-3得到的Span表示进行预测;定义
Scorel(i,j)=softmax(FFN(hi,j))
为Span(i,j)在标签l下的分数,其中FFN为前馈神经网络,使用ReLU作为激活函数;训练时使用交叉熵损失函数,更新参数:
Figure FDA0003131727630000053
求得步骤6-4中损失函数的最小化,训练得到最终的模型。
8.根据权利要求7所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,步骤7具体方法如下:
使用步骤1-2-3获得的测试集数据,构建预测样本集,使用步骤6训练所得模型,对预测样本集进行预测;
对于文本数据S={s1,s2,...,sn},和已标注实体集Y={y1,y2,...,ym},构建预测样本集Pr={(i,j)|1≤i≤j≤min(n,i+spanlen)};利用步骤6-4求得Pr中元素在各个标签下概率的最大值,即可确定对应样本的标签类别。
9.根据权利要求1-8任意所述的一种基于知识蒸馏和PU学习的实体抽取采样方法,其特征在于,所述的互联网语料库采用wiki中文语料库。
CN202110704680.5A 2021-06-24 2021-06-24 一种基于知识蒸馏和pu学习的实体抽取采样方法 Withdrawn CN113420548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110704680.5A CN113420548A (zh) 2021-06-24 2021-06-24 一种基于知识蒸馏和pu学习的实体抽取采样方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110704680.5A CN113420548A (zh) 2021-06-24 2021-06-24 一种基于知识蒸馏和pu学习的实体抽取采样方法

Publications (1)

Publication Number Publication Date
CN113420548A true CN113420548A (zh) 2021-09-21

Family

ID=77716781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110704680.5A Withdrawn CN113420548A (zh) 2021-06-24 2021-06-24 一种基于知识蒸馏和pu学习的实体抽取采样方法

Country Status (1)

Country Link
CN (1) CN113420548A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114299349A (zh) * 2022-03-04 2022-04-08 南京航空航天大学 一种基于多专家系统和知识蒸馏的众包图像学习方法
CN114817742A (zh) * 2022-05-18 2022-07-29 平安科技(深圳)有限公司 基于知识蒸馏的推荐模型配置方法、装置、设备、介质
CN115618022A (zh) * 2022-12-19 2023-01-17 中国科学技术大学 一种基于数据合成和两阶段自训练的低资源关系抽取方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114299349A (zh) * 2022-03-04 2022-04-08 南京航空航天大学 一种基于多专家系统和知识蒸馏的众包图像学习方法
CN114817742A (zh) * 2022-05-18 2022-07-29 平安科技(深圳)有限公司 基于知识蒸馏的推荐模型配置方法、装置、设备、介质
CN114817742B (zh) * 2022-05-18 2022-09-13 平安科技(深圳)有限公司 基于知识蒸馏的推荐模型配置方法、装置、设备、介质
CN115618022A (zh) * 2022-12-19 2023-01-17 中国科学技术大学 一种基于数据合成和两阶段自训练的低资源关系抽取方法
CN115618022B (zh) * 2022-12-19 2023-04-28 中国科学技术大学 一种基于数据合成和两阶段自训练的低资源关系抽取方法

Similar Documents

Publication Publication Date Title
CN110134757B (zh) 一种基于多头注意力机制的事件论元角色抽取方法
CN111209401A (zh) 网络舆情文本信息情感极性分类处理系统及方法
CN110188781B (zh) 一种基于深度学习的古诗文自动识别方法
CN113420548A (zh) 一种基于知识蒸馏和pu学习的实体抽取采样方法
CN110413783B (zh) 一种基于注意力机制的司法文本分类方法及系统
CN111177326A (zh) 基于精标注文本的关键信息抽取方法、装置及存储介质
CN112183670B (zh) 一种基于知识蒸馏的少样本虚假新闻检测方法
CN112149421A (zh) 一种基于bert嵌入的软件编程领域实体识别方法
CN112183064B (zh) 基于多任务联合学习的文本情绪原因识别系统
CN111966812B (zh) 一种基于动态词向量的自动问答方法和存储介质
CN115858758A (zh) 一种多非结构化数据识别的智慧客服知识图谱系统
CN112052684A (zh) 电力计量的命名实体识别方法、装置、设备和存储介质
CN112560486A (zh) 基于多层神经网络的电力实体识别方法、存储介质和设备
CN113742733B (zh) 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置
CN116432655B (zh) 基于语用知识学习的少样本命名实体识别方法和装置
CN113051887A (zh) 一种公告信息元素抽取方法、系统及装置
CN110826298A (zh) 一种智能辅助定密系统中使用的语句编码方法
CN114266254A (zh) 一种文本命名实体识别方法与系统
CN115098673A (zh) 基于变体注意力及层次结构的业务文书信息抽取方法
CN116522165B (zh) 一种基于孪生结构的舆情文本匹配系统及方法
CN115186670B (zh) 一种基于主动学习的领域命名实体识别方法及系统
CN113435201A (zh) 一种Span标注框架下的实体抽取采样方法
CN115130475A (zh) 一种可扩展的通用端到端命名实体识别方法
CN114419394A (zh) 一种数据有限和不平衡的语义软标签图像识别方法及装置
CN114357166A (zh) 一种基于深度学习的文本分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20210921

WW01 Invention patent application withdrawn after publication