首页 > 其他 > 详细

综合练习:词频统计

时间:2018-03-28 22:59:50      阅读:167      评论:0      收藏:0      [点我收藏+]

1.英文词频统

下载一首英文的歌词或文章

将所有,.?!’:等分隔符全部替换为空格

将所有大写转换为小写

生成单词列表

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20

将分析对象存为utf-8编码的文件,通过文件读取的方式获得词频分析内容。

news = ‘‘‘《Faded》歌词‘‘‘
sep = ‘‘‘,.?!‘":‘‘‘
exclude = {‘you‘, ‘and‘, ‘to‘}

for c in sep:
    news = news.replace(c,‘‘)
wordList = news.lower().split()

wordDict = {}
# for w in wordList:
#     wordDict[w] = wordDict.get(w, 0)+1
# for w in exclude:
#     del (wordDict[w])

wordSet = set(wordList) - exclude
for w in wordSet:
    wordDict[w] = wordList.count(w)

dictList = list(wordDict.items())
dictList.sort(key = lambda x:x[1], reverse=True)

for i in range(20):
    print(dictList[i])

# print(dictList)
# for w in wordDict:
#     print(w, wordDict[w])

# for w in wordList:
#     print(w)

# f = open(‘w.txt‘, ‘r‘)
# news = f.read()
# f.close()
# print(news)

  

2.中文词频统计

下载一长篇中文文章。

从文件读取待分析文本。

news = open(‘gzccnews.txt‘,‘r‘,encoding = ‘utf-8‘)

安装与使用jieba进行中文分词。

pip install jieba

import jieba

list(jieba.lcut(news))

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20(或把结果存放到文件里)

import jieba
 
f = open(‘gzccnews.txt‘,‘r‘, encoding=‘utf-8‘)
text = f.read()
f.close()
 
 
sep = ‘‘‘,。‘’“”:;()!?、 ‘‘‘
a= {
     ‘\n‘, ‘\u3000‘,‘的‘,
     ‘他‘, ‘之‘, ‘不‘, ‘人‘,  ‘一‘,   ‘我‘, ‘下‘, ‘大‘,
     }
for i in sep:
    text = text.replace(i, ‘‘)
print(list(jieba.cut(text)))
t = list(jieba.lcut(text))
print(t)
count = {}
wl = list(set(t) - a)
print(wl)
 
for i in range(0, len(wl)):
    count[wl[i]] = text.count(str(wl[i]))
 
cl = list(count.items())
cl.sort(key=lambda x: x[1], reverse=True)
print(cl)
 
f = open(‘cpCount.txt‘, ‘a‘)
for i in range(20):
    f.write(cl[i][0] + ‘:‘ + str(cl[i][1]) + ‘\n‘)
f.close()

  

综合练习:词频统计

原文:https://www.cnblogs.com/031503097--/p/8666488.html

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