欢迎访问宙启技术站
智能推送

Python中常用的中文文本预处理方法有哪些

发布时间:2024-01-08 07:33:28

Python中常用的中文文本预处理方法包括以下几种:中文分词、停用词过滤、词性标注、去除标点符号、去除特殊字符、去除HTML标签、去除URL链接、去除数字、去除空白字符、繁体转简体等。下面我们来逐一介绍这些方法,并附上使用例子。

1. 中文分词:将中文文本按照词语进行切分。

import jieba

text = "我喜欢用Python做自然语言处理。"
seg_list = jieba.cut(text, cut_all=False)
print(" ".join(seg_list))

输出结果为:"我 喜欢 用 Python 做 自然语言 处理 。"。

2. 停用词过滤:去除常见但无实际含义的词语,如“的”、“是”、“啊”等。

stopwords = ["的", "是", "啊"]  # 自定义停用词列表
text = "我喜欢用Python做自然语言处理。"
seg_list = jieba.cut(text, cut_all=False)
filtered_words = [word for word in seg_list if word not in stopwords]
print(" ".join(filtered_words))

输出结果为:"我 喜欢 用 Python 做 自然语言 处理 。"。

3. 词性标注:为中文文本中的每个词语标注其词性,如“名词”、“动词”、“形容词”等。

import jieba.posseg as pseg

text = "我喜欢用Python做自然语言处理。"
words = pseg.cut(text)
for word, flag in words:
    print(word, flag)

输出结果为:

我 r
喜欢 v
用 p
Python eng
做 v
自然语言 n
处理 v
。 x

4. 去除标点符号:去除中文文本中的标点符号。

import re

text = "我喜欢用Python做自然语言处理。"
clean_text = re.sub("[\s+\.\!\/_,$%^*(+\“”\[\]+:“!,。?、~@#¥%……&*()]+|[+——-《》【】“”~@#¥%……&*()]+", "", text)
print(clean_text)

输出结果为:"我喜欢用Python做自然语言处理"。

5. 去除特殊字符:去除中文文本中的特殊字符。

text = "我喜欢@用Python做自然语言处理。"
clean_text = re.sub("[^\u4e00-\u9fa5^a-z^A-Z^0-9]", "", text)
print(clean_text)

输出结果为:"我喜欢用Python做自然语言处理"。

6. 去除HTML标签:去除中文文本中的HTML标签。

from bs4 import BeautifulSoup

html = "<a href='https://www.example.com'>点击这里</a>"
text = BeautifulSoup(html, "html.parser").get_text()
print(text)

输出结果为:"点击这里"。

7. 去除URL链接:去除中文文本中的URL链接。

text = "请访问我的博客:https://www.example.com"
clean_text = re.sub(r"http\S+|www.\S+", "", text)
print(clean_text)

输出结果为:"请访问我的博客:"。

8. 去除数字:去除中文文本中的数字。

text = "今年是2022年,价格是$99.99。"
clean_text = re.sub(r"\d+", "", text)
print(clean_text)

输出结果为:"今年是年,价格是$。"。

9. 去除空白字符:去除中文文本中的空白字符。

text = "   我喜欢用Python做自然语言处理。   "
clean_text = text.strip()
print(clean_text)

输出结果为:"我喜欢用Python做自然语言处理。"。

10. 繁体转简体:将中文文本中的繁体字转换为简体字。

import opencc

text = "人生若只如初见,何事秋风悲画扇。"
cc = opencc.OpenCC("t2s")  # 繁体字转简体字的转换器
simplified_text = cc.convert(text)
print(simplified_text)

输出结果为:"人生若只如初见,何事秋风悲画扇。"。

这些是Python中常用的中文文本预处理方法,通过这些方法可以更好地处理和分析中文文本数据。