TF-IDF算法与TextRank算法
基于TF-IDF算法的关键词提取
基本语法
-
jieba.analyse.extract_tags(sentense,topK=20,withWeight=False,allowPOS=())
-
sentense:待提取的文本
-
topK:返回权重较大的前多少个关键词
-
withWeight:是否一并返回权重值,默认为False
-
allowPOS:仅保留指定词性的词,默认为空
from jieba import analyse text = "Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言," \ "最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加," \ "越来越多被用于独立的、大型项目的开发。" text = analyse.extract_tags(text,topK=10) print(text,withWeight=False,allowPOS=("n")) print(" ".join(text))#返回一个新的变量有text中的每个元素组成,并由""内的内容分开 # print(" ".join(analyse.extract_tags(t ext,topK=10,withWeight=True)))
基于TextRank算法的关键词提取
jieba.analyse.textrank(sentense,topK=20,withWeight=False,allowPOS=('ns','n','vn','v'))
基本思想:
- 将待提取的关键词进行文本分词;
- 以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图;
- 计算图中节点的PageRank;(无向带权图)
from jieba import analyse
import jieba
from jieba import analyse
username = r"C:\Users\lenovo\PycharmProjects\pythonProjectketi\usernme"
jieba.load_userdict(username)#分词库的构建
text = "达到吧阿萨Python是一种跨平台的计算机程序设计语言。是一种面向对达到吧阿萨象的动态类型语言," \
"最初被设达到吧阿萨计用于编写自动达到吧阿萨化脚本(shell),随着版本的不断更达到吧阿萨新和语言新功能的添加," \
"越来越多达到吧阿萨被用于独立的、达到吧阿萨大型项目的开发。"
filename = r"C:\Users\lenovo\PycharmProjects\pythonProjectketi\filename"
jieba.analyse.set_stop_words(filename) #加载停用词库
result =analyse.textrank(text,topK=20,withWeight=True,allowPOS=('ns','n','vn','v'))
print(result)
casa