中文分词

  1. 下载一中文长篇小说,并转换成UTF-8编码。
  2. 使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。
  3. 排除一些无意义词、合并同一词。
  4. 对词频统计结果做简单的解读。
    import jieba
    
    #读入待分析的字符串
    fo=open('红楼梦前五十回.txt','r',encoding='utf-8')
    str=fo.read()
    fo.close()
    
    
    #分解提取单词 
    for i in ''',。?!、:“”‘’"'-\n\u3000''':
        str=str.replace(i,'')
    words=list(jieba.cut(str))
    
    #排除语法型词汇
    dic={}
    exp=set(['','什么','怎么','一个','两个','这里','那里','如今'])
    keys=set(words)-exp 
    
    #创建计数字典
    for i in keys:
        if(len(i)>1):
            dic[i]=words.count(i)    
    items=list(dic.items()) 
    
    #排序
    items.sort(key=lambda x:x[1],reverse=True)
    
    #输出TOP(20)
    print('输出TOP20:')
    for i in range(20):
        print(items[i])

    足以看出红楼梦中的主角以宝玉、贾母、凤姐、王夫人、老太太和黛玉为主,并有多次众人相聚聊天。

posted on 2017-09-29 14:53  077吴文欣  阅读(187)  评论(0编辑  收藏  举报