关键词(短语)提取(Keyphrase Extraction)神器

lequ1年前 ⋅ 2875 阅读

精准提取句子,文本的关键词或者关键短语,是很多人都会遇到的重要需求,目前有很多的算法都能做到提取,但是能持续更新维护迭代的工具少之又少,一些云厂商也提供了类似的收费功能,本人经过体验后发现也不咋样,还不如那些少数开源且长期维护的工具好用,这个工具是其中优秀者之一。

https://hanlp.hankcs.com/demos/keyphrase.html

同样的代码,为什么我跑出来的是这样的:

[自然语言处理, HanLP, 入门, 理论, 书, 掌握, 发挥, 出, 学科, 助]


@loghub  你的结果明显提取的是关键词,官方那个是短语把

最好贴下代码

@def  我代码直接从这里找的  https://github.com/hankcs/pyhanlp ,不过确实好像没有extractionKeyphrase这个方法啊

from pyhanlp import *

document = "自然语言处理是一门博大精深的学科,掌握理论才能发挥出HanLP的全部性能。《自然语言处理入门》是一本配套HanLP的NLP入门书,助你零起点上手自然语言处理。"
print(HanLP.extractKeyword(document, 10))


https://github.com/hankcs/pyhanlp/search?q=Keyphrase

@loghub  hanlp的python库没有提供extractionKeyphrase或keyphrase相关的方法

jcseg 关键词提取也不错

可以试试这个库

http://www.jionlp.com/jionlp_online/extract_keyphrase

有哪些使用场景?

1. 信息检索和分类:关键词提取可以用于检索和分类大量文本信息,帮助用户快速找到所需的信息。

2. 自动摘要: 关键词提取可以提供文本摘要中的关键句子和短语,方便用户了解文章主旨和重点。

3. 自然语言处理:关键词提取是自然语言处理中重要的步骤,帮助机器理解文本的含义和上下文。

4. 网络舆情分析:通过对大量网络评论和新闻文章进行关键词提取,可以分析社会舆情,进行市场调研。

5. 推荐系统:关键词提取可以为推荐系统提供用户的兴趣标签,帮助系统更准确地推荐产品或内容。

6. 句子自动摘录: 通过对文章进行分析,关键词提取可以提取出文章中的重要句子,便于进行整合和分类。

7. 语言翻译: 关键词提取可以为翻译系统提供重要信息,使得翻译更加准确和精确。

有哪些类似的项目?

1. TextRank算法:这个算法使用PageRank算法来提取生成文档的关键短语。它分析文档的分布式表示,并使用图论来建立词语之间的关系。

2. TF-IDF算法:TF-IDF是“词频-逆文档频率”算法的缩写,它通过将文档中每个词的个数除以文档中所有词的总数,来计算一个词的重要性。它也考虑了一个词在整个文档中的出现次数以及在其他文档中的出现次数。

3. 英文:NLTK和Gensim是两个流行的自然语言处理库,它们具有丰富的文本处理和分析工具,包括关键短语提取。

4. 中文:THULAC和jieba分词是两个中国流行的分词工具,它们可以将中文文本分解成有意义的词语。HanLP是一种中文自然语言处理工具包,可以用于中文文本的关键短语提取。

5. KEA算法:这个算法基于TF-IDF,通过自然语言处理和信息检索技术来提取文本的关键短语。它是一个开源项目,可以用于自动摘要和文本分类等应用中。

有哪些优缺点?

优点:
1.提高了关键词的准确性和覆盖面;
2.可以减少人工提取关键词的工作量,提高效率;
3.可以快速地提取出大量文本中的关键信息,帮助用户快速了解文章的主旨和内容;
4.可以在搜索引擎优化(SEO)中起到很好的作用,因为搜索引擎基于关键词索引和检索网页。

缺点:
1.存在误差,可能会提取出一些不相关或不准确的关键词;
2.无法根据文本的情感和语境来提取关键词,可能会忽略某些重要的信息;
3.无法处理过于短小的文章,因为缺少足够的上下文信息;
4.依赖于语料库的质量和数量,语料库不足或低质量可能会影响提取效果。

全部评论: 0

    相关推荐