Принципы работы поисковой системы
DESCRIPTION
Презентация с бесплатного вебинара от Netpeak "Принципы работы поисковой системы". Докладчик Алексей Данилин — SEO-специалист компании Netpeak. Netpeak — интернет-маркетинг для вашего бизнеса. • • • • • • • Читайте про интернет-маркетинг в Блоге Netpeak: http://blog.netpeak.ru/ Узнайте больше о Netpeak: http://netpeak.net/TRANSCRIPT
![Page 1: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/1.jpg)
Алексей Данилин
Принципы работыпоисковой системы
![Page 2: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/2.jpg)
План доклада
1. Как работает современный поиск.2. Механизмы работы поисковых систем (ПС).3. Индексация сайтов. Структура и организация индексов.4. Ранжирование.5. Что такое пауки и как они работают.
![Page 3: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/3.jpg)
Как работает современный поиск
![Page 4: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/4.jpg)
Миллионы результатов за доли секунд
![Page 5: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/5.jpg)
Различные типы ответов на запрос
![Page 6: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/6.jpg)
Поиск по вертикалям
![Page 7: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/7.jpg)
Расширенный поиск
![Page 8: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/8.jpg)
Механизмы работы поисковых систем
![Page 9: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/9.jpg)
Сканирование (Crawling)
Сканирование - это сбор страниц в в вебе для их дальнейшего индексирования и поддержки функционирования поисковой системы.
Основная цель - быстро и эффективно собрать как можно больше полезных веб-страниц вместе со ссылками, которые их объединяют.
Процесс или машина, выполняющий сканирование - crawler.
Совет: использовать robots.txt и sitemap.xml для настроек сканирования, устранять битые ссылки, регулировать вложенность страниц, размер страниц, внутреннюю ссылочную структуру.
![Page 10: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/10.jpg)
Индексирование (Indexing)
Индексирование - процесс создания индекса.
Основная цель - построить индекс для дальнейшего осуществления по нему поиска.
Процесс или машина, выполняющие индексирование - indexer.
После добавления документов в индекс, они начинают участвовать в поиске по соответствующим запросам.
![Page 11: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/11.jpg)
Поиск по индексу
Поиск по индексу - выбор из индекса документов, соответствующих поисковому запросу.
Введенный запрос анализируется (язык, стоп-слова, ошибки) и сопоставляется со всеми документами в базе данных поисковой системы (коллекции).
На выходе выдается список всех документов, соответствующих запросу.
![Page 12: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/12.jpg)
Ранжирование (Ranking)
Ранжирование - присвоение документов ранга (рейтинга) в соответствие с формулой ранжирования и упорядочивание результатов в порядке уменьшения ранга.
В формуле ранжирования могут учитываться:● вес страницы;● соответствие текста документа запросу (текстовая
релевантность);● авторитетность домена;● соответствие текста внешних ссылок запросу.
Точная формула ранжирования и вклад каждого фактора в ней нигде не разглашается. Факторов может быть очень много и влияние каждого из них минимально.
![Page 13: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/13.jpg)
Индексация. Структура и организация индексов
![Page 14: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/14.jpg)
Индексация. Структура и организация индексов
Поисковый индекс составляется для того, чтобы избежать последовательного просмотра текстов при выполнении каждого запроса.
Самый простой способ - составить бинарную (значения 1 или 0) матрицу термин-документ (матрицу инцидентности).
В матрице инцидентности для каждого документа создается запись, в которой указано, содержит ли данный документ термин из лексикона (1) или не содержит (0).
Лексикон - множество терминов коллекции документов.
![Page 15: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/15.jpg)
Матрица инцидентности
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: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/16.jpg)
Инвертированный индекс
Для каждого термина создается список, в котором указаны идентификаторы документов, содержащие данный термин.
term1 - 1, 2, 4term2 - 3, 4term3 - 2, 4term4 - 1, 3
Термины могут быть упорядочены по алфавиту, а документы - по идентификатору. В списке могут использовать идентификаторы документов или их смещения, могут быть указаны дополнительные данные (расположение термина, частота).
Полученный список называется инвертированным индексом (словарь + список словопозиций).
![Page 17: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/17.jpg)
Процесс построения инвертированного индекса
1. Собрать документы, подлежащие индексации.2. Разметить текст, преобразуя каждый документ в список лексем
(последовательность символов, объединенных в семантическую единицу для обработки).
3. Провести предварительную лингвистическую обработку, создать список нормализированных лексем, представляющих собой индексируемые термины.
4. Проиндексировать документы, в которых встречается термин, создавая инвертированный индекс, состоящий из словаря и словопозиций.
![Page 18: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/18.jpg)
Ранжирование
![Page 19: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/19.jpg)
Векторная модель документов и запросов
Каждый документ и запрос можно представить в виде вектора, состоящего из компонент, соответствующих каждому термину в словаре, и весов каждого термина, вычисленных, например, по формуле:
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: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/20.jpg)
Вычисление ранга документа
Чтобы определить ранг документа относительно запроса, можно найти меру сходства между вектором документа и вектором запроса:
score(q,d)=(V(d),V(q))/(|V(d)| x |V(q)|)
Данная мера не зависит от схемы подсчета tf и idf.
![Page 21: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/21.jpg)
Базовый алгоритм ранжирования в векторной модели
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: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/22.jpg)
Общий ранг
Общий вклад разных факторов в ранг страницы определяется с помощью методов машинного обучения.
Вычисляется значение каждой переменной в формуле и умножается на весовой коэффициент.
Чтобы получить весовые коэффициенты, формула “обучается” на основании экспертной оценки асессоров.
Далее находится взвешенная комбинация всех факторов (например, линейная).
![Page 23: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/23.jpg)
Что такое пауки и как они работают
![Page 24: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/24.jpg)
Разделение обязанностей
Потоки задач в поисковом роботе можно разделить на несколько процессов, каждый из которых выполняется на отдельном узле распределенной системы.
Распределение имеет большое значение для масштабирования системы.
Обязанности разделяются:● при сканировании;● при индексировании;● при анализе ссылок.
![Page 25: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/25.jpg)
Требования к паукам
Обязательные:● устойчивость (к ловушкам в вебе);● вежливость (частота обращения к серверу).
Желательные:● распределенность (на многих машинах);● масштабируемость (повышение производительности за счет
добавления новых машин и расширения полосы пропускания);● производительность и эффективность (эффективное
использование доступных ресурсов);● качество (преимущество полезным страницам);● свежесть (частота охода примерно равна частоте
обновления);● расширяемость (модульная архитектура для расширения по
разным направлениям).
![Page 26: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/26.jpg)
Базовая схема работы поискового паука
www
DNS
СкачатьАнализ
Содержание обнаружено?
Фильтр URL
Разделитель хостов
Удаление дубликатов URL
Очередь на скачивание URL
Контрольные суммы документов
Множество URL
Обработка документаПарсерИнверторСловопозиции
Другие узлы
![Page 27: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/27.jpg)
Узнайте больше об интернет-маркетинге
![Page 28: Принципы работы поисковой системы](https://reader036.vdocuments.site/reader036/viewer/2022062313/557ec691d8b42a8e558b4cd9/html5/thumbnails/28.jpg)