具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户属性信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先对本申请所涉及的名词进行解释:
对比学习(Contrastive Learning):一种机器学习方法,旨在通过将不同样本之间的相似性与差异性进行比较来学习数据表示。对于对比学习中的每个样本,算法会将其与其他样本进行比较,并将相似性和差异性定义为损失函数的一部分。对比学习的目标是使正样本对(也可以称为正例对,positive pair)中的样本更加相似,而来自不同负样本对(也可以称为负例对,negative pair)中的样本更加不同。因此,为了明确构建对比学习所需要的正例对和负例对,往往需要样本之间具备明确的关系。通过这种方式,可以学习到更加鲁棒和泛化性能更好的特征向量(特征表示),这些特征表示可以用于各种机器学习任务,例如分类、聚类、检索等。
句子表示学习(Sentence Representation Learning):一种自然语言处理技术,旨在从大规模文本数据中学习句子的特征表示并将自然语言文本转换为数学向量表示,以便于计算机进行处理和分析。该技术的目标是将句子的语义信息编码成连续向量空间中的点,使得相似的句子在向量空间中的距离更小,不相似的句子在向量空间中的距离更大。这种表示方法可以应用于各种自然语言处理(Natural Language Processing,NLP))任务,如文本分类、句子相似度计算、情感分析等。
自然语言推理(Natural Language Inference,NLI):是指通过自然语言理解和推理技术,对自然语言文本进行推理和推断的过程。它旨在从文本中抽取出逻辑关系和推断出新的信息,以理解文本所表达的含义。自然语言推理通常分为两个主要任务:文本蕴含和推理验证。文本蕴含是指判断一个句子是否可以从另一个句子推断出来,而推理验证则是指检验一个给定的文本是否符合某种逻辑结构。自然语言推理在自然语言处理、人工智能、认知科学等领域有着广泛的应用,如问答系统、信息检索、自动摘要、机器翻译等。
相似性掩码(Similarity Mask):指对相似的内容进行标记,例如,在自然语言处理领域,可以对文本序列相似的部分进行标记,或对一批句子中相似的句子进行标记,使得模型能够在学习过程中更好地捕捉到它们之间的关联性并进行后续操作。在一些技术中,相似性掩码通过基于子词(subword)的掩码来实现,即将文本序列切分成多个子词,并对相同的子词进行标记。在自然语言处理中,常用的子词切分算法有字节对编码(Byte PairEncoding,BPE)和WordPiece(分词法)等。相似性掩码通常用于文本匹配、文本分类等任务中,可以提高文本处理模型的准确性和泛化能力,使得模型能够更好地理解文本序列中的语义和结构信息。在本申请实施例中,相似性掩码是指利用预训练的模型对一批句子进行识别,并找到其中语义相似的句子。
本申请实施例可以通过大模型,例如,大语言模型来构建训练样本。其中,大语言模型是指具有大规模语言模型参数的深度学习语言模型,通常包含上亿、上百亿、上千亿、上万亿甚至十万亿以上的语言模型参数。大语言模型又可以称为基石语言模型/基础语言模型(Foundation Model),通过大规模无标注的语料进行大语言模型的预训练,产出亿级以上参数的预训练语言模型,这种语言模型能适应广泛的下游任务,语言模型具有较好的泛化能力,例如大规模语言模型(Large Language Model,LLM)、多模态预训练语言模型(multi-modal pre-training model)等。
大语言模型在实际应用时,仅需少量样本对预训练语言模型进行微调即可应用于不同的任务中,大语言模型可以广泛应用于自然语言处理(Natural LanguageProcessing,简称NLP)、计算机视觉等领域,具体可以应用于如视觉问答(Visual QuestionAnswering,简称VQA)、图像描述(Image Caption,简称IC)、图像生成等计算机视觉领域任务,以及基于文本的情感分类、文本摘要生成、机器翻译等自然语言处理领域任务,大语言模型主要的应用场景包括数字助理、智能机器人、搜索、在线教育、办公软件、电子商务、智能设计等。
下面先对本申请的应用场景进行说明。
本申请实施例中的方案可以实现素材的构建,其中素材可以为语句或者其他任意形式的素材,可以用作训练样本,用于对特征提取模型进行训练,特征提取模型可以用于提取目标对象的特征向量,从而实现分类、搜索等任务。
图1为本申请实施例提供的一种应用场景示意图。如图1所示,在电商领域,在获取到用户对应的搜索信息后,可以将搜索信息输入到特征提取模型,提取搜索信息的特征向量,并根据特征向量,从商品信息库中搜索相关的商品,其中,相关的商品是指特征向量和搜索信息的特征向量最接近的一个或多个商品。
如图1所示,在商品信息库中有多个商品,商品A、商品B、商品C等,每一商品可以通过特征提取模型提取对应的特征向量,特征向量可以表征商品在向量空间中的位置,对于任意两个商品来说,特征向量越接近,说明两个商品越相似,特征向量越远离,说明两个商品差异越大。这样,通过特征向量可以从商品信息库中搜索到符合用户的搜索信息的一个或多个商品,并根据搜索到的商品向用户提供对应的搜索结果。
其中,所述搜索信息可以包括用户输入的搜索词,还可以包括用户的画像信息、评论、浏览信息等。在提取商品的特征向量时,可以将商品的相关信息,如描述信息、评论信息等输入到特征提取模型。具体使用的相关信息可以根据实际需要来设置,本申请实施例中不作限制。
特征提取模型的训练可以通过对比学习方法的来实现,对比学习通过将正样本对拉近并将负样本对推远,在特征提取场景下是非常有效和高效的,因此吸引了广泛关注。但由于对比学习对正负样本对的质量非常敏感,训练的性能高度依赖于所使用的数据,因此往往需要通过人工标注得到样本对。
例如,在自然语言处理领域,当需要训练用于提取句子的特征向量的句子表示模型时,由具有明确语义关系的句子对组成的自然语言推理数据集,成为了较为合适的数据来源。然而,获取大量人工标注的句子对可能在时间和资源方面开销较大,尤其是针对不同的应用领域,需要特定领域的句子对才能更好地实现模型的训练,当有多个应用领域时,人工标注的开销会成倍增加,使得这类方法很难泛化到不同域的应用场景中。
为了解决这一问题,可以考虑无监督的句子表示学习方法,但由于没有明确的标签信息,可能会导致训练效果较差。例如,可以将某个句子自身作为正例,同一个训练批次中其他句子作为负例,对模型进行训练,但是这样会导致采样偏差,模型学习到语义信息之外的特征作为聚类标准,从而无法准确地提取特征向量。
一种直观的示例是,在模型训练过程中,从数据库中随机采样一个批次的句子,对这一批次的句子进行学习,由于句子本身作为正例,所有的正样本对都是两个长度、句法结构等表面特征相同的句子,会导致模型更多地学习到句子的表面特征,模型更倾向于把相同长度和句法结构的句子归为一类,而较少地学习到句子本身的语义信息,难以实现语义特征的准确提取。
有鉴于此,本申请实施例提供一种训练样本的构建方法,可以通过大语言模型的生成能力,生成与原始语句具有蕴含关系的句子、以及具有矛盾关系的句子,分别作为正例和负例。同时,由于大语言模型生成的句子可能存在一定的误差,因此,可以通过模型的评估能力,对生成的句子进行进一步的筛选。
图2为本申请实施例提供的一种利用模型的生成和评估能力构建训练样本的原理示意图。如图2所示,在第一个阶段,可以通过大语言模型为每个原始语句生成蕴含句和矛盾句。其中,第一个原始语句为“气体温度的升高将导致其体积的增加(an increase intemperature of a gas will result in an increase in its volume)”,第二个原始语句为“一位老人正在餐馆里喝橙汁(an older man is drinking orange juice at arestaurant)”。
将两个原始语句和提示输入到大语言模型,可以得到各个原始语句对应的蕴含句和矛盾句,其中,提示可以分为正例提示和负例提示两种,分别用于提示模型生成与原始语句具有蕴含关系的句子、具有矛盾关系的句子。
示例性地,根据第一个原始语句生成的蕴含句为“气体的体积随着温度的升高而增加(volume of a gas increases as temperature increases)”,矛盾句为“气体温度的降低将导致其体积的减小(a decrease in temperature of a gas will result in adecrease in its volume)”。根据第二个原始语句生成的蕴含句为“一位老人在餐馆用餐时正在喝橙汁(an old man is consuming orange juice while dining at arestaurant)”,矛盾句为“一个年轻的女人正在家里喝橙汁(a younger women isdrinking orange juice at home)”。
虽然大语言模型根据自身的生成能力,生成了原始语句对应的蕴含句和矛盾句,但是,其中可能存在错误,例如,第一个原始语句对应的矛盾句“气体温度的降低将导致其体积的减小”,与原始语句“气体温度的升高将导致其体积的增加”,其实是相同的含义,但是因为与原始语句之间存在矛盾的词语(如增加、减小),模型误将其作为具有矛盾关系的语句,而这句话本身的实际含义的正确的,不应当属于矛盾句,因此,生成的该矛盾句是不合格的,应该被舍弃掉,图中通过虚线代表了被舍弃的操作。
因此,在本申请实施例中,可以引入第二个阶段,将大语言模型作为语义感知过滤器(semantic-aware filter),利用大语言模型的评估能力,进一步对生成的蕴含句和矛盾句进行筛选,例如,将不合格的句子过滤掉,将合格的句子添加到训练样本集中,训练样本集可以用于对特征提取模型进行训练。
这样,通过利用大语言模型的生成能力和评估能力,可以在没有任何数据标注的情况下自动构建训练样本集,相比于人工标注的方式有效提高了效率,并且,可以较好地避免前述的无监督句子表示学习方法无法解决的采样偏差问题,提高了训练样本的准确性,具有广泛的应用场景。
基于上述的实现方案,本申请实施例提供了如下的一种构思:先获取原始素材和生成素材,其中,原始素材与生成素材具有目标关系,再对所述原始素材和生成素材进行筛选,得到确定符合目标关系的素材对。其中,素材不局限于语句,素材的应用不局限于模型训练,目标关系不局限于蕴含和矛盾。具体的实现方案将在下文进行详细说明。
下面结合附图,对本申请的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图3为本申请实施例提供的一种素材生成方法的流程示意图。本实施例中的方法可以在任意具有数据处理功能的设备上实施,例如,云上实施、本地部署、客户端实施、IOT(Internet of Things,物联网)设备实施等。如图3所示,所述方法可以包括:
步骤301、获取原始素材以及至少一个目标关系对应的生成素材,其中,任一目标关系对应的生成素材为第一模型生成的、与所述原始素材具有所述目标关系的素材。
其中,原始素材可以包括至少一种模态,所述至少一种模态为下述至少一种:文本、图像、音频、视频等。
在一示例中,所述原始素材可以为文本,所述文本可以是语句,也可以是其它类型的文本,例如代码、段落等等。另一示例中,所述原始素材可以为图像。又一示例中,所述原始素材可以为图像与音频的组合。
根据所述原始素材,可以利用第一模型得到对应的生成素材。所述原始素材和生成素材的模态可以相同,也可以不同。例如,所述原始素材和生成素材都为文本,或者,都为图像。或者,所述原始素材可以为文本加音频,生成素材可以为图像。
同一原始素材得到的生成素材可以有一个或多个,若有多个时,各生成素材与原始素材可以具有不同的目标关系。
其中,所述目标关系可以为:蕴含、矛盾、中立等,或者,可以为具备特定的相似度。
可选的,所述获取原始素材以及至少一个目标关系对应的生成素材,包括:从原始素材库中获取原始素材;将原始素材和任一目标关系对应的生成提示信息输入到第一模型中,得到所述目标关系对应的生成素材;其中,所述生成提示信息用于提示第一模型生成与所述原始素材具有所述目标关系的素材。
可选的,当目标关系有多个时,各个目标关系对应的生成提示信息可以不同。可以分别针对每一目标关系,将对应的生成提示信息输入到第一模型,得到与原始素材符合该目标关系的生成素材。
以素材为语句、至少一个目标关系为蕴含和/或矛盾为例,在本步骤中,可以获取原始语句以及所述原始语句对应的至少一个生成语句,其中,所述生成语句为第一模型根据所述原始语句生成的,所述至少一个生成语句包括:蕴含句和/或矛盾句。
其中,所述蕴含句为与所述原始语句具有蕴含关系的语句,所述矛盾句为与所述原始语句具有矛盾关系的语句。蕴含关系可以是指原始语句和生成语句的含义相同,矛盾关系可以是指原始语句和生成语句的含义相互矛盾。
可选的,目标关系对应的生成提示信息,可以具体为蕴含句对应的正例提示信息和/或矛盾句对应的负例提示信息。获取原始语句以及所述原始语句对应的至少一个生成语句,可以包括:
从原始素材库中获取原始语句;
将原始语句和正例提示信息输入到第一模型中,得到所述原始语句对应的蕴含句;和/或,将原始语句和负例提示信息输入到第一模型中,得到所述原始语句对应的矛盾句;
其中,所述正例提示信息和负例提示信息分别用于提示第一模型生成所述原始语句的蕴含句和矛盾句。
可选的,原始素材库可以包括多个原始语句,从原始素材库中选择任意一个待处理的原始语句,利用第一模型生成该原始语句对应的蕴含句和矛盾句。本申请实施例中,将蕴含句和矛盾句都称为生成语句。假设原始素材库包含N个原始语句,针对每一原始语句生成一个蕴含句和一个矛盾句,则通过N个原始语句可以得到2N个生成语句。
可选的,所述第一模型可以为大语言模型,可以将原始语句和提示信息输入到大语言模型,得到对应的蕴含句和矛盾句。可以为蕴含句和矛盾句分别设置提示信息。
示例性地,蕴含句对应的正例提示信息可以为:“写一个与如下句子具有蕴含关系的句子:{x}(Write a sentence that is an entailment of“{x}”)”;矛盾句对应的负例提示信息可以为:“写一个与如下句子具有矛盾关系的句子:{x}(Write a sentence thatis negative with“{x}”)”。其中,x可以替换为原始语句。
在其他可选的实现方式中,所述至少一个目标关系可以为与原始素材具有特定的相似度。在本步骤中,可以获取原始素材以及至少一个预设相似度对应的生成素材,其中,任一预设相似度对应的生成素材为第一模型生成的、与所述原始素材具有所述预设相似度的素材。
示例性地,可以设置两个预设相似度,分别为0和5,第一模型可以根据一个原始素材,得到两个生成素材,两个生成素材与原始素材的相似度分别为0和5,可以对应于前述的矛盾句和蕴含句。
或者,可以设置三个预设相似度,分别为0、2.5和5,得到的三个生成素材可以对应于矛盾句、中立句和蕴含句。当然,两个或三个预设相似度也可以是其它取值,或者,可以设置更多或者更少的预设相似度,对应的处理原理是类似的。
具体的,第一模型可以为大语言模型,具有一定的语言理解和处理能力,在目标关系为蕴含、矛盾时,可以直接提示第一模型生成与原始素材具有蕴含、矛盾等关系的素材。而当目标关系是其它情况,例如预设相似度时,大语言模型可能不清楚预设相似度的实际含义,此时,可以在生成提示信息中加入素材示例。
例如,所述生成提示信息可以为:“这里有两个素材:素材1、素材2,它们之间的相似度为4。请参考上述信息,生成一个与目标素材x的相似度为4的素材”。
这样,利用大语言模型作为生成器,可以根据原始素材库中未标注的原始素材,直接生成与原始素材具有目标关系的生成素材,有效提高了得到生成素材的效率,并且,得到的生成素材具有一定的准确性,能够作为后续训练的基础。
在其他可选的实现方式中,也可以使用除大语言模型以外的模型来得到生成素材,例如,可以训练一个专门用于生成具有目标关系的生成素材的小模型,通过小模型,无需提示即可得到生成素材。其中,小模型可以是指模型结构简单、参数量小于大语言模型的任意类型的机器学习模型。
步骤302、对于任一生成素材,基于第二模型对所述原始素材和所述生成素材之间的关系进行验证,得到经验证符合对应的目标关系的素材对,所述素材对包括原始素材和生成素材。
可选的,第二模型可以确定原始素材和生成素材之间的关系,若该关系与对应的目标关系相匹配,则认为是经过验证符合目标关系的素材对,反之,则认为经过验证是不符合目标关系的。通过这种方式,可以利用第二模型实现对生成素材的筛选。
可选的,基于第二模型对所述原始素材和所述生成素材之间的关系进行验证,得到经验证符合对应的目标关系的素材对,可以包括:将原始素材、生成素材和验证提示信息输入到第二模型,得到所述原始素材和生成素材的关系;若得到的关系与所述目标关系相匹配,则确定所述原始素材和生成素材为经验证符合对应的目标关系的素材对;其中,所述验证提示信息用于指示所述第二模型确定所述原始素材和生成素材的关系。
可选的,所述验证提示信息具体可以用于指示所述第二模型从预设关系范围中确定所述原始素材和生成素材的关系,并给出所述预设关系范围中的至少两个预设关系的含义作为参考。
具体的,预设关系范围可以是连续的范围,也可以包括离散的值,其中,不同的值代表不同的关系。例如,所述预设关系范围可以包括多个预设关系,多个预设关系可以与前述步骤中的至少一个目标关系完全相同,也可以部分相同,也可以完全不同。
示例性地,所述至少一个目标关系可以为蕴含、矛盾,所述多个预设关系可以为多个预设的相似度,例如,相似度为5与蕴含相匹配,相似度为0与矛盾相匹配,相似度为3,则既不与蕴含匹配,也不与矛盾匹配。
以素材为语句、至少一个目标关系为蕴含和/或矛盾、预设关系范围为相似度范围为例,在本步骤中,对于任一生成语句,可以基于第二模型确定所述原始语句和生成语句的相似度,若相似度满足预设要求,则确定所述原始语句和生成语句是经验证符合对应的目标关系的素材对。
其中,所述第二模型可以与第一模型为同一个模型,也可以为不同的模型。例如,第一模型和第二模型为同一个大语言模型;或者,第一模型和第二模型均为大语言模型,但具有不同的结构或者根据不同的数据集训练得到;或者,第一模型和第二模型中的至少一个为小模型,专门用于实现生成功能或者评估功能。
可选的,可以将原始语句、生成语句和验证提示信息输入到第二模型,得到所述原始语句和生成语句的相似度;
其中,所述验证提示信息用于指示所述第二模型从预设的相似度范围中确定所述原始语句和生成语句的相似度,并给出所述相似度范围中至少两个相似度的含义作为参考;所述第一模型和所述第二模型为同一模型。
具体的,当第一模型和第二模型为同一模型时,可以通过不同的提示来指示模型进行不同的处理。在评估相似度时,可以将原始语句、生成语句和验证提示信息输入到第二模型。验证提示信息中给出了相似度范围,作为第二模型最终输出的相似度的约束,另外,验证提示信息还可以给出相似度的指引,即相似度范围中的多个相似度取值的实际含义,尤其可以将相似度范围的两个端点处和/或中心位置处的取值的含义告知第二模型,便于第二模型更好地对语句的相似度作出评估。
示例性地,所述验证提示信息可以为:为以下句子的语义相似性进行评分,评分控制在0.0和5.0之间,5.0表示它们具有相同的含义,0.0表示它们完全不同:(a)“{x}”,(b)“{x_y}”(Scoring the semantic similarity of the following sentences between0.0 and 5.0,5.0 means they have the same meaning,0.0 means they arecompletely different:(a)“{x}”,(b)“{x_y}”)。其中,x可以替换为原始语句,x_y替换为原始语句对应的生成语句。
在其他可选的实现方式中,所述验证提示信息中的预设关系范围可以包括:蕴含、中立、矛盾等,指示所述第二模型从中选择所述原始素材和生成素材的关系,即,判断原始素材和生成素材属于上述三种关系中的哪一种(三分类操作)。或者,也可以训练一个小模型,作为第二模型实现三分类操作,无需验证提示信息,提升处理效率。
通过上述方式,可以使第二模型在验证提示信息的指引下,准确实现对生成素材与原始素材的关系的验证,提高筛选的效果,并且,第一模型和第二模型可以为同一模型,利用不同的提示信息,可以通过同一模型完成生成操作和评估操作,能够利用较少的资源获取到较佳的素材,兼顾效率和准确性。
在本申请的一个或多个的实施例中,可选的,在目标关系有多个时,对于任一生成素材,基于第二模型对所述原始素材和所述生成素材之间的关系进行验证,得到经验证符合对应的目标关系的素材对,包括:
基于第二模型确定原始素材和各生成素材之间的关系;
若所述原始素材和各个生成素材之间的关系均与对应的目标关系相匹配,则确定所述原始素材与各个生成素材分别构成具有对应目标关系的素材对,并将素材对添加到目标素材库;
若所述原始素材和任一生成素材之间的关系与对应的目标关系不匹配,则舍弃所述原始素材和对应的各个生成素材。
具体的,当目标关系有多个时,对应的生成素材也有多个,对于任一生成素材,若通过第二模型确定的、该生成素材与原始素材之间的关系,与该生成素材对应的目标关系相匹配,说明该生成素材是符合要求的。
若多个生成素材均符合要求,则每一生成素材和原始素材构成一个素材对,且该素材对的标签为该生成素材对应的目标关系,添加到目标素材库中。若某一原始素材对应的多个生成素材中有任意一个生成素材不符合要求,则该原始素材对应的多个生成素材都会被舍弃。
可选的,所述至少一个目标关系包括正例关系和负例关系,对应的生成素材分别为正例素材和负例素材。其中,正例关系和负例关系可以分别为含义相同和含义不同,在模型训练过程中,对应于正样本对和负样本对。可选的,正例素材可以为与原始素材具有蕴含关系的素材,例如蕴含句;负例素材可以为与原始素材具有矛盾关系的素材,例如矛盾句。
可选的,所述原始素材与生成素材之间的关系具体通过相似度进行表征。
具体的,所述基于第二模型确定原始素材和各生成素材之间的关系,包括:基于第二模型确定所述原始素材与正例素材之间的第一相似度,以及原始素材和负例素材之间的第二相似度。
相应的,第一相似度和第二相似度都满足对应的要求,则可以认为所述原始素材和各个生成素材之间的关系均与对应的目标关系相匹配,进而可以将原始素材和各个生成素材构成的素材对添加到目标素材库。
可选的,在上述条件的基础上,还可以进一步增加对不同生成素材对应的关系的比较验证。具体的,若所述原始素材和各个生成素材之间的关系均与对应的目标关系相匹配,则确定所述原始素材与各个生成素材分别构成具有对应目标关系的素材对,并将素材对添加到目标素材库,可以包括:
若所述第一相似度大于正例阈值、第二相似度小于负例阈值,且第一相似度和第二相似度之差大于差值阈值,则将所述正例素材、负例素材与所述原始素材一同添加到目标素材库中。
可选的,所述目标素材库可以用作训练样本集,对基础模型进行训练。在所述目标素材库中,原始素材与对应的正例素材构成正样本对,原始素材与对应的负例素材构成负样本对。
以素材为语句、至少一个目标关系为蕴含和矛盾为例,可以基于第二模型确定原始语句和蕴含句的第一相似度,以及原始语句和矛盾句的第二相似度;若所述第一相似度和第二相似度均满足对应的预设要求,则将所述蕴含句作为原始语句的正例、将矛盾句作为原始语句的负例,与所述原始语句一同添加到目标素材库中;
其中,在基于目标素材库训练模型时,正例和原始语句可以构成正样本对,负例和原始语句构成可以负样本对。
可选的,蕴含句和矛盾句对应的预设要求可以不同,例如,蕴含句对应的预设要求可以为相似度大于正例阈值,矛盾句对应的预设要求可以为相似度小于负例阈值。负例阈值可以小于正例阈值。
或者,可以设置除了每一生成语句与原始语句的相似度需要满足对应的预设要求,各生成语句对应的相似度之间也要满足一定的要求。例如,若第一相似度大于等于正例阈值、第二相似度小于等于负例阈值,且第一相似度和第二相似度之差大于等于差值阈值,则蕴含句、矛盾句均可以添加到目标素材库中,反之,则舍弃蕴含句和矛盾句。
具体的,可以通过下述式子得到第一相似度a和第二相似度b:
其中,Cθ为大语言模型,可以作为所述第二模型,d为验证提示信息,xs、分别为原始素材、通过原始素材生成的正例素材、通过所述原始素材生成的负例素材。可以在d中指示a和b的范围为[0,5],其中,相似度为5意味着两个素材的语义完全相同,0意味着两个素材完全不同。
在此基础上,可以通过如下公式确定将哪些素材添加到目标素材库中:
其中,为训练样本集,α、β、γ分别为正例阈值、负例阈值和差值阈值。
图4为本申请实施例提供的一种素材筛选范围的示意图。如图4所示,对于每一对生成素材,当a足够大、b足够小,并且a-b超过一定的阈值时,才会被保留,即,加粗线条范围内对应的素材,才被添加到目标素材库中。
根据上述方案,在根据原始素材生成的一对正例素材和负例素材中,若其中的正例素材被过滤掉,则与之对应的负例素材也被过滤掉,同理,若负例素材被过滤掉,则与之对应的正例素材也会被过滤掉,例如图2所示方案中,矛盾句是不合格的,因此将该矛盾句和使用同一原始语句生成的蕴含句也过滤掉。这是因为若有其中一个是不合格的,说明模型对原始语句的理解和生成的过程可能存在一定的问题,将两者同时过滤掉能够有效减少目标素材库中的噪声,提升训练的准确性。此外,这种方式还可以保证目标素材库中的数据具有统一的形式,每一个原始素材及其生成素材都可以利用的三元组进行存储,便于后续训练过程中按照批次进行采样和处理,提高训练的效率,减少出错概率。
同时,在过滤时,不仅考虑了正例素材和负例素材各自对应的阈值,还考虑了两者之差对应的阈值,能够使得正例素材和负例素材与原始素材的相似度均满足要求,同时正例素材和负例素材的相似度尽量大,赋予正例素材和负例素材更多正确的约束,有助于模型准确感知原始素材、正例素材和负例素材在向量空间中的位置,提升训练的准确性。
在其他可选的实现方式中,也可以设置不同的预设要求来对生成素材进行过滤,例如,针对正例素材和负例素材单独设置要求,不考虑两者之间的关系,可以有效提高过滤的效率;或者,过滤时可以同时过滤掉正例素材和负例素材,也可以仅过滤掉不合格的素材,与之对应的另一素材若是合格的,则可以添加到目标素材库中,以扩充目标素材库,提高样本数量。
在一示例中,在根据原始素材生成正例素材和负例素材的情况下,可以通过第二模型分别得到原始素材与正例素材的第一相似度、原始素材与负例素材的第二相似度,若原始素材与正例素材的第一相似度大于正例阈值,则说明生成的正例素材是合格的,可以将原始素材与正例素材作为正样本对,添加到目标素材库中,反之则舍弃正例素材;若原始素材与负例素材的第二相似度小于负例阈值,则说明生成的负例素材是合格的,可以将原始素材与负例素材作为负样本对,添加到目标素材库中,反之则舍弃该负例素材。
另一示例中,在根据原始素材仅生成正例素材的情况下,或者仅生成负例素材的情况下,可以按照上述方式,仅对生成的正例素材或负例素材进行相似度判断,并确定是否添加到目标素材库中。
目标素材库中的数据可以按照如上三元组的方式存储(若不存在正例素材或负例素材则使用特殊字符代替),也可以分别存储正样本对和负样本对,本实施例对此不作限制。对于原始素材库中的多个原始素材,均可以进行上述操作,从而可以得到包含多个原始素材及其对应的生成素材的目标素材库。
可选的,所述目标素材库除了可以用作训练样本,还可以应用于其它场景。例如,所述目标素材库可以面向用户开放,用户可以在从事设计、生产等任务的过程中,从目标素材库中查找需要的素材并使用,满足用户的实际素材需求,为用户提供便利,提高用户体验。
通过本实施例提供的方法,可以利用第一模型得到与原始素材具有至少一个目标关系的生成素材,对于任一生成素材,基于第二模型对所述原始素材和所述生成素材之间的关系进行验证,得到经验证符合对应的目标关系的素材对,从而可以利用模型的生成能力生成大量的素材,有效提高构建素材的效率,并利用模型的评估能力对生成的素材进行筛选,提升得到的素材对的准确性,进而提高模型训练的整体效率和准确性。
在上述实施例提供的基础方案的基础上,可选的,还可以通过交互界面展示多个取值对应的参考信息;其中,任一取值对应的参考信息包括至少两个素材示例,所述至少两个素材示例之间的相似度为该取值;获取用户根据所述多个取值对应的参考信息,通过交互界面输入的至少一个阈值,所述至少一个阈值包括:正例阈值、负例阈值、差值阈值中的至少一项。
图5为本申请实施例提供的一种素材构建阶段对应的交互界面的示意图。如图5所示,交互界面用于供用户输入一个或多个阈值,如前述的α、β和γ。例如,可以向用户提示“请输入正例阈值,若生成的蕴含句与原始语句的相似度小于该正例阈值,则会被舍弃”。
为了能够更好地辅助用户进行配置,还可以向用户展示参考信息。所述参考信息可以包括相似度的可选的多个取值,对于每一个取值,都可以展示对应的示例。例如,多个取值可以包括1、2、3、4,可以向用户分别展示取值为1、2、3、4时对应的两个语句示例,其中,取值为1表示这两个语句示例的相似度为1。
这样,可以通过交互界面向用户展示各个相似度取值对应的素材示例,从而使用户了解不同相似度对应的具体相似程度,便于用户根据参考信息配置场景所需的阈值,提升用户体验,满足不同场景下的使用需求。
在本申请的一个或多个实施例中,可选的,还可以通过下述至少一种交互方式实现与用户的交互。
在一种可选的交互方式中,可以通过交互界面展示多个候选的目标关系对应的参考信息;其中,任一目标关系对应的参考信息包括至少两个素材示例,所述至少两个素材示例之间的关系为该目标关系;获取用户根据所述参考信息,通过交互界面输入的所述至少一个目标关系。
示例性地,多个候选的目标关系可以包括蕴含、矛盾、中立,在交互界面上给出这些目标关系,并给出每个目标关系对应的参考信息,例如,蕴含对应的参考信息为:“以下这两个语句的关系为蕴含:语句1;语句2”。或者,多个候选的目标关系可以为多个不同的相似度,或者其他的关系,本申请中不作限制。
用户可以通过交互界面选择想要生成哪些目标关系对应的语句。例如,用户选择了蕴含和矛盾,则可以通过第一模型生成蕴含对应的语句和矛盾对应的语句。
这样,用户可以根据参考信息了解每种目标关系的含义,并通过交互界面选择想要得到的目标关系,使得用户可以有针对性地选择原始素材与生成素材间的目标关系,满足不同场景下的使用需求。
在一种可选的交互方式中,通过交互界面展示原始素材以及对应的生成素材,以使用户对所述原始素材或对应的生成素材进行确认、修改或筛选,以根据用户确认、修改或筛选后的素材,得到经验证符合对应的目标关系的素材对。
可选的,展示的生成素材,可以是由第一模型得到的生成素材。在第一模型得到生成素材后,可以将原始素材和生成素材展示给用户,用户可以对其进行确认和修改,得到用户想要的原始素材和生成素材。可选的,也可以将多个原始素材及对应的生成素材展示给用户,方便用户从中筛选出想要的原始素材及生成素材。
在用户进行确认、修改和筛选后,可以根据用户想要的原始素材和生成素材,进行下一步的操作,即,由第二模型对原始素材和生成素材的关系进行验证,从而得到经验证符合对应的目标关系的素材对。
在一种可选的交互方式中,通过交互界面展示经第二模型验证符合目标关系的素材对,以使用户对所述素材对进行确认、修改或筛选,以将用户确认、修改或筛选后的素材对,添加到目标素材库中;
可选的,在第二模型对原始素材和生成素材之间的关系进行验证后,可以将素材对展示给用户,用户可以对素材对进行确认、修改或筛选,经过用户确认、修改或筛选后,再将素材对添加到目标素材库。
这样,用户可以对第一模型生成的素材、和/或,第二模型验证的素材进行处理,方便用户对素材构建过程中各个阶段得到的素材进行跟进和调整,使得最终得到的素材更加符合用户的需求。
在一种可选的交互方式中,通过交互界面展示经第二模型验证符合目标关系的素材对或者目标素材库中的素材对,以使用户从中选择用于微调训练的素材对;响应于用户输入的微调指令,根据用户选择的素材对,对预训练后的基础模型进行微调训练。
可选的,在交互界面上还可以设置有用于启动微调训练的按钮,以通过点击按钮输入微调指令,用户可以先在交互界面上选择要参与微调训练的素材对,再通过输入微调指令启动微调训练。
此外,在交互界面上还可以设置其它功能,例如,可以向用户展示至少一个可供选择的模型,由用户从中选择一个作为所述基础模型进行微调训练。
通过上述交互方式,可以使用户及时了解素材构建过程中各个阶段的中间结果,以及最终构建得到的目标素材库,便于用户及时对中间结果或者最终得到的素材库进行确认或调整,使得构建的素材库更加符合用户的需求,并且,用户可以通过交互界面对微调的各个方面进行选择或修改,满足不同场景下的微调需求,进一步提升用户的体验度。
在上述各实施例提供的技术方案的基础上,本申请还提供一种模型训练方法。图6为本申请实施例提供的一种模型训练方法的流程示意图。如图6所示,所述方法包括:
步骤601、获取训练样本集。
其中,所述训练样本集中的训练样本包括基于前述任一实施例所述的方法得到的素材对。
步骤602、根据所述训练样本集,对基础模型进行训练。
可选的,所述基础模型可以是经过预训练后的模型。步骤602可以用于对基础模型进行微调训练。
可选的,根据所述训练样本集,对基础模型进行训练,可以包括:若训练样本集中包含原始素材对应的正例素材和负例素材,则根据所述训练样本集,通过对比学习的方式对基础模型进行训练。
可选的,可以将原始素材与其对应的正例素材作为正样本对,原始素材与其对应的负例素材作为负样本对,原始素材和其它原始素材对应的正例素材或负例素材也作为负样本对。
示例性地,训练样本集可以包括三元组分别表示原始素材、对应的正例素材和对应的负例素材,其中,/>可以作为正样本对,/>可以作为负样本对。另外,原始素材xs和其余的任意一个原始素材对应的生成素材(正例素材/>和负例素材/>)也可以构成负样本对,例如,/>和/>均为负样本对(在s≠k时)。在训练时,损失函数可以表示为:
其中,N为一个批次的原始素材的数量,hs、分别为xs和/>的特征向量,/>和/>分别为/>和/>的特征向量,sim()用于表示括号内两个特征向量的相似性,ι为温度系数。
通过上述的损失函数,可以将正样本对中的素材的特征向量拉近,将负样本对中的素材的特征向量推远,从而使训练得到的模型能够准确提取到待处理的素材的特征向量。
可选的,还可以为不同的样本对设置不同的权重。具体的,在对比学习过程中,任一目标原始素材与其对应的正例素材构成正样本对,目标原始素材与其对应的负例素材构成第一类负样本对,目标原始素材与其他原始素材对应的正例素材或负例素材构成第二类负样本对。模型训练的总损失值由各个正样本对的损失值以及各个负样本对的损失值计算得到,其中,第一类负样本对的损失值的权重大于第二类负样本对的损失值的权重。
沿用前述例子,可以作为第一类负样本对,/>和/>可以作为第二类负样本对,第一类负样本对的权重可以大于第二类负样本对的权重,这是因为,由原始素材xs生成的负例素材/>和xs具有较强的矛盾关系,而其他原始素材的正例素材或负例素材/>与xs的矛盾关系通常不如/>因此,加强自身生成的负例素材的权重,可以更好地表征各个素材的实际空间位置,提升训练的准确性。
当为第一类负样本对和第二类负样本对分别赋予不同的权重后,可以将上式中分母的求和操作替换为加权求和操作,即可得到总损失值。
在实际应用中,通过上述方式构建的样本对中,可能会存在不合格的负样本对,因为某个原始素材在语义上可能会和其它原始素材的正例素材和负例素材是相似的,但是却被组合为负样本对。为了消除不合格的负样本对带来的危害,可以对其中含义相似的素材进行屏蔽操作。
下面以素材为语句、正例素材和负例素材分别为蕴含句和矛盾句为例,结合训练样本的构建阶段和模型训练阶段来说明为何会出现不合格的负样本对以及具体解决方案。
图7为本申请实施例提供的一种模型训练方法的原理示意图。如图7所示,为了实现对基础模型的训练,可以设置三个阶段,其中阶段一和阶段二用于构建训练样本,阶段三用于实现微调训练。
其中,原始素材库中有多个原始语句,在阶段一中,可以通过第一模型根据各原始语句生成对应的蕴含句和矛盾句。
示例性地,第一个原始语句为:“两个男人站在外面,穿着夹克,戴着帽子(two menstanding outside wearing jackets and caps)”,通过第一模型得到的蕴含句为:“两个穿着夹克的男人站在外面(two dressed men are standing outside)”,矛盾句为:“两个男人在户外开车(two men are driving outdoor)”。
第二个原始语句为:“四个孩子正站着摆姿势拍照(four children are standingto pose for a photo)”,通过第一模型得到的蕴含句为:“四个孩子正在摆姿势拍照(fourchildren are posing for a photo)”,矛盾句为:“四个女人正在站着拍照(four womenare standing for a photo)”。
第三个原始语句为:“两个穿着夹克、戴着帽子的男人站在露台上(two mendressed jackets and caps are standing on a terrace)”,通过第一模型得到的蕴含句为:“两个穿着夹克的男人在外面(two men in jackets are outside)”,矛盾句为:“一个穿短裤的孩子在外面(a child in shorts is outside)”。
第四个原始语句为:“四个孩子站在一尊大型动物雕像前(a group of four kidsstand in front of a statue of a large animal)”,通过第一模型得到的蕴含句为:“孩子们正在和一只大动物玩耍(the kids are playing with a large animal)”,矛盾句为:“孩子们坐在一只大动物身上(the kids are sitting on a large animal)”。
在阶段二,可以利用第二模型的语义感知能力,将第二模型作为过滤器,评估所生成的语句和原始语句的语义相似性,过滤掉“低质量”的句子对。例如,对于图中阶段一生成的第四个蕴含句,“孩子们正在和一只大动物玩耍”是一个不合格的蕴涵句,因此该蕴含句和其对应的矛盾句都会被过滤掉。通过过滤,阶段一中生成的4对语句中只有3对被用作下一个阶段的模型微调数据。
在阶段三,将原始语句和生成语句构成正负样本对,图中示出了可以将第一个原始语句与保留的3对生成语句分别构成样本对。其中,实线框住的生成语句(即根据第一个原始语句生成的蕴含句)代表用于和第一个原始语句构成正样本对,具体可以用正例进行标记,虚线框住的生成语句代表用于和第一个原始语句构成负样本对,具体可以用负例进行标记,其中,由第一个原始语句得到的矛盾句和第一个原始语句具有较强的矛盾关系,在向量空间中距离更远,因此,可以为第一类负例,用于构成第一类负样本对,而其他原始语句对应的蕴含句和矛盾句,与第一原始语句之间的相似度,介于正例和第一类负例之间,可以为第二类负例,用于构成第二类负样本对。如前所述,第二类负样本对的权重可以小于第一类负样本对的权重。
在第二类负样本对中,可能存在不合格的负样本对,如图所示,第三个原始语句对应的蕴含句“两个穿着夹克的男人在外面”,与第一个原始语句“两个男人站在外面,穿着夹克,戴着帽子”相似,如果两者作为负样本对,可能会使模型学习到错误的信息,因此,可以在微调过程中屏蔽该负样本对。
在实际应用中,可以从所述训练样本集中选择多个原始素材,得到批次样本集;其中,所述多个原始素材的数量为一个训练批次所需的数量,所述批次样本集包括所选择的多个原始素材以及对应的生成素材构成的正样本对和负样本对;在所述批次样本集中,对符合预设条件的第二类负样本对进行屏蔽,并根据屏蔽操作后得到的批次样本集,通过对比学习的方式对基础模型进行训练;其中,所述预设条件为:负样本对中的两个素材的相似度大于预设阈值。
示例性地,通过阶段一和阶段二构建得到的训练样本集中,包含10000个原始素材,在微调训练过程中,每一批次可以从训练样本集中随机选择100个原始素材及其对应的生成素材,对基础模型的参数进行调整,这样,只需要计算着100个原始素材及其对应的生成素材之间的相似度是否大于预设阈值即可,无需考虑其余9900个原始素材,有效减少计算量,提升模型的整体训练效率。
可选的,根据屏蔽操作后得到的批次样本集对基础模型进行训练,可以有多种实现方式。
一种可选的实现方式中,可以仅将没有屏蔽的样本对输入到基础模型中,得到对应的输出,并根据输出计算总损失值,基于总损失值更新基础模型的参数。
在另一种可选的实现方式中,可以将批次样本集中所有的样本对输入到基础模型中,但是,在计算总损失值时,可以忽略被屏蔽的样本对的损失值。
可选的,在所述批次样本集中,对符合预设条件的第二类负样本对进行屏蔽,包括:
通过第三模型提取所述批次样本集中的各个素材对应的特征向量;
遍历所述批次样本集对应的第二类负样本对,对于遍历到的任一负样本对,若所述负样本对包含的原始素材的特征向量与生成素材的特征向量的相似度大于预设阈值,则对所述负样本对进行掩码,以在计算总损失值时忽略经过掩码的负样本对;
其中,所述第三模型是利用数据集通过无监督的方式训练得到的,在无监督训练过程中,数据集中任一素材与其自身构成正样本对,与数据集中的其它素材构成负样本对。
具体的,可以使用第三模型提取批次样本集中各个原始素材、生成素材的特征向量,根据特征向量为相似度较高的原始素材和生成素材进行掩码,以便在微调训练时忽略经过掩码的负样本对。
可选的,可以通过指示符来指示掩码的情况。示例性地,和/>的指示符可以通过如下方式计算得到:
其中,simη()表示通过第三模型确定的括号内两个特征向量的相似度,的取值为/>或/>σ为预设阈值。这样,语义相似度高的负样本对就会被认为是不合格的负样本对,在训练过程中会被屏蔽掉。对应的,可以使用以下损失函数来微调基础模型:
其中,y的取值范围,即包含+、-两种情况。
示例性地,如图7右下角的部分所示,可以从原始素材库中选择的原始语句,从生成素材库中选择生成语句,构成第二类负样本对,输入到第三模型,对于任意负样本对中的原始语句和生成语句,第三模型可以提取该原始语句和生成语句的特征向量,根据两者的特征向量,可以确定两者的相似度,若相似度大于预设阈值,则对应的指示符用数字0表示,若相似度小于预设阈值,则对应的指示符用数字1表示(正样本对和第一类负样本对的指示符可以默认为1)。这样,通过对多个原始语句和生成语句分别进行处理,可以得到由0和1组成的矩阵,矩阵中的每一行对应一个原始语句,根据该行数字,可以确定被掩码的负样本对,从而在微调过程中忽略该负样本对。
具体的,在微调过程中,可以将原始语句和生成语句分别输入到基础模型中,基础模型在图中用符号E来表示,示例性地,第一个原始语句输入到基础模型中,得到的特征向量分别和多个生成语句输入到基础模型中得到的特征向量进行比较,并根据比较结果对基础模型的参数进行更新。其中,由于第一个原始语句和第三个原始语句对应的蕴含句的相似度大于预设阈值,因此两者构成的负样本对的指示符为0,在计算总损失值时会忽略掉这一负样本对。
通过上述方式,可以对相似度较高的负样本对进行屏蔽,减少基础模型学习到错误知识的情况,提高模型训练的准确性,并且,在实际微调训练过程中,对一个批次的负样本对进行掩码处理,而非在构建训练样本的过程中进行掩码处理,能够有效减少掩码的工作量,提高微调训练的效率。此外,通过指示符的方式进行掩码操作,能够快速、准确地对需要进行屏蔽的负样本对进行标记,并应用于损失函数,进一步提高了训练的整体效率和准确性。
可选的,也可以利用其他方法实现对负样本对的屏蔽,例如,直接删除相关的负样本对。
此外,第三模型是通过无监督方式训练得到的,具备初步的相似度判别能力,利用所述第三模型的帮助,通过有监督的方式对基础模型进行训练,可以减少整体所需的标注数据以及整体训练所需的时间。在其它可选的实现方式中,也可以是通过少量的标注数据,使用有监督方式训练得到的第三模型。
在本申请的一个或多个实施例中,可选的,所述训练样本集中,原始素材对应的生成素材还包括:中立素材,所述中立素材为与所述原始素材具有中立关系的素材,例如,原始素材为原始语句时,对应的中立素材为中立句。
任一原始素材与其对应的中立素材构成第三类负样本对,在对比学习过程中,第三类负样本对的损失值的权重小于第一类负样本对的损失值的权重。第三类负样本对的权重和第二类负样本对的权重之间的大小关系可以不作限制。
通过增加中立素材,可以有效扩展样本对的数量,提升样本规模。可选的,任一原始素材与其他原始素材对应的中立素材也可以构成第三类负样本对,从而扩展更多的负样本对。
以上描述了训练样本集中的原始素材和生成素材具有的目标关系为蕴含、矛盾、中立时的处理方案。在其它可选的实现方案中,训练样本集中的原始素材和生成素材具有的目标关系可以为具有预设相似度。根据预设相似度,可以确定原始素材和生成素材构成的样本对的标签。示例性地,当标签为5时,样本对为正样本对;当标签为0时,样本对为负样本对;或者,当标签为0时可以为第一类负样本对,标签为2.5时可以为第二类负样本对。后续的处理方案可以参考前述实施例。
在本申请的一个或多个实施例中,可选的,在模型训练阶段,还可以通过交互界面允许用户对训练过程进行配置。
具体的,可以通过交互界面向用户展示训练过程对应的参考信息;其中,所述参考信息包括:多个候选预设阈值以及各候选预设阈值对应的素材示例,和/或,所述参考信息包括:可供选择的负样本对的类型;
获取用户根据所述参考信息在所述交互界面输入的下述至少一项:所述预设阈值;训练过程使用的负样本对的类型;各类负样本对的损失值的权重。
示例性地,当候选预设阈值包括3和4时,参考信息可以为“请输入相似度掩码时使用的预设阈值,如下信息可供参考:句子1和句子2的相似度为4,若将预设阈值设置为4,则句子1和句子2构成的负样本对,以及相似度更高的负样本对会被屏蔽掉;句子3和句子4的相似度为3,若将预设阈值设置为3,则句子3和句子4构成的负样本对,以及相似度更高的负样本对会被屏蔽掉”。用户可以从候选预设阈值中选择训练阶段实际使用的预设阈值,也可以从候选预设阈值之外选择,此处不做限制。
通过交互界面展示参考信息以及允许用户输入预设阈值的具体方案可以参考前述训练样本的构建阶段提及的交互界面。
允许用户选择负样本对的类型和权重,可以参考图8。图8为本申请实施例提供的一种模型训练阶段对应的交互界面的示意图。如图8所示,可以在交互界面上展示可供选择的负样本对的类型,其中,负样本对的类型可以对应上述的第一类负样本对、第二类负样本对等。当用户仅选择由原始语句及其对应的矛盾句构成负样本对时,原始语句和其它原始语句对应的蕴含句或矛盾句不再作为负样本对参与训练,以在有限的时间内尽量争取较佳的训练效果。
除了上述方案示出的负样本对的类型,还可以进一步增加其他的负样本对的类型,例如,可以选择由一个原始素材和另一个原始素材构成负样本对,作为一种新的负样本对的类型。但是,在某些情况下,增加新的负样本对,会额外增加训练的时间,但可能并不会显著地提升模型的性能,因此,这种新类型的负样本对是否要应用于训练过程,也可以由用户进行选择。
除了选择负样本对的类型,还可以允许用户为各类负样本对设置权重,例如,可以将原始素材及其对应的矛盾素材构成的负样本对的权重调整得更高,将原始素材和其它原始素材对应的正例素材或负例素材构成的负样本对的权重调整得更低,以更多地弱化后者在训练过程中的贡献,满足不同场景下的使用需求。
在本申请实施例中,通过向用户提供各种交互界面,允许用户对训练过程中使用到的相关功能进行配置,能够满足用户的各种实际需求,有利于提高具体场景下系统整体的效率和准确性,具有较强的灵活性和适用性。
除了上述功能,还可以允许用户通过交互界面对模型的训练策略进行调整,包括但不限于:模型输入、模型输出、模型结构、模型训练过程等。
示例性地,在模型输入方面,用户可以调整输入的格式、输入的模态,对训练样本集中的素材进行新增、修改、筛选等。在模型输出方面,用户可以调整输出的格式、模态,还可以对标签进行修改、筛选等。在模型结构方面,用户可以对模型的具体结构、参数量等进行调整,新增、减少或者修改模型中的一个或多个模块。在模型训练过程方面,用户可以规划模型的训练阶段、选择每个阶段使用的训练数据集和输入输出策略、损失函数、训练的停止条件等。
可选的,还可以在界面上展示用于辅助用户做出选择的相关信息,例如,可供选择的各项信息,或者可供选择的各项信息的详细内容。此外,还可以向用户展示模型训练过程中的各种动态信息,例如,模型训练的中间结果,便于用户及时更新策略。
除了应用于对比学习,本申请实施例中的方案还可以应用于其它类型的学习训练,例如,分类训练。
示例性地,可以构建样本对,每一样本对包含两个素材,且有对应的标签,标签可以为蕴含、矛盾、中立。其中,原始素材和其对应的正例素材构成的样本对的标签为蕴含,原始素材和其对应的负例素材构成的样本对的标签为矛盾,原始素材和其它原始素材对应的正例素材或负例素材构成的样本对的标签可以为中立。根据构建的样本对,可以进行分类训练,分类训练完成后,基础模型也具备了一定的提取特征向量的能力,可以用于后续的使用。
通过上述方案,可以利用第一模型和第二模型的生成和评估能力,在没有任何人工数据标注的情况下,得到了一个具有较高准确性的训练样本集,在此基础上进行基础模型的微调,可以得到训练好的特征提取模型。下面对本申请实施例提供的方案的测试效果进行说明。
参考图7所示方案,当素材为语句,且使用三个阶段的处理流程时,在标准的文本语义相似度计算测试上得到的实验结果可以如表1所示。
表1
其中,表1的第一行中,TST12至SICK-R代表不同的测试集,表1的上半部分是BERT-base的实验结果,下半部分是roBERTa-base的实验结果,即,代表基础模型选择BERT或者roBERTa时对应的实验结果。
表1的第一列中列出了不同的训练方法。在BERT-base的实验结果中,由上至下通过横线分为三栏,第一栏为现有的方法,第二、三栏为本申请采用的方法,其中Qurs后括号内是阶段三使用到的第三模型,-W和-N代表使用的原始素材库,其中-W的语句普遍较长,提供了关于特定主题的详细信息,而-N的语句相对较短,通常是表达两个实体或概念之间关系的简短陈述。
在本申请实施例中,将生成的蕴含句作为正例,矛盾句作为负例,由于生成的语句和原始语句通常不保持相同的长度甚至是语法结构,基于此生成的训练样本集进行模型微调能够有效避免前文所提到的采样偏差问题。根据表1中的实验结果,可以得出以下结论:
(1)当仅使用原始素材库-W作为原始语句的来源时,本申请的方法明显优于SimCSE-BERT和PromptBERT。当与SimCSE-RoBERTa和PromptRoBERTa进行对比时,本申请的方法的效果还会有进一步的提升,并将平均Spearman(斯皮尔曼)相关性系数分别从76.57%和79.15%提高到80.05%和80.34%。
(2)当使用原始素材库-N作为原始语句的来源时,可以观测到比单独使用原始素材库-W具有更大的性能提升,这可能是因为原始素材库-W中的语句更长、更详细,相对来说需要更强的语言理解能力来得到对应的蕴含句或矛盾句,而这两种原始素材库结合构建的训练样本集会使训练后的模型达到更佳的性能。这一部分的实验结果证明了本申请的方法能够被一致地应用到不同域的数据上,扩大了可应用的数据场景。
(3)本申请的方法基于SimCSE和PromptBERT模型实现时都能得到一定的性能提升,这表明了本申请的方法的泛化能力很强,可以应用于各种场景并取得理想的改进。
在其它可选的实现方案中,可以仅保留上述三个阶段中的一个阶段或者两个阶段的改进。可以理解的是,一个或者两个阶段的改进可能效果不如三个阶段均作出改进,但是,在某些情况下,相比于现有的方案也具有一定的效果,因此可以有选择地进行使用。
例如,当去掉阶段三的改进时,直接根据阶段一和阶段二构建的训练样本集对基础模型进行微调,虽然效果相比于表1有所下降,但是依然远高于现有的方案。
表2
表2为本申请中方法消融实验的结果。其中,w/o semantic-aware filter,w/omask indicator和w/o generated corpus分别为去掉阶段二、阶段三和阶段一&二的结果,SimCSERoBERTa为基础模型,也即去掉阶段一&二&三的结果。从表2中可以看出,为了达到更好的效果,每个阶段的改进都是比较重要的。
此外,针对阶段二所使用的模型的评估能力,进行了相关测试,并产生了如表3所示的结果。
表3
表3中,Flan-T5-XL即为阶段二可以采用的大语言模型。从表3可以得知,直接采用大语言模型对语义相似性进行评估难以得到理想的结果,而本申请提供的方法,可以利用大语言模型所提供的评估能力,增强所构建的训练样本集的质量,性能可以达到80.34%,这也可以说明,在如今的大语言模型时代,本申请提供的方法是一种合理利用而不过分依赖大语言模型的具体应用。
以上以素材为语句为例,对本申请的方案进行了详细说明。可选的,素材还可以包括其它模态。第一模型和第二模型可以是本身具备多模态处理能力的模型,例如,可以实现根据图像生成图像,或者将图像转为文本等功能,在此基础上,可以直接利用模型的多模态处理能力,构建训练样本集。
或者,若第一模型和第二模型本身不具备多模态处理能力,则可以先通过少量的标注数据对模型进行训练,使得模型具备多模态处理能力。或者,也可以先通过小模型将其它模态的内容转换为文本,再通过具有文本处理能力的第一模型和第二模型构建训练样本集。
在上述实施例提供的模型训练方法的基础上,本申请实施例还进一步提供了模型的应用方法以及利用模型进行下游任务训练的方法。下面分别说明。
一方面,本申请实施例提供一种特征提取方法,包括:获取待处理的目标信息,将所述目标信息输入到特征提取模型,得到所述目标信息对应的特征向量;其中,所述特征提取模型为通过前述任一实施例所述的方法对基础模型进行训练后得到的。
可选的,所述目标信息可以是语句,也可以是其它类型的文本或者其它模态的信息,在提取到特征向量后,可以根据特征向量执行后续的任务,例如,通过特征向量的相似度进行搜索,或者对接分类器等完成分类操作等。
另一方面,本申请实施例还提供一种搜索处理方法,应用于电商搜索场景,所述方法包括:获取用户对应的搜索信息;将所述搜索信息输入到特征提取模型,得到所述目标信息对应的特征向量;在商品信息库中搜索得到至少一个商品信息,所述至少一个商品信息为:特征向量与所述搜索信息的特征向量的相似度满足预设要求的商品信息;根据搜索到的至少一个商品信息,确定输出的搜索结果;其中,所述特征提取模型为通过前述任一实施例所述的方法对基础模型进行训练后得到的。
所述搜索处理方法的实现过程具体可以参见图1所示的实施方案。
另一方面,本申请实施例还提供一种信息处理方法,应用于智能客服场景,所述方法包括:获取待处理的查询信息;其中,所述待处理的查询信息可以为用户输入的;基于目标模型,在知识库中搜索得到至少一个知识,所述至少一个知识为:与所述查询信息具有目标关系的知识;根据搜索到的至少一个知识,确定输出的查询结果;其中,所述目标模型为通过前述任一实施例所述的方法对基础模型进行训练后得到的。
可选的,所述目标模型可以为特征提取模型,基于目标模型,在知识库中搜索得到至少一个知识,可以包括:将所述查询信息输入到特征提取模型,得到所述查询信息对应的特征向量;在知识库中搜索得到至少一个知识,所述至少一个知识为:特征向量与所述查询信息的特征向量的相似度满足预设要求的知识。
可选的,所述目标模型也可以为通过训练得到的判定模型,可以直接判断两个输入信息是否具备目标关系,可以将查询信息和知识库中的任一知识作为两个输入信息输入到判定模型中,得到查询信息和知识的关系。
可选的,所述查询处理方法的具体实现原理和过程与前述的搜索处理方法类似,此处不再赘述。
此外,本申请实施例还提供应用于企业办公场景的模型训练方法,例如,翻译、分类、文本转SQL等。下面进行说明。
一方面,本申请实施例还提供一种下游任务的训练方法,应用于任意的任务处理场景,如分类任务,所述方法包括:获取待处理的样本信息,将所述样本信息输入到特征提取模型,得到所述样本信息对应的特征向量;将所述特征向量输入到任务处理模块,根据所述任务处理模块的输出信息以及所述样本信息对应的标签,更新所述任务处理模块的参数;其中,所述特征提取模型为通过上述任一实施例所述的方法对基础模型进行训练后得到的。
可选的,所述任务处理模块例如可以为分类器,在下游任务训练过程中,可以固定特征提取模型的参数,对分类器的参数进行调整,从而得到训练后的分类器,可以应用于后续的分类任务。
另一方面,本申请实施例还提供一种下游任务的训练方法,应用于自然语言场景,所述方法包括:获取多语种的训练样本对,所述训练样本对包括:第一语种对应的文本,以及由所述第一语种的文本翻译得到的第二语种的文本;将第一语种的文本输入到第一语种的特征提取模型,得到第一特征向量;将第二语种的文本输入到第二语种的特征提取模型,得到第二特征向量;根据所述第一特征向量和第二特征向量的相似度,更新所述第二语种的特征提取模型的参数;其中,所述第一语种的特征提取模型为通过上述任一实施例所述的方法对基础模型进行训练后得到的。
可选的,可以通过第一语种的训练样本集训练基础模型,得到第一语种的特征提取模型,再固定第一语种的特征提取模型的参数,对第二语种的特征提取模型进行训练。
示例性地,所述第一语种为英语,第二语种为某一小语种,因小语种的特征提取模型的样本比较难获取,因此,可以利用训练好的英语的特征提取模型,以及英语和小语种的样本对,来实现特征提取模型从英语向小语种的迁移。
除了实现不同语种间的迁移,还可以先后在不同的域上进行训练,实现域的迁移,例如,先通过-W原始素材库构建训练样本对模型进行训练后,再通过根据-N原始素材库构建的训练样本,实现模型的域迁移。
通过上述方法,可以利用本申请实施例训练得到的模型,在商品推荐、智能客服机器人、分类任务、小语种特征提取等场景进行应用,在商品推荐场景中,模型可以具体用于提取商品推荐系统中的商品描述、评论、用户历史记录等文本数据的语义表示,从而实现更精准、个性化的商品推荐,在智能客服场景,也可提高客服机器人的理解能力和自动回复的准确率,在其他任务上,也都有更好地表现,能够满足不同场景的使用需求。
本申请各实施例提供的方法,可以在云端执行,也可以在终端执行,或者,也可以云端和终端共同执行。此外,还可以通过分布式集群实现上述方法,本申请实施例对此不做限制。
对应于上述方法,一方面,本申请实施例还提供一种素材构建装置,包括:获取模块,用于获取原始素材以及至少一个目标关系对应的生成素材,其中,任一目标关系对应的生成素材为第一模型生成的、与所述原始素材具有所述目标关系的素材;验证模块,用于对于任一生成素材,基于第二模型对所述原始素材和所述生成素材之间的关系进行验证,得到经验证符合对应的目标关系的素材对,所述素材对包括原始素材和生成素材。
另一方面,本申请实施例还提供一种模型训练装置,包括:获取模块,用于获取训练样本集,其中,所述训练样本集中的训练样本包括基于前述任一实施例所述的方法得到的素材对;训练模块,用于根据所述训练样本集,对基础模型进行训练。
另一方面,本申请实施例还提供一种特征提取装置,包括:获取模块,用于获取待处理的目标信息,将所述目标信息输入到特征提取模型,得到所述目标信息对应的特征向量;其中,所述特征提取模型为通过前述任一实施例所述的素材生成方法得到的素材对,或者,通过前述任一实施例所述的模型训练方法,对基础模型进行训练后得到的。
另一方面,本申请实施例还提供一种信息处理装置,包括:获取模块,用于获取待处理的查询信息;搜索模块,用于基于目标模型,在知识库中搜索得到至少一个知识,所述至少一个知识为:与所述查询信息具有目标关系的知识;输出模块,用于根据搜索到的至少一个知识,确定输出的查询结果;其中,所述目标模型为通过前述任一实施例所述的素材生成方法得到的素材对,或者,通过前述任一实施例所述的模型训练方法,对基础模型进行训练后得到的。
本申请实施例提供的装置的具体实现原理和效果可以参见前述实施例,此处不再赘述。
图9为本申请实施例提供的一种电子设备的结构示意图。如图9所示,本实施例的电子设备可以包括:
至少一个处理器901;以及与所述至少一个处理器通信连接的存储器902;其中,所述存储器902存储有可被所述至少一个处理器901执行的指令,所述指令被所述至少一个处理器901执行,以使所述电子设备执行如上述任一实施例所述的方法。可选地,存储器902既可以是独立的,也可以跟处理器901集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一实施例所述的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。