• 提取文章中关键词综述


    关于文本的关键词提取方法分为有监督、半监督和无监督三种:

    • 有监督的关键词抽取算法是将关键词抽取算法看作是二分类问题,判断文档中的词或者短语是或者不是关键词。既然是分类问题,就需要提供已经标注好的训练语料,利用训练语料训练关键词提取模型,根据模型对需要抽取关键词的文档进行关键词抽取。
    • 半监督的关键词提取算法只需要少量的训练数据,利用这些训练数据构建关键词抽取模型,然后使用模型对新的文本进行关键词提取,对于这些关键词进行人工过滤,将过滤得到的关键词加入训练集,重新训练模型。
    • 无监督的方法不需要人工标注的语料,利用某些方法发现文本中比较重要的词作为关键词,进行关键词抽取

    参考链接:文本关键词提取算法解析 - 知乎 (zhihu.com)

    基于统计特征的关键词抽取,比如td-idf

    基于词图模型的关键词抽取,比如textrank

    基于主题模型的关键词抽取,比如zero-shot-clasification

    常见的算法效果如下,GPT的效果更差,没有列出来

     

    rake算法流程

    a. 预处理

    首先,删除停用词。

    b. 生成候选词

    在停顿词位置和标点处对文档进行分割,得到内容词。不包含停用词的连续共现词被视作候选关键词。

     

    c. 候选词打分

    接下来,计算所有内容词的频率。这样就能得到频繁出现的词。

    rake算法的缺点如下:

    • 如果RAKE中使用的停用词列表并不详尽,它会将连续的长文本视为一个短语,并输出非常长的关键字.
    • 包含停用词的多词短语可能会被误判。例如,若有一个叫 "Good Day "的品牌,且停用词列表中存在"good"一词,这个"Good Day"就会被遗漏.

    yake提取关键词代码如下:

    1. import yake
    2. text = """no a good product very crooked this is not a good product not sturdy or striaght when assembled instruction where not easy to follow had neighbor help me he agreed this is not good product"""
    3. kw_extractor = yake.KeywordExtractor()
    4. keywords = kw_extractor.extract_keywords(text)
    5. for kw in keywords:
    6. print(kw)

  • 相关阅读:
    使用SPIDE操作SPI_DAC模块
    IaC:实现持续交付和 DevOps 自动化的关键
    计算机毕业设计之java+ssm理发店会员管理系统
    Linux操作系统基础指令II
    SPASS-时间序列预测
    Elasticsearch 认证模拟题 - 22
    adb命名大全
    UNI-APP_开发支付宝小程序注意事项与解决方法,支付宝小程序图片显示问题
    假期get新技能?低代码模型应用工具HuggingFists
    RabbitMQ面试题(四十四道)
  • 原文地址:https://blog.csdn.net/weixin_48262500/article/details/126429854