Odległość semantyczna między terminami w dokumencie HTML

Jednym z czynników wpływających na pozycję strony w wynikach wyszukiwania jest semantyczna bliskość słów kluczowych. Tradycyjne algorytmy wyszukiwarek opierały się głównie na dosłownym dopasowaniu słów kluczowych występujących na stronie do fraz wpisywanych przez użytkowników. Wraz z rozwojem technologii wyszukiwania, coraz większą rolę odgrywa jednak zrozumienie kontekstu i znaczenia zawartości strony.

Obraz przedstawia "Ranking component", na który składa się "Page Analyzer Component", "Distance Component" i "Relevance Component"

Artykuł powstał w dużej mierze na podstawie patentu Google oraz wycieku wewnętrznej dokumentacji technicznej Google API Content Warehouse, ogólnie dostępnych informacji i wypowiedzi przedstawicieli Google, co daje kompleksowe podejście do tematu w celu dokładnego zrozumienia wpływ semantycznej bliskości na pozycję w wynikach wyszukiwania 🙂

Semantyczna bliskość słów kluczowych

Semantyczna bliskość słów kluczowych to podejście, które wykracza poza proste zliczanie wystąpień fraz w tekście. Zamiast tego koncentruje się na logicznych powiązaniach między frazami w kontekście całej struktury strony. Oznacza to, że znaczenie i kontekst jest ważniejsze niż fizyczna odległość między terminami w dokumencie HTML, czyli stronie internetowej.

Dlaczego semantyczna bliskość jest ważna dla SEO? Semantyczna bliskość jest super ważna, szczególnie w kontekście działania Googlebota, ponieważ pomaga:

  • Lepiej rozpoznawać kontekst, czyli wyłapać związek między terminami, nawet jeśli wizualnie są oddalone.
  • Uwzględniać znaczenie całych fragmentów tekstu, zamiast analizować lokalizację słów
  • Precyzyjniej odpowiadać na zapytania użytkowników, co prowadzi do lepszych wyników wyszukiwania (przynajmniej w teorii)

Różnica między odległością wizualną a semantyczną

Odległość wizualna określa fizyczną lokalizację słów w treści, np. w jednym zdaniu, akapicie, nagłówku czy punkcie listy. Frazy umieszczone blisko siebie są uznawane za powiązane wizualnie. Jeśli w jednym akapicie znajdują się frazy „optymalizacja strony” i „prędkość ładowania”, są one wizualnie bliskie.

Odległość semantyczna odnosi się do znaczeniowego związku między terminami, niezależnie od ich rozmieszczenia w tekście. Przykład z opisywanego patentu, gdzie przytoczono listę faktów o Saturnie:

  • „Saturn jest gazowym olbrzymem”
  • „Posiada charakterystyczne pierścienie”
  • „Jego masa jest 95 razy większa od masy Ziemi”

Chociaż te zdania są wizualnie oddalone od siebie, to z punktu widzenia semantyki wszystkie punkty są powiązane z tematem „Saturn”. Google inwestuje w semantykę od 2010 roku, a Googlebot wykorzystuje analizę semantycznej struktury, aby lepiej zrozumieć relacje między słowami w strukturze HTML.

Obraz przedstawia "Ranking component", na który składa się "Page Analyzer Component", "Distance Component" i "Relevance Component"

Algorytm wykorzystuje w analizie różne komponenty, które zaliczają się do jednego grupy „Ranking component„. To nadrzędna jednostka zarządzająca całością procesu oceny dokumentu HTML (strony internetowej) pod kątem ich zgodności z zapytaniem użytkownika. W skład tego systemu wchodzą trzy główne moduły. Najważniejszy i jednocześnie podstawowy wydaje się Page Analyzer, który odpowiada za analizę strukturalną dokumentu. Rozbija kod HTML na drzewo DOM (Document Object Model) identyfikując jawne i ukryte struktury semantyczne, takie jak listy, nagłówki czy hierarchie treści. Następnie informacje te są opisywane i przekazywane do „Distance Component„, który oblicza semantyczne metryki odległości między terminami, a „Relevance Component” ocenia i przypisuje ostateczną wartość rankingową, uwzględniając obliczone metryki oraz inne czynniki, takie jak odwróconą częstotliwość występowania terminów czy ogólną jakość strony.

W skrócie, ścieżka Ranking Component wygląda następująco

  • Page Analyzer → Distance Component → Relevance Component

W kwestii opisowej

  • Analiza struktury DOM → Obliczenia semantyczne → Ocena końcowa strony

Zasady metryki odległości

Za obliczenia metryk odległości odpowiada wcześniej wspomniany Distance Component, który przypisuje odległości terminom w różnych częściach dokumentu, uwzględniając ich znaczenie w kontekście całej struktury semantycznej. Odległość między terminami określa na podstawie struktury:

  1. Blisko – termin znajduje się w tym samym elemencie listy lub tej samej sekcji dokumentu
  2. Umiarkowanie – termin jest w nagłówku, a drugi w powiązanym punkcie listy
  3. Daleko – termin znajduje się w różnych punktach listy lub w odseparowanych sekcjach treści

Tradycyjne algorytmy często bazują na liczbie wystąpień słów kluczowych lub ich wizualnej bliskości. Jednak uwzględnienie odległości semantycznej pozwala lepiej zrozumieć kontekst i relacje między terminami. Strony, w których wyszukiwane terminy są semantycznie bliskie, otrzymują wyższą ocenę trafności, co poprawia ich pozycję w wynikach wyszukiwania.

