n-gramy i ich ograniczenia
🎯 Po co Ci to?
Zanim RNN „pamiętały" historię, najprostszą ideą było: patrz tylko na ostatnie n−1 słów. To duch n-gramu. Sieć z oknem rozmiaru 2 z Jednostki 15.1 to neuronowa wersja tej idei. Zrozumienie ograniczeń okna wyjaśnia, po co w ogóle wynaleziono rekurencję.
✅ Czego się nauczysz
Po tej lekcji potrafisz:
- wyjaśnić ideę n-gramu / stałego okna kontekstu;
- wskazać dwa główne ograniczenia modelu ze sztywnym oknem: brak szerszego kontekstu i słabe uchwycenie porządku;
- powiedzieć, dlaczego samo word2vec (worek sąsiedztw) nie wystarcza do sekwencji.
🔁 Przypomnij sobie
Model z 15.1 widzi tylko tyle tokenów, ile ma okno. Osadzenia word2vec (14.3) opisują słowo z towarzystwa, ale nie kodują kolejności w konkretnym zdaniu („Ala ma kota" ≠ worek {Ala, ma, kota} z porządkiem).
📘 Od zliczania do sieci
Klasyczny n-gram szacuje prawdopodobieństwo następnego słowa z częstości w danych: jak często po ciągu n−1 słów padało dane słowo. Bigram (n=2) patrzy na jedno poprzednie; trigram — na dwa. Model z oknem 2 w 15.1 robi to siecią: zamiast tablicy zliczeń uczy się wag, które mapują wektory wejścia na rozkład wyjścia.
W obu przypadkach kontrakt jest ten sam: stała, krótka historia.
📐 DEFINICJA — n-gram (idea): model, który przewiduje następny token wyłącznie na podstawie ustalonej liczby poprzednich tokenów (historia długości n−1).
Po ludzku: „patrzę tylko na ostatnie dwa–trzy słowa i zgaduję kolejne" — bez pamięci całego akapitu.
📘 Dwa problemy sztywnego okna
Tak zbudowany model językowy może generować teksty „w stylu" danych treningowych — ale jakościowo daleko od dzisiejszych LLM. Powody:
- Brak szerszego kontekstu — ograniczenie szerokości okna. Sieć nie uchwyci zależności długodystansowych ani niuansów gramatycznych rozciągniętych na wiele słów. Jeśli podmiot jest na początku długiego zdania, a orzeczenie na końcu, okno 2 ich nie połączy.
- Słabe uwzględnienie porządku — zwłaszcza gdy wejście to proste one-hot / gęsta sieć bez architektury sekwencyjnej. Samo osadzenie word2vec traktuje kontekst jak sąsiedztwo, nie jak uporządkowaną ścieżkę w czasie. Zdanie to nie „worek słów" (bag of words).
Stąd poszukiwania architektury, która czyta tekst jako sekwencję i niesie stan przez kolejne kroki — sieci rekurencyjne (2013–2017).
💭 Pomyśl
W zdaniu „Kot, którego Ala adoptowała wczoraj w schronisku, śpi na kanapie" które słowo jest kluczowe dla liczby i osoby formy „śpi"? Ile tokenów wstecz leży od „śpi"? Co zrobi model z oknem 2?
Podpowiedź
Podmiot to „Kot" — daleko od „śpi". Okno 2 widzi najwyżej „…, śpi" / „kanapie śpi" — nie „Kot". Stąd błędy zgody i „zapominanie" początku zdania w modelach ze sztywnym oknem.
⚠️ Częsty błąd
Częsty błąd: „Skoro mamy dobre osadzenia, kolejność słów jest już niepotrzebna."
Elenchus: Czy „pies gryzie człowieka" i „człowiek gryzie psa" powinny dostać tę samą reprezentację zdania, skoro zbiór słów jest prawie ten sam?
🌍 Powiązania
- 14.4 — stałe osadzenie gubi kontekst; tu gubimy długość kontekstu.
- 15.3 — RNN: pamięć przez stan ukryty zamiast sztywnego okna.
- 16 — transformer: cały ciąg naraz + kodowanie pozycji.
📐 Definicje tej lekcji
- n-gram — predykcja ze stałej, krótkiej historii.
- Bag of words — reprezentacja ignorująca kolejność; wroga sekwencji.
- Zależność długodystansowa — związek między tokenami daleko od siebie w tekście.
📌 Najważniejsze w pigułce
- Okno LM ≈ duch n-gramu: krótka, sztywna historia.
- Bolączki: brak długiego kontekstu + słaby porządek.
- word2vec nie rozwiązuje sekwencji — tylko punkty słów.
- Potrzeba architektury z pamięcią w czasie → RNN.
🎒 Zadania
Zadanie 15.2.1. Wyjaśnij różnicę między bigramem a modelem z oknem 3 (wejście: trzy poprzednie tokeny).
Pokaż rozwiązanie
Bigram (n=2) przewiduje z jednego poprzedniego tokenu. Okno 3 to historia długości 3 (jak trigram / 4-gram zależnie od konwencji liczenia n) — szerszy kontekst, wciąż stały sufit: czwarte słowo wstecz znika.
Zadanie 15.2.2. Podaj własne zdanie, w którym model z oknem 2 musi zawieść przy zgadywaniu końcówki — i wskaż, które wcześniejsze słowo jest kluczowe.
Pokaż rozwiązanie
Np. „Książki leżące na półce od maja są zakurzone" — zgoda z „Książki", nie z „maja". Okno 2 przy „… maja są" nie widzi podmiotu.
🔍 Sprawdź, czy umiesz
- [ ] Opisać ideę n-gramu / stałego okna.
- [ ] Wymienić dwa ograniczenia z tej jednostki.
- [ ] Odróżnić worek słów od sekwencji.
- [ ] Powiedzieć, po co idziemy do RNN.