文本词频统计学习笔记(案例)
代码案例 (英文)
-
思路:
(1) 获取全部文本, 去除标点、统一大小写
(2)文本分词(中英不同处理)
(3)建立字典型数据,统计词频。我们需要的字典是:{词:词频}
(4)统计结果按输出需求处理 -
输出:词频从大到小,输出前十条
#CalHamletV1.py
#1 打开文本,去噪、归一
def getText():
txt=open("hamlet.rtf","r").read()
txt=txt.lower() #文本全部小写(字典大小写敏感,统一单词样式)
for ch in '!"#$%^&*()+_,-./:<>+?@[]\|_‘{}~': #所有标点符号
txt=txt.replace(ch," ")#替换为空格
return txt
#2 文本分词
hamletTxt=getText()
words=hamletTxt.split()
#3 统计词频,结果放入字典counts中
counts={
}
for word in words:
counts[word]=counts.get(word,0)+1
#4 字典转为列表,排序输出
it