系列文章目录
长文本匹配 - CoLDE
前言
研究领域:semantic text matching for long-form documents
pdf
项目代码
一、背景
模型:提出了CoLDE(Contrastive Long Document Encoder),基于Transformer的框架,允许长文档之间的可解释的比较。
目标:同一文档中的段落表征应当彼此接近,不同文档中的段落则应在潜在表征空间中彼此远离。此外,与完全不同类型的文档相比,属于同一类型的文档的表征应当彼此接近。
总结3种不同的文档相似性:
- 一对文档间的高阶相似度
- 文档中不同段落间的相似度
- 同一文档(及其他文档)中不同分块间的相似度
二、方法
1.数据增强
将长文档分割成多个部分,并进一步将每个部分划分为不超过512个token的块,来处理长文档。这种数据增强方法充分利用了长文档的结构。
2.独特的位置嵌入
为了捕捉文档结构信息,CoLDE为每个部分和块分配了独特的位置嵌入,
- 段落嵌入(Section Embeddings):对于每个段落,分配一个唯一的位置嵌入
- 块嵌入(Chunk Embeddings):对于每个块,分配一个唯一的ID
- 标记嵌入(Token Embeddings):对于每个token,使用BERT模型的标准token嵌入
这些嵌入相互结合,增强了输入数据的结构信息。
3.多头的块级注意力层
段落间的块级注意力的计算:通过将 段落𝑝 中的每个块视为Query(𝑄),段落𝑝+1 的块被视为计算注意力的Keys(𝐾),同时段落𝑝 + 1 的块也用于计算值Values(𝑉)
4.降维
采用Bi-LSTM对分段的块表示进行聚合,以获得与分段 𝑥𝑙 相对应的中间高维段落表示 𝑧𝑙,其中 𝑙 是段落编号。 该中间段落表示 𝑧𝑙 = 𝑓 (𝑥𝑙) 进一步提供给投影层 𝑃𝑟𝑜𝑗 (.) 以减少维度,从而产生最终的段落级表示 𝑧𝑙 = 𝑃𝑟𝑜𝑗(𝑧𝑙)。
5.监督对比学习
采用监督对比学习框架,通过对比损失函数训练模型,使得同一文档内部分的表示更接近,而不同文档的部分表示更远离。
对比学习的目标函数会鼓励模型使得正样本(同一文档的不同部分或块)之间的相似度得分高于负样本(不同文档的部分或块)。通过这种方式,模型不仅能够学习到文档的局部特征(通过块嵌入),还能够理解文档的全局结构(通过部分嵌入)。