LSA was patented in 1988 (US Patent 4,839,853) by Scott Deerwester, Susan Dumais, George Furnas, Richard Harshman, Thomas Landauer, Karen Lochbaum and Lynn Streeter. In the context of its application to information retrieval, it is sometimes called latent semantic indexing (LSI).
This matrix is also common to standard semantic models, though it is not necessarily explicitly expressed as a matrix, since the mathematical properties of matrices are not always used.
LSA transforms the occurrence matrix into a relation between the terms and some concepts, and a relation between those concepts and the documents. Thus the terms and documents are now indirectly related through the concepts.
The new concept space typically can be used to:
Synonymy and polysemy are fundamental problems in natural language processing:
The consequence of the rank lowering is that some dimensions are combined and depend on more than one term:
This mitigates synonymy, as the rank lowering is expected to merge the dimensions associated with terms that have similar meanings. It also mitigates polysemy, since components of polysemous words that point in the "right" direction are added to the components of words that share a similar meaning. Conversely, components that point in other directions tend to either simply cancel out, or, at worst, to be smaller than components in the directions corresponding to the intended sense.
& downarrowtextbf{t}_i^T rightarrow & begin{bmatrix} x_{1,1} & dots & x_{1,n} vdots & ddots & vdots x_{m,1} & dots & x_{m,n} end{bmatrix} end{matrix}
Now a row in this matrix will be a vector corresponding to a term, giving its relation to each document:
Likewise, a column in this matrix will be a vector corresponding to a document, giving its relation to each term:
Now the dot product between two term vectors gives the correlation between the terms over the documents. The matrix product contains all these dot products. Element (which is equal to element ) contains the dot product (). Likewise, the matrix contains the dot products between all the document vectors, giving their correlation over the terms: .
Now assume that there exists a decomposition of such that and are orthonormal matrices and is a diagonal matrix. This is called a singular value decomposition (SVD):
The matrix products giving us the term and document correlations then become
Since and are diagonal we see that must contain the eigenvectors of , while must be the eigenvectors of . Both products have the same non-zero eigenvalues, given by the non-zero entries of , or equally, by the non-zero entries of . Now the decomposition looks like this:
& X & & & U & & Sigma & & V^T& (textbf{d}_j) & & & & & & & (hat textbf{d}_j)
& downarrow & & & & & & & downarrow(textbf{t}_i^T) rightarrow & begin{bmatrix} x_{1,1} & dots & x_{1,n} vdots & ddots & vdots x_{m,1} & dots & x_{m,n} end{bmatrix} & = & (hat textbf{t}_i^T) rightarrow & begin{bmatrix} begin{bmatrix} , , textbf{u}_1 , ,end{bmatrix} dots begin{bmatrix} , , textbf{u}_l , , end{bmatrix} end{bmatrix} & cdot & begin{bmatrix} sigma_1 & dots & 0 vdots & ddots & vdots 0 & dots & sigma_l end{bmatrix} & cdot & begin{bmatrix} begin{bmatrix} & & textbf{v}_1 & & end{bmatrix} vdots begin{bmatrix} & & textbf{v}_l & & end{bmatrix} end{bmatrix} end{matrix}
The values are called the singular values, and and the left and right singular vectors. Notice how the only part of that contributes to is the row. Let this row vector be called . Likewise, the only part of that contributes to is the column, . These are not the eigenvectors, but depend on all the eigenvectors.
It turns out that when you select the largest singular values, and their corresponding singular vectors from and , you get the rank approximation to X with the smallest error (Frobenius norm). The amazing thing about this approximation is that not only does it have a minimal error, but it translates the term and document vectors into a concept space. The vector then has entries, each giving the occurrence of term in one of the concepts. Likewise, the vector gives the relation between document and each concept. We write this approximation as
You can now do the following:
To do the latter, you must first translate your query into the concept space. It is then intuitive that you must use the same transformation that you use on your documents:
This means that if you have a query vector , you must do the translation before you compare it with the document vectors in the concept space. You can do the same for pseudo term vectors:
The SVD is typically computed using large matrix methods (for example, Lanczos methods) but may also be computed incrementally and with greatly reduced resources via a neural network-like approach, which does not require the large, full-rank matrix to be held in memory (Gorrell and Webb, 2005).
A fast, incremental, low-memory, large-matrix SVD algorithm has recently been developed (Brand, 2006). Unlike Gorrell and Webb's (2005) stochastic approximation, Brand's (2006) algorithm provides an exact solution.
LSA has been used to assist in performing prior art searches for patents.
Latent Semantic Analysis in Natural language Processing