SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Принципы работы 
поисковой системы 
Алексей 
Данилин
План доклада 
1. Как работает современный поиск. 
2. Механизмы работы поисковых систем (ПС). 
3. Индексация сайтов. Структура и организация индексов. 
4. Ранжирование. 
5. Что такое пауки и как они работают.
Как работает современный поиск
Миллионы результатов за доли секунд
Различные типы ответов на запрос
Поиск по вертикалям
Расширенный поиск
Механизмы работы поисковых систем
Сканирование (Crawling) 
Сканирование - это сбор страниц в в вебе для их дальнейшего 
индексирования и поддержки функционирования поисковой 
системы. 
Основная цель - быстро и эффективно собрать как можно больше 
полезных веб-страниц вместе со ссылками, которые их 
объединяют. 
Процесс или машина, выполняющий сканирование - crawler. 
Совет: использовать robots.txt и sitemap.xml для настроек 
сканирования, устранять битые ссылки, регулировать вложенность 
страниц, размер страниц, внутреннюю ссылочную структуру.
Индексирование (Indexing) 
Индексирование - процесс создания индекса. 
Основная цель - построить индекс для дальнейшего 
осуществления по нему поиска. 
Процесс или машина, выполняющие индексирование - indexer. 
После добавления документов в индекс, они начинают 
участвовать в поиске по соответствующим запросам.
Поиск по индексу 
Поиск по индексу - выбор из индекса документов, 
соответствующих поисковому запросу. 
Введенный запрос анализируется (язык, стоп-слова, ошибки) и 
сопоставляется со всеми документами в базе данных поисковой 
системы (коллекции). 
На выходе выдается список всех документов, соответствующих 
запросу.
Ранжирование (Ranking) 
Ранжирование - присвоение документов ранга (рейтинга) в 
соответствие с формулой ранжирования и упорядочивание 
результатов в порядке уменьшения ранга. 
В формуле ранжирования могут учитываться: 
● вес страницы; 
● соответствие текста документа запросу (текстовая 
релевантность); 
● авторитетность домена; 
● соответствие текста внешних ссылок запросу. 
Точная формула ранжирования и вклад каждого фактора в ней 
нигде не разглашается. Факторов может быть очень много и 
влияние каждого из них минимально.
Индексация. Структура и организация индексов
Индексация. Структура и организация индексов 
Поисковый индекс составляется для того, чтобы избежать 
последовательного просмотра текстов при выполнении каждого 
запроса. 
Самый простой способ - составить бинарную (значения 1 или 0) 
матрицу термин-документ (матрицу инцидентности). 
В матрице инцидентности для каждого документа создается 
запись, в которой указано, содержит ли данный документ термин 
из лексикона (1) или не содержит (0). 
Лексикон - множество терминов коллекции документов.
Матрица инцидентности 
doc1 doc2 doc3 doc4 
term1 1 1 0 1 
term2 0 0 1 1 
term3 0 1 0 1 
term4 1 0 1 0 
При большой размерности такая матрица будет занимать 
слишком много памяти - проще хранить в памяти только единицы.
Инвертированный индекс 
Для каждого термина создается список, в котором указаны 
идентификаторы документов, содержащие данный термин. 
term1 - 1, 2, 4 
term2 - 3, 4 
term3 - 2, 4 
term4 - 1, 3 
Термины могут быть упорядочены по алфавиту, а документы - по 
идентификатору. В списке могут использовать идентификаторы 
документов или их смещения, могут быть указаны дополнительные 
данные (расположение термина, частота). 
Полученный список называется инвертированным индексом 
(словарь + список словопозиций).
Процесс построения инвертированного индекса 
1. Собрать документы, подлежащие индексации. 
2. Разметить текст, преобразуя каждый документ в список лексем 
(последовательность символов, объединенных в 
семантическую единицу для обработки). 
3. Провести предварительную лингвистическую обработку, 
создать список нормализированных лексем, представляющих 
собой индексируемые термины. 
4. Проиндексировать документы, в которых встречается термин, 
создавая инвертированный индекс, состоящий из словаря и 
словопозиций.
Ранжирование
Векторная модель документов и запросов 
Каждый документ и запрос можно представить в виде вектора, 
состоящего из компонент, соответствующих каждому термину в 
словаре, и весов каждого термина, вычисленных, например, по 
формуле: 
tf-idf(t,d)=tf(t,d) x idf(t) 
tf(t,d) - частота термина t в документе d (количество вхождений 
термина t в документ d/термина t в запрос d) 
idf(t) - обратная документная частота (количество документов в 
коллекции, содержащих термин t) 
Принцип подсчета tf и idf может быть разным.
Вычисление ранга документа 
Чтобы определить ранг документа относительно запроса, можно 
найти меру сходства между вектором документа и вектором 
запроса: 
score(q,d)=(V(d),V(q))/(|V(d)| x |V(q)|) 
Данная мера не зависит от схемы подсчета tf и idf.
Базовый алгоритм ранжирования в векторной 
модели 
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] 
для каждого d 
Scores[d] = Scores[d]/Length[d] 
возвратить наибольшие K компонентов массива Scores[N] 
} 
Scores[N] - содержит релевантность каждого документа запросу 
Length[N] - содержит длины векторов, соответствующих каждому 
из N документов 
wf(t,d), w(t,q) веса термина в документе и в запросе соответственно
Общий ранг 
Общий вклад разных факторов в ранг страницы определяется с 
помощью методов машинного обучения. 
Вычисляется значение каждой переменной в формуле и 
умножается на весовой коэффициент. 
Чтобы получить весовые коэффициенты, формула “обучается” на 
основании экспертной оценки асессоров. 
Далее находится взвешенная комбинация всех факторов 
(например, линейная).
Что такое пауки и как они работают
Разделение обязанностей 
Потоки задач в поисковом роботе можно разделить на несколько 
процессов, каждый из которых выполняется на отдельном узле 
распределенной системы. 
Распределение имеет большое значение для масштабирования 
системы. 
Обязанности разделяются: 
● при сканировании; 
● при индексировании; 
● при анализе ссылок.
Требования к паукам 
Обязательные: 
● устойчивость (к ловушкам в вебе); 
● вежливость (частота обращения к серверу). 
Желательные: 
● распределенность (на многих машинах); 
● масштабируемость (повышение производительности за счет 
добавления новых машин и расширения полосы пропускания); 
● производительность и эффективность (эффективное 
использование доступных ресурсов); 
● качество (преимущество полезным страницам); 
● свежесть (частота охода примерно равна частоте 
обновления); 
● расширяемость (модульная архитектура для расширения по 
разным направлениям).
Базовая схема работы поискового паука 
www 
Скачать 
DNS 
Ан 
ал 
из 
Содержание 
обнаружено? 
Фильтр 
URL 
Разделитель 
хостов 
Удаление 
дубликатов 
URL 
Очередь на скачивание URL 
Контрольные 
суммы 
документов 
Множество 
URL 
Обработка 
Другие узлы 
Словопозиции Инвертор Парсер документа
Узнайте больше об интернет-маркетинге
Принципы работы поисковой системы

