NLP_情感分类_数据清洗

文章目录


项目背景

项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据进行数据清洗环节,下面对数据集进行清洗,清洗完,后续再进行训练、评估

数据清洗

导包

python 复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from tqdm import tqdm
import pickle
import numpy as np
import gc
import swifter
import os

导入数据

python 复制代码
df = pd.read_csv('data/sentiment_analysis.csv')
df

查看标签分布

python 复制代码
# 设置Seaborn的样式
sns.set(style="whitegrid")

# 创建一个计数图
plt.figure(figsize=(8, 6))
sns.countplot(x='label', data=df, palette='viridis')

# 添加标题和标签
plt.title('Label Distribution')
plt.xlabel('Label')
plt.ylabel('Count')

# 显示图形
plt.show()

删除emoji表情

python 复制代码
import re
from cleantext import clean

df['text'] = df['text'].swifter.apply(clean)

删除URL

python 复制代码
df['text'] = df['text'].swifter.apply(lambda x: re.sub(r'http\S+', '', x))

转换成小写

python 复制代码
df['text'] = df['text'].swifter.apply(lambda x: x.lower())

删除停用词

python 复制代码
import nltk
from nltk.corpus import stopwords

stopwords=set(stopwords.words('english'))

def remove_stopwords(data):
    output_array=[]
    for sentence in tqdm(data):
        temp_list=[]
        for word in sentence.split():
            if word not in stopwords:
                temp_list.append(word)
        output_array.append(' '.join(temp_list))
    return output_array

df['text'] = remove_stopwords(df['text'])

删除标点符号

python 复制代码
import string

df['text'] = df['text'].swifter.apply(lambda x: x.translate(str.maketrans('', '', string.punctuation)))

保存清洗后的数据

python 复制代码
df.to_csv('data/sentiment_analysis_clean.csv',index=False)

同类型项目

阿里云-零基础入门NLP【基于机器学习的文本分类】

阿里云-零基础入门NLP【基于深度学习的文本分类3-BERT】

也可以参考进行学习


学习的参考资料:

深度之眼

相关推荐
猫头虎21 小时前
大模型训练中的关键技术与挑战:数据采集、微调与资源优化
人工智能·爬虫·数据挖掘·数据分析·网络爬虫·aigc·1024程序员节
yanxing.D21 小时前
penCV轻松入门_面向python(第七章 图像平滑处理)
图像处理·人工智能·opencv·计算机视觉
骥龙1 天前
1.1、开篇:AI如何重塑网络安全攻防格局?
人工智能·安全·web安全
微学AI1 天前
国产数据库替代MongoDB的技术实践过程:金仓多模数据库在电子证照系统中的深度应用
数据库·人工智能·1024程序员节
gddkxc1 天前
AI驱动的客户管理:悟空AI CRM的核心功能与优势
人工智能
狂奔solar1 天前
Apple 开源FastVLM:AI看图说话更快更准
人工智能
星空的资源小屋1 天前
Antares SQL,一款跨平台开源 SQL 客户端
数据库·人工智能·pdf·开源·电脑·excel·1024程序员节
集和诚JHCTECH1 天前
赋能边缘智能:BRAV-7722搭载全新Edge BMC模块,开启远程运维新纪元!
人工智能·嵌入式硬件
WLJT1231231231 天前
生活电器:重构家居体验的产业变革与发展探索
大数据·人工智能·科技·生活