关键词是文本里面跟这篇文档意义最相关的一些词,是最能够反映出文本主题或者意思的词语。关键词在文本聚类、分类、自动摘要等领域中有着重要的作用。比如在聚类时将关键词相似的几篇文档看成一个团簇,可以大大提高聚类算法的收敛速度;从某天所有的新闻中提取出这些新闻的关键词,就可以大致了解那天发生了什么事情;或者将某段时间内几个人的微博拼成一篇长文本,然后抽取关键词就可以知道主要在讨论什么话题。
关键词抽取方法大致有两种:
第一种是关键词分配,就是有一个给定的关键词库,然后新来一篇文档,从词库里面找出几个词语作为这篇文档的关键词;
第二种是关键词抽取,就是新来一篇文档,从文档中抽取一些词语作为这篇文档的关键词;
目前大多数领域无关的关键词抽取算法(领域无关算法的意思就是无论什么主题或者领域的文本都可以抽取关键词的算法)和它对应的库都是基于后者的。从逻辑上说,后者比前者在实际使用中更有意义。
从算法的角度来看,关键词抽取算法主要有两类:
有监督学习算法,将关键词抽取过程视为二分类问题,先抽取出候选词,然后对于每个候选词划定标签,要么是关键词,要么不是关键词,然后训练关键词抽取分类器。当新来一篇文档时,抽取出所有的候选词,然后利用训练好的关键词抽取分类器,对各个候选词进行分类,最终将标签为关键词的候选词作为关键词;
无监督学习算法,先抽取出候选词,然后对各个候选词进行打分,然后输出topK个分值最高的候选词作为关键词。根据打分的策略不同,有不同的算法,例如TF-IDF,TextRank等算法;
jieba分词系统中实现了两种关键词抽取算法,分别是基于TF-IDF关键词抽取算法和基于TextRank关键词抽取算法,两类算法均是无监督学习的算法。
在信息检索理论中,TF-IDF是Term Frequency - Inverse document Frequency的简写。TF-IDF是一种数值统计,用于反映一个词对于语料中某篇文档的重要性。在信息检索和文本挖掘领域,它经常用于因子加权。
TF-IDF的主要思想就是:如果某个词在一篇文档中出现的频率高,也即TF高;并且在语料库中其他文档中很少出现,即DF低,也即IDF高,则认为这个词具有很好的类别区分能力。
TF-IDF在实际中主要是将二者相乘,也即TF * IDF,TF为词频(Term Frequency),表示词t在文档d中出现的频率;IDF为反文档频率(Inverse document Frequency),表示语料库中包含词t的文档的数目的倒数。
TF=count(t)/count(di),公式中count(t)表示文档di中包含词t的个数;
count(di)表示文档di的词的总数;
IDF=num(corpus)/num(t)+1,公式中num(corpus)表示语料库corpus中文档的总数;num(t)表示语料库corpus中包含t的文档的数目;
应用到关键词抽取:
- 预处理,首先进行分词和词性标注,将满足指定词性的词作为候选词;
- 分别计算每个词的TF-IDF值;
- 根据每个词的TF-IDF值降序排列,并输出指定个数的词汇作为可能的关键词;
类似于PageRank的思想,将文本中的语法单元视作图中的节点,如果两个语法单元存在一定语法关系(例如共现),则这两个语法单元在图中就会有一条边相互连接,通过一定的迭代次数,最终不同的结点会有不同的权重,权重高的语法单元可以作为关键词。
结点的权重不仅依赖于它的入度结点,还依赖于这些入度结点的权重,入度结点越多,入度结点的权重越大,说明这个结点的权重越高;
TextRank迭代计算公式为:
结点i的权重取决于结点i的邻居结点中i-j这条边的权重 / j的所有出度的边的权重 * 结点j的权重(S(vj)),将这些邻居结点计算的权重相加,再乘上一定的阻尼系数,就是结点i的权重;阻尼系数 d 一般取0.85;
以上就是本篇文章【NLP入门-Task3 特征选择】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/9209.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多