快速清洗用于情感分类的微博数据

情感分类中的数据清洗

数据示例

  1. #春娇与志明#感觉…张志明好像…是个渣男🌚
  2. 剛剛喂藥就一小匙然後嗆到了,一直咳到臉嘟紅了我一直拍她背她也吐不出不停掙扎,心疼死我了
  3. 温馨提示:http://t.cn/A6PZeKw7 ,白岩松主持《新型冠状病毒肺炎》专题现场直播,邀请钟南山院士介绍疫情,有意者请届时收看。
  4. 回复@洋葱会是彩虹色吗:??赞成//@洋葱会是彩虹色吗:我求求您封了浙江吧浙江承受不住了
  5. 致敬[心][心]小凡也要做好防护措施哦//@Mr_凡先生:致敬[心]大家出门记得戴口罩

目的

1.保留话题与表情
2. 文本标准化之繁体转简体、全角转半角、英文转小写
3.去除链接、@xxx、email

代码

from harvesttext import HarvestText
import pyhanlp
ht = HarvestText()
CharTable = pyhanlp.JClass('com.hankcs.hanlp.dictionary.other.CharTable')
content = CharTable.convert(“#春娇与志明#感觉…张志明好像…是个渣男🌚”)  # 繁体 -> 简体,全角 -> 半角、大写 -> 小写
cleaned_content = ht.clean_text(content, emoji=False)  # 去除链接、@xxx、email
print(cleaned_content)

代码说明

请用如下命令安装harvesttext包,pyhanlp包会一并安装,代码运行到第4行时,会从网上下载数据,约500M

pip install --upgrade harvesttext

以下为第6行代码中的clean_text函数说明,该函数用于进行各种文本清洗操作,包括微博中的特殊格式、url、email、html代码、emoji、特定词语、微博话题、合并空格等等

def clean_text(self, text, remove_url=True, email=True, weibo_at=True, stop_terms=("转发微博",),
                   emoji=True, weibo_topic=False, deduplicate_space=True,
                   norm_url=False, norm_html=False, to_url=False, remove_puncts=False, remove_tags=True):

        :param text: 输入文本
        :param remove_url: (默认使用)是否去除网址
        :param email: (默认使用)是否去除email
        :param weibo_at: (默认使用)是否去除微博的\@相关文本
        :param stop_terms: 去除文本中的一些特定词语,默认参数为("转发微博",)
        :param emoji: (默认使用)去除\[\]包围的文本,一般是表情符号
        :param weibo_topic: (默认不使用)去除##包围的文本,一般是微博话题
        :param deduplicate_space: (默认使用)合并文本中间的多个空格为一个
        :param norm_url: (默认不使用)还原URL中的特殊字符为普通格式,如(%20转为空格)
        :param norm_html: (默认不使用)还原HTML中的特殊字符为普通格式,如(\ 转为空格)
        :param to_url: (默认不使用)将普通格式的字符转为还原URL中的特殊字符,用于请求,如(空格转为%20)
        :param remove_puncts: (默认不使用)移除所有标点符号
        :param remove_tags: (默认使用)移除所有html块
        :return: 清洗后的文本

处理结果

  1. #春娇与志明#感觉…张志明好像…是个渣男🌚
  2. 刚刚喂药就一小匙然后呛到了,一直咳到脸嘟红了我一直拍她背她也吐不出不停挣扎,心疼死我了
  3. 温馨提示: ,白岩松主持《新型冠状病毒肺炎》专题现场直播,邀请钟南山院士介绍疫情,有意者请届时收看。
  4. ??赞成 我求求您封了浙江吧浙江承受不住了
  5. 致敬《心》《心》小凡也要做好防护措施哦 致敬《心》大家出门记得戴口罩

注意事项

  1. 第5行代码中,会将特殊表情 [ XXX ],转化为 《XXX》。
  2. emoji表情对于情感分类也是有帮助的,这里给出emoji表,约1400个emoji,示例如下,可以自行处理emoji,兴许你们会有什么新花样:
    emoji表示例

参考资料

  1. https://github.com/blmoistawinde/HarvestText/blob/master/harvesttext/harvesttext.py
  2. https://www.pythonf.cn/read/52608
展开阅读全文

Windows版YOLOv4目标检测实战:训练自己的数据

04-26
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值