需求分析
使用' jieba.analyse.extract_tags() '提取文档的关键词
开发环境
系统: macOS Sierra; 开发软件: PyChram CE; 运行环境: Python3.6
-
首先导入需要用到的包
import os
import codecs
import jieba
from jieba import analyse
import pandas
-
使用 jieba.analyse.extract_tags(content, topK=5)提取前五个关键词
这个模块除了多了 jieba.analyse.extract_tags(content, topK=5
这个提取关键词的函数外,其余内容同上一篇 词频统计 - 词云绘制中的‘创建语料库’模块相同
filePaths = []
fileContents = []
tag1s = []
tag2s = []
tag3s = []
tag4s = []
tag5s = []
for root, dirs, files in os.walk(
'data/SogouC.mini/Sample'
):
for name in files:
filePath = os.path.join(root, name)
f = codecs.open(filePath, 'r', 'utf-8')
content = f.read().strip() # 获取内容
f.close()
tags = jieba.analyse.extract_tags(content, topK=5)# 采用jieba.analyse.extrack_tags(content, topK)提取关键词
filePaths.append(filePath)
fileContents.append(content)
tag1s.append(tags[0]) # 第一个关键词
tag2s.append(tags[1]) # 第二个关键词
tag3s.append(tags[2]) # 第三个关键词
tag4s.append(tags[3]) # 第四个关键词
tag5s.append(tags[4]) # 第五个关键词
-
定义一个DataFrame用于存储 - 文件路径,文件内容和每个文件对应的前五个关键词
# 定义一个DataFrame存储 - 文件路径,文件内容和每个文件对应的前五个关键词
tagDF = pandas.DataFrame({
'filePath': filePaths,
'fileContent': fileContents,
'tag1': tag1s,
'tag2': tag2s,
'tag3': tag3s,
'tag4': tag4s,
'tag5': tag5s,
})
print(tagDF.head())
运行结果如下:(只显示前五行)