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】

也可以参考进行学习


学习的参考资料:

深度之眼

相关推荐
木雷坞2 分钟前
K8s v1.36 AI 任务启动失败排查:PodGroup、DRA、ImagePullBackOff
人工智能·容器·kubernetes
爱写代码的小朋友2 分钟前
人工智能赋能高中信息技术编程学习的实践研究
人工智能·学习·百度
DogDaoDao4 分钟前
【GitHub】SkyReels-V2 无限时长电影级视频生成模型:技术架构与核心原理深度解析
人工智能·大模型·aigc·音视频·ai agent·生成视频·skyreels-v2
Hali_Botebie4 分钟前
【量化】I-BERT: Integer-only BERT Quantization
人工智能·深度学习·bert
快乐得小萝卜8 分钟前
使用:Pytorch C++ API
c++·人工智能·pytorch
东坡肘子8 分钟前
消失的 WWDC 愿望单 -- 肘子的 Swift 周报 #136
人工智能·swiftui·swift
大模型最新论文速读8 分钟前
利用异步编程的 future 思想,让 LLM Agent 快 1.44 倍
人工智能·深度学习·算法·机器学习·自然语言处理
向量引擎10 分钟前
给 Agent 加一个可靠的知识检索层:从向量引擎到 RAG 工作流的实践笔记
人工智能·gpt·aigc·api·ai编程·key·agi
Rubin智造社11 分钟前
Claude Code开发者大会系列5:如何打造“AI原生工程师”文化
人工智能·开发者大会·ai 原生·claudecode
AI人工智能+15 分钟前
机动车登记证识别技术通过计算机视觉与深度学习实现证件信息自动化提取,显著提升车辆管理效率
深度学习·计算机视觉·自然语言处理·ocr·机动车登记证识别