LAB1 Апухтин М.А. (544676), страница 2
Текст из файла (страница 2)
TF-IDF (от англ. TF — term frequency, IDF — inverse document frequency) — статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса. Вес некоторого слова пропорционален количеству употребления этого слова в документе, и обратно пропорционален частоте употребления слова в других документах коллекции.
Мера TF-IDF часто используется в задачах анализа текстов и информационного поиска, например, как один из критериев релевантности документа поисковому запросу, при расчёте меры близости документов при кластеризации.
Структура формулы
TF (term frequency — частота слова) — отношение числа вхождения некоторого слова к общему количеству слов документа. Таким образом, оценивается важность слова ti в пределах отдельного документа.
где ni есть число вхождений слова в документ, а в знаменателе — общее число слов в данном документе.
IDF (inverse document frequency — обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в документах коллекции. Учёт IDF уменьшает вес широкоупотребительных слов.
,
где
|D| — количество документов в корпусе;
— количество документов, в которых встречается ti (когда
).
Таким образом, мера TF-IDF является произведением двух сомножителей: TF и IDF.
Большой вес в TF-IDF получат слова с высокой частотой в пределах конкретного документа и с низкой частотой употреблений в других документах.
Пример
Если документ содержит 100 слов и слово «заяц» встречается в нём 3 раза, то частота слова (TF) для слова «заяц» в документе будет 0,03 (3/100). Один из вариантов вычисления частоты документа (DF) определяется как количество документов содержащих слово «заяц», разделенное на количество всех документов. Таким образом, если «заяц» содержится в 1000 документов из 10 000 000 документов, то частота документа (DF) будет равной 0,0001 (1000/10000000). Для расчета окончательного значения веса слова необходимо разделить TF на DF (или умножить на IDF). В данном примере, TF-IDF вес для слова «заяц» в выбранном документе будет 300 (0,03/0,0001).
PageRank
PageRank — это числовая величина, характеризующая «важность» веб-страницы. Чем больше ссылок на страницу, тем она становится «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank — это метод вычисления веса страницы путём подсчёта важности ссылок на неё.
Формула вычисления:
PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)),
где PR(A) — это вес PageRank страницы A (тот вес, который мы хотим вычислить),
D — это коэффициент затухания, который обычно устанавливают равным 0,85,
PR(T1) — вес PageRank страницы, указывающей на страницу A,
C(T1) — число ссылок с этой страницы,
PR(Tn)/C(Tn) означает, что мы делаем это для каждой страницы, указывающей на страницу A.
LexRank
LexRank – это лексический аналог функции ранжирования PageRank, используемой в поисковике Google.
Модель работы поисковой машины Yandex
Общий принцип работы современной поисковой системы был описан выше, поэтому рассмотрим особенности работы поисковой машины Yandex.
В 2009 году Яндекс внедрил новый метод машинного обучения — Матрикснет. Матрикснет — это метод машинного обучения, с помощью которого строится формула ранжирования Яндекса. Важная особенность этого метода — в том, что он устойчив к переобучению. Это позволяет учитывать очень много факторов ранжирования — и при этом не увеличивать количество оценок асессоров и не опасаться, что машина найдет несуществующие закономерности.
С помощью Матрикснета можно построить очень длинную и сложную формулу ранжирования, которая учитывает множество различных факторов и их комбинаций. Другие методы машинного обучения позволяют либо строить более простые формулы с меньшим количеством факторов, либо нуждаются в большей обучающей выборке. Матрикснет строит формулу с десятками тысяч коэффициентов. Это позволяет сделать существенно более точный поиск.
Ещё одна важная особенность Матрикснета — в том, что формулу ранжирования можно настраивать отдельно для достаточно узких классов запросов. Например, улучшить качество поиска только по запросам про музыку. При этом ранжирование по остальным классам запросов не ухудшится. Для примера можно представить себе формулу ранжирования в виде сложного механизма с большим количеством ручек. На механизмах, построенных по другим технологиям, каждая ручка влияет на все запросы. Матрикснет даёт возможность настроить каждую ручку отдельно для своего класса запросов.
Кроме того, Матрикснет автоматически выбирает разную чувствительность для разных диапазонов значений факторов ранжирования. Это в чем-то похоже на работу на аэродроме — когда среди постоянного шума взлетающих самолётов нужно слышать и голоса людей. Если заткнуть уши, то самолёты будут слышны, а голоса — нет. Сотрудники аэропорта работают в специальных наушниках, слабо чувствительных к громкому шуму — так можно услышать и самолёты, и голоса людей.
Как устроено ранжирование
Поскольку поисковая система работает с очень большими объёмами информации, по каждому запросу ей нужно проверить признаки миллионов страниц, определить их релевантность и соответственно упорядочить. Так, чтобы сверху оказались более подходящие страницы. Чтобы проверить свойства всех страниц по очереди, нужно либо очень много серверов, которые могут быстро обработать информацию обо всех страницах, либо очень много времени — а поиск должен работать быстро, иначе пользователи не дождутся результатов. Матрикснет позволяет проверить очень много факторов за короткое время и без существенного увеличения вычислительных мощностей.
Поиск ведётся одновременно на тысячах серверов. Каждый сервер ищет по своей части индекса и формирует список самых лучших результатов. В него гарантированно попадают все самые релевантные запросу страницы.
Дальше из этих списков составляется один общий, и страницы, попавшие туда, упорядочиваются по формуле ранжирования — той самой длинной и сложной формуле, построенной с помощью Матрикснета, с учётом всех факторов и их комбинаций. Таким образом, наверху поисковой выдачи оказываются все самые релевантные сайты — и пользователь почти мгновенно получает ответ на свой вопрос.
Модель работы поисковой машины Google
Общий принцип работы современной поисковой системы был описан выше, поэтому рассмотрим особенности работы поисковой машины Google.
Основные принципы ранжирования Google:
-
наиболее релевантные запросу результаты;
-
стараться сделать алгоритмы как можно проще;
-
полная автоматизация, никакого ручного вмешательства в работу алгоритмов.
Понимание страниц
Одна из ключевых технологий для понимания страниц привязывает логически-важные понятия к странице, даже если она их не содержит.
Допустим, мы найдем официальный сайт Sprovieri Gallery в Лондоне по запросу на итальянском [galleria sprovieri londra], хотя на сайте нет ни слова London, ни Londra. В США пользователь, ищущий [cool tech pc vancouver, wa] найдет страницу www.cooltechpc.com несмотря на то, что нигде на странице не указано, что они находятся в Ванкувере. Другие технологии включают в себя распознавание более важных и менее важных слов на странице и свежесть информации на сайте.
Понимание запросов
Важно понимать, что ищут пользователи (больше, чем просто слова в их запросе).
Многие пользователи время от времени используют систему распознавания содержимого. Системе известно, что кто-то, вводящий в строке поиска [kofee annan], на самом деле ищет мистера Кофи Аннана, и подсказывает ему об этом: Did you mean: kofi annan; тогда как если кто-то ищет [kofee beans], то ему на самом деле нужны coffee beans (кофейные бобы).
Синонимы — это фундамент работы по пониманию запросов. Это одна из самых сложных проблем, решаемых в Google. Даже если что-то очевидно для человека, это может быть неразрешимой проблемой для автоматического языкового обработчика.
Как пользователь, я не хочу слишком много думать о том, какие слова мне использовать для запросов. Часто я даже не знаю, какие слова правильные. Здесь включается в работу система синонимов. Она может выполнять сложные модификации запросов, то есть она знает, что слово ‘Dr’, в запросе [Dr Zhivago], означает Doctor, в то время как в [Rodeo Dr] оно значит Drive. Пользователь, который ищет [back bumper repair] получает результаты для rear bumper repair. Для [Ramstein ab] мы автоматически получим результат для Ramstein Air Base, а при запросе [ b&b ab] мы будем искать Bed and Breakfasts in Alberta, Canada.
Другая технология, которая используется в системе ранжирования — это поиск идеи. Обнаружение главной идеи запроса позволяет возвратить намного более релевантные результаты. Например, алгоритмы поймут, что в запросе [new york times square church] пользователь ищет известную церковь на Times Square, а не статьи из New York Times.
Понимание пользователей
Работа по пониманию намерений пользователя нацелена на возврат результатов, которые действительно хотят пользователи получить, а не просто тех, которые они написали в своем запросе. Эта работа начинается с системы локализации мирового уровня. И добавляет улучшенную технологию индивидуализации и несколько других больших шагов, таких как Универсальный Поиск.
Упор на принцип «наиболее релевантные запросу результаты» отражается в работе по локализации. Один и тот же запрос, написанный в различных странах, даст абсолютно разные результаты. Пользователь, ищущий [bank] в США, должен получить Американские банки, в то время как пользователь в Великобритании ищет Bank Fashion line или British financial institutions. Результаты этого запроса должны содержать местные финансовые подразделения в других англоговорящих странах, таких как Австралия, Канада, Новая Зеландий, ЮАР.
Персонализация
Персонализация — это еще одна сильная особенность поисковой системы Google, которая подгоняет результаты поиска для каждого пользователя.
Пользователи, которые "залогинились" во время поиска и имеют включенный журнал посещений, получают результаты, которые более релевантны для них, чем общие результаты Google. Например, пользователь, который имеет множество запросов, относящихся к футболу, получит более «футбольные» результаты на запрос [giants], тогда как другие пользователи могут получить результаты, относящиеся к бейсбольной команде.
Расширенный режим подачи запросов к поисковой системе
Яндекс
Яндекс позволяет решать сложные поисковые задачи, не пользуясь языком запросов. Для этого воспользуйтесь формой расширенного поиска, где сложные поисковые условия задаются в простой и наглядной форме.
Обратите внимание, что при заполнении нескольких полей Яндекс учтет все заданные вами условия одновременно. Например, указав язык документа как «русский» и введя в поле находятся на сайте адрес какого-либо сайта, вы в результате поиска получите список документов с заданного сайта, написанных на русском языке.
Яндекс позволяет искать страницы не только по всей базе, но и по группе страниц, расположенных на одном или нескольких сайтах. Для этого достаточно указать через запятую адреса сайтов в поле находятся на сайте.
После слова «Итого» вы можете прочитать описание заданного запроса на естественном языке. Выглядеть это может, например, так:
Все параметры поиска, у которых вы не меняли значение по умолчанию, не упоминаются.