Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT

这是一篇比较新的论文,2020/6/10 ACL。

它讲述的是如何用无监督方法做英文句法分析。

句法分析的工作是:
给定一个序列 X = [ x 1 , x 2 , . . . , x n ] X=[x_1,x_2,...,x_n] X=[x1,x2,...,xn]
找到一个分割点k,使得 [ x 1 , . . . x k − 1 ] [x_1,...x_{k-1}] [x1,...xk1] [ x k , . . . , x n ] [x_k,...,x_n] [xk,...,xn]的相关度最小,而两者内部token的相关度最大。根据分割点k,就可以把原始句子分为
[ x 1 , . . . x k − 1 ] , [ x k ] , [ x k + 1 , . . . , x n ] [x_1,...x_{k-1}],[x_k],[x_{k+1},...,x_n] [x1,...xk1],[xk],[xk+1,...,xn]三部分。
如果左右两侧token数还很多,就要递归地继续再分,直到全部分成了最小单位。
所以就需要找到一个最佳分割点,优化一个目标使类间相关度最小,类内相关度最大。
所以接下来的任务就是如何得到基于token的相关度了。

如何用bert的无监督获取相关度

了解Bert应该知道它的mask language model,我们就是利用这个。

  1. 用数据集+Bert训练词向量。
  2. 对于X中的词i,我们mask它,获得词i的上下文表示,即i的基于上下文的词向量 A 1 A_1 A1
  3. 再同时mask掉i和i+1位置的词,获得i位置的基于上下文的词向量 A 2 A_2 A2
  4. 我们知道,第二个词向量的信息是没有第一个多的,少的那部分是i+1缺失引起的,所以完全可以用 A 1 A_1 A1 A 2 A_2 A2的欧氏距离 d ( A 1 , A 2 ) d(A_1,A_2) d(A1,A2)大小来判断两者的相关度。 d d d越大, i + 1 i+1 i+1 i i i的影响越大,相关度越大。
  5. 如此我们可以列出一个 n × n n×n n×n的相关度矩阵。
  6. 接下来就是上文提到的句法分析操作了。

对于中文,强烈建议看这篇文章,附带实验结果

因为论文使用的数据是英文,所以跨到中文就有一个分词的坎。但需要知道,分词也是可以依靠相关度来做的。我们可以获得每一个字的左右相关度,然后设定一个阈值,低于它的全部切开。
不过别抱太大希望,效果肯定没有监督学习来的好。

分词后就可以重新计算词与词之间的相关度了。

你可能感兴趣的:(Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT)