import jieba.posseg as pseg import jieba import paddle path = r'D:/明朝collection.txt' with open(path, 'r', encoding='utf-8') as f: text = f.read() jieba.enable_paddle() words = pseg.cut(text, use_paddle=True) counts = {} for word, flag in words: if len(word) == 1: continue else: counts[word] = counts.get(word, 0) + 1 items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) for i in range(500): word, flag,count = items[i] print("{0:<5}{1:>5}".format(word, count)) print(flag)
时间: 2024-04-09 17:27:05 浏览: 14
这段代码在之前的基础上添加了对分词结果的词性标注,并输出了每个词语的词性。
首先,导入了`paddle`模块以支持PaddlePaddle。
接下来,打开名为"明朝collection.txt"的文本文件,并将其内容读取到变量text中。
然后,通过调用`jieba.enable_paddle()`启用了PaddlePaddle深度学习框架来提高分词效果。
然后,使用`pseg.cut()`函数对文本进行分词,并传入参数`use_paddle=True`以使用PaddlePaddle进行分词。分词结果保存在变量words中。
接下来,定义了一个字典counts来记录每个词语出现的次数。遍历分词结果words,对于长度为1的词语跳过,对于长度大于1的词语,在counts中累加其出现次数。
然后,将counts转换为列表items,并根据词频进行降序排序。
最后,通过循环打印出现频率最高的500个词语及其出现次数和词性。
请注意,运行此代码需要确保已经安装jieba库和paddle库,并且已经下载并配置好相应的模型文件。
相关问题
修改 import jieba import jieba.posseg as pseg path = r'D:/明朝collection.txt' with open(path, 'r', encoding='utf-8') as f: text = f.read() jieba.enable_paddle() words = pseg.cut(text, use_paddle=True) counts = {} for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word, 0) + 1 items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) for i in range(500): word, count = items[i] print("{0:<5}{1:>5}".format(word, count))
import jieba.posseg as pseg
path = r'D:/明朝collection.txt'
with open(path, 'r', encoding='utf-8') as f:
text = f.read()
jieba.enable_paddle()
words = pseg.cut(text, use_paddle=True)
counts = {}
for word, flag in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(500):
word, count = items[i]
print("{0:<5}{1:>5}".format(word, count))
解释一下这段代码import jieba import jieba.posseg as pseg from utils.dbutils import * from question_answer.获取天气情况 import * import re from utils.user_base import * jieba.enable_paddle() def get_loc_list(text): per_list = [] # 人名列表 word_list = jieba.lcut(t
这段代码的作用是导入必要的模块和函数,并定义了一个名为 `get_loc_list()` 的函数。具体来说,它导入了 `jieba` 库以及 `jieba.posseg` 模块,并将其重命名为 `pseg`。此外,它还导入了自定义的 `dbutils` 模块、`获取天气情况` 模块、`re` 模块和 `user_base` 模块。接下来,它启用了 `jieba` 库的 Paddle 模式。最后,它定义了一个名为 `get_loc_list()` 的函数,该函数接受一个文本参数,并使用 `jieba` 库对文本进行分词和词性标注,找出其中的人名并返回一个人名列表。