TF-IDF算法与TextRank算法

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

posted @ 2022-02-17 21:17  小杨的冥想课  阅读(155)  评论(0编辑  收藏  举报