无监督学习
本页面收集了一系列用于学习句子嵌入的无监督学习方法。这些方法的共同点是它们**不需要带标签的训练数据**。相反,它们仅从文本本身就可以学习到具有语义意义的句子嵌入。
注意
无监督学习方法仍然是一个活跃的研究领域,在许多情况下,与使用我们训练数据集中提供的训练对的模型相比,这些模型的性能要差得多。一种更好的方法是领域自适应,即将在目标领域上的无监督学习与现有的带标签数据相结合。这应该能在您的特定语料库上获得最佳性能。
TSDAE
在我们的工作TSDAE(基于Transformer的去噪自编码器)中,我们提出了一种基于去噪自编码器的无监督句子嵌入学习方法。
我们向输入文本中添加噪声,在我们的案例中,我们删除了文本中约60%的单词。编码器将此输入映射到固定大小的句子嵌入。然后,解码器尝试重新创建没有噪声的原始文本。之后,我们使用编码器作为句子嵌入的方法。
请参阅TSDAE获取更多信息和训练示例。
SimCSE
Gao等人在SimCSE:句向量的简单对比学习中提出了一种方法,该方法将同一句话两次传递给句子嵌入编码器。由于dropout的存在,它将在向量空间中被编码到略有不同的位置。
这两个嵌入之间的距离将被最小化,而与同一批次中其他句子的嵌入之间的距离将被最大化。
请参阅SimCSE获取更多信息和训练示例。
CT
Carlsson等人在使用对比张力(CT)进行语义重调中提出了一种无监督方法,该方法使用两个模型:如果将相同的句子传递给模型1和模型2,则各自的句子嵌入应获得较高的点积得分。如果传递不同的句子,则句子嵌入应获得较低的分数。
请参阅CT获取更多信息和训练示例。
CT(批内负采样)
Carlsson等人的CT方法为两个模型提供句子对。这可以通过使用批内负采样来改进:模型1和模型2都对同一组句子进行编码。我们最大化匹配索引(即 Model1(S_i) 和 Model2(S_i))的分数,同时最小化不同索引(即 Model1(S_i) 和 Model2(S_j),其中 i != j)的分数。
请参阅CT_In-Batch_Negatives获取更多信息和训练示例。
掩码语言模型 (MLM)
BERT表明,掩码语言模型(MLM)是一种强大的预训练方法。建议在进行微调之前,先在您所在领域的大型数据集上运行MLM。请参阅MLM获取更多信息和训练示例。
GenQ
在我们的论文BEIR:一个用于信息检索模型零样本评估的异构基准中,我们提出了一种通过为给定段落生成查询来学习语义搜索方法。该方法在GPL:用于稠密检索的无监督领域自适应的生成式伪标签中得到了改进。
我们将我们语料库中的所有段落都通过一个训练好的T5模型,该模型会生成用户可能的查询。然后我们使用这些(查询,段落)对来训练一个SentenceTransformer模型。
GPL
在GPL:用于稠密检索的无监督领域自适应的生成式伪标签中,我们展示了GenQ的改进版本,它将生成与负例挖掘和使用Cross-Encoder的伪标签相结合。这带来了显著改进的结果。请参阅领域自适应获取更多信息。
性能比较
在我们的论文TSDAE中,我们比较了用于句子嵌入任务的方法,在GPL中,我们比较了它们在语义搜索任务(给定一个查询,找到相关段落)上的表现。虽然无监督方法在句子嵌入任务上取得了可接受的性能,但它们在语义搜索任务上表现不佳。