CN113505225B - 一种基于多层注意力机制的小样本医疗关系分类方法 - Google Patents
一种基于多层注意力机制的小样本医疗关系分类方法 Download PDFInfo
- Publication number
- CN113505225B CN113505225B CN202110773764.4A CN202110773764A CN113505225B CN 113505225 B CN113505225 B CN 113505225B CN 202110773764 A CN202110773764 A CN 202110773764A CN 113505225 B CN113505225 B CN 113505225B
- Authority
- CN
- China
- Prior art keywords
- sentence
- sentences
- word
- relation
- vector
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000007246 mechanism Effects 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 64
- 238000013145 classification model Methods 0.000 claims abstract description 39
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 238000013528 artificial neural network Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 149
- 230000008569 process Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000002372 labelling Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000006165 Knowles reaction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- General Business, Economics & Management (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- Epidemiology (AREA)
- Animal Behavior & Ethology (AREA)
- Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于多层注意力机制的小样本医疗关系分类方法,涉及关系分类技术领域。该方法包括:基于神经网络构建关系分类模型,包括词嵌入层、两个位置嵌入层、编码层和全连接层,其输入为支持集和查询集中的句子,输出为查询集中的句子所属的关系类别;获取公开关系抽取数据集,设置训练次数,利用所述关系抽取数据集的训练集训练所述关系分类模型,每次训练所述关系分类模型时所需要的支持集和查询集从所述训练集中随机抽取;对于包含任意N个关系的支持集和其包含的句子属于该N个关系的查询集,利用训练好的关系分类模型预测查询集中的句子属于支持集中的关系类别。从不同方面降低了噪声对模型准确率的影响,更准确地挖掘实体之间的关系。
Description
技术领域
本发明涉及关系分类技术领域,具体涉及一种基于多层注意力机制的小样本医疗关系分类方法。
背景技术
知识图谱(Knowledge Graph)是一种通过结构化的形式来陈述客观世界中实体(entity)以及不同实体之间的关系(relation)的方法。知识图谱由实体关系三元组(e1,r,e2)构成,其中e1、e2表示实体,r表示两个实体之间的关系。关系分类任务是知识图谱的重要子任务。关系分类旨在实体关系三元组中两个实体已知的基础上,从非结构化文本中抽取关系。近年来,关系分类在医疗领域的应用也十分广泛,给定非结构化的医疗文本,根据已知的两个医学实体找出这两个实体之间的关系。目前关系分类大量的研究都集中在了监督学***衡性。这种情况意味着,对于样本非常少的关系来说每一条数据都特别珍贵。因此,有必要对训练实例不足的关系分类模型进行研究,采用小样本学习进行医疗关系分类的方法应运而生。
小样本学习(Few-Shot Learning,FSL)是致力于探索关系分类模型在样本数量非常少的情况下如何能快速适应新任务的一种方法。该方法的目标就是使用数量远小于监督学习所需要的数据,达到接近甚至超过监督学习的实验效果。小样本学习方法与普通的监督学习的不同之处在于训练关系分类模型的目标是学习如何分类而不是学习分哪些类。具体地,已知一组有标签的数据集合S,S有N个类别,每个类别有K个样本。此时,有一个未知标签的数据Q是属于集合S中N个类中的一类,但是不知道具体是N个类中的哪个类。小样本学习就是要让关系分类模型学会分辨未知标签的数据Q属于已知有标签的数据集合S中的哪个类。其中,集合S我们称之为支持集(Support Set),数据Q我们称之为查询集(QuerySet)。如表1所示,支持集有3类关系,每类关系有2个例子并且已知每个例子中的两个实体。我们需要判断查询集中的数据所包含的两个实体之间的关系是支持集中3个关系的哪一个。
表1
基于度量的小样本学习方法是目前研究的热门方向。其中,原型网络是解决小样本分类问题的比较实用并且具有代表性的方法。但是,由于小样本学习样本少的特性使得关系分类模型容易受到噪声的干扰。其中噪声的来源有以下两个方面:首先,噪声可能来源于被错误标注的支持集中的数据。由于小样本学习的样本很少,那么每个样本非常的重要,如果有一个样本被标错了,那么这一个被标错的样本对整个关系分类模型的影响是非常大的。其次,噪声可能来源于那些和查询集不太接近的支持集中的数据。例如:获得某某奖项这个关系类型包含了获得电影节的奖项和获得音乐节的奖项等不同的奖项,但是不同奖项之间也是有一些区别的。在小样本学习中,如果查询集的例子是音乐节的奖项,那我们更希望支持集中给出的样例是音乐节的例子,而不是电影节的例子(虽然这两种都是获得某某奖项)。目前,针对小样本降噪方面的研究成果不多,现有的研究工作采用注意力机制解决噪声问题。尽管如此,噪声数据对关系分类模型的性能影响仍然较大。当支持集中包含的噪声数据越多,性能影响就越明显。
发明内容
在现有的小样本关系分类方法中,针对支持集中可能出现的噪声问题,现有方法采用注意力机制的方法来解决噪声问题,但是噪声对关系分类模型的性能影响依然很大,需要进一步优化解决。针对现有技术存在的问题,本发明提供一种基于多层注意力机制的小样本医疗关系分类方法,旨在利用小样本学习训练思想来对未见过的、可能携带噪声的、样本量非常少的医疗数据进行关系预测,并通过对支持集数据进行降噪来提高医疗关系分类的准确率。
本发明的技术方案是:
一种基于多层注意力机制的小样本医疗关系分类方法,所述方法包括以下步骤:
步骤1:基于神经网络构建关系分类模型;
所述关系分类模型,包括词嵌入层、两个位置嵌入层、编码层和全连接层;所述关系分类模型的输入为支持集和查询集中的句子,输出为查询集中的句子所属的关系类别;
步骤2:获取公开的关系抽取数据集,设置训练次数,利用所述关系抽取数据集的训练集训练所述关系分类模型,每次训练所述关系分类模型时所需要的支持集和查询集从所述训练集中随机抽取;
步骤3:对于包含任意N个关系的支持集和其包含的句子属于该N个关系的查询集,利用训练好的关系分类模型预测查询集中的句子属于支持集中的哪个关系。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述公开的关系抽取数据集为FewRel数据集。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,利用所述关系抽取数据集的训练集训练所述关系分类模型的一次训练过程,包括如下步骤:
步骤2.1:从所述关系抽取数据集的训练集中预定义的M个关系中随机选择N个关系,从该N个关系的每个关系的例句中随机选择K个句子作为支持集以及随机选择Q个句子作为查询集,并将支持集中标注每个句子所属关系的类别标签取出来组成类别标签集合;
步骤2.2:从所述训练集的所述N个关系以外的M-N个关系对应的例句中为支持集引入噪声句子;
步骤2.3:分别对支持集和查询集中的每个句子进行分词处理且将各句子的长度进行统一,并对统一长度的各句子中的每个单词确定单词序号;
步骤2.4:通过编码层得到支持集和查询集中每个句子的包含上下文语义关系的句子向量;
步骤2.5:获取所述训练集中所有类别标签中每个单词的词向量,并根据每个类别标签所包含单词的词向量确定每个类别标签的向量,进而获得由所有类别标签的向量构成的类别标签向量集合;
步骤2.6:从所述类别标签向量集合中取出支持集中所包含的类别标签对应的向量,并将其输入到全连接层得到新的类别标签向量;
步骤2.7:通过多层注意力机制得到支持集中每个句子的权重,将支持集中每个关系所包含的K个句子的各句子向量分别乘以各句子所对应的权重后求和得到每个关系的类别向量;
步骤2.8:根据查询集中每个句子的句子向量到支持集中每个关系的类别向量的距离来判断查询集中的每个句子属于哪个关系类别;
步骤2.9:根据步骤2.8的结果,对模型参数进行调整。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述步骤2.2包括如下步骤:
步骤2.2.1:确定用于表示支持集中噪声数据所占比例的噪声率n;
步骤2.2.2:根据噪声率n计算出支持集中需要替换为新句子的句子数量T后,从所述训练集中除了上述N个关系以外的M-N个关系对应的例句中随机选择T个句子进行相应地替换且不改变被替换句子标签,为支持集引入噪声数据。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述将各句子的长度进行统一的方法为:如果原句子长度没有达到预设的句子长度,就在原句后面加入特殊字符[UNK]进行补齐;如果原句长度超过了预设的句子长度就将超出的部分舍弃,这样就使各句子的长度统一。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述对各句子中的每个单词确定单词序号的方法为:从word2id词典中找到每个句子所包含的各个单词对应的单词序号,获得每个句子包含的所有单词的序号。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述步骤2.4包括如下步骤:
步骤2.4.1:通过词嵌入层获取每个句子中每个单词的词向量;
步骤2.4.2:通过两个位置嵌入层获取每个句子中每个单词的位置嵌入向量;
步骤2.4.3:对于每个句子,对其每个单词的词向量和位置嵌入向量进行拼接,得到每个单词最终的向量;
步骤2.4.4:基于每个句子中每个单词最终的向量,通过编码层得到每个句子的包含上下文语义关系的句子向量。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,所述步骤2.5包括如下步骤:
步骤2.5.1:获取所述训练集中所有的类别标签中每个单词的词向量;
步骤2.5.2:确定每个类别标签的向量,获得类别标签向量集合;
将每个类别标签所包含单词的词向量相加并取平均值,将该平均值作为该类别标签的向量。
进一步地,根据所述的基于多层注意力机制的小样本医疗关系分类方法,使用训练好的词向量文件glove.6B.50d.json获取每个单词的词向量。
本发明提出的基于多层注意力机制的小样本医疗关系分类方法,与现有技术相比较具有如下有益效果:
首先,支持集中的样本是不平等的。因为,预定义的关系类型会包含很多不同类型的子类型关系。在支持集中的句子中,那些关系类型与查询集中的关系类型更加相近的句子是更有用的。为了缓解此问题,本发明通过多层注意力机制中计算支持集和查询集之间的相似度这个步骤可以给予支持集中不同的句子以不同的权重,进而更加有效地利用支持集中的数据。
其次,由于在数据集的数据标注过程中难免会伴随着标注错误问题,这些标注错误的句子会导致支持集中混入噪声数据,从而影响模型的准确率。为了降低噪声数据对模型准确率的影响,采用多层注意力机制中计算支持集和类别标签之间的相似度这个步骤可以给予那些和类别标签相似度高的句子更高的权重,给予那些和类别标签相似度低的句子以更小的权重。通过这个步骤可以减轻噪声数据对结果的影响,进而提高模型准确率。
采用本发明的基于多层注意力机制的小样本医疗关系分类方法,可以更加准确地表示支持集中每个类别的向量,从不同方面降低了噪声对模型准确率的影响,应用在医疗***上可以更准确地挖掘实体之间的关系,从而更精准地做出判断。
附图说明
图1为原型网络的流程示意图;
图2为本实施方式的基于多层注意力机制的小样本医疗关系分类方法的流程示意图;
图3为本实施方式的关系分类模型结构示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。
本发明的核心思路为:针对支持集中的句子,通过对每个句子赋予不同的权重来降低噪声句子对最终类别向量的影响,具体是,使用多层注意力机制对重要的样本给以更高的权重、对噪声样本给以更低的权重,进而提高关系分类的准确率。
原型网络(prototypical networks)是解决小样本分类问题的比较实用并且具有代表性的方法。图1是原型网络的流程示意图,原型网络的主要思想非常简单:当支持集中有N个类、每类有K个句子时,求每个类所包含的K个句子所对应的句子向量的均值,将求得的N个均值向量作为这N个类的代表。再利用距离函数计算查询集与N个均值的距离,距离最小的类就是查询集所属的类。本发明就是在原型网络的基础上对如何获取更加准确的向量来代表一个类进行了改进。
图2是本实施方式的基于多层注意力机制的小样本医疗关系分类方法的流程示意图,所述基于多层注意力机制的小样本医疗关系分类方法包括以下步骤:
步骤1:基于神经网络构建关系分类模型;
所述关系分类模型,如图3所示,包括词嵌入层、两个位置嵌入层、编码层和全连接层。所述关系分类模型的输入为支持集和查询集中的句子,输出为查询集中的句子所属的关系类别。
步骤2:获取公开的关系抽取数据集,设置训练次数,利用所述关系抽取数据集的训练集训练所述关系分类模型,每次训练所述关系分类模型时所需要的支持集和查询集从所述训练集中随机抽取。
训练模型的次数根据模型的收敛情况而定,在优选实施例中,训练次数设置为15000次。在优选实施例中,所获取的公开的关系抽取数据集为FewRel数据集,加载FewRel数据集的训练集后,每次训练所需的支持集和查询集由从FewRel训练集中随机抽取获得。
利用所述关系抽取数据集的训练集训练所述关系分类模型的一次训练过程,包括如下步骤:
步骤2.1:从所述关系抽取数据集的训练集中预定义的M个关系中随机选择N个关系,然后从每个关系的例句中随机选择K个句子作为支持集,以及从每个关系的例句中随机选择 Q个句子作为查询集,并将支持集中标注每个句子所属关系的类别标签取出来组成类别标签集合;
在优选实施例中,首先从FewRel数据集的训练集中预定义的M个关系中随机选择N个关系;然后从每个关系的例句中随机选择K个句子作为支持集,以及从每个关系的例句中随机选择Q个句子作为查询集;再然后将支持集中标注每个句子所属关系的类别标签取出来组成类别标签集合。其中N、K可以是大于等于0的任意的整数,N一般取值为5,10,K一般取值为1,5,10。
步骤2.2:从所述关系抽取数据集的训练集中所述N个关系以外的M-N个关系对应的例句中为支持集引入噪声数据;
步骤2.2.1:确定用于表示支持集中噪声数据所占比例的噪声率n;
为了模仿真实的噪声场景,需要给支持集引入噪声数据。因此,需要预定义一个噪声率 n来表示支持集中噪声数据的比例,n是0到1之间的数,可以为0、0.1、0.3、0.5。
步骤2.2.2:根据噪声率n计算出支持集中需要替换为新句子的句子数量T后,从所述关系抽取数据集的训练集中除了上述N个关系以外的M-N个关系对应的例句中随机选择T个句子在不改变被替换句子标签的情况下进行相应地替换,为支持集引入噪声数据;
当预定义的噪声率n不为0时,说明支持集中有T=N*K*n个句子需要被替换为的噪声句子。在优选实施例中,从FewRel数据集的训练集中所述N个关系之外的预定义的关系中随机选择选出N*K*n个句子作为噪声数据随机替换原来支持集里面的同数量句子。例如,假设支持集中有10个句子,噪声率n为0.1,那么T等于10乘以0.1等于1。也就是说需要从支持集中的10个句子中随机选一个句子替换为一个新句子,这个新的句子为噪声数据。
注意:将T个新的句子称为噪声数据是因为支持集中原本属于N个类别中的句子被替换成其他类别的句子,但是没有改变标签集合。所以将这T个句子看做噪声。例如:将表1中支持集中的句子London is the capital of the U.K.替换为NortheasternUniversity is located in Shenyang.但是我们依然将Northeastern University islocated in Shenyang.的关系看成capital of而不是located in。那么对于capital of这个关系类别来说,Northeastern University is located in Shenyang就是噪声数据,因为这句话并没有包含capital of这个关系。
步骤2.3:分别对支持集和查询集中的每个句子进行分词处理且将各句子的长度进行统一,并对统一长度的各句子中的每个单词确定单词序号。
步骤2.3.1:将支持集和查询集中的每个句子进行分词处理。
对每个句子X={W1···Wn}进行分词,将句子中连续的单词切分,将完整的句子X分成一个个的单词,得到单词切分之后的句子X={W1,W2,···,Wn}。
步骤2.3.2:将分词后的各句子长度进行统一化处理,统一为固定的句子长度。
在优选实施例中设定句子长度为40:如果原句子长度没有达到预设的长度,就在原句后面加入特殊字符[UNK]进行补齐;如果原句长度超过了预设的句子长度就将超出的部分舍弃,这样就使各句子的长度统一。
步骤2.3.3:确定个句子中每个单词的单词序号。
从word2id词典(该词典包含词和词对应的序号,例如:"miniskirts":68029)中找到每个句子所包含的各个单词对应的单词序号,获得每个句子包含的所有单词的序号。
步骤2.4:通过编码层得到支持集和查询集中每个句子的包含上下文语义关系的句子向量。
步骤2.4.1:通过词嵌入层获取每个句子中每个单词的词向量。
将整个句子包含的所有单词的序号作为输入,输入到词嵌入层中。词嵌入层的作用是从已经训练好的词向量文件中取出整句话中每个词所对应的词向量。其中,词向量的维度为dw。优选实施例中使用的预训练好的词向量文件是glove.6B.50d.json。
步骤2.4.2:通过两个位置嵌入层获取每个句子中每个单词的位置嵌入向量。
由于单词离实体越近对关系的确定的影响越大,本实施方式使用了位置嵌入。对于每个单词,首先计算其与该单词所在句子中头实体和尾实体两个实体的相对距离,再将这两个距离大小分别输入到两个位置嵌入层,得到两个维度大小为dp的位置向量,最后将这两个位置向量拼接起来,得到维度大小为2×dp的位置嵌入向量。
步骤2.4.3:对于每个句子,对其每个单词的词向量和位置嵌入向量进行拼接,得到每个单词最终的向量。
通过拼接每个句子中每个单词的词向量和位置嵌入向量,可以得到每个单词最终的向量,如公式(1)和公式(2)所示:
其中,{e1,...,en}表示每个单词最终的向量,wi表示每个单词的词向量,pi表示每个单词的位置嵌入向量,di表示每个单词最终的维度大小,dw表示每个单词的词向量的维度大小, dp表示每个单词的位置向量的维度大小。
步骤2.4.4:基于每个句子中每个单词最终的向量,通过编码层得到每个句子的包含上下文语义关系的句子向量。
所述编码层可以采用BERT或者由卷积神经网络和池化层组成。在优选实施例中,编码层由卷积神经网络和池化层组成,具体编码过程如下:
通过卷积神经网络CNN对每个句子中每个单词的最终的向量{e1,...,en}进行编码,CNN 在{e1,...,en}上滑动一个窗口大小为m的卷积核,得到dh维的隐藏嵌入向量hi,然后将隐藏嵌入向量输入到池化层,输出最终的句子向量x。
此时得到大小为(N*K,D)的支持集、大小为(N*Q,D)的查询集。其中N为类别数;K为每类的样本数;Q为查询集的句子数;D为每个句子的句子向量的维度。
步骤2.5:获取所述训练集中所有类别标签中每个单词的词向量,并根据每个类别标签所包含单词的词向量确定每个类别标签的向量,进而获得由所有类别标签的向量构成的类别标签向量集合。
步骤2.5.1:获取所述公开的关系抽取数据集的训练集中所有的类别标签中每个单词的词向量。
在优选实施例中,是从预训练好的词向量文件glove.6B.50d.json中取出FewRel数据集的训练集中预定义好的所有的类别标签中每个单词的词向量。具体是,首先将FewRel数据集的训练集中所有的类别标签切分成一个个单词,使用预训练好的词向量文件glove.6B.50d.json中的向量作为这些单词的基础向量,根据类别标签包含的单词从glove.6B.50d.json中取出每个单词的词向量。
步骤2.5.2:确定每个类别标签的向量,得到类别标签向量集合。
将每个类别标签所包含单词的词向量相加并取平均值,将该平均值作为该类别标签的向量。这样就获得由所有类别标签的向量构成的类别标签向量集合,并进行存储。
步骤2.6:从所述类别标签向量集合中取出支持集中所包含的类别标签对应的向量,并将其输入到全连接层得到新的类别标签向量。
取出步骤2.1得到的类别标签集合,从所述类别标签向量集合中找到类别标签集合中的每个类别标签所对应的向量,然后将这些向量输入到全连接层,得到新的类别标签向量。全连接层起到了将分布的特征表示映射到样本标记空间的作用。
步骤2.7:通过多层注意力机制得到支持集中每个句子的权重,将支持集中每个关系所包含的K个句子的各句子向量分别乘以各句子所对应的权重后求和得到每个关系的类别向量。
步骤2.7.1:利用多层注意力机制计算支持集中每个句子的权重。
首先,计算支持集中每个句子的句子向量和查询集中每个句子的句子向量之间的相似度然后,计算支持集中每个句子的句子向量与该句子对应的类别标签向量之间的相似度/>其次,将/>和/>相乘,得到每个句子的权重。
其中相似度的计算过程如下:以支持集中句子的句子向量和查询集中句子的句子向量之间的相似度为例,首先,将支持集中一个关系中包含的K个句子的句子向量分别和查询集中的一个句子的句子向量相乘。这里的相乘是按照每个维度相乘,并不是相乘之后相加。然后,将相乘之后的结果输入到激活函数tanh中。之后,将每个句子的各个维度相乘的结果加起来,得到ej,ej就表示支持集中一个关系中包含的K个句子分别和查询集中一个句子之间的相关性。最后,将每个关系中K个句子的ej相加得到E,然后每个ej除以E就是这个句子和查询集中一个句子之间的相似度αj。相关公式如下:
其中,g(·)是线性层,⊙是元素层面上的乘积,σ(·)是一个激活函数,sum{·}表示向量中所有元素的和,i表示属于第i个关系,j表示第j个句子,表示支持集中第i个关系的第 j个句子的句子向量,q表示查询集中一个句子的句子向量,ej就表示支持集中一个关系包含的K个句子的句子向量分别和查询集中一个句子的句子向量之间的相关性,ek表示支持集中一个关系第K个句子的句子向量和查询集中一个句子的句子向量之间的相关性,αj表示支持集中一种关系所包含的K个句子的句子向量分别和查询集中一个句子的句子向量之间的相似度,ki表示支持集中每个关系所包含的句子数。
步骤2.7.2:将支持集中每个关系所包含的K个句子的各句子向量分别乘以各句子所对应的权重后求和,得到每个关系的类别向量Ci,相关公式如下:
其中,i表示属于第i个关系,j表示第j个句子,表示支持集中第i个关系的第j个句子的句子向量,/>表示支持集中每个句子的句子向量和查询集中句子的句子向量之间的相似度,/>表示支持集中每个句子的句子向量和类别标签向量之间的相似度,ki表示支持集中每个关系所包含的句子数,Ci表示支持集中每个关系的类别向量。
步骤2.8:根据查询集中每个句子的句子向量到支持集中每个关系的类别向量的距离来判断查询集中的每个句子属于哪个关系类别。
首先,使用欧氏距离计算查询集每个句子的句子向量和支持集中每个关系的类别向量之间的距离。然后,根据计算出的距离d,判断离哪个类别向量最近,就说明查询集的这个句子是属于这个类别向量对应的关系。距离公式如公式(6)所示:
将每个类的句子表示Ci和查询集的向量q共同输入到距离公式中求查询集到每个类别的距离。
d(Ci,q)=(Ci-q)2 (6)
其中,q表示查询集中一个句子的句子向量,Ci表示支持集中每个关系的类别向量,d 表示计算出的距离。
步骤2.9:根据步骤2.8的结果,对模型参数进行调整即调参。
本实施方式使用交叉熵损失函数来计算损失值,损失值表示正确的结果与预测的结果之间的误差值,然后将损失值反向传递给模型,模型利用损失值结合机器学习方法进行参数调整,使得模型的参数被调整至一个合适的值。
根据预设的模型训练次数,按照步骤2.1至步骤2.9的一次训练方法,重复执行步骤2.1 至步骤2.9,直至达到预设的模型训练次数,完成关系分类模型的训练。在优选实施例中,跟训练次数设置为15000次,重复执行步骤2.1至步骤2.9共15000次,此时模型的损失值达到了最小。
步骤3:对于包含任意N个关系的支持集和其包含的句子属于该N个关系的查询集,利用训练好的关系分类模型预测查询集中的句子属于支持集中的哪个关系。
表2为本实施方式的关系分类模型的测试结果,根据测试结果可以看出,在N=5和K=5 的情况下与现有的Proto-HATT模型相比,本模型的抗噪能力更强,在极端情况下也可以更加准确的预测关系类别。
表2
模型 | 噪声率n=0.5 | 噪声率n=0.8 |
Proto-HATT(N=5K=5) | 准确率=73.88% | 准确率=49.28% |
关系分类模型(N=5K=5) | 准确率=74.01% | 准确率=52.24% |
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (8)
1.一种基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述方法包括以下步骤:
步骤1:基于神经网络构建关系分类模型;
所述关系分类模型,包括词嵌入层、两个位置嵌入层、编码层和全连接层;所述关系分类模型的输入为支持集和查询集中的句子,输出为查询集中的句子所属的关系类别;
步骤2:获取公开的关系抽取数据集,设置训练次数,利用所述关系抽取数据集的训练集训练所述关系分类模型,每次训练所述关系分类模型时所需要的支持集和查询集从所述训练集中随机抽取;
步骤3:对于包含任意N个关系的支持集和其包含的句子属于该N个关系的查询集,利用训练好的关系分类模型预测查询集中的句子属于支持集中的哪个关系;
利用所述关系抽取数据集的训练集训练所述关系分类模型的一次训练过程,包括如下步骤:
步骤2.1:从所述关系抽取数据集的训练集中预定义的M个关系中随机选择N个关系,从该N个关系的每个关系的例句中随机选择K个句子作为支持集以及随机选择Q个句子作为查询集,并将支持集中标注每个句子所属关系的类别标签取出来组成类别标签集合;
步骤2.2:从所述训练集的所述N个关系以外的M-N个关系对应的例句中为支持集引入噪声句子;
步骤2.3:分别对支持集和查询集中的每个句子进行分词处理且将各句子的长度进行统一,并对统一长度的各句子中的每个单词确定单词序号;
步骤2.4:通过编码层得到支持集和查询集中每个句子的包含上下文语义关系的句子向量;
步骤2.5:获取所述训练集中所有类别标签中每个单词的词向量,并根据每个类别标签所包含单词的词向量确定每个类别标签的向量,进而获得由所有类别标签的向量构成的类别标签向量集合;
步骤2.6:从所述类别标签向量集合中取出支持集中所包含的类别标签对应的向量,并将其输入到全连接层得到新的类别标签向量;
步骤2.7:通过多层注意力机制得到支持集中每个句子的权重,将支持集中每个关系所包含的K个句子的各句子向量分别乘以各句子所对应的权重后求和得到每个关系的类别向量;
步骤2.8:根据查询集中每个句子的句子向量到支持集中每个关系的类别向量的距离来判断查询集中的每个句子属于哪个关系类别;
步骤2.9:根据步骤2.8的结果,对模型参数进行调整。
2.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述公开的关系抽取数据集为FewRel数据集。
3.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述步骤2.2包括如下步骤:
步骤2.2.1:确定用于表示支持集中噪声数据所占比例的噪声率n;
步骤2.2.2:根据噪声率n计算出支持集中需要替换为新句子的句子数量T后,从所述训练集中除了上述N个关系以外的M-N个关系对应的例句中随机选择T个句子进行相应地替换且不改变被替换句子标签,为支持集引入噪声数据。
4.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述将各句子的长度进行统一的方法为:如果原句子长度没有达到预设的句子长度,就在原句后面加入特殊字符[UNK]进行补齐;如果原句长度超过了预设的句子长度就将超出的部分舍弃,这样就使各句子的长度统一。
5.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述对统一长度的各句子中的每个单词确定单词序号的方法为:从word2id词典中找到每个句子所包含的各个单词对应的单词序号,获得每个句子包含的所有单词的序号。
6.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述步骤2.4包括如下步骤:
步骤2.4.1:通过词嵌入层获取每个句子中每个单词的词向量;
步骤2.4.2:通过两个位置嵌入层获取每个句子中每个单词的位置嵌入向量;
步骤2.4.3:对于每个句子,对其每个单词的词向量和位置嵌入向量进行拼接,得到每个单词最终的向量;
步骤2.4.4:基于每个句子中每个单词最终的向量,通过编码层得到每个句子的包含上下文语义关系的句子向量。
7.根据权利要求1所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,所述步骤2.5包括如下步骤:
步骤2.5.1:获取所述训练集中所有的类别标签中每个单词的词向量;
步骤2.5.2:确定每个类别标签的向量,获得类别标签向量集合;
将每个类别标签所包含单词的词向量相加并取平均值,将该平均值作为该类别标签的向量。
8.根据权利要求6或7所述的基于多层注意力机制的小样本医疗关系分类方法,其特征在于,使用训练好的词向量文件glove.6B.50d.json获取每个单词的词向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773764.4A CN113505225B (zh) | 2021-07-08 | 2021-07-08 | 一种基于多层注意力机制的小样本医疗关系分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773764.4A CN113505225B (zh) | 2021-07-08 | 2021-07-08 | 一种基于多层注意力机制的小样本医疗关系分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505225A CN113505225A (zh) | 2021-10-15 |
CN113505225B true CN113505225B (zh) | 2023-07-25 |
Family
ID=78012180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110773764.4A Active CN113505225B (zh) | 2021-07-08 | 2021-07-08 | 一种基于多层注意力机制的小样本医疗关系分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505225B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328921B (zh) * | 2021-12-27 | 2024-04-09 | 湖南大学 | 一种基于分布校准的小样本实体关系抽取方法 |
CN115033689B (zh) * | 2022-05-27 | 2023-04-18 | 重庆邮电大学 | 一种基于小样本文本分类原型网络欧氏距离计算方法 |
CN117235286B (zh) * | 2023-11-10 | 2024-01-23 | 昆明理工大学 | 强化注意力的实体关系抽取模型及其构建方法、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020682A (zh) * | 2019-03-29 | 2019-07-16 | 北京工商大学 | 一种基于小样本学习的注意力机制关系对比网络模型方法 |
CN110019822A (zh) * | 2019-04-16 | 2019-07-16 | 中国科学技术大学 | 一种少样本关系分类方法及*** |
CN110097094A (zh) * | 2019-04-15 | 2019-08-06 | 天津大学 | 一种面向人物交互的多重语义融合少样本分类方法 |
CN112541355A (zh) * | 2020-12-11 | 2021-03-23 | 华南理工大学 | 一种实体边界类别解耦的少样本命名实体识别方法与*** |
CN113051839A (zh) * | 2021-05-12 | 2021-06-29 | 中国人民解放军海军航空大学 | 一种基于深度学习的设备剩余寿命预测模型构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266562B2 (en) * | 2005-02-14 | 2007-09-04 | Levine Joel H | System and method for automatically categorizing objects using an empirically based goodness of fit technique |
-
2021
- 2021-07-08 CN CN202110773764.4A patent/CN113505225B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020682A (zh) * | 2019-03-29 | 2019-07-16 | 北京工商大学 | 一种基于小样本学习的注意力机制关系对比网络模型方法 |
CN110097094A (zh) * | 2019-04-15 | 2019-08-06 | 天津大学 | 一种面向人物交互的多重语义融合少样本分类方法 |
CN110019822A (zh) * | 2019-04-16 | 2019-07-16 | 中国科学技术大学 | 一种少样本关系分类方法及*** |
CN112541355A (zh) * | 2020-12-11 | 2021-03-23 | 华南理工大学 | 一种实体边界类别解耦的少样本命名实体识别方法与*** |
CN113051839A (zh) * | 2021-05-12 | 2021-06-29 | 中国人民解放军海军航空大学 | 一种基于深度学习的设备剩余寿命预测模型构建方法 |
Non-Patent Citations (2)
Title |
---|
Few-Shot Learning With Attention-Weighted Graph Convolutional Networks For Hyperspectral Image Classification;Xinyi Tong 等;《2020 IEEE International Conference on Image Processing (ICIP)》;第1-2页 * |
基于注意力机制和图卷积的小样本分类网络;王晓茹 等;《计算机工程与应用》;第57卷(第19期);第164-170页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113505225A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505225B (zh) | 一种基于多层注意力机制的小样本医疗关系分类方法 | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN112215013B (zh) | 一种基于深度学习的克隆代码语义检测方法 | |
CN109947963A (zh) | 一种基于深度学习的多尺度哈希检索方法 | |
CN110532554A (zh) | 一种中文摘要生成方法、***及存储介质 | |
CN113505200B (zh) | 一种结合文档关键信息的句子级中文事件检测的方法 | |
CN108630199A (zh) | 一种声学模型的数据处理方法 | |
CN104408153A (zh) | 一种基于多粒度主题模型的短文本哈希学习方法 | |
CN108664512B (zh) | 文本对象分类方法及装置 | |
CN110851176B (zh) | 一种自动构造并利用伪克隆语料的克隆代码检测方法 | |
CN109213997B (zh) | 一种基于双向长短时记忆网络模型的中文分词方法 | |
CN110046356B (zh) | 标签嵌入的微博文本情绪多标签分类方法 | |
CN111966810B (zh) | 一种用于问答***的问答对排序方法 | |
CN112036168B (zh) | 事件主体识别模型优化方法、装置、设备及可读存储介质 | |
CN111325264A (zh) | 一种基于熵的多标签数据分类方法 | |
CN112394973B (zh) | 一种基于伪孪生网络的多语言代码剽窃检测方法 | |
CN111833310A (zh) | 一种基于神经网络架构搜索的表面缺陷分类方法 | |
CN113836896A (zh) | 一种基于深度学习的专利文本摘要生成方法和装置 | |
CN113987174A (zh) | 分类标签的核心语句提取方法、***、设备及存储介质 | |
CN115687609A (zh) | 一种基于Prompt多模板融合的零样本关系抽取方法 | |
CN115859996A (zh) | 一种实体关系抽取模型及其构建方法 | |
CN112434512A (zh) | 一种结合上下文语境的新词确定方法及装置 | |
CN115688789B (zh) | 一种基于动态标签的实体关系抽取模型训练方法及*** | |
CN113986345B (zh) | 一种预训练增强的代码克隆检测方法 | |
CN115081472A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |