中文分词后去除停用词
当我们利用jieba进行中文分词时,主要是句子中出现的词语都会被划分,而有些词语是没有实际意思的,对于后续的关键词提取就会加大工作量,并且可能提取的关键词是无效的。所以在分词处理以后,我们便会引入停用词去优化分词的结果。
对于停用词,我们可以自己手动添加到一个txt文件中,然后在需要时导入文件,也可以利用已经整理好的停用词表,这样就会方便很多。当然,在已有的停用词表基础上,如果我们还有一些词语不需要,也可以自己完善停用词表。
下载停用词表请戳:stop_words.txt,提取码:3si7
看实例:
import jieba
def stopwordslist(filepath): # 定义函数创建停用词列表
stopword = [line.strip() for line in open(filepath, 'r').readlines()] #以行的形式读取停用词表,同时转换为列表
return stopword
def cutsentences(sentences): #定义函数实现分词
print('原句子为:'+ sentences)
cutsentence = jieba.lcut(sentences.strip()) #精确模式
print ('\n'+'分词后:'+ "/ ".join(cutsentence))
stopwords = stopwordslist(filepath) # 这里加载停用词的路径
lastsentences = ''
for word in cutsentence: #for循环遍历分词后的每个词语
if word not in stopwords: #判断分词后的词语是否在停用词表内
if word != '\t':
lastsentences += word
lastsentences += "/ "
print('\n'+'去除停用词后:'+ lastsentences)
filepath= 'D:/大学工作所做文档/学习资料/毕业设计学习准备/资料参考/stop_words.txt'
sentences = '万里长城是中国古代劳动人民血汗的结晶和中国古代文化的象征和中华民族的骄傲'
stopwordslist(filepath)
cutsentences(sentences)
运行结果:
原句子为:万里长城是中国古代劳动人民血汗的结晶和中国古代文化的象征和中华民族的骄傲
分词后:万里长城/ 是/ 中国/ 古代/ 劳动/ 人民/ 血汗/ 的/ 结晶/ 和/ 中国/ 古代/ 文化/ 的/ 象征/ 和/ 中华民族/ 的/ 骄傲
去除停用词后:万里长城/ 中国/ 古代/ 劳动/ 血汗/ 结晶/ 中国/ 古代/ 文化/ 象征/ 中华民族/ 骄傲/
希望可以帮助到你,谢谢你的阅读!