Každý, kdo se chce věnovat SEO, musí rozumět vyhledávačům. Jejich korporace nám to však příliš neusnadňují. Kvůli konkurenčnímu boji se sice jen málokdy dozvíme přesné fungování algoritmů, které nám na internetu denně poskytují odpovědi, ale základy jsou všude stejné. Tento článek se proto zabývá třemi nejdůležitějšími postupy – lexikálním, fulltextovým a sémantickým vyhledáváním.
Co je lexikální vyhledávání?
Nejjednodušší, lexikální vyhledávání jednoduše spáruje přesně vstup s odpovídajícími pasážemi textu (pro názornou ukázku, co to je, stačí zmáčknout Ctrl + F v programu, ve kterém právě tohle čtete). Lexikální vyhledávání tedy funguje na úrovni slov, dokonce klíčových slov.
Coby nejjednodušší způsob má také lexikální vyhledávání mnoho nedostatků, z nich některé jsou zřejmé na první pohled (opět zkuste Ctrl + F). V první řadě hledá pouze doslovné znění dotazu, nic jiného. Jakékoliv chyby nebo překlepy se pro program stanou součástí zadání a vyhledávač jejich přítomnost nezjistí. Zvláště v jazycích, jako je čeština, dále může vadit, že lexikální vyhledávání neovládá skloňování, stejně jako si neporadí se synonymy. Nakonec je třeba rovněž vědět, že výsledky nezohledňují relevanci a nedokáží seřadit položky podle důležitosti.
V jednodušších úkolech a aplikacích má sice lexikální vyhledávání stále své místo, ale dnešní vyhledávače už potřebují sofistikovanější metody.
Co je fulltextové vyhledávání?
Fulltextové vyhledávání podstatně zpřesňuje interpretaci tím, že mu nejde jen o přesnou shodu slov. Program proto dokáže vypustit slova, která nejsou důležitá pro význam dotazu (například spojky, předložky nebo členy), a ta zbylá zredukuje na kořeny, aby vyhledávač našel i jejich ostatní tvary. Stále však chybí postup, který by u výsledků zjistil relevanci, a tak na scénu nastupují další, doplňující algoritmy.
Co je TF–IDF algoritmus?
TF–IDF (term frequency – inverse document frequency) je jeden ze základních způsobů, jak v souboru dokumentů najít důležitá slova. TF přitom značí relativní frekvenci slova v jednom dokumentu, zatímco IDF zjišťuje jeho četnost napříč všemi dokumenty. Programátorka Kären Spark Jones definovala TF–IDF tak, že „Specifičnost termínu lze kvantifikovat jako inverzní funkci počtu počtu dokumentů, ve kterých se termín objeví.“
Přeloženo do češtiny – pokud se určité slovo objeví jen v některých dokumentech, ale zato víckrát, zřejmě pro ně bude podstatné. Přeloženo do matematiky to pak znamená, že:
- TF je počet výskytů slova lomeno počet všech slov v dokumentu
- IDF je logaritmus podílu celkového počtu dokumentů a počtu dokumentů s daným slovem
- TF–IDF je pak násobek TF a IDF
Opět platí, že zjištění TF–IDF pro jednotlivá slova patří mezi ty základní metody, a současné vyhledávače jsou tedy o mnoho dále.
A k čemu slouží BM25?
Například pozdější algoritmus BM25 (BM = Best Matching) na rozdíl od TF–IDF zohledňuje ve svém výpočtu i délku jednotlivých dokumentů, čímž poskytuje opět o něco přesnější výsledky.
- Výpočet proto zahrnuje IDF, které se poté násobí dalším zlomkem; ten operuje s délkou daného dokumentu i s průměrnou délkou ostatních dokumentů v souboru.
V praxi to znamená, že BM25 vztáhne výsledek k délce textu a odstraní tak sklony k vybírání delších dokumentů, které TF–IDF má.
Práce s vektory ve fulltextovém vyhledávání
Následně nastupuje na scénu vnoření slov, tj. embedding. Vyhledávač dokáže výstup z TF–IDF převést na vektor, což umožňuje následné porovnávání jednotlivých slov. Tento sparse embedding zlepšuje práci s daty a poskytuje lepší výsledky než prosté lexikální vyhledávání.
Poděkovat za tuto vymoženost přitom můžeme Tomáši Mikolovovi (a pár dalším vývojářům, co už ale nejsou naši krajané), který v roce 2013 vyvinul pro Google AI model Word2vec. Word2vec dokáže zjistit podobnost či souvislost mezi slovy pomocí podobnosti jejich vektorů, a tak po úvodním natrénování zvládne doplňovat slova do věty, navrhovat synonyma, anebo se třeba pokusit o strojový překlad.
A co zlepšilo sémantické vyhledávání?
Ačkoliv je tedy fulltextové vyhledávání mnohem flexibilnější a přesnější než to lexikální, pořád má svoje mouchy. Hlavně totiž nevidí dovnitř slov, a tak v případě homonym nedokáže rozlišit jejich významy. Zda tedy například pod pojmem „kola“ hledáte nové pneumatiky, bicykl, nebo limonádu, to fulltextové hledání nerozezná, tudíž nemusí vždycky nabízet relevantní výsledky.
Postupným vývojem se proto dospělo k sémantickému vyhledávání, na jehož bázi fungují dnešní vyhledávače. V tomto případě již program dokáže nejen najít slova z dotazu, ale navíc zhodnotit i jejich kontext a různé významy, aby poskytl relevantní odpovědi.
Sémantické vyhledávání se rovněž opírá o převody na vektory, tzv. dense embedding (česky by se dalo říct „husté vnoření“). Jednoduše řečeno, menší počet významných vektorů nahradí větší množství těch méně významných, což umožňuje lepší zaznamenání informací o významu a kontextu slova.
Nevýhodou tohoto postupu může být velké množství dat, které tato metoda obnáší a vyžaduje. Používají se proto vektorové databáze, které zvládnou tato data lépe uschovat i zpracovat za použití lepších organizačních metod.
Hybridní vyhledávání, co to je?
V praxi však může být potřeba více přístupů, které pouze jeden z algoritmů nezvládne. Uplatňuje se proto hybridní vyhledávání, při němž dokáže vyhledávač použít více vyhledávacích algoritmů naráz, aby navzájem doplňovaly svoje přednosti a vykrývaly svoje slabiny.
Výhody jsou jasné, ale pokud byste si podobné řešení chtěli na svých stránkách zařídit sami, nebude to lehké. Zdvojení vyhledávacích algoritmů znamená dvojnásobnou potřebu údržby, dvojnásobné nároky na data a další obtíže. Zároveň musíte nějak zprovoznit dva různé systémy, z nichž každý má jiné nároky.
Z této kombinace přístupů přitom obzvláště těží současné LLM – pokud jazykový model dostane příliš krátký či příliš složitý dotaz, pomocí jednodušších algoritmů si dokáže dohledat kontext. Poté tento kontext zahrne do zpracování dotazu, aby dokázal odpovídat mimo své původní hranice.
A jaké algoritmy využívá Google?
Google přitom coby největší hráč v oboru vyhledávačů patří mezi významné inovátory a průkopníky na poli sémantického vyhledávání. Za posledních patnáct let proto zavedl množství vlastních updatů a algoritmů, které zlepšily vyhledávání a zároveň měly znatelné dopady na SEO:
- Panda (2011) zavedla pro stránky quality score, které vyhledávač sleduje. Dokáže proto předem vědět, odkud čerpat přednostně nebo čemu se vyhnout.
- Penguin (2012) sleduje backlinky a posuzuje jejich důvěryhodnost. Pokud stránka působí podezřele, Penguin jí sníží hodnocení.
- Hummingbird (2013) zavedl sémantické vyhledávání, což mimo jiné znamená porozumění otázkám. Najednou tak nejde při vyhledávání pouze o dotaz, ale i jeho formulaci.
- Mobile (2015) znamenal, že vyhledávání nově zohledňuje i uživatele na mobilech a optimalizaci pro ně. Stránky špatně přístupné pro mobily už od té doby moc nebodují.
- RankBrain (2015) navazuje na Hummingbird, přidává do algoritmu strojové učení a umožňuje přizpůsobení SERPu konkrétnímu uživateli. Alespoň to je tedy odhad, jeho přesnou funkci kupodivu nikdo neví.
- Medic (2018) se zaměřil na E-A-T, přičemž nejvíce kontroloval stránky s lékařskou, finanční, právní a další potenciálně rizikovou tematikou. Autorita je tedy důležitější více než předtím, obzvláště pokud se věnujete takto vážným tématům.
- BERT (2019) zavedl metody zpracování přirozeného jazyka (natural language processing, NLP), což znamená lepší porozumění dotazům i obsahu stránek. Náhle už nestačí mít na stránkách jen text, ale musí to být i dobrý text.
- BARD (dnes Gemini, 2023) představuje odpověď Googlu na ChatGPT a zavádí prvky umělé inteligence. Použití LLM umožňuje vyhledávači nejen lépe chápat dotaz, ale také generovat vlastní odpovědi.
Zároveň však můžeme pozorovat i to, že Google je ohledně svých updatů čím dál tím méně transparentní. Již od roku 2017 upouští od tematických jmen a mnohem častěji pro inovace používá obecné označení Core Updates, aniž by nějak zvlášť dokumentoval proběhlé změny. Uživatelé jsou proto odkázáni především na studie a/nebo vlastní výzkum.
Co tyto algoritmy znamenají pro SEO?
Občas někdo zmíní myšlenku, že dřív stačilo všude dát dostatek klíčových slov, zatímco dnes je SEO o porozumění intentu. Důvod můžeme vidět právě v tom, že od jednoduchých, na jednotlivých slovech založených algoritmů přešly vyhledávače ke složitějším algoritmům. Možnost odhadnout významy, kontext i záměr uživatele díky husté vektorové síti znamenají, že vyhledávače mohou více rozumět intentu a lépe pomoct lidem. Pro lidi v oboru to však znamená o to větší potřebu, aby s vývojem udrželi krok. Dnešní vyhledávače už dokážou poznat kvalitní obsah od toho špatného – a zkuste hádat, ke kterému z nich uživatele spíše nasměrují-