豆瓣评分预测(如何用自己的数据集进行文本分类)——基于pytorch的 BERT中文文本分类,超详细教程必会!

代码:

TextClassifier文件夹下包含三个主要的函数以及models和bert_pretrian文件夹,models文件夹下包含bert.py以及ernie.py,bert_pretrian文件夹中包含预训练模型。bert.py以及ernie.py里面可以设置模型以及训练参数。run.py为主函数,在这里设置参数,进行模型训练。train_eval.py里面是写好定的具体训练函数。通过predict.py进行数据分类预测。

具体代码分析且看下文分解!!!

TextClassifier
├── models
│   ├── bert.py    # bert模型
│   └── ernie.py  # ernie模型

├── bert_pretrain   #预训练模型
│   ├── bert_config.json    
│   ├── pytorch_model.bin     
│   └── vocab.txt

├── run.py

├── predict.py
└── train_eval.py

算法流程:

二、文本处理

1.加载数据

由于豆瓣数据为DMSC.csv格式,所以我们通过pd.read_csv函数读取数据,该函数是用来读取csv格式的文件,将表格数据转化成dataframe格式。

#读取数据
data = pd.read_csv('DMSC.csv')
#观察数据格式
data.head()
#输出数据的一些相关信息
data.info()
#只保留数据中我们需要的两列:Comment列和Star列
data = data[['Comment','Star']]
#观察新的数据的格式
data.head()

输出结果:

Comment Star
0 连奥创都知道整容要去韩国。 3
1 “一个没有黑暗面的人不值得信任。” 第二部剥去冗长的铺垫,开场即高潮、一直到结束,会有人觉… 4
2 奥创弱爆了弱爆了弱爆了啊!!!!!! 2
3 与第一集不同,承上启下,阴郁严肃,但也不会不好看啊,除非本来就不喜欢漫威电影。场面更加宏大… 4
4 看毕,我激动地对友人说,等等奥创要来毁灭台北怎么办厚,她拍了拍我肩膀,没事,反正你买了两份… 5

2. 文本预处理

由于一开始送训练数据进入BERT时,提示出现空白字符无法转换以及label标签范围不符合的问题,所以再一次将数据进行预处理,将空白去除以及标签为评分减一。

def clear_character(sentence):
    new_sentence=''.join(sentence.split()) #去除空白
    return new_sentence
data["comment_processed"]=data['Comment'].apply(clear_character)
data['label']=data['Star']-1
data.head()

输出结果:

Comment Star comment_processed label
0 连奥创都知道整容要去韩国。 3 连奥创都知道整容要去韩国。</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值