Limitní faktory sémantického vyhledávání

21. prosince 2016

Současná společnost je charakteristická mimo jiné tím, že o sobě shromažďuje velké množství informací. Právě tyto volně přístupné informace jsou hnací silou moderní doby. Vlády i soukromé firmy mohutně investují do informačních služeb a informačních systémů a databází. Firmám takové investice přinášejí často vyšší zisky než prostá výrobní činnost. Není tedy divu, že počet lidí, kteří se věnují aktivitám spojeným se získáváním a poskytováním informací roste rychleji než v jakékoliv jiné skupině oborů. Výsledkem je Internet – stále se rozrůstající síť otevřených informačních zdrojů.

Hodnota informací ale nestoupá s jejich množstvím, nýbrž se odvíjí od jejich relevance. Lidé potřebují pro svá rozhodnutí, která by měla být co nejzodpovědnější, přesné a podstatné informace. Ovšem snaha o nalezení nějaké konkrétní informace je v prostředí Internetu někdy podobná hledání pověstné jehly v čím dál větší kupce sena. Stručně by se dal tento problém definovat jako stav, kdy na jedné straně nekontrolovatelně narůstá množství nesourodých, netříděných informací a na straně druhé úměrně objemu dat klesá schopnost uspořádat soubory informací do jednoduché přehledné elegantní struktury.

Bez vyhledávačů to nejde

Prvním řešením, jak se na Internetu zorientovat, byly katalogy webových stránek. Takové katalogy stále existují, ale není v lidských silách je pořád doplňovat a udržovat aktuální. Bylo tedy zřejmé, že dynamika růstu webového obsahu je zvládnutelná výhradně prostředky výpočetní techniky, a tak se záhy začaly objevovat první fulltextové vyhledávače, např. AltaVista. Bohužel jejich čím dál obsáhlejší datové indexy rychle snižovaly relevanci výsledků vyhledávání. To změnil až v roce 1998 vyhledávač Google, který webové stránky hodnotil, a podle tohoto hodnocení pak řadil výsledky vyhledávání. Nejvýše se umísťují weby, na které míří nejvíce odkazů. Logicky: když na nějaký informační zdroj vede hodně odkazů, tak bude zřejmě oblíbený, a jestliže je oblíbený, tak bude asi kvalitní a zasluhuje přidělit vysoký Page Rank (tj. hodnota stránky).

Nicméně ani Page Rank (ani Alexa Rank, S-Rank a další podobné) nevypovídá o relevanci, je to jen preferenční známka. Bylo potřeba udělat ještě další krok – „naučit“ vyhledávače rozumět obsahu webových stránek. Není to až tak absurdní, jak by se zdálo – HTML dokument je sémanticky strukturovaný pomocí HTML tagů. Tyto tagy mají určitý význam. Některé z nich vyznačují nadpisy, titulek stránky, popisek stránky, tedy prvky, které vypovídají, o čem stránka je, čeho se týká, což je pro posouzení její relevance k dotazu důležité.

Na tomto principu, kombinaci hodnocení webů a sémantickém přístupu, jsou založeny současné vyhledávače. A docela dobře to funguje, ačkoliv se stále nedaří zdokonalit vyhledávací stroje natolik, aby skutečně rozuměli zadaným dotazům. Možná se to nepodaří nikdy, hlavním problémem je získání dostatečného informačního potenciálu z obvykle velmi krátkých dotazů, které uživatelé zadávají. S tím přímo souvisí další negativní aspekt – polysémie, tj. mnohovýznamnost slov. Je proto potřeba hledat nové cesty.

Strasti se zpětnou kompatibilitou

