用BERT标记单词位置的序列

时间:2020-01-09 17:02:54

标签: python tensorflow machine-learning neural-network bert-language-model

如果我有一组句子,并且在这些句子中,单词之间存在一些依存关系。 我想训练BERT来预测哪些词与他人有依存关系。

例如,如果我有这句话:

我们在法国的首都巴黎四处走动。

0 ------ 1 ------- 2 ------- 3 ------ 4 ---- 5 ------ 6 ---- -7 --- 8 ----- 9 ---- 10 --- 11(单词索引)

我希望BERT为单词Paris预测France的位置。因此,将任务塑造为序列标记任务。

enter image description here

如果一个单词的标签与句子中的其他单词或另一个单词的索引之间没有关系,则该单词的标签可以为-1;对于上面的示例,Paris单词应以11作为单词France的索引。

将索引放置为标签是否正确?

1 个答案:

答案 0 :(得分:1)

不。问题在于,在每个句子中,位置索引的含义完全不同,因此网络学习该方法将是极其困难的。您可以将最终投影中的参数矩阵想象为目标类的嵌入,而将类别想象为测量类嵌入的输出状态的相似性。

我建议进行分类,类似于人们有时在依赖解析器中所做的分类,即,对于每对单词,对单词之间是否存在关联进行分类

BERT为您提供了一个矩阵,其中包含每个句子的上下文嵌入。在其中创建一个3D张量,其中位置[i, j]包含单词ij的表示形式的串联。然后,将这些对中的每对归为true / false,并确定the是否为这两个词之间的依赖关系链接。