zoukankan      html  css  js  c++  java
  • RAKE 快速、简单的关键词抽取算法

    A Python implementation of the Rapid Automatic Keyword Extraction (RAKE) algorithm as described in: Rose, S., Engel, D., Cramer, N., & Cowley, W. (2010). Automatic Keyword Extraction from Individual Documents. In M. W. Berry & J. Kogan (Eds.), Text Mining: Theory and Applications: John Wiley & Sons.

    了解该算法中的设计思维,关键词抽取的侧重点,对于后续的文本处理任务有很大帮助

    开源地址:https://github.com/zelandiya/RAKE-tutorial

    http://www.hlt.utdallas.edu/~saidul/code.html

    https://pypi.org/project/yake/

    Example use

    from nlp_rake import rake
    
    stoppath = 'data/stoplists/SmartStoplist.txt'
    
    rake_object = rake.Rake(stoppath, 5, 3, 4)
    
    sample_file = open("data/docs/fao_test/w2167e.txt", 'r', encoding="iso-8859-1")
    text = sample_file.read()
    
    keywords = rake_object.run(text)
    
    # 3. print results
    print("Keywords:", keywords)

    其它常见的关键词提取算法

    • 基于TF-IDF算法的关键词抽取 

    import jieba.analyse

    jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()) 
    sentence 为待提取的文本 
    topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20 
    withWeight 为是否一并返回关键词权重值,默认值为 False 
    allowPOS 仅包括指定词性的词,默认值为空,即不筛选

    jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 实例,idf_path 为 IDF 频率文件
    关键词提取所使用逆向文件频率(IDF)文本语料库可以切换成自定义语料库的路径

    用法:jieba.analyse.set_idf_path(file_name) # file_name为自定义语料库的路径
    关键词提取所使用停止词(Stop Words)文本语料库可以切换成自定义语料库的路径

    用法: jieba.analyse.set_stop_words(file_name) # file_name为自定义语料库的路径

    • 基于TextRank算法的关键词提取

    jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns’, ‘n’, ‘vn’, ‘v’)) 直接使用,接口相同,注意默认过滤词性。
    jieba.analyse.TextRank() 新建自定义 TextRank 实例 
    基本思想
    将待抽取关键词的文本进行分词 
    以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图 
    计算图中节点的PageRank,注意是无向带权图

  • 相关阅读:
    姐姐的vue(1)
    LeetCode 64. Minimum Path Sum 20170515
    LeetCode 56. 56. Merge Intervals 20170508
    LeetCode 26. Remove Duplicates from Sorted Array
    LeetCode 24. Swap Nodes in Pairs 20170424
    LeetCode 19. Remove Nth Node From End of List 20170417
    LeetCode No.9 Palindrome Number 20170410
    LeetCode No.8. String to Integer (atoi) 2017/4/10(补上一周)
    LeetCode No.7 Reverse Integer 2017/3/27
    LeetCode No.4 Median of Two Sorted Arrays 20170319
  • 原文地址:https://www.cnblogs.com/demo-deng/p/13227253.html
Copyright © 2011-2022 走看看