Contenu connexe

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

01 информационный поиск
01 информационный поиск01 информационный поиск
01 информационный поискLidia Pivovarova
 
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.Информационный поиск. Инвертированный индекс. Обработка булевых запросов.
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.Denis Samoylov
 
информационные и информационно поисковые системы интернет
информационные и информационно поисковые системы интернетинформационные и информационно поисковые системы интернет
информационные и информационно поисковые системы интернетInno4ka2323
 
Personilized search
Personilized searchPersonilized search
Personilized searchNLPseminar
 
Norma cs 2.0
Norma cs 2.0Norma cs 2.0
Norma cs 2.0Vitaliy
 
Контент инижиниринг - Лекция 1
Контент инижиниринг - Лекция 1Контент инижиниринг - Лекция 1
Контент инижиниринг - Лекция 1Elena Tikhomirova
 
Cфинкс и поиск терабайта
Cфинкс и поиск терабайтаCфинкс и поиск терабайта
Cфинкс и поиск терабайтаMedia Gorod
 
Концепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахКонцепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахAnatoly Simkin
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 
Puple's presentation
Puple's presentationPuple's presentation
Puple's presentationKuznecov
 
поисковые системы презентация ученика
поисковые системы презентация ученикапоисковые системы презентация ученика
поисковые системы презентация ученикаKuznecov
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev - Anna
 
