28
Алексей Данилин Принципы работы поисковой системы

Принципы работы поисковой системы

  • Upload
    netpeak

  • View
    247

  • Download
    8

Embed Size (px)

DESCRIPTION

Презентация Алексея Данилина с выступления на бесплатном вебинаре по SEO от Netpeak.

Citation preview

Page 1: Принципы работы поисковой системы

Алексей Данилин

Принципы работыпоисковой системы

Page 2: Принципы работы поисковой системы

План доклада

1. Как работает современный поиск.2. Механизмы работы поисковых систем (ПС).3. Индексация сайтов. Структура и организация индексов.4. Ранжирование.5. Что такое пауки и как они работают.

Page 3: Принципы работы поисковой системы

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

Page 4: Принципы работы поисковой системы

Миллионы результатов за доли секунд

Page 5: Принципы работы поисковой системы

Различные типы ответов на запрос

Page 6: Принципы работы поисковой системы

Поиск по вертикалям

Page 7: Принципы работы поисковой системы

Расширенный поиск

Page 8: Принципы работы поисковой системы

Механизмы работы поисковых систем

Page 9: Принципы работы поисковой системы

Сканирование (Crawling)

Сканирование - это сбор страниц в в вебе для их дальнейшего индексирования и поддержки функционирования поисковой системы.

Основная цель - быстро и эффективно собрать как можно больше полезных веб-страниц вместе со ссылками, которые их объединяют.

Процесс или машина, выполняющий сканирование - crawler.

Совет: использовать robots.txt и sitemap.xml для настроек сканирования, устранять битые ссылки, регулировать вложенность страниц, размер страниц, внутреннюю ссылочную структуру.

Page 10: Принципы работы поисковой системы

Индексирование (Indexing)

Индексирование - процесс создания индекса.

Основная цель - построить индекс для дальнейшего осуществления по нему поиска.

Процесс или машина, выполняющие индексирование - indexer.

После добавления документов в индекс, они начинают участвовать в поиске по соответствующим запросам.

Page 11: Принципы работы поисковой системы

Поиск по индексу

Поиск по индексу - выбор из индекса документов, соответствующих поисковому запросу.

Введенный запрос анализируется (язык, стоп-слова, ошибки) и сопоставляется со всеми документами в базе данных поисковой системы (коллекции).

На выходе выдается список всех документов, соответствующих запросу.

Page 12: Принципы работы поисковой системы

Ранжирование (Ranking)

Ранжирование - присвоение документов ранга (рейтинга) в соответствие с формулой ранжирования и упорядочивание результатов в порядке уменьшения ранга.

В формуле ранжирования могут учитываться:● вес страницы;● соответствие текста документа запросу (текстовая

релевантность);● авторитетность домена;● соответствие текста внешних ссылок запросу.

Точная формула ранжирования и вклад каждого фактора в ней нигде не разглашается. Факторов может быть очень много и влияние каждого из них минимально.

Page 13: Принципы работы поисковой системы

Индексация. Структура и организация индексов

Page 14: Принципы работы поисковой системы

Индексация. Структура и организация индексов

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

Самый простой способ - составить бинарную (значения 1 или 0) матрицу термин-документ (матрицу инцидентности).

В матрице инцидентности для каждого документа создается запись, в которой указано, содержит ли данный документ термин из лексикона (1) или не содержит (0).

Лексикон - множество терминов коллекции документов.

Page 15: Принципы работы поисковой системы

Матрица инцидентности

doc1 doc2 doc3 doc4

term1 1 1 0 1

term2 0 0 1 1

term3 0 1 0 1

term4 1 0 1 0

При большой размерности такая матрица будет занимать слишком много памяти - проще хранить в памяти только единицы.

Page 16: Принципы работы поисковой системы

Инвертированный индекс

Для каждого термина создается список, в котором указаны идентификаторы документов, содержащие данный термин.

term1 - 1, 2, 4term2 - 3, 4term3 - 2, 4term4 - 1, 3

Термины могут быть упорядочены по алфавиту, а документы - по идентификатору. В списке могут использовать идентификаторы документов или их смещения, могут быть указаны дополнительные данные (расположение термина, частота).

Полученный список называется инвертированным индексом (словарь + список словопозиций).

Page 17: Принципы работы поисковой системы

Процесс построения инвертированного индекса

1. Собрать документы, подлежащие индексации.2. Разметить текст, преобразуя каждый документ в список лексем

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

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

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

Page 18: Принципы работы поисковой системы

Ранжирование

Page 19: Принципы работы поисковой системы

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

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

tf-idf(t,d)=tf(t,d) x idf(t)

tf(t,d) - частота термина t в документе d (количество вхождений термина t в документ d/термина t в запрос d)

idf(t) - обратная документная частота (количество документов в коллекции, содержащих термин t)

Принцип подсчета tf и idf может быть разным.

Page 20: Принципы работы поисковой системы

Вычисление ранга документа

Чтобы определить ранг документа относительно запроса, можно найти меру сходства между вектором документа и вектором запроса:

score(q,d)=(V(d),V(q))/(|V(d)| x |V(q)|)

Данная мера не зависит от схемы подсчета tf и idf.

Page 21: Принципы работы поисковой системы

Базовый алгоритм ранжирования в векторной модели

CosineSqore(q) {float Scores[N]=0инициализировать Length[N]для каждого термина t запросавычислить w(t,q) и извлечь инвертированный список для термина t

для каждой пары (d, tf(t,d)) в инвертированном спискеScores[d] += wf(t,d) x w(t,q)

прочитать массив Length[d]для каждого dScores[d] = Scores[d]/Length[d]возвратить наибольшие K компонентов массива Scores[N]}

Scores[N] - содержит релевантность каждого документа запросуLength[N] - содержит длины векторов, соответствующих каждому из N документовwf(t,d), w(t,q) веса термина в документе и в запросе соответственно

Page 22: Принципы работы поисковой системы

Общий ранг

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

Вычисляется значение каждой переменной в формуле и умножается на весовой коэффициент.

Чтобы получить весовые коэффициенты, формула “обучается” на основании экспертной оценки асессоров.

Далее находится взвешенная комбинация всех факторов (например, линейная).

Page 23: Принципы работы поисковой системы

Что такое пауки и как они работают

Page 24: Принципы работы поисковой системы

Разделение обязанностей

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

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

Обязанности разделяются:● при сканировании;● при индексировании;● при анализе ссылок.

Page 25: Принципы работы поисковой системы

Требования к паукам

Обязательные:● устойчивость (к ловушкам в вебе);● вежливость (частота обращения к серверу).

Желательные:● распределенность (на многих машинах);● масштабируемость (повышение производительности за счет

добавления новых машин и расширения полосы пропускания);● производительность и эффективность (эффективное

использование доступных ресурсов);● качество (преимущество полезным страницам);● свежесть (частота охода примерно равна частоте

обновления);● расширяемость (модульная архитектура для расширения по

разным направлениям).

Page 26: Принципы работы поисковой системы

Базовая схема работы поискового паука

www

DNS

СкачатьАнализ

Содержание обнаружено?

Фильтр URL

Разделитель хостов

Удаление дубликатов URL

Очередь на скачивание URL

Контрольные суммы документов

Множество URL

Обработка документаПарсерИнверторСловопозиции

Другие узлы

Page 27: Принципы работы поисковой системы

Узнайте больше об интернет-маркетинге

Page 28: Принципы работы поисковой системы