LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读

KDD 2023 原文地址

Introduction

文本噪声,如笔误(Typos), 拼写错误(Misspelling)和缩写(abbreviations), 会影响基于 Transformer 的模型. 主要表现在两个方面:

  1. Transformer 的架构中不使用字符信息.
  2. 由噪声引起的词元分布偏移使得相同概念的词元更加难以关联.

先前解决噪声问题的工作主要依赖于数据增强策略, 主要通过在训练集中加入类似的 typos 和 misspelling 进行训练.

数据增强确实使得模型在损坏(噪声)样本上表现出出更高的鲁棒性.

虽然这种策略在一定程度上已被证明有效地缓解了词元分布偏移的问题, 但所有这些方法仍然受到在 词元化(tokenization)中字符信息会丢失的限制.

Approach

在自注意机制中加入词感知注意模块(Lexical-aware Attention module, LEA)

自注意力(self-attention)

定义 self-attention 的输入为 \(X=\set{x_1, x_2, \dots, x_n}\), 输出为 \(Z=\set{z_1, z_2, \dots, z_n}\), 输出中的每个 token 的表示计算如下:

\[\begin{equation}
z_i=\sum_{j=i}^na_{ij}\left(x_j\cdot W^V\right), \quad z_i\in \mathbb R^{d_h}.
\end{equation}
\]

其中的注意力权重 \(a_{ij}\) 计算如下:

\[\begin{equation}
a_{ij}=\frac{\text{exp}(e_{ij})}{\sum_{k=1}^{n}\text{exp}(e_{ik})},
\end{equation}
\]

其中

\[\begin{equation}
e_{ij}=\frac{(x_iW^Q)(x_jW^K)}{\sqrt{d_h}}.
\end{equation}
\]

词注意力偏向(Lexical attention bias)

对于语义文本相似性(textual similarity), 将两个句子拼接:

\[\begin{equation}
X_c=X_l|X_r
\end{equation}
\]

主要做法是参考了相对位置嵌入(relative position embeddings)的做法, 对 self-attention 中的 \(e_{ij}\) 进行如下修改:

\[\begin{equation}
\tilde e_{ij}=e_{ij}+\alpha l_{ij} W^L,
\end{equation}
\]

其中第二项就是词偏向(lexical bias). \(W^L\in \mathbb R^{d^L\times 1}\) 是可训练参数, \(l\in \mathbb R^{1\times d^L}\) 是成对词汇注意嵌入(pairwise lexical attention embedding), \(\alpha\) 是一个固定的比例因子, 它在训练开始时根据两个项的大小自动计算一次.

为了计算成对词汇注意嵌入(pairwise lexical attention embedding), 先计算句子对之间单词的相似度, 而句子内单词的相似度设定为0:

