文本分析-词频统计

<small>词频:指的是某一个给定的词在该文档中出现的次数
概念了解:
1.语料库:
预料库是我们要分析的所有文档的集合
2.中文分词:
指的是将一个汉字序列切成一个一个单独的词
3.停用词:
数据处理的时候,自动过滤掉某些字或词,如:web,网站等

处理步骤“
1.语料库的构建:
构建方法:os.walk(fileDir) :fileDir 文件夹路径

2.文件读取:codecs.open(filePath,method,encoding)
filepath:文件路径
method:文件的打开方式:r只读,w:为写,rw为读写
encoding:文件的编码:中文用utf-8打开
语料库创建代码案例:

import jieba
import os
import os.path
import codecs  
#创建词料库        
corpos=pandas.DataFrame(columns=['filePath','content')]
for root,dirs,files in os.walk('filepath')
    for name in files[1:]:
          filePath=root+'/'+name
          f=codecs.open(filePath,'r','utf-8')
          content=f.read()
          f.close()
          #.loc[] 按照行列索引,没有则新增
          corpos.loc[len(corpos)+1]=[filePath,content.strip()]

2,中文分词
分词包:jiebe.cut(content)
.content:需要分词的句子
.返回segment:分词的词组
(词库可到搜狗下载,然后用深蓝词库转换工具转成无拼音的文本格式)
操作步骤:
1.词库的导入:jieba.load_userdict(path)或者 open()+read()
2.分词:jieba.cut(content)
3.输出:’,’.jion():
注:.join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
中文分词案例代码(顺接上面)

import re
filePath=[]
segments=[]
for i in range(len(corpos)):
     filepath=corpos.loc[i].filePath
     segs=jieba.cut(corpos.[i].content)
     for seg in segs:
           if len(seg.strip())>1:
               filePath.append(filepath)
               segments.append(seg)
segmentDF=pandas.DataFrame({'filePath':filePath,'segments':segments})

3.词频统计--分组统计各词组数量

 #reset_index() 是将行索引移到列里面,本例子指将segments由行索引移到列里面,set_index()则相反。
 import numpy,pandas
segcount=segmentDF.groupby(['segments'])      
 ['segments'].agg({'count':numpy.size}).reset_index().sort(columns=['count'],
 ascending=False)

4.移除停用词

 stopwords=pandas.read_csv('stopwords filepath')
 fsegcount=segcount[~segcount.segments.isin(stopwords.stopword)]

5 绘制词云图

   from wordcloud import WordCloud
   import matplotlib.pyplot as pet
   wordcloud=WordCloud(font_path='font path',background_color='black')
    wordcloud=wordcloud.fit_words(fsegcount.itertuples(index=False))
    plt.imshow(wordcloud)
词云图

</small>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:参考文档 一、在线词云图工具# (1)、使用### 在正式使用jieba分词之前,首先尝试用在线分词工具来将自...
    DearIreneLi阅读 6,203评论 1 8
  • 词频统计 - 语料库的构建 遍历路径下的所有文件和子目录 os.walk() 读取目录及其所有子目录 root —...
    WesleyLien阅读 1,776评论 0 3
  • 中文分词: 我的家乡可以分为 我 的 家乡 停用词 数据处理,需要过来的词语和子 如web,网址等 语气助词、副词...
    正在充电Loading阅读 762评论 0 0
  • 常用概念: 自然语言处理(NLP) 数据挖掘 推荐算法 用户画像 知识图谱 信息检索 文本分类 常用技术: 词级别...
    御风之星阅读 9,372评论 1 25
  • 没有写新的文 因为没灵感嘻嘻嘻 早上民法加油 起来喝咖啡, 先睡了,晚安
    原萧mmmmmmm阅读 239评论 0 0