
摘要
无监督表示学习算法(如word2vec和ELMo)通过利用大量未标注文本,提高了许多有监督NLP模型的准确性。然而,这些有监督模型在主要训练阶段仅从特定任务的标注数据中学习。因此,我们提出了一种半监督学习算法——跨视图训练(Cross-View Training, CVT),该算法通过结合标注数据和未标注数据来改进Bi-LSTM句子编码器的表示。对于标注样本,使用标准的有监督学习方法;而对于未标注样本,CVT教导辅助预测模块根据受限输入视图(例如,句子的一部分)来匹配全模型对整个输入的预测。由于辅助模块和全模型共享中间表示,这反过来也提升了全模型的表现。此外,我们还证明了当CVT与多任务学习结合时效果尤为显著。我们在五个序列标记任务、机器翻译和依存句法分析上评估了CVT,取得了当前最佳的结果。
代码仓库
rezkaaufar/pytorch-cvt
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| ccg-supertagging-on-ccgbank | CVT + Multi-task + Large | Accuracy: 96.1 |
| dependency-parsing-on-penn-treebank | CVT + Multi-Task | LAS: 95.02 UAS: 96.61 |
| machine-translation-on-iwslt2015-english-1 | CVT | BLEU: 29.6 |
| named-entity-recognition-ner-on-conll-2003 | CVT + Multi-Task + Large | F1: 92.61 |
| named-entity-recognition-ner-on-conll-2003 | CVT + Multi-Task | F1: 92.61 |
| named-entity-recognition-ner-on-ontonotes-v5 | CVT + Multi-Task + Large | F1: 88.81 |
| part-of-speech-tagging-on-penn-treebank | CVT + Multi-task | Accuracy: 97.76 |