当前位置:网站首页>【自然语言处理】【向量表示】AugSBERT:改善用于成对句子评分任务的Bi-Encoders的数据增强方法
【自然语言处理】【向量表示】AugSBERT:改善用于成对句子评分任务的Bi-Encoders的数据增强方法
2022-07-25 22:41:00 【BQW_】
论文地址:https://arxiv.org/pdf/2010.08240.pdf
一、简介
句子对评分任务在 NLP \text{NLP} NLP中被广泛使用。其可以被用于信息检索、问答、重复问题检测和聚类。对于许多包含句子对评分任务达到sota的方法是使用 BERT \text{BERT} BERT。两个句子被传递至网络中,并且注意力机制被应用在所有的输入tokens中。这种两个句子被同时传递至网络中的方法称为cross-encoder。
cross-encoder的一个缺点是对于许多任务来说计算量太大。例如,对10000个句子进行聚类,cross-encoder需要 n 2 n^2 n2的复杂度,使用 BERT \text{BERT} BERT的话需要65个小时。端到端的信息检索也不太可能使用cross-encoder,因为其不能够为输入返回独立的表示,用于被索引。作为对比,像 Sentence BERT \text{Sentence BERT} Sentence BERT这样的bi-encoder独立编码句子,并将其映射至稠密向量空间。这样就可以有效的索引和比较。例如,10000个句子的聚类复杂度从65个小时减少到5秒。许多真实世界中的应用依赖于bi-encoders的质量。

