一种中文上位词检索方法及装置

未命名 07-20 阅读:143 评论:0


1.本发明涉及自然语言处理技术领域,尤其是指一种中文上位词检索方法及装置。


背景技术:

2.现有上位词检索技术多用于英文领域。crim使用两种方法的结合来获得候选上位词,一种是改良的基于hearst模式的无监督上-下位词挖掘方法;另一种是在词嵌入上进行的基于软聚类(soft clustering)和投影学习的有监督上-下位词投影方法。vte使用有监督数据学习一个基于词向量的变换矩阵(transformation matrix),通过变换矩阵作用来获得候选上位词。bai等人提出一个循环投影模型(recurrent mapping model),该模型学习一个投影矩阵,使用该投影矩阵从下位词的词嵌入开始不断往更高层级投影来获得候选上位词。parmar和narayan的工作使用框嵌入(box embeddings)技术进行上位词检索,其思想为在词嵌入基础上学习框嵌入表示,并通过超矩形来表示英文上下位关系。
3.在中文领域,仅有少数工作开展了上位词检索。luo等人同样采用了英文上位词检索方法中的投影学习来进行上位词检索,然而,在中、英文语料中,使用基于投影学习的方法各项指标普遍不高。fu等人开展了中文上位词检索研究,通过远程监督的方式使用多个数据源(如搜索引擎)来获取给定下位词的上位词,该设定受外部数据源返回的结果影响较大,泛化性存在局限。
4.综上,现有的基于投影学习的方法在中、英文语料上的效果普遍不高;基于远程监督的方式受外部数据源影响大,存在局限性。


技术实现要素:

