Zhon是一个Python库,它提供了中文文本处理中常用的常量。
中日韩文字和部首
中文标点符号
汉语句子规则表达模式
拼音元音、辅音、小写、大写和标点符号
拼音音节、单词和句子规则表达模式
诸印文字
竹音音节规则表达模式
CC-CEDICT字符
pip install zhon
如果有pycharm直接搜索安装
在字符串中查找CJK字符:
>>> re.findall('[%s]' % zhon.hanzi.characters, 'I broke a plate: 我打破了一个盘子.')
['我', '打', '破', '了', '一', '个', '盘', '子']
验证拼音音节、单词或句子:
>>> re.findall(zhon.pinyin.syllable, 'Yuànzi lǐ tíngzhe yí liàng chē.', re.I)
['Yuàn', 'zi', 'lǐ', 'tíng', 'zhe', 'yí', 'liàng', 'chē']
>>> re.findall(zhon.pinyin.word, 'Yuànzi lǐ tíngzhe yí liàng chē.', re.I)
['Yuànzi', 'lǐ', 'tíngzhe', 'yí', 'liàng', 'chē']
>>> re.findall(zhon.pinyin.sentence, 'Yuànzi lǐ tíngzhe yí liàng chē.', re.I)
['Yuànzi lǐ tíngzhe yí liàng chē.']
text_chinese = '自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。'
我们适应zhon.hanzi.punctuation来调用中文符号。
import re
from zhon.hanzi import punctuation
#去除标点符号
chi_nopuc = re.sub("[{}]+".format(punctuation), "", text_chinese)
jieba分词支持不同的分词方式,本文中使用的是默认模式
chi_token = jieba.lcut(chi_nopuc)
在这里,我们得先有一个停用词的列表。这个停用词没有一个标准化的指标,我自己的停用词下载:
停用词下载链接
提取码:bs5s
#首先我们需要引入停用词
f = open(r"C:\Users\Mr.Reliable\Desktop\中文停用词.txt",'r',encoding = 'UTF-8')
stopwords_n = f.readlines()
f.close()
#清洗停用词数据
stopwords = [sw.strip().replace('\n','') for sw in stopwords_n]
final = []
for chi in chi_token:
if chi not in stopwords:
final.append(chi)
print(final)
输出的结果