Vector space model
Vector space model or term vector model is an algebraic model for representing text documents as vectors such that the distance between vectors represents the relevance between the documents. It is used in information filtering, information retrieval, indexing and relevance rankings. Its first use was in the SMART Information Retrieval System.
Definitions
In this section we consider a particular vector space model based on the bag-of-words representation. Documents and queries are represented as vectors.Each dimension corresponds to a separate term. If a term occurs in the document, its value in the vector is non-zero. Several different ways of computing these values, also known as weights, have been developed. One of the best known schemes is tf-idf weighting.
The definition of term depends on the application. Typically terms are single words, keywords, or longer phrases. If words are chosen to be the terms, the dimensionality of the vector is the number of words in the vocabulary.
Vector operations can be used to compare documents with queries.
Applications
Candidate documents from the corpus can be retrieved and ranked using a variety of methods. Relevance rankings of documents in a keyword search can be calculated, using the assumptions of document similarities theory, by comparing the deviation of angles between each document vector and the original query vector where the query is represented as a vector with same dimension as the vectors that represent the other documents.In practice, it is easier to calculate the cosine of the angle between the vectors, instead of the angle itself:
Where is the intersection of the document and the query vectors, is the norm of vector d2, and is the norm of vector q. The norm of a vector is calculated as such:
Using the cosine the similarity between document dj and query q can be calculated as:
As all vectors under consideration by this model are element-wise nonnegative, a cosine value of zero means that the query and document vector are orthogonal and have no match. See cosine similarity for further information.
Term frequency–inverse document frequency (tf–idf) weights
In the classic vector space model proposed by Salton, Wong and Yang, the term-specific weights in the document vectors are products of local and global parameters. The model is known as term frequency–inverse document frequency model. The weight vector for document d is, whereand
- is term frequency of term t in document d
- is inverse document frequency. is the total number of documents in the document set; is the number of documents containing the term t.
Advantages
The vector space model has the following advantages over the Standard Boolean model:- Allows ranking documents according to their possible relevance
- Allows retrieving items with a partial term overlap
Limitations
The vector space model has the following limitations:- Query terms are assumed to be independent, so phrases might not be represented well in the ranking
- Semantic sensitivity; documents with similar context but different term vocabulary won't be associated
Models based on and extending the vector space model
Models based on and extending the vector space model include:Software that implements the vector space model
The following software packages may be of interest to those wishing to experiment with vector models and implement search services based upon them.Free open source software
- Apache Lucene. Apache Lucene is a high-performance, open source, full-featured text search engine library written entirely in Java.
- OpenSearch (software), Elasticsearch and Solr: the three most well-known search engine programs based on Lucene. Others are also available.
- Gensim is a Python+NumPy framework for Vector Space modelling. It contains incremental algorithms for term frequency-inverse document frequency, latent semantic indexing, random projections and latent Dirichlet allocation.
- Weka. Weka is a popular data mining package for Java including WordVectors and Bag Of Words models.
- Word2vec. Word2vec uses vector spaces for word embeddings.