Технологии, стоящие за алгоритмом Google

7/16/2008
В моей предыдущей статье я описал философию, лежащую в основе ранжирования Google. В рамках нашего разговора о качестве поиска я бы хотел подробнее рассказать вам о технологиях, на которых основан соответствующий алгоритм. Поисковая технология Google базируется на академической дисциплине под названием “информационный поиск” (ИП), разрабатываемой научным сообществом уже почти 50 лет. Подход предполагает использование статистических сигналов, таких, например, как частота употребления того или иного слова, для конечного ранжирования страниц по тому или иному запросу (для быстрого ознакомления с дисциплиной см. “Современный информационный поиск: краткий обзор” ).  ИП выступило в роли фундамента, на котором была построена огромная система, использующая ссылки, структурный анализ страниц и множество других поисковых инноваций.

В течение последнего десятилетия парадигма поиска сместилась от дайте мне то, что я сказал к дайте мне то, что я хочу.  Требования пользователей к качеству поиска стали существенно строже. Мы постоянно работаем над тем, чтобы максимально соответствовать ожиданиям каждого пользователя. Для достижения этой цели необходимо как можно лучше понимать сами страницы, запросы пользователей а также их конечные намерения. В последнее десятилетие мы вывели технологии, ответственные за понимания этих трех главных компонентов поиска, на качественно новый уровень.

Сотрудники Google используют квадратные скобки для обозначения начала и конца поискового запроса (см. “Как обозначать запросыМэта Каттса) и я буду придерживаться данной нотации в своей статье. (Замечу также: страницы и результаты поиска меняются довольно быстро, поэтому некоторые из рассмотренных ниже запросов через какое-то время могут начать вести себя несколько иначе).

Толкование страниц. В течение многих лет мы напряженно работали над системой краулинга и индексации. В результате мы имеем в своем распоряжении весьма обширный, регулярно обновляемый индекс. Однако масштаб охвата и актуальность индекса — далеко не единственные направления, над которыми мы работаем. Одной из наиболее важных технологий, разработанных нами для лучшей интерпретации документов, является привязка страницы к важным для нее понятиям, даже если эти понятия отсутствует на данной странице. Мы находим главную страницу официального сайта лондонской галереи Sprovieri по итальянскому запросу [galleria sprovieri londra] даже несмотря на то, что на самой странице нет ни слова London, ни слова Londra. Американский пользователь, ищущий [cool tech pc vancouver, wa], находит страницу www.cooltechpc.com даже несмотря на то, что страница не содержит никакой информации о том, что фирма находится в штате Ванкувер (Vancouver, WA). К числу других ключевых технологий, созданных нами, относятся деление слов на более важные и менее важные, а также ранжирование страниц с учетом того, насколько свежей является размещенная на них информация.

Толкование запросов. Правильное понимание того, что именно хотят найти пользователи (помимо нескольких слов, введенных в строку запроса), критически важно для успешного функционирования всей системы. Мы осуществили в этой области ряд важных инноваций, включая лучшую в своем классе систему подсказок, продвинутую систему анализа синонимов (advanced synonyms system), а также систему анализа формальных понятий (concept analysis system).

Синонимы являются фундаментом нашего подхода к толкованию запросов. (Как становится ясно из дальнейшего текста, автор не делает различия между синонимами и омонимами, обозначая их одним термином — синоним; данную неточность мы оставляем на совести автора — прим. пер.) Это одна из наиболее сложных проблем, над которыми работают в Google. Люди распознают синонимы без всякого труда, однако для систем автоматической обработки текста они создают колоссальные трудности. Как пользователь я не желаю много думать о том, какие именно слова мне следует использовать в данном запросе. Более того, я могу быть неуверенным в правильности употребления того или иного слова. Тут вступает в действие система анализа синонимов. Она осуществляет довольно сложные преобразования с запросом — к примеру, она понимает, что слово  Drв запросе [Dr Zhivago] (докторЖиваго) означает “Doctor “, в то время как в словосочетании [Rodeo Dr] его следует расшифровать как “Drive“.Пользователь, ищущий [back bumper repair] (замена заднего бампера) получает результаты, соответствующие [rearbumper repair] (более точное синонимичное выражение — прим. пер.) Для запроса [Ramstein ab] мы ищем результаты, соответствующие [Ramstein Air Base]; для запроса [b&b ab] — [Bed and Breakfasts in Alberta, Canada]. Мы наладили подобную интерпретацию запросов почти для сотни различных языков, и я очень горжусь этим достижением.

Еще одной технологией, использующейся при ражнировании, является идентификация понятий. Выявление понятий, критически важных для понимания данной страницы, позволяет существенно повысить релевантность выдачи. Наш алгоритм понимает, что пользователь, пославший запрос [new york times square church] (фраза не имеет однозначного перевода, буквально она может быть понята как “газета New York Times, квадратная церковь”  или как “церковь на площади  Times Square в Нью-Йорке” — прим. пер.), ищет  знаменитую церковь на Times Square , а вовсе не статью в New York Times. Мы не останавливаемся на идентификации понятий, мы еще и улучшаем запрос, если в этом возникает необходимость. Так, например, если кто-то ищет [PC and its impact on people] (компьютеры и их влияние на людей), система понимает, что на самом деле пользователю нужно [impact of computers on society](влияние компьютеров на общество; в контексте русского языка подмена представляется не вполне правомерной — прим. пер.)

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