\[\begin{equation}
s_{ij}=
\left\{
\begin{aligned}
&0 &&,\text{ if }x_i,x_j\in X_l\text{ or }x_i,x_j\in X_r\\
&\text{Sim}\big(w(x_i), w(x_j)\big) &&\text{, otherwise.}
\end{aligned}
\right.
\end{equation}
\]

其中 Sim 是一个度量, 用于表示两个单词之间的字符串相似度.

实现细节(Implementation details)

论文中相似度度量选取的是 Jaccard 系数.

只在架构的后半层添加了 lexical attention bias.

之后通过将将 \(s_{ij}\) 带入 Transformer 中的正余弦函数, 得到表示词相似度的 embedding:

\[\begin{equation}
\begin{aligned}
l_{ij}^{(s_{ij}, 2p)}&=&&\sin{\left(\frac{2\pi\cdot d_{ij}}{\beta^{2p/d_h}} \right)},\\
l_{ij}^{(s_{ij}, 2p+1)}&=&&\cos{\left(\frac{2\pi\cdot d_{ij}}{\beta^{2p/d_h}} \right)},
\end{aligned}
\end{equation}
\]

最终的词相似度嵌入 \(l_{ij}\) 是上了两个向量的拼接.

实验(Experiment)

性能(Performance)

词相似度选择的影响(Impact of the lexical similarity choice)

分析了使用不同相似度度量在 Abt-Buy 这个数据集上, BERT-Medium 的表现.

相似度度量包括: Jaccard (Jac.), Smith-Waterman (Smith), Longest Common Subsequence (LCS), Levenshtein (Lev.) and Jaro–Winkler (Jaro)

Jaccard 相似度系数是顺序不可知的, 因此对字符交换更健壮.

Jaccard 在有错别字和没有错别字的单词对之间提供了更高的可分离性, 这在短文本中是有益的.

然而, 随着句子长度的增加, 被比较的单词具有相似字符但含义不同的概率增加, 这降低了交换不变性优势.

不同层添加 LEA 与共享策略(LEA on different layers and sharing strategy)

文中认为, LEA 提供的字符级相似性可以被视为一种高级交互信息.

因此, 它为深层 Transformer 层补充了高层次的特性.

文中并没有验证这一假设.

影响噪声强度(Impact of the noise strength)

直观地说, 由于 LEA 利用的字符级相似性不是在训练过程中学习到的, 因此它们为模型提供的信息在某种程度上较少依赖于噪声的量.

图3(下)显示了随着 typos 数量的增加, LEA 的性能与普通数据增强模型之间的差距越来越大, 这表明 LEA 可以更好地泛化到不同的噪声强度.

补充实验(Additional experiments)

更大的模型(Larger model)

BERT-Large

GPT-like models

更大的数据集(Larger dataset)

BERT-M + DA 在 WDC-Comp.XL 性能超过了 LEA, 但是标准差较大.

LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读的更多相关文章

  1. [LeetCode] Sentence Similarity II 句子相似度之二

    Given two sentences words1, words2 (each represented as an array of strings), and a list of similar ...

  2. 翻译 | Improving Distributional Similarity with Lessons Learned from Word Embeddings

    翻译 | Improving Distributional Similarity with Lessons Learned from Word Embeddings 叶娜老师说:"读懂论文的 ...

  3. 734. Sentence Similarity 有字典数组的相似句子

    [抄题]: Given two sentences words1, words2 (each represented as an array of strings), and a list of si ...

  4. [LeetCode] 737. Sentence Similarity II 句子相似度之二

    Given two sentences words1, words2 (each represented as an array of strings), and a list of similar ...

  5. LeetCode 734. Sentence Similarity

    原题链接在这里:https://leetcode.com/problems/sentence-similarity/ 题目: Given two sentences words1, words2 (e ...

  6. [LeetCode] 737. Sentence Similarity II 句子相似度 II

    Given two sentences words1, words2 (each represented as an array of strings), and a list of similar ...

  7. [LeetCode] 734. Sentence Similarity 句子相似度

    Given two sentences words1, words2 (each represented as an array of strings), and a list of similar ...

  8. Comparing Sentence Similarity Methods

    Reference:Comparing Sentence Similarity Methods,知乎.

  9. 论文阅读笔记: Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks

    论文概况 Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks是处理比较两个句子相似度的问题, ...

  10. Distributed Sentence Similarity Base on Word Mover's Distance

    Algorithm: Refrence from one ICML15 paper: Word Mover's Distance. 1. First use Google's word2vec too ...

随机推荐

  1. Vue闪烁的问题

    问题: 当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果 原因: Vue还来不及处理的模板 解决: 使用 v-cloak 来解决Vue这个打开页面的闪烁的问题 原理: 利用 v-cloa ...

  2. nginx自定义负载均衡及根据cpu运行自定义负载均衡

    转载请注明出处: 1.nginx如何自定义负载均衡 在Nginx中,可以通过配置文件自定义负载均衡策略.具体步骤如下: 首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后 ...

  3. OpenAI ChatGPT 能取代多少程序员的工作?导致失业吗?

    阅读原文:https://bysocket.com/openai-chatgpt-vs-developer/ ChatGPT 能取代多少程序员的工作?导致我们程序员失业吗?这是一个很好的话题,我这里分 ...

  4. [UR #14]人类补完计划

    计数好题. 题意:给定简单无向图 \(G=(V,E),|V|=n,|E|=m\),有 \(n\leq 16,m\leq {n\choose 2}\),求所有为基环树的子图的权值之和.一个基环树的权值定 ...

  5. C++ Primer 5th 阅读笔记:变量和基本类型

    一些语言的公共特性 内建类型,如整型,字符型等: 变量,为值绑定的一个名字: 表达式和语句,操作值. 分支和循环,允许我们条件执行和重复执行: 函数,定义抽象计算单元. 扩展语言的方式 自定义类型: ...

  6. 第十四届蓝桥杯省赛C++ B组(个人经历 + 题解)

    参赛感受 这是我第一次参加蓝桥杯的省赛,虽然没什么参赛经验,但是自己做了很多前几届蓝桥杯的题,不得不说,这一届蓝桥杯省赛的难度相较于之前而言还是比较大的.之前很流行蓝桥杯就是暴力杯的说法,但是随着参赛 ...

  7. git仓库过渡,同时向两个仓库推送代码

    公司部门被大佬收购,产品项目迁移新公司仓库,过渡期间产品上线流程继续使用原公司的,新公司部署新系统后通过域名重定向逐渐将用户引流到新系统上完成切换,最后关闭原公司系统及上线流程. 过渡期间新功能代码需 ...

  8. 文心一言 VS chatgpt (1)-- 算法导论1.1

    1.给出现实生活中需要排序的一个例子或者现实生活中需要计算凸壳的一个例子. 文心一言: 现实生活中需要排序的一个例子: 在一个商店里,顾客需要购买一些商品.他们需要按照价格从低到高排序,以便更容易地找 ...

  9. 2021-06-13:如果一个节点X,它左树结构和右树结构完全一样,那么我们说以X为头的树是相等树。给定一棵二叉树的头节点head,返回head整棵树上有多少棵相等子树。

    2021-06-13:如果一个节点X,它左树结构和右树结构完全一样,那么我们说以X为头的树是相等树.给定一棵二叉树的头节点head,返回head整棵树上有多少棵相等子树. 福大大 答案2021-06- ...

  10. 2021-10-28:打家劫舍 II。你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装

    2021-10-28:打家劫舍 II.你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装 ...