zoukankan      html  css  js  c++  java
  • 文本分词-结巴

    安装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 != '
    ':
                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 != '
    ':
            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))
    
  • 相关阅读:
    Hdu 5073 Galaxy 精度问题
    HDU 4435 charge-station (并查集)
    HDU-4689 Derangement
    HDU 1011 Starship Troopers
    python 冒泡、快速、归并排序
    Django 上下文管理器的应用
    Django ajax小例
    Django 上传文件
    Django 登录验证码
    Django 模型中的CRUD
  • 原文地址:https://www.cnblogs.com/g2thend/p/12420816.html
Copyright © 2011-2022 走看看