前面以及介绍过bert的理论知识,以及它相应的实现方法,那么让我们通过实战加深对bert的了解。
我们将通过bert实现一个文本多分类任务,具体是kaggle上的一个真假新闻的任务。具体如下:
- 文件地址:https://www.kaggle.com/c/fake-news-pair-classification-
- challenge/data 模型形式:BERT + Linear Classifier
- 参考链接:LeeMeng - 進擊的 BERT:NLP 界的巨人之力與遷移學習
- 参考博客:Simple to Bert | Ripshun Blog
- github地址:nlp-code/Bert_真假新闻分类.ipynb at main · cshmzin/nlp-code (github.com)
加载数据
通过pandas将数据从csv中取出来
import pandas as pd
df_train = pd.read_csv("train.csv")
df_train = df_train.reset_index()
df_train = df_train.loc[:, ['title1_zh', 'title2_zh', 'label']]
df_train.columns = ['text_a', 'text_b', 'label']
df_test = pd.read_csv("test.csv")
df_test = df_test.loc[:, ["title1_zh", "title2_zh", "id"]]
df_test.columns = ["text_a", "text_b", "Id"]
print("训练样本数量:", len(df_train))
print("预测样本数:", len(df_test))
df_train.head()
df_test.head()