Современный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаСовременный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаSQALab
 
тема 5 2
тема 5 2тема 5 2
тема 5 2asheg
 

Similaire à Принципы работы поисковой системы (20)

01 информационный поиск
01 информационный поиск01 информационный поиск
01 информационный поиск
 
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.Информационный поиск. Инвертированный индекс. Обработка булевых запросов.
Информационный поиск. Инвертированный индекс. Обработка булевых запросов.
 
Audit
AuditAudit
Audit
 
информационные и информационно поисковые системы интернет
информационные и информационно поисковые системы интернетинформационные и информационно поисковые системы интернет
информационные и информационно поисковые системы интернет
 
Personilized search
Personilized searchPersonilized search
Personilized search
 
Norma cs 2.0
Norma cs 2.0Norma cs 2.0
Norma cs 2.0
 
Контент инижиниринг - Лекция 1
Контент инижиниринг - Лекция 1Контент инижиниринг - Лекция 1
Контент инижиниринг - Лекция 1
 
Cфинкс и поиск терабайта
Cфинкс и поиск терабайтаCфинкс и поиск терабайта
Cфинкс и поиск терабайта
 
лекция 5
лекция 5лекция 5
лекция 5
 
Концепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахКонцепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системах
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
Lect1
Lect1Lect1
Lect1
 
Hpc Day
Hpc DayHpc Day
Hpc Day
 
Lande, Jigalo
Lande, JigaloLande, Jigalo
Lande, Jigalo
 
Puple's presentation
Puple's presentationPuple's presentation
Puple's presentation
 
поисковые системы презентация ученика
поисковые системы презентация ученикапоисковые системы презентация ученика
поисковые системы презентация ученика
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev -
 
alee
aleealee
alee
 
Современный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проектаСовременный подход к локализации на примере одного проекта
Современный подход к локализации на примере одного проекта
 
тема 5 2
тема 5 2тема 5 2
тема 5 2
 

Plus de Netpeak

Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...
Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...
Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...Netpeak
 
Контент, который продаёт, повышает узнаваемость и трафик
Контент, который продаёт, повышает узнаваемость и трафикКонтент, который продаёт, повышает узнаваемость и трафик
Контент, который продаёт, повышает узнаваемость и трафикNetpeak
 
Что такое контекстная реклама в Google и как с ней работать?
Что такое контекстная реклама в Google и как с ней работать? Что такое контекстная реклама в Google и как с ней работать?
Что такое контекстная реклама в Google и как с ней работать? Netpeak
 
Топ 5 важных составляющих круто оптимизированного интернет-магазина
Топ 5 важных составляющих круто оптимизированного интернет-магазинаТоп 5 важных составляющих круто оптимизированного интернет-магазина
Топ 5 важных составляющих круто оптимизированного интернет-магазинаNetpeak
 
SEO: коригуй, оптимізуй і просувай
SEO: коригуй, оптимізуй і просувайSEO: коригуй, оптимізуй і просувай
SEO: коригуй, оптимізуй і просувайNetpeak
 
Email-marketing: экскурс в самый окупаемый инструмент маркетинга
Email-marketing: экскурс в самый окупаемый инструмент маркетингаEmail-marketing: экскурс в самый окупаемый инструмент маркетинга
Email-marketing: экскурс в самый окупаемый инструмент маркетингаNetpeak
 
18 каналов привлечения клиентов
18 каналов привлечения клиентов18 каналов привлечения клиентов
18 каналов привлечения клиентовNetpeak
 
Как через R коннектор получить данные из Вконтакте в Power BI
Как через R коннектор получить данные из Вконтакте в Power BIКак через R коннектор получить данные из Вконтакте в Power BI
Как через R коннектор получить данные из Вконтакте в Power BINetpeak
 
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироваться
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироватьсяSEO сегодня. Куда дует ветер, что смотреть и на что ориентироваться
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироватьсяNetpeak
 
Как сделать рекламу эффективнее с помощью аналитики
Как сделать рекламу эффективнее с помощью аналитикиКак сделать рекламу эффективнее с помощью аналитики
Как сделать рекламу эффективнее с помощью аналитикиNetpeak
 
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...Netpeak
 
