潜语义分析(LSA)

潜语义分析(LSA)是一种监督学习方法,主要用于文本的话题分析,其特点是通过矩阵分解发现文本与单词之间的基于话题的语义关系。潜在语义分析由Deerwester等于1990年提出,最初应用于文本信息检索,在推荐系统、图像处理、生物信息学等领域也有广泛的应用。

文本信息处理中,传统的方法以单词向量表示文本的语义内容,以单词向量空间的度量表示文本之间的语义相似度。潜在语义分析旨在解决这种不能准确表示语义 的问题,试图从大量的文本数据中发现潜在的话题,以话题向量表示文本的语义内容,以话题向量空间的度量准确地表示文本之间的语义相似度,这也是话题分析的基本想法。

潜在语义使用的是非概率的话题分析模型。具体地,将文本集合表示为单词-文本矩阵,对单词-文本矩阵进行奇异值分解,从而得到向量空间,以及文本在话题向量空间的表示。

一、单词向量空间与话题空间

1.单词向量空间

文本信息处理,比如文本信息检索、文本数据挖掘的一个核心问题是对文本的语义内容进行表示,并进行文本之间的语义相似度计算。最简单的方法是利用向量空间模型,也就是单词向量空间模型。向量空间模型的基本想法是:给定一个文本,用一个向量表示该文本的“语义”,向量的每一维对应一个单词,其数值为该单词在该文本中出现的频数或权值,基本假设是文本中所有单词的出现情况表示了文本的语义内容;文本集合中的每个文本都表示为一个向量,存在于一个单词空间;向量空间的度量,如内积或标准化内积表示文本之间的“语义相似度”。

例如,文本信息检索的任务是,用户提出查询时,帮助用户找到与查询最相关的文本,以排序的形式展示给用户。一个最简单的做法是采用单词向量空间模型,将查询与文本表示为单词向量,计算查询向量与文本向量的内积,作为语义相似度,以这个相似度的高低对文本进行排序。在这里,查询看作是伪文本,查询与文本的语义相似度表示为查询与文本的相关性。

下面给出严格定义,给定一个含有n个文本的集合D=\{d_1,d_2,\dots,d_n\},以及在所有问诊中出现的m个单词集合W=\{w_1,w_2,\dots,w_m\}。将单词在文本中出现的数据用一个单词-文本矩阵表示,记作X
X=\begin{bmatrix} x_{11}& x_{12} &\dots &x_{1n} \\[0.3em] x_{21} & x_{22} & \dots &x_{2n} \\[0.3em] \vdots & \vdots &\space &\vdots \\[0.3em] x_{m1}&x_{m2}&\dots&x_{mn} \end{bmatrix}
这是一个n*m矩阵,元素x_{ij}表示单词w_i在文本d_j中出现的频数或权值。由于单词种类很多,而每个文本中出现单词的种类很少,所以单词-文本矩阵是一个稀疏矩阵。

权重通常用单词频数-逆文频率(TF-IDF),其定义是
TFIDF_{ij} = \frac{tf_{ij}}{tf_j}log\frac{df}{df_i},i=1,2,\dots,m,j=1,2,\dots,n

tf_{ij}表示w_i单词出现在d_j中的频数,tf_j表示文本d_j中所有出现单词的频数只和,df_i是含有单词w_i的文本数,df是文本几个D的全部文本数。直观上,一个单词在一个文本中出现的频数越高,这个单词在这个文本中的重要性越高;一个单词在整个文本集合中出现的文本数越少,这个单词就越能表示其所在文本的特点,重要度就越高:一个单词在一个文本的TF-IDF是两种重要度的积,综合表示重要度。

单词向量空间模型直接使用单词-文本矩阵的信息。单词-文本矩阵的第j列向量表示x_j表示文本d_j
x_j = \begin{bmatrix} x_{1j} \\[0.3em] x_{2j} \\[0.3em] \vdots \\[0.3em] x_{mj} \end{bmatrix},j=1,2,\dots,n

其中x_{ij}是单词w_i在文本d_j的权值,i=1,2,\dots,m,权值越大,该单词在该文本中的重要性越高。这时矩阵可以写成\mathbf X =[x_1,x_2,\dots,x_n]

两个单词向量的内积或标准化内积(余弦)表示对应文本之间的语义相似度。因此文本d_i和d_j之间的相似度为:
x_i*x_j ,\frac{x_i*x_j}{\|x_i\|\|x_j\|}
式中,*表示内积,\|*\|表示范数。

单词空间向量的优点是模型简单,计算效率高。因为单词向量通常是稀疏的,两个向量的内积计算只需要在其同不为零的维度上进行即可,需要计算很少,可以高效地完成。单词向量空间也有一定的局限性,体现在内积相似度未必能够准确表达两个文本的语义相似度。因为在自然语言的单词具有一词多义,多个单词可以表示同一个语义,所以基于单词向量的相似度计算存在不精确的问题。

d_1 d_2 d_3 d_4
airplane 2
aircraf 2
computer 1
apple 2 3
fruit 1
produce 1 2 2 1

2.话题向量空间

两个文本的语义相似度可以体现在两者的话题相似度上。所谓话题,并没有严格的定义,就是指文本中所讨论的内容或主题。一个文本一般含若干个话题。如果两个文本的话题相似,那么两者的语义应该也相似。话题可以由若干个单词表示,同义词可以表示同一个话题,而多义词可以表示不同的话题。这样,基于话题的模型可以解决上述基于单词的模型存在的问题。

给定一个文本,用话题空间的一个向量表示该文本,该向量的每一分量对应一个话题,其数值为该话题在该文本中出现的权值。用两个向量的内积或标准化内积表示对应聊个文本的语义相似度。注意,话题的个数通常远远小于单词的个数,话题向量空间模型更加抽象。事实上潜在语义分析正是构建话题向量空间的方法(即话题分析的方法),单词向量空间模型与话题空间模型可以互相补充,现实中,两者可以同时使用。

(1) 话题向量空间

给定一个文本集合D=\{d_1,d_2,\dots,d_n\}和相应的单词集合W=\{w_1,w_2,\dots,w_m\}。可以获得其单词-文本矩阵\mathbf X\mathbf X构成原始的单词向量空间,每一列是一个文本在单词向量空间中的表示
X=\begin{bmatrix} x_{11}& x_{12} &\dots &x_{1n} \\[0.3em] x_{21} & x_{22} & \dots &x_{2n} \\[0.3em] \vdots & \vdots &\space &\vdots \\[0.3em] x_{m1}&x_{m2}&\dots&x_{mn} \end{bmatrix}
矩阵\mathbf X也可以写成\mathbf X =[x_1,x_2,\dots,x_n]

假设所有文本中共含有k个话题。假设每个话题都由一个定义资料单词集合\mathbf W上的m维向量表示,称为话题空间,即

t_l = \begin{bmatrix} t_{1l} \\[0.3em] t_{2l} \\[0.3em] \vdots \\[0.3em] t_{ml} \end{bmatrix},l=1,2,\dots,k

其中t_{il}是单词在话题t_l的权值,i=1,2,\dots,m,权值越大,该单词在话题中的重要度越高。这k个话题向量t_1,t_2,\dots,t_k成一个话题向量空间,维数为k。

话题向量空间\mathbf T也可以表示为一个矩阵,称为单词-话题矩阵,记作
T=\begin{bmatrix} t_{11}& t_{12} &\dots &t_{1k} \\[0.3em] t_{21} & t_{22} & \dots &t_{2k} \\[0.3em] \vdots & \vdots &\space &\vdots \\[0.3em] t_{m1}&t_{m2}&\dots& t_{mk} \end{bmatrix}
矩阵\mathbf T也可以写作\mathbf T = [t_1,t_2,\dots,t_n]

(2)文本在话题向量空间的表示

现考虑文本集合D的文本d_j,在单词向量空间由一个向量x_j表示,将x_j投影到话题向量空间T,得到话题向量空间的一个向量y_jy_j是一个k为向量,其表达式为

y_j = \begin{bmatrix} y_{1j} \\[0.3em] y_{2j} \\[0.3em] \vdots \\[0.3em] y_{kj} \end{bmatrix},j=1,2,\dots,n

其中y_j是文本d_j在话题t_l的权值,l=1,2,\dots,k,权值越大,该话题在该文本中的重要性越高。

矩阵\mathbf Y表示话题在文本中出现的情况,称为话题-文本矩阵记作
Y=\begin{bmatrix} y_{11}& y_{12} &\dots &y_{1n} \\[0.3em] y_{21} & y_{22} & \dots &y_{2n} \\[0.3em] \vdots & \vdots &\space &\vdots \\[0.3em] y_{k1}&x_{k2}&\dots& y_{kn} \end{bmatrix}
矩阵\mathbf Y也可以写作\mathbf Y = [y_1,y_2,\dots,y_n]

(3)从单词向量空间到话题向量空间的线性变换

这样一来,在单词向量空间的文本x_j可以通过它在话题空间中的向量y_j近似表示,具体地由k个话题以y_j为系数的线性组合近似表示
x_j \approx y_{1j}t_1+y_{2j}t_2 +\dots+y_{kj}t_k,j=1,2,\dots,n

所以单词-文本矩阵可以近似的表示为单词-话题矩阵\mathbf T与话题-文本矩阵Y的乘积形式,这就是潜语义分析
X \approx TY
在原始的单词向量空间中,两个文本d_i和d_j的相似度可以由向量的内积表示,即x_i*x_j。经过潜在语义分析之后,在话题向量空间中,两个文本d_i和d_j的相似度可以由对应的向量的内积即y_i和y_j表示

要进行潜在语义分析,需要同时决定两部分,一是话题空间向量\mathbf T,二是文本在话题中的表示\mathbf Y,使两者乘积是原始矩阵的近似,而这一结果完全从话题-文本矩阵的信息中获得。

二、潜在语义分析算法

1.单词-文本矩阵

给定文本集合D=\{d_1,d_2,\dots,d_n\}和单词集合W=\{w_1,w_2,\dots,w_m\}。潜在语义分析首先将这些数据表成单词-文本矩阵
X=\begin{bmatrix} x_{11}& x_{12} &\dots &x_{1n} \\[0.3em] x_{21} & x_{22} & \dots &x_{2n} \\[0.3em] \vdots & \vdots &\space &\vdots \\[0.3em] x_{m1}&x_{m2}&\dots&x_{mn} \end{bmatrix}
这是一个m*n矩阵,元素x_{ij}表示单词在文本d_j中出现的频数或权值。

2.截断奇异值分解

潜在语义根据确定的话题个数k对单词-文本矩阵\mathbf X进行截断奇异值分解
X \approx U_k\Sigma_kV_k = [u_1,u_2,\dots,u_k]\begin{bmatrix} \sigma_1 & 0 & \dots & 0 \\[0.3em] 0 & \sigma_2 & \dots & 0 \\[0.3em] 0 & 0 & \ddots & 0 \\[0.3em] 0 & 0 & \dots & \sigma_k \end{bmatrix}\begin{bmatrix} v_1^T \\[0.3em] v_2^T \\[0.3em] \vdots \\[0.3em] v_k^T \end{bmatrix}
式中k \le n \le m,U_km*k矩阵,它的列由\mathbf X的前k个相互正交的左奇异向量组成,\Sigma_k是k阶对角矩阵,对角元素为前k个最大奇异值,V_kn*k矩阵,它的列由\mathbf X的前k个互相正交的右奇异向量组成

3.单词向量空间

在单词-文本矩阵\mathbf X的截取奇异分解式中,矩阵U_k的每一列向量u_1,u_2,\dots,u_k表示一个话题,称为话题向量。由k个话题生成一个子空间。
U_k = [u_1,u_2,\dots,u_k]
称为话题空间

4.文本的话题表示

有了话题空间,接着考虑文本在话题空间的表示
\begin{aligned} \mathbf X= [x_1,x_2,\dots,x_n] = \approx U_k\Sigma_k V_k^T \\ =[u_1,u_2,\dots,u_k]\begin{bmatrix} \sigma_1&\space &\space & \space \\[0.3em] \space & \sigma_2 & \space & \space \\[0.3em] \space & \space & \ddots &\space \\[0.3em] \space & \space & \space & \sigma_k \end{bmatrix} \begin{bmatrix} v_{11} & v_{21} & \dots & v_{n1} \\[0.3em] v_{12} & v_{22} & \dots & v_{n2} \\[0.3em] \vdots & \vdots & \space & \vdots \\[0.3em] v_{1k} & v_{2k} & \dots & v_{nk} \end{bmatrix} \\ = [u_1,u_2,\dots,u_k]\begin{bmatrix} \sigma_1v_{11} & \sigma_1v_{21} & \dots &\sigma_1v_{n1} \\[0.3em] \sigma_2v_{12} & \sigma_2v_{22} &\dots & \sigma_2 v_{n2} \\[0.3em] \vdots & \vdots & \space &\vdots \\[0.3em] \sigma_kv_{1k} & \sigma_k v_{2k}&\dots&\sigma_kv_{nk} \end{bmatrix} \end{aligned}
其中
u_l = \begin{bmatrix} u_{1l} \\[0.3em] u_{2l} \\[0.3em] \vdots \\[0.3em] u_{ml} \end{bmatrix},l=1,2,\dots,k
因此矩阵\mathbf X的第j列向量x_j满足
\begin{aligned} x_j \approx U_k(\Sigma_kV_k^T)_j \\ = [u_1,u_2,\dots,u_k]\begin{bmatrix} \sigma_1v_{j1} \\[0.3em] \sigma_2v_{j2} \\[0.3em] \vdots \\0.3em] \sigma_kv_{jk} \end{bmatrix} \\ = \sum_{l=1}^k \sigma_lv_{jl}u_l,j=1,2,\dots,n \end{aligned}

式中(\Sigma_kV_k^T)_j是矩阵(\Sigma_kV_k^T)_j的第j列向量。矩阵(\Sigma_kV_k^T)的每一列向量是一个文本在话题向量空间的表示。
\mathbf X \approx U_k\Sigma_kV_k^T = U_k(\Sigma_kV_k^T)
得到话题空间U_k以及文本在话题空间的表示(\Sigma_kV_k^T)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容