如何基于 Fine-Tuned BERT 模型从文本中提取特征

How to Extract Features from Text based on Fine-Tuned BERT Model

我正在尝试对某些数据进行二进制预测,其中一列包含文本,另外一些列包含数值。我的第一个解决方案是在文本上使用 word2vec 来提取 30 个特征,并将它们与随机森林中的其他值一起使用。它产生了很好的效果。我有兴趣改进 TEXT to FEATURE 模型。

然后想用BERT改进特征提取算法。我设法实现了一个用于特征提取的预训练 BERT 模型,并对 word2vec 进行了一些改进。

现在我想知道,如何根据我的数据微调 BERT 模型 - 以改进特征提取模型 - 为我的随机森林算法获得更好的文本到特征。我知道如何为二进制预测器 (BertForSequenceClassification) 微调 BERT,但不知道如何微调它以制作更好的 BERT 文本到特征提取模型。我能以某种方式使用 BertForSequenceClassification 中的层吗?我花了 2 天时间试图找到解决方案,但到目前为止还没有成功...

亲切的问候,彼得

我也在处理这个问题。据我所知,您必须微调 BERT 语言模型;根据this issue, masked LM is suggested. Then you can use Bert-as-service提取特征。请注意,我还没有测试它,但我会去。我认为与您分享它会很好:)

是的,你可以微调BERT,然后提取特征。我已经做到了,但它确实没有产生很好的改进。通过微调然后提取文本特征,文本特征会稍微适应您的自定义训练数据。它仍然可以通过两种方式完成。使用微调然后提取特征,或者您可以继续从 BERT 的检查点进行预训练(在您的自定义数据上应用 MLM),然后再进行特征提取。