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 14:27:05 浏览: 132
这段代码在之前的基础上添加了对分词结果的词性标注,并输出了每个词语的词性。
首先,导入了`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库,并且已经下载并配置好相应的模型文件。
阅读全文