首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BERT数据PreProcessing (德国基)

BERT数据PreProcessing (德国基)
EN

Stack Overflow用户
提问于 2020-06-25 15:12:10
回答 2查看 3.5K关注 0票数 1

我正在与伯特一起开发一个情感分析解决方案,用德语分析推特。我的训练数据集是一个1000条推特的类,它们被手动注释为中性、正面和负面的类。

包含10.000条tweet的数据集分布非常不均匀:

大约3000正数2000负5000中性

这些推文包含@name、https链接、数字、标点符号、笑脸(如:3 :D :)等。

有趣的是,如果我在数据清理期间用下面的代码删除它们,F1的分数就会变得更糟。只有删除https链接(如果我单独做的话),才能带来小小的改进。

代码语言:javascript
复制
# removing the punctuation and numbers
def remove_punct(text):
    text = re.sub(r'http\S+', '', text)                                         # removing links
    text = re.sub(r'@\S+', '', text)                                            # removing referencing on usernames with @
    text = re.sub(r':\S+', '', text)                                            # removing smileys with : (like :),:D,:( etc) 
    text  = "".join([char for char in text if char not in string.punctuation])
    text = re.sub('[0-9]+', '', text)
    return text

data['Tweet_clean'] = data['Tweet'].apply(lambda x: remove_punct(x))            # extending the dataset with the column tweet_clean
data.head(40)

此外,诸如停止字句删除或柠檬化等步骤会导致更多的恶化。这是因为我做错了什么,还是BERT模型真的能处理这些值?

第二个问题是:

我发现其他记录也是手工标注的,但这些都不是tweet,句子的结构和语言的使用是不同的。你还会建议把这些记录加到我的原件里吗?

德国有大约3000张唱片。

我最后一个问题是:

我是否应该将班级规模缩小到最小单元的大小,从而达到平衡?

EN

回答 2

Stack Overflow用户

发布于 2020-06-27 11:08:17

  1. 伯特能处理标点符号,微笑等等。当然,微笑对情感分析有很大的帮助。所以,别把它们移走。接下来,用一些特殊的令牌替换@和链接是公平的,因为模型将来可能再也看不到它们了。
  2. 如果您的模型是为tweet设计的,我建议您使用额外的语料库微调伯特,并在微调之后使用Twitter语料库。或者同时做。更多的训练样本通常更好。
  3. 不,最好是使用类权重而不是下采样。
票数 2
EN

Stack Overflow用户

发布于 2021-11-03 14:42:31

基于论文(由Adam,和),伯特模型在更好地推广到标点符号方面优于BiLSTM。看看论文中的实验结果,我认为保留标点符号。

对于笑脸,我找不到任何坚实的东西;然而,在对HuggingFace API做了一些实验之后,我没有注意到有/没有笑脸的区别。

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

https://stackoverflow.com/questions/62578609

复制
相关文章

相似问题

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