5.为此,本发明所要解决的技术问题在于克服现有技术中中文上位词检索效果差的问题。
6.为解决上述技术问题,本发明提供了一种中文上位词检索方法,包括:
7.获取待查询下位词,带入预设提示模板中,得到含有掩码的待填空文本作为提示;
8.对所述提示进行分词,获取token序列;
9.将所述token序列输入最优预训练语言模型中,对所述掩码进行填空,计算所述预训练语言模型的配套词汇表中的每个候选词被填入掩码时的logit值;
10.获取logit值最大的候选词作为上位词预测结果。
11.在本发明的一个实施例中,所述计算所述预训练语言模型的配套词汇表中的每个候选词被填入掩码时的logit值后,还包括:
12.获取logit值最大的前k+1个候选词构建过渡候选词集;
13.若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集。
14.在本发明的一个实施例中,所述获取logit值最大的前k+1个候选词构建过渡候选
词集,还包括:
15.若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。
16.在本发明的一个实施例中,利用分词工具对所述提示进行分词;所述分词工具包括ltp、ictclas、jieba与thulac。
17.在本发明的一个实施例中,所述预训练语言模型包括roformer与wobert。
18.在本发明的一个实施例中,所述预训练语言模型的训练过程包括:
19.将样本数据中的下位词带入预设提示模板,获取提示;对所述提示进行分词,得到token序列;将所述token序列输入预训练语言模型中,计算配套词汇表中每个候选词被填入掩码的logit,获取logit值最大的候选词作为上位词预测结果;
20.计算所述上位词预测结果与真实上位词的交叉熵损失,最小化所述交叉熵损失,对所述预训练语言模型进行反向传播,获取最优预训练语言模型。
21.在本发明的一个实施例中,所述交叉熵损失的计算表达式为:
[0022][0023]
其中,所述样本数据表示为(x,y1,

,yn),x表示待查询下位词,{y1,

,yn}为x的真实上位词集;i()表示指示函数,当变量表达式为真时,值为1,反之,值为0;表示最优预测结果,y表示真实上位词,x'表示提示。
[0024]
本发明实施例还提供了一种中文上位词检索装置,包括:
[0025]
提示构建模块,将数据样本的待查询下位词,带入预设提示模板中,获取含有掩码的待填空文本作为提示;
[0026]
token序列生成模块,利用分词工具对所述提示进行分词,获取token序列;
[0027]
掩码填空模块,将所述token序列输入预设的预训练语言模型中,对所述掩码进行填空,获取配套词汇表中每个候选词被填入掩码的logit;
[0028]
上位词预测模块,获取配套词汇表中logit值最大的候选词作为上位词预测结果。
[0029]
在本发明的一个实施例中,还包括:
[0030]
提示调优模块,将上位词预测结果,与真实上位词计算交叉熵损失,最小化损失,对预训练语言模型进行反向传播,获取最优预训练语言模型。
[0031]
在本发明的一个实施例中,还包括:
[0032]
模型推理模块,用于获取logit值最大的前k+1个位置的候选词构建过渡候选词集;若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集;若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。
[0033]
本发明的上述技术方案相比现有技术具有以下优点:
[0034]
本发明所述的中文上位词检索方法首次将提示调优引入中文上位词检索领域,上位词检索效果显著提升;基于任务适应性强的提示调优技术,利用一个预设的固定提示模板来训练预训练语言模型的中文上位词检索能力,由于预训练语言模型本身具备结合上下文对掩码进行填空的能力,通过设计恰当的提示模板来引导模型,可将预训练语言模型的
填空能力转化成求解上位词的能力,从而提升预训练语言模型的上位词检索能力。本发明通过提示模板获取提示,进而引导预训练语言模型的推理过程,利用固定的提示模板,不断约束和规范模型的输出,使模型在遇到同样的提示时,能够激活学习到的推理规范,从而产生期望的预测结果,显著提升了中文上位词检索效果。
附图说明
[0035]
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0036]
图1是本发明所提供的中文上位词检索方法的步骤流程图;
[0037]
图2是本发明所提供的预训练语言模型训练过程步骤流程图;
[0038]
图3是本发明所提供的中文上位词检索装置的结构框架图。
具体实施方式
[0039]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0040]
本发明所提供的中文上位词检索方法首次将提示调优引入中文上位词检索的工作中,提出一种中文上位词检索框架,充分挖掘和利用预训练语言模型的理解与推理能力。利用提示调优将下位词放入提示模板中构成提示,将该提示输入预训练语言模型中进行推理来获得上位词。由于预训练语言模型具有结合上下文对掩码进行填空的能力,通过设计恰当的提示模板来引导模型,可将预训练语言模型的填空能力转化为求解上位词的能力。
[0041]
参照图1所示,为本发明所提供的中文上位词检索方法的步骤流程图,具体包括:
[0042]
s101:获取待查询的下位词x,带入预设提示模板中,得到含有掩码[mask]的待填空文本作为提示x';
[0043]
所述预设提示模型的结构为“x为[mask]”;
[0044]
s102:对所述提示进行分词,获取token序列;
[0045]
利用分词工具对所述提示进行分词;所述分词工具包括ltp、ictclas、jieba与thulac;
[0046]
s103:将所述token序列输入最优预训练语言模型中,对所述掩码进行填空,获取配套词汇表中每个候选词被填入掩码的logit值;
[0047]
所述预训练语言模型包括roformer与wobert;
[0048]
具体地,掩码填空时,将获取的token序列输入至给定的预设预训练语言模型m中,让m对提示中的掩码[mask]进行填空;m的输出中对应掩码的部分经过一层全连接层后得到配套词汇表v中每一个候选词被填入掩码位置的logit,记为w∈v,简记为
[0049]
s104:获取logit值最高的候选词作为所述预训练语言模型的上位词最优预测结果。
[0050]
基于上述实施例,在本实施例中,提供了一种获取上位词集的检索方法,在获取配
套词汇表中每个候选词被填入掩码的logit后,还包括:
[0051]
s201:获取logit值最大的前k+1个位置的候选词构建过渡候选词集;
[0052]
s202:若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集;
[0053]
s203:若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。
[0054]
具体地,在得到[mask]位置的logit分布后,将[mask]位置的候选词按logit大小降序排列,并且取前k+1个来构建过渡候选上位词集;由于模型在推理时存在推理结果包含下位词本身的现象,例如“鼻炎是鼻炎之一”,本发明所有提供的中文上位词检索方法将与下位词重复的过渡候选上位词。具体做法为首先判断前文提到的k+1个过渡候选上位词中是否包含了下位词本身,若包含,则将其去掉,让后续的候选上位词依次往前填补;若不包含,则取过渡候选上位词中的前k个作为最终的候选上位词。
[0055]
本发明所提供的中文上位词检索方法,利用提示调优,借助一个针对特定任务的提示来对预训练语言模型的参数进行微调,引导预训练语言模型在掩码位置产生与下游任务相关的输出。其中,提示调优技术能将众多任务转换为预训练掩码语言建模任务,即向预训练语言模型输入一个含有掩码[mask]的待填空文本,让模型对掩码所处的位置进行填空。基于任务适应性强的提示调优技术,利用一个预设的固定提示模板来训练预训练语言模型的中文上位词检索能力,从而提升预训练语言模型的上位词检索能力。
[0056]
参照图2所示,基于上述实施例,在本实施例中,提供了预训练语言模型的训练过程,包括:
[0057]
s301:将数据样本中的下位词带入预设提示模板,获取含有掩码的待填空文本作为提示;
[0058]
给定数据集d,获取数据集d中的任一数据样本(x,y1,

,yn),将数据样本中的待查询下位词x输入预设提示模板中,获取含有掩码的待填空文本作为提示x’;其中,{y1,

,yn}为x的真实上位词集;
[0059]
s302:利用分词工具对所述提示进行分词,获取token序列;
[0060]
s303:将所述token序列输入预训练语言模型中,计算配套词汇表中每个候选词被填入掩码的logit值,获取logit值最大的候选词作为最优预测结果;
[0061]
s304:计算所述最优预测结果与真实上位词的交叉熵损失,最小化所述交叉熵损失,对所述预训练语言模型进行反向传播,获取最优预训练语言模型。
[0062]
其中,交叉熵损失的计算表达式为:
[0063][0064]
其中,i()表示指示函数,当变量表达式为真时,值为1,反之,值为0;表示最优预测结果,y表示真实上位词,x'表示提示。
[0065]
在本发明的一个实施例中,向预训练语言模型输入“我最喜欢的花是无尽夏。无尽夏是一种[mask]。”其中,包含[mask]的待填空文本为提示,预训练语言模型用于将上位词“花”填入掩码所在位置。
[0066]
在本发明的一个实施例中,将所述预设提示模板设置为“x是一条[mask]”;将待查询下位词“长江”输入预设提示模板中,得到提示x’为“长江是一条[mask]”;利用分词工具对提示进行分词得到token序列,为“长江,是,一条,[mask]”并输入预设预训练语言模型m中,获取配套词汇表v中每一个候选词被填入[mask]位置处的logit;将logit值最大的候选词y=“绳子”与待查询下位词x的真实上位词y=“河流”计算交叉熵损失,不断最小化损失函数反向传播进行提示调优,获取最优预训练语言模型,进而计算最优上位词。
[0067]
本发明所提供的中文上位词检索方法,在预训练语言模型的训练阶段,通过提示模板获取提示,进而引导预训练语言模型的推理过程,利用固定的提示模板,不断约束和规范模型的输出,使模型在遇到同样的提示时,能够激活学习到的推理规范,从而使预训练语言模型产生期望的预测结果。
[0068]
在本发明的一个实施例中,为论证本发明所提供的中文上位词检索方法的准确性,利用map、mrr和precision@5(p@k)三个评价值指标对本方法与基线方法crim与rmm进行评估。
[0069]
所述p@k指标的计算方式为前k个候选上位词中正确命中的上位词数hits@k与k的比值,是针对单个待查询下位词进行计算的。所述map表示所有待查询下位词的ap(averager precision)平均值;对于单个待查询下位词,其ap值的计算方式为前k个候选上位词中每一个命中的上位词的p@k值之和与前k个候选上位词中所有命中的上位词的个数的比值。所述mrr表示所有下位词的rr(reciprocal rank)平均值;对于单个待查询下位词,其rr值的计算方式为前k个候选上位词中第一个命中上位词的位置序号的倒数。
[0070]
将本发明所提供的中文上位词检索方法与crim、rmm在bk与fd两个中文上下位关系数据集上进行测试;在bk数据集上的实验结果如表1所示;在fd数据集上的实验结果如表2所示。
[0071]
表1在bk数据集上的实验结果比较
[0072]
模型mapmrrp@1p@3p@5crim11.35%15.95%14.31%11.47%11.07%rmm19.46%25.37%22.68%19.63%19.09%本发明51.33%62.31%59.27%51.17%50.61%
[0073]
表2在fd数据集上的实验结果比较
[0074]
模型mapmrrp@1p@3p@5crim17.43%26.01%23.08%17.26%16.95%rmm28.10%38.36%31.95%27.51%27.62%本发明76.63%87.94%86.47%77.94%75.15%
[0075]
根据表1与表2可知,本发明所提供的上位词检索方法在map、mrr与p@k指标上的表现远远优于基线方法crim与rmm。本发明所提供的中文上位词检索方法,在绝大多数情况下都优于现有的基于投影学习的方法,表明了本发明所提的中文上位词检索方法的有效性与优越性,在自然语言处理领域中的上位词检索领域具有良好的应用前景。
[0076]
参照图3所示,本发明实施例还提供了一种中文上位词检索装置,包括:
[0077]
提示构建模块100,将数据样本的待查询下位词,带入预设提示模板中,获取含有掩码的待填空文本作为提示;
[0078]
token序列生成模块200,利用分词工具对所述提示进行分词,获取token序列;
[0079]
掩码填空模块300,将所述token序列输入预设的预训练语言模型中,对所述掩码进行填空,获取配套词汇表中每个候选词被填入掩码的logit;
[0080]
上位词预测模块400,获取配套词汇表中logit值最大的候选词作为上位词预测结果。
[0081]
在本发明的一个实施例中,中文上位词检索装置还包括提示调优模块500,用于将上位词最优预测结果,与真实上位词计算交叉熵损失,最小化损失,对预训练语言模型进行反向传播,获取最优预训练语言模型。
[0082]
在本发明的一个实施例中,中文上位词检索装置还包括模型推理模块600,用于获取logit值最大的前k+1个位置的候选词构建过渡候选词集;若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集;若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。
[0083]
本实施例的中文上位词检索装置用于实现前述的中文上位词检索方法,因此中文上位词检索装置中的具体实施方式可见前文中文上位词检索方法的实施例部分,例如,提示构建模块100,token序列生成模块200,掩码填空模块300,上位词预测模块400分别用于实现上述中文上位词检索方法中步骤s101,s102,s103与s104;提示调优模块500用于实现上述中文上位词检索方法中步骤s301,s302、s303与s304;模型推理模块600用于实现上述中文上位词检索方法中步骤s201,s202与s203;所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
[0084]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0085]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0086]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0087]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0088]
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

