jieba分词--02

2人阅读 评论(0) 收藏 举报
分类:

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 seg
        seg = ''.join(seg.split())
        if (seg != '' and seg != "\n" and seg != "\n\n") :
            if seg in tf :
                tf[seg] += 1
            else :
                tf[seg] = 1

    f = open("result.txt","w+")
    for item in tf:
        #print item
        f.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] == '.') :
            pass
        else :
            filelist.append(f)
    return filelist,path
#对文档进行分词处理
def fenci(argv,path) :
    #保存分词结果的目录
    sFilePath = './segfile'
    if not os.path.exists(sFilePath) : 
        os.mkdir(sFilePath)
    #读取文档
    filename = argv
    f = 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 + ff
        f = 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 "+ff
        fenci(ff,path)

    Tfidf(allfile)
复制代码
查看评论

RxJava精品课程02

-
  • 1970年01月01日 08:00

【自然语言处理入门】01:利用jieba对数据集进行分词,并统计词频

使用jieba对垃圾短信数据集进行分词,然后统计其中的单词出现的个数,找到出现频次最高的top100个词。...
  • xyz1584172808
  • xyz1584172808
  • 2017-12-08 23:57:53
  • 291

中文分词的基本原理以及jieba分词的用法

结巴分词是国内程序员用Python开发的一个中文分词模块,可能是最好的Python中文分词组件? 中文分词的原理 – 1、中文分词(Chinese Word Segmentation) 指...
  • John_xyz
  • John_xyz
  • 2017-01-21 13:15:40
  • 27317

NLP中jieba分词的用法(一)

一:首先介绍一下分词工具,其中用的比较多的分词工具有: 结巴中文分词http://209.222.69.242:9000/ 中科院分词系统http://ictclas.org/ictclas_dem...
  • gentelyang
  • gentelyang
  • 2017-09-12 15:10:35
  • 561

jieba分词学习总结

1、jieba.cut() 参数1 需要分词的字符串 参数2 是否采用全模式,默认是精确模式seg_list=jieba.cut(‘这是一个测试’,cut_all=False) 可以用’/’...
  • data_scientist
  • data_scientist
  • 2016-07-19 13:38:00
  • 774

jieba分词包

  • 2016年10月13日 09:06
  • 11.83MB
  • 下载

jieba分词资源包

  • 2016年11月16日 20:32
  • 1.88MB
  • 下载

python中的jieba分词使用手册

jieba “结巴”中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") Chinese text segmentation: bu...
  • Alis_xt
  • Alis_xt
  • 2016-12-08 18:15:13
  • 14313

Jieba中文分词说明

结巴分词介绍现在开源的中文分词工具,有IK、MMseg4j、THULAC、Ansj、Jieba、HanLP等,其中最近还在更新并维护的,也是目前分词效果比较优秀的要属于Ansj、Jieba、HanLP...
  • shibing624
  • shibing624
  • 2016-07-24 23:30:21
  • 5093

jieba分词词性标记含义

转载:http://www.cnblogs.com/adienhsuan/p/5674033.html jieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注的功能,词性类别...
  • huludan
  • huludan
  • 2016-10-03 10:57:16
  • 6243
    个人资料
    持之以恒
    等级:
    访问量: 12万+
    积分: 4752
    排名: 7627
    最新评论