NLP基础技术

NLP基础技术-------关键词提取

应用:文本聚类、分类、自动摘要等

有监督:构建一个较为丰富和完善的词表,然后通过判断每个文档与词表中每个词的匹配程度,以类似打标签的方式来提取关键词

优点:较高的精度

缺点:大批量的标注数据,人工成本高(每天有大量新信息,固定词表难以表达)

无监督:不需要词表,目前应用较广

常用算法:TF-IDF、TextRank、主题模型(LSA、LSI、LDA等)

TF-IDF

基于统计的计算方法,常用于评估在一个文档集中一个词对某份文档的重要程度。

TF :统计一个词在文档中出现的频词

计算公式:
\[ tf_{ij}=\frac{n_{ij}}{\sum_{k}{n_{kj}}} \]
分子表示词 i 在文档 j 中出现频次,分母表示文档总词数(由于每个文档长度不一,计算完要对词频进行归一化)

IDF :统计一个词在文档集的多少个文档中出现

计算公式:

扫描二维码关注公众号,回复: 9353916 查看本文章

\[ idf_i=log(\frac{|D|}{1+|D_i|}) \]
|D|表示文档集中的总文档数,分母为文档集中出现词 i 的文档数量,加1采用拉普拉斯平滑,避免出现分母为0的情况

将两者进行结合得到 tf-idf 算法:
\[ tf✖idf(i,j)=tf_{ij}✖idf_i=(\frac{n_{ij}}{\sum_{k}{n_{kj}}})✖log(\frac{|D|}{1+|D_i|}) \]
扩展:

根据应用场景的不同,可以有不同的加权方法,如考虑词性、位置等

TextRank

特点:不需要基于一个现成的语料库,仅对单篇文档进行分析就可以提取该文档的关键词

算法思想:

来源于PageRank:一种链接分析算法,有向无权图(TextRank是有权图)

  • 链接数量:一个网页被越多的其他网页链接,说明这个网页越重要
  • 链接质量:一个网页被越高权值的网页链接,说明这个网页重要

自动摘要任务:

默认每个语句和其他所有句子都是有链接关系,是一个有向完全图

计算公式:
\[ WS(V_i)=(1-d)+d\quad✖\sum_{V_j∈In(V_i)}({\frac{w_{ji}}{\sum_{V_k∈Out(V_j)w_{jk}}{}}}\quad✖\quad WS(V_j)) \]
Out为出链的集合,In为入链接的集合,开始时将所有网页的得分初始化为1,d为阻尼系数(避免出现孤立网页),权重指的是两个句子之间的相似度

关键词提取任务

与自动摘要不同:1)词与词之间的关联没有权重 2)每个词不是与文档中所有词都有链接

因此公式为(与pagerank一致):
\[ WS(V_i)=(1-d)+d\quad✖\sum_{V_j∈In(V_i)} ({\frac{1}{|Out(V_j)|}{}}\quad✖\quad WS(V_j)) \]
将得分平均贡献给每个链接的词,并用窗口来解决第二个问题,在窗口内的所有词之间都有链接关系

主题模型:

认为词与文档之间没有直接的联系,它们应当还有一个维度将它们串联起来,主题模型将这个维度称为主题

每个文档对应一个或多个的主题,而每个主题都会有对应的词分布,通过主题,就可以得到每个文档的词分布。

核心公式:
\[ p(w_i|d_j)=\sum_{k=1}^{K}{p(w_i|t_k)✖(p(t_k|d_j))} \]
每个词和文档对应的p(wi|dj)都是已知的,右边是需要我们计算的

LSA/LSI算法

LSA(Latent Semantic Analysis) & LSI(Latent Semantic Index)

这两个算法可认为是同一种,都是对文档的潜在语义进行分析,LSI会在分析后,利用结果建立相关的索引

主要步骤:

  1. 使用BOW模型将每个文档表示为向量
  2. 将所有的文档词向量拼接起来构成词-文档(m✖n)
  3. 对词-文档矩阵进行奇异值分解(SVD)操作([m✖r] · [r✖r] · [r✖n])
  4. 根据SVD的结果,将词-文档矩阵映射到一个更低维度k([][][m✖k]·[k✖k]·[k✖n],0<k<r)的近似SVD结果,每个词和文档都可以表示为k个主题构成的空间中的一个点,通过计算每个词和文档的相似度,得到每个文档中对每个词的相似度结果,相似度最高的一个词即为文档的关键词

相似度计算

余弦相似度(向量运算)
\[ cos\theta=\frac{a·b}{||a||✖||b||} \]
KL相似度

优点

有效的利用了语义信息,通过SVD将词、文档映射到一个低维的语义空间,挖掘出词、文档的浅层语义信息,从而对词、文档进行更本质地表达

缺点

  • SVD计算复杂度高,对特征空间维度较大的,计算效率十分低下
  • 得到的分布信息是基于已有数据集的,当一个新的文档进入到已有的特征空间时,需要对整个空间重新训练

LDA(Latent Dirichlet Allocation)

目前主流的主题模型,理论基础是贝叶斯理论

根据词的共现信息的分析,拟合出词-文档-主题的分布,进而将词、文本都映射到一个语义空间中

贝叶斯学派:先验分布 + 数据(似然)= 后验分布

训练过程:

  • 随机初始化,对语料中每篇文档中的每个词w,随机地赋予一个topic编号z
  • 重新扫描语料库,对每个词w按照吉布斯采样公式重新采样它的topic,在语料中进行更新
  • 重复以上语料库的重新采样过程直到吉布斯采样收敛
  • 统计语料库的topic-word的共现频率矩阵,该矩阵即为LDA模型

吉布斯采样:通过条件分布采样模拟联合分布,再通过模拟的联合分布直接推导出条件分布,以此循环

注意点

  1. 如何确定共轭分布中超参数
  2. 如何通过狄利克雷分布和多项式分布得到他们的共轭分布
  3. 如何实现吉布斯分布

猜你喜欢

转载自www.cnblogs.com/alivinfer/p/12349727.html