Блог на Васил Тошков

Как търсачката "вижда" уеб страниците

Търсачките на практика "виждат" страниците в Интернет подобно на хората, разбира се, когато умишлено не е представено друго и/или скрито съдържание на търсачката. Има обаче няколко различия относно това как хората и търсачките отсяват ценната информация от страницата. Ще се опитам да представя процеса структуриран във времето.

1. Търсачката сваля файла на страница.

Това най-често е файл с HTML структура, но може и да е използван друг език за форматиране, като XML, примерно. Възможно е търсачката да индексира и други видове файлове (документи), но в тази статия ще говоря за страници, форматирани с markup езици.

2. Извличане на съдържанието от страницата.

Общо взето всички markup езици са създадени с цел съдържанието от тях лесно да бъде извлечено. В общия случай това е текстът между символите ">" и "<". Всичко останало се смята за код или "meta" данни. В зависимост от търсачката може да се извличат и данни от "meta" данните.

3. Премахване на специалните символи от съдържанието.

До тук от страницата е останал само текстът и то форматиран на един ред. Следващата стъпка е търсачката да се отърве от всички специални символи, които не носят никаква полезна информация. Такива са, примерно: точки, тирета, удивителни, въпросителни, знак за процент и т.н. Специалните символи се заместват с интервали при някои търсачки.

4. Премахване на "Stop Words".

До тук имаме съдържание на един ред, което представлява само думи, разделени с интервали. Време е да се отървем от думите, които не носят никаква информация. Такива са, примерно, английските: and, or, if, about и т.н. В зависимост от търсачката могат да се премахват и "Stop Words" на кирилица.

5. Определяна на ключовите думи от текста.

До тук имаме само подбрани думи, разделени с интервали. Време е да се определи кои от тях са ценни и кои по-малко. За целта се сравняват думите всяка със всяка и се създава списък на повтарящите се думи, като тези, които се срещат най-често, са в началото на списъка.

В зависимост от търсачката, може да се изследват думите за положение, гъстота, подчертаване и т.н. Също така при сайтове с много страници, се отделя уникалната за всяка страница информация от тази, която се повтаря. Същото се прави и с изходящите връзки от страницата.

Оттук нататък всяка търсачка подхожда индивидуално с информацията, с която разполага. Един ефикасен метод е всички думи да се сортират в списък спрямо повторенията им. Така съдържанието на всяка страница ще е един вертикален списък с думи, всяка с индекс на повторенията й в текста.

Подобна структура е много лесно да бъде представена в релационна база данни. Оттам релационния модел подпомага бързото и лесно структуриране на информацията. Процеси, като търсене и сортиране при подобен списък в релационна база данни, са максимално бързи.

Някъде между всички тези точки се анализират изходящите връзки на страницата, за да може роботът да стигне и до други страница от конкретния или друг сайт. Този процес е по-сложен от процесът на "Data Mining" (отсяване на ценното в съдържането) и ще бъде предмет на друга статия.