Proces generowania rankingów

Obliczona odległość semantyczna to tylko jeden z elementów wpływających na końcowy wynik. Dalsza analiza odbywa się w ramach „Relevance Component„, który uwzględnia dodatkowe czynniki, takie jak:

  • Inverse Document Frequency (IDF), co pozwala nadać większą wagę rzadkim słowom
  • Jakość dokumentu na podstawie jego struktury linków i/lub reputacji domeny
  • Powiązanie semantyczne słów kluczowych z nagłówkami i elementami listy

Relevance Component łączy wszystkie powyższe dane generując końcowy wynik, który decyduje o miejscu strony w serpach.

Ukryte struktury semantyczne

John Mueller w jednym z filmów na kanale Google Search Central powiedział

analizujemy internet takim, jaki jest i wiele stron nie jest w ogóle semantycznie zorganizowanych 1

Dlatego w patencie można wyczytać o czymś takim jak jak „ukryte struktury semantyczne„.

Ukryte struktury semantyczne, to sposób organizacji informacji na stronie, który nie jest jawnie określony za pomocą standardowych znaczników HTML takich jak <ul> dla list, czy <h1><h6> dla nagłówków. Mimo braku tych tagów, struktura HTML wciąż może sugerować logiczne powiązania między elementami, wpływając na semantyczną bliskość słów kluczowych.

Przeważnie nagłówki są oznaczane tagami <h1><h6>, jednak ich brak nie wpływa negatywnie na pozycjonowaną stronę. Algorytm opisany w patencie potrafi analizować powtarzające się wzorce formatowania tekstu, aby rozpoznać strukturę nagłówków. Na przykładzie poniższego obrazu, algorytm – chociaż można domyślać się, że chodzi o Googlebot – analizuje HTML, następnie dekomponuje strukturę DOM identyfikując powtarzające się wzorce formatowania, które mogą sugerować hierarchię i organizację treści na stronie.

Oznacza to, że jeśli w artykule zastosowano inne metody wyróżniania nagłówków i podtytułów – takie jak pogrubienie, zwiększenie rozmiaru czcionki, zmiana koloru lub tła za pomocą CSS – mogą one zostać uznane za ukryte struktury semantyczne. Analogicznym do tego przykładem może być powtarzająca się wielokrotnie sekwencja tagów <br> i <b>, co sugeruje obecność ukrytej listy.

Obrazek opisuje nadrzędny element div, pod nim font, br i b jako wykrywanie ukrytej struktury semantycznej
Zdekomponowany DOM

Wykrywanie takich struktur to zadanie komponentu Page Analyzer, który identyfikuje wzorce powtarzalnych tagów HTML, takich jak <b> oraz <br> grupując je w logiczne sekcje. Relevance Component może wtedy nadać odpowiednią wagę takim elementom, które de facto nie mają wizualnej struktury listingu, ale mają znaczenie semantyczne.

Znaczenie ukrytych struktur semantycznych dla SEO:

Identyfikacja ukrytych struktur semantycznych pozwala na dokładniejsze określenie odległości między słowami kluczowymi w dokumencie. Zamiast prostej odległości mierzonej liczbą słów, Googlebot uwzględnia kontekst semantyczny wynikający z ukrytej struktury. Pary słów kluczowych występujące w tym samym elemencie listy, w nagłówku i treści pod nagłówkiem, lub w nagłówku listy i elemencie listy, są uznawane za blisko powiązane semantycznie, nawet jeśli fizycznie są od siebie oddalone. Przykłady ukrytych struktur semantycznych, to nic innego jak listy tworzone za pomocą innych tagów HTML niż standardowy listing <ul> lub <h1><h6>, np.:

  • <br> – przejście do nowej linii
  • <p> – akapit
  • <b> – wizualne pogrubienie tekstu
  • <strong> – semantyczne pogrubienie tekstu
  • <i> – pochylenie tekstu, kursywa
  • <em> – semantyczne pochylenie tekstu, kursywa
  • <div> – sekcja
  • <table>, <tr>, <td> – tabele do tworzenia list, mimo że nie są one formalnie przeznaczone do tego celu

Różnice między „zwykłymi”, a semantycznymi tagami

Na pierwszy rzut oka tagi HTML jak <b> i <strong> wydają się pełnić tę samą funkcję, czyli pogrubiają tekst lub gdy treść jest napisana kursywą wykorzystując <i> i <em>. Jednak z technicznego punktu widzenia różnią się one pod względem semantyki i przeznaczenia.

Najbardziej aktualna i oficjalna informacja o tym, czy Google wykorzystuje tagi HTML w ocenie stron pochodzi z 2013 roku od Matta Cuttsa, który stwierdził, że z perspektywy SEO nie ma żadnej różnicy między tagami <strong> i <b>. Zarówno w 2006 roku, jak i w kolejnych latach, Google traktuje te tagi identycznie. Cutts podkreślił, że taka sama zasada dotyczy tagów <em> (semantyczne wyróżnienie) i <i> (kursywa), które są traktowane identycznie pod kątem SEO.

Matt Cutts odpowiada czy istnieje różnica między tagami „strong” i „b” pod względem SEO

Kiedy używać „strong”, a kiedy „b”?

