e876a9d97c46871c926710f021288159.ppt
- Количество слайдов: 15
Търсачките в Интернет – поглед отвътре (проблеми и алгоритмични решения)
Фигурата показва в структурен вид процеса - web търсене: Много локални сървъри, реализиращи претърсване в паралел сървъри за извличане Бази от данни сървъри за индексиране индекси (заявка, подреждане, визуализиране) Web претърсване Най-накрая – единичен потребител
Архитектурни и организационни особености на процеса: 1. клъстерна организация, най-често базирана на PC; 2. географски-разпределени центрове (подсистеми); 3. изчислителен излишък и отказоустойчивост; 4. специализация на компютрите в рамките на клъстера в: · web-ровене, · индексация, · обработки на заявки, · генериране/събиране на извлечени съставки, · динамично пренасочване на комуникации, · кеширане на резултати, · вмъкване на реклама. Всъщност, това са и задачите Google съобщава за клъстерна организация от стотици хиляди сървъра Поради паралелизма, се поражда необходимост от вътрешна репликация в рамките за всяка обработвана заявка. Отчитаме, че при средно време за обработка на заявка - 500 ms, централния сървър следва да репликира няколко хиляди заявки всяка sek.
Обемите, изобщо, са огромни: - счита се , че за момента обемът web данни, които следва да се претърсват непрестанно от търсещите машини е около 400 терабайта ( 10 на степен 15). - При 10 Gbps мрежова скорост на обмен, отговор на само 1 заявка би изисквал над 10 дни. - Поддържаната индексна структура за подобен даннов обем е около 100 TB. - Прехвърляне на съставки на индекса към централен обработващ компютър би изисквало времена от порядък на 1 ден. Всичко това показва сериозността на проблема.
Често използвани термини, свързани с търсещите програми: Термин URL адрес описание Числово или буквено представяне на адреса на определена web страница (сайт). Например http//www. microsoft. com Индекс Програмно формирани даннови структури, които позволяват ускорно намиране на търсена информация (например дума) Претърсване Рекурсивно претърсване на web пространството чрез следване на вложени линкове, стартирано от коренов елемент Spam Публикуван и съзнателно вмъкван в страниците web материал с търговска или финансова цел хеширане Процес на алгоритмично заместване на търсена информационна единица (дума, низ или число) с цяло число, което да позволи ускорено извличане.
Алгоритми и ускорения в претърсването на web пространството · Базов алгоритъм на търсачките: структуриране на опашка от URL, които следва верижно да се посетят, както и ускорен алгоритъм за определяне тези от тях, които вече са посетени. Има се предвид, обаче, че броят URL адреси в момента е над 20 милиарда. Естествено, удачно е за коренов елемент да се подбира качествен URL (с голяма информация и предимно удачни препратки). Извлича се съдържание на първата страница от опашката, сканира се и се отделят към опашката вложени (реферирани) линкове, които още не са посетени. Съдържанието на страницата се подава на индексиращия компютър. Процесът завършва с изпразване на опашката. · Увеличаване скоростта на претърсване: При реален, последователен обмен с пропадания на връзката и средна скорост 1 sec за извличане на страница, дневно биха се обработили до 70 000 web страници. За обработка на 20 милиарда страници (реалния обем), биха необходими 634 години (само за 1 заявка!!!). Какво се прави: * URL пространството се разпределя по търсещи машини от общия клъстер. Единствено отговорната за конкретния URL адрес се активира; * В рамките на всеки съставящ клъстера компютър се запускат хиляди нишки (threads) с търсещи програми. Постига се високо ниво на вътрешен, добавен към външния паралелизъм.
Изключване на сайтове от претърсваната верига. За целта се използват както преки указания, така и логическа и статистическа информация. · * Отлагане на заявки във времето (но без отказ от обслужване). Очевидно, това е в зависимост от интензитета на постъпващи заявки към търсачката и от честотната лента на обмена в мрежата. · * Алгоритми за отделяне на дублиращо се съдържание в различни URL. Процесът се услложнява, като се вземат предвид възможни козметични различия. Например: включени в анализа различни добавени към URL параметри, вложени дата и час, идентификатор на сесия и т. н. , които се различават, но това не променя същностно идентичността на съдържанието. Принципът е да се елиминират дубликатите, колкото може по-рано във веригата. · * Вариране на периодиката на претърсване. Търачките работят непрестанно в своето индексиране на web пространството. Рядко променящи се страници , следва да се идентифицират и посещават през нарастнали периоди. Приемлив е компромисът, маловажна информация да се представи дори с изтекло съдържание. За целта обикновените опашки се подменят с приоритетни. URL от върха на опашката се посещават най-често (считани за важни, много посещавани и променящи се често).
Отделяне на spam. Spam съдържанието се маскира с много техники: подвеждащи описателни текстове, които са невидими за потребител, meta- тагове и т. н. Модерните spammers формират фиктивни web пространства, домени, сървъри и вложени надеждни линкове за да заблудят търсачките и те да допуснат вмъкване на spam съдържанието в своите отговори към клиенти. Добрата търсачка опитва да елиминира тези заблуди. Тя се интересува напр. от съдържанието на вложени линкове, съвпадение с открити вече spam сайтове, присвоен нисък приоритет на сайт и др. · * Интелигентно извличане на полезни връзки от съдържанието на сайтове: търсачките декодират вложени линкове, дори чрез извличане от бинарни документи, PRF, Word файлове или различни кодировки.
Алгоритми за индексация. Оптимизационни техники Резултат на работата на процеса претърсване е формиране на индекси, ускоряващи извличането на заявена информационна единица (ИЕ). Всъщност, работата се извършва в 2 фази: Фаза 1. сканиране на текста на всеки посетен документ (съобразно изложените по-горе стратегии). За всяка ИЕ се реализира запис в таблица, съдържащ ID на документа, уточняваща информация (например, стартово отместване на ИЕ, дължина и др. ), както и URL адреса на обходения документ. Оптимизационни процедури добавят и информация за честота на срещане, вероятност за точно попадение (виж по-долу в материала) и т. н. Фаза 2. инверсно подреждане на информацията: формира се огромна таблична структура, сортирана по открити ИЕ (на основа на изградените структури от фаза 1). Там се поддържа важната информация за честота на попадения и формиран слят, сортиран списък на документни ID от местата на открита ИЕ с добавена уточняваща информация ( споменатата в описанието на фаза 1).
Работата в двете фази изглежда най-общо така: Фаза 1: ID на документ допълнителна инф: Начало, дължина на ИЕ URL на попадението 1 12, 234 Ххххх. ххх 2 2. 327 data. bg/ 3 24, 666 tu-sofia. bg/ 4 ID на док. честота 3 0, 344 … ….
фаза 2 ИЕ брой срещания flats слят списък 123 aaa cars 6 (3, 24)(15, 2)(267, 15)(1020, 2)(1021, 2)(1023, 4) Сортиран, слят, инверсен списък
Мащабиране на обема: изработваните индекси, очевидно са невъзможно големи. Например, претърсване за 500 ИЕ във всички 20 милиарда страници, може да доведе до 20 трилиона таблични записа. Първа оптимизация е разпределяне между всички включени в търсещия клъстер машини. Ако те са 500 напр. , индексация на 20 милиарда страници би се разпределила по 40 милиона/компютър. И това, обаче води до файлове с по 20 милиона записа. Процедира се така: сканира се до изчерпване на паметта, спира се и се формира инверсния файл, записва се в дискове и се продължава отново. Записаните частични файлове се сливат. · * Предварителна обработка на заявената за търсене ИЕ: виртуалният речник за търсене в web съдържа стотици милиони терми. Това е поради факта, че заявки се правят не само за дума, но и за комбинация, фраза, част от дума, имена, цифри, термини. Включително и сгрешени думи. В търсачките се влагат интелигентни алгоритми за предварително преобразуване (доколкото е възможно ) на заявения терм. Изграждат се вложени структури, като с всяка от тях се ограничава полето на последващо търсене. · *
Компресия: формираните индексни файлове се подлагат на компресия за пестене на дисково пространство. · Интелигентна обработка на фрази: поотделното претърсване за всяка включена във фраза дума е неефективно. Търсенето им в зададената комбинация, също води до пропуснати извлечения. Обикновено, фразата се анализира и се търси за релевантни думи от нея. Извлечения за част от тях могат да са вече кеширан. · Специално внимание на страници с голям брой входящи препратки: тъй като търсачките работят вложено по линкове на страниците, те притежават събрана информация за входящи препратки към всяка обхождана страница. Такава може да се постави приоритетно в търсенето. Google дефинира технология за оценка популярността на сайт – Page. Rank, която използва в търсачката си. Разбира се, поддържане на матрици на връзките за всички 20 милиарда страници е неефективно. Прави се подбор и се изключват слабо посещавани, статични и др. страници. · Подбор на страници за индексация според други фактори: има се предвид, независими от заявките фактори. Оценка за значимост на страница се прави и по: кратък URL, честота на навлизания на spam в страницата (по-често, значи по-важна страница), честота с кояо клинти снемат страницата и т. н. Такива страници се включват в индексацията, докато други се прескачат от оптимизационните процедури. ·
Проблеми на реалността Основен проблем са неточните резултати. Например, търсене по дума ‘стършел’ с цел откриване на информация за вестника, ще изведе хиляди попадения за едноименното насекомо. Драматични подобрения са възможни, когато се сканира целия списък открити ИЕ и резултатите се допълнително сортират по по-релевантни критерии: обкръжаващи термини, дължина на документ, честота на попадения от същия източник, входни или изходни препратки и др. Търсачката на Мicrosoft дефинира над 300 критерия, повишаващи релевантността на откритите попадения.
Посоки за възможни ускорения · приключване преди изчерпване на всички документи. Индексацията приключва до достигане някакъв праг: брой открити ИЕ, минимална честота на попадения в документ. . . · влагане на ускорени процедури за прескачане в списъка. Има се предвид честото прескачане на хиляди индексирани документа по желание на заявителя. · Преномериране на индексираните документи по различни критерии и пренареждане на инверсния списък. Например, най-отпред се сортират автокъщи с максимален брой открити автомобила от заявената марка. · Кеширане. Извънредно продуктивна техника, която позволява търсещата машина да пази в кеш паметта си прекомпилиран вид на хиляди най-посещавани страници.
e876a9d97c46871c926710f021288159.ppt