python中结巴包的一些东西
2015-10-27 17:53
330 查看
jieba分词去掉停顿词语
计算文章关键的TF-IDF
计算关键词长度
#coding:utf-8 import jieba,csv fenci=open(r'fenci_ddc.csv','w') #数据写入到fenci_key里 stopkey=[line.strip().decode('utf-8') for line in open('stopkey.txt').readlines()] #读取停止词文件并保存到列表stopkey key=csv.reader(file('key_ddc.csv','rb')) #读取需要处理的词库:key_ddc.csv list1=[] i=0 for keys in key: if i==0: i=1 jiebas=jieba.cut_for_search(keys[0]) #jieba.cut_for_search() 结巴分词搜索引擎模式 fenci_key="/".join(list(set(jiebas)-set(stopkey))) #使用join链接字符串输出 list1.append(fenci_key.strip()) #将数据添加到list1列表 print u'程序处理中,请等待...' else: jiebas=jieba.cut_for_search(keys[0]) fenci_key="/".join(list(set(jiebas)-set(stopkey))) list1.append(fenci_key.strip()) zidian={}.fromkeys(list1).keys() #字典去重的方法 for zd in zidian: try: print zd except: pass fenci.writelines(zd.encode('utf-8')) #需要转换成utf-8格式输出 fenci.writelines('\n') fenci.close()
计算文章关键的TF-IDF
import jieba import jieba.analyse #计算tf-idf需要调用此模块jieba.analyse stopkey=[line.strip().decode('utf-8') for line in open('stopkey.txt').readlines()] #将停止词文件保存到列表stopkey,停止词在网上下载的。 neirong = open(r"ceshi1.txt","r").read() #导入需要计算的内容 zidian={} fenci=jieba.cut_for_search(neirong) #搜索引擎模式分词 for fc in fenci: if fc in zidian: zidian[fc]+=1 #字典中如果存在键,键值加1, else: zidian.setdefault(fc,1) #字典中如果不存在键,就加入键,键值设置为1 quanzhong=jieba.analyse.extract_tags(neirong,topK=20) #计算tf-idf,输出前20的权重词。 for qg in quanzhong: if qg in stopkey: #如果qg存在停止词stopkey里面,则pass pass else: #不存在的话就输出qg和出现qg的次数 print qg+","+`zidian[qg]` #输出权重词和权重词出现的次数
计算关键词长度
import re,csv key=csv.reader(file('uz.csv','rb')) key1=open('uz1.csv','w') zidian={} lists=[] for line in key: reges=re.compile(r'\w',re.M) E=reges.findall(line[0]) #获取数字和英文 reges1=re.compile(r'\W',re.M) C=reges1.findall(line[0]) #获取到中文 English= len(E) #获取英文长度 China=len(C)/3 #获取中文长度,中文一个汉字3个字节,除以3得到汉字个数 length=line[0]+','+line[1]+','+`English+China` lists.append(length) for ls in lists: ls=ls.split(',') ls_value=int(ls[2]) #这一步必须转成int,否则下面的字典排序的时候不会当作数值处理,而是当作字符来处理,导致排序错误 ls_key=ls[0]+','+ls[1] zidian1={ls_key:ls_value} zidian.update(zidian1) cc=sorted(zidian.items(), key=lambda d:d[1], reverse=True ) #字典排序之降序,针对字典value排序(d:d[1]), reverse=true为降序 for key in cc: #keys()字典的键值 key1.writelines(key[0]+","+`key[1]`+"\n" ) #文件写入key1 print key[0]+","+`key[1]` #分别输出里面的数 key1.close()
相关文章推荐
- python 装饰器
- python 自动化测试平台 Robot Framework 内置库 翻译
- python PIL模块的下载
- pyenv python多版本共存
- python学习记录之1027
- Python的集合类型详解17
- 【Python】Python-skier游戏[摘自.与孩子一起学编程]
- python异常处理
- python yield
- Python调试工具pdb
- python学习手册:字典,方法
- 卸载pythonwin&python
- Python中参数的传递本质——建立变量与对象的关联
- relief属性演示
- Python学习笔记-抽象
- python 爬虫下载链接
- python迭代器
- Python 查看文件的读写权限
- python基础-特性
- python 入门笔记(二)