几种关键词算法

来源:互联网 发布:mysql模糊查询语句 编辑:程序博客网 时间:2024/05/20 20:02

几种关键词提取介绍:TextRank、LDA、TPR

- TextRank关键词提取

TextRank是由PageRank延伸而来的,先简单介绍PageRank

PageRank:

一个简单的例子,求节点A的PR值是多少
例1:
这里写图片描述

PR(A)=PR(B)+PR(C)

但是节点B不止有一条出链,所以应该为:
PR(A)=PR(B)2+PR(C)1

例2:可能会存在没有出链的网页
这里写图片描述
图中网页C没有出链,于是可以假设对所有网页都有出链
PR(A)=PR(B)2+PR(C)4

例3:有些网页只有自己到自己的出链,或者几个网页形成一个循环链,这样就导致,在不断的迭代循环中,这些网页的PR值一直在增加
这里写图片描述
这种情况下,想象成一个人如果到达C网站后发现没有其他的出链,那么他将以一定的概率从浏览器中输入网站跳转到其他的网站

PR(A)=αPR(B)2+(1α)4

一般情况下PageRank的更新公式为:
PR(pi)=αpjMpiPR(Pj)L(pj)+1αN

L(pj)是网页j的出链数目,Mpi是指出链到网页i的数目

TexTRank:

TextRank,是将每一个词作为一个节点,而节点与节点之间的链,是由词与词之间的共现决定的,决定词与词共现的方法,是由一个固定大小的窗口决定的,如果一个词与另一个词在同一个窗口里,就在这两个词之间加一条边。

例如:
程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。
分词以后的结果
[程序员/n, 是/v, 从事/v, 程序/n, 开发/v, 、/w, 维护/v, 的/uj, 专业/n, 人员/n, 。/w, 一般/a, 将/d, 程序员/n, 分为/v, 程序/n, 设计/vn, 人员/n, 和/c, 程序/n, 编码/n, 人员/n, ,/w, 但/c, 两者/r, 的/uj, 界限/n, 并/c, 不/d, 非常/d, 清楚/a, ,/w, 特别/d, 是/v, 在/p, 中国/ns, 。/w, 软件/n, 从业/b, 人员/n, 分为/v, 初级/b, 程序员/n, 、/w, 高级/a, 程序员/n, 、/w, 系统/n, 分析员/n, 和/c, 项目/n, 经理/n, 四/m, 大/a, 类/q, 。/w]

选择窗口大小为5后,去掉一些停用词后,就可以得到:

开发=[专业, 程序员, 维护, 英文, 程序, 人员],
软件=[程序员, 分为, 界限, 高级, 中国, 特别, 人员],
程序员=[开发, 软件, 分析员, 维护, 系统, 项目, 经理, 分为, 英文, 程序, 专业, 设计, 高级, 人员, 中国],
分析员=[程序员, 系统, 项目, 经理, 高级],
维护=[专业, 开发, 程序员, 分为, 英文, 程序, 人员],
系统=[程序员, 分析员, 项目, 经理, 分为, 高级],
项目=[程序员, 分析员, 系统, 经理, 高级],
经理=[程序员, 分析员, 系统, 项目],
分为=[专业, 软件, 设计, 程序员, 维护, 系统, 高级, 程序, 中国, 特别, 人员],
英文=[专业, 开发, 程序员, 维护, 程序],
程序=[专业, 开发, 设计, 程序员, 编码, 维护, 界限, 分为, 英文, 特别, 人员],
特别=[软件, 编码, 分为, 界限, 程序, 中国, 人员],
专业=[开发, 程序员, 维护, 分为, 英文, 程序, 人员],
设计=[程序员, 编码, 分为, 程序, 人员],
编码=[设计, 界限, 程序, 中国, 特别, 人员],
界限=[软件, 编码, 程序, 中国, 特别, 人员],
高级=[程序员, 软件, 分析员, 系统, 项目, 分为, 人员],
中国=[程序员, 软件, 编码, 分为, 界限, 特别, 人员],
人员=[开发, 程序员, 软件, 维护, 分为, 程序, 特别, 专业, 设计, 编码, 界限, 高级, 中国]

来看看”程序员”这个词:
这里写图片描述

textRank的更新公式为:

WS(Vi)=1dN+dVjIn(Vi)wjiVkOut(Vj)WS(Vj)

根据上面的公式不断迭代,最后每一个词的Weights值会收敛,再根据每个词的Weights大小排序,取前面的权重大的词作为关键词。

- LDA关键词提取


lda是含有隐变量生成模型,也是一种隐语义算法模形,下面介绍LDA的生成模型,如下的图都是从《LDA的数学八卦》中摘取:

我们将文档词的生成比作上帝老头抛色子
这里写图片描述

来看下简单的一元模性:
这里写图片描述
也就是这样
这里写图片描述

而贝叶斯学派的理解是引入了完全贝叶斯公式,引入了先验。
这里写图片描述

这里写图片描述

PLSA
这里写图片描述

LDA
这里写图片描述

LDA生成模型的公式
这里写图片描述

这里写图片描述

这里写图片描述

上面的公式的分母中存在求和符号,所以不容易得到解析解,所以使用了Gibbs采样,来对指定词的主题进行采样,经过采样后就可以得到
基于主题的词分布:

p(w|z)
和基于文章的主题分布
p(z|d)

基于LDA的关键词提取

根据上面的LDA的训练,可以的得到一篇文章的主题分布p(z|di),和文章中词的主题分布p(z|wi),可以通过余弦相似度或者KL散度来计算这两个分布的相似性。如果文章的某一主题z的概率很大,而该文章中某个词对于该主题z也拥有更大的概率,那么该词就会有非常大的概率成为关键词

p(z|w)=Cwk+βk=1KCwk+kβ

p(z|d)=Cwj+αKk=1Cwk+kβ

TPR = LDA + TextRank

回归PageRank时的图
这里写图片描述
这种情况下,想象成一个人如果到达C网站后发现没有其他的出链,那么他将以一定的概率从浏览器中输入网站跳转到其他的网站

PR(A)=αPR(B)2+(1α)4

重新回归PageRank公式:

PR(pi)=αpjMpiPR(Pj)L(pj)+1αN

1αN表示网页有1α的概率转移到其他节点,以α的概率转移到自己的邻居节点,在pageRank中这部分通常拥有相同的值,表示每个节点等概率的跳转到其他节点,没有任何偏好。

TPR的思想是每个主题单独运行各自的带偏好的TextRank,每个主题的TextRank都会偏好与主题有较大相关度的词,这个偏好就是设置随机跳转的概率来得到的。

textrank公式:

WS(wi)=1dN+dwjIn(wi)wjiwkOut(wj)WS(wj)

对于每个主题z,根据LDA的训练都可以得到每个主题下的词的分布p(w|z),可以把每个词的概率值单做该主题下Textrank的跳转概率来计算,重新修改为:
WSz(wi)=(1d)P(wi|z)+dwjIn(wi)wjiwkOut(wj)WSz(wj)

而每个词最后的得分为:

WS(wi)=z=1KWSz(wi)P(z|d)

使用下图理解:
这里写图片描述

简单结果对比
TPR、TextRank、LDA对比
http://mini.eastday.com/mobile/171130071903959.html
TPR:[经济, 美国, 美联储, 消息, 市场, 国会, 联邦, 耶伦, 股市, 报告, 经济委员会, 英国, 主席, 央行, 汇率, 提振, 税改, 油价, 股指, 分析师]
TextRank:[经济, 市场, 报告, 美国, 消息, 央行, 汇率, 油价, 股市, 股指, 分析师, 盈利, 加拿大, 数字, 银行, 金融, 指数, 英国, 原油, 美联储]
LDA:[国会, 联邦, 策略师, 经济委员会, 加拿大皇家银行, 美联储, 主席, 特币, 华尔街, 耶伦, 前景, 经济师, 推高, 参议院, 美国, 货币, 汇率, 提振, 行长, 朝鲜]

http://mini.eastday.com/mobile/171130092449084.html
TPR:[美国, 黄金, 美联储, 加息, 金价, 价格, 朝鲜, 耶伦, 市场, 关口, 主席, 经济, 新高, 指数, 证词, 税改, 投资者, 跌幅, 高位, 国会]
TextRank:[美国, 黄金, 价格, 金价, 关口, 美联储, 朝鲜, 市场, 新高, 加息, 耶伦, 经济, 指数, 跌幅, 税改, 投资者, 阻力, 技术, 高位, 主席]
LDA:[国会, 美市, 美联储, 弹道导弹, 加息, 初值, 缩表, 通胀, 杜德利, 火星, 但耶伦, 耶伦, 主席, 梅斯特, 洲际导弹, 那契, 惊现, 纽约联储, 达拉斯联储, 季调]

http://mini.eastday.com/mobile/171130073529414.html
TPR:[美联储, 加息, 听证会, 人选, 美国, 主席, 条件, 例会, 通胀, 事务委员会, 美国联邦储备委员会, 时说, 鲍威尔, 货币, 负债表, 政策, 参议院, 特朗普, 总统, 状况]
TextRank:[美联储, 加息, 听证会, 美国, 人选, 主席, 条件, 通胀, 水平, 住房, 城市, 事务委员会, 规模, 银行, 负债表, 时说, 参议院, 资产, 货币, 特朗普]
LDA:[例会, 事务委员会, 美国联邦储备委员会, 听证会, 鲍威尔, 美联储, 加息, 负债表, 人选, 主席, 时说, 通胀, 货币, 参议院, 政策, 美国, 水平, 状况, 条件, 总统]

http://mini.eastday.com/mobile/171130154152011.html
TPR:[文化, 中国, 玉雕, 艺术, 宁海, 大师, 玉石, 历史, 艺术品, 品格, 专家, 中华, 市民, 传统, 民族, 博览会, 城市, 中心, 底蕴, 源远流长]
TextRank:[中国, 文化, 玉雕, 大师, 艺术, 专家, 宁海, 历史, 市民, 上海, 古玩, 传统, 艺术品, 上海御客会文化传播有限公司, 董事长, 中华, 玉石, 主任, 中心, 内容]
LDA:[玉石, 品格, 宁海, 玉雕, 艺术品, 艺术, 文化, 大师, 民族, 中华, 博览会, 底蕴, 内涵, 气息, 源远流长, 文化协会, 董事长, 秘书长, 历史, 载体]