Как масштабировать проект в мире автоматизации и многоканальности? Кейс Беккер
Как масштабировать проект в мире автоматизации и многоканальности? Кейс БеккерКак масштабировать проект в мире автоматизации и многоканальности? Кейс Беккер
Как масштабировать проект в мире автоматизации и многоканальности? Кейс БеккерNetpeak
 
Как бесплатное мероприятие может принести деньги digital-агентству?
Как бесплатное мероприятие может принести деньги digital-агентству? Как бесплатное мероприятие может принести деньги digital-агентству?
Как бесплатное мероприятие может принести деньги digital-агентству? Netpeak
 
Лидогенерация: как работать с воронкой продаж в Google Ads?
Лидогенерация: как работать с воронкой продаж в Google Ads?Лидогенерация: как работать с воронкой продаж в Google Ads?
Лидогенерация: как работать с воронкой продаж в Google Ads?Netpeak
 
Soft skills и организация их развития
Soft skills и организация их развитияSoft skills и организация их развития
Soft skills и организация их развитияNetpeak
 
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетинга
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетингаКак продвигать мобильное приложение в Google Ads? Основы мобильного маркетинга
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетингаNetpeak
 
SEO на этапе разработки сайта. Оптимизируем сайт еще до появления
SEO на этапе разработки сайта. Оптимизируем сайт еще до появленияSEO на этапе разработки сайта. Оптимизируем сайт еще до появления
SEO на этапе разработки сайта. Оптимизируем сайт еще до появленияNetpeak
 
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы Netpeak
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы NetpeakКак вести рекламные кампании в Google Ads в период кризиса? Кейсы Netpeak
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы NetpeakNetpeak
 
“Подслушивать” звонки менеджера — паранойя или путь к совершенству
“Подслушивать” звонки менеджера — паранойя или путь к совершенству“Подслушивать” звонки менеджера — паранойя или путь к совершенству
“Подслушивать” звонки менеджера — паранойя или путь к совершенствуNetpeak
 
Как работать с API Google Analytics на языке R
Как работать с API Google Analytics на языке RКак работать с API Google Analytics на языке R
Как работать с API Google Analytics на языке RNetpeak
 

Plus de Netpeak (20)

Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...
Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...
Кросс-продажи в B2B — нефть вашей воронки. Как увеличить оборот на 40% за сче...
 
Контент, который продаёт, повышает узнаваемость и трафик
Контент, который продаёт, повышает узнаваемость и трафикКонтент, который продаёт, повышает узнаваемость и трафик
Контент, который продаёт, повышает узнаваемость и трафик
 
Что такое контекстная реклама в Google и как с ней работать?
Что такое контекстная реклама в Google и как с ней работать? Что такое контекстная реклама в Google и как с ней работать?
Что такое контекстная реклама в Google и как с ней работать?
 
Топ 5 важных составляющих круто оптимизированного интернет-магазина
Топ 5 важных составляющих круто оптимизированного интернет-магазинаТоп 5 важных составляющих круто оптимизированного интернет-магазина
Топ 5 важных составляющих круто оптимизированного интернет-магазина
 
SEO: коригуй, оптимізуй і просувай
SEO: коригуй, оптимізуй і просувайSEO: коригуй, оптимізуй і просувай
SEO: коригуй, оптимізуй і просувай
 
Email-marketing: экскурс в самый окупаемый инструмент маркетинга
Email-marketing: экскурс в самый окупаемый инструмент маркетингаEmail-marketing: экскурс в самый окупаемый инструмент маркетинга
Email-marketing: экскурс в самый окупаемый инструмент маркетинга
 
18 каналов привлечения клиентов
18 каналов привлечения клиентов18 каналов привлечения клиентов
18 каналов привлечения клиентов
 
Как через R коннектор получить данные из Вконтакте в Power BI
Как через R коннектор получить данные из Вконтакте в Power BIКак через R коннектор получить данные из Вконтакте в Power BI
Как через R коннектор получить данные из Вконтакте в Power BI
 
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироваться
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироватьсяSEO сегодня. Куда дует ветер, что смотреть и на что ориентироваться
SEO сегодня. Куда дует ветер, что смотреть и на что ориентироваться
 
