Weibo Preprocess Toolkit.
Project description
weibo-preprocess-toolkit
Weibo Preprocess Toolkit
Getting Started
Installation
pip install weibo-preprocess-toolkit
Tutorial
from weibo_preprocess_toolkit import WeiboPreprocess
preprocess = WeiboPreprocess()
test_weibo = "所以我都不喝蒙牛 #南京·大行宫[地点]#,一直不喜欢蒙牛。謝駿毅 赞[122]转发[11] [超话] 收藏09月11日 18:57 "
# traditional2simplified
print(preprocess.traditional2simplified(test_weibo))
# 所以我都不喝蒙牛 #南京·大行宫[地点]#,一直不喜欢蒙牛。谢骏毅 赞[122]转发[11] [超话] 收藏09月11日 18:57
# clean weibo with simplified Chinese
print(preprocess.clean(test_weibo))
# 所以我都不喝蒙牛 一直不喜欢蒙牛 谢骏毅
# clean weibo
print(preprocess.clean(test_weibo, simplified=False))
# 所以我都不喝蒙牛 一直不喜欢蒙牛 謝駿毅
# seg weibo, keep stop words
print(preprocess.cut(test_weibo))
# ['所以', '我', '都', '不喝', '蒙牛', '#', '南京', '·', '大行宫', '[', '地点', ']', '#', ',', '一直', '不喜欢', '蒙牛', '。', '謝駿毅', '赞', '[', '122', ']', '转发', '[', '11', ']', '[', '超话', ']', '收藏', '09', '月', '11', '日', '18', ':', '57', '\xa0']
# seg weibo, don't keep stop words
print(preprocess.cut(test_weibo, keep_stop_word=False))
# ['都', '不喝', '蒙牛', '#', '南京', '·', '大行宫', '[', '地点', ']', '#', ',', '不喜欢', '蒙牛', '。', '謝駿毅', '赞', '[', '122', ']', '转发', '[', '11', ']', '[', '超话', ']', '收藏', '09', '月', '11', '日', '18', ':', '57', '\xa0']
# clean and cut weibo, keep_stop_words, simplified Chinese
print(preprocess.preprocess(test_weibo))
# 所以 我 都 不喝 蒙牛 一直 不喜欢 蒙牛 谢骏毅
print(preprocess.preprocess(test_weibo, simplified=False, keep_stop_word=False))
# 都 不喝 蒙牛 不喜欢 蒙牛 謝駿毅
Introduction
该工具用于微博文本的预处理:清洗 + 分词。
Inspiration
在中文 NLP 领域,文本清洗和分词对于模型的性能有着很大的影响,如果语料库和测试集/线上环境的文本清洗规则和分词工具不同,就会导致在语料库上训练出来的模型在测试集上效果很差。举例来说,语料库采用了清洗规则 Clean-A 和 分词工具 Seg-A 来清洗和分词微博,而用户在线上环境采用了另一种清洗规则 Clean-B 和另一种分词工具 Seg-B,那么线上环境就会产生很多不在语料库词典中的未登陆词(Unknown Words),这些未登陆词会导致预先训练好的模型,面对线上环境的另一种规则时,性能变差。
本人在对微博进行情感分析的过程中,总结了较多的微博清洗技巧和分词规则,并总结了一份微博情感分析词典用于优化 jieba 分词。所以我在这里尝试对微博的清洗和分词规则进行整理,同时也是为了保持语料库和线上环境的规则同步,为其他研究者和使用我的模型的人,提供一个和语料库匹配的清洗和分词规则。
Weibo Cleaning
本人对微博文本的清洗规则进行了整理,主要涉及到如下的规则:
- 中文繁体转简体
- 微博停用词规则1(正则表达式),包括 url, email, @某人, 地点,…… 等停用词规则
- 微博停用词规则2(正则表达式),包括 时间,数字和微博中常出现的无意义的词等停用词规则
- 微博特殊字符
- 其他细节处理
注意:考虑到停用词在词向量训练中衔接上下文的作用,本工具并没有对微博的停用词进行清洗
Weibo Seg
基于 jieba 分词对微博文本进行分词优化,优化的地方主要有两点:
- 扩种 jieba 分词词典,构建情感词典,优化情感分析的分词结果
- 对否定前缀词进行特殊处理
Dependencies
pip install jieba
Acknowledgment
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
weibo-preprocess-toolkit-1.1.0.tar.gz
(200.3 kB
view hashes)
Built Distribution
Close
Hashes for weibo-preprocess-toolkit-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa33bcc820c810aa5d4007ef0f903e41f4df66a1029c188e883996f78cb6bf7a |
|
MD5 | 4f935a3be0c7dd3fe960dfb31928054b |
|
BLAKE2b-256 | c7e066ae4ab2cd1412689919135e7b5fbbbb5ee435df82c4df6ead5cdcc31890 |
Close
Hashes for weibo_preprocess_toolkit-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1ee6e0d1ca45e47a5afdf7f52f27b6efdca2203669230af56b9caa857fc37c0 |
|
MD5 | 56df0501228ac7caea820a351a3534c5 |
|
BLAKE2b-256 | f2fa1ac334eeeef0546c8c4752435cb037995564272e1edb1b4354bcd4952272 |