一. 摘要
本次的分享中,咱们将理解目前较罕用的关键词提取技术。关键词是代表文章重要内容的一组词。在文本的分类聚类、主动摘要等方面有着重要的作用。还能够让人们更直观便捷的浏览文本信息。在事实的罕用文本中是不蕴含关键词的,所以主动提取关键词技术有着很重要的意义。
二. 关键字提取技术概述
在巨量的信息背后,很多信息是咱们无奈全面接管,因而咱们须要从中筛选出一些咱们感兴趣的或者有代表性的信息进行接管。那么这一个过程就是关键词提取技术。如果咱们能够精确的将所有的文档都用几个简略的关键词形容,那么咱们便能够通过关键词理解一篇文章的内容,这将会进步信息获取到效率。
关键词提取算法个别能够分为有监督和无监督两类。有监督的关键词提取办法次要是通过分类的形式进行,首先通过创立一个比拟丰盛欠缺的词表,而后通过计算类似度判断每个文档与词表中每个词的匹配水平,相似打标签的形式,以此达到关键词提取的成果。有监督的办法尽管能够获取到较高的提取精度,然而须要大批量的标注数据,人工成本十分高。另外,古代信息量爆炸式增长,会新增出大量的新信息,一个固定的词表代表范畴无限,很难将这类信息内容表述进去,但要人工保护这个受控的词表须要很大的人力老本,这就成为了有监督办法在应用上的一个很大短板。
比照有监督的关键词提取办法,无监督的办法对数据的要求就低了很多。不须要人工创立、保护词表,也不须要人工标准语料辅助进行训练。因而,这类的关键词提取技术利用更广泛。本次分享咱们的次要介绍的关键词提取技术是 TF-IDF 算法和 TextRank 算法。
三. TF-IDF 算法
TF-IDF 算法(Term Frequency-Inverse Document Frequency,词频 - 逆文档频次算法)是一种基于统计的计算方法,罕用于评估在一个文档集中一个词对某份文档的重要水平。这种思维是合乎关键词抽取的需要,一个词语对文档越重要,那么是关键词的概率就越大,所以通常将 TF-IDF 算法利用在关键词提取中。
首先从算法的名称剖析,TF-IDF 算法是由两局部组成:TF 算法和 IDF 算法。TF 算法是统计一个词在一篇文档中呈现的频次,根本思维了解为:一个词在一篇文档中呈现的次数越多,那么这个词对文档的表达能力就越强。而 IDF 算法是统计一个词在文档集中的多少个文档中呈现,根本思维了解为:如果一个词在越多数的文档中呈现,则对文档的辨别能力就越强。
TF 算法和 IDF 算法也能够独自应用,然而两种算法独自应用过程中都有其有余的中央。TF 算法仅仅可能掂量词在一篇文档的呈现频次,没有思考到词对文档的辨别能力。而 IDF 算法则是相同,强调的是词的辨别能力,然而一个词既然可能在一篇文档中频繁呈现,也示意这个词能够很好的表征这篇文档的特色,如果漠视这点显然也是很不合理的。于是,通过理论思考将这两种算法综合应用,组合成 TF-IDF 算法,从词频、逆文档频次两个方面对词的代表能力进行掂量。
image.png
图 1:TF 表达式
在理论的应用中,TF 的计算表达式如图所示。其中 nij 示意词 i 在文档 j 中的呈现次数。然而仅用频次来示意,长文本中的词呈现频次高的概率会更大,这一点会影响到不同文档之间关键词权值的比拟。所以在计算过程中个别会对词频进行归一化。分母的局部就是统计文档中每一个词呈现次数的总和,也就是文档中词的总数量。
image.png
图 2:IDF 表达式
IDF 算法的计算表达式如图所示。|D| 示意文档集中总文档数,|Di| 示意文档集中呈现词 i 的文档数量。分母中+1 是采纳了拉普拉斯平滑思维,防止有局部新词没有在语料库中呈现过而导致分母为零的状况呈现,有加强算法健壮性的作用。
image.png
图 3:TF-IDF 表达式
TF-IDF 算法表达式如上图中所示,TF-IDF 算法就是 TF 算法与 IDF 算法的综合应用,对于这两种算法的组合,通过大量的实践推导和试验钻研后,发现以取 IDF 算法值的对数,而后相乘是较为无效的计算形式。
除了上述提到的传统 TF-IDF 算法之外,TF-IDF 算法还有很多变种的加权办法。传统的 TF-IDF 算法中,仅仅思考到了词的两个统计信息。因而,其对文本的信息利用水平显然是比拟少的。所以除了上述的信息外,一个文本中还有很多的信息可能对关键词的提取起到很好的辅助作用,例如每个词的词性、呈现的地位等等。算法自身的定义是死的,然而联合咱们的利用场景,对算法进行正当的革新和补充,使之可能更适应应用环境,这样能够更好的失去想要的后果。
四. TextRank 算法
在上述的 TF-IDF 算法中,都须要基于一个现成的语料库,主题模型的关键词提取算法则是须要通过对大规模文档学习,发现文档的隐含主题。而 TextRank 算法则是能够脱离语料库的根底,仅对单篇文档进行剖析就能够提取该文档的关键词。这也是 TextRank 算法的重要特点。TextRank 算法的根本思维源于 Google 的 PageRank 算法。因而这里须要先理解下 PageRank 算法。
image.png
图 4:PageRank 算法示意图
PageRank 算法是一种网页排名算法,其根本思维有两个:(1)链接数量。一个网页被越多的其余网页链接,示意这个网页越重要;(2)链接品质。一个网页被一个越高权值的网页链接,也示意这个网页越重要。
image.png
图 5:PageRank 算法表达式
In(Vi)为 Vi 的入链汇合,Out(Vj)为 Vj 的出链汇合,|Out(Vj)| 则是出链的数量。因为每一个网页要将它本身的分数均匀地奉献给每个链接,那么 S(Vj)/|Out(Vj)| 即为 Vj 奉献给 Vi 的分数。将 Vi 的所以入链奉献给它的分数相加,就是 Vi 本身的数值。以这种形式来计算每个网页的分数就会有一个问题,每个网页的得分都与其链接的网页的分数无关,那么其链接网页的数值该如何确定?为解决这个问题,算法开始时会将所以网页的得分初始化为 1,而后通过屡次迭代来对每个网页的分数进行收敛。收敛失去的数值为最终得分。
image.png
图 6:PageRank 算法革新表达式
在图 5 表达式中计算会导致一些孤立网页得分为零。为防止这种状况呈现,对图 5 中公式进行革新,退出了阻尼系数 d,革新后表达式如图 6 中所示,这样即便是孤立的网页,也可得出数值。
上述便是 PageRank 算法的实践,也是 TextRank 算法的实践根底。不同的是 PageRank 是又向无权图,而 TextRank 进行主动摘要则属于有权图,因为在计分时除了思考链接句子的重要性外,还要思考两个句子的相似性。因而 TextRank 的残缺表达式为
image.png
图 7:TextRank 算法革新表达式
在计算每个句子给他链接句的奉献时,就不采纳平均分配的形式,而是通过计算权重占总权重的比例进行调配,这里的权重就是两个句子的类似度值。类似度计算的办法能够采纳间隔类似度、余弦类似度等。在对一篇文档进行主动摘要的时候,默认每个语句和其余语句都有链接关系,也就是又向齐全图了。
当 TextRank 利用到关键字抽取的时候,与利用在主动摘要中有两个不同的中央:(1)词与词之间的关联没有权重;(2)每个词不是与其余所以词都有链接。
因为第一点的不同,那么 TextRank 重点分数计算将会进化,将得分均匀奉献给每个链接的词。
image.png
图 8:TextRank 算法革新词表达式
对于第二点的不同,既然每个词与其余所有词并不是都相连,那么他们两头的链接关系该如何设定呢。这里的 TextRank 利用在关键字提取中时,退出了一个窗口的概念,在窗口中的词都是相互链接的。上面咱们用示例展现一下窗口的概念利用。
原文档:詹姆斯夺得了职业生涯第 4 座总冠军。
分词后:[詹姆斯,夺得,了,职业,生涯,第,4,座,总冠军]。将窗口大小设置为 4,能够失去以下几个窗口:
- [詹姆斯, 夺得, 了, 职业]
- [夺得,了,职业,生涯]
- [了,职业,生涯,第]
- [职业,生涯,第,4]
- [生涯,第,4,座]
- [第,4,座,总冠军]
每个窗口内的所有词都有链接关系,比方 [詹姆斯] 和[夺得, 了, 职业]之间有链接关系。此时便能够套用 TextRank 的公式,对每个词进行得分的计算。最初便能够抉择出得分最高的 n 个词作为文档的关键词。
五. 总结
本次分享的内容是自然语言解决中关键词提取技术的用途和成果介绍,主体内容次要解释了基于文档库的 TF-IDF(词频 - 逆文档频次算法)的根底原理,以及可脱离文档库存在的 TextRank 算法思的想和表达式。关键词提取技术的办法多样且不共性,所以下篇的分享内容是 LSA/LSI 关键词提取算法的介绍,敬请期待!