Jednak powyższa informacja pochodzi z 2013 roku. Od tamtego czasu dużo mogło się zmienić i szczerze wierzę, że obecnie jest znacząca różnica między „zwykłymi”, a semantycznymi tagami HTML, dlatego:

  • Używaj <strong> gdy chcesz zaznaczyć istotne informacje lub słowa kluczowe, które mają znaczenie dla treści strony. Dzięki temu zwiększasz semantyczną klarowność strony i poprawiasz dostępność (a11y). Uwaga! WordPress domyślnie używa semantycznych tagów 🙂
  • Tag <b> stosuj gdy chcesz pogrubić tekst wyłącznie dla efektu wizualnego, np. do podkreślenia fragmentów reklamy, nagłówków lub dekoracyjnych elementów tekstu. Chociaż do tego można też użyć CSS font-weight: bold; i efekt będzie identyczny

W HTML5 tagi <b> oraz <i> wciąż są obecne ale ich rola jest bardziej ograniczona. Praktyka wskazuje, że coraz częściej preferuje się użycie tagów semantycznych, takich jak <strong> i <em>, ponieważ pomagają one w tworzeniu bardziej zrozumiałych i logicznych treści. WordPress domyślnie korzysta ze znaczników semantycznych 🙂

Jak optymalizować treści za pomocą formatowania tekstu?

  1. Używaj znaczników HTML zgodnie z ich przeznaczeniem:
    • Twórz listy za pomocą <ul> (nienumerowane) lub <ol> (numerowane)
    • Zawsze oznaczaj nagłówki <h1><h6>
  2. Zadbaj o spójność formatowania
    • Jeśli decydujesz się na tworzenie list za pomocą innych tagów HTML, stosuj ten sam wzorzec formatowania dla wszystkich elementów danej listy
  3. Wykorzystuj linkowanie wewnętrzne
    • Odpowiednie linkowanie wewnętrzne między sekcjami strony. Używanie słów kluczowych (keywordów) jako anchor tekstu może wzmocnić semantyczne relacje między keywordem, a treścią
  4. Optymalizuj atrybuty alt dla obrazów
    • Jeżeli na stronie pojawiają się obrazy, warto zadbać o to żeby atrybuty alt zawierały odpowiednie słowa kluczowe ale wciąż opisywały obraz
  5. Unikaj nadmiernego stosowania niestandardowych listingów bez powtarzalnego schematu
    • Googlebot polega na identyfikacji wzorców w drzewie DOM, a złożone ukryte struktury semantyczne mogą powodować „uszkodzenie” prawdziwych relacji w tekście. W dokumentacji lighthouse jest napisane żeby unikać nadmiernego rozmiaru DOM 2. Na co składa się: liczba elementów, maksymalna głębokość oraz maksymalna liczba elementów podrzędnych. Te dwa ostatnie można zastosować do listingu (ul > li > ul > li), zbyt głęboki również może mieć negatywny wpływ na ocenę końcową

Wierzę, że właśnie takim podejściem można dostarczyć czytelnikowi wartościowej i logicznie zorganizowanej treści, a rykoszetem Googlebot i inne crawlery bardzo to docenią 🙂

Algorytm opisywany w patencie wykorzystuje wieloetapową analizę dokumentu (Ranking Component), w której Page Analyzer, Distance Component i Relevance Component są od siebie zależne i mają określone role ale czym dokładniej są te komponenty i jakie są między nimi różnice?

Page Analyzer – analiza struktury dokumentu HTML

Page Analyzer to pierwszy krok w procesie analizowania strony w kontekście jego struktury semantycznej. Jego zadaniem jest identyfikacja elementów strony, które mogą wpływać na sposób oceniania relacji między terminami zawartymi w treści. Komponent ten jest o tyle ważny, że od jego prawidłowego zrozumienia strony zależy poprawność kolejnych etapów, czyli obliczanie odległości semantycznej (Distance Component) i ustalanie finalnej oceny rankingu (Relevance Component).

Jak działa Page Analyzer?

  1. Parsowanie strony
    Page Analyzer najpierw rozkłada stronę na strukturę drzewa DOM (Document Object Model). DOM odzwierciedla hierarchię elementów HTML, takich jak nagłówki, akapity, listy, linki i ukryte struktury <div>, <br>, etc., umożliwiając analizę relacji między nimi
  2. Identyfikacja struktur semantycznych
    • Wizualne struktury semantyczne – listy oznaczone znacznikami <ul> i <ol> lub nagłówki <h1><h6>.
    • Ukryte struktury semantyczne – czyli formatowanie wskazujące na logiczną organizację treści, nawet jeśli nie zostały oznaczone odpowiednimi tagami HTML. Przykładem może być powtarzająca się sekwencja <b> / <strong> (pogrubienie) i <br> (przejście do nowej linii)
  3. Dekomponowanie i analiza
    Kolejnym krokiem jest rozbicie dokumentu na mniejsze segmenty (dekomponowanie) takie jak sekcje, podsekcje, nagłówki i elementy list. Page Analyzer szuka powtarzalnych wzorców w strukturze DOM, które mogą świadczyć o istnieniu list, tabel lub innych logicznych grup elementów. Dzięki temu jest w stanie oznaczyć takie fragmenty jako semantycznie powiązane
  4. Opisywanie drzewa DOM
    Po rozpoznaniu struktur semantycznych Page Analyzer adnotuje drzewo DOM, dodając do niego informacje o logicznych grupach elementów. Na przykład:
    • Elementy jednej listy są oznaczane jako należące do tej samej grupy
    • Nagłówki są powiązane z treścią znajdującą się poniżej nich
    • Ukryte struktury są klasyfikowane jako semantycznie spójne grupy

