文本分析-使用Python做词频统计分析

这篇具有很好参考价值的文章主要介绍了文本分析-使用Python做词频统计分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文本分析-使用Python做词频统计分析

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


文本分析-使用Python做词频统计分析

前言

前面我们已经介绍了文本分析中的中文分词和去除停用词,这篇文章将详细介绍分词后如何进行词频统计分析。

词频统计的概念

        词频统计是指在文本或语音数据中,统计每个单词或符号出现的次数,以便对文本或语音数据进行分析和预处理。词频统计是自然语言处理中的一个重要任务,其目的是为后续的文本分析、情感分析、机器翻译等任务做好准备。

        在词频统计中,通常将文本或语音数据转换成单词或符号的形式,然后统计每个单词或符号出现的次数,并将其存储为一个数据集或字典。这些数据集或字典可以用来训练机器学习模型或进行文本分类、情感分析等任务。

        词频统计可以应用于许多领域,例如文本分类、情感分析、机器翻译、信息检索等。在文本分类中,词频统计可以帮助确定最重要的单词或符号,以帮助分类器进行分类。在情感分析中,词频统计可以帮助确定文本中最常见的情感,以便进行分类。在机器翻译中,词频统计可以帮助确定翻译的单词或符号。在信息检索中,词频统计可以帮助确定查询中最重要的单词或符号,以便进行查询匹配。

        总之,词频统计是自然语言处理中的一个重要任务,其目的是为后续的文本分析、情感分析、机器翻译等任务做好准备。

常用的方法和工具:

  1. Python:Python 是一种非常流行的编程语言,有许多库和工具可以用于文本处理和统计,其中最流行的是 NumPy、Pandas 和 SciPy。可以使用这些库中的任何一个来计算文本中词频统计,例如使用 NumPy 中的 str_freq 函数来计算字符串中单词出现的频率。

  2. R:R 是一种统计软件,可以轻松地进行数据可视化和统计分析。可以使用 R 中的 text mining 包来计算文本中词频统计,例如使用 tm 包中的 tf_idf 函数来计算文本的分词和词频统计。

  3. Java:Java 是一种流行的编程语言,也有许多库和工具可以用于文本处理和统计。可以使用 Java 中的 Apache Commons Text 和 Apache Commons Collections 库来计算文本中词频统计,例如使用 Commons Text 中的 getWords method 来获取文本中的单词。

  4. JavaScript:JavaScript 是一种前端编程语言,也可以用于后端开发。可以使用 JavaScript 中的 Node.js 和 npm 包管理器来运行文本处理和统计任务,例如使用 npm 包中的 text-parser 和 text-count 包来计算文本中词频统计。

Python实现词频统计

 关于python的实现,我给大家介绍两种最常用的方法。

在做词频统计之前,需要要用到前面介绍中文分词封装的函数,然后我这里使用了关于大唐不夜城的一条评论文本作为示范先进行分词。

import re
import jieba

def chinese_word_cut(mytext):
    jieba.load_userdict('自定义词典.txt')  # 这里你可以添加jieba库识别不了的网络新词,避免将一些新词拆开
    jieba.initialize()  # 初始化jieba
    # 文本预处理 :去除一些无用的字符只提取出中文出来
    new_data = re.findall('[\u4e00-\u9fa5]+', mytext, re.S)
    new_data = " ".join(new_data)
    # 文本分词
    seg_list_exact = jieba.lcut(new_data)
    result_list = []
    # 读取停用词库
    with open('停用词库.txt', encoding='utf-8') as f: # 可根据需要打开停用词库,然后加上不想显示的词语
        con = f.readlines()
        stop_words = set()
        for i in con:
            i = i.replace("\n", "")   # 去掉读取每一行数据的\n
            stop_words.add(i)
    # 去除停用词并且去除单字
    for word in seg_list_exact:
        if word not in stop_words and len(word) > 1:
            result_list.append(word)      
    return result_list

comment = '大唐不夜城,不夜城趣味性很高,里面地方特色东西好吃,也有星巴克麦当劳等等选择,有不少场表演,外景夜景一定要薅一个,其它地方很难有这般景象了。娱乐体验了不倒翁,还有十二时辰里面表演更加精彩、内景拍照不错,簋唐楼可以尝试一下沉浸剧本杀……'
comment_cutted = chinese_word_cut(comment)
comment_cutted

文本分析-使用Python做词频统计分析

方法1:使用Pandas库实现

首先使用pandas将前面分词结果进行转化DataFrame类型

import pandas as pd
df = pd.DataFrame(comment_cutted)
df

文本分析-使用Python做词频统计分析

 接着使用groupby函数对第0列进行统计,然后降序输出

word_frequency_df = df.groupby(0).size().sort_values(ascending=False)
word_frequency_df

文本分析-使用Python做词频统计分析

 最后将词频统计的结果保存为文件

# 将词频统计进行保存
word_frequency_df.to_excel('词频统计结果.xlsx') # 保存为excel文件
# word_frequency_df.to_csv('词频统计结果.xlsx')  # 保存为csv文件

文本分析-使用Python做词频统计分析

方法2:使用collections库

# 方法2-使用collections库
from collections import Counter
Counter(comment_cutted)

文本分析-使用Python做词频统计分析

