1 Star 0 Fork 1

Pasca/keyword_extraction

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
keyextract_textrank.py 1.60 KB
一键复制 编辑 原始数据 按行查看 历史
AimeeLee77 提交于 2018-01-11 09:56 +08:00 . 提交文件
#!/usr/bin/python
# coding=utf-8
# 采用TextRank方法提取文本关键词
import sys
import pandas as pd
import jieba.analyse
"""
TextRank权重:
1、将待抽取关键词的文本进行分词、去停用词、筛选词性
2、以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图
3、计算图中节点的PageRank,注意是无向带权图
"""
# 处理标题和摘要,提取关键词
def getKeywords_textrank(data,topK):
idList,titleList,abstractList = data['id'],data['title'],data['abstract']
ids, titles, keys = [], [], []
for index in range(len(idList)):
text = '%s。%s' % (titleList[index], abstractList[index]) # 拼接标题和摘要
jieba.analyse.set_stop_words("data/stopWord.txt") # 加载自定义停用词表
print "\"",titleList[index],"\"" , " 10 Keywords - TextRank :"
keywords = jieba.analyse.textrank(text, topK=topK, allowPOS=('n','nz','v','vd','vn','l','a','d')) # TextRank关键词提取,词性筛选
word_split = " ".join(keywords)
print word_split
keys.append(word_split.encode("utf-8"))
ids.append(idList[index])
titles.append(titleList[index])
result = pd.DataFrame({"id": ids, "title": titles, "key": keys}, columns=['id', 'title', 'key'])
return result
def main():
dataFile = 'data/sample_data.csv'
data = pd.read_csv(dataFile)
result = getKeywords_textrank(data,10)
result.to_csv("result/keys_TextRank.csv",index=False)
if __name__ == '__main__':
main()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Samuelcoding/keyword_extraction.git
git@gitee.com:Samuelcoding/keyword_extraction.git
Samuelcoding
keyword_extraction
keyword_extraction
master

搜索帮助