Всички ние сме чели в Битие за хората, събрали се заедно в
Сенаарската земя, „за да изградят град, даже кула“, която да достига
до небето и за това, как Бог виждайки усилията им, решил да слезе
на земята и да всее раздор помежду им, така че делото им да остане
недовършено. За да постигне целта си, той просто ги накарал да
говорят на различни езици.
Като че ли отново нещо грандиозно се случва с човечеството, при
това в обозрим от човешка гледна точка интервал от време, само че
този път стигналото до крайност в разделението на езиците
човечество, почва да търси начини да заговори отново на един език
и да се заеме с градеж на нова комуна, този път не кула до небесата,
а мрежа.
Добре, съгласна съм, че някому този паралел може да се види груб,
но въпреки всичко web не се ли развива точно в тази посока? Web
преди всичко си остава една непрекъснато обновяваща се колекция
напълно разнородни и разноезични документи със съдържание,
което никой не задава предварително. Разнородността я има дори на
ниво един единствен документ. Един и същ документ може да
съдържа в себе си информация на човешки език или на машинен.
Или информацията да е вокабуларно различна (линкове, телефонни
номера, продуктови идентификатори, имейл адреси). Документите
могат да са различни и като формат, (текст, HTML, PDF,
изображения, звуци), или дори машинно генерирани, (log-файлове
или извлеци от бази данни). Да не говорим за това, как много от
документите могат да съдържат грешки, а грешките биват
изключително разнообразни – от пропуски в HTML кода, през
неподходящ набор знаци, та до грешки в синтаксиса и дори такива,
каквито дори въображението ни не би допуснало. В предишната
колонка стана дума за това, че google блестящо се справя с този
знаков и езиков хаос, с този синтаксис напъхан в синтаксиса и
евентуалните му провали, но как точно го прави? Прави го с
помощта на извънредно сложна последователност от операции,
които ще се опитам да опиша възможно най-просто:
– уеб кроулинг – споменатите в предния текст кроулери пръснати из
мрежата доставят на един сървър, изпълняващ ролята на склад уеб
страници. Компресирани, тези страници отиват на склад в
хранилището. Всяка страница има асоцииран с нея
идентификационен номер (docID).
– индексиране – най-интересната част е несъмнено индексирането
на така складирания материал. Индексирането се състои на свой ред
от няколко операции. Парсинг – това е когато на извлечените от
хранилището и декомпресирани документи им се прави синтактичен
разбор с цел въведената секвенция знаци (документ) да бъде сведена
до отделни „словесни случки“ (хитове). които да бъдат препратени
нататък, за да бъдат разпознати в тях определени граматични
структури и за да бъде трансформиран текстът нататък в
структурирани данни, удобни за по-нататъчна обработка. Така че
тези хитове представляват запис на съответната дума, позицията й в
документа, информация за шрифта и наличието на главни букви.
Тези така наречени хитовете биват разпределени в набор от
резервоари, но са само частично сортирани. Индексерът извършва
още една важна операция, той прави разбор и на всички линкове във
всяка една уебстраница и складира информацията за тях в отделен
файл. Този файл съдържа информация която позволява да се разбере
накъде води линкът и какъв е самият текст на линка. Следва
сортиране. Сортерът взима резервоарите сортирани според docID и
ги ресортира според друг един идентификатор, наречен wordID, за
да бъде генериран още един, преобърнат индекс. Сортерът също
така генерира и списък от тези wordID-та. Програмата DumpLexicon
взема този списък и лексикона произведен от индексера и генерира
нов лексикон, който да участва в търсенето редом с преобърнатия
индекс плюс PageRank.
На мен самата ми беше трудно да опиша това трасе и ако изобщо го
направих, то не е било да затруднявам на свой ред някого, а за да се
получи поне бегла представа за сложността и многоетапността на
такова едно трансформиране на останките на езика в един нов
монумент. Само за да се запитам в следващия миг: а дали поредния
порив за единство между хората няма чисто и просто да доведе до
възцаряването на един нов Бог, тотален (или може би само
тотализиращ) технологичен бог, този път не разделящ, а обединяващ
ни чрез езика, монополът над който само би ни направил по-лесно
управляеми?