Как сделать рекламу эффективнее с помощью аналитики
Как сделать рекламу эффективнее с помощью аналитикиКак сделать рекламу эффективнее с помощью аналитики
Как сделать рекламу эффективнее с помощью аналитики
 
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...
Локальные кампании в Google Ads. Привлекаем пользователей в офлайн с помощью ...
 
Как масштабировать проект в мире автоматизации и многоканальности? Кейс Беккер
Как масштабировать проект в мире автоматизации и многоканальности? Кейс БеккерКак масштабировать проект в мире автоматизации и многоканальности? Кейс Беккер
Как масштабировать проект в мире автоматизации и многоканальности? Кейс Беккер
 
Как бесплатное мероприятие может принести деньги digital-агентству?
Как бесплатное мероприятие может принести деньги digital-агентству? Как бесплатное мероприятие может принести деньги digital-агентству?
Как бесплатное мероприятие может принести деньги digital-агентству?
 
Лидогенерация: как работать с воронкой продаж в Google Ads?
Лидогенерация: как работать с воронкой продаж в Google Ads?Лидогенерация: как работать с воронкой продаж в Google Ads?
Лидогенерация: как работать с воронкой продаж в Google Ads?
 
Soft skills и организация их развития
Soft skills и организация их развитияSoft skills и организация их развития
Soft skills и организация их развития
 
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетинга
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетингаКак продвигать мобильное приложение в Google Ads? Основы мобильного маркетинга
Как продвигать мобильное приложение в Google Ads? Основы мобильного маркетинга
 
SEO на этапе разработки сайта. Оптимизируем сайт еще до появления
SEO на этапе разработки сайта. Оптимизируем сайт еще до появленияSEO на этапе разработки сайта. Оптимизируем сайт еще до появления
SEO на этапе разработки сайта. Оптимизируем сайт еще до появления
 
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы Netpeak
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы NetpeakКак вести рекламные кампании в Google Ads в период кризиса? Кейсы Netpeak
Как вести рекламные кампании в Google Ads в период кризиса? Кейсы Netpeak
 
“Подслушивать” звонки менеджера — паранойя или путь к совершенству
“Подслушивать” звонки менеджера — паранойя или путь к совершенству“Подслушивать” звонки менеджера — паранойя или путь к совершенству
“Подслушивать” звонки менеджера — паранойя или путь к совершенству
 
