nlp_关键词提取总结

关键词提取:从文本中提取出与这篇文章意义最相关的词语。
关键词的作用:
1、文献检索初期,关键词作为搜索这篇论文的词语。
2、在文本聚类、分类、摘要等领域中有着重要的作用。
——比如聚类时把关键词相似的几篇文章看成一个类团可以大大K-means聚类的收敛速度。
关键词提取大致有两种:
1、关键词分配——从给定的关键词库里面找到几个词作为这篇文章的关键词。
2、关键词抽取——从文章中抽取一些词语作为这篇文章的关键词。
(目前大多数领域无关的关键词抽取算法和它对应的库都是基于后者的。从逻辑上说,后者比前者在实际应用中更有意义。)
- 关键词抽取也可以分为两种:
1.仅仅把词语抽取出来,实现较简单,比如:FundanNLP、jieba、SnowNLP。
2.连词和短语一起抽取出来,这个还需要增加短语抽取这一步骤,实现如:ICTCLAS、ansj_seg等,可以把类似于“智能手机”、“全面深化改革”、“非公有制经济”这些短语抽取出来。(对于聚类或者分类来说,很明显短语比词语更有价值)

  • 关键词抽取算法分为:
    1.使用外部的知识库——
    比如《数学之美》中介绍的TF-IDF关键词提取算法就是需要保存每个词的IDF值作为外部知识库。(TF-IDF思路是可以找到文本中常见但是在别的文本中不常见的词语,这个正好符合关键词的特点。);初代KEA算法除了使用了TF-IDF外还用到了词语在文章中首次出现的位置。(KEA算法的核心思想是大多数文章(特别是新闻文本)是总分总的结构,很明显一个词语出现在文章首部和尾部成为关键词的可能性大于只出现在文章中部的词语。对各个词根据在文章首次出现的位置赋予不同的权值,结合TF-IDF以及连续数据离散化方法);也可结合一些模型比如LDA模型:sample出主题分布,寻找出跟文章主题向量空间夹角最新的一些词;LDA模型或者word2vec模型对词聚类,然后找出文本中那些类团的词占多数,关键词就从这些类团中提取等。

    2.不使用外部知识库——主要根据文本本身的特征去提取。
    比如在文本中反复出现且关键词附近出现关键词的概率非常大,因此就有了TextRank算法。(实现包括FudanNLP和SnowNLP)。类似于PageRank算法;ICTCLAS则是从另外一个思路出发,即一个词如果是关键词那么它反复出现并且左右出现不同的词语的概率非常高。即左右熵比较高


参考资料:
关键词抽取简介:(http://rec-sys.net/forum.php?mod=viewthread&tid=755&extra=page=1)
欢迎加qq群 526966584 交流,科学上网

你可能感兴趣的:(nlp)