尝试使预训练 BERT 适应句子语义分离的另一个用例

Trying to adapt Pre-Trained BERT to another use case of semantic separation of sentences

我已经使用 huggingface BERT 进行句子分类并取得了很好的效果,但现在我想将它应用到另一个用例中。以下是我想到的那种数据集(不准确)。

 set_df.head()
    sentence                                subject                   object
0   my big red dog has a big fat bone       my big red dog          big fat bone
1   The Queen of Spades lives in a Castle   The Queen of spades     lives in a castle

我有一个包含这三列的训练数据集,我希望它能够将测试句子分成其组成部分。我研究了 BERT 中不同的预训练模型,但我没有取得任何成功。我用错工具了吗?

我认为更好的问题是改进你如何构建任务:如果事实上,成分是不重叠的,这可能是 BertForTokenClassification 的情况。本质上,您是在尝试预测 每个单独标记 的标签,在您的情况下可能是 no labelsubjectobject

此类任务的一个很好的例子是 命名实体识别 (NER),它通常以类似的方式构建。具体来说,HuggingFace 的转换器存储库有一个 very extensive example 可供您使用,可以作为如何格式化输入以及如何正确训练的灵感。

因此,我通过将数据修改为 CONLL 格式解决了这个问题,其中每一行仅包含一个具有匹配标签 subject\object 的单词。 我的主题 大课题 红色主题 ....

瞧,它成为一个常规的实体识别问题,需要使用 BERT 来解决令牌识别。作为一条额外的建议,我得到了它与 Roberta 的合作,但我需要经历一个复杂的去标记化过程。