如何用python和jieba分词,统计词频?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python和jieba分词,统计词频?相关的知识,希望对你有一定的参考价值。

如何用python和jieba分词,统计词频?如何python 分词 词频统计 ?给定要求求解?
# -*- coding: utf-8-*-

novel = [] # 列表,用于存储小说文本
textname = '' # 可自行选择文本,要求总大小不得小于1k
textfile = open(textname,'r') # 打开文本文件
# 功能要求:
# - 把文件中的小说文本读入到novel列表中
# - 建议按行读取
# 提示:注意python语言的文件读写操作
textfile.close() # 关闭文本文件

noveldict = # 字典,用于存储词汇及其出现次数
for line in novel:
# 功能要求:
# 1.调用分词工具,对每一行文本进行分词,获得分词结果
# 2.对于出现在词典里的词,更新词语出现次数
# 3.对于没出现在词典里的词,加入到词典中
# 提示:注意python语言的列表操作;注意使用分词工具的方法

outputname = 'output.txt' # 输出词汇出现次数的文件
outputfile = open(outputname,'w')
# 功能要求:
# - 将noveldict中的内容输出到文本文件中
# - 包含出现过的词和词语的出现次数,以及自选增加的其他信息(可加分)
# 提示:注意python语言的文件读写操作
outputfile.close()

 #! python3
# -*- coding: utf-8 -*-
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('19d.txt', 'r', 'utf8') as f:
        txt = f.read()
    get_words(txt)

参考技术A

https://github.com/williezh/

追问

python词频统计

1.jieba 库 -中文分词库

words = jieba.lcut(str)  --->列表,词语

count = {}

for word in words:

  if len(word)==1:

    continue

  else:

    count[word] = count.get(word,0)+1

 

 

函数

jieba.lcut()   分词,中文

 

 

2. 英文分词库

str = "ab sld dd"

str.split()

 

以上是关于如何用python和jieba分词,统计词频?的主要内容,如果未能解决你的问题,请参考以下文章

jieba库分词词频统计

运用jieba库进行词频统计

python词频统计

python词频统计

Python之酒店评论分词词性标注TF-IDF词频统计词云

利用jieba分词进行词频统计