当前位置:首页 » 编程语言 » python词频

python词频

发布时间: 2022-09-28 06:29:59

① 如何用python将词频中最高的前10个词及出现的次数做出来并去掉重复的数字且进

# 利用字典进行处理
dic = {}
for word in speech:
if word not in dic:
dic[word] = 1
else:
dic[word] = dic[word] + 1
swd = sorted(dic.items(),key=operator.itemgetter(1),reverse=True)

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

#!python3
#-*-coding:utf-8-*-
importos,codecs
importjieba
fromcollectionsimportCounter

defget_words(txt):
seg_list=jieba.cut(txt)
c=Counter()
forxinseg_list:
iflen(x)>1andx!=' ':
c[x]+=1
print('常用词频度统计结果')
for(k,v)inc.most_common(100):
print('%s%s%s%d'%(''*(5-len(k)),k,'*'*int(v/3),v))

if__name__=='__main__':
withcodecs.open('19d.txt','r','utf8')asf:
txt=f.read()
get_words(txt)

③ python数据挖掘——文本分析

作者 | zhouyue65

来源 | 君泉计量

文本挖掘:从大量文本数据中抽取出有价值的知识,并且利用这些知识重新组织信息的过程。

一、语料库(Corpus)

语料库是我们要分析的所有文档的集合。

二、中文分词

2.1 概念:

中文分词(Chinese Word Segmentation):将一个汉字序列切分成一个一个单独的词。

eg:我的家乡是广东省湛江市-->我/的/家乡/是/广东省/湛江市

停用词(Stop Words):

数据处理时,需要过滤掉某些字或词

√泛滥的词,如web、网站等。

√语气助词、副词、介词、连接词等,如 的,地,得;

2.2 安装Jieba分词包:

最简单的方法是用CMD直接安装:输入pip install jieba,但是我的电脑上好像不行。

后来在这里:https://pypi.org/project/jieba/#files下载了jieba0.39解压缩后 放在Python36Libsite-packages里面,然后在用cmd,pip install jieba 就下载成功了,不知道是是什么原因。

然后我再anaconda 环境下也安装了jieba,先在Anaconda3Lib这个目录下将jieba0.39的解压缩文件放在里面,然后在Anaconda propt下输入 pip install jieba,如下图:

2.3 代码实战:

jieba最主要的方法是cut方法:

jieba.cut方法接受两个输入参数:

1) 第一个参数为需要分词的字符串

2)cut_all参数用来控制是否采用全模式

jieba.cut_for_search方法接受一个参数:需要分词的字符串,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细

注意:待分词的字符串可以是gbk字符串、utf-8字符串或者unicode

jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(...))转化为list代码示例( 分词 )

输出结果为: 我 爱

Python

工信处

女干事

每月 经过 下属 科室 都 要 亲口

交代

24 口 交换机 等 技术性 器件 的 安装

工作

分词功能用于专业的场景:

会出现真武七截阵和天罡北斗阵被分成几个词。为了改善这个现象,我们用导入词库的方法。

但是,如果需要导入的单词很多,jieba.add_word()这样的添加词库的方法就不高效了。

我们可以用jieba.load_userdict(‘D:PDM2.2金庸武功招式.txt’)方法一次性导入整个词库,txt文件中为每行一个特定的词。

2.3.1 对大量文章进行分词

先搭建语料库:

分词后我们需要对信息处理,就是这个分词来源于哪个文章。

四、词频统计

3.1词频(Term Frequency):

某个词在该文档中出现的次数。

3.2利用Python进行词频统计

3.2.1 移除停用词的另一种方法,加if判断

代码中用到的一些常用方法:

分组统计:

判断一个数据框中的某一列的值是否包含一个数组中的任意一个值:

取反:(对布尔值)

四、词云绘制

词云(Word Cloud):是对文本中词频较高的分词,给与视觉上的突出,形成“关键词渲染”,从而国旅掉大量的文本信息,使浏览者一眼扫过就可以领略文本的主旨。

4.1 安装词云工具包

这个地址:https://www.lfd.uci.e/~gohlke/pythonlibs/ ,可以搜到基本上所有的Python库,进去根据自己的系统和Python的版本进行下载即可。

在python下安装很方便,在anaconda下安装费了点劲,最终将词云的文件放在C:UsersAdministrator 这个目录下才安装成功。

五、美化词云(词云放入某图片形象中)

六、关键词提取

结果如下:

七、关键词提取实现

词频(Term Frequency):指的是某一个给定的词在该文档中出现的次数。

