[日常]Beyond的歌里最多是"唏嘘"吗? - Python分词+词频

简介: 用结巴分词分析Beyond歌词, 得出词频统计.

看了一个Beyond的纪录片, 提到这个. 觉得心有不甘, 于是搜集了24首歌词, 用Python做了简单分词和词频统计.

源码(包括歌词)在: program-in-chinese/study

统计了总出现次数(词频列表)和词出现在歌曲的数目(词所在文件数列表). 前者算进了所有重复歌词, 后者是算某个词出现在了几首歌中.

源码:

import jieba
import os

所有词 = []
词频表 = {}
词所在文件 = {}
词所在文件数 = {}
路径 = "数据"
for 文件名 in os.listdir(路径):
    print(文件名)
    with open(os.path.join(路径, 文件名)) as 文件:
        内容 = 文件.read()
        分词结果 = jieba.cut(内容)
        for 词 in 分词结果:
            if 词 != " " and len(词) != 1:
                所有词.append(词)
                if 词 in 词频表:
                    词频表[词] += 1
                    词所在文件[词].add(文件名)
                else:
                    词频表[词] = 1
                    词所在文件[词] = set([文件名])

for 词 in 词所在文件:
    词所在文件数[词] = len(词所在文件[词])

# 词频列表 = sorted(词频表.items(), key=lambda d: d[1], reverse=True)
词所在文件数列表 = sorted(词所在文件数.items(), key=lambda d: d[1], reverse=True)
print(词所在文件数列表)

前者的最高频几个中文词(完整的在"所有词频输出.txt"):

('多少', 22), ('一生', 21), ('多么', 20), ('理想', 19), ('没有', 19), ('一天', 19), ('Woo', 18), ('今天', 18), ('心中', 16), ('一起', 16), ('OH', 16), ('唏嘘', 15), ('彼此', 14)

后者的前几位(完整的在"所在文件数.txt"):

('多少', 9), ('心中', 8), ('没有', 8), ('一切', 8), ('理想', 7), ('Woo', 7), ('一生', 7), ('今天', 7), ('唏嘘', 6), ('拥有', 6), ('可否', 5), ('多么', 5), ('风雨', 5), ('感觉', 5), ('天空', 5), ('心里', 5), ('岁月', 5)

至少这几首经典里, "理想"比"唏嘘"更多.


觉得如果有个IDE插件能把一些常用的Python操作集合起来, 如果组织得好, 会挺有用. 因为写这个例子里, 包括取目录下的文件, 读取文本文件, 字典排序等等, 自己的第一反应还是到处找现成代码黏贴.

2019-01-28

相关文章
|
8月前
|
数据采集 自然语言处理 搜索推荐
python【包含数据预处理】基于词频生成词云图
背景目的 有一篇中文文章,或者一本小说。想要根据词频来生成词云图。
|
5月前
|
自然语言处理 Python
CRF分词 Python 实现
CRF分词 Python 实现
61 1
|
4月前
|
自然语言处理 Python
CRF分词 Python 实现
CRF分词 Python 实现
51 0
|
7月前
|
数据采集 自然语言处理 大数据
​「Python大数据」词频数据渲染词云图导出HTML
使用Python,本文展示数据聚类和办公自动化,焦点在于通过jieba分词处理VOC数据,构建词云图并以HTML保存。`wordCloud.py`脚本中,借助pyecharts生成词云,如图所示,关键词如"Python"、"词云"等。示例代码创建了词云图实例,添加词频数据,并输出到"wordCloud.html"。
139 1
​「Python大数据」词频数据渲染词云图导出HTML
|
6月前
|
自然语言处理 数据可视化 搜索推荐
基于python直播平台数据的文本分析,包括LDA主题分析、分词以及网络语义分析,生成网络图
本文探讨了基于Python的直播平台数据文本分析方法,包括LDA主题分析、分词和网络语义分析,旨在揭示用户观点和需求,优化用户体验,并辅助运营方制定改进策略,同时通过生成词云图和网络图提供数据驱动的决策支持。
112 0
基于python直播平台数据的文本分析,包括LDA主题分析、分词以及网络语义分析,生成网络图
|
8月前
|
数据采集 自然语言处理 搜索推荐
python 【包含数据预处理】基于词频生成词云图
这段文本是关于如何使用Python基于词频生成词云图的教程。内容包括:1) 中文分词的必要性,因中文无明显单词边界及语言单位特性;2) 文本预处理步骤,如移除特殊符号、网址、日期等;3) 使用`data_process`函数清除无用字符;4) `getText`函数读取并处理文本为句子数组;5) 使用jieba分词库进行分词和词频统计;6) 示例代码展示了从分词到生成词云的完整流程,最后展示生成的词云图。整个过程旨在从中文文本中提取关键词并可视化。
388 5
python 【包含数据预处理】基于词频生成词云图
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
用Python分析文本数据的词频并词云图可视化
用Python分析文本数据的词频并词云图可视化
227 0
|
9月前
|
存储 自然语言处理 Python
Python中文词汇与英文词频统计
本文介绍了如何使用Python进行英文和中文词频统计。对于英文,借助内置库按空格分隔单词并处理特殊字符;对于中文,需安装jieba分词库。代码实现中,通过读取文件、分词、统计词频并输出到文件。运行时,通过命令行提供文本和结果文件路径。此技能在学术研究、语言分析和文本挖掘领域颇有价值。
Python中文词汇与英文词频统计
|
9月前
|
机器学习/深度学习 自然语言处理 Python
python分词列表转化成词向量
python分词列表转化成词向量
81 1
|
9月前
|
自然语言处理 Python
python实现分词器
python实现分词器
104 0

热门文章

最新文章