
摘要
从上下文中识别和理解高质量短语是文本挖掘中的一个基本任务。这一任务中最具挑战性的部分在于罕见、新兴和领域特定的短语。这些短语的低频特性极大地影响了依赖输入语料库中足够短语出现次数的短语挖掘方法的性能。虽然上下文感知标记模型不受频率限制,但它们严重依赖领域专家提供大量的句子级黄金标签或手工构建的词汇表。在本研究中,我们提出了一种新的无监督上下文感知高质量短语标记器——UCPhrase。具体而言,我们在每个文档内从一致共现的词序列中诱导出高质量短语范围作为银色标签(silver labels)。与基于现有知识库(KBs)的典型上下文无关远监督相比,我们的银色标签深深植根于输入领域和上下文中,因此在保持上下文完整性以及捕捉新兴、超出知识库范围的短语方面具有独特的优势。基于银色标签训练传统的神经标记器通常会面临过度拟合短语表面名称的风险。相反,我们观察到,从基于变换器的神经语言模型生成的情境化注意力图谱能够有效地揭示词语之间的联系,而无需关注其表面形式。因此,我们将这种注意力图谱与银色标签结合,训练一个轻量级的范围预测模型,该模型可以应用于新输入以识别(未见过的)高质量短语,无论其表面名称或频率如何。通过在多个任务和数据集上进行彻底实验,包括语料库级别的短语排名、文档级别的关键短语提取和句子级别的短语标记,结果证明了我们的设计优于最先进的预训练、无监督和远监督方法。
代码仓库
xgeric/UCPhrase-exp
官方
pytorch
GitHub 中提及
xgeric/UCPhrase-reproduce
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| keyphrase-extraction-on-kp20k | StanfordNLP | F1@10: 13.9 Recall: 51.7 |
| keyphrase-extraction-on-kp20k | Wiki+RoBERTa | F1@10: 19.2 Recall: 73.0 |
| keyphrase-extraction-on-kp20k | Spacy | F1@10: 15.3 Recall: 59.5 |
| keyphrase-extraction-on-kp20k | AutoPhrase | F1@10: 18.2 Recall: 62.9 |
| keyphrase-extraction-on-kp20k | UCPhrase | F1@10: 19.7 Recall: 72.9 |
| keyphrase-extraction-on-kp20k | PKE | F1@10: 12.6 Recall: 57.1 |
| keyphrase-extraction-on-kp20k | TopMine | F1@10: 15.0 Recall: 53.3 |
| keyphrase-extraction-on-kptimes | AutoPhrase | F1@10: 10.3 Recall: 77.8 |
| keyphrase-extraction-on-kptimes | Wiki+RoBERTa | F1@10: 9.4 Recall: 64.5 |
| keyphrase-extraction-on-kptimes | UCPhrase | F1@10: 10.9 Recall: 83.4 |
| keyphrase-extraction-on-kptimes | TopMine | F1@10: 8.5 Recall: 63.4 |
| phrase-ranking-on-kp20k | TopMine | P@50K: 78.0 P@5K: 81.5 |
| phrase-ranking-on-kp20k | Wiki+RoBERTa | P@50K: 98.5 P@5K: 100.0 |
| phrase-ranking-on-kp20k | UCPhrase | P@50K: 96.5 P@5K: 96.5 |
| phrase-ranking-on-kptimes | UCPhrase | P@50K: 95.5 P@5K: 96.5 |
| phrase-ranking-on-kptimes | Wiki+RoBERTa | P@50K: 96.5 P@5K: 99.0 |
| phrase-ranking-on-kptimes | AutoPhrase | P@50K: 95.5 P@5K: 96.5 |
| phrase-ranking-on-kptimes | TopMine | P@50K: 71.0 P@5K: 85.5 |
| phrase-tagging-on-kp20k | AutoPhrase | F1: 49.7 Precision: 55.2 Recall: 45.2 |
| phrase-tagging-on-kp20k | Wiki+RoBERTa | F1: 61.0 Precision: 58.1 Recall: 64.2 |
| phrase-tagging-on-kp20k | TopMine | F1: 40.6 Precision: 39.8 Recall: 41.4 |
| phrase-tagging-on-kp20k | UCPhrase | F1: 73.9 Precision: 69.9 Recall: 78.3 |
| phrase-tagging-on-kptimes | AutoPhrase | F1: 45.9 Precision: 44.2 Recall: 47.7 |
| phrase-tagging-on-kptimes | Wiki+RoBERTa | F1: 63.2 Precision: 60.9 Recall: 65.6 |
| phrase-tagging-on-kptimes | UCPhrase | F1: 73.5 Precision: 69.1 Recall: 78.9 |
| phrase-tagging-on-kptimes | TopMine | F1: 34.0 Precision: 32.0 Recall: 36.3 |