Толкование намерений пользователя. Цель работы по распознаванию намерений пользователя — найти то, что пользователь хочет, а не то, что он пишет в поисковой строке. Здесь все начинается с системы локализации (worldclass localization system), которой помогает технология персонализованного поиска и несколько других интересных инноваций, например — Google Universal Search. Наша установка “обеспечить как можно лучшую локально-релевантную выдачу в глобальном масштабе” (best locally relevant results served globally) закономерным образом воплощается в развитие технологии локального поиска. Один и тот же запрос, введенный в разных странах, может вернуть абсолютно разные результаты. Пользователям из США, ищущим [bank], следует показать ссылки на американские банки, в то время как их английские визави должны попасть на сайты британских финансовых учреждений. Запрос должен вернуть локализованные результаты и в случаях других англоязычных стран —Австралии, Канады, Новой Зеландии и Южной Африки. Настоящее веселье начинатся тогда, когда аналогичный запрос набирают пользователи из неанглоязычных стран, таких как Египет, Израиль, Япония, Россия, Саудовская Аравия и Швейцария. Точно так же запрос [football] (футбол) вернет совершенно разные результаты в Австралии,Великобритании и США. Эти примеры хорошо иллюстрируют то, как мы используем локализованные версии понятий (финансовые институты, спорт и т.д.) Ситуация осложняется тем, что одинаковые запросы могут иметь абсолютнонесовпадающие смыслы в разных странах. Например, во Франции [Côte d’Or] — это географический регион, однако в соседней Бельгии, также говорящей по-французски, это крупнейший производитель шоколада. Да-да, с этим мы тоже справляемся.
Персонализация — еще один краеугольный камень нашей системы, — это технология, подгоняющая выдачу под каждого конкретного пользователя. Авторизованные пользователи, включившие историю поиска, в конечном итоге получают более релевантные результаты. К примеру, пользователь, часто вводящий в систему запросы, связанные с футболом, получит более “футбольную” выдачу по запросу [giants] (гиганты), чем остальные пользователи, в чьей выдаче будут превалировать баскетболисты. Точно также если вы отдаете предпочтение ссылкам на отдельный интернет-магазин, вы будете чаще встречать его страницы в выдаче при поиске тех или иных товаров. Наши наблюдения убедительно говорят о том, что пользователи, получающие персонализованные результаты, находят их более релевантными по сравнению с неперсонализованной выдачей.

Еще один случай расшифровки пользовательского намерения можно рассмотреть на примере запроса [chevroletmagnum]. Вообще-то модель Magnum выпускает компания Dodge, а не Chevrolet. Поэтому мы предлагаем ссылку на запрос [Dodge Magnum] в качестве подсказки: “See results for: dodge magnum in our result set“.

Наша работа над универсальным поиском (Universal Search) — очередной пример того, как мы пытаемся прояснить намерение пользователя дабы вернуть ему действительно нужные результаты. Здесь в ответ на запрос [bangalore] (Бангалор, адм. центр штата Карнатака, Индия — прим. пер.) вы получите не только релевантные веб-страницы, но также карту Бангалора, видеоролики со сценами уличной жизни (когда я смотрю это видео, мне кажется, что я уже почти там), а также ссылки на свежие новости и блоги, связанные с этим местом.

В заключение позвольте мне кратко описать наше последнее нововведение — перекрестный языковой поиск (CrossLanguage Information RetrievalCLIR). CLIR позволяет пользователям сперва получить информацию по интересующей их теме на неродном языке, а после использовать технологию машинного перевода Google для ознакомления с этой информацией. Я называю это улучшение “дайте мне то, что я хочу на любом языке”. Если российский пользователь, ищущий биографию Тони Блэра, введет на русском языке запрос [Тони Блэр биография], в нижней части выдачи появится предложение посмотреть результаты, полученные из англоязычного сегмента сети:



Точно так же египетскому пользователю, ищущему песни из диснеевских фильмов с помощью запроса [أغاني أفلام ديزني], будет предложено ознакомиться с релевантными документами, переведенными с английского языка. Мы возлагаем наCLIR большие надежды, поскольку эта технология самым очевидным образом приближает нас к нашей главной цели — упорядочить информацию, содержащуюся во всемирной сети, и сделать ее универсально доступной и удобной для пользования. 

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

Надеюсь, что пара моих последних постов, посвященная ранжированию Google, убедила вас в том, что мы по-настоящему увлечены поисковыми технологиями. Наша цель — снабдить качественным поиском пользователей со всего мира —  беспрецедентна по своему масштабу. Мы гордимся тем, что нам удалось создать поистине прекрасную систему ранжирования, и напряженно работаем каждый день, чтобы сделать ее еще лучше.

Источник: http://googleblog.blogspot.com/2008/07/technologies-behind-google-ranking.html

Метки:

Добавить комментарий