文章目录
一、停用词介绍
您好,我是@马哥python说 ,一名10年程序猿。
在自然语言处理(NLP)研究中,停用词stopwords是指在文本中频繁出现但通常没有太多有意义的词语。这些词语往往是一些常见的功能词、虚词甚至是一些标点符号,如介词、代词、连词、助动词等,比如中文里的"的"、“是”、“和”、“了”、“。“等等,英文里的"the”、“is”、“and”、”…"等等。
停用词的作用是在文本分析过程中过滤掉这些常见词语,从而减少处理的复杂度,提高算法效率,并且在某些任务中可以改善结果的质量,避免分析结果受到这些词的干扰。
二、停用词应用场景
2.1 提取高频词
在使用jieba.analyse提取高频词时,可以事先把停用词存入stopwords.txt文件,然后用以下语句设置停用词:jieba.analyse.set_stop_words(‘stopwords.txt’) 这样提取出的高频词就不会出现停用词了。
2.2 词云图
在使用wordcloud画词云图时,可以设置WordCloud对象的参数stopwords,把需要设置的停用词放到这个参数里(通常情况下,需要手动多次增加停用词,多轮迭代,才能绘制出满意的词云图结果)。


图2掺杂了太多无意义的词语,严重影响了词频分析结果,图1效果就好多了,由此可见停用词在文本分析里的重要性。
三、停用词获取方法
3.1 自定义停用词
在科研领域,很多机构公开了一些停用词库,比如中文停用词表、哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库等,以方便广大科研者使用。
下面,以哈工大停用词表为例,完整代码如下:
# 读取停用词(哈工大通用停用词表)
with open('hit_stopwords.txt', 'r') as f:
stopwords_list = f.readlines()
stopwords_list = [i.strip() for i in stopwords_list]
print('停用词数量:', len(stopwords_list))
print('停用词列表:')

文章介绍了停用词在自然语言处理中的作用,如减少处理复杂度和提高分析质量,并详细讲解了如何在Python中通过不同库(jieba、wordcloud、nltk、sklearn、gensim、spacy)获取和使用停用词,包括自定义和内置停用词表的使用。

4441

被折叠的 条评论
为什么被折叠?



