首页 > 其他 > 详细

文本分词-结巴

时间:2020-03-05 16:19:11      阅读:83      评论:0      收藏:0      [点我收藏+]

安装jieba
pip install jieba

使用

常用词统计分析

import os, codecs
import jieba
from collections import Counter
 
def get_words(txt):
    seg_list = jieba.cut(txt)
    c = Counter()
    for x in seg_list:
        if len(x)>1 and x != '\r\n':
            c[x] += 1
    print('常用词频度统计结果')
    for (k,v) in c.most_common(100):
        print('%s%s %s  %d' % ('  '*(5-len(k)), k, '*'*int(v/3), v))
 
if __name__ == '__main__':
    with codecs.open('jobwelfare.csv', 'r', 'utf8') as f:      #读取csv文件
        txt = f.read()
    get_words(txt)




##也可以使用pandas将频率比较高的词写入文本
cat xx | sort | uniq


awk命令去重输出:awk '!x[$0]++' filename
? 应用扩展1:cat Afile Bfile|awk '!x[$0]++' >Cfile
? 依次输出A、B两个文件内容,去掉B中与A重复的行,输出到C;多应用于日志拼接。

灵活扩展2:cat Afile|awk '!x[$0]++'
也可以写作:awk '!x[$0]++' Afile
去掉重复的行,输出A文件

根据已创建好的字典分词

import jieba   
import jieba.posseg as pseg  
 

##使用字典,内容为一些自定义的有意义的词
#五险一金  年底双薪  绩效奖金  带薪年假  补充医疗保险  等
jieba.load_userdict("dict.txt")
with codecs.open('jobwelfare.csv', 'r', 'utf8') as f:
        txt = f.read()
# words = jieba.cut(txt) 

seg_list = jieba.cut(txt)
c = Counter()
for x in seg_list:
    if len(x)>1 and x != '\r\n':
        c[x] += 1
print('常用词频度统计结果')
for (k,v) in c.most_common(100):
    print('%s%s %s  %d' % ('  '*(20-len(k)), k, '*'*int(v/3), v))

文本分词-结巴

原文:https://www.cnblogs.com/g2thend/p/12420816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!