python利用jieba分词进行分词,去停止词(停用词)。

上一篇文章介绍了利用python进行SEO词库去重,去重后需要对现有的词库进行去停止词操作,这里我们主要利用到了jieba分词的搜索引擎模式cut_for_search() .

去停止词主要利用了停止词词库进行去重set(jiebas)-set(stopkey)

 Python |  copy code |? 
01
#coding:utf-8
02
import jieba,csv
03
fenci=open(r'fenci_ddc.csv','w')  #数据写入到fenci_key里
04
stopkey=[line.strip().decode('utf-8') for line in open('stopkey.txt').readlines()]  
05
	#读取停止词文件并保存到列表stopkey
06
key=csv.reader(file('key_ddc.csv','rb'))  #读取需要处理的词库:key_ddc.csv
07
list1=[]
08
i=0
09
 
10
for keys in key:
11
 
12
	if i==0:	
13
		i=1
14
		jiebas=jieba.cut_for_search(keys[0]) #jieba.cut_for_search() 结巴分词搜索引擎模式		
15
		fenci_key="/".join(list(set(jiebas)-set(stopkey))) #使用join链接字符串输出
16
		list1.append(fenci_key.strip())  #将数据添加到list1列表
17
		print u'程序处理中,请等待...'
18
	else:
19
		jiebas=jieba.cut_for_search(keys[0]) 
20
		fenci_key="/".join(list(set(jiebas)-set(stopkey))) 
21
		list1.append(fenci_key.strip()) 
22
 
23
zidian={}.fromkeys(list1).keys()    #字典去重的方法
24
 
25
for zd  in zidian:
26
	try:
27
		print zd
28
	except:
29
		pass
30
	fenci.writelines(zd.encode('utf-8'))      #需要转换成utf-8格式输出
31
	fenci.writelines('\n')
32
 
33
fenci.close()
34
 
35
 
36
 
37
 
38
 
39