Dlaczego Page Analyzer jest ważny?

Page Analyzer to fundament analizy, bo dostarcza najważniejszych informacji o strukturze dokumentu. Pozwala na zrozumienie kontekstu treści dzięki identyfikacji struktur semantycznych algorytm może rozpoznawać powiązania między terminami, które nie są oczywiste na podstawie wizualnej lokalizacji w dokumencie. Poprawę jakości rankingów informacje o strukturze umożliwiają lepsze obliczenie odległości semantycznej między słowami przez Distance Component, co wpływa na ocenę trafności dokumentu względem zapytania użytkownika.

Przykład działania Page Analyzer’a

Niech za przykład posłuży obraz – ukryta struktura opisująca fakty o Saturnie

Obraz przedstawia ukrytą listę div, font, br i b
Ukryta struktura semantyczna – listing

Podczas analizy Page Analyzer:

  1. Rozpoznaje powtarzający się wzorzec <b> + <br> jako ukrytą listę
  2. Identyfikuje, że nagłówek „Saturn Facts” jest powiązany z 5 elementami z listy
  3. Adnotuje każdy element listy jako osobny ale logicznie powiązany fragment

Po zakończeniu analizy Page Analyzer dostarcza opisaną strukturę dokumentu, która wskazuje na logiczne relacje między poszczególnymi elementami treści do Distance Compontent. Na ich podstawie – drugi moduł – oblicza semantyczną odległość w dokumencie uwzględniając relacje w kontekście list, nagłówków i ukrytych struktur.

Distance Component – obliczanie odległości semantycznej

Distance Component jest drugim elementem w procesie analizy DOM. Jego zadaniem jest obliczenie odległości semantycznej między terminami w dokumencie na podstawie informacji dostarczonych przez Page Analyzer. Odległość ta opiera się na fizycznym rozmieszczeniu słów w tekście i relacjach w ramach wcześniej zidentyfikowanych struktur semantycznych. Czyli wyniki tej analizy pomagają zrozumieć, w jakim stopniu dokument odpowiada lub może odpowiadać na zapytanie użytkownika.

Distance Component korzysta z drzewa DOM opisanego przez Page Analyzer, co pozwala na identyfikację relacji między elementami dokumentu:

  • Listy – numerowane <ul> i nienumerowane <ol> oraz ukryte, czyli zbudowane za pomocą <div>, <br>, <b> / <strong>, <table>, <p>
  • Nagłówki i treści – powiązanie tytułów sekcji z odpowiadającymi im fragmentami tekstu
  • Grupy logiczne – tworzone na podstawie powtarzających się wzorców w strukturze HTML

Reguły obliczania odległości semantycznej

Obliczanie odległości semantycznej między terminami w dokumencie opiera się na zestawie reguł, które definiują ich wzajemne relacje w kontekście struktury semantycznej. Koniecznie trzeba wspomnieć, że funkcja obliczająca odległość różni się w zależności od zastosowanej reguły. Choć fizyczna liczba słów między terminami może być brana pod uwagę jako czynnik pomocniczy, nie stanowi kluczowego wyznacznika odległości semantycznej. Uzyskane wartości odległości są dodatkowo modyfikowane przez reguły określenia wagi terminu w zależności od hierarchii i kontekstu strukturalnego.

  1. Terminy w tym samym elemencie listy
    • Jeśli 2 terminy znajdują się w jednym elemencie listy, to są uznawane za semantycznie bliskie. Odległość między nimi jest minimalizowana, niezależnie od liczby słów, które je dzielą
  2. Terminy w różnych elementach tej samej listy
    • Terminy występujące w dwóch różnych elementach tej samej listy są uznawane za semantycznie umiarkowanie oddalone.
  3. Terminy w nagłówku i elemencie listy
    • Jeśli 1 termin znajduje się w nagłówku, a drugi w elemencie listy powiązanym z tym nagłówkiem, to są one uznawane za umiarkowanie bliskie. Taka para jest uznawana za równorzędną w odległości semantycznej do innych par z nagłówkiem i różnymi punktami listy
  4. Terminy w różnych listach
    • Terminy znajdujące się w różnych listach są uznawane za semantycznie odległe. Nawet jeśli ich fizyczna odległość (liczba słów) jest niewielka, strukturalne rozdzielenie wpływa na zwiększenie ich semantycznej odległości
  5. Terminy w nagłówkach sekcji i odpowiadających im treściach
    • Termin w nagłówku jest uznawany za bliski semantycznie terminom znajdującym się w odpowiadającej mu sekcji. Wartość odległości jest minimalizowana, a znaczenie nagłówka jest propagowane na całą sekcję
  6. Termin w tytule dokumentu
    • Termin w tytule jest traktowany jako semantycznie bliski każdemu innemu terminowi w dokumencie. Jest to najwyższy poziom semantycznego powiązania niezależnie od fizycznego rozmieszczenia w treści
  7. Hierarchia nagłówków
    • Im wyższy poziom nagłówka (np. H1 lub H2), tym większe znaczenie i bliskość semantyczna względem terminów w sekcji pod nim. Nagłówki wyższego rzędu mają większą wagę niż nagłówki niższego poziomu
  8. Terminy w oddzielnych sekcjach
    • Jeśli terminy znajdują się w odseparowanych sekcjach dokumentu, to są uznawane za semantycznie odległe. Strukturalne rozdzielenie powoduje, że odległość między nimi jest znacznie większa

