Czym jest przetwarzanie języka naturalnego?

Przetwarzanie języka naturalnego (ang. Natural Language Processing, NLP) to dziedzina sztucznej inteligencji na styku informatyki i lingwistyki, której celem jest umożliwienie maszynom rozumienia, analizowania, interpretowania i generowania ludzkiego języka. NLP jest fundamentem technologii, z których korzystamy codziennie: wyszukiwarek, tłumaczy, asystentów głosowych, chatbotów i modeli takich jak ChatGPT.

Język naturalny jest jednym z najtrudniejszych problemów AI. Jest wieloznaczny (zamek = budowla lub urządzenie), kontekstowy (znaczenie słowa zależy od zdania), ewoluujący (nowe słowa, memy), pełen wyjątków od reguł i zróżnicowany kulturowo. Każdy z 7000+ języków świata ma unikalne cechy gramatyczne, morfologiczne i syntaktyczne.

Przełom w NLP nastąpił dzięki transformerom (Vaswani et al., 2017) — architekturze neuronowej, która umożliwiła trenowanie modeli na ogromnych korpusach tekstu i osiągnięcie zdolności rozumienia języka na bezprecedensowym poziomie.

Preprocessing tekstu

Zanim tekst trafi do modelu, wymaga preprocessingu — przekształcenia surowego tekstu w formę zrozumiałą dla algorytmu.

Tokenizacja

Tokenizacja to podział tekstu na tokeny — jednostki przetwarzania. Podejścia:

  • Słowa: „Ala ma kota" → [„Ala", „ma", „kota"] — proste, ale ogromny słownik
  • Znaki: „Ala" → [„A", „l", „a"] — mały słownik, ale bez informacji semantycznej
  • Subword: „playing" → [„play", „##ing"] — kompromis; metody BPE (GPT), WordPiece (BERT), SentencePiece

Współczesne modele (GPT-4, LLaMA) używają BPE (Byte Pair Encoding) — iteracyjne łączenie najczęstszych par znaków w tokeny. Słownik 30-100k tokenów pokrywa dowolny tekst, w tym neologizmy i rzadkie słowa.

Lematyzacja i stemming

  • Stemming — odcięcie sufiksu: „biegnący" → „biegn". Szybkie, ale niedokładne.
  • Lematyzacja — sprowadzenie do formy bazowej: „biegnący" → „biec". Wyższa jakość, wymaga wiedzy językowej.

Stop words, normalizacja

Usunięcie stop words (a, i, to, w — słowa częste, niskoinfromacyjne), lowercasing, usunięcie interpunkcji i znaków specjalnych. Współczesne modele transformerowe nie wymagają tych kroków — same uczą się, co ignorować.

Reprezentacja tekstu — od Bag-of-Words do embeddingów

Bag-of-Words (BoW)

Najprostsza reprezentacja: dokument = wektor częstości słów. „Ala ma kota. Kot ma Alę." → {Ala:1, ma:2, kota:1, Kot:1, Alę:1}. Ignoruje kolejność słów.

TF-IDF

TF-IDF (Term Frequency × Inverse Document Frequency) waży słowa: częste w dokumencie, ale rzadkie w korpusie mają wysoką wagę. Redukuje wpływ powszechnych słów (np. „jest", „to") i podkreśla słowa charakterystyczne.

Embeddingi słów

Embeddingi to gęste wektory liczbowe (typowo 100-300 wymiarów) reprezentujące słowa w przestrzeni semantycznej, gdzie podobne słowa mają bliskie wektory. „Król" - „Mężczyzna" + „Kobieta" ≈ „Królowa".

Modele embeddingów: Word2Vec, GloVe, FastText — więcej w artykule o embeddingach.

Embeddingi kontekstowe

Embeddingi Word2Vec są statyczne — słowo „zamek" ma jeden wektor niezależnie od kontekstu. Modele kontekstowe (ELMo, BERT, GPT) generują dynamiczne embeddingi zależne od kontekstu: „zamek w drzwiach" vs. „zamek na wzgórzu" → różne wektory.

Architektura Transformer

Przełom: „Attention Is All You Need"

Artykuł Vaswani et al. (2017) wprowadził architekturę transformer, która zastąpiła RNN/LSTM w NLP. Kluczowa innowacja: self-attention — mechanizm pozwalający każdemu tokenowi „patrzeć" na wszystkie inne tokeny w sekwencji i ważyć ich istotność.

Self-Attention (Scaled Dot-Product Attention)

Dla każdego tokenu obliczane są trzy wektory:

  • Query (Q) — „czego szukam"
  • Key (K) — „co oferuję"
  • Value (V) — „jaka jest moja wartość"

Attention(Q, K, V) = softmax(QKᵀ / √d) · V

Wynik: każdy token otrzymuje ważoną sumę wartości wszystkich tokenów, z wagami proporcjonalnymi do podobieństwa zapytania i kluczy.

Multi-Head Attention

Zamiast jednego attention, stosuje się h głowic (np. 12) — każda z własnym zestawem Q, K, V. Różne głowice uczą się różnych typów zależności: składniowych, semantycznych, referencyjnych.

Architektura enkodera i dekodera

  • Enkoder (BERT): przetwarza sekwencję dwukierunkowo (widzi cały kontekst)
  • Dekoder (GPT): generuje tokeny autoregresyjnie (widzi tylko wcześniejszy kontekst)
  • Encoder-Decoder (T5, oryginalny Transformer): enkoder przetwarza wejście, dekoder generuje wyjście

BERT i modele enkoderowe

BERT (Bidirectional Encoder Representations from Transformers, Google, 2018) to model enkoderowy pretrenowany na dwóch zadaniach:

  1. Masked Language Modeling (MLM) — ukryj 15% tokenów, przewiduj ukryte
  2. Next Sentence Prediction (NSP) — przewiduj, czy zdanie B następuje po zdaniu A

