一种基于对比学习的专业领域术语挖掘方法

文档序号:33475060发布日期:2023-03-15 09:55阅读:49来源:国知局
一种基于对比学习的专业领域术语挖掘方法

1.本发明属于机器学习技术领域,具体涉及一种基于对比学习的专业领域术语挖掘方法。


背景技术:

2.专业术语被视为专业领域文献中重要主题信息的描述和总结,是概括文本的最小单位,也被认为是专业领域文献的最小摘要,可以有效地用于理解、组织和检索论文内容。例如在学术出版物中,文章开头的关键词部分提到了最能代表其内容的词语,读者可以通过专业术语决定是否阅读各类信息系统,也可以利用专业术语轻松完成论文分类和快速检索等工作。
3.专业领域文献的数据是庞大的,导致在网络上搜索任何主题时,访问与主题相关的文献可能会遇到困难。如果有一些词语来代表文献的内容、主题等主要特征,就可以更轻松地检索到相关文献。根据关键词提取技术的发展历程,可以将其细分为关键词抽取阶段与关键词生成阶段。其中,关键词抽取阶段指从原文中筛选能表达专业领域主题的词语作为专业术语,该专业术语必然在文献中出现;专业术语生成阶段指从词表或原文中选择与文献主题最契合的词语作为文本的专业术语,与该专业术语是否在文献中出现无关。
4.专业术语可以帮助人们快速理解专业领域文献的主旨、把握论文的主体脉络。专业术语抽取技术是在专业文献中抽取若干具有实际意义且有代表性的词语或词组,以便快速获取专业主旨的重要方法,其在文献检索、自动摘要、文本聚类和文本分类等方面都有重要应用。
5.相较于其他文献,科技文献具有一些独特的特点。其中,摘要部分是科技文献最关键和核心的部分,摘要部分需要包含体现论文的新颖性、创造性与实用性的全部必不可少的技术特征,以说明论文研究的范围。虽然摘要部分没有显性的结构化信息,但是摘要有一定的书写规则,通过挖掘论文的摘要,能够为专业文献关键词抽取提供有用的信息。据此,本发明基于专业领域文献进行关键词提取和处理,以概括其的相关领域和使用的技术。


技术实现要素:

6.本发明的目的在于提供一种基于对比学习的专业领域术语挖掘方法,准确挖掘专业领域术语。
7.为实现上述目的,本发明所采取的技术方案为:
8.一种基于对比学习的专业领域术语挖掘方法,所述基于对比学习的专业领域术语挖掘方法,包括:
9.步骤1、基于专业领域的语料库形成术语列表;
10.步骤1-1、采用信息熵算法和互信息算法挖掘语料库中的新短语;
11.步骤1-2、将挖掘的新短语加入分词词库,以分词词库对语料库中所有语句进行分词,并提取每一分词词语中的关键词,对提取的关键词去重合并后形成关键词列表;
12.步骤1-3、过滤关键词列表中的非专业词语,并进行词条匹配得到术语列表;
13.步骤2、对术语列表中的术语进行领域分类;
14.步骤2-1、取术语列表中每条术语对应的词条;
15.步骤2-2、将词条分句,并将各分句输入基于对比学习的句向量学习模型,输出词条中各分句对应的句向量;
16.步骤2-3、将术语对应的bert模型训练的词向量和术语对应词条中各分句对应的句向量拼接后输入分类模型,得到术语的领域分类结果;
17.步骤3、基于术语列表构建专业领域的树型术语关系树;
18.步骤3-1、根据领域分类结果对术语列表中的术语进行聚类;
19.步骤3-2、将术语与术语所在的分句向量进行拼接,拼接后再与术语所在的文段向量进行拼接得到术语的特征向量;所述术语所在的分句向量由对比学习模型基于术语所在专业文献中的摘要部分训练得到,所述术语所在的文段向量由bert模型基于术语所在专业文献中的摘要部分训练得到;
20.步骤3-3、将属于同一类别的术语的特征向量成对输入基于对比学习的关系识别模型,得到每对中两个术语之间的关系;
21.步骤3-4、根据两两术语之间的关系,构建各个专业领域的树型术语关系树。
22.以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
23.作为优选,所述采用信息熵算法和互信息算法挖掘语料库中的新短语,包括:
24.步骤1-1-1、将语料库中所有语句分割成单个字符,每个字符作为一个候选片段,形成候选片段集合cs;
25.步骤1-1-2、将候选片段集合cs中相邻的两个候选片段作为一个候选短语cp,计算候选短语cp的左信息熵le(cp)和右信息熵re(cp);
26.步骤1-1-3、针对候选短语cp,计算候选短语cp的内部互信息mi(cp);
27.步骤1-1-4、设置得分阈值δ和概率阈值λ,针对每个候选短语cp,计算得分s(cp)为s(cp)=mi(cp)+min(le(cp),re(cp)),如果候选短语cp在语料库中的出现概率大于λ且得分s(cp)大于δ,则确认候选短语cp为一个新短语;
28.步骤1-1-5、将确认为新短语的两个候选片段组合作为一个新的候选片段,更新候选片段集合cs,跳转到步骤1-1-2开始下一轮迭代,直至无新短语出现。
29.作为优选,所述左信息熵le(cp)和右信息熵re(cp)的计算公式如下:
[0030][0031][0032]
式中,l(cp)指候选短语cp在语料库中所有左边候选片段的集合,r(cp)指候选短语cp在语料库中所有右边候选片段的集合,p(x)指候选片段x在语料库中的出现概率;
[0033]
所述内部互信息mi(cp)的计算公式如下:
[0034][0035]
式中,x、y为构成候选短语cp的两个候选片段,p(y)指候选片段y在语料库中的出现概率,p(x,y)指候选短语cp在语料库中出现的概率。
[0036]
作为优选,所述过滤关键词列表中的非专业词语,并进行词条匹配得到术语列表,包括:
[0037]
步骤1-3-1、基于词性标注算法得到关键词列表中每个关键词的词性,过滤掉不是名词和不是动词的关键词;
[0038]
步骤1-3-2、将步骤1-3-1过滤后的关键词列表中的每个关键词在互联网知识库中进行词条匹配,舍弃匹配不到词条的关键词,最终形成术语列表,术语列表中每一个术语对应一条词条。
[0039]
作为优选,所述分类模型包括依次连接的长短期记忆网络、全连接层和softmax层,输入至长短期记忆网络的向量经过全连接层后由softmax层输出术语的领域分类结果。
[0040]
作为优选,所述术语的特征向量的拼接公式为:
[0041]h″
t=w0[concat(h0,h

t
)]+b0[0042]h′
t
=concat(s
t
,h
t
)
[0043]
式中,s
t
为术语列表中的第t个术语,h
t
为术语s
t
所在的分句向量,concat(,)为向量拼接函数,h

t
为术语s
t
与术语所在的分句向量h
t
拼接后的新向量,h0为术语s
t
所在的文段向量,b0为偏差向量,w0为权重,h

t为术语s
t
对应的特征向量。
[0044]
作为优选,所述句向量学习模型和分类模型的训练过程如下:
[0045]
取基于训练数据形成的术语列表作为训练术语列表;
[0046]
对于训练术语列表中的每条术语ri,构建分类样本si=(doc(ri),li),其中,doc(ri)为术语ri匹配的词条,li为术语ri的类型;
[0047]
句向量模型的训练包括:
[0048]
输入层:将doc(ri)词条分句,随机抽取其中两个分句s
k1
和s
k2
,将两个分句分别对应一个300
×
1的小矩阵sd
k1
和sd
k2
,同时标记这两个分句是否为相邻分句,记入[cls]标记位,将小矩阵sdk输入至句向量模型的输入层:
[0049]
编码层:对每个小矩阵sdk使用encoder对其进行编码,接入到dropout层防止过拟合,输出每个分句对应的300
×
1的小矩阵svk作为分句的句向量;
[0050]
交互层:根据[cls]标记位判断一组分句是正样本还是负样本,令分句向量与其正样本的相似度高,而与其负样本的相似度小,将编码层输出的句向量分布映射到mlp层进行表示,并在mlp层根据对比学习的loss公式训练句向量模型参数;
[0051]
分类模型的训练包括:
[0052]
在句向量模型训练完成后,利用句向量模型输出每个分句的句向量;
[0053]
将术语对应的bert模型训练的词向量和句向量模型输出每个分句的句向量拼接后输入分类模型,预测术语的领域分类结果;
[0054]
根据预测的术语的领域分类结果和术语实际的类型li将计算损失函数训练分类模型参数。
[0055]
本发明提供的一种基于对比学习的专业领域术语挖掘方法,使用了bert预训练模
型训练词向量,并且使用对比学习的方式训练句子向量,通过预训练,可以大大增强模型在下游任务进行分类和关系识别的能力,使模型达到最大的效果。同时考虑专业术语词向量和整体的文段向量,相互融合后提取征,有更好的预测性。
附图说明
[0056]
图1为本发明的基于对比学习的专业领域术语挖掘方法的流程图。
[0057]
图2为本发明提供的一个对比学习模型的示意图;
[0058]
图3为本发明术语关系识别的流程图。
具体实施方式
[0059]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
[0061]
参照图1,本实施例提供一种基于对比学习的领域专业术语挖掘方法,包括如下步骤:
[0062]
(1)术语的抽取和筛选过滤:对论文的摘要语料进行预处理,处理完后采用互信息算法和信息熵算法提取词组和关键词,然后再用专业知识库过滤。由于专业文献中的摘要部分为具有代表性的内容,因此本实施例为了降低处理压力,取专业文献中的摘要部分作为语料库中的内容。
[0063]
(1-1)采用信息熵算法和互信息算法挖掘语料库中的新短语。
[0064]
(1-1-1)将语料库d中所有语句分割成单个字符,每个字符作为一个候选片段,形成候选片段集合cs。
[0065]
(1-1-2)将集合cs中相邻的两个候选片段作为一个候选短语cp,根据公式(1)计算候选短语cp的左信息熵le(cp),根据公式(2)计算候选短语cp的右信息熵re(cp)。其中,l(cp)指候选短语cp在语料库d中所有左边候选片段的集合,r(cp)指候选短语cp在语料库d中所有右边候选片段的集合,p(x)指候选片段x在语料库d中的出现概率。本实施例中出现概率可以通过目标候选片段的个数和总候选片段的个数的比例进行表示。
[0066][0067][0068]
(1-1-3)针对候选短语cp,根据公式(3)计算候选短语cp的内部互信息mi(cp)。其中,x、y为构成候选短语cp的两个候选片段,p(y)指候选片段y在语料库中的出现概率,p(x,y)指候选片段x和y在语料库d中一起出现的概率。
[0069][0070]
(1-1-4)设置得分阈值δ和概率阈值λ,针对每个候选短语cp,根据公式(4)计算得分s(cp)。如果候选短语cp的出现概率p(x,y)大于λ且得分s(cp)大于δ,则认为候选短语cp是一个新短语。
[0071]
s(cp)=mi(cp)+min(le(cp),re(cp))(4)
[0072]
(1-1-5)将确认为新短语的片段组合作为新的候选片段,更新候选片段集合cs,跳转到步骤(1-1-2),开始下一轮迭代,直到无法发现新短语为止。
[0073]
(1-2)关键词列表建立:首先,将步骤(1-1)中抽取的新短语加入分词词库,对语料库d中所有语句进行分词。然后,采用tf-idf算法计算得到每一个分词语句中的关键词,对关键词进行去重合并后得到关键词列表ks。
[0074]
(1-3)术语列表建立:过滤掉关键词列表ks中非专业词语,具体步骤如下:
[0075]
(1-3-1)基于词性标注算法得到关键词列表ks中每个关键词的词性,过滤掉不是名词和不是动词的关键词。
[0076]
(1-3-2)将步骤(1-3-1)过滤后的关键词列表ks中的每个关键词在互联网知识库(如百度百科)中进行词条匹配,过滤掉匹配不到词条的关键词,最终形成术语列表rs,术语列表rs中每一个术语对应一条词条。
[0077]
(2)术语的预训练和领域分类:首先对候选术语进行语义拓展,扩大可用于训练的语料,然后采取对比学习的方法进行预训练,最后将得到的词向量导入分类模型,得到术语的领域分类。
[0078]
(2-1)取术语列表中每条术语对应的词条。
[0079]
(2-2)将词条分句,并将各分句输入基于对比学习的句向量学习模型,输出词条中各分句对应的句向量。
[0080]
(2-3)将术语对应的bert模型训练的词向量和术语对应词条中各分句对应的句向量拼接后输入分类模型,得到术语的领域分类结果。
[0081]
本实施例中的句向量学习模型为对比学习模型,分类模型包括依次连接的长短期记忆网络、全连接层和softmax层,输入至长短期记忆网络的向量经过全连接层后由softmax层输出术语的领域分类结果。
[0082]
句向量学习模型和分类模型的训练过程如下:
[0083]
(a)基于开源数据集形成训练术语列表rs’。
[0084]
(b)术语分类样本构建扩充:对于训练术语列表rs’中的每条术语ri,构建分类样本si=(doc(ri),li)。其中,doc(ri)为术语ri在互联网知识库中的词条描述文本,li为ri的类型,i取值为1至i,i为训练术语列表rs’中的术语总条数。
[0085]
(c)基于对比学习的句向量学习:具体包括如下模块:
[0086]
输入层:将doc(ri)词条分句得到k条分句,随机抽取其中两个分句j
k1
和j
k2
,将两个分句分别对应一个300
×
1的小矩阵sd
k1
和sd
k2
,同时标记这两个分句是否为相邻分句,记入[cls]标记位,将小矩阵sdk输入至句向量模型的输入层。其中,k1、k2、k取值均为1(包含)至k(包含)之间。
[0087]
编码层:对每个小矩阵sdk使用encoder对其进行编码,接入到dropout层防止过拟
合,输出每个分句对应的300
×
1的小矩阵svk作为分句的句向量。
[0088]
交互层:根据[cls]标记位判断一组分句是正样本还是负样本,令分句向量与其正样本的相似度高,而与其负样本的相似度小,图2是一个对比学习的实例图。将编码层输出的句向量分布映射到mlp层进行表示,并在mlp层根据对比学习的loss公式(损失函数公式)训练句向量模型参数。训练完成后输出分句对应的句向量。
[0089]
(d)术语分类:首先将术语对应的bert模型训练的词向量和句向量模型输出的doc(ri)文段的每个分句的句向量拼接,输入到长短期记忆网络(lstm)中,再输入一个全连接层,然后将全连接层的输出输入一个softmax层,最终softmax层根据doc(ri)输出术语ri的分类。根据预测的术语的领域分类结果和术语实际的类型li将计算损失函数训练分类模型参数。
[0090]
(3)术语的关系抽取和识别:基于对比学习对术语文段进行处理分析,提取文段特征向量,然后与术语的词向量进行融合,最终识别出术语之间的关系,构建专业领域的树型术语关系树,具体如图3所示。
[0091]
(3-1)定义术语之间的关系:将两个术语之间的关系定义为如下[“从属”,“平等”,“无关”]三种,并根据领域分类结果对术语列表中的术语进行聚类。
[0092]
(3-2)获取模型输入:将术语s
t
(例如为向量{ai,

,aj})与术语所在的分句向量h
t
进行拼接得到新的融合术语特征和分句特征的新向量h’t
,再将新得到的向量h’t
与bert模型训练得到的文段向量h0进行矩阵计算,计算的具体公式如下所示,w0为权重,b0为偏差向量。得到该术语s
t
最终的融合文本分段和术语的特征向量h”t
。向量h”t
同时具有文段的全局特征和两个术语的特征,所以在求取关系数据时能更好地把握全局特征,正确提出两个术语词汇的关系。
[0093]h″
t=w0[concat(h0,h

t
)]+b0ꢀꢀꢀꢀꢀꢀ
(5)
[0094]h′
t
=concat(s
t
,h
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0095]
为了区分训练时术语列表rs’中术语的表示方式和实际应用时术语列表rs中术语的表示方式,本实施例以s
t
表示术语列表rs中的第t个术语。并且术语所在的分句向量h
t
由对比学习模型基于术语所在专业文献中的摘要部分训练得到,术语所在的文段向量h0由bert模型基于术语所在专业文献中的摘要部分的具体段落训练得到。
[0096]
(3-3)关系识别模型构建:使用对比学习模型simcse来对术语的关系进行识别,对于属于同一类别的两个术语s1和s2将对应的h”1
和h”2
输入到对比学习的模型中。
[0097]
(3-4)根据两两术语之间的关系,构建各个专业领域的树型术语关系树。
[0098]
在对关系识别模型进行训练时,将两个术语的特征向量输入到encoder中,再分布到mlp层,根据对比学习的loss函数训练模型参数。
[0099]
在通过对比学习模型的mlp层后,再接入softmax层映射到具体的关系矩阵,得到两个术语的关系。softmax层使用的损失函数为交叉熵损失函数,该损失函数在处理分类问题时有非常出色的表现。
[0100]
本实施例在关系识别中,基于对比学习模型,通过对语句特征(分句向量、文段向量)和实体特征(术语本身)进行融合处理,获得的融合特征向量能够同时具有语句和两个实体的特征。这样的融合处理增强了模型对特征向量的处理能力,也提高了模型的泛化性,使其在进行关系抽取时有更好的表现。
[0101]
需要说明的是,本实施例中多处应用了对比学习模型和bert模型,不同阶段所使用的模型为各自独立模型,例如句向量学习模型和关系识别模型中的对比学习模型为两个独立的模型,各自训练使用,但是这两个对比学习模型可以是相同结构的模型,也可以是不同结构的模型。
[0102]
本实施例使用语义扩展的方法来进行改进训练语料不足导致的模型效果表现不佳的问题。通过引入对比学习来解决文本预训练问题,会在下游的关键词提取任务中有更好的表现。
[0103]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0104]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1