跳至内容
- 来源:EMNLP21
- 机构:牛津
- 任务:KBC
- 动机:kbc 都是 dataset-specific,这篇文章希望在一个大的 general dataset 上预训练,然后迁移到各个任务(KBC,OKBC)(finetune 或 0-shot)
- 方法:比较简朴
- 要在 OKBC 数据集上 pre train 的 encoder 有两种:
- noencoder:给每个实体和关系都随机初始化一个 embedding
- GloVe 组成 word embedding,接一层 GRU 作为 a mapping from entity and relation names to their KB embeddings,后面再接现有的 KGC 方法
- 原先直接 KB embedding 的参数量是跟图上节点数量正相关的,加 GRU 之后,参数量跟词表大小正相关,这在大图里能节省很多内存
- 迁移的时候都还得有 GRU 结构,对于以上两种 encoder:
- 用预训练的 GRU 生成一组 embedding
- 整体 finetune GRU
- 实验
- 预训练得到的模型在 OKBC 效果就很好,并且比原先那种用 MLM objective 预训练的效果好
- 迁移表现:
- 对比不 pre train 的,尽管 lr 更小,但收敛更快
- mlm pretrain 的太慢了,无法满足 KBC 的要求
- 0-shot 感觉都是几乎不可用的状态