热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jieba分词02

github地址:https:github.comfxsjyjieba示例1:对txt文本进行分词,并对获取的分词进行计数,最后将结果写

github地址:https://github.com/fxsjy/jieba

示例1:对txt文本进行分词,并对获取的分词进行计数,最后将结果写入result.txt中。

http://www.cnblogs.com/chenbjin/p/3843800.html


import jieba
import sys
reload(sys)
sys.setdefaultencoding(
'utf8')def fenci(argv) :filename = argv[1]f = open(filename,'r+')file_list = f.read()f.close()seg_list = jieba.cut(file_list,cut_all=True)tf={}for seg in seg_list :#print segseg = ''.join(seg.split())if (seg != '' and seg != "\n" and seg != "\n\n") :if seg in tf :tf[seg] += 1else :tf[seg] = 1f = open("result.txt","w+")for item in tf:#print itemf.write(item+" "+str(tf[item])+"\n")f.close()if __name__ == '__main__' : fenci(sys.argv)


示例2:http://www.cnblogs.com/chenbjin/p/3851165.html

对100份文档进行分词,然后进行TF-IDF的计算,其效果相当好。


import os
import jieba
import jieba.posseg as pseg
import sys
import string
from sklearn import feature_extraction
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
reload(sys)
sys.setdefaultencoding(
'utf8')
#获取文件列表(该目录下放着100份文档)
def getFilelist(argv) :path = argv[1]filelist = []files = os.listdir(path)for f in files :if(f[0] == '.') :passelse :filelist.append(f)return filelist,path
#对文档进行分词处理
def fenci(argv,path) :#保存分词结果的目录sFilePath = './segfile'if not os.path.exists(sFilePath) : os.mkdir(sFilePath)#读取文档filename = argvf = open(path+filename,'r+')file_list = f.read()f.close()#对文档进行分词处理,采用默认模式seg_list = jieba.cut(file_list,cut_all=True)#对空格,换行符进行处理result = []for seg in seg_list :seg = ''.join(seg.split())if (seg != '' and seg != "\n" and seg != "\n\n") :result.append(seg)#将分词后的结果用空格隔开,保存至本地。比如"我来到北京清华大学",分词结果写入为:"我 来到 北京 清华大学"f = open(sFilePath+"/"+filename+"-seg.txt","w+")f.write(' '.join(result))f.close()#读取100份已分词好的文档,进行TF-IDF计算
def Tfidf(filelist) :path = './segfile/'corpus = [] #存取100份文档的分词结果for ff in filelist :fname = path + fff = open(fname,'r+')content = f.read()f.close()corpus.append(content) vectorizer = CountVectorizer() transformer = TfidfTransformer()tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))word = vectorizer.get_feature_names() #所有文本的关键字weight = tfidf.toarray() #对应的tfidf矩阵
sFilePath = './tfidffile'if not os.path.exists(sFilePath) : os.mkdir(sFilePath)# 这里将每份文档词语的TF-IDF写入tfidffile文件夹中保存for i in range(len(weight)) :print u"--------Writing all the tf-idf in the",i,u" file into ",sFilePath+'/'+string.zfill(i,5)+'.txt',"--------"f = open(sFilePath+'/'+string.zfill(i,5)+'.txt','w+')for j in range(len(word)) :f.write(word[j]+" "+str(weight[i][j])+"\n")f.close()if __name__ == "__main__" : (allfile,path) = getFilelist(sys.argv)for ff in allfile :print "Using jieba on "+fffenci(ff,path)Tfidf(allfile)



推荐阅读
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • Spring Security基础配置详解
    本文详细介绍了Spring Security的基础配置方法,包括如何搭建Maven多模块工程以及具体的安全配置步骤,帮助开发者更好地理解和应用这一强大的安全框架。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 本文详细探讨了Java中HashMap类的hash()方法的工作原理及其重要性,特别是在JDK 7版本中的实现。 ... [详细]
author-avatar
漂泊盼安定
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有