Как устроены поисковые системы

Preview:

DESCRIPTION

 

Citation preview

Как устроены поисковые

системы

Поисковая система

программно-аппаратный комплекс

предназначен для осуществления поиска в

сети Интернет

ВХОД:

Запрос пользователя, задаваемый в видетекстовой фразы - поискового запроса

Поисковая система

ВЫХОД:

список ссылок на источники информации,

в порядке релевантности

ТЕРМИН релевантность

семантическое соответствие

поискового запроса и поискового

образа документа

ВХОД: 1

ВЫХОД: ?? Тысячи ??

Основные характеристики

поисковых систем

• Полнота

• Точность

• Актуальность

• Скорость поиска

• Наглядность

Полнота поиска

Всего страниц – 1000

Найдено – 500

Полнота = 0.5

Точность поиска

Найдено – 1000

Из них с точным

словосочетанием – 300

Точность = 0.3

Вопрос для разминки

Почему поиск файла на моем компьютере занимает 10-20

секунд,

а поиск по содержимому всех документов во всем интернете

меньше секунды?

Заранее подготовленные данные

Примеры:

• Телефонный справочник.

• Каталог библиотеки.

• Предметный указатель в книге.

Кошмар телефониста

+7-916-0000001 – Иванов Иван Иванович

+7-916-0000002 – Петров Андрей Викторович

+7-916-0000003 – Сидоров Дмитрий Иванович

+7-916-0000004 – …

+7-916-0000005 – …

+7-916-0000006 – …

+7-916-0000007 – …

+7-916-0000008 – …

+7-916-0000009 – …

Ваш запрос на поиск телефона «Иванова Виктора Петровича» принят. Пожалуйста, перезвоните через 3

рабочих дня.

Кошмар библиотекаря

Начните с северной части библиотеки. Вы не забыли взять спальный мешок и

запас воды и пищи на неделю?

В словах нужен порядок

Предметный указатель

Б• Бармаглот, 196, 198, 217 • Брандашмыг , 15, 18, 317

В• Варкаться , 2, 18, 39

З• Зелюк, 15, 47, 79, 115• Злопастность, 18, 45, 317М• Мова, 12, 16, 17• Мюмзик , 8, 18, 191

Н• Нава, 56

П• Пыряться, 77, 128

Р• Рымать , 14

С• Свирлепость, 195, 278

Х• Хливкость, 33, 135• Хрюкотать , 134, 156

Ш• Шорёк, 2, 4, 6, 8, 15

Предметный указатель

Б• Бармаглот, 196, 198, 217 • Брандашмыг , 15, 18, 317

В• Варкаться , 2, 18, 39

З• Зелюк, 15, 47, 79, 115• Злопастность, 18, 45, 317М• Мова, 12, 16, 17• Мюмзик , 8, 18, 191

Н• Нава, 56

П• Пыряться, 77, 128

Р• Рымать , 14

С• Свирлепость, 195, 278

Х• Хливкость, 33, 135• Хрюкотать , 134, 156

Ш• Шорёк, 2, 4, 6, 8, 1515

Поисковый индекс

• Заранее подготовленные данные для поисковой машины.

• Все слова, не только спец. термины.

• Все упоминания слов.

• Номера предложений/слов.

• Служебная информация.

Как мы ищем по индексу«Летит ужасный Бармаглот и пылкает огнем»

и: 1,2,3,4,5,6,7,8,9,…,391,392,393,…,100001,100002,…

пылкает: 10001, 27005, 60012, 112060 …

Слово Частота Документы

Летит 52.5M 32M

ужасный 80.3M 59M

Бармаглот 370K 118K

и 38.5B 2.5B

пылкает 11K 4.6K

огнем 124M 62M

Всего 4K

Поисковый сервер

Поисковый кластер

“Базовый поиск” x NNN

“Метапоиск”

www.yandex.ru

IP1 (77.88.21.3) IP2 (87.250.251.3) IP3 (93.158.134.3) IP4 (213.180.204.3)

метапоиски

Балансировщик нагрузки

Базовые поиски

Дата Центр #2

метапоиски