计算公式: TF = 该次在文档中出现的次数

逆文档频率(Inverse Document Frequency):IDF就是每个词的权重,它的大小与一个词的常见程度成反比

计算公式:IDF = log(文档总数/(包含该词的文档数 - 1))

TF-IDF(Term Frequency-Inverse Document Frequency):权衡某个分词是否关键词的指标,该值越大,是关键词的可能性就越大。

计算公式:TF - IDF = TF * IDF

7.1文档向量化

7.2代码实战

④ 用Python统计词频

def statistics(astr):
# astr.replace("\n", "")
slist = list(astr.split("\t"))
alist = []
[alist.append(i) for i in slist if i not in alist]
alist[-1] = alist[-1].replace("\n", "")
return alist

if __name__ == "__main__":
code_doc = {}
with open("test_data.txt", "r", encoding='utf-8') as fs:
for ln in fs.readlines():
l = statistics(ln)
for t in l:
if t not in code_doc:
code_doc.setdefault(t, 1)
else:
code_doc[t] += 1

for keys in code_doc.keys():
print(keys + ' ' + str(code_doc[keys]))

⑤ 关于python词频和百分比计算的问题

不能使用其他包是吧,只能自己编写方法读取?

importre
#./tt.txt"替换为你的文件路径
file=open("./tt.txt")
r=re.compile(r"w+")
word_list=r.findall(file.read())
word_length=len(word_list)
d={}
forwordinword_list:
ifwordind:
d[word]['count']+=1
d[word]['percent']=d[word]['count']*1.0/word_length
else:
d[word]={"count":1,"percent":1.0/word_length}
print(d)
#输出结果:没有对百分比做处理,你可以自行处理
{'alpha':{'count':2,'percent':0.15384615384615385},
'learn':{'count':2,'percent':0.15384615384615385},
'english':{'count':1,'percent':0.07692307692307693},
'hello':{'count':1,'percent':0.07692307692307693},
'sads':{'count':1,'percent':0.07692307692307693},
'sadasd':{'count':1,'percent':0.07692307692307693},
'ni':{'count':1,'percent':0.07692307692307693},
'hao':{'count':1,'percent':0.07692307692307693},
'lol':{'count':1,'percent':0.07692307692307693},
'kell':{'count':2,'percent':0.15384615384615385}}
#tt.txt测试文件内容
alphalearnenglishhello,sads
sadasd
nihao
lol
kell
kell
alpha
learn

⑥ python统计词频时如何过滤掉词频小于等于2的单词

如果你的词频存放在词典对象中

参考例子只显示词频大于2的

ad={'a':2,'b':3,'c':5,'D':10,'E':1,'F':8}
foriinad:
...if(ad[i]>2):printi,ad[i]
...
c5
b3
D10
F8

⑦ python词频分析关键词频数与word检索的结果不一致

jieba是分词计数,你在word中搜索是不分词匹配。
对于【...开发展示功能..】,jieba不会匹配到【发展】而word搜索会匹配:
jieba得到的是'开发','展示','功能'三个词。

⑧ 关于python词云的频次统计机制

使用wordcloud库和jieba库可以使用图片上的效果,
这个就是将一个文本先进行分词,然后再统计每个词的词频,选出词频较高的一些词语,然后按照词频的大小设定不同的字体大小,随机生成颜色,随后形成图片。

⑨ python问题,我运用python做中文词频分析的时候总是显示UnicodeDecodeError: 'utf-8'问题

出现原因:文件不是 UTF8 编码的,而系统默认采用 UTF8 解码。
解决方法是改为对应的解码方式。
解决办法:
“文件–》另存为”,可以看到文件的默认编码格式为ANSI,改为编码格式UTF8,保存

热点内容
小悟云服务器 发布:2024-12-26 14:41:03 浏览:189
linux系统备份与还原 发布:2024-12-26 14:40:14 浏览:95
云服务器版本过高如何降低 发布:2024-12-26 14:35:27 浏览:340
安卓手机上怎么加下划线 发布:2024-12-26 14:26:50 浏览:495
c语言设计时钟 发布:2024-12-26 14:15:54 浏览:170
java派生 发布:2024-12-26 14:11:11 浏览:464
python核心技术 发布:2024-12-26 13:54:06 浏览:202
安卓智能显示如何设置 发布:2024-12-26 13:54:01 浏览:79
知道服务器ip和密码怎么办 发布:2024-12-26 13:51:00 浏览:111
联想小新pro14怎么查配置 发布:2024-12-26 13:48:39 浏览:439