潜在语义分析和概率潜在语义分析

一、潜在语义分析(LSA)

无监督算法,用于文本的话题分析,特点是通过矩阵分解发现文本与单词之间的基于话题的语义分析。

由来:文本信息处理中,传统方法以单词向量表示文本的语义内容,以单词向量空间中的度量表示文本之间的语义相似度。
潜在语义分析旨在解决该方法不能准确表示语义问题,试图从大量文本中发现潜在的话题,以话题向量表示文本的语义内容,以话题向量空间中的度量表示文本语义相似度

1. 单词向量空间

给定一个文本,用一个向量表示该文本的“语义”,其中向量的每一维对应一个单词,数值为单词在文本中出现的频数或权重

基本假设:

  1. 文本中的所有单词出现情况表示了文本的语义内容
  2. 文本集合中每一个文本都可以表示为一个向量,存在一个向量空间
  3. 向量空间的度量,如内积或标准化内积表示文本之间的语义相似度

给定含有 n n n个文本的集合 D = { d 1 , ⋯   , d n } \mathcal{D}=\{d_{1},\cdots,d_{n}\} D={d1,,dn},以及所有文章中出现的 m m m个单词的集合 W = { w 1 , ⋯   , w m } \mathcal{W}=\{w_{1},\cdots,w_{m}\} W={w1,,wm}。将单词在文本中出现的数据用一个单词-文本矩阵表示
X = [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ ⋮ ⋮ x m 1 x m 2 ⋯ x m n ] = [ x 1 , x 2 , ⋯   , x n ] X=\begin{bmatrix} x_{11}&x_{12}&\cdots&x_{1n}\\x_{21}&x_{22}&\cdots&x_{2n}\\\vdots&\vdots&\vdots&\vdots\\x_{m1}&x_{m2}&\cdots&x_{mn} \end{bmatrix}=\begin{bmatrix}\boldsymbol{x}_{1},\boldsymbol{x}_{2},\cdots,\boldsymbol{x}_{n} \end{bmatrix} X= x11x21xm1x12x22xm2x1nx2nxmn =[x1,x2,,xn]
其中, x i j x_{ij} xij表示单词 w i w_{i} wi在文本 d j d_{j} dj中出现的频数或权值。单词很多,且每个文本中单词种类较少, X X X为稀疏矩阵。
权值可以由TF-IDF(单词频率-逆文本频率)表示:
T F − I D F i j = t f i j t f ⋅ j l o g d f d f i TF-IDF_{ij}=\frac{tf_{ij}}{tf_{\cdot j}}log\frac{df}{df_{i}} TFIDFij=tfjtfijlogdfidf
其中, t f i j tf_{ij} tfij表示单词 w i w_{i} wi在文本 d j d_{j} dj中出现的频数, t f ⋅ j tf_{\cdot j} tfj表示文本 d j d_{j} dj中出现的所有单词的频数之和, d f i df_{i} dfi表示含有单词 w i w_{i} wi的文本数, d f df df表示文本集合 D D D的全部文本数
1)一个单词在一个文本中出现的频数越高,该单词在文本中的重要度就越高
2)一个单词在整个文本集合中出现的文本数越少,这个单词就越能表示其所在文本的特点,重要度就越高

文本语义相似度可由两个单词向量的内积或余弦表示 x i ⋅ x j , x i ⋅ x j ∥ x i ∥ ⋅ ∥ x j ∥ \boldsymbol{x}_{i}\cdot \boldsymbol{x}_{j} , \frac{\boldsymbol{x}_{i}\cdot \boldsymbol{x}_{j}}{\Vert\boldsymbol{x}_{i}\Vert\cdot \Vert\boldsymbol{x}_{j}\Vert} xixj,xixjxixj

优点:模型简单,计算效率高
缺点:内积相似度不能准确表示两个文本的相似度。自然语言具有一词多义,多词同义

2. 话题向量空间

话题是指文本所讨论的内容或主题,可由若干个语义相关的单词表示。同义词可表示一个话题,多义词可表示不同的话题

给定一个文本,用话题空间的一个向量表示文本,向量的每一个分量对应一个话题。
话题的个数通常远小于单词的个数

1. 话题向量空间
给定含有 n n n个文本的集合 D = { d 1 , ⋯   , d n } \mathcal{D}=\{d_{1},\cdots,d_{n}\} D={d1,,dn},以及所有文章中出现的 m m m个单词的集合 W = { w 1 , ⋯   , w m } \mathcal{W}=\{w_{1},\cdots,w_{m}\} W={w1,,wm}。将单词在文本中出现的数据用一个单词-文本矩阵表示
X = [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ ⋮ ⋮ x m 1 x m 2 ⋯ x m n ] = [ x 1 , x 2 , ⋯   , x n ] X=\begin{bmatrix} x_{11}&x_{12}&\cdots&x_{1n}\\x_{21}&x_{22}&\cdots&x_{2n}\\\vdots&\vdots&\vdots&\vdots\\x_{m1}&x_{m2}&\cdots&x_{mn} \end{bmatrix}=\begin{bmatrix}\boldsymbol{x}_{1},\boldsymbol{x}_{2},\cdots,\boldsymbol{x}_{n} \end{bmatrix} X= x11x21xm1x12x22xm2x1nx2nxmn =[x1,x2,,xn]
假设所有文本共含有 k k k个话题,每个话题由一个定义在单词集合 W \mathcal{W} W上的 m m m维向量表示,称为话题向量,即
t l = [ t 1 l t 2 l ⋮ t m l ] , l = 1 , 2 , ⋯   , k \boldsymbol{t}_{l}=\begin{bmatrix}t_{1l}\\t_{2l}\\\vdots\\t_{ml}\end{bmatrix},l=1,2,\cdots,k tl= t1lt2ltml ,l=1,2,,k
其中, t i l t_{il} til表示单词 w i w_{i} wi在话题 t l t_{l} tl的权值, i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m k k k个话题向量构成一个话题空间 T T T,是单词向量空间 X X X的一个子空间。 T T T称为单词-话题空间,为
T = [ t 11 t 12 ⋯ t 1 k t 21 t 22 ⋯ t 2 k ⋮ ⋮ ⋮ ⋮ t m 1 t m 2 ⋯ t m k ] = [ t 1 t 2 ⋯ t k ] T=\begin{bmatrix} t_{11}&t_{12}&\cdots&t_{1k}\\t_{21}&t_{22}&\cdots&t_{2k}\\\vdots&\vdots&\vdots&\vdots\\t_{m1}&t_{m2}&\cdots&t_{mk} \end{bmatrix}=\begin{bmatrix}\boldsymbol{t}_{1}&\boldsymbol{t}_{2}&\cdots &\boldsymbol{t}_{k}\end{bmatrix} T= t11t21tm1t12t22tm2t1kt2ktmk =[t1t2tk]

2. 文本在话题向量空间的表示
将单词向量空间 X X X中的向量 x j \boldsymbol{x}_{j} xj映射到话题向量空间 T T T中,得到向量 y j \boldsymbol{y}_{j} yj:
y j = [ y 1 j y 2 j ⋮ y k j ] \boldsymbol{y}_{j}=\begin{bmatrix}y_{1j}\\y_{2j}\\\vdots\\y_{kj}\end{bmatrix} yj= y1jy2jykj
其中, y l j y_{lj} ylj表示文本 d j d_{j} dj中话题 t l \boldsymbol{t}_{l} tl的权值

矩阵 Y Y Y表示话题在文本中出现的情况,称为话题-文本矩阵
Y = [ y 11 y 12 ⋯ y 1 n y 21 y 22 ⋯ y 2 n ⋮ ⋮ ⋮ ⋮ y k 1 y k 2 ⋯ y k n ] = [ y 1 y 2 ⋯ y k ] Y=\begin{bmatrix} y_{11}&y_{12}&\cdots&y_{1n}\\y_{21}&y_{22}&\cdots&y_{2n}\\\vdots&\vdots&\vdots&\vdots\\y_{k1}&y_{k2}&\cdots&y_{kn} \end{bmatrix}=\begin{bmatrix}\boldsymbol{y}_{1}&\boldsymbol{y}_{2}&\cdots &\boldsymbol{y}_{k}\end{bmatrix} Y= y11y21yk1y12y22yk2y1ny2nykn =[y1y2yk]

3.从单词向量空间到话题向量空间的线性变换
潜在语义分析:单词-文本矩阵 X X X可以由单词-话题矩阵 T T T和话题-文本矩阵 Y Y Y表示
X ≈ T Y X\approx TY XTY
x j ≈ y 1 j t 1 + y 2 j t 2 + ⋯ + y k j t k \boldsymbol{x}_{j}\approx y_{1j}\boldsymbol{t}_{1}+y_{2j}\boldsymbol{t}_{2}+\cdots+y_{kj}\boldsymbol{t}_{k} xjy1jt1+y2jt2++ykjtk

文本语义相似度可由 y i ⋅ y j \boldsymbol{y}_{i}\cdot \boldsymbol{y}_{j} yiyj表示

3. 潜在语义分析算法

3.1 矩阵奇异值分解

将单词-文本矩阵 X X X进行截断奇异值分解:
X ≈ U k Σ K V k T = [ u 1 , u 2 , ⋯   , u k ] d i a g ( σ 1 , σ 2 , ⋯   , σ k ) [ v 1 T v 2 T ⋮ v k T ] X\approx U_{k}\Sigma_{K} V_{k}^{T}=[\boldsymbol{u}_{1},\boldsymbol{u}_{2},\cdots,\boldsymbol{u}_{k}]diag(\sigma_{1},\sigma_{2},\cdots,\sigma_{k}) \begin{bmatrix}\boldsymbol{v}_{1}^{T}\\\boldsymbol{v}_{2}^{T}\\\vdots\\\boldsymbol{v}_{k}^{T}\end{bmatrix} XUkΣKVkT=[u1,u2,,uk]diag(σ1,σ2,,σk) v1Tv2TvkT

  1. U k = [ u 1 , u 2 , ⋯   , u k ] U_{k}=[\boldsymbol{u}_{1},\boldsymbol{u}_{2},\cdots,\boldsymbol{u}_{k}] Uk=[u1,u2,,uk]为单词-话题矩阵,同时构成话题向量空间
  2. Σ K V k T = [ σ 1 v 11 σ 1 v 21 ⋯ σ 1 v n 1 σ 2 v 12 σ 2 v 22 ⋯ σ 2 v n 2 ⋯ ⋯ ⋯ ⋯ σ k v 1 k σ k v 2 k ⋯ σ k v n k ] \Sigma_{K} V_{k}^{T}=\begin{bmatrix} \sigma_{1}v_{11}&\sigma_{1}v_{21}&\cdots&\sigma_{1}v_{n1}\\ \sigma_{2}v_{12}&\sigma_{2}v_{22}&\cdots&\sigma_{2}v_{n2}\\ \cdots&\cdots&\cdots&\cdots\\ \sigma_{k}v_{1k}&\sigma_{k}v_{2k}&\cdots&\sigma_{k}v_{nk} \end{bmatrix} ΣKVkT= σ1v11σ2v12σkv1kσ1v21σ2v22σkv2kσ1vn1σ2vn2σkvnk 表示话题文本矩阵

3.2 非负矩阵分解

还可以采用非负矩阵分解对 X X X进行拆分:
X ≈ W H X\approx WH XWH
X ∈ R m × n , W ∈ R m × k , H ∈ R k × n X\in R^{m\times n},W\in R^{m \times k},H\in R^{k \times n} XRm×n,WRm×k,HRk×n,且 W W W表示话题空间, H H H表示话题文本矩阵,即文本在话题向量空间中的表示,可表示为如下优化问题:
m i n W , H ∥ X − W H ∥ 2 s . t . W , H ≥ 0 \underset{W,H}{min}\Vert X-WH\Vert^{2}\\ s.t. W,H\ge 0 W,HminXWH2s.t.W,H0
非负矩阵分解采用迭代算法进行求解:乘法更新规则的迭代算法,交替地对 W , H W,H W,H进行更新

二、概率潜在语义分析(PLSA)

是一种利用概率生成模型对文本集合进行话题分析的无监督方法。
特点,用隐变量表示话题,整个模型表示文本生成话题,话题生成单词,从而得到单词-文本共现数据的过程

基本想法:对文本进行概率潜在语义分析,可以发现每个文本的话题,以及每个话题的单词。话题是不能从数据中直接观察到的,是潜在的

学习策略是观测数据的极大似然估计,学习算法是EM算法
给定单词-文本矩阵

2.1 生成模型

文本生成话题,话题生成单词,从而得到单词-文本共现数据的过程:假设每个文本由一个话题分布决定,每个话题由一个单词分布决定。单词变量 w w w与文本变量 d d d是观测变量,话题 z z z是隐变量。

生成模型定义如下:
P ( w , d ) = Π ( w , d ) P ( w , d ) n ( w , d ) , P ( w , d ) = P ( d ) P ( w ∣ d ) = P ( d ) ∑ z P ( w , z ∣ d ) = P ( d ) ∑ z P ( z ∣ d ) P ( w ∣ z ) P(w,d)=\Pi_{(w,d)}P(w,d)^{n(w,d)},\\ P(w,d)=P(d)P(w\vert d)=P(d)\sum_{z}P(w,z\vert d) =P(d)\sum_{z}P(z\vert d)P(w\vert z) P(w,d)=Π(w,d)P(w,d)n(w,d),P(w,d)=P(d)P(wd)=P(d)zP(w,zd)=P(d)zP(zd)P(wz)
生成模型假设在话题 z z z给定的条件下,单词 w w w和文本 d d d是条件独立的,有
P ( w , z ∣ d ) = P ( w ∣ z , d ) P ( z ∣ d ) = P ( z ∣ d ) P ( w ∣ z ) P(w,z\vert d)=P(w|z,d)P(z|d)=P(z\vert d)P(w\vert z) P(w,zd)=P(wz,d)P(zd)=P(zd)P(wz)
其中, n ( w , d ) n(w,d) n(w,d)表示 ( w , d ) (w,d) (w,d)出现次数, P ( w , d ) P(w,d) P(w,d)表示每个文本对出现的概率

2.2 共现模型

描述文本单词数据拥有的模式
共现模型定义如下:
P ( T ) = Π ( w , d ) P ( w , d ) n ( w . d ) P ( w , d ) = ∑ z ∈ Z P ( z ) P ( w , d ∣ z ) = ∑ z ∈ Z P ( z ) P ( w ∣ z ) P ( d ∣ z ) P(T)=\Pi_{(w,d)}P(w,d)^{n(w.d)}\\ P(w,d)=\sum_{z\in Z}P(z)P(w,d|z)=\sum_{z\in Z}P(z)P(w|z)P(d|z) P(T)=Π(w,d)P(w,d)n(w.d)P(w,d)=zZP(z)P(w,dz)=zZP(z)P(wz)P(dz)

共现模型假设在话题 z z z给定的条件下,单词 w w w和文本 d d d是条件独立的,有
P ( w , d ∣ z ) = P ( w ∣ z ) P ( d ∣ z ) P(w,d\vert z)=P(w\vert z)P(d\vert z) P(w,dz)=P(wz)P(dz)
其中,单词变量和文本变量 w , d w,d w,d为观测变量,话题 z z z为隐变量

生成和共现模型区别联系

  • 联系:概率公式意义上等价
  • 区别:
    1. 生成模型刻画文本-单词共现数据生成的过程,共现模型描述文本-单词共现数据拥有的模式
    2. 生成模型中单词变量 w w w和文本变量 d d d是非对称的,而共现模型中两者对称
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值