Do reguł obliczania odległości semantycznej dodałbym jeszcze jeden punkt choć nie jest wspominany w patencie. Linki wewnętrzne bezpośrednio nie są wskazywane jako czynnik wpływający na odległość semantyczną, jednak podkreślane jest znaczenie struktury HTML i semantycznego grupowania treści. W takim razie linkowanie wewnętrzne, np. w ramach klastrów tematycznych (topic clusters), może być interpretowane jako ważny element budujący powiązania semantyczne w obrębie artykułu lub grupy artykułów. Takie linki mogą sygnalizować relacje między sekcjami strony lub artykułami zwiększając ich postrzeganą spójność tematyczną.

Wyniki obliczeń Distance Component stanowią podstawę dla Relevance Component, który jest ostatnim etapem procesu oceniania strony pod kątem zgodności z zapytaniem użytkownika. Relevance Component jest integralnym modułem algorytmu rankingowego, który łączy dane uzyskane z poprzednich etapów – Page Analyzer i Distance Component – w spójną ocenę jakości strony. Moduł ten nie ogranicza się wyłącznie do oceny bezpośrednich zależności między terminami, ale uwzględnia wielopoziomową analizę strukturalną, semantyczną i jakościową dokumentu.

Relevance Component – finalna ocena trafności

Relevance Component to ostatni z trzech głównych filarów algorytmu analizującego dokument HTML pod kątem zgodności z zapytaniem użytkownika. Moduł uwzględnia wielopoziomową analizę strukturalną, semantyczną i jakościową strony oceniając bezpośrednią zależność między terminami. Czyli działa na podstawie danych dostarczonych przez dwa wcześniejsze komponenty: Page Analyzer oraz Distance Component, a także bierze pod uwagę dodatkowe czynniki, takie jak odwrotna częstotliwość występowania terminów (IDF) oraz ogólną jakość dokumentu. To jest możliwe dzięki technikom przetwarzania języka naturalnego (NLP) oraz analizie strukturalnej dokumentu, co pozwala na dokładne odwzorowanie relacji między terminami:

  • Tokenizacja i lematyzacja – dokument HTML jest dekomponowany na pojedyncze słowa. Następnie każde słowo jest sprowadzane do swojej podstawowej formy. Dzięki temu eliminowane są różnice wynikające z odmiany wyrazów, co ułatwia analizę i porównywanie treści
  • Wykrywanie ukrytych struktur – odnajduje powtarzalne wzorce w kodzie HTML, które wyglądają jak listy, ale nimi nie są. Algorytm rozpoznaje te ukryte grupy elementów i traktuje je jako semantycznie powiązane, co pozwala lepiej zrozumieć ich znaczenie i relacje w treści
  • Hierarchiczna analiza nagłówków – segmentacja treści na podstawie nagłówków pozwala na przypisanie poszczególnych sekcji dokumentu do odpowiednich poziomów logicznych, co sprzyja bardziej precyzyjnej ocenie spójności tematycznej

Różnice między komponentami

Opis Relevance Component może wydawać się powielaniem wcześniejszych procesów, dlatego ważne by zrozumieć różnice między tymi komponentami:

  1. Page Analyzer analizuje całą stronę identyfikujac struktury semantyczne strony przez analizę DOM. Następnie opisuje te struktury, grupując logicznie powiązane elementy i tworząc mocny fundament dla dalszych obliczeń
  2. Distance Component oblicza semantyczną odległość między terminami w dokumencie. Skupia się na analizie strukturalnej i wyliczeniu relacji między słowami kluczowymi, bazując na danych dostarczonych przez Page Analyzer
  3. Relevance Component ocenia trafność dokumentu na podstawie wyników z Distance Component oraz dodatkowych wskaźników jakościowych (np. IDF, jakość struktury, logiczne powiązania nagłówków i treści)

Jak działa Relevance Component

Relevance Component to ważny element algorytmu oceniającego strony pod kątem zgodności z zapytaniem użytkownika. Jako końcowy etap analizy, integruje dane zebrane przez Page Analyzer i Distance Component, łącząc je z dodatkowymi wskaźnikami, takimi jak IDF umożliwiając wyróżnienie terminów o niższej frekwencji występowania, które jednak mają wysoką wartość semantyczną. Komponent ten ocenia też strukturę dokumentu HTML, analizując układ nagłówków, hierarchię sekcji oraz organizację treści w DOM. Dzięki temu ocena uwzględnia częstotliwość występowania fraz i ich kontekstowe znaczenie w ramach całej strony, lub całego tekstu. Relevance Component potrafi ustalać wagę różnych czynników w kontekście specyfikacji dokumentu, czyli strony zawierające unikalne, wysoko istotne terminy, strukturalnie poprawne nagłówki i logicznie zorganizowane treści są oceniane wyżej w finalnej hierarchii. Algorytm uwzględnia także spójność treści na poziomie segmentów dokumentu, co pozwala na precyzyjne mapowanie intencji użytkownika na dostępne zasoby informacyjne. Relevance Component jako moduł oceny trafności, to w rzeczywistości zaawansowany system syntezy danych, który przekształca wieloetapową analizę w jednowymiarową wartość rankingową decydującą o pozycji dokumentu w SERP’ach.

Algorytm oceny istotności

Algorytm stosowany przez Relevance Component może być opisany jako sekwencja przekształceń opartych na metrykach semantycznych oraz cechach strukturalnych dokumentu, czyli:

  1. Inicjalizacja – pobiera zestaw terminów z zapytania i łączy je w pary
  2. Analiza odległości dla każdej pary terminów:
    • Ocenia obliczoną odległość semantyczną dostarczoną przez Distance Component
    • Stosuje reguły ważenia w zależności od typu struktury (lista, nagłówek, treść)
  3. Przekształcenie wyników – odległości są konwertowane na ocenę rankingową:
    • Bliskość semantyczna, czyli terminy blisko siebie uzyskują wyższe wartości
    • Nagłówki i tytuły – ocena jest wyższa jeśli terminy znajdują się w hierarchicznych strukturach

Przykładowe reguły ważenia

Poniższe reguły i wzory to jedynie moja uproszczona interpretacja!

Reguła 1 – terminy w tej samej liście

Punktacja jest obliczana na podstawie maksymalnej wartości, od której odejmowany jest iloczyn odległości między terminami i wagi przypisanej do elementów listy:

  • punktacja = maksymalna wartość – (odległość * waga listingu)
Reguła 2 – terminy w różnych listach

Gdy terminy znajdują się w odrębnych listach, punktacja również zależy od maksymalnej wartości

  • punktacja = maksymalna wartość – (odległość * waga struktury semantycznej)
Reguła 3 – terminy w nagłówkach

Jeżeli terminy znajdują się w nagłówkach, ich ocena jest obliczana na podstawie maksymalnej wartości oraz specjalnego współczynnika wagi przypisanego do nagłówków. W punktacji oceniane jest hierarchiczne znaczenie nagłówków i ewentualny wpływ odległości między terminami:

  • punktacja = maksymalna wartość – (odległość * waga nagłówka)

W praktyce oznacza to, że im bliżej siebie znajdują się terminy w nagłówku oraz im wyższa jest hierarchia nagłówka, tym wyższa będzie ocena końcowa. Jeśli natomiast odległość nie jest uwzględniana w tej regule (bo hierarchia nagłówków ma znaczenie semantyczne), możliwe że wzór będzie wyglądał w ten sposób:

  • punktacja = maksymalna wartość * mnożnik nagłówka

Jak wspominałem Relevance Component podczas oceny wspiera się jeszcze innym wskaźnikiem – Inverse Document Frequency (IDF).

IDF (Inverse Document Frequency) – odwrócona częstotliwość terminów

Inverse Document Frequency (IDF) to jedna z technik w dziedzinie przetwarzania języka naturalnego (NLP), eksploracji tekstu i systemach wyszukiwania informacji (Information Retrieval, w skrócie: IR) ale też dodatkowy wskaźnik algorytmu oceny trafności (Relevance Component). IDF ocenia jak istotne jest dane słowo w kontekście całego zbioru dokumentów (tzw. „korpusu”), bo może odgrywać fundamentalną rolę w rozróżnianiu słów powszechnych od tych, które mogą mieć większe znaczenie semantyczne i merytoryczne dla danego dokumentu.

Głównym celem IDF jest nadanie większej wagi słowom, które są rzadkie w skali całego korpusu ale ważne w pojedynczym dokumencie HTML.

  • Unikalne terminy (np. „SEO”, „algorytm”, „googlebot”) dostarczają więcej informacji na temat treści, ponieważ mogą pojawiać się tylko w ograniczonej liczbie dokumentów = wysoki IDF
  • Terminy występujące powszechnie (np. spójniki „i”, „w”, „czyli”, „a” etc) lub po prostu „stop words” mają niską wartość informacyjną = niski IDF
  • IDF pozwala wyróżnić treści, które zawierają rzadkie, specyficzne terminy związane z zapytaniem użytkownika

Co to oznacza wysoki lub niski IDF?

  • Wysoka wartość IDF wskazuje, że termin jest rzadki i potencjalnie bardziej istotny w kontekście całego dokumentu
  • Niska wartość IDF oznacza, że termin jest powszechny, a jego znaczenie dla klasyfikacji dokumentu jest mniejsze lub znikome

Praktyczne zastosowanie IDF

  1. Wyszukiwarki wykorzystują IDF do oceny i sortowania wyników. Jeśli wprowadzisz rzadkie zapytanie, wyszukiwarka nada większą wagę dokumentom, które zawierają unikalne słowa kluczowe, nawet jeśli występują one tylko w kilku miejscach
  2. SEO – w analizie pozycjonowania IDF pomaga w identyfikacji rzadkich fraz, które mogą przyciągać ruch z długiego ogona (long-tail keywords). Pozwala to na tworzenie treści skierowanych na specyficzne zapytania użytkowników
  3. Klasyfikacja tekstu i rekomendacje – IDF jest ważnym elementem w algorytmach klasyfikacji tekstu i rekomendacji treści. Rzadkie i charakterystyczne słowa mogą być silnymi wskaźnikami kategorii tematycznych, np.:
    • Dokumenty techniczne i specjalistyczne mogą uzyskać wyższą ocenę jeśli zawierają rzadkie terminy branżowe
    • Dokumenty o dużej ilości powszechnych terminów (np. blogi ogólne) mogą być oceniane niżej jeśli brakuje im terminów o wysokim IDF
    • Tytuły i nagłówki z rzadkimi terminami mogą silniej wpływać na końcowy ranking niż te same terminy zawarte w treści ogólnej
  4. Filtrowanie spamu – IDF może być też używane do wykrywania treści bardzo niskiej jakości (spam content). Nadmierne powtarzanie tych samych fraz (keyword stuffing) może wskazywać na próbę manipulacji algorytmem

