Algoritmus vyhľadávača Centrum

Tibor Peták, 5. November 2008

“Pridaním parametra &debug=1 do adresy ľubovoľného vyhľadávania na Centrum.cz (tybiho vsuvka: Centrum.sk, vyhľadávač Morfeo) sa dostanete do rozšíreného výpisu výsledkov hľadania. Z neho sú potom jasné zákonistosti radenia, druhy výsledkov, penalizácie a váhy“, píše Yuhůů na svojom blogu.

Máte jedinečnú možnosť nahliadnuť (i keď pomerne primitívnemu) vyhľadávaču pod kožu. Yuhůů (bývalý šéf vyhľadávača Seznam – Dušan Janovský) v článku presne popísal fungovanie radenia výsledkov na Centrume, takže to nebudem opakovať. Choďte tam, prečítajte a prihláste sa na jeho RSS. Osobne som sa po prečítaní nevedel od Centra odlepiť niekoľko hodín…

Mojím prínosom k téme by mal byť preklad do slovenčiny :), matematickejšie vyjadrenie vzorca pre radenie výsledkov a malé upresnenie výpočtu záhadnej premennej NEAR.

Presná formulka pre výpočet rankingu v Centrum.sk (a ešte istú chvíľu aj pre Centrum.cz), očistená o manuálne penalizácie a uprednostňovanie, je:

Q = 10000.N + 10.W.N + ∑ (10.M1i + 1,25.M2i) + NEAR

  • Q = výsledná hodnota, podľa ktorej sa výsledky radia
  • 10000 = konštanta, ktorú má každé slovo, akýsi BASE
  • N = počet hľadaných slov
  • W = weight = číslo pravdepodobne odpovedajúce PageRanku
  • ∑ = suma pre i rovno jednej do N
  • M1i = 1st Match = silnejší faktor i-tého slova
  • M2i = 2nd Match = slabší faktor i-tého slova
  • NEAR = hodnota, ktorá vyjadruje blízkosť a umiestnenie slov

Je tam ešte jeden detail, ktorý nebol spomenutý ani v pôvodnom článku a to ten, že občas má stránka na prvej pozícii Q vyššie, než by vyšlo hore uvedeným vzorcom. Vypadá to na nejaký koeficient pre dôveryhodné stránky. Väčšinou sa ukazuje u hľadaní, kde je jedna stránka absolútnou autoritou.

W = Weight = PageRank

W vypočítate klasickou formulkou pre výpočet PageRanku:

W(Pi) = (1-d)/n + d.∑ (W(Pj)/L(Pj))

  • W(Pi) – Weight/PageRank i-tej stránky
  • d = damping faktor menší ako 1, cca 0,8-0,9
  • P1, P2,…,Pn sú všetky stránky v indexe
  • ∑ = suma pre všetky Pj z M(Pi), kde M(Pi) je množina všetkých stránok odkazujúcich na danú stránku
  • L(Pj) = počet odkazov na j-tej stránke

N = počet hľadaných slov

N je dané z hľadania. Len pre istotu, aby to bolo jasné, tak pre hľadanie najlepšia SEO firma Slovensko je N rovné štyrom (predložku som zámerne nepoužil, lebo sa hodnotí trochu inak, čo ale teraz nie je dôležité).

M1 a M2 = najlepší a druhý najlepší výskyt slova na stránke

Faktory Match sú zaujímavé z toho pohľadu, že Centrum/Morfeo berie v úvahu len dva najlepšie výskyty daného slova podľa tabuľky uvedenej nižšie, ostatné výskyty slova sú preňho nezaujímavé. Takže trebárs taká hustota kľúčových slov nie je faktorom. Ako je vidieť, faktorom nie je ani meta description.

Body Q za výskyt slova
Kód výskytu Q body Význam
ctitle 110 slovo je v katalógovom titulku
cdesc 30 slovo je v katalógovom popise
title 100 slovo je v titulku stránky (tag <title>)
hdr2 80 slovo je v nadpisoch h1, h2 a h3
hdr1 50 (-10) slovo je v nadpisoch h4, h5 a h6
text 20 (-70) obyčajný text
emph 50 (-40) zvýraznené slovo, obsah tagov em, strong, i a b
small 10 obsah tagu small
alt 10 alty obrázkov
ext 80 slovo je v anchor texte spätných odkazov
meta 0 slovo sa vyskytuje v meta description
urlword[3] 90 slovo je v doméne druhej úrovne
urlword[1] 25 slovo je v subdoméne

NEAR = hodnota vyjadrujúca blízkosť slov v texte a pozíciu na stránke

Pre jednoslovné hľadania je NEAR automaticky nula, čiže vzorec pre hľadanie jedného slova sa dosť zjednoduší:

Q = 10000 + 10.W + 10.M1 + 1,25.M2

Pre dve slová sa NEAR počíta podľa nasledovnej tabuľky v závislosti na vzdialenosti od seba a poradia:

Body Q za blízkosť slov v title a hlavnom textovom obsahu
Vzdialenosť výskytu slov Hľadané poradie slov Opačné poradie
slová hneď vedľa seba 4100 3000
slová objedno 2250 1150
medzi dvomi hľadanými sú dve iné slová 400 287
medzi dvomi hľadanými sú tri iné slová 115 0
viac ako tri iné slová 0 0

Yuhůů vyjadril názor, že Morfeo síce má pozičný index, ale veľmi ho nepoužíva. Neviem, čo je veľmi, ale práve u hodnoty NEAR sa umiestnenie slov odzrkadľuje. Hore uvedená tabuľka platí pre blízkosť slov v title a hlavnom obsahu stránky, pre footer a možno aj iné menej významné časti stránky platia 2,5 krát nižšie hodnoty (berie sa vždy najlepší výskyt):

Body Q za blízkosť slov vo footeri
Vzdialenosť výskytu slov Hľadané poradie slov Opačné poradie
slová hneď vedľa seba 1640 1200
slová objedno 900 460
medzi dvomi hľadanými sú dve iné slová 160 0
viac ako dve iné slová 0 0

Stretol som sa ešte so 4-krát a 8-krát zníženými hodnotami oproti prvej tabuľke, ale už som nebádal, kde sa tie slová nachádzajú.

Hore uvedené tabuľky uvádzajú hodnoty pre vzdialenosť dvoch slov, čo však v prípade viacerých? Jednoducho sa zoberú vždy najväčšie možné čísla z dvojslovných kombinácií, vynechá sa opakovanie tých istých a spočíta sa to. Najlepšie sa to vysvetľuje na príklade (pre testovanie som používal blog sveek.cz a centrum.cz). Title stránky je Sveekův SEO blog.

Hľadanie blog SEO dáva 3000 bodov, pretože slová sú dve, sú priamo vedľa seba v title, ale v opačnom poradí. Výpis debug módu je nasledovný:

HEADER:
Word <blog>: Q=11100
Base: 10000
1st match: title[0] (100) => 1000
2nd match: hdr2 (80) => 100
Word <seo>: Q=11100
Base: 10000
1st match: title[0] (100) => 1000
2nd match: hdr2 (80) => 100
Custom matcher: Q=0
Near #0: Q=3000
Static weight 215 x 3 (Q=6450) => total Q=41650

Ďalšie príklady:

  • Hľadanie Sveekův SEO blog dáva 8200 bodov (2-krát 4100), pretože tri slová priamo vedľa seba sú vlastne dve (Sveekův SEO) a dve (SEO blog) vedľa seba a to v hľadanom poradí. Čiže presná zhoda pre N slov v rovnakom poradí je Q = (N-1).4100.
  • Hľadanie Sveekův blog dáva 2250 bodov – objedno, ale v rovnakom poradí.
  • Hľadanie SEO blog Sveekův dáva 7100 bodov – SEO blog (4100) + SEO Sweekův (opačné poradie – 3000).
  • Hľadanie SEO guru Sveek dáva 3280 bodov – SEO guru (1640 – rovnaké poradie, hneď vedľa seba, ale text v pätičke stránky) + guru Sweek (1640).

Snáď je to z tých príkladov pochopiteľné, musíte si to vyskúšať!

PS: Aj vám padla sánka? Nie ani z toho, ako ten vyhľadávač pracuje, ale z toho, že podľa vyjadrenia Yuhůa, Seznam o parametri debug vie už štyri roky. To by sa potom Centrum vo vývoji svojho vyhľadávača mohlo aj pretrhnúť, keď akýkoľvek pohyb smerom dopredu, Seznam ihneď presne vedel. Prečo to vlastne Centrum prešlo na Google vyhľadávanie? :)


Podobné články / mohlo by vás zaujať:

7 komentárov k “Algoritmus vyhľadávača Centrum”

1. embuck píše:
November 6th, 2008 at 8:06 am

Wau pekne zistenie.

2. minson píše:
November 6th, 2008 at 11:43 am

Nemas nieco podobne aj pre Google? :P

3. Okuin píše:
November 6th, 2008 at 12:22 pm

pripajam sa k minsonovi, nabuduce ocakavam rozbor algoritmu google :D:D

4. Fondil píše:
November 6th, 2008 at 4:05 pm

Zajimave, presne stejne tema se nedavno objevilo na http://weblog.jakpsatweb.cz/

5. tybi-admin píše:
November 6th, 2008 at 5:55 pm

minson, Okuin… pre Google? To by som asi neuverejnil. :)

Fondil, no a přesně druhý a třetí odkaz v článku vede na blog, který uvádíš. :)

6. Okuin píše:
November 6th, 2008 at 6:30 pm

heh, fondil, musis citat cely clanok, nie len koniec :P
Tybi- ale pomohol by si nam velmi :D

7. sveek píše:
November 11th, 2008 at 11:16 am

1) zajímavý, že sis vybral zrovna můj blog :)
2) je zajímavý vědět, jak to funguje, ale jak sám na konec píšeš, je to trochu irelevantní vzhledem k tomu přechodu na google. (a to je samozřejmě dobrá zpráva, protože nám odpadne starost s dalším vyhledávacím systémem a můžeme se zaměřit jen na dva hlavní a ušetřit si alespoň trochu práce)

Súhlasíš - nesúhlasíš, reaguj!