如何去除停用词?

如何去除停用词?,第1张

这个有多种解决办法,在此给你提供思路,只要百度一下你就会解决了

法一:

代码中构造set集合,将所有的停用词就加到set集合中,建议采用TreeSet,然后对于亩如数迅首文本的分词结果,去橡山查询set集合,如果出现,说明是停用词,过滤掉即可。

法二:

使用第三方的jar包解决,比如IKanalyzer来加载扩展词典和停用词典,然后使用IKanalyzer来进行分词,之后过滤即可。

-*- coding: utf-8 -*-

import jieba

import jieba.analyse

import sys

import codecs

reload(sys)

sys.setdefaultencoding('utf-8')

#使用其他编码读取或凯毁停用词表

#stoplist = codecs.open('../../file/孙返stopword.txt','r',encoding='utf8').readlines()

#stoplist = set(w.strip() for w in stoplist)

#停用词文件是utf8编码

stoplist = {}.fromkeys([ line.strip() for line in open("../../file/stopword.txt") ])

#经过分词得到的应该是unicode编码衫备,先将其转成utf8编码

我觉得可能还是编码不对吧。我也遇到这种情况,所以搜到了这个问题,查了很多东西也没有个结果。

我绝弊冲最开始数据都是用GB2312处理的,后来用结巴分词看文档上说用好用utf-8编码,就写了段代码把文本改成utf-8了,然后停用词文件也是用的utf-8保存的,但是不是用代码保存的,使用Notpad,之后卜消就一直不能停用文件里的词。并歼

后来,在代码中加了几个比较明显的停用词组成的list,当分出来的词不在list里的时候,才输出该词,结果就成功的停用了list里的所有词。

建议楼主再调整一下编码试试吧。

另外,我最开始用的是Python2.7.10,因为停用词没反应,我查到一个网页说他用Python3.4就好了,我又换了Python3.4.3,可是一样不能用,然后向我上面那么做的就好了,Python2.7还没有试,估计问题都差不多了吧...

楼主加油!Python程序猿加油!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12467559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存