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

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

Создается словарь коллекции и происходит линеаризация текста. Из коллекции удаляются стоп-слова, которые не несут семантики. Слова коллекции заменяются термами, которые получаются в результате лемматизации (привидения к нормальной форме) либо стемминга (взятия общей основы для семейства слов). Слова в разных регистрах и в различных вариантах произношения, а также их аббревиатуры приводятся к одной форме.
Таким образом, каждый документ коллекции представляется набором термов, которые в него входят, а также частотами вхождения. При этом порядок следования слов, соответствующих термам, в представлении документа не учитывается.
Термы коллекции могут сортироваться в соответствии с к неким критерием, например по алфавиту или по мере информации слова, представляющего терм, или на основе критерия морфологической эквивалентности. Тогда документ представляется набором порядковых номеров термов.
Документам коллекции присваиваются идентификаторы, например отвечающие за местоположение документа в файловой системе поискового сервера, либо вместо идентификаторов используются их порядковые номера.
Далее строится матрица представления, строчки которой соответствуют термам или их порядковым номерам, а столбцы – идентификаторам документов коллекции. Элементами матрицы являются некие весовые коэффициенты, которые соответствуют количественной оценке предположения о том, что семантика данного документа отражается данным термом [*].
Механизм вычисления данных коэффициентов может отличаться у различных поисковых машин, однако существует классический способ их вычисления, к которому каждый разработчик добавляет свои механизмы. Классический способ основан на предположении о том, что положение * можно оценить, с помощью отношения локальной частоты терма (частоты терма в данном документа) к глобальной частоте терма (частоте терма во всей коллекции). Данный подход носит название TF*IDF (term frequency-inverse document frequency). Параметры TF и IDF определяют по разному. Например, локальная частота термина может быть нормализована с учетом длины документа и средней длины документов в коллекции. А глобальная определяться как log(1+N/ft), где N – количество документов в коллекции, а ft –количество документов в которых терм встречается хотя бы один раз.
Теперь каждый документ можно представить вектором – столбцом из матрицы представления. При поиске, то есть обработке поискового запроса, последний также представляется в виде вектора в пространстве термов словаря коллекции. И процедура поиска сводится к поиску вектора документа, как можно более сонаправленного с вектором запроса.
Для этого вычисляется косинус угла между вектором запроса и векторами документов коллекции. Далее документы ранжируются по убыванию косинуса угла между ними. Для вычисления пользуются формулой

то есть отношением скалярного произведения векторов документа и запроса к произведению их длин.
Исходя из закона Ципфа, матрица представления является сильно разряженной, порядка 1-го процента ее элементов не равны нулю. Это обстоятельство существенно ускоряет расчет метрик TF*IDF.

Комментарии

Статья хорошая, но без

Статья хорошая, но без картинок и таблиц несколько замудреная. Хотелось бы увидеть пример вычисления с пояснением, картинками и таблицами для наглядности. А так - это, извините, придется перечитывать весь курс линейной алгебры :(