首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从bert创建单词嵌入,并将它们输入随机林进行分类

从bert创建单词嵌入,并将它们输入随机林进行分类
EN

Stack Overflow用户
提问于 2022-04-01 16:34:09
回答 1查看 781关注 0票数 0

我已经使用伯特基地预先训练的512个维度的模型来生成上下文特征。将这些向量提供给随机森林分类器可以提供83 %的准确率,但在各种研究中,我已经看到伯特最小值提供了90 %的准确率。我也有其他一些特性,如word2vec,词汇,TFIDF和标点符号功能。即使我合并了所有的功能,我也得到了83 %的准确率。我作为基础论文的研究论文提到了92 %的准确率,但是他们使用了一种基于集合的方法,他们通过bert进行分类,并训练随机森林的权重。但我愿意做一些创新,因此没有遵循这种方法。我的数据集偏向于正面评论,所以根据我的说法,模型的准确性较低,也是对正面标签的偏倚,但我仍在寻找专家建议。

bert的代码实现

https://github.com/Awais-mohammad/Sentiment-Analysis/blob/main/Bert_Features.ipynb

所有特征上的随机森林

https://github.com/Awais-mohammad/Sentiment-Analysis/blob/main/RandomForestClassifier.ipynb

所有特征上的随机森林

https://github.com/Awais-mohammad/Sentiment-Analysis/blob/main/Merging_Feature.ipynb

EN

回答 1

Stack Overflow用户

发布于 2022-06-10 18:15:48

关于“尽管增加了更多功能,但没有任何改进”--一些研究人员认为,BERT word嵌入已经包含了文本中所有可用的信息,因此,不管你给它添加了多么花哨的分类头,不管它是一个使用嵌入式的线性模型还是使用了许多其他特性的复杂ML算法,它们都不会在许多任务中提供显著的改进。他们认为,由于伯特是一种上下文感知的双向语言模型,在MLM和NSP任务方面接受了广泛的培训,因此它已经掌握了标点符号、word2vec和tfidf的附加特性所能传达的大部分内容。如果是相关的话,词汇可能对情感任务有一点帮助,但是你可能用来表示它的一个或两个额外的变量,可能会淹没在其他所有的特性中。

除此之外,基于伯特的模型的准确性取决于所使用的数据集,有时数据太多样化,无法获得完美的分数,例如,如果有一些观测结果非常相似,但有不同的类别标签等等。从伯特的论文中可以看出,准确性在很大程度上取决于任务,例如在某些任务中确实是90+%,但对于一些任务,例如蒙面语建模,模型需要从30多个单词中选择一个特定的单词,在某些情况下,20%的准确率可能是令人印象深刻的。因此,为了获得与伯特论文的可靠比较,您需要选择他们使用过的数据集,然后进行比较。

关于数据集的平衡,对于一般的深度学习模型,经验法则是训练集应该或多或少地保持平衡。每个类标签所涵盖的数据的分数。所以如果你有两个标签,应该是50-50,如果是5个标签,那么每个标签应该在训练数据集的20%左右,这是因为大多数神经网络的工作是分批进行的,他们根据每个批次的反馈更新模型权重。因此,如果一个类的值太多,那么批更新将由该类主导,从而有效地降低您的培训质量。

因此,如果您想提高模型的准确性,平衡数据集可能是一个简单的修正。如果您有5个大小不同的有序类,您可以考虑合并其中一些类(例如,从1-2作为坏的评论,3作为中性的,4-5的好的),然后再平衡,如果仍然需要。

(除非在这样的情况下,例如,一个类拥有80%的数据,4个类共享其余的20%。在这种情况下,您可能应该考虑一些更高级的选项,例如将algo划分为两个部分,一个用于预测实例是否在第1类(因此是一个二进制分类器),另一个用于区分4个表示不足的类。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71710186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档