Integracja IDF z semantyczną analizą struktury dokumentu umożliwia coraz precyzyjniejsze określenie wartości dokumentów w wynikach wyszukiwania. Dzięki temu algorytm skuteczniej oddziela treść o wysokiej wartości merytorycznej od niższej jakości. Nie sposób wspomnieć jeszcze o TF-IDF!

Czym się różni IDF od TF-IDF

  • IDF (Inverse Document Frequency) – mierzy rzadkość słowa w korpusie dokumentów. Jest to komponent TF-IDF, który ocenia jak unikalne jest słowo.
  • TF-IDF (Term Frequency – Inverse Document Frequency) łączy częstotliwość występowania słowa (TF) i jego unikalność (IDF). W efekcie TF-IDF ocenia, jak istotne jest dane słowo w danym dokumencie względem całego zbioru dokumentów.

IDF jest składową TF-IDF. Bez IDF, TF-IDF nie mogłoby efektywnie działać, ponieważ samo TF (częstotliwość terminu) nie odróżniałoby słów powszechnych od tych bardziej wartościowych. Tak jak Relevance Component nie jest w stanie samodzielnie wykonać obliczeń (Distance Component) i analizy DOM (Page Analyzer Component).

Krótkie ale bardzo merytoryczne wyjaśnienie TF-IDF znajduje się na poniższym filmie

Wyjaśnienie tematu TF-IDF

Wskazówki SEO pod kątem optymalizacji

Jak zoptymalizować content pod kątem Ranking Component aby ocena była jak najwyższa? Wnioski jakie można wyciągnąć to przede wszystkim:

  • Logiczna struktura nagłówków ma znaczenie semantyczne (tytuł, sekcja, podsekcja). W skrócie, stosuj <h1><h6>
  • Nagłówki nie powinny być puste lub takie, które nie mają powiązanej treści z terminem nagłówka
  • W celu zwiększenia spójności semantycznej
  • Każda musi zawierać treść ściśle korespondującą z nagłówkiem żeby zwiększyć spójność semantyczną
  • Listing powinien być zawsze semantycznie powiązany z odpowiednim nagłówkiem nadrzędnym
  • Listing powinien być numerowany lub nienumerowany aby pomijać tworzenie unikalnych struktur semantycznych
  • Na stronie warto dodawać tabele, np. w kontekście porównań lub ustrukturyzowania informacji
  • Warto zaimplementować dane strukturalne (JSON-LD, Microdata lub RDF) w celu wzbogacenia semantycznego kontekstu
  • Strona powinna mieć zaimplementowane atrybuty aria-label, alt i meta-tagi aby dostarczyć algorytmowi dodatkowych informacji kontekstowych oraz wspierać użytkowników korzystajacych z urządzeń wspierających, co ma bezpośredni wpływ na UX (User Experience)
  • Strona powinna być zbudowana na podstawie HTML5 <header>, <article>, <section>, <aside>, <footer>, a <main> powinno zawierać główną treść strony

To co do tej pory opisałem ma też bezpośrednie przełożenie na wyciek wewnętrznej dokumentacji technicznej Google znany jako „Google API Content Warehouse” 33

Google API Content Warehouse w nawiązaniu do patentu

Szukając informacji w wewnętrznej dokumentacji technicznej (GACW) natknąłem się na kilka modułów bardzo blisko związanych z opisywanym patentem. Jestem przekonany, że jest tego zdecydowanie więcej niż te kilka modułów. Nie biorę pod uwagę powiązań między kolejnymi modułami. To co można stwierdzić, że obydwa dokumenty operują na konceptach semantycznych, strukturalnych i ich użyciu w analizie treści. Poniżej przedstawiam 3 moduły, które ewidentnie pasują do całego artykułu i mają oparcie w patencie Google.

Powiązania semantyczne między fragmentami tekstu a encjami

W analizie semantycznej dokumentów w kontekście oceny odległości semantycznych między terminami oraz ich wpływu na relewancję treści. Odnoszę wrażenie, że atrybuty takie jak topicalityScore, confidenceScore i segmentMentions ściśle wpisują się w opisane w patencie metody oceny.

GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefEntityAnnotations

  • confidenceScore określa ogólną pewność, że encja została opisana gdzieś w dokumencie lub zapytaniu. poprawnie oznaczona w dokumencie lub zapytaniu.
  • topicalityScore mierzy semantyczne znaczenie encji w kontekście tematyki całego dokumentu.
  • segmentMentions – wszystkie wzmianki o określonej encji, pogrupowane według segmentów dokumentu. Wartość tego atrybutu pomaga zrozumieć, gdzie i w jaki sposób dana encja została wymieniona w różnych częściach dokumentu. Segmentem może być artykuł, tytuł, nagłówki, anchor linku

Semantyczna analiza w kontekście przypisanych encji

Identyfikacja jednostek semantycznych w dokumencie, takich jak nazwy własne, miejsca czy terminy specjalistyczne, oraz na określeniu ich znaczenia w kontekście całego dokumentu.