Балансировщик нагрузки

Базовые поиски

Дата Центр #1

метапоиски

Балансировщик нагрузки

Базовые поиски

Дата Центр #3

метапоиски

Балансировщик нагрузки

Базовые поиски

Дата Центр #4

Откуда берется индекс

• Большой робот

В среднем переобходит раз в 2 неделиНовая база выкладывается раз в 2-3 дня

• Быстрый/Realtime роботСущественно меньше страницДля особо важных 5-7 минутДля остальных 1-2 часа

Робот

Интернет

Паук Паук Паук

Быстрый роботБольшой робот

метапоиски

Балансировщик нагрузки

Базовые поиски

Быстрые поиски

Пользователь

Робот – это сложно• Сделать телефонный справочник очень

просто.

• Сделать робот сложнее

– Интернет бесконечный, но в среднем в нем мусор и очень большое дублирование.

– Сайты быстро меняются и являются активной сущностью.

– Многие сайты не хотят, чтобы их обходили.

– Много сайтов целенаправленно пытаются обмануть робота.

Глобальные справочники ресурсовГлобальныеГлобальные справочникисправочники ресурсовресурсов

Yahoo! (Yahoo! (http://www.yahoo.comhttp://www.yahoo.com))

� Один из самых первых, надежных и авторитетных справочников Всемирнойпаутины.

� Транснациональный проект.

� Внушительный объем (2 000 000 сайтов, 25 000 категорий).

� Научность и логичность используемой схемы классификации.

� 14 категорий: Бизнес и Экономика, Новости и СМИ, Образование, …

� Перекрестная структура.

� Встроенная поисковая система.

Глобальные справочники ресурсовГлобальныеГлобальные справочникисправочники ресурсовресурсов

Open Directory Project (Open Directory Project (http://http:// dmoz.orgdmoz.org))

� Один из наиболее полных справочников в мире (6 000 000 сайтов, 540 000 категорий).

� Некоммерческая направленность.

� Научная и логическая иерархическая структура.

� Русскоязычный вариант (22 000 сайтов).

� Динамически развивающийся проект (среднее увеличение справочника болеечем на 1000 сайтов в день).

Глобальные справочники ресурсовГлобальныеГлобальные справочникисправочники ресурсовресурсов

About (About (http://http:// www.about.comwww.about.com//))

� Справочник, поддерживаемый экспертами различных областей знания.

� 24 категории: Автомобили, Хобби, Подростки, ...

� Огромное количество рекламы.

Российские справочники ресурсовРоссийскиеРоссийские справочникисправочники ресурсовресурсов

АпортАпорт ((http://http:// aport.ruaport.ru ))

� Единственный профессионально поддерживаемый отечественный справочник.

� Является порталом.

� Многоуровневая иерархическая структура.

� Сортировка ссылок (по дате, по алфавиту, …).

� Низкая скорость актуализации сведений.

Российские справочники ресурсовРоссийскиеРоссийские справочникисправочники ресурсовресурсов

ПингвинПингвинПингвин

Иван СусанинИванИван СусанинСусанин

УлиткаУлиткаУлитка

http://www.pingwin.ruhttp://http://www.pingwin.ruwww.pingwin.ru

http://www.susanin.nethttp://http://www.susanin.netwww.susanin.net

http://www.ulitka.ruhttp://http://www.ulitka.ruwww.ulitka.ru

Глобальные поисковые системыГлобальныеГлобальные поисковыепоисковые системысистемы

Google (Google (http://http:// www.google.comwww.google.com))

� Система запущена в 1998 году.

� Единоличный лидер среди глобальных поисковых систем (3 3000 000 000 web-страниц).

� Лучшие на сегодня возможности поиска иллюстраций (425 000 иллюстраций).

� Специальный модуль ранжирования результатов.

� Наличие русскоязычного интерфейса (http://www.google.com.ru).

� Высокая степень комфорта для пользователя.

� Простая методика поиска.

Глобальные поисковые системыГлобальныеГлобальные поисковыепоисковые системысистемы

LycosLycosLycos

HotBotHotBotHotBot

ExciteExciteExcite

http://www.lycos.comhttp://http://www.lycos.comwww.lycos.com

http://www.hotbot.comhttp://http://www.hotbot.comwww.hotbot.com

http://www.excite.comhttp://http://www.excite.comwww.excite.com

Российские поисковые системыРоссийскиеРоссийские поисковыепоисковые системысистемы

ЯндексЯндекс ((http://http:// www.yandex.ruwww.yandex.ru//))

� Запущен в сентябре 1997 года.

� Признанный лидер российского поискового сервиса.

� Еженедельная актуализация базы.

� Простая форма запроса.

� На начало февраля 2004 года Яндексом проиндексировано свыше 970 000 российских и зарубежных русскоязычных серверов, а также серверов натерритории СНГ (всего учтено более 140 000 000 оригинальных документов).

Российские поисковые системыРоссийскиеРоссийские поисковыепоисковые системысистемы

Rambler (Rambler (http://http:// www.rambler.ruwww.rambler.ru ))

� Запущен в октябре 1996 года.

� Проведенная в декабре 2002 года коренная модернизация программно-аппаратной части позволил поисковой системе вновь приобрести былойавторитет (занимает второе место после Яндекса по величине базы данных).

� Производительность робота – 6 900 000 страниц в сутки.

� Простая и расширенная форма ввода запроса.

� Rambler Top 100.

Российские поисковые системыРоссийскиеРоссийские поисковыепоисковые системысистемы

Turtle (Turtle ( http://www.turtle.ruhttp://www.turtle.ru ))

� Запущена в июне 2002 года.

� Около 100 000 000 оригинальных документов.

� Быстрый результат запроса.

� Перспективная развивающаяся система.

Мета-поисковые системыМетаМета--поисковыепоисковые системысистемы

MetaCrawlerMetaCrawler ((http://http:// www.metacrawler.comwww.metacrawler.com))

Мета-поисковые системы не имеют собственных поисковых роботов и баз данных(индексированных файлов). Их достоинство заключается в умении рассылатьзапросы по другим системам, а затем суммировать результаты.

Структура информационно-поисковых запросовСтруктураСтруктура информационноинформационно--поисковыхпоисковых запросовзапросов

( )( )( )Группировка

NOT, -~ (оператор «И НЕ» впределах предложения) ~~ (оператор «И НЕ» впределах документа)

NOT, !Логическое

НЕ

Or, |, ИЛИ|Or, |Логическое

ИЛИ

AND, &, +, И, пробел

& , Пробел(в пределахпредложения)

&& (в пределах документа)

And &

Пробел

Логическое

И

APORTYANDEXRAMBLERОПЕРАТОР

Стратегия поиска информации в ИнтернетеСтратегияСтратегия поискапоиска информацииинформации вв ИнтернетеИнтернете

1. Выберите основные понятия, описывающие предмет вашегопоиска.

2. Выберите ключевые слова, подходящие к данному понятию.

3. Подыщите как можно больше синонимов к вашимключевым словам.

4. Определите, какой тип операторов поиска (OR, AND, NOT) лучше подойдет в вашем случае.

5. Выберите подходящую поисковую систему.

Стратегия поиска информации в ИнтернетеСтратегияСтратегия поискапоиска информацииинформации вв ИнтернетеИнтернете

1. Изучите особенности поисковой системы, воспользовавшись разделом Помощь.

2. Подготовьте заранее выражения для поиска, провериворфографию.

3. Проведите запросы несколько раз, слегка изменяявыражение.

4. Модифицируйте свои запросы в зависимости отрезультатов.

5. Попробуйте выполнить тот же запрос на других поисковыхсистемах.

Язык поисковых запросовЯзыкЯзык поисковыхпоисковых запросовзапросов

РЕГИСТРРЕГИСТР

В общем случае, регистр написания поисковыхслов и операторов значения не имеет, то есть доми ДОМ, Not и nOt воспринимаются одинаково

Язык поисковых запросовЯзыкЯзык поисковыхпоисковых запросовзапросов

МОРФОЛОГИЯМОРФОЛОГИЯ

По каждому слову запроса поиск ведется с учетом правил

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

фразы в расширенном поиске.

Язык поисковых запросовЯзыкЯзык поисковыхпоисковых запросовзапросов

ОГРАНИЧЕНИЕОГРАНИЧЕНИЕ НАНА РАССТОЯНИЕРАССТОЯНИЕ

Если запрос составлен из одного или нескольких слов без

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

При этом для каждого запроса всегда существует так

называемое ограничение контекста. Например, по запросу'красная армия' будут найдены те документы, в которых слова'красная' и 'армия' хотя бы один раз встретятся менее чем в 40 словах друг от друга.

Значение ограничения контекста можно изменять

конструкцией '(число, запрос)‘. Например, '(2, краснаяармия)‘.

Язык поисковых запросовЯзыкЯзык поисковыхпоисковых запросовзапросов

НЕНАЙДЕННЫЕНЕНАЙДЕННЫЕ СЛОВАСЛОВА

Если запрос состоит из нескольких слов, и при этомнекоторые из них вообще не удалось найти в Интернете, то выдаются результаты поиска по частичному запросу, из которого отсутствующие в Интернете слова

исключены.

Альтернативы

http://www.turtle.ru

Альтернативы

http://turtilla.ru

Альтернативы

http://www.webalta.ru

Альтернативы

GoGo.ru

Альтернативы

http://www.mavicanet.ru

Становимся продвинутыми

пользователями

Становимся продвинутыми

пользователями

Язык поисковых запросов

Операторы поисковых запросов

% & |

Операторы поисковых запросов

Поиск текста в заголовке страниц (title)

Максвелл title:биография

Если текст состоит из нескольких слов, возьмите их в скобки.

title:(компания Бормоглот)

Операторы поисковых

запросов

Ограничение поиска выбранным ресурсом

Поиск ограничивается группой страниц с заданным URL. Если в конце адреса стоит *, то учитываются страницы, адрескоторых начинается с заданного URL.

"кот Бублик" url:www.exler.ru/*

Операторы поисковых

запросов

Ищем файл PDF или DOC

Поиск ограничивается определенным типом файла:HTML, PDF (Adobe Portable Document Format), DOC (Microsoft Word), PPT (Microsoft PowerPoint), XLS (Microsoft Excel), RTF (Rich Text Format), SWF (Macromedia Flash).

(анкета загранпаспорт ~~ биометрический) (mime:pdf | mime:doc)

Операторы поисковых

запросов

Поиск только по страницам, дата изменения которых находится взаданном интервале.

хит-парад date:20090901..20090915

Продвигаемся далее…

Тезаурусные расширения

ТезАурус

особая разновидность словарей общей или специальной лексики,

в которых указаны семантические отношения

синонимы,

антонимы,

паронимы,

гипонимы,

гиперонимы

между лексическими единицами.

Поисковые системы: от сложного к простому

Специализированные поисковые системы:

• рассчитаны на подготовленного пользователя

• требуют максимально полной спецификации запроса

• выдают результаты, точно соответствующие запросу

Поисковые системы: от сложного к простому

Массовые поисковые системы:

• рассчитаны на рядового пользователя

• пытаются «понимать» запрос в произвольной формулировке

• нацелены на удовлетворение распознанных информационных потребностей пользователя

Расширение запросов – основная идея

• Тезаурусное расширение запросов –процесс дополнения, переформулировкизапросов с целью улучшения ответа на поисковый запрос

• Цель: по исходной формулировке запроса найти также информацию по другим запросам, имеющим тот же смысл

Расширение запросов – пример 1

• [Московский мэр] или [Мэр Москвы]?

Расширение запросов – пример 2

• [Форд СПб] или [Петербург Ford]?А может [Форд Санкт-Петербург]?..

Зачем нужны расширения запросов?

• Интернет полон информации самого различного характера

• Чтобы найти эту информацию, зачастую необходимо выбрать единственно правильную формулировку среди многих других

• Тезаурусные расширения помогают находить по одной формулировке запроса остальные, равные по смыслу, ответы

Синонимичность – что имеется ввиду?

• Мы подразумеваем синонимичность в широком смысле этого слова – насколько 2 различных по написанию терма взаимозаменяемы

• Степень синонимичности – доля контекстов использования, в которых оба терма имеют один и тот же смысл

Какие бывают виды тезаурусных расширений?

• Словообразовательные расширения(аббревиатура → аббревиация, петербург → петербургский)

• Транслитерация (Bosch → Бош, nokia → нокиа)• Аббревиатуры (короткие волны → кв,

СПбГУ → Санкт-Пербургский Государственный Университет)

• Просто синонимы (бегемот → гиппопотам,недорогой → дешёвый, оксид → окись)

• Склейка-разрезание (авто кредит → автокредит, киноафиша → кино афиша)

Что расширять: запрос или отдельные термы?

• Что же нам расширять? Запросы целиком либо отдельные термы?[московский мэр] → [мэр Москвы]

[московский мэр]: московский → Москва

• Решение проблемы: расширять отдельные термы в контексте запроса

Запросные термы

Терм – атомарная семантическая единица запроса:

• Стоп-слова не могут быть термами

• Термы могут быть одно-(«Петербург») или многословными («Майкл Джексон», «Большой андронный коллайдер») в случае, когда эти слова описывают один объект, и эти объекты составляют наш “легковесный” тезаурус

Запросный терм – нечёткое понятие

• “Что такое телевизор?” ответят 99% людей

• “Что такое транзистор?” ответят 55% людей

• “Что такое тезаурусные расширения?” лишь 0,0001% людей смогут дать ответ

• Определение терма может зависеть от:

– Языка

– Предметной области

– Географического региона

– …

Расширение запросов – общая архитектура

Запрос

Расширение запросов – общая архитектура

• Словарь тезаурусных расширений:

– Содержит сведения об известных нам термах и о том, как их нужно расширять

– Может содержать дополнительную метаинформацию (например, о контекстах)

• Логика срабатывания расширений:

– Определяет, когда и как должны срабатывать расширения запросов

Словарь тезаурусных расширений

Автоматическая процедура позволяет:

• Получение словарей невиданной полноты и актуальности

– сотни тысяч связей между словами

• Словари, отражающие интернет-лексику

– например, язык padonkaff

• Сбор вместе со словарями метаинформации для лучшего применения в поиске

Оценка качества тезаурусных расширений – словарная

Оценка словаря:

• Контекст отсутствует, полагаемся на априорное мнение эксперта о синонимичности пары слов

• В сомнительных случаях приходится придумывать подтверждающие или опровергающие контексты

• Полезна только для грубой оценки качества словаря или предварительной фильтрации:

<ericsson, эриссон> - плохо

<ericsson, эриксон> - хорошо

Оценка качества тезаурусных расширений – контекстная

• Контекст позволяет делать более однозначные выводы о взаимозаменяемости словарной пар

• Пример:

[victor hugo] (hugo → гюго)

[hugo boss] (hugo → {хьюго, хуго})

Синонимичность по переформулировкам

• Замена пользователем части запроса при поиске

• [ректор МГУ][ректор Московского Государственного Университета]

• [обзор автомобиля форд фокус]

[обзор автомобиля ford focus]

Транслитерация

Что это такое?

Транслитерация

• различные языки могут иметь разную письменность

• Русский язык не исключение• Транслитерация – системный способ

преобразования слов из одного алфавита в другой

• для получения качественного поиска необходимо уметь обрабатывать различные написания слов

photo фото φωτο

Каковы основные случаи транслитерации?

Транслитерация

• Имена собственные:Albert Einstein ↔ Альберт Эйнштейн

↔КГБ ↔ KGB

• Заимствованные слова:computer ↔ компьютер перестройка ↔ perestroyka

• URL, логины и прочие идентефикаторы

Когда происходит транслитерация?

Транслитерация

• Off-line (по словарю)– используя предварительно собранный словарь, что позволяет использовать любые статистики для его получения

• On-line (транслитерация “на лету”) –обычно имеет худшую точность, но позволяет преобразовывать любые, даже ранее неизвестные слова

Откуда берутся транслитные гипотезы?

Транслитерация

Модель транслитерации, основнная на правилах - пример

Транслитерация

a ↔ а

ai ↔ е

ai ↔ э

eau ↔ о

eu ↔ э

eu ↔ ё

es ↔ _

ville ↔ виль

Модель транслитерации, основнная на правилах – пример использования

Транслитерация

Являются ли слова“Johansson →Йохансон” транслитом? Заглянем в таблицу:

j ↔ дж

o ↔ о

h ↔ г

h ↔ х

a ↔ а

a ↔ э

n ↔ н

ss ↔ с

Модель транслитерации, основнная на правилах – пример использования

Транслитерация

J o h a n ss o n

Й о х а н с о н

+10 penalty

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

Транслитерация

a.ch.aue → а (1.000)

a.ch.ay → а (0.833) ачае (0.167)

a.ch.aye → а (1.000)

a.ch.e → а (0.957) е (0.016) ей (0.014)

э (0.006) о (0.005) эй (0.003) я (0.003)

a.ch.ea → а (0.778) о (0.111) ей (0.111)

a.ch.ee → а (1.000)

a.ch.ei → а (1.000)

a.ch.ey → а (0.500) ей (0.250) э (0.250)

ТранслитерацияВероятностная модель транслитерации –пример применения

йохансон

(6.446)

йогансон

(5.745)

йоханссон

(4.919)

иохансон

(1.422)

джохансон

(1.311)

иогансон

(1.269)

иоханссон

(1.085)

джоханссон

(1.000)

ёхансон

(0.427)

юхансон

(0.387)

йохонсон

(0.342)

югансон

(0.341)

хансон

(0.333)

гансон

(0.298)

юханссон

(0.292)

ханссон

(0.255)

янсон

(0.192)

джохэнсон

(0.142)

йонсон

(0.103)

йонссон

(0.079)

хогенсон

(0.068)

джансон

(0.067)

жансон

(0.066)

хэнсон

(0.036)

йоханссен

(0.027)

ТранслитерацияХорошие транслитерации

≠ хорошие синонимы• Возможное изменение значения слова:

magazine → магазин (meaning “shop”)

• Подмена подразумеваемого объекта (сложно для обнаружения):respublica → республика

• Просто бессмысленная транслитерация:

tekst pesni

Аббревиатуры

Что это такое?

Аббревиатуры

• Используются для сокращения часто употребимых фраз и терминов

• Лингвистическая модель кажется крайне простой – берём первые буквы/слоги из каждого слова и…

• Но всё не всегда так просто…

Аббревиатуры формируются довольно просто…

Аббревиатуры

Московский Государственный Университет

МГУ

RuSSIR

Russian Summer School in Information Retrieval

…но иногда сложнее

Аббревиатуры

НАТО

NATO

North Atlantic Treaty Organization

Организация Североатланического Договора

transliteration

translation

abbreviation

Не из каждой фразы выходит аббревиатура

Аббревиатуры

• Лишь малая часть устоявшихся фраз образует аббревиатуру

• Например, посмотрим на фразы, образующие аббревиатуру “RuSSIR”:

Что могло бы означать слово “RuSSIR”?Аббревиатуры

Russian Summer School in Information Retrieval

ruption of the serotonin system in immature rats

ru siteuri scrise in romanarupa se sparge i radurue statement showing in respect

ruj si sklepy irestauracje

ru sodo sklypas irvint rajone

rung setzt sich im rahmen

rujce stan systemu iraportujce

run the shell scripts in the rc

Омонимичность аббревиатур

Аббревиатуры

• Простой случай –однозначные (практически) аббревиатуры:

IEEE (I triple E) – Institute of Electrical and Electronics Engineers

МГУ – Московский Государственный Университет

Омонимичность аббревиатурАббревиатуры

• Сложный случай – неоднозначная аббревиатура:

- с другими словами :

мэг -> Мэг Райан или моноэтиленгликоль- с другими аббревиатурами:

CSS^(cascading style sheets) styles илиCSS^(content scrambling system) license

…и даже МГУ в Мордовии может означать“Мордовский Государственный Университет”!

Recommended