Как работать с API Google Analytics на языке R
Как работать с API Google Analytics на языке RКак работать с API Google Analytics на языке R
Как работать с API Google Analytics на языке R
 

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

  • 1. Принципы работы поисковой системы Алексей Данилин
  • 2. План доклада 1. Как работает современный поиск. 2. Механизмы работы поисковых систем (ПС). 3. Индексация сайтов. Структура и организация индексов. 4. Ранжирование. 5. Что такое пауки и как они работают.
  • 9. Сканирование (Crawling) Сканирование - это сбор страниц в в вебе для их дальнейшего индексирования и поддержки функционирования поисковой системы. Основная цель - быстро и эффективно собрать как можно больше полезных веб-страниц вместе со ссылками, которые их объединяют. Процесс или машина, выполняющий сканирование - crawler. Совет: использовать robots.txt и sitemap.xml для настроек сканирования, устранять битые ссылки, регулировать вложенность страниц, размер страниц, внутреннюю ссылочную структуру.
  • 10. Индексирование (Indexing) Индексирование - процесс создания индекса. Основная цель - построить индекс для дальнейшего осуществления по нему поиска. Процесс или машина, выполняющие индексирование - indexer. После добавления документов в индекс, они начинают участвовать в поиске по соответствующим запросам.
  • 11. Поиск по индексу Поиск по индексу - выбор из индекса документов, соответствующих поисковому запросу. Введенный запрос анализируется (язык, стоп-слова, ошибки) и сопоставляется со всеми документами в базе данных поисковой системы (коллекции). На выходе выдается список всех документов, соответствующих запросу.
  • 12. Ранжирование (Ranking) Ранжирование - присвоение документов ранга (рейтинга) в соответствие с формулой ранжирования и упорядочивание результатов в порядке уменьшения ранга. В формуле ранжирования могут учитываться: ● вес страницы; ● соответствие текста документа запросу (текстовая релевантность); ● авторитетность домена; ● соответствие текста внешних ссылок запросу. Точная формула ранжирования и вклад каждого фактора в ней нигде не разглашается. Факторов может быть очень много и влияние каждого из них минимально.
  • 13. Индексация. Структура и организация индексов
  • 14. Индексация. Структура и организация индексов Поисковый индекс составляется для того, чтобы избежать последовательного просмотра текстов при выполнении каждого запроса. Самый простой способ - составить бинарную (значения 1 или 0) матрицу термин-документ (матрицу инцидентности). В матрице инцидентности для каждого документа создается запись, в которой указано, содержит ли данный документ термин из лексикона (1) или не содержит (0). Лексикон - множество терминов коллекции документов.
  • 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 При большой размерности такая матрица будет занимать слишком много памяти - проще хранить в памяти только единицы.
  • 16. Инвертированный индекс Для каждого термина создается список, в котором указаны идентификаторы документов, содержащие данный термин. term1 - 1, 2, 4 term2 - 3, 4 term3 - 2, 4 term4 - 1, 3 Термины могут быть упорядочены по алфавиту, а документы - по идентификатору. В списке могут использовать идентификаторы документов или их смещения, могут быть указаны дополнительные данные (расположение термина, частота). Полученный список называется инвертированным индексом (словарь + список словопозиций).
  • 17. Процесс построения инвертированного индекса 1. Собрать документы, подлежащие индексации. 2. Разметить текст, преобразуя каждый документ в список лексем (последовательность символов, объединенных в семантическую единицу для обработки). 3. Провести предварительную лингвистическую обработку, создать список нормализированных лексем, представляющих собой индексируемые термины. 4. Проиндексировать документы, в которых встречается термин, создавая инвертированный индекс, состоящий из словаря и словопозиций.
  • 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 может быть разным.
  • 20. Вычисление ранга документа Чтобы определить ранг документа относительно запроса, можно найти меру сходства между вектором документа и вектором запроса: score(q,d)=(V(d),V(q))/(|V(d)| x |V(q)|) Данная мера не зависит от схемы подсчета tf и idf.
  • 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] для каждого d Scores[d] = Scores[d]/Length[d] возвратить наибольшие K компонентов массива Scores[N] } Scores[N] - содержит релевантность каждого документа запросу Length[N] - содержит длины векторов, соответствующих каждому из N документов wf(t,d), w(t,q) веса термина в документе и в запросе соответственно
  • 22. Общий ранг Общий вклад разных факторов в ранг страницы определяется с помощью методов машинного обучения. Вычисляется значение каждой переменной в формуле и умножается на весовой коэффициент. Чтобы получить весовые коэффициенты, формула “обучается” на основании экспертной оценки асессоров. Далее находится взвешенная комбинация всех факторов (например, линейная).
  • 23. Что такое пауки и как они работают
  • 24. Разделение обязанностей Потоки задач в поисковом роботе можно разделить на несколько процессов, каждый из которых выполняется на отдельном узле распределенной системы. Распределение имеет большое значение для масштабирования системы. Обязанности разделяются: ● при сканировании; ● при индексировании; ● при анализе ссылок.
  • 25. Требования к паукам Обязательные: ● устойчивость (к ловушкам в вебе); ● вежливость (частота обращения к серверу). Желательные: ● распределенность (на многих машинах); ● масштабируемость (повышение производительности за счет добавления новых машин и расширения полосы пропускания); ● производительность и эффективность (эффективное использование доступных ресурсов); ● качество (преимущество полезным страницам); ● свежесть (частота охода примерно равна частоте обновления); ● расширяемость (модульная архитектура для расширения по разным направлениям).
  • 26. Базовая схема работы поискового паука www Скачать DNS Ан ал из Содержание обнаружено? Фильтр URL Разделитель хостов Удаление дубликатов URL Очередь на скачивание URL Контрольные суммы документов Множество URL Обработка Другие узлы Словопозиции Инвертор Парсер документа
  • 27. Узнайте больше об интернет-маркетинге