GoogleApi.ContentWarehouse.V1.Model.RepositoryWebrefWebrefEntities

  • entity – lista encji z adnotacjami dotyczącymi ich znaczenia oraz kontekstu w dokumencie. Encje są posortowane według ważności, bazując na ich analizie semantycznej. Przypominam, że Page Analyzer adnotuje drzewo DOM 🙂
  • rangeAnnotations – jest wprost napisane, że można tego używać do przechowywania adnotacji dotyczących części mowy, adnotacji słów pomijanych (tzw „stop words”) i innych informacji opartych na zakresie. Zakresy mogą być powiązane z obliczaniem odległości semantycznych pomiędzy terminami
  • category – kategoria dokumentu lub zapytania może wspierać analizę semantyczną określając kontekst w jakim encje występują
  • tripleAnnotations – trójki semantyczne czyli podmiot, orzeczenie i dopełnienie opisują relacje w treści tylko na tym konkretnym dokumencie HTML. Kiedy Page Analyzer rozpoznaje frazy, tabele, listy jawne lub ukryte, to generuje trójki. Wygenerowane dane są poparte jedynie dokumentem w porównaniu z danymi KG (Knowledge Graph), które zostały zweryfikowane z wielu źródeł

Analiza list i innych struktur w dokumencie HTML

W patencie opisana jest metoda identyfikacji semantycznych struktur (np. listy, nagłówki) i ich użycia do obliczania odległości semantycznych pomiędzy referentami4. Odpowiedzialne za to są kolejno Page Analyzer Component oraz Distance Component. W GACW znajduje się model GoogleApi.ContentWarehouse.V1.Model.NlpSaftReferent, który zawiera m.in pola „distance” i „prominence”.

GoogleApi.ContentWarehouse.V1.Model.NlpSaftReferent

Model używany do przechowywania informacji o elementach tekstu, które są ważnymi odniesieniami w kontekście dokumentu. Pozwala określić, które części tekstu odnoszą się do danego elementu oraz jakie są związki między nimi w sensie znaczeniowym i strukturalnym. Dzięki temu możliwa jest precyzyjna analiza dokumentów i identyfikacja kluczowych informacji.

  1. distance określa jak daleko w tekście znajduje się referent od fragmentów, które mogą do niego nawiązywać. Mniejsza wartość oznacza bliższą relację i większą dostępność referenta w kontekście tekstu.
    • Umożliwia ocenę, jak silnie referent jest powiązany z określonymi fragmentami dokumentu.
  2. prominence – wskazuje jak istotny jest referent w tekście na podstawie liczby wcześniejszych wzmianek o nim w dokumencie.

Z jakimi wyzwaniami Google musi się mierzyć w kontekście semantyki?

Na to pytanie odpowiada Damian Kiełbasa – Co-founder & CTO @ NeuronWriter & CONTADU

Google napotyka liczne wyzwania, dążąc do dostarczania bardziej precyzyjnych, kontekstowych i zgodnych z intencjami użytkowników wyników. Wśród nich warto wymienić:

  1. Zmieniające się zachowania użytkowników:
    • Coraz częściej użytkownicy używają złożonych zapytań zamiast prostych słów kluczowych, np. „Jaka będzie pogoda w Nowym Jorku w ten weekend?”.
    • Wzrost popularności wyszukiwania głosowego i asystentów głosowych sprawia, że zapytania są bliższe mowie potocznej.
  2. Niejednoznaczność językowa i kontekst:
    • Użyte terminy mogą być dwuznaczne, np. „mercury” może być pierwiastkiem (rtęć), planetą, znanym wokalistą, firmą ubezpieczeniową, marką samochodów, producentem silników… Modele muszą również uwzględniać synonimy, regionalizmy, a nawet slang.
    • Google musi uwzględniać kontekst, lokalizację użytkownika czy czas zapytania, np. „restauracje w pobliżu”.
  3. Obsługa wielu języków:
    • Każdy język posiada unikalne zasady gramatyczne, idiomy i odniesienia kulturowe, które muszą być właściwie interpretowane.
  4. Integracja multimodalna
    • Dane pochodzą z różnych formatów (teksty, obrazy, wideo, dane strukturalne) i źródeł (strony internetowe, mapy, dokumenty naukowe, bazy danych publicznych).
  5. Aktualność i trafność:
    • Użytkownicy oczekują wyników odzwierciedlających informacje w czasie rzeczywistym, np. wiadomości na żywo. Użytkownik wpisujący w Google nazwisko polityka może w określonym momencie może oczekiwać informacji o świeżej aferze z jego udziałem, a nie biografii.
    • Trudność stanowi pogodzenie świeżości treści z ich wiarygodnością i jakością.
  6. Skalowanie i złożoność danych:
    • Indeksowanie bilionów stron, eliminacja duplikatów i treści niskiej jakości wymaga ogromnych zasobów. Szczególnie teraz, gdy masowa jej produkcja jest prosta jak nigdy wcześniej.
    • Chociaż zaawansowane modele językowe zwiększają zrozumienie semantyki, wymagają ogromnych zasobów obliczeniowych i ciągłego udoskonalania w celu uniknięcia stronniczości lub błędów.

Przypisy

  1. John Mueller mówi, że Googlebot potrafi rozumieć kod ↩︎
  2. Dokumentacja Lighthouse – Unikaj nadmiernego rozmiaru DOM ↩︎
  3. Google API Content Warehouse ↩︎
  4. Referent – w kontekście opisywanego modułu może to być „byt”, czyli coś co jest bezpośrednio wskazywane w tekście, np. osoba, miejsce, obiekt, etc. ↩︎

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *