Векторная модель

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Ве́кторная моде́ль (англ. vector space model) — в информационном поиске представление коллекции документов векторами из одного общего для всей коллекции векторного пространства.

Векторная модель является основой для решения многих задач информационного поиска, как то: поиск документа по запросу, классификация документов, кластеризация документов.

Определение[править | править вики-текст]

Документ в векторной модели рассматривается как неупорядоченное множество термов. Термами в информационном поиске называют слова, из которых состоит текст, а также такие элементы текста, как, например, 2010, II-5 или Тянь-Шань.

Различными способами можно определить вес терма в документе — "важность" слова для идентификации данного текста. Например, можно просто подсчитать количество употреблений терма в документе, так называемую частоту терма, — чем чаще слово встречается в документе, тем больший у него будет вес. Если терм не встречается в документе, то его вес в этом документе равен нулю.

Все термы, которые встречаются в документах обрабатываемой коллекции, можно упорядочить. Если теперь для некоторого документа выписать по порядку веса́ всех термов, включая те, которых нет в этом документе, получится вектор, который и будет представлением данного документа в векторном пространстве. Размерность этого вектора, как и размерность пространства, равна количеству различных термов во всей коллекции, и является одинаковой для всех документов.

Более формально

dj = (w1j, w2j, …, wnj)

где dj — векторное представление j-го документа, wij — вес i-го терма в j-м документе, n — общее количество различных термов во всех документах коллекции.

Располагая таким представлением для всех документов, можно, например, находить расстояние между точками пространства и тем самым решать задачу подобия документов — чем ближе расположены точки, тем больше похожи соответствующие документы. В случае поиска документа по запросу, запрос тоже представляется как вектор того же пространства — и можно вычислять соответствие документов запросу.

Методы взвешивания термов[править | править вики-текст]

Для полного определения векторной модели необходимо указать, каким именно образом будет отыскиваться вес терма в документе. Существует несколько стандартных способов задания функции взвешивания:

  • булевский вес — равен 1, если терм встречается в документе и 0 в противном случае;
  • tf (term frequency, частота терма) — вес определяется как функция от количества вхождений терма в документе;
  • tf-idf (term frequency - inverse document frequency, частота терма - обратная частота документа) — вес определяется как произведение функции от количества вхождений терма в документ и функции от величины, обратной количеству документов коллекции, в которых встречается этот терм.

Косинусное сходство[править | править вики-текст]

Косинусное сходство – это мера сходства между двумя векторами предгильбертового пространства, которая используется для измерения косинуса угла между ними.

Если даны два вектора признаков, A и B, то косинусное сходство, cos(θ), может быть представлено используя скалярное произведение и норму:

\text{similarity} = \cos(\theta) = {A \cdot B \over \|A\| \|B\|} = \frac{ \sum\limits_{i=1}^{n}{A_i \times B_i} }{ \sqrt{\sum\limits_{i=1}^{n}{(A_i)^2}} \times \sqrt{\sum\limits_{i=1}^{n}{(B_i)^2}} }

В случае информационного поиска, косинусное сходство двух документов изменяется в диапазоне от 0 до 1, поскольку частота терма (веса tf-idf) не может быть отрицательной. Угол между двумя векторами частоты терма не может быть больше, чем 90°.

Одна из причин популярности косинуснуго сходства состоит в том, что оно эффективно в качестве оценочной меры, особенно для разреженных векторов, так как необходимо учитывать только ненулевые измерения.

«Мягкая» косинусная мера[править | править вики-текст]

«Мягкая» косинусная мера[1] – это «мягкая» мера сходства между двумя векторами, т.е. мера, которая учитывает сходства между парами признаков. Традиционное косинусное сходство рассматривает признаки векторной модели как независимые или полностью обособленные, тогда как «мягкая» косинусная мера учитывает сходства признаков в векторной модели. Это позволяет обобщить идею косинусной меры, а также идею сходства объектов в векторном пространстве («мягкое» сходство).

Например, в области обработки естественного языка сходство между объектами весьма интуитивно. Такие признаки как слова, N-граммы или синтаксические N-граммы[2] могут быть довольно схожи, хотя формально они считаются различными признаками в векторной модели. Например, слова «играть» и «игра» различны и, таким образом, отображаются в различных измерениях в векторной модели, хотя, очевидно, что они связаны семантически. В случае N-грамм или синтаксических N-грамм может быть применено расстояние Левенштейна (кроме того, расстояние Левенштейна может быть также применено и к словам).

Для расчета «мягкой» косинусной меры вводится матрица s сходства между признаками. Она может рассчитываться, используя расстояние Левенштейна или другие меры сходства, например, различные меры сходства в Wordnet. Затем производится умножение с применением данной матрицы.

Если даны два N-мерных вектора a и b, то мягкая косинусная мера рассчитывается следующим образом:

\begin{align}
    \operatorname{soft\_cosine}_1(a,b)=
    \frac{\sum\nolimits_{i,j}^N s_{ij}a_ib_j}{\sqrt{\sum\nolimits_{i,j}^N s_{ij}a_ia_j}\sqrt{\sum\nolimits_{i,j}^N s_{ij}b_ib_j}},
\end{align}

где sij = сходство(признакi, признакj).

При отсутствии сходства между признаками (sii = 1, sij = 0 для ij)), данное уравнение эквивалентно общепринятой формуле косинусного сходства.

Степень сложности этой меры является квадратичной, что делает её вполне применимой к задачам реального мира. Степень сложности может быть также трансформирована в линейную.

Примечания[править | править вики-текст]

  1. Grigori Sidorov, Alexander Gelbukh, Helena Gómez-Adorno, and David Pinto. Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model. Computación y Sistemas, Vol. 18, No. 3, pp. 491–504, 2014, DOI: 10.13053/CyS-18-3-2043.
  2. Grigori Sidorov, Francisco Velasquez, Efstathios Stamatatos, Alexander Gelbukh, and Liliana Chanona-Hernández. Syntactic Dependency-based N-grams as Classification Features. LNAI 7630, pp. 1–11, 2012, ISBN 978-3-642-37798-3.

Литература[править | править вики-текст]

  • Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze An Introduction to Information Retrieval Draft. Online edition. Cambridge University Press. - 2009. - 544 pp.
  • Daniel Jurafsky, James H. Martin Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Second Edition. Pearson Education International. - 2009. - 1024 pp.

См. также[править | править вики-текст]

  • Apache Lucene — программная реализация информационного поиска, основанная на векторной модели.