添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1.通过jieba库分词获取所有的词语列表;
2.计算列表里出现词语及其对应的频次,存储为字典;
3.删除字典中键为无关且频次高的词语的键值对;
4.对字典里的词语按照频次进行排序;
5.输出频次前五的词语及其频次;

如果没有安装 jieba 库,需要使用 cmd 进入命令提示符窗口,通过 pip install jieba 进行安装。

源代码如下

import jieba
file = open("sample.txt", "r", encoding='utf-8') #此处需打开txt格式且编码为UTF-8的文本
txt = file.read()
words = jieba.lcut(txt)      # 使用jieba进行分词,将文本分成词语列表
count = {}
for word in words:            #  使用 for 循环遍历每个词语并统计个数
    if len(word) < 2:          # 排除单个字的干扰,使得输出结果为词语
        continue
    else:
        count[word] = count.get(word, 0) + 1    #如果字典里键为 word 的值存在,则返回键的值并加一,如果不存在键word,则返回0再加上1
exclude = ["可以", "一起", "这样"]  # 建立无关词语列表
for key in list(count.keys()):     # 遍历字典的所有键,即所有word
    if key in exclude:
        del count[key]                  #  删除字典中键为无关词语的键值对
list = list(count.items())         # 将字典的所有键值对转化为列表
list.sort(key=lambda x: x[1], reverse=True)     # 对列表按照词频从大到小的顺序排序
for i in range(5):  #   此处统计排名前五的单词,所以range(5)
    word, number = list[i]
    print("关键字:{:-<10}频次:{:+>8}".format(word, number))
                    思路:1.通过jieba库分词获取所有的词语列表;2.计算列表里出现词语及其对应的频次,存储为字典;3.删除字典中键为无关且频次高的词语的键值对;4.对字典里的词语按照频次进行排序;5.输出频次前五的词语及其频次;如果没有安装 jieba 库,需要使用 cmd 进入命令提示符窗口,通过 pip install jieba 进行安装。源代码如下import jiebafile...
with open("D:/hdfs/novels/天龙八部.txt", encoding="gb18030") as f:
    text = f.read()
with open('D:/hdfs/novels/names.txt', encoding="utf-8") as f:
    for line in f:
				
一篇文章如何可以快速锁定核心内容,可以初步用文章中出现频次最高的词语作为文章的核心。那有什么办法快速展示呢? 下面就以一篇AI人工智能的文章作为测试文件,测试结果如图: 1、想要实现该效果,首先需要先安装好python,然后还需要在自己的电脑安装以下几个插件: pip install re # 正则表达式库 pip install collections # 词频统计库 pip install numpy # numpy数据处理库 pip install jieba # 结巴分词 pip instal
可以使用Python中的collections模块中的Counter类来统计多个文本的词频。具体步骤如下: 1. 首先,将多个文本读入内存,可以使用Python中的open函数打开文件,使用read方法读取文件内容,然后将文本内容存储到一个列表中。 2. 接下来,将列表中的文本内容合并成一个长文本字符串。 3. 然后,使用Python中的re模块中的sub函数去除文本中的非字母字符和数字,只留下英文单词。 4. 将文本字符串按照空格分割成单词列表。 5. 使用Counter类统计单词出现的频率。 代码示例: ```python import collections import re # 读取多个文本文件 file_names = ['file1.txt', 'file2.txt', 'file3.txt'] texts = [] for file_name in file_names: with open(file_name, 'r') as f: text = f.read() texts.append(text) # 合并文本 all_text = ' '.join(texts) # 去除非字母字符和数字 all_text = re.sub('[^a-zA-Z]', ' ', all_text) # 将文本按照空格分割成单词列表 words = all_text.split() # 统计单词出现频率 word_count = collections.Counter(words) # 输出前10个出现频率最高的单词 for word, count in word_count.most_common(10): print(word, count)