使用Counter函数对前面的分词结果进行统计,然后使用most_common输出按词频频次降序排列的结果,如果你只想输出前n个单词,传入数值即可。 默认是全部输出。

word_counts = Counter(comment_cutted)
word_counts.most_common()
# word_counts.most_common(10) # 输出词频最高的前十个单词 

 文本分析-使用Python做词频统计分析

 如果想将上面结果保存为文件的话,执行以下代码:

# 将词频统计结果保存为txt文件
word_counts_top = word_counts.most_common()
with open('词频统计结果.txt','w',encoding='utf-8')as f:
    for i in word_counts_top:
        f.write(str(i[0]))
        f.write('\t')
        f.write(str(i[1]))
        f.write('\n')

 文本分析-使用Python做词频统计分析

如果我们想将TOP10高频词进行可视化展示,可以执行下面代码:

import matplotlib.pylab as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示
plt.rcParams['axes.unicode_minus'] = False   #解决符号无法显示

word_counts = Counter(comment_cutted)
word_counts_top = word_counts.most_common()
x = [item[0] for item in word_counts_top[:10]]
y = [item[1] for item in word_counts_top[:10]]
plt.bar(x,y)
plt.title('Top10高频词')
plt.xlabel('词语')
plt.ylabel('频次')
plt.show()

 文本分析-使用Python做词频统计分析

案例实战

词频分析只是文本分析的一个环节,我在之前的文章中也用到过,大家可以参考学习:

数据分析实例-获取某宝评论数据做词云图可视化

数据分析案例-文本挖掘与中文文本的统计分析

 文章来源地址https://www.toymoban.com/news/detail-496446.html

到了这里,关于文本分析-使用Python做词频统计分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 统计文本词频的几种方法(Python)

    目录 1. 单句的词频统计 2. 文章的词频统计 方法一:运用集合去重方法 方法二:运用字典统计 方法三:使用计数器 词频统计是自然语言处理的基本任务,针对一段句子、一篇文章或一组文章,统计文章中每个单词出现的次数,在此基础上发现文章的主题词、热词。 思路:首

    2024年02月04日
    浏览(33)
  • 字典类型操作、jieba库使用及文本词频统计

    字典的定义 理解“映射” 映射是一种键(索引)和值(数据)的对应 字典类型是“映射”的体现 键值对:键是数据索引的扩展 字典是键值对的集合,键值对之间无序 采用大括号{}和dict()创建,键值对用冒号: 表示 {键1:值1,键2:值3} 可以通过键拿到值 我们在之前的的集合中说声明

    2024年02月01日
    浏览(34)
  • python统计分析——操作案例(模拟抽样)

    参考资料:用python动手学统计学 1、抽样         为了保证数据分析的可复现性,使用了随机种子。         np.random.choice()的用法参考:https://blog.csdn.net/maizeman126/article/details/135572042 2、计算样本均值  3、计算总体统计量          相关函数用法参照:python统计分析——单变

    2024年01月17日
    浏览(33)
  • 文件中的成绩统计分析----Python

    现在一个包含若干学生学习成绩的文件,每位同学有4 门课程的成绩,按要求完成以下任务。 文件中每行数据格式如下: 0121801101266,刘雯,92,73,72,64 0121801101077,张佳喜,81,97,61,98 … 0121801101531,佘玉龙,73,89,81,93 读取附件文件中的数据,对数据进行处理,计算每个同学 4 门课程成绩

    2024年02月07日
    浏览(27)
  • 用python合并execl做统计分析

    背景: 我们有项目问题记录的表格,每一个项目都会反馈来一个execl表格,表格的格式都是统一的,我需要定期把这些项目上反馈来的表格进行统计,但是表格非常多,我要每个都统计出来在来相加,这样操作很麻烦,所以我想有没有一个方法可以把所有的execl 都合并成为一

    2024年02月16日
    浏览(29)
  • 用Python做数据分析之数据统计

    接下来说说数据统计部分,这里主要介绍数据采样,标准差,协方差和相关系数的使用方法。 1、数据采样 Excel 的数据分析功能中提供了数据抽样的功能,如下图所示。Python 通过 sample 函数完成数据采样。 2、数据抽样 Sample 是进行数据采样的函数,设置 n 的数量就可以了。函

    2024年02月07日
    浏览(37)
  • ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合

    GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的研究对象是整个地理空间,而地

    2024年02月09日
    浏览(37)
  • 大数据分析 | 用 Python 做文本词频分析

    老师教给我,要学骆驼,沉得住气的动物。看它从不着急,慢慢地走,慢慢地嚼,总会走到的,总会吃饱的。 ———《 城南旧事 》 目录 一、前言 Python 简介 Python 特点 二、基本环境配置 三、分析 Part1介绍 Part2词频分析对象——《“十四五”规划》 Part3文本预处理 Part4中文

    2024年02月02日
    浏览(39)
  • ArcGIS Pro技术应用(暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合)

    GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的研究对象是整个地理空间,而地

    2024年02月13日
    浏览(34)
  • python数据分析-概率论与数理统计基础

    大家好,今天我们用python语言去实现概率论与数理统计的一些基础计算等。常用第三方SciPy库、NumPy库来实现概率论和数理统计的计算。 SciPy是一个基于Python的开源库,是一组专门解决科学计算中各种基本问题的模块的集合,经常与NumPy、StatsModels、SymPy这些库一起使用。SciPy的

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包