【问题标题】:Does Fine-tunning Bert Model in multiple times with different dataset make it more accuracy?使用不同的数据集多次微调 Bert 模型是否使其更准确?
【发布时间】:2022-06-18 13:23:51
【问题描述】:

我是 NLP 和 Bert 模型的新手。 我现在要做的是使用 DistilBert 模型对 Twitter Trending Hashtag 进行情绪分析(“neg”、“neu”、“pos”),但准确度是大约 50%(我尝试了从 Kaggle 获取的 w 标签数据)。 所以这是我的想法: (1) 首先,我将使用 IMDB 数据集对 Distilbertmodel (Model 1) 进行微调, (2) 在那之后,由于我从 Twitter 帖子中获取了一些数据,我将对他们的模型 1 进行情绪分析并得到结果 2。 (3) 然后我将使用结果 2 对模型 1 进行优化,并期望得到模型 (3)。

我不确定这个过程是否对使模型更准确有任何意义。 感谢您阅读我的帖子。

【问题讨论】:

    标签: python nlp pytorch sentiment-analysis bert-language-model


    【解决方案1】:

    我对你的第一步有点怀疑。由于 IMDB 数据库与您的目标数据库不同,我认为它不会对您的工作结果产生积极影响。因此,我建议在推特或其他社交媒体标签等数据集上对其进行微调;但是,如果您只关注主题标签而不关心文本,那可能会奏效!我对 BART 和 BERT 等微调转换器的一点经验表明,您正在处理的数据集应该与您的实际数据非常相似。但总的来说,您可以使用不同的数据集对模型进行微调,如果数据集针对一个目标进行结构化,则可以提高模型的准确性。

    【讨论】:

      【解决方案2】:

      如果你想微调 BERT 的情绪分类头以对推文进行分类,那么我建议采用不同的策略:

      1. IMDB 数据集是一种不同的情绪 - 评级与短帖子情绪并不真正对应,除非您想专注于有关电影的推文。

      2. 使用分类器输出作为进一步训练该分类器的输入并不是一个好方法,因为如果分类器在分类时犯了很多错误,这些都会反映在训练中,因此错误会减少。这基本上是在创建内生标签,不会真正改善您的真实世界分类。

      3. 您应该考虑其他获取标记训练数据的方法。 twitter 有几个很好的例子:

      • Kaggle 上的 Twitter 数据集 - 有大量可用的数据集包含数百万条不同的推文。其中一些甚至包含情绪标签(通常从表情符号推断,因为这些被证明比预测情绪的单词更准确 - 解释参见例如Frasincar 2013)。所以这可能是你应该看的地方。

      • Stocktwits(如果您对金融情绪感兴趣)- 包含作者可以标记情绪的帖子,因此是挖掘标记数据的完美方式,如果您正在寻找股票/加密货币。

      另一件事是选择更适合您的语言的模型,我会推荐这个。它已经在 8000 万条推文上进行了预训练,因此应该提供强大的改进。我相信它甚至包含一个你可以使用的情绪分类头。

      Roberta Twitter Base

      查看网站以获取在代码中加载模型的指南 - 非常简单,只需使用以下代码(用于情感分类):

      MODEL = "cardiffnlp/twitter-roberta-base-sentiment"
      
      
      tokenizer = AutoTokenizer.from_pretrained(MODEL)
      
      model = AutoModelForSequenceClassification.from_pretrained(MODEL)
      

      【讨论】:

        猜你喜欢
        • 2021-07-22
        • 2021-08-19
        • 1970-01-01
        • 2021-10-16
        • 2020-10-10
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 2021-06-25
        相关资源
        最近更新 更多