CN113553824A - 一种句子向量模型训练方法 - Google Patents

一种句子向量模型训练方法 Download PDF

Info

Publication number
CN113553824A
CN113553824A CN202110766647.5A CN202110766647A CN113553824A CN 113553824 A CN113553824 A CN 113553824A CN 202110766647 A CN202110766647 A CN 202110766647A CN 113553824 A CN113553824 A CN 113553824A
Authority
CN
China
Prior art keywords
sentence
text
sentences
model
training
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.)
Pending
Application number
CN202110766647.5A
Other languages
English (en)
Inventor
姜怀臣
张毅阳
李冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linyi Zhongke Haoyun Intelligent Technology Co ltd
Original Assignee
Linyi Zhongke Haoyun Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Linyi Zhongke Haoyun Intelligent Technology Co ltd filed Critical Linyi Zhongke Haoyun Intelligent Technology Co ltd
Priority to CN202110766647.5A priority Critical patent/CN113553824A/zh
Publication of CN113553824A publication Critical patent/CN113553824A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种句子向量模型训练方法,包括:S1、对多个原始句子进行数据增强处理,得到每个原始句子的多个相似句子,将所有句子复制多份后用于构建多个句子对及其相似性标签;S2、用BERT模型基于所述多个句子对进行预训练,得到第一BERT模型,其中,所述预训练包括利用句子对进行掩码语言模型预训练以及利用句子对和相似性标签进行的判断两个句子是否相似的预训练;S3、利用相应领域的任务对应的分类数据集对第一BERT模型进行微调,得到句子向量模型,该模型具有较好的泛化能力。基于句子向量模型采用的文本检索方法,提高文本检索效率。

Description

一种句子向量模型训练方法
技术领域
本发明涉及自然语言处理领域,具体涉及一种句子向量模型训练方法。
背景技术
在60年代,文本检索技术的一些关键技术获取了突破。其间出现了一些优秀的系统以及评价指标。在评价指标方面,由克兰菲尔德(Cranfield)的研究组组织的克兰菲尔德(Cranfield)评测提出了许多目前仍然被广泛采用的评价指标,而在系统方面,杰拉德·索尔顿(Gernard Salton)开发的智能信息检索系统(SMART information retrievalsystem)构建了一个很好的研究平台,在此平台上,研究者可以定义自己的文档相关性测度,以改进检索性能。这样,作为一个研究课题,文本检索技术拥有了较为完善实验平台与评价指标,其研究理所当然地步入了快车道。也正因为如此,在70年代到80年代,许多为文本检索的理论与模型被提出,并且被证明对当时所能获得的数据集是有效的。其中最为著名的是杰拉德·索尔顿(Gerard Salton)提出的向量空间模型。至今该模型还是信息检索领域最为常用的模型之一。但是,检索的对象——文本集合的缺乏使得这些技术在海量文本上的可靠性无法得到验证。当时的研究大多针对数千篇的文档组成的集合。这时,美国国家标准技术研究所(NIST)组织的文本检索会议(Text Retrieval Conference,TREC)的召开改变了这一情况。文本检索会议是一个评测性质的会议,为参评者提供了大规模的文本语料,从而大大推动了信息检索技术的快速发展。会议的第一次召开是1992年,不久后,互联网兴起为信息检索技术提供了一个巨大的实验场。从雅虎(Yahoo)到谷歌(Google),大量实用的文本信息检索系统开始出现并得到广泛应用。这些系统从事实上改变了人类获取信息与知识的方式。
随着2018年底BERT的面世,文本检索领域进入了预训练模型的时代。各大预训练模型如GPT-2,Roberta,XLNet,Transformer-XL,AlBert,T5等等层数不穷。但是几乎大部分模型均不适合语义相似度搜索,也不适合非监督任务,比如聚类。而解决聚类和语义搜索的一种常见方法是将每个句子映射到一个向量空间,使得语义相似的句子很接近。但是直接将整个句子输入预训练模型中,得到该句的句向量,然后作为句子的句向量表示,这样得到的句向量不具有语义信息,也就是说,两个相似的句子,得到的句向量可能会有很大的差别。此外,不仅句向量表示的语义方面存在很大差别,而且,它要求两个句子都被输入到网络中,从而导致巨大开销:从10000个句子集合中找到最相似的句子对需要进行大约5000万个推理计算(约65小时)。
经典BERT在中文数据上将单字作为一个字符进行训练和推断,这种方式仅适合英文单个单词的嵌入,但是中文文本是不适用的,中文文本中的每个领域有属于其自定义的词汇,将BERT改造为基于领域词典进行分词的方式显然更符合中文的语义背景。另外,原本的BERT包括两个预训练任务,即掩码语言模型(Masked Language model)训练和下一句预测(Next Sentence Prediction),在原本的BERT模型中进行掩码语言模型(MaskedLanguage model)训练时,随机选择句子中15%的词汇用于预测,即从一开始随机选择了这15%的词,之后的N个轮次(Epoch)训练中,数据都不再改变,这样便使训练数据单一化,因此,需要收集大量训练数据以弥补训练数据不足的问题,同时,预训练出的模型缺乏一定的泛化能力。原本的BERT模型中的另一预训练任务为下一句预测,用于捕捉句子之间是否连续的关系,这一预训练仅适用使模型较为准确地理解语句及篇章层面的语义信息。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种句子向量模型训练方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种句子向量模型训练方法,包括:S1、对多个原始句子进行数据增强处理,得到每个原始句子的多个相似句子,将所有句子复制多份后用于构建多个句子对及其相似性标签;S2、用BERT模型基于所述多个句子对进行预训练,得到第一BERT模型,其中,所述预训练包括利用句子对进行掩码语言模型预训练以及利用句子对和相似性标签进行的判断两个句子是否相似的预训练;S3、利用相应领域的任务对应的分类数据集对第一BERT模型进行微调,得到句子向量模型。
在本发明的一些实施例中,所述构建多个句子对及其相似性标签的构建过程包括:
获得多个相似句子对,且将相似性标签标记为相似,其中,每个相似句子对是从原始句子和所述原始句子对应的多个相似句子中的随机选择的两个句子组成;
获得多个不相似句子对,且将相似性标签标记为不相似,其中,每个不相似句子对是从若干原始句子中,或从原始句子和不同所述原始句子对应的相似句子中,或从不同原始句子对应的不相似句子中随机选择的两个句子组成。
在本发明的一些实施例中,所述多任务学习的学习过程包括:
随机遮罩句子对中预定比例的词,在BERT模型中进行掩码语言模型预训练,获得遮罩词的预测结果,基于预测结果和遮罩的原词计算第一子损失;
将句子对输入BERT模型中进行二分类预训练,获得指示句子对中两个句子是否相似的分类结果,根据分类结果和相似性标签计算第二子损失;
利用第一子损失和第二子损失加权求和的总损失通过反向传播更新BERT模型参数,得到第一BERT模型。
在本发明的一些实施例中,所述利用相应领域的任务对应的分类数据集对第一BERT模型进行微调包括:
将分类数据集中的样本输入基于第一BERT模型构成的孪生网络结构,获得样本的分类结果;
根据分类结果调整第一BERT模型参数,进行迭代训练,迭代训练结束获得句子向量模型。
在本发明的一些实施例中,所述根据分类结果调整第一BERT模型参数包括:
根据分类结果和真实结果采用交叉熵损失函数计算损失,以随机梯度下降的方式更新第一BERT模型参数,其中,当损失小于等于指定阈值时,停止更新。
在本发明的一些实施例中,在将所述句子对输入BERT模型前,利用领域词典中的自定义词汇对句子对进行分词处理。
在本发明的一些实施例中,所述数据增强的处理包括同义词替换、随机插入、随机交换、随机删除及其组合。
根据本发明的第二方面,提供一种文本检索方法,包括:
将查询文本输入到采用上述所述的第一方面的方法获得的句子向量模型中,得到对应的查询文本向量;
获取所述句子向量模型对文本库中各文本分别提取的库内文本向量;
计算各库内文本向量与查询文本向量的相似度,输出文本库中与查询文本相似度最高的文本。
在本发明的一些实施例中,还包括:
当相似度大于指定阈值时,将其库内文本向量对应的文本与查询文本向量对应的查询文本作为相似文本,其中,在所有大于指定阈值的相似度中,选择最高得分的库内文本向量对应的文本作为输出文本。
根据本发明的第三方面,提供一种计算机可读存储介质,其上包含有计算机程序,所述计算机程序可被处理器执行以实现第一方面的句子向量模型训练方法以及基于模型训练方法生成的句子向量模型进行文本检索方法的步骤。
根据本发明的第四方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面的句子向量模型训练方法以及利用第一方面的方法生成的句子向量模型进行第二方面的文本检索方法步骤。
与现有技术相比,本发明的优点在于:
1、将输入BERT模型进行预训练的句子基于领域词典进行分词的方式,更符合中文的语义背景,另外,采用数据增强的方式并复制多份,获得大量数据,在进行掩码语言模型训练时,对复制的每份数据都随机选择预定比例的词进行遮罩,在进行训练时,一份数据有一种遮罩方式,多份相同数据形成多种不同的遮罩方式,使得预训练出的模型泛化能力强。
2、本发明将原本的BERT模型的下一句预测(Next Sentence Prediction)这一预训练任务去除了,而是每次以输入句子对的形式,通过训练文本相似与否的二分类预训练任务,来改进BERT模型以更好的适应下游任务。
3、本发明基于句子向量模型采用的文本检索方法不会有很大的开销,解决在海量文本库中快速检索召回相似文本,提高了文本信息检索的效率。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的句子向量模型训练方法与文本检索的整体流程图;
图2为根据本发明实施例的句子向量模型训练方法流程图;
图3为根据本发明实施例的句子向量模型训练句子对的嵌入表示示意图;
图4为根据本发明实施例的句子向量模型进行掩码语言模型(MLM)训练任务示意图;
图5为根据本发明实施例的句子向量模型进行二分类训练任务示意图;
图6为根据本发明实施例的句子向量模型基于孪生结构网络进行二分类微调训练流程图;
图7为根据本发明实施例的基于句子向量模型的文本检索方法流程图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
BERT:BERT(Bidirectional Encoder Representations from Transformer)是一种预训练语言模型,其本质是通过在海量的语料的基础上进行自监督学习(自监督学习是指在没有人工标注的数据上运行的监督学习),为单词学习一个好的特征表示。在特定的自然语言处理(NLP)任务中,可以直接使用BERT的特征表示作为该任务的词嵌入特征。所以BERT提供的是一个供其它任务迁移学习的模型,该模型可以根据任务微调或者固定之后作为特征提取器。
孪生网络结构:孪生网络结构就是“连体的神经网络(包括两条相互连接的神经网络)”,其“连体”是指通过共享权值来实现的,作用是衡量两个输入的相似程度。孪生网络结构有两个输入(Input1 and Input2),将两个输入进入两个神经网络(Network1 andNetwork2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。
如背景技术中提到的,经典BERT在中文数据上将单字作为一个字符进行训练和推断,这种方式仅适合英文单个单词的嵌入。另外,原本的BERT包括两个预训练任务,即掩码语言模型(Masked Language Model)训练和下一句预测(Next Sentence Prediction),在进行掩码语言模型(Masked Language Model)训练时,开始会随机选择15%的词用于预测,之后的N个轮次(Epoch)训练中,所选择的词都不再改变,训练数据单一化,需要收集大量训练数据以弥补训练数据不足的问题,同时,预训练出的模型缺乏一定的泛化能力。原本的BERT模型中的另一预训练任务为下一句预测,仅适用使模型较为准确地理解语句及篇章层面的语义信息。
发明人在训练BERT模型时,认识到将输入BERT模型进行预训练的句子基于领域词典进行分词的方式,更符合中文的语义背景。另外,通过对相应的句子进行数据增强并复制多份,获得大量训练数据,在进行掩码语言模型训练时,对复制的每份数据都随机选择预定比例的词进行遮罩,在进行训练时,一份句子有一种遮罩方式,多份相同句子形成多种不同的遮罩方式,使得预训练出的模型泛化能力更强。再将原本的BERT模型的下一句预测任务去除,每次以输入句子对的形式,通过训练文本相似与否的二分类任务,来改进BERT模型以更好的适应下游任务。
为了直观展示本发明的应用过程,此处结合图1进行说明,首先,对BERT模型进行预训练,获得第一BERT模型,预训练时,训练数据采用若干句子对的形式输入到BERT模型中进行MLM预训练加上二分类任务预训练,此处将原本的BERT模型的MLM预训练和下一句预测(NSP)预训练改造为MLM预训练加上二分类任务预训练,去除了原本的NSP任务,通过训练句子对相似与否的二分类任务预训练,来改进BERT模型以更好的适应下游任务。其次,下游任务利用相应领域的任务对应的分类数据集对第一BERT模型进行微调处理,获得句子向量模型,分类数据集采用若干句子对的形式输入到基于第一BERT模型构建的孪生网络结构中进行二分类训练,获得鲁棒性更好的句子向量模型。最后,在进行文本检索时,将相应的查询文本输入到句子向量模型中,即可获得对应的查询文本向量。其中,在进行文本检索前,将相应文本库输入到句子向量模型中,获得由若干库内文本向量形成的向量池,查询文本向量与向量池中的库内文本向量进行匹配,获得与查询文本向量相似度最高的库内文本向量,并将该库内文本向量对应的文本输出。
基于上述研究,根据本发明的一个实施例,本发明采用开源BERT语言模型(简称BERT模型),如图2所示,提供一种句子向量模型训练方法,包括步骤S1、S2、S3,下面详细说明每个步骤。
步骤S1:对多个原始句子进行数据增强处理,得到每个原始句子的多个相似句子,将所有句子复制多份后用于构建多个句子对及其相似性标签。
根据本发明的一个实施例,将每个原始句子进行数据增强的处理,处理方式包括同义词替换、随机插入、随机交换、随机删除及其组合。其中,随机插入和随机交换可以多次操作,随机删除是以固定概率随机删除句子中的词语。下面分别对所述数据增强的处理方式进行举例说明:
原始句子a:想咨询下,我老公婚前买了一个房子并且在结婚前把房子登记在了他的名下,离婚的话这个房子要怎么分。
同义词替换方式,将“登记”替换为“注册”,获得相似句子b为:想咨询下,我老公婚前买了一个房子并且在结婚前把房子注册在了他的名下,离婚的话这个房子要怎么分。
随机插入方式,随机插入“请教”和“分割”,获得相似句子c为:想咨询下,请教我老公婚前买了一个房子并且在结婚前把房子登记在了他的名下,离婚的话这个分割房子要怎么分。
随机交换方式,将“婚前”和“买了”交换位置,“这个”和“房子”交换位置,获得相似句子d为:想咨询下,我老公买了一个房子婚前并且在结婚前把房子登记在了他的名下,离婚的话房子这个要怎么分。
随机删除方式,将“房子”删除,获得相似句子e为:想咨询下,我老公婚前买了一个房子并且在结婚前把房子登记在了他的名下,离婚的话这个房子要怎么分。
根据本发明的一个实施例,构建多个句子对及其相似性标签的构建过程包括:
获得多个相似句子对,且将相似性标签标记为相似,其中,每个相似句子对是从原始句子和所述原始句子对应的多个相似句子中的随机选择的两个句子组成。例如:在原始句子a和其相似句子b、c、d、e这五个句子中随机选择两个句子作为一个相似句子对。
获得多个不相似句子对,且将相似性标签标记为不相似,其中,每个不相似句子对是从若干原始句子中,或从原始句子和不同所述原始句子对应的相似句子中,或从不同原始句子对应的不相似句子中随机选择的两个句子组成。
其中,自动将多个相似句子对作为正样本对,相似性标签标记为1,将多个不相似句子对作为负样本对,相似性标签标记为0。
步骤S2、用BERT模型基于所述多个句子对进行预训练,得到第一BERT模型,其中,所述预训练包括利用句子对进行掩码语言模型预训练以及利用句子对和相似性标签进行的判断两个句子是否相似的预训练。
根据本发明的一个实施例,用BERT模型基于所述多个句子对进行预训练前,即在将所述句子对输入BERT模型前,利用领域词典中的自定义词汇对句子对进行分词处理,领域词典即为行业词典,比如一个txt文件,保存了某个行业(电信行业)的自定义词汇,如:5G套餐、天翼云、流量加速包等。
另外,预训练时,对BERT模型进行多轮多批次训练,每批次选择多个个句子对(句子对数量一般为8的倍数,常用值为16,32,64)输入到BERT模型中进行训练。其中,预训练的具体过程可以包括:
S21、随机遮罩句子对中预定比例的词,在BERT模型中进行掩码语言模型预训练,获得遮罩词的预测结果,基于预测结果和遮罩的原词计算第一子损失。本发明一开始把所有句子复制k份,每一份句子都随机选择15%的词(Tokens)进行遮罩(Masking),其中,将随机选择的该15%的词中80%词替换成[mask],15%的词中10%的词不变,15%的词中10%的词替换成其他词。
例如:随机选择15%的词(Tokens)进行遮罩(Masking)时,15%的词中80%的词进行遮罩,例如:今天、天气、真好、适合、出去、旅游→今天、天气、真好、适合、出去、[mask],15%的词中10%的词是随机取一个词来代替遮罩的词,例如:今天、天气、真好、适合、出去、旅游→今天、天气、真好、适合、出去、跑步,15%的词中10%的词保持不变,例如:今天、天气、真好、适合、出去、旅游→今天、天气、真好、适合、出去、旅游;或是将复制的句子中的天气这一词语进行遮罩,例如:今天、天气、真好、适合、出去、旅游→今天、[mask]、真好、适合、出去、旅游。
也就是说,将所有句子复制多份,每份用于不同的轮次区间的训练,每个轮次区间进行掩码语言模型预训练时对当前采用的句子进行随机遮罩,其中,一个轮次区间包括一个或者多个轮次(Epoch)。例如:假设一个轮次区间只有一个轮次,每个轮次均采用随机遮罩方式对句子进行遮罩,多份句子即有多种不同的遮罩(mask)方式,当所有句子都训练N个轮次,在这N个轮次(Epoch)的训练中,相同的句子被遮罩(mask)的词(Tokens)是会变化的。不仅弥补了训练数据的不足,还使训练出的模型泛化能力更强。假设一个轮次区间包括多个轮次,在该轮次区间的第一个轮次进行随机遮罩,该轮次区间的其他轮次遮罩方式不变。
S22、将句子对输入BERT模型中进行二分类预训练,获得指示句子对中两个句子是否相似的分类结果,根据分类结果和相似性标签计算第二子损失。每次以输入句子对的形式,通过训练文本相似与否的二分类任务,来改进BERT模型以更好的适应下游任务。
如图3所示,在分词处理后的句子输入BERT模型之前,需对句子进行处理得到句子向量嵌入表示。句子向量嵌入表示包括词嵌入向量(Token Embeddings)、段嵌入向量(Segment Embeddings)和位置嵌入向量(Position Embeddings),将每个词对应的词嵌入向量、段嵌入向量和位置嵌入向量进行求和得到该词对应的token。多个词对应的token连接形成句子向量嵌入表示。如图3所示,输入的句子向量嵌入表示为[CLS]、今天、天气、真棒、[SEP]、今天、天气、很好、[SEP]。其中,图3中词嵌入向量部分对应有E[CLS]、E今天、E天气、E真棒、E[SEP]、E今天、E天气、E很好、E[SEP];对应的段嵌入向量依次表示为EA、EA、EA、EA、EB、EB、EB、EB、EB;对应的位置嵌入向量依次表示为E1、E2、E3、E4、E5、E6、E7、E8。无论是句子还是句子对的形式,其中第一个token是[CLS],用于表征整个句子或者句子对。换言之,[CLS]设置在每个句子或句子对前,用于之后的分类训练任务。[SEP]作为分隔符,用于分割两个输入的句子。段嵌入向量中EA用于指示句子对中的第一个句子,EB用于指示句子对中的第二个句子。通过EA和EB用于区分两个不同的句子。位置嵌入向量对应有E0、E1、E2、E3、E4、E5、E6、E7、E8、EN等,E1到EN用于表示每个词的位置向量。
根据本发明的一个示例,在BERT模型中进行掩码语言模型预训练如图4所示,输入为句子向量嵌入表示为:[CLS]、token1、[mask]、…、tokenN。假设有N个词,词嵌入向量依次为E[CLS]、EC1、EC2、…、ECN,对应的段嵌入向量依次为EA、EA、EA、…、EB,对应的位置嵌入向量依次为E0、E1、E2、…EN。其中,token1代表将第一个词对应的词嵌入向量、段嵌入向量和位置嵌入向量进行求和得到的第一个词向量,token1后序的[mask]代表第二个遮罩的词的词向量,tokenN代表第N个词的词向量。句子向量嵌入表示输入BERT模型中,进行MLM(Masked Language Model,掩码语言模型)训练任务后,获得输出向量C、T1、T2、...、TN,C表示分类结果,T1、...、TN表示对应的词token1、...、tokenN,T2表示[mask]对应词的预测结果,输出遮罩的词的预测结果。
根据本发明的一个示例,在BERT模型中进行二分类预训练如图5所示,相应的附图标记含义与图4相同,不再赘述。通过二分类训练任务,获得输出特征C、T1、T2、…、TN,C表示分类结果,T1、T2、…、TN表示对应的词token1、token2、…、tokenN,输出两句子进行二分类后的分类结果,即通过C来表示两句子是否相似。
S23、利用第一子损失和第二子损失加权求和的总损失通过反向传播更新BERT模型参数,得到第一BERT模型。
步骤S3、利用相应领域的任务对应的分类数据集对第一BERT模型进行微调,得到句子向量模型。相应领域的任务是在预训练好第一BERT模型后,要将模型实际应用到相应领域的分类任务时,用该领域的分类数据集对第一BERT模型微调以进行领域适应的任务。
根据本发明的一个实施例,步骤S3可以包括:
S31、将分类数据集中的样本输入基于第一BERT模型构建的孪生网络结构,获得样本的分类结果。参见图6,根据本发明的一个实施例,孪生网络结构包括两条子网、连接两条子网的向量拼接层以及分类器,每条子网均包括特征提取层和池化层,所述特征提取层采用第一BERT模型,所述样本包括一个句子对及其相似性标签,所述句子对的两个句子分别通过两条子网获得各自对应的句子向量。根据本发明的一个示例,样本包括句子A和句子B及相似性标签,样本输入到孪生网络结构中通过第一BERT模型进行特征提取,采用平均池化策略(mean pooling)得到两个句子向量u和v。通过向量拼接层的向量拼接策略将两条子网获得的句子向量进行拼接,将拼接后的向量输入到Softmax分类器进行二分类,获得句子对是否相似的分类结果。两个句子向量可进行以下几种拼接方式,(u,v)、(|u-v|)、(u*v)、(|u-v|,u*v)、(u,v,u*v)、(u,v,|u-v|)和(u,v,|u-v|,u*v)。通过实验发现,采用(u,v,|u-v|)这一拼接方式,并通过Softmax分类器获得的分类结果最为准确,因此,根据本发明的优选实施例,将句子向量u和v与句子向量差异|u-v|拼接起来,得到(u,v,|u-v|)。
根据本发明的另一个实施例,相对于前一实施例的孪生网络结构,此处不在两条子网内设置池化层。孪生网络结构可以包括两条子网、连接两条子网的向量拼接层以及分类器,每条子网均仅包括特征提取层,所述特征提取层采用第一BERT模型,所述样本包括一个句子对及其相似性标签,所述句子对的两个句子分别通过两条子网获得各自对应的句子向量。
S32、根据分类结果调整第一BERT模型参数,进行迭代训练,迭代训练结束获得第二BERT模型,即句子向量模型,其中,根据分类结果调整第一BERT模型参数具体可以是,根据分类结果和真实结果采用交叉熵损失函数计算损失,以随机梯度下降的方式更新第一BERT模型参数,其中,当损失小于等于指定阈值时,停止更新。可将损失值设置为损失降到0.1以下时停止更新,训练好的模型作为最终推断用的句子向量模型。
其中,训练权重参数,采用交叉熵损失函数计算损失可采用如下方式进行计算:
Figure BDA0003151952510000111
其中,N表示每批次的样本数量,yi表示样本i的标签,相似句子对为1,不相似句子对为0,pi表示样本i预测为相似句子的概率。
根据本发明的另一个实施例,孪生结构网络不是对第一BERT模型进行微调的唯一方式。例如,还可采用三元组的形式对第一BERT模型进行微调。训练集的所有句子得到对应的句子嵌入向量,可以得到若干形如<a,p,n>的三元组,然后再计算三元组损失(TrapletLoss),其中,a为基准样本,或称锚样本,p为与a相似的句子,称为正样本,n为与a不相似的句子,称为负样本。
计算三元组损失可采用以下方式进行计算:
Lt=max(d(a,p)-d(a,n),0)
其中,d(a,p)表示a和p的距离,d(a,n)表示a和n的距离,max(·,0)表示输出·和0中的最大值。所以最终通过优化目标是拉近a和p的距离,拉远a和n的距离,从而对第一BERT模型参数进行微调。
但是根据实验,发现通过基于第一BERT模型构建的带有池化层的孪生网络结构对第一BERT模型进行微调的效果最好。
在进行文本检索前,将相应文本库输入到句子向量模型中,通过句子向量模型将文本库中的文本提取为库内文本向量,获得由若干库内文本向量形成的向量池,并保存在本地,以避免每次查询文本时都需要对海量的文本库的文本进行向量提取,节约查询时间。在一个实施例中,本发明基于已保存在本地的若干库内文本向量,还提供一种文本检索方法,如图7所示,包括以下步骤:
A1、将查询文本输入到采用上述所述的句子向量模型训练方法获得的句子向量模型中,得到对应的查询文本向量。
A2、获取所述句子向量模型对文本库中各文本分别提取的库内文本向量。
A3、计算各库内文本向量与查询文本向量的相似度,输出文本库中与查询文本相似度最高的文本。当相似度大于指定阈值时,将其库内文本向量对应的文本与查询文本向量对应的查询文本作为相似文本,其中,在所有大于指定阈值的相似度中,选择最高得分的库内文本向量对应的文本作为输出文本。
根据本发明的一个实施例中,使用余弦相似度计算句子向量之间的相似度以评估原始文本之间的相似性,余弦相似度的原理如下:用向量空间中的两个向量夹角的余弦值作为衡量两个个体间差异大小的度量,值越接近1,就说明夹角角度越接近0,也就是两个向量越相似,就叫做余弦相似。衡量的是两个变量在各个方向(属性)上的比例的相似度。如果余弦相似度的距离大于0.5则认为句子对的两个句子相似,否则不相似。
根据本发明的一个实施例中,通过Faiss检索工具整合文本检索方法,用于索引矢量化数据并对其进行有效的搜索,提高检索效率,降低计算开销。具体为,将句子向量模块训练得到的库内文本向量进行存储,当查询文本输入之后利用Faiss工具基于余弦相似度的距离计算方式计算最相似的库内文本向量,将最相似的库内文本向量对应的文本作为输出文本结果。
为验证本发明文本检索的效果,本发明使用了一万条文本的文本库进行检索实验,使用本发明的文本检索方法,通过句子向量模型获得的库内文本向量只需5秒,相似度计算只需要0.01秒,大幅度缩短了海量文本库短文本检索的时间,同时,其精度可达到88%,相比原本的BERT模型提升了4%。实验时采用的计算机配置:Intel i7-5820K CPU@3.30GHz,Nvidia Tesla V100 GPU。
实验结果如下表1所示:(数值越高,每秒计算句子数的速率越快)。
表1不同模型对应的实验数据
模型 CPU GPU
统一句子编码模型 67 1318
BERT模型 44 1378
句子向量模型 83 2024
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种句子向量模型训练方法,其特征在于,包括:
S1、对多个原始句子进行数据增强处理,得到每个原始句子的多个相似句子,将所有句子复制多份后用于构建多个句子对及其相似性标签;
S2、用BERT模型基于所述多个句子对进行预训练,得到第一BERT模型,其中,所述预训练包括利用句子对进行掩码语言模型预训练以及利用句子对和相似性标签进行的判断两个句子是否相似的预训练;
S3、利用相应领域的任务对应的分类数据集对第一BERT模型进行微调,得到句子向量模型。
2.根据权利要求1所述的方法,其特征在于,所述构建多个句子对及其相似性标签的构建过程包括:
获得多个相似句子对,且将相似性标签标记为相似,其中,每个相似句子对是从原始句子和所述原始句子对应的多个相似句子中的随机选择的两个句子组成;
获得多个不相似句子对,且将相似性标签标记为不相似,其中,每个不相似句子对是从若干原始句子中,或从原始句子和不同所述原始句子对应的相似句子中,或从不同原始句子对应的不相似句子中随机选择的两个句子组成。
3.根据权利要求1所述的方法,其特征在于,所述多任务学习的学习过程包括:
随机遮罩句子对中预定比例的词,在BERT模型中进行掩码语言模型预训练,获得遮罩词的预测结果,基于预测结果和遮罩的原词计算第一子损失;
将句子对输入BERT模型中进行二分类预训练,获得指示句子对中两个句子是否相似的分类结果,根据分类结果和相似性标签计算第二子损失;
利用第一子损失和第二子损失加权求和的总损失通过反向传播更新BERT模型参数,得到第一BERT模型。
4.根据权利要求1所述的方法,其特征在于,所述利用相应领域的任务对应的分类数据集对第一BERT模型进行微调包括:
将分类数据集中的样本输入基于第一BERT模型构成的孪生网络结构,获得样本的分类结果;
根据分类结果调整第一BERT模型参数,进行迭代训练,迭代训练结束获得句子向量模型。
5.根据权利要求4所述的方法,其特征在于,所述根据分类结果调整第一BERT模型参数包括:
根据分类结果和真实结果采用交叉熵损失函数计算损失,以随机梯度下降的方式更新第一BERT模型参数,其中,当损失小于等于指定阈值时,停止更新。
6.根据权利要求1至4任一项所述的方法,其特征在于,在将所述句子对输入BERT模型前,利用领域词典中的自定义词汇对句子对进行分词处理。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述数据增强的处理包括同义词替换、随机插入、随机交换、随机删除及其组合。
8.一种文本检索方法,其特征在于,包括:
将查询文本输入到采用权利要求1-7任一项所述的方法获得的句子向量模型中,得到对应的查询文本向量;
获取所述句子向量模型对文本库中各文本分别提取的库内文本向量;
计算各库内文本向量与查询文本向量的相似度,输出文本库中与查询文本相似度最高的文本。
9.根据权利要求8所述的文本检索方法,其特征在于,还包括:
当相似度大于指定阈值时,将其库内文本向量对应的文本与查询文本向量对应的查询文本作为相似文本,其中,在所有大于指定阈值的相似度中,选择最高得分的库内文本向量对应的文本作为输出文本。
10.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1-8任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1-8任一项所述方法的步骤。
CN202110766647.5A 2021-07-07 2021-07-07 一种句子向量模型训练方法 Pending CN113553824A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110766647.5A CN113553824A (zh) 2021-07-07 2021-07-07 一种句子向量模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110766647.5A CN113553824A (zh) 2021-07-07 2021-07-07 一种句子向量模型训练方法

Publications (1)

Publication Number Publication Date
CN113553824A true CN113553824A (zh) 2021-10-26

Family

ID=78131471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110766647.5A Pending CN113553824A (zh) 2021-07-07 2021-07-07 一种句子向量模型训练方法

Country Status (1)

Country Link
CN (1) CN113553824A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003698A (zh) * 2021-12-27 2022-02-01 成都晓多科技有限公司 一种文本检索方法、系统、设备及存储介质
CN114386391A (zh) * 2022-01-11 2022-04-22 平安科技(深圳)有限公司 基于人工智能的句向量特征提取方法、装置、设备及介质
CN114492463A (zh) * 2021-12-30 2022-05-13 永中软件股份有限公司 一种基于对抗多任务学习的统一语义性中文文本润色方法
CN114547251A (zh) * 2022-02-28 2022-05-27 陕西师范大学 基于bert的两阶段民间故事检索方法
CN114792097A (zh) * 2022-05-14 2022-07-26 北京百度网讯科技有限公司 预训练模型提示向量的确定方法、装置及电子设备
CN115329784A (zh) * 2022-10-12 2022-11-11 之江实验室 基于预训练模型的句子复述生成系统
CN116579320A (zh) * 2023-07-07 2023-08-11 航天宏康智能科技(北京)有限公司 句向量模型的训练方法、文本语义增强的方法及装置
CN114186548B (zh) * 2021-12-15 2023-08-15 平安科技(深圳)有限公司 基于人工智能的句子向量生成方法、装置、设备及介质
CN117150305A (zh) * 2023-11-01 2023-12-01 杭州光云科技股份有限公司 融合检索和填空的文本数据增强方法、装置及电子设备
CN117497140A (zh) * 2023-10-09 2024-02-02 合肥工业大学 一种基于细粒度提示学习的多层次抑郁状态检测方法
CN117521759A (zh) * 2024-01-04 2024-02-06 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置
CN117497140B (zh) * 2023-10-09 2024-05-31 合肥工业大学 一种基于细粒度提示学习的多层次抑郁状态检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222317A (zh) * 2019-10-16 2020-06-02 平安科技(深圳)有限公司 序列标注方法、系统和计算机设备
CN111858912A (zh) * 2020-07-03 2020-10-30 黑龙江阳光惠远知识产权运营有限公司 一种基于单篇长文本的摘要生成方法
CN111966826A (zh) * 2020-07-22 2020-11-20 中国科学院计算技术研究所 一种构建文本分类系统的方法、系统、介质及电子设备
CN112507704A (zh) * 2020-12-15 2021-03-16 中国联合网络通信集团有限公司 多意图识别方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222317A (zh) * 2019-10-16 2020-06-02 平安科技(深圳)有限公司 序列标注方法、系统和计算机设备
CN111858912A (zh) * 2020-07-03 2020-10-30 黑龙江阳光惠远知识产权运营有限公司 一种基于单篇长文本的摘要生成方法
CN111966826A (zh) * 2020-07-22 2020-11-20 中国科学院计算技术研究所 一种构建文本分类系统的方法、系统、介质及电子设备
CN112507704A (zh) * 2020-12-15 2021-03-16 中国联合网络通信集团有限公司 多意图识别方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
傅群超;王枞;: "用于文本分类的多探测任务语言模型微调", 北京邮电大学学报, no. 06, 15 December 2019 (2019-12-15) *
吴炎 等: "基于BERT 的语义匹配算法在问答系统中的应用", 仪表技术, no. 6, 15 June 2020 (2020-06-15), pages 19 - 22 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186548B (zh) * 2021-12-15 2023-08-15 平安科技(深圳)有限公司 基于人工智能的句子向量生成方法、装置、设备及介质
CN114003698B (zh) * 2021-12-27 2022-04-01 成都晓多科技有限公司 一种文本检索方法、系统、设备及存储介质
CN114003698A (zh) * 2021-12-27 2022-02-01 成都晓多科技有限公司 一种文本检索方法、系统、设备及存储介质
CN114492463A (zh) * 2021-12-30 2022-05-13 永中软件股份有限公司 一种基于对抗多任务学习的统一语义性中文文本润色方法
CN114492463B (zh) * 2021-12-30 2023-12-12 永中软件股份有限公司 一种基于对抗多任务学习的统一语义性中文文本润色方法
CN114386391B (zh) * 2022-01-11 2023-08-15 平安科技(深圳)有限公司 基于人工智能的句向量特征提取方法、装置、设备及介质
CN114386391A (zh) * 2022-01-11 2022-04-22 平安科技(深圳)有限公司 基于人工智能的句向量特征提取方法、装置、设备及介质
CN114547251A (zh) * 2022-02-28 2022-05-27 陕西师范大学 基于bert的两阶段民间故事检索方法
CN114547251B (zh) * 2022-02-28 2024-03-01 陕西师范大学 基于bert的两阶段民间故事检索方法
CN114792097A (zh) * 2022-05-14 2022-07-26 北京百度网讯科技有限公司 预训练模型提示向量的确定方法、装置及电子设备
CN114792097B (zh) * 2022-05-14 2022-12-06 北京百度网讯科技有限公司 预训练模型提示向量的确定方法、装置及电子设备
CN115329784A (zh) * 2022-10-12 2022-11-11 之江实验室 基于预训练模型的句子复述生成系统
CN116579320A (zh) * 2023-07-07 2023-08-11 航天宏康智能科技(北京)有限公司 句向量模型的训练方法、文本语义增强的方法及装置
CN116579320B (zh) * 2023-07-07 2023-09-15 航天宏康智能科技(北京)有限公司 句向量模型的训练方法、文本语义增强的方法及装置
CN117497140A (zh) * 2023-10-09 2024-02-02 合肥工业大学 一种基于细粒度提示学习的多层次抑郁状态检测方法
CN117497140B (zh) * 2023-10-09 2024-05-31 合肥工业大学 一种基于细粒度提示学习的多层次抑郁状态检测方法
CN117150305A (zh) * 2023-11-01 2023-12-01 杭州光云科技股份有限公司 融合检索和填空的文本数据增强方法、装置及电子设备
CN117150305B (zh) * 2023-11-01 2024-02-27 杭州光云科技股份有限公司 融合检索和填空的文本数据增强方法、装置及电子设备
CN117521759A (zh) * 2024-01-04 2024-02-06 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置
CN117521759B (zh) * 2024-01-04 2024-04-05 支付宝(杭州)信息技术有限公司 大模型的训练方法和装置

Similar Documents

Publication Publication Date Title
CN113553824A (zh) 一种句子向量模型训练方法
Kim et al. Patent document clustering with deep embeddings
CN110083682A (zh) 一种基于多轮注意力机制的机器阅读理解答案获取方法
CN111291556B (zh) 基于实体义项的字和词特征融合的中文实体关系抽取方法
Zhang et al. Relation classification via BiLSTM-CNN
CN112052684A (zh) 电力计量的命名实体识别方法、装置、设备和存储介质
CN113515632B (zh) 基于图路径知识萃取的文本分类方法
Landthaler et al. Extending Full Text Search for Legal Document Collections Using Word Embeddings.
CN113761868B (zh) 文本处理方法、装置、电子设备及可读存储介质
CN111897944A (zh) 基于语义空间共享的知识图谱问答系统
CN112559658B (zh) 一种地址匹配方法及装置
CN115952292B (zh) 多标签分类方法、装置及计算机可读介质
CN113449084A (zh) 基于图卷积的关系抽取方法
CN112988970A (zh) 一种服务于智能问答系统的文本匹配算法
CN117349423A (zh) 一种模板匹配式水利领域知识问答模型
Le Huy et al. Keyphrase extraction model: a new design and application on tourism information
Parvathi et al. Identifying relevant text from text document using deep learning
CN111145914A (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN112084312B (zh) 一种基于知识图构建的智能客服系统
CN116975271A (zh) 文本相关性的确定方法、装置、计算机设备和存储介质
CN111199154B (zh) 基于容错粗糙集的多义词词表示方法、系统及介质
CN113849639A (zh) 一种城市级数据仓库主题模型类别的构建方法及系统
CN110909547A (zh) 一种基于改进深度学习的司法实体识别方法
Song et al. Unsupervised learning of word semantic embedding using the deep structured semantic model
Togatorop et al. Implementation of ontology-based on Word2Vec and DBSCAN for part-of-speech

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