码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • NLP_情感分类_数据清洗


    文章目录

    • 项目背景
    • 数据清洗
      • 导包
      • 导入数据
      • 查看标签分布
      • 删除emoji表情
      • 删除URL
      • 转换成小写
      • 删除停用词
      • 删除标点符号
      • 保存清洗后的数据
    • 同类型项目


    项目背景

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

    数据清洗

    导包

    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
    

    导入数据

    df = pd.read_csv('data/sentiment_analysis.csv')
    df
    

    在这里插入图片描述

    查看标签分布

    # 设置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表情

    import re
    from cleantext import clean
    
    df['text'] = df['text'].swifter.apply(clean)
    

    在这里插入图片描述

    删除URL

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

    在这里插入图片描述

    转换成小写

    df['text'] = df['text'].swifter.apply(lambda x: x.lower())
    

    在这里插入图片描述

    删除停用词

    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'])
    

    在这里插入图片描述

    删除标点符号

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

    在这里插入图片描述

    保存清洗后的数据

    df.to_csv('data/sentiment_analysis_clean.csv',index=False)
    

    同类型项目

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

    阿里云-零基础入门NLP【基于深度学习的文本分类3-BERT】
    也可以参考进行学习


    学习的参考资料:
    深度之眼

  • 相关阅读:
    ONLYOFFICE 桌面编辑器 8.1全新发布,更强大的编辑工具
    深入探索JVM高效并发 — Java内存模型与线程
    Java Web 7 JavaScript 7.3 JavaScript 基础语法
    RabbitMQ详解-06RabbitMQ高级
    网络原理的讲解
    TDesign数据请求wx.request
    java中Calendar类的简介说明
    JAVA自己写什么功能可以提升技术?
    Go学习-基本语法(一)
    行业追踪,2023-09-14
  • 原文地址:https://blog.csdn.net/weixin_42504788/article/details/141095603
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号