Lidé, kteří se podíleli na standardu HTML 5, nebyli vizionáři. Byli to pragmatici, kteří se soustředili na řešení praktických problémů, přesto odvedli záslužnější práci, než ti, kteří sice vize měli, ale nedokázali je zformovat do použitelné podoby. Mimo jiné se jim podařilo zlepšit úroveň sémantiky HTML, která ustrnula někde v minulém století. Nepřehledná záplava nicneříkajících DIVů se stává minulostí, neboť zdrojové kódy webových stránek obohatily nové sémantické tagy jako header, main, aside, nav, article, section, a díky tomu už nebude nutné v takové míře jako dosud přidělovat prvkům identifikátory a třídy, ani pomocí komentářů vyznačovat v kódu jednotlivé části stránky. HTML kód se tak stal pro člověka o trochu přehlednější a pro indexovacího robota mnohem srozumitelnější. Vyhledávače sice nejspíš analyzovaly strukturu kódu už dříve, je však otázkou, jak se jim to dařilo. Použití nových tagů bohužel poněkud komplikuje Internet Explorer 8. Tato stará verze IE totiž nové tagy nepodporuje a dosud existuje sice nepatrný, ale ne zcela zanedbatelný počet uživatelů, kteří ji ve svých Windows XP používají. Proto byl přechod na HTML 5 opatrný a pozvolný. Naštěstí v případě čistě sémantických tagů existuje způsob, jak s nimi IE 8 seznámit. Jakmile je nějaký prvek vytvořen DOM metodou createElement(), zařadí si ho IE 8 mezi ostatní a není pak už problém si jej podle potřeby nastylovat. Díky tomu mohou nové tagy fungovat i ve starších prohlížečích. (Pro nejznámější redakční systémy na to existují pluginy využívající knihovnu HTML5 Shiv.)

Původně se přitom o HTML 5 neuvažovalo, na HTML měl navázat XHTML, založený na XML, modularizovaný, rozšiřitelný a, jak se nakonec ukázalo, nepoužitelný. Slibné vize nedošly naplnění a zůstalo se u HTML, osvědčené brzdy rozvoje sémantiky.

To, že do nedávna nebylo možné v HTML kódu vyznačit ani hlavičku či patičku stránky působí možná zvláštně, je ale potřeba vzít v úvahu, že kodéři nemají velký vliv na to, které tagy budou do HTML zařazeny a které budou prohlížeče podporovat. A když jim standardní tagy nedostačují, nemají možnost k nim přidat další, takový kód by potom nebyl validní. Ostatně, i kdyby tato možnost existovala a HTML by měl nějaký mechanismus (něco podobného jako DTD nebo XML Schema), kterým by se definovaly nové tagy, nastal by problém s parsováním těchto tagů. Bez znalosti tagů se totiž správné parsování HTML nedá zaručit. Na vině je nejednoznačnost HTML syntaxe. Například pokud parser nenajde koncový protějšek nějakého tagu, jsou zde tři možnosti:

  1. Jedná se o nepárový tag.
  2. Koncový tag je v daném případě nepovinný a parser si ho automaticky doplní. Kam? To opět závisí na tom, o jaký tag se jedná. </li> se umísťuje před následující <li>, </p> je zase dosazen před nejbližší blokový element. Mezi nepovinné koncové tagy dále patří </html>, </head>, </body>, </dt>, </dd>, </rb>, </rt>, </rtc>, </rp>, </optgroup>, </option>, </colgroup>, </thead>, </tbody>, </tfoot>, </tr>, </th>, </td>.
  3. Může jít o chybu

Jelikož syntaxe HTML není dostatečně striktní, parser musí jmenovitě vědět, kam co patří a za jakých podmínek. Rovněž musí znát povolený obsah všech elementů, jinak by např. mohl chybně zpracovat znak < v kódu vloženého JavaScriptu (v XML na to existuje CDATA sekce). Naprogramovat HTML parser je proto dost složité, ještě horší však je, že s každou novou verzí HTML se musí upravovat.

Idea sémantického webu

První stránka s výsledky vyhledávání (SERP, Search Engine Result Page) obvykle nabízí obdivuhodně relevantní zdroje. Naproti tomu další stránky snad ani nemá cenu procházet. Co jest příčinou onoho neblahého jevu? Že by nedostatek vhodných zdrojů? To jistě ne. Některé zapadlé zdroje dokonce bývají obsáhlejší nebo aktuálnější. Problém je v hodnocení stránek. Stránky s vysokým hodnocením se protlačí do lepších pozic, i když jejich obsah není dostatečně relevantní. V této souvislosti nelze nevzpomenout na slavné Google bomby, které manipulovaly výsledky pro určité dotazy, například pro slova miserable failure (ostudné selhání) nabízely vyhledávače životopis prezidenta G. W. Bushe, přestože taková slova vůbec neobsahoval.

V podstatě jediný způsob, jak daný problém řešit, je zlepšit úroveň sémantiky. Současné sémantické HTML tagy totiž slouží zejména k vyznačení struktury obsahu a jen málo z nich popisuje, co prezentované informace vlastně znamenají. To vyhledávačům prakticky znemožňuje přesněji analyzovat obsah webových stránek a nabízet relevantnější výsledky vyhledávání. Co s tím? To se dozvíte v navazujícím článku.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *