python去停用词
A. 如何删除“使用NLTK或者python停用词"
Nltk是python下处理语言的主要工具包,可以实现去除停用词、词性标注以及分词和分句等。
安装nltk,写python一般使用的是集成环境EPD,其中有包管理,可以在线进行安装。如果不是集成环境,可以通过pip install nltk安装。
》pip install nltk #安装nltk
》nltk.download() #弹出一个选择框,可以按照自己需要的语义或者是功能进行安装
一般要实现分词,分句,以及词性标注和去除停用词的功能时,需要安装stopwords,punkt以及
当出现LookupError时一般就是由于缺少相关模块所导致的
则是需要安装punkt,这个模块主要负责的是分词功能。同stopwords一样有两种方式安装。
B. 在Python中,我有一个字典,想在字典中删除停用词表中的单词,程序应该怎么编。
en_dict={}
stop_en_dict={}
forkeyinstop_en_dict.keys():
ifkeyinen_dict:
delen_dict[key]
printen_dict
C. python jieba停用词该如何设置
你把你的停用词排一下序,然后再给结巴看看。
或者加两个停用词,一个河北、一个西南部。
停用词通常是很短的高频出现的词语,真实情况你这样的不多。
如果你这种情况,不妨先分词,也不去停用词。
然后自己再来后续处理。
D. python怎么去除停用词的
结合jieba分词,里面有去停止词相关模板,自己研究下吧,网上也有相关资料。
E. 如何用python对一个文件夹下的多个txt文本进行去停用词
在用 for 循环去停用词的部分,出错,仅去掉了 stopwords 中的部分停用词,且相同停用词只去除了一次。求大神告知错误之处,贴上代码再好不过!!
#encoding=utf-8
import sys
import re
import codecs
import os
import shutil
import jieba
import jieba.analyse
#导入自定义词典
#jieba.load_userdict("dict_.txt")
#Read file and cut
def read_file_cut():
#create path
stopwords = {}.fromkeys([ line.strip() for line in open('stopword.txt') ])
path = "Lon\\"
respath = "Lon_Result\\"
if os.path.isdir(respath): #如果respath这个路径存在
shutil.rmtree(respath, True) #则递归移除这个路径
os.makedirs(respath) #重新建立一个respath目录
num = 1
while num<=20:
name = "%d" % num
fileName = path + str(name) + ".txt"
resName = respath + str(name) + ".txt"
source = open(fileName, 'r')
if os.path.exists(resName):
os.remove(resName)
result = codecs.open(resName, 'w', 'utf-8')
line = source.readline()
line = line.rstrip('\n')
while line!="":
line = unicode(line, "utf-8")
output=''
seglist = jieba.cut(line,cut_all=False)
for seg in seglist:
seg=seg.encode('utf-8')
if seg not in stopwords:
output+=seg
output = ' '.join(list(seglist))#空格拼接
print output
result.write(output + '\r\n')
line = source.readline()
else:
print 'End file: ' + str(num)
source.close()
result.close()
num = num + 1
else:
print 'End All'
#Run function
if __name__ == '__main__':
read_file_cut()
我觉得是这样啦:
...
seglist = jieba.cut(line,cut_all=False)
seglist = (seg.encode('utf-8') for seg in seglist)
seglist = [seg for seg in seglist if seg not in stopwords]
output = ' '.join(seglist)
print output
...
不太懂你这两行的意思:
output+=seg
output = ' '.join(list(seglist))#空格拼接
每次 output 都会被设定成 ' '.join(list(seglist)) 那 output+=seg 好像就没有意义了。
F. python去除停止词,停止词文件正确格式如何书写
ss="aa"
ifnotisinstance(ss,unicode):
ss=ss.decode('utf-8')
printtype(ss)
将str类型转换成utf8再比较
G. python jieba分词如何去除停用词
-*- 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编码
H. python中从列表中用for循环删除(remove方法)停用词特别慢,有快一点的方法吗
循环删除,必须用循环语句,而循环语句就那么几个!!
I. NLTK 在python上 对文本文件内容进行停词处理
Nltk是python下处理语言的主要工具包,可以实现去除停用词、词性标注以及分词和分句等。
安装nltk,写python一般使用的是集成环境EPD,其中有包管理,可以在线进行安装。如果不是集成环境,可以通过pip install nltk安装。
》pip install nltk #安装nltk
》nltk.download() #弹出一个选择框,可以按照自己需要的语义或者是功能进行安装
一般要实现分词,分句,以及词性标注和去除停用词的功能时,需要安装stopwords,punkt以及
当出现LookupError时一般就是由于缺少相关模块所导致的