技术特征:
1.一种中文上位词检索方法,其特征在于,包括:获取待查询下位词,带入预设提示模板中,得到含有掩码的待填空文本作为提示;对所述提示进行分词,获取token序列;将所述token序列输入最优预训练语言模型中,对所述掩码进行填空,计算所述预训练语言模型的配套词汇表中的每个候选词被填入掩码时的logit值;获取logit值最大的候选词作为上位词预测结果。2.根据权利要求1所述的中文上位词检索方法,其特征在于,所述计算所述预训练语言模型的配套词汇表中的每个候选词被填入掩码时的logit值后,还包括:获取logit值最大的前k+1个候选词构建过渡候选词集;若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集。3.根据权利要求2所述的中文上位词检索方法,其特征在于,所述获取logit值最大的前k+1个候选词构建过渡候选词集,还包括:若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。4.根据权利要求1所述的中文上位词检索方法,其特征在于,利用分词工具对所述提示进行分词;所述分词工具包括ltp、ictclas、jieba与thulac。5.根据权利要求1所述的中文上位词检索方法,其特征在于,所述预训练语言模型包括roformer与wobert。6.根据权利要求1所述的中文上位词检索方法,其特征在于,所述预训练语言模型的训练过程包括:将样本数据中的下位词带入预设提示模板,获取提示;对所述提示进行分词,得到token序列;将所述token序列输入预训练语言模型中,计算配套词汇表中每个候选词被填入掩码的logit,获取logit值最大的候选词作为上位词预测结果;计算所述上位词预测结果与真实上位词的交叉熵损失,最小化所述交叉熵损失,对所述预训练语言模型进行反向传播,获取最优预训练语言模型。7.根据权利要求6所述的中文上位词检索方法,其特征在于,所述交叉熵损失的计算表达式为:其中,所述样本数据表示为(x,y1,

,y
n
),x表示待查询下位词,{y1,

,y
n
}为x的真实上位词集;i()表示指示函数,当变量表达式为真时,值为1,反之,值为0;表示最优预测结果,y表示真实上位词,x'表示提示。8.一种基于如权利要求1至7任一项所述的中文上位词检索方法的装置,其特征在于,包括:提示构建模块,将数据样本的待查询下位词,带入预设提示模板中,获取含有掩码的待填空文本作为提示;token序列生成模块,利用分词工具对所述提示进行分词,获取token序列;
掩码填空模块,将所述token序列输入预设的预训练语言模型中,对所述掩码进行填空,获取配套词汇表中每个候选词被填入掩码的logit;上位词预测模块,获取配套词汇表中logit值最大的候选词作为上位词预测结果。9.根据权利要求8所述的中文上位词检索装置,其特征在于,还包括:提示调优模块,将上位词预测结果,与真实上位词计算交叉熵损失,最小化损失,对预训练语言模型进行反向传播,获取最优预训练语言模型。10.根据权利要求8所述的中文上位词检索装置,其特征在于,还包括模型推理模块,用于获取logit值最大的前k+1个位置的候选词构建过渡候选词集;若所述过渡候选词集中包含待查询下位词本身,则将该候选词舍弃,将后续位置处的候选词填补进所述过渡候选词集中;取过渡候选词集中的前k个候选词,作为候选上位词集;若所述过渡候选词集中不包含待查询下位词本身,则取过渡候选词集中的前k个候选词作为候选上位词集。

技术总结
本发明涉及一种中文上位词检索方法,包括获取待查询数据样本中的下位词,带入预设提示模板中,得到含有掩码的待填空文本作为提示;对所述提示进行分词,获取Token序列;将所述Token序列输入预设预训练语言模型中,对所述掩码进行填空,获取预设配套词汇表中每个候选词被填入掩码的logit;获取logit值最高的候选词作为所述预训练语言模型的上位词最优预测结果。本发明首次将提示调优引入中文上位词检索领域,基于任务适应性强的提示调优技术,利用一个预设的固定提示模板来训练预训练语言模型的中文上位词检索能力;通过提示模板获取提示,进而引导预训练语言模型的推理过程,利用固定的提示模板,不断约束和规范模型的输出,从而产生期望的预测结果,获取上位词。获取上位词。获取上位词。


技术研发人员:陆恒杨 周俊康 刘哲 方伟 孙俊 吴小俊
受保护的技术使用者:江南大学
技术研发日:2023.03.07
技术公布日:2023/7/19
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