码农知识堂 - 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】
    也可以参考进行学习


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

  • 相关阅读:
    由于“xinput1_3.dll缺失“而导致的错误有哪些解决办?分享几种修复xinput1_3.dll丢失的方法
    【源码】SpringBoot事务注册原理
    【计算机视觉 05】YOLO论文讲解:V1-V7
    哪类人群适合去从事软件测试工作
    题目 1924: 蓝桥杯-01背包
    【matplotlib基础】--图例
    精品基于SSM企业人力资源管理系统的设计与实现
    基于分时电价策略的家庭能量系统优化附Matlab代码
    react router v6实现useHistory与自定义history设计思路
    在 Python 中将 Unicode 转换为 ASCII
  • 原文地址:https://blog.csdn.net/weixin_42504788/article/details/141095603
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号