BERT rewolucjonizował NLP: jeden pretrenowany model, fine-tunowany do wielu zadań (klasyfikacja, NER, odpowiadanie na pytania, analiza sentymentu).

Warianty: RoBERTa (lepszy pretraining), ALBERT (mniej parametrów), DistilBERT (szybszy, skompresowany), DeBERTa (ulepszone attention), XLM-RoBERTa (wielojęzyczny).

Zastosowania BERT: analiza sentymentu, klasyfikacja tekstu, rozpoznawanie encji (NER), odpowiadanie na pytania, ranking dokumentów, detekcja plagiatów.

GPT i modele generatywne

GPT (Generative Pre-trained Transformer, OpenAI) to model dekoderowy trenowany autoregresyjnie: przewiduj następny token na podstawie poprzednich.

Ewolucja GPT:

  • GPT-1 (2018): 117M parametrów — proof of concept
  • GPT-2 (2019): 1.5B — „zbyt niebezpieczny do publikacji" (generacja przekonujących tekstów)
  • GPT-3 (2020): 175B — few-shot learning z promptu, bez fine-tuningu
  • GPT-3.5/ChatGPT (2022): RLHF (Reinforcement Learning from Human Feedback) — konwersacyjna AI
  • GPT-4 (2023): multimodalny (tekst + obraz), drastycznie wyższa jakość
  • GPT-4o (2024): natywna multimodalność (tekst, obraz, audio, wideo)

Emergent abilities

Duże modele językowe wykazują zdolności emergentne — umiejętności nieobecne w mniejszych modelach: chain-of-thought reasoning, few-shot learning, rozumienie kodu, wielojęzyczność.

Alignment i RLHF

RLHF (Reinforcement Learning from Human Feedback) to proces dostosowywania modelu do ludzkich preferencji:

  1. Supervised fine-tuning na parach pytanie-odpowiedź
  2. Trening modelu nagrody (reward model) na ocenach ludzkich recenzentów
  3. Optymalizacja polityki modelu za pomocą PPO (Proximal Policy Optimization)

Główne zadania NLP

Klasyfikacja tekstu

Przypisanie kategorii: analiza sentymentu (pozytywny/negatywny), detekcja spamu, klasyfikacja tematyczna, detekcja języka.

Named Entity Recognition (NER)

Identyfikacja encji w tekście: osoby, organizacje, lokalizacje, daty, kwoty. Przykład: „[Jan Kowalski]OSOBA pracuje w [Google]ORG od [2020]DATA."

Question Answering (QA)

Odpowiadanie na pytania na podstawie kontekstu (extractive QA: wskaż fragment) lub wiedzy modelu (generative QA: sformułuj odpowiedź).

Streszczanie (Summarization)

  • Extractive: wybranie najważniejszych zdań z tekstu
  • Abstractive: generowanie nowego tekstu streszczającego oryginał

Tłumaczenie maszynowe

Od Google Translate (statystyczne, 2006) przez neuronowe modele seq2seq (2014) po transformery (2017+). Współczesne systemy tłumaczą na poziomie bliskim ludzkiemu w głównych parach językowych.

Analiza sentymentu

Określenie emocjonalnego tonu tekstu: pozytywny, negatywny, neutralny. Zastosowania: monitoring marki, analiza opinii klientów, prognozowanie rynku.

Wyzwania NLP

Wielojęzyczność

  • 7000+ języków, większość niskozasobowa (mało danych treningowych)
  • Modele wielojęzyczne (mBERT, XLM-R) osiągają gorsze wyniki w językach z małymi korpusami
  • Polski: 44 mln użytkowników, bogata fleksja (deklinacja, koniugacja), stosunkowo dobre pokrycie w modelach wielojęzycznych

Hallucynacje LLM

Modele generatywne „halucynują" — generują fakty, które brzmią wiarygodnie, ale są fałszywe. Techniki mitygacji: RAG (Retrieval-Augmented Generation), grounding w bazach wiedzy, fact-checking.

Bias i sprawiedliwość

Modele odzwierciedlają biasy z danych treningowych: stereotypy płciowe, rasowe, kulturowe. Debiasing to aktywny obszar badań.

Prywatność

LLM trenowane na danych z internetu mogą „pamiętać" dane osobowe z korpusu treningowego. Differential privacy i deduplikacja łagodzą ryzyko.

NLP w języku polskim

Narzędzia i modele

  • spaCy z modelem polskim — tokenizacja, POS tagging, NER, dependency parsing
  • Herbert (Allegro) — polski BERT, pretrenowany na polskim korpusie
  • Polish RoBERTa — warianty RoBERTa dla polskiego
  • SlavicBERT — model dla języków słowiańskich
  • GPT-4, Claude — modele wielojęzyczne z dobrą obsługą polskiego

Wyzwania polskiego NLP

  • Bogata fleksja (7 przypadków, 3 rodzaje) — większy słownik, trudniejsza lematyzacja
  • Swobodny szyk zdania — trudniejsze parsowanie
  • Stosunkowo mały korpus w porównaniu z angielskim

Podsumowanie

NLP przeszło od ręcznych reguł lingwistycznych przez statystyczne modele do ery transformerów i dużych modeli językowych. BERT zrewolucjonizował rozumienie tekstu, GPT — generowanie. ChatGPT i Claude udowodniły, że modele językowe mogą prowadzić naturalne konwersacje, pisać kod, analizować dokumenty i wspomagać decyzje. Kluczowe wyzwania to hallucynacje, bias i wielojęzyczność — ale postęp jest bezprecedensowy.