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