1.本发明涉及关键词提取技术领域,尤其涉及一种通过特征集合降维的关键词/序列提取方法。
背景技术:
2.关键词/序列提取是提取文本中最能表达文本的词或序列,是自然语言理解中的一类通用任务。常用的关键词/序列提取的模型有tf-idf、textrank、计算词/序列频次、基于语义相似性选取top-n词/序列。无论使用哪种模型,都是基于文本特征集合(features)建模。features维度(通过分词和n-gram获得的feature的个数)和feature(features中的元素)的多样性表示(不同语言的表示、不同时态的表示、不同风格的表示)都会影响到模型的性能(准确性、计算速度等)和模型对设备的要求(算力和内存)。例如:
3.1)feature的多样性表示会影响模型提取结果和features维度:
4.exp:“新冠病毒”、“新型冠状病毒”、“covid19”、“covid-19”、“novel coronavirus”,都是feature“新冠病毒”的多种性表示,但是在模型计算的过程中是按多个feature进行训练,不但增加了提取关键词/序列的难度和不准确性,而且也增大了features的维度。
5.2)随着features维度的增加模型训练对设备的要求也会随之增加:
6.exp:对于海量数据,features的维度会非常大(例如百万、千万、十亿的量级),模型内部的运算迭代过程会因向量维度过大引起内存不足无法运行。
技术实现要素:
7.为解决上述技术问题,本发明的目的是提供一种通过特征集合降维的关键词/序列提取方法,该方法首先获取特征集合features(排重后);其次,将features转换为向量表示features_embedding;然后,根据features_embedding元素间相似性及阈值(可以根据不同任务不同需求人工设置)对features进行降维,得到降维后的特征集合features_reduction及features和features_reduction之间的映射关系map;最后,使用降维后的特征集合features_reduction进行关键词/序列提取。
8.本发明的目的通过以下的技术方案来实现:
9.一种通过特征集合降维的关键词/序列提取方法,包括:
10.a、对文本集合处理,获取特征集合;
11.b、获取特征集合的向量表示;
12.c、对特征集合降维,得到降维后的特征集合及特征集合降维后的特征集合之间的映射关系map;
13.d、关键词/序列提取。
14.与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
15.不仅可以提高关键词/序列的提取质量,并降低在海量数据的关键词/序列提取模
型训练过程中向量计算所需的算力和内存开销,其中的降维算法模块也可以很好的应用到高维(相似性无法一次性计算得出)特征集合的降维。
附图说明
16.图1是通过特征集合降维的关键词/序列提取方法流程图。
具体实施方式
17.为使本发明的目的、技术方案和优点更加清楚,下面将结合实施例及附图对本发明作进一步详细的描述。
18.如图1所示,为通过特征集合降维的关键词/序列提取方法,包括:
19.获取特征集合features:该模块主要是对文本集合corpus的处理,通过分词和n-gram得到特征集合,并根据特征频次降序排列得到features=[feature_0,feature_1,........,feature_n-1],n》1,features是n维,每一维代表一个feature。
[0020]
获取features的向量表示features_embedding:该模块主要是获取对features的语义表示,采用pretrained language mode(例如:multi-lingual-sbert,也可以使用其他ptlms)将每个feature转化为一个高维向量,features_embedding=[f_emb_0,f_emb_1,......,f_emb_n-1],n》1,其中f_emb_n-1是m维(m是由ptlms模型参数决定,可以根据需要选择不同的维度),所以features_embedding是一个n行m列的矩阵,f_emb_n-1代表的是feature_n-1的向量表示。
[0021]
features降维:该模块主要是根据features_embedding元素间的相似性及阈值对features进行降维,即减小n的值,最后得到降维后的特征集合features_reduction及features和features_reduction之间的映射关系map(features,features_reduction),降维过程如下:
[0022]
(1)按一定长度l给features分块:l《n
[0023]
features=[fch_0,fch_1,......,fch_i,......,fch_p-1],p=(n/l 1)向下取整;
[0024]
其中:
[0025]
fch_i=[feature_0,feature_1,.......,features_l-1],l《n;
[0026]
fch_p-1=[feature_0,feature_1,.......,features_j-1],j《=l。
[0027]
(2)按一定长度l给features_embedding按行分块:
[0028]
features_embedding=[fembch_0,fembch_1,......fembch_i,......,fembch_p-1]],p=(n/l 1)向下取整;
[0029]
其中:
[0030]
fembch_i=[f_emb_0,f_emb_1,......,f_emb_l-1],l《n;
[0031]
fembch_p-1=[f_emb_0,f_emb_1,......,f_emb_j-1],j《=l。
[0032]
(3)序计算features中第i块和第j块之间的相似性s
i,j
,并合并更新features和features_embedding:
[0033]
遍历顺序:按行遍历对角线和上三角,从左到右,从上到下,即i≤j<p,
[0034][0035]
其中:
[0036]si,j
=cosine(fembch_i,fembch_j),fembch_i对应的是fch_i的向量表示,j同样
[0037]
进一步展开:
[0038][0039]
a)按顺序依次取i,j,如果满足i≤j<p则计算s
i,j
;
[0040]
b)根据设定的相似性阈值t(0《t《1.0)和s
i,j
进行feature合并,合并流程:
[0041]
对于于如果果x≥y,,则继续遍历下一个元素;
[0042]
如果果则则fch_j块中的第y个feature合并fch_i块块中的第x个feature;
[0043]
循环执行b1和b2直至遍历完s
i,j
中的所有元素。
[0044]
c)更新features和features_embedding:
[0045]
根据记录的s
i,j
中被合并掉的feature,删除features中第j块fch_j中相应的feature,fch_j的维度降低;
[0046]
根据记录的s
i,j
中被合并掉的feature,删除features_embedding中第j块fembch_j中相应的feature向量表示,fembch_j的维度降低。
[0047]
d)直到遍历完s中所有的块,由于features_embedding的维度降低,s
i,j
计算速度加快,且随着迭代次数速度会越来越快。
[0048]
(4)当features维度不再下降后结束训练过程,得到降维后的特征集合features_reduction及features到features_reduction的映射关系map(features,features_reduction)。
[0049]
关键词/序列提取:该模块是根据map(features,features_reduction)将模型输入features进行转换为对应的features_reduction,再进行提取模型训练得到提取结果。
[0050]
具体实施例如下:
[0051]
任务类型:topic聚类后,给每个topic类别提取关键词/序列;
[0052]
任务数据:共有832万条文献,聚合出了6000个topic类别
[0053]
处理流程如下:
[0054]
获取特征集合features:提取832万条文献的关键词作为特征集合,共有特征723万个,所以features=[feature_0,feature_1,........,feature_n-1],n=7230000。
[0055]
获取features的向量表示features_embedding:该模块是主要是对features的语义表示,采用pretrained language mode(例如:multi-lingual-sbert,也可以使用其他
ptlms)将每个feature转化为一个高384维向量,features_embedding=[f_emb_0,f_emb_1,......,f_emb_n-1],features_embedding是一个n行m列的矩阵,n=7230000,m=384。
[0056]
features降维:参数l取100000(可根据设备性能调整),相似性阈值t取值0.8(可根据任务需要做调整),降维后的features_reduction维度为1430000,为features维度的1/5。
[0057]
关键词/序列提取:该模块是根据map(features,features_reduction)将模型输入features进行转换为对应的features_reduction,再进行模型训练,提取的词/序列能更好的表达topic。
[0058]
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
技术特征:
1.一种通过特征集合降维的关键词/序列提取方法,其特征在于,包括a、对文本集合处理,获取特征集合;b、获取特征集合的向量表示;c、对特征集合降维,得到降维后的特征集合及特征集合与降维后的特征集合之间的映射关系;d、关键词/序列提取。2.如权利要求1所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述a中,通过分词和n-gram得到特征集合,并根据特征频次降序排列得到features=[feature_0,feature_1,........,feature_n-1],n>1,features是n维,每一维代表一个feature。3.如权利要求1所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述b中,将每个feature转化为一个高维向量,features_embedding=[f_emb_0,f_emb_1,......,f_emb_n-1],n>1,其中f_emb_n-1是m维,因此,features_embedding是一个n行m列的矩阵,f_emb_n-1代表的是feature_n-1的向量表示。4.如权利要求1所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述c具体包括:根据features和features_embedding对features进行降维,得到降维后的特征集合features_reduction及features和features_reduction之间的映射关系map;降维过程具体包括:(1)按一定长度l给features分块;(2)按一定长度l给features_embedding按行分块;(3)按顺序计算features中第i块和第j块之间的相似性s
i,j
,并合并更新features和features_embedding;(4)在features维度不再下降后,结束训练过程,得到降维后的特征集合features_reduction及features到features_reduction的映射关系map。5.如权利要求4所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述(1)中,features=[fch_0,fch_1,......,fch_i,......,fch_p-1],p=(n/l 1)向下取整;其中:fch_i=[feature_0,feature_1,.......,features_l-1],l<n;fch_p-1=[feature_0,feature_1,.......,features_j-1],j<=l;所述(2)中,features_embedding=[fembch_0,fembch_1,......fembch_i,......,fembch_p-1]],p=(n/l 1)向下取整;其中:fembch_i=[f_emb_0,f_emb_1,......,f_emb_l-1],l<n;fembch_p-1=[f_emb_0,f_emb_1,......,f_emb_j-1],j<=l;所述(3)中:遍历顺序:按行遍历对角线和上三角,从左到右,从上到下,即i≤j<p,
其中:s
i,j
=cosine(fembch_i,fembch_j),fembch_i对应的是fch_i的向量表示,j同样进一步展开:6.如权利要求5所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述(3)中:(a)按顺序依次取i,j,如果满足i≤j<p则计算s
i,j
;(b)根据设定的相似性阈值t和s
i,j
,其中0<t<1.0,进行feature合并;(c)更新features和features_embedding;(d)直到遍历完s中所有的块,由于features_embedding的维度降低,s
i,j
计算速度加快,且随着迭代次数速度会越来越快。7.如权利要求6所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述(b)中,feature合并流程包括:b1)对于于如果果x≥y,,则继续遍历下一个元素;b2)如果果则fch_j块中的第y个feature合并fch_i块块中的第x个feature;b3)循环执行b1和b2直至遍历完s
i,j
中的所有元素。8.如权利要求6所述的通过特征集合降维的关键词/序列提取方法,其特征在于,所述(c)中:更新features和features_embedding包括:c1)根据记录的s
i,j
中被合并掉的feature,删除features中第j块fch_j中相应的feature,fch_j的维度降低;c2)根据记录的s
i,j
中被合并掉的feature,删除features_embedding中第j块fembch_j中相应的feature向量表示,fembch_j的维度降低。
技术总结
本发明公开了一种通过特征集合降维的关键词/序列提取方法,包括对文本集合处理,获取特征集合;获取特征集合的向量表示;对特征集合降维,得到降维后的特征集合及特征集合与降维后的特征集合之间的映射关系;关键词/序列提取。本发明不仅可以提高关键词/序列的提取质量,并降低在海量数据的关键词/序列提取模型训练过程中向量计算所需的算力和内存开销,其中的降维算法模块也可以很好的应用到高维(相似性无法一次性计算得出)特征集合的降维。(相似性无法一次性计算得出)特征集合的降维。(相似性无法一次性计算得出)特征集合的降维。
技术研发人员:冯晓燕 吴晨
受保护的技术使用者:同方知网数字出版技术股份有限公司
技术研发日:2022.02.16
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-12694.html