我正在尝试将 BERT 用于文档排名问题。我的任务很简单。我必须对输入文档进行相似度排名。这里唯一的问题是我没有标签 - 所以它更多的是定性分析。
我正在尝试一系列文档表示技术——主要是 word2vec、para2vec 和 BERT。
对于 BERT,我遇到了Hugging face - Pytorch库。我微调了 bert-base-uncased 模型,大约有 150,000 个文档。我运行了 5 个 epoch,批量大小为 16,最大 seq 长度为 128。但是,如果我比较 Bert 表示与 word2vec 表示的性能,出于某种原因,word2vec 现在对我来说表现更好。对于 BERT,我使用最后四层来获取表示。
我不太清楚为什么微调模型不起作用。我阅读了这篇论文,这个其他链接也表明 BERT 在针对分类任务进行微调时表现良好。然而,由于我没有标签,我对它进行了微调,就像它在论文中所做的那样——以一种无人监督的方式。
此外,我的文件的长度差异很大。所以我现在要明智地向他们发送句子。最后,无论如何我都必须对单词嵌入进行平均才能获得句子嵌入。关于更好方法的任何想法?我也在这里读到——有不同的方法可以汇集词嵌入以获得固定的嵌入。想知道是否可以比较哪种池化技术效果更好?
任何有关更好地训练 BERT 或更好的池化方法的帮助将不胜感激!