bi-encoder的缺点是效果差于cross-encoder。上图是作者在流行的英文 STS \text{STS} STS基准数据集上比较微调的cross-encoder(BERT)和微调的bi-encoder(SBERT)。
当仅有很少训练数据可用时的效果差距最大。BERT cross-encoder能够同时比较两个输入,而SBERT bi-encoder必须要解决更具挑战性的任务,将输入独立映射至有意义的向量空间,这需要足够数量的训练样本进行微调。
在本文中,作者呈现了一个数据增强方法,其称为 Augmented SBERT(AugSBERT) \text{Augmented SBERT(AugSBERT)} Augmented SBERT(AugSBERT),其使用BERT cross-encoder来改善SBERT bi-encoder的表现。具体来说,使用cross-encoder来标注新的输入样本对,其会被添加至bi-encoder的训练集合中。SBERT bi-encoder在更大的增强训练集上进行微调,其能够显著改善效果。正如作者所示,选择用于cross-encoder进行软标注的输入样本对,对改善效果来说至关重要。本文的方法可以简单的应用在许多成对分类任务和回归问题中。
首先,作者在4个任务中评估了提出的 AugSBERT \text{AugSBERT} AugSBERT方法: Argument similarity \text{Argument similarity} Argument similarity、 semantic textual similarity \text{semantic textual similarity} semantic textual similarity、 duplicate question detection \text{duplicate question detection} duplicate question detection和 news paraphrase identification \text{news paraphrase identification} news paraphrase identification。可以观察到,相对于目前效果最好的 SBERT bi-encoder \text{SBERT bi-encoder} SBERT bi-encoder,能够增加百分之1到6个点。其次,作者展示了 AugSBERT \text{AugSBERT} AugSBERT在领域适应中的优势。由于bi-encoder不能将新的领域映射至可感知的空间,与 BERT cross-encoders \text{BERT cross-encoders} BERT cross-encoders相比, SBERT bi-encoder \text{SBERT bi-encoder} SBERT bi-encoder在目标域上的效果要下降的更多。在这种场景中, AugSBERT \text{AugSBERT} AugSBERT实现了37个百分点的效果增长。
二、Augmented SBERT
给定一个预训练的、且效果很好的cross-encoder,通过特定的采样策略来采样句子对并使用交叉编码器进行标注。将这些弱标注的样本称为silver dataset,并将它们合并至原始的训练数据集中。基于扩展后的训练集来训练bi-encoder。我们将这个模型称为 Augmented SBERT(AugSBERT) \text{Augmented SBERT(AugSBERT)} Augmented SBERT(AugSBERT)。整个过程如上图所示:
1. 样本对采样策略
使用cross-encoder标注的新样本对可以是新数据、也可以重新利用训练集中独立的句子来合成。在本文的实验中,重新利用原始训练集中的句子。这当然是在不是所有的组合都并标注的情况下才是可能的。然而,这种情况很少发生,因为对于 n n n个句子则有 n × ( n − 1 ) / 2 n\times (n-1)/2 n×(n−1)/2种可能的合并方案。将所有可能的合并样本进行弱标注可能会带来极大的计算量,并且可能并不会带来效果改善。相反,采用正确的采样策略对于改善效果至关重要。
Random Sampling(RS)
随机采样一个句子对并使用
cross-encoder进行弱标注。随机采样两个句子通常会带来不相似样本对,正样本对非常的少。这种有偏标签分布使得silver dataset严重倾向于负样本。Kernel Density Estimation(KDE)
目标是使得
silver dataset的标签分布类似于原始的训练集。为此,作者使用弱标注的方式标注了大量的随机采样样本对,然后仅保留其中的部分样本对。对于分类任务,作者保留所有的正样本对。随后从余下的随机负样本对中采样一部分负样本对,使其正负比例与原始训练集相一致。对于回归任务,使用核密度估计 (kernel density estimation,KDE) \text{(kernel density estimation,KDE)} (kernel density estimation,KDE)来估计针对分数 s s s的连续密度函数 F g o l d ( s ) F_{gold}(s) Fgold(s)和 F s i l v e r ( s ) F_{silver}(s) Fsilver(s)。然后,使用一个以概率 Q ( s ) Q(s) Q(s)保留采样分数 s s s的采样函数来最小化两个函数间的 KL \text{KL} KL散度。
Q ( s ) = { 1 i f F g o l d ( s ) ≥ F s i l v e r ( s ) F g o l d ( s ) F s i l v e r ( s ) i f F g o l d ( s ) < F s i l v e r ( s ) Q(s)= \begin{cases} 1\quad if \;F_{gold}(s)\geq F_{silver}(s) \\ \frac{F_{gold}(s)}{F_{silver}(s)}\quad if\;F_{gold}(s)< F_{silver}(s) \end{cases} Q(s)={ 1ifFgold(s)≥Fsilver(s)Fsilver(s)Fgold(s)ifFgold(s)<Fsilver(s)
注意, KDE \text{KDE} KDE采样策略的计算效率比较低,因为它需要标注许多随机样本,而这些样本随后可能被丢弃。BM25 Sampling(BM25)
在信息检索中, Okapi BM25 \text{Okapi BM25} Okapi BM25算法是基于词法重叠的,并且常被用于许多搜索引擎的评分函数。作者利用 ElasticSearch \text{ElasticSearch} ElasticSearch来创建索引,用来更快的检索
query相关的结果。在作者的实验中,对每个句子都建立的索引,且每个query都会检索 top-k \text{top-k} top-k相似的句子。随后会使用cross-encoder来标注这些样本对。建立索引和检索相似句子效率高,并且所有弱标注的样本对都会被用于silver dataset。Sematic Search Sampling(SS)
BM25 \text{BM25} BM25的一个缺点是,仅有单词覆盖的语句才会被发现。没有或者很少有重叠单词的同义句子并不会被返回,因此也不会称为
silver dataset的一部分。作者在原始训练集上训练了一个bi-encoder,并使用其进一步采用相似句子对。作者使用 cosine \text{cosine} cosine相似度并检索最相似的 top k \text{top k} top k句子。对于规模较大的数据,则使用类似 Faiss \text{Faiss} Faiss的近似最近邻来快速检索最相似的 k k k个句子。BM25+Semantic Search Sampling(BM25-S.S.)
同时使用 BM25 \text{BM25} BM25和语言检索策略 SS \text{SS} SS。聚合两个策略有助于捕获词法和语义相似的句子,但会使标签分布倾向于负样本对。
2. 种子优化
Dodge \text{Dodge} Dodge等人的研究显示,像 BERT \text{BERT} BERT这样基于 Transformers \text{Transformers} Transformers的模型高度的依赖随机数种子,因为其收敛到不同的最小值,则会以不同的方式扩展至未见过的数据。在本文的实验中,作者应用了种子优化 (seed optimization) \text{(seed optimization)} (seed optimization):使用5个随机数种子训练模型,并选择在验证集上表现最好的模型。为了加速这个过程,在训练step的20%应用early stopping,仅继续训练表现最好的模型直至结束。
三、 AugSBERT \text{AugSBERT} AugSBERT的领域适应
目前为止,讨论 AugSBERT \text{AugSBERT} AugSBERT都是在领域内的设置中,即当训练集和测试集来自相同的领域。然而,作者期望 SBERT \text{SBERT} SBERT在领域外数据具有更高的表现。这是因为 SBERT \text{SBERT} SBERT不能将未见过的句子映射至有意义的空间。不幸的是,新领域的标注数据通常是不可用的。
因此,作者评估了提出的数据增强策略对于领域适应的效果:先在包含标注数据的源领域数据上训练cross-encoder。在微调后,使用微调的cross-encoder来标注目标域。一旦标注完成,在标注的目标域句子对上训练bi-encoder。
四、实验

边栏推荐
- 我们为什么要推出Getaverse?
- Data type conversion
- JVM内存区域
- 英文术语对应的解释
- Smart S7-200 PLC channel free mapping function block (do_map)
- Arcgis10.2 configuring postgresql9.2 standard tutorial
- Document flow definition, box model related knowledge
- [training Day12] min ratio [DFS] [minimum spanning tree]
- The third programming competition of Wuhan University of technology b- save the kingdom of DAG (topological properties deal with accessibility Statistics)
- IFLYTEK smart office book air e-book reader makes my work life healthier
猜你喜欢

Basic principle of torque motor control

ML-Numpy

Examples and points for attention about the use of getchar and scanf

Binder原理

Method of converting MAPGIS format to ArcGIS

分割金条的代价

Two methods of printing strings in reverse order in C language

Multi data source switching

The third day of Xiaobai programmer

Perform Jieba word segmentation on the required content and output EXCEL documents according to word frequency
随机推荐
LabVIEW develops PCI-1680U dual port can card
To light up all the positions in the string that need to be lit, at least a few lights are needed
[training day15] simple calculation [tree array] [mathematics]
xss-收集常用的代码
Xiaobai programmer day 8
Array中可以用泛型吗
数据质量:数据治理的核心
(1) Integrating two mapping frameworks of Dao
JD quick navigation box
Multi data source switching
According to the use and configuration of data permissions in the open source framework
Today, let's talk about the if branch statement of the selection structure
Wkid in ArcGIS
[training day13] out race [mathematics] [dynamic planning]
[training Day12] be go! [dynamic programming] [mathematics]
Data type conversion
1000 okaleido tiger launched binance NFT, triggering a rush to buy
【集训DAY12】Minn ratio 【dfs】【最小生成树】
DOM event object
【集训DAY12】X equation 【高精度】【数学】