{
  "version": "https://jsonfeed.org/version/1",
  "title": "gruszka.dev",
  "home_page_url": "https://gruszka.dev",
  "feed_url": "https://gruszka.dev/tag-linguistics.json",
  "description": "Things I would like to share",
  "items": [
    {
      "id": "https://gruszka.dev/semiotyka-a-llm.html",
      "url": "https://gruszka.dev/semiotyka-a-llm.html",
      "title": "Semiotyka - dlaczego LLM nie \"myśli\", ale jednak coś znaczy",
      "content_html": "<p>W poprzednim wpisie zbudowaliśmy naszą językową cebulkę - pięć warstw, od fonetyki po pragmatykę, i zobaczyliśmy, jak LLM radzi sobie z każdą z nich. Ale po napisaniu tamtego posta zostało mi jedno wielkie &quot;ale...&quot; w głowie.</p>\n<p>Bo przecież - <strong>czy LLM w ogóle &quot;rozumie&quot; to, co generuje?</strong> Czy ma jakiś wewnętrzny model świata? Czy myśli?</p>\n<p>I wtedy wpadłem na semiotykę. I okazuje się, że semiotyka daje nam genialną ramę do myślenia o LLM - nie jako o sztucznym umyśle, ale jako o <strong>maszynie znaków</strong>. I nagle wszystko zaczyna mieć sens. Albo przynajmniej ma bardziej sens niż wcześniej ;-)</p>\n<p>To jest <strong>drugi wpis z serii &quot;zrozumiec LLM&quot;</strong>. Dzisiaj zmieniamy perspektywę: zamiast patrzeć na <em>warstwy języka</em>, patrzymy na samą naturę tego, czym są <strong>znaki</strong> i jak <strong>znaczenie</strong> w ogóle powstaje. I dlaczego to jest kluczowe do zrozumienia, czym LLM jest - i czym nie jest.</p>\n<hr />\n<h2><a href=\"#czym-jest-semiotyka\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-semiotyka\"></a>Czym jest semiotyka?</h2>\n<p>Zanim wejdziemy w LLM, musimy załatwić podstawy. Bo semiotyka to jedno z tych słów, które brzmi mądrze, ale co właściwie znaczy?</p>\n<p><strong>Semiotyka</strong> to nauka o znakach i o tym, jak znaki tworzą znaczenie. To wszystko. Nie brzmi już tak strasznie, prawda? ;-)</p>\n<p>A &quot;znak&quot; w semiotyce to wszystko, co <em>coś oznacza</em>. Coś, co stoi za czymś innym. Proste przykłady:</p>\n<ul>\n<li>🔴 Czerwone światło na skrzyżowaniu = <strong>STOP</strong></li>\n<li>😂 Emoji z łzami = <strong>śmieję się</strong> (albo: <em>umieram ze śmiechu</em>)</li>\n<li>💨 Zapach dymu = <strong>ogień gdzieś w pobliżu</strong></li>\n<li>🐾 Ślady łap na śniegu = <strong>tu przeszedł pies</strong> (albo wilk, albo... better not think about it :D)</li>\n</ul>\n<p>Każdy z tych znaków <em>reprezentuje coś innego</em>. I to &quot;reprezentowanie&quot; to jest właśnie to, co semiotyka bada.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Eksperyment:</strong> Rozejrzyjcie się wokół siebie - ile znaków widzicie w tej chwili? Ja w tym momencie widzę: ikonę WiFi (mam internet), powiadomienie na telefonie (ktoś napisał), logo na kubku z kawą (marka). Trzy znaki i nawet nie wstałem z krzesła.</p>\n</div>\n<h3><a href=\"#semiotyka-vs-semantyka\" aria-hidden=\"true\" class=\"anchor\" id=\"semiotyka-vs-semantyka\"></a>Semiotyka vs semantyka</h3>\n<p>W poprzednim wpisie mieliśmy semantykę - badanie znaczenia słów i zdań. Więc czym semiotyka się różni?</p>\n<p>Krótko:</p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>Co pyta</th>\n<th>Przykład</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Semantyka</strong></td>\n<td>&quot;Co to znaczy?&quot;</td>\n<td>Co znaczy słowo &quot;zamek&quot;?</td>\n</tr>\n<tr>\n<td><strong>Semiotyka</strong></td>\n<td>&quot;Jak ten znak w ogóle działa?&quot;</td>\n<td>Jak to się dzieje, że czerwone światło OZNACZA &quot;stop&quot;?</td>\n</tr>\n</tbody>\n</table>\n<p>Semantyka pyta o konkretne znaczenia. Semiotyka pyta o <strong>mechanizm znaczenia</strong> - jak to się dzieje, że cokolwiek cokolwiek oznacza.</p>\n<p>I właśnie dlatego semiotyka jest tak ważna dla zrozumienia LLM. Bo pytanie nie brzmi &quot;co LLM znaczy&quot;, ale &quot;<strong>jak LLM operuje na znakach</strong>&quot;.</p>\n<hr />\n<h2><a href=\"#dwóch-gigantów-saussure-vs-peirce\" aria-hidden=\"true\" class=\"anchor\" id=\"dwóch-gigantów-saussure-vs-peirce\"></a>Dwóch gigantów: Saussure vs Peirce</h2>\n<p>W semiotyce są dwie główne tradycje, które musicie znać. Dwa podejścia, dwa sposoby myślenia o znakach. I uwaga - oba są ważne dla zrozumienia LLM, ale każdy z innej strony.</p>\n<h3><a href=\"#ferdinand-de-saussure-znak-jako-para\" aria-hidden=\"true\" class=\"anchor\" id=\"ferdinand-de-saussure-znak-jako-para\"></a>Ferdinand de Saussure: znak jako para</h3>\n<p>Saussure (szwajcarski lingwista, żył na przełomie XIX i XX wieku) powiedział: <strong>znak składa się z dwóch części</strong>.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph LR\n    Z[&quot;SIGN&lt;br/&gt;&lt;i&gt;znak&lt;/i&gt;&quot;] --&gt; SI[&quot;SIGNIFIANT&lt;br/&gt;&lt;i&gt;znaczące&lt;/i&gt;&lt;br/&gt;forma: dźwięk, tekst&quot;]\n    Z --&gt; SE[&quot;SIGNIFIE&lt;br/&gt;&lt;i&gt;znaczone&lt;/i&gt;&lt;br/&gt;koncept, pojęcie&quot;]\n    \n    style Z fill:#9999ff,color:#fff\n    style SI fill:#ffcc99,color:#000\n    style SE fill:#99ff99,color:#000\n</code></pre>\n<ul>\n<li><strong>Znaczące</strong> (signifiant) - forma znaku. To, co widzisz, słyszysz, dotykasz. Np. ciąg liter &quot;k-o-t&quot; albo dźwięk /kot/.</li>\n<li><strong>Znaczone</strong> (signifié) - koncept, pojęcie, które ta forma wywołuje w twojej głowie. Np. futrzasty zwierzak, który miauczy i ignoruje cię przez większość dnia :D</li>\n</ul>\n<p>I kluczowa rzecz: <strong>relacja między znaczącym a znaczonym jest arbitralna</strong>. Nie ma żadnego logicznego powodu, dla którego ciąg liter &quot;k-o-t&quot; oznacza właśnie tego zwierzaka. Po prostu... tak się przyjęło. W angielskim to &quot;cat&quot;, w niemieckim &quot;Katze&quot;, w japońskim &quot;猫&quot; (neko) - każdy język ma inny ciąg dźwięków/liter na to samo pojęcie.</p>\n<p>Ale Saussure mówi coś jeszcze ważniejszego: <strong>znaczenie słowa wynika z jego relacji do innych słów w systemie</strong>. &quot;Kot&quot; znaczy to, co znaczy, bo NIE jest &quot;psem&quot;, NIE jest &quot;domem&quot;, NIE jest &quot;samochodem&quot;. Znaczenie jest <strong>różnicowe</strong> - wynika z różnicy.</p>\n<blockquote>\n<p>To brzmi abstrakcyjnie, ale za chwilę zobaczycie, że to jest <strong>dokładnie</strong> to, co robią embeddingi w LLM. Naprawdę ;-)</p>\n</blockquote>\n<h3><a href=\"#charles-sanders-peirce-znak-jako-proces\" aria-hidden=\"true\" class=\"anchor\" id=\"charles-sanders-peirce-znak-jako-proces\"></a>Charles Sanders Peirce: znak jako proces</h3>\n<p>Peirce (amerykański filozof, trochę wcześniej niż Saussure, ale mniej więcej w tym samym czasie) miał inne podejście. Dla niego znak nie jest statyczną parą, ale <strong>dynamicznym procesem</strong>.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    R[&quot;REPRESENTAMEN&lt;br/&gt;&lt;i&gt;znak&lt;/i&gt;&lt;br/&gt;forma, którą widzisz&quot;] --&gt; O[&quot;OBJECT&lt;br/&gt;&lt;i&gt;obiekt&lt;/i&gt;&lt;br/&gt;to, do czego znak się odnosi&quot;]\n    R --&gt; I[&quot;INTERPRETANT&lt;br/&gt;&lt;i&gt;interpretacja&lt;/i&gt;&lt;br/&gt;efekt w umyśle odbiorcy&quot;]\n    I -.-&gt;|&quot;tworzy nowy znak&quot;| R2[&quot;NOWY REPRESENTAMEN&quot;]\n    \n    style R fill:#ff9999,color:#000\n    style O fill:#99ff99,color:#000\n    style I fill:#9999ff,color:#fff\n</code></pre>\n<p>Triada Peirce'a:</p>\n<ul>\n<li><strong>Representamen</strong> - sam znak, forma (odpowiednik &quot;znaczącego&quot; u Saussure'a)</li>\n<li><strong>Obiekt</strong> - to, do czego znak się odnosi (rzecz w świecie, koncept)</li>\n<li><strong>Interpretant</strong> - efekt, który znak wywołuje w umyśle odbiorcy. I uwaga: ten interpretant SAM staje się nowym znakiem, który znowu ma swój interpretant, i tak dalej... <strong>nieskończony łańcuch interpretacji</strong>.</li>\n</ul>\n<p>I to jest kluczowa różnica: u Saussure'a znak jest statyczny (para), u Peirce'a - <strong>dynamiczny, żywy, będący procesem</strong>. Znaczenie nie jest &quot;zawarte&quot; w znaku - ono powstaje w procesie interpretacji.</p>\n<h3><a href=\"#trzy-rodzaje-znaków-według-peircea\" aria-hidden=\"true\" class=\"anchor\" id=\"trzy-rodzaje-znaków-według-peircea\"></a>Trzy rodzaje znaków według Peirce'a</h3>\n<p>Peirce podzielił znaki na trzy kategorie, które są super intuicyjne:</p>\n<table>\n<thead>\n<tr>\n<th>Typ</th>\n<th>Opis</th>\n<th>Przykłady</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Ikona</strong></td>\n<td>Podobieństwo między znakiem a obiektem</td>\n<td>Portret, mapa, emoji 😺 (wygląda trochę jak kot), ikona folderu na komputerze</td>\n</tr>\n<tr>\n<td><strong>Indeks</strong></td>\n<td>Związek przyczynowo-skutkowy lub fizyczny</td>\n<td>Ślady stóp na piasku (ktoś tu przeszedł), dym (ogień), kaszel (choroba), termometr (temperatura)</td>\n</tr>\n<tr>\n<td><strong>Symbol</strong></td>\n<td>Konwencja, umowa społeczna</td>\n<td>Słowo &quot;kot&quot;, flaga państwowa, czerwone światło = stop, matematyczne &quot;=&quot;</td>\n</tr>\n</tbody>\n</table>\n<div class=\"markdown-alert markdown-alert-note\">\n<p class=\"markdown-alert-title\">Note</p>\n<p>Słowo &quot;symbol&quot; w codziennym języku znaczy coś innego niż w semiotyce Peirce'a! W semiotyce symbol to znak oparty <strong>wyłącznie na konwencji</strong> - nie przypomina obiektu (jak ikona) i nie jest z nim fizycznie związany (jak indeks). Flaga Polski nie &quot;przypomina&quot; Polski i nie jest z nią fizycznie połączona - po prostu się umówiliśmy, że te kolory oznaczają to państwo.</p>\n</div>\n<p>Sprawdźcie się - jaki to typ znaku?<sup class=\"footnote-ref\"><a href=\"#fn-1\" id=\"fnref-1\" data-footnote-ref>1</a></sup></p>\n<ol>\n<li>🌡️ Termometr pokazujący 37°C</li>\n<li>📸 Zdjęcie twojego psa</li>\n<li>🟢 Zielone światło = &quot;jedź&quot;</li>\n<li>🐾 Ślady butów na śniegu</li>\n<li>♿ Ikona dostępności</li>\n</ol>\n<hr />\n<h2><a href=\"#hall-of-mirrors---czyli-llm-utknął-w-lustrach\" aria-hidden=\"true\" class=\"anchor\" id=\"hall-of-mirrors---czyli-llm-utknął-w-lustrach\"></a>Hall of Mirrors - czyli LLM utknął w lustrach</h2>\n<p>David Manheim, badacz AI, użył pięknej metafory pochodzącej od semiotyki Peirce'a. Nazwał to <strong>&quot;Hall of Mirrors Problem&quot;</strong> - problemem hali luster.</p>\n<p>Wyobraźcie sobie: jesteście w pokoju pełnym luster. Widzicie odbicia odbić odbić... i nigdzie nie ma okna na zewnątrz. Nie widzicie prawdziwego świata - widzicie tylko... więcej luster.</p>\n<p>To jest dokładnie to, co robi LLM.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph LR\n    W[&quot;🌍 Świat&lt;br/&gt;&lt;i&gt;rzeczywistość&lt;/i&gt;&quot;] --&gt;|&quot;doświadczenie&quot;| C[&quot;🧑 Ludzie&lt;br/&gt;&lt;i&gt;piszą teksty&lt;/i&gt;&quot;]\n    C --&gt;|&quot;tworzą&quot;| T[&quot;📝 Teksty&lt;br/&gt;&lt;i&gt;dane treningowe&lt;/i&gt;&quot;]\n    T --&gt;|&quot;uczy się na&quot;| LLM[&quot;🤖 LLM&quot;]\n    LLM --&gt;|&quot;generuje&quot;| T2[&quot;📝 Nowe teksty&quot;]\n    T2 --&gt;|&quot;trafiają do&quot;| T\n    \n    style W fill:#99ff99,color:#000\n    style C fill:#ffcc99,color:#000\n    style T fill:#ffff99,color:#000\n    style LLM fill:#ff9999,color:#000\n    style T2 fill:#ffff99,color:#000\n</code></pre>\n<p>Spójrzmy na to przez pryzmat triady Peirce'a:</p>\n<ul>\n<li><strong>Representamen</strong> (znak) - tekst, tokeny, słowa - ✅ LLM ma dostęp</li>\n<li><strong>Obiekt</strong> (rzeczywistość) - świat, doświadczenie, fizyka - ❌ LLM nie ma dostępu</li>\n<li><strong>Interpretant</strong> (interpretacja) - zrozumienie - ❓ LLM generuje coś, co <em>wygląda</em> jak interpretacja</li>\n</ul>\n<p>LLM nigdy nie widział świata. Nigdy nie poczuł smaku truskawki, nie dotknął lodu, nie usłyszał śmiechu. Całą swoją &quot;wiedzę&quot; o świecie czerpie z tekstu - z tego, co <strong>inni ludzie napisali</strong> o świecie.</p>\n<p>Więc kiedy LLM pisze &quot;truskawki są słodkie&quot; - on nie <em>wie</em>, że są słodkie. On wie, że w tekstach, na których był trenowany, słowo &quot;truskawki&quot; często występuje blisko słowa &quot;słodkie&quot;. To jest różnica. I to jest właśnie <strong>semiotyczna</strong> różnica.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Paradoks:</strong> LLM potrafi napisać piękny opis zachodu słońca, choć nigdy nie widział słońca. Ale potrafi też napisać piękny opis zachodu słońca <strong>na Marsie</strong> - choć tam jeszcze nikt nie widział zachodu słońca. Skąd &quot;wie&quot;? Z tekstu science fiction. Czyli: znaki odnoszą się do znaków, które odnoszą się do znaków... hala luster ;-)</p>\n</div>\n<hr />\n<h2><a href=\"#saussure-w-kodzie-embeddingi-jako-system-znaków\" aria-hidden=\"true\" class=\"anchor\" id=\"saussure-w-kodzie-embeddingi-jako-system-znaków\"></a>Saussure w kodzie: embeddingi jako system znaków</h2>\n<p>OK, teraz to, co obiecałem - zobaczmy, jak teoria Saussure'a realizuje się w kodzie. Bo to jest <strong>naprawdę</strong> fascynujące.</p>\n<p>Pamiętacie, co mówił Saussure? <strong>Znaczenie słowa wynika z jego relacji do innych słów</strong>. &quot;Kot&quot; znaczy to, co znaczy, bo nie jest &quot;psem&quot;, nie jest &quot;domem&quot; itd. Znaczenie jest relacyjne.</p>\n<p>A teraz pomyślcie o <strong>word embeddings</strong> (osadzeniach słów) - które poznaliśmy w poprzednim wpisie. Każde słowo jest reprezentowane jako wektor w wielowymiarowej przestrzeni. I słowa o podobnym znaczeniu są <strong>blisko</strong> siebie w tej przestrzeni.</p>\n<p>To jest <strong>dokładnie</strong> relacyjna teoria znaku Saussure'a, tylko zaimplementowana w matematyce!</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-python\"><a-k>from</a-k> <a-v>gensim</a-v>.<a-v>downloader</a-v> <a-k>import</a-k> <a-v>load</a-v>\n\n<a-v>model</a-v> <a-o>=</a-o> <a-f>load</a-f>(<a-s>&quot;glove-wiki-gigaword-50&quot;</a-s>)\n\n<a-v>king</a-v> <a-o>=</a-o> <a-v>model</a-v>[<a-s>&quot;king&quot;</a-s>]\n<a-v>queen</a-v> <a-o>=</a-o> <a-v>model</a-v>[<a-s>&quot;queen&quot;</a-s>]\n<a-v>man</a-v> <a-o>=</a-o> <a-v>model</a-v>[<a-s>&quot;man&quot;</a-s>]\n<a-v>woman</a-v> <a-o>=</a-o> <a-v>model</a-v>[<a-s>&quot;woman&quot;</a-s>]\n\n<a-v>result</a-v> <a-o>=</a-o> <a-v>king</a-v> <a-o>-</a-o> <a-v>man</a-v> <a-o>+</a-o> <a-v>woman</a-v>\n\n<a-k>from</a-k> <a-v>gensim</a-v>.<a-v>models</a-v> <a-k>import</a-k> <a-cr>KeyedVectors</a-cr>\n<a-v>similarities</a-v> <a-o>=</a-o> <a-v>model</a-v>.<a-pr>cosine_similarities</a-pr>(<a-v>result</a-v>, [<a-v>queen</a-v>])\n<a-f>print</a-f>(<a-s>f&quot;Podobieństwo do &#39;queen&#39;: </a-s><a-p>{</a-p><a-v>similarities</a-v><a-eb>[</a-eb><a-n>0</a-n><a-eb>]:.3f</a-eb><a-p>}</a-p><a-s>&quot;</a-s>)</code></pre>\n<p>Wypisze coś w stylu: <code>Podobieństwo do 'queen': 0.850</code></p>\n<p>Ale spójrzcie na to z perspektywy Saussure'a:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    subgraph &quot;Saussure: znak = pozycja w systemie relacji&quot;\n        S1[&quot;'king' nie jest 'queen'&lt;br/&gt;'king' nie jest 'man'&lt;br/&gt;'king' nie jest 'woman'&quot;] --&gt; S2[&quot;znaczenie = różnica&quot;]\n    end\n    subgraph &quot;Word2Vec: słowo = wektor w przestrzeni relacyjnej&quot;\n        V1[&quot;king = [0.50, 0.68, ...]&lt;br/&gt;queen = [0.38, 0.64, ...]&lt;br/&gt;man = [0.31, 0.43, ...]&quot;] --&gt; V2[&quot;znaczenie = pozycja wektora&lt;br/&gt;względem innych wektorów&quot;]\n    end\n    \n    S2 -.-&gt;|&quot;to samo!&quot;| V2\n    \n    style S2 fill:#9999ff,color:#fff\n    style V2 fill:#ff9999,color:#000\n</code></pre>\n<p>Zarówno Saussure, jak i Word2Vec mówią to samo: <strong>znaczenie nie jest w samym znaku - jest w jego relacji do innych znaków</strong>. Saussure wymyślił to jako teorię języka. Programiści Google wymyślili Word2Vec jako algorytm. I doszli do tego samego wniosku.</p>\n<p>No... prawie. Bo jest jeden haczyk. Saussure zakładał, że za znaczącym (forma) stoi <strong>znaczone</strong> (koncept). W embeddingach mamy tylko pozycję w przestrzeni - mamy relacje, ale czy mamy &quot;koncept&quot;? Czy wektor <code>[0.50, 0.68, ...]</code> <strong>jest</strong> konceptem &quot;króla&quot;?</p>\n<p>To jest właśnie to pytanie, które doprowadza nas do kolejnego semiotyka...</p>\n<hr />\n<h2><a href=\"#derrida-pismo-jako-fundament\" aria-hidden=\"true\" class=\"anchor\" id=\"derrida-pismo-jako-fundament\"></a>Derrida: pismo jako fundament</h2>\n<p>Jacques Derrida (francuski filozof, lata 60. i 70. XX wieku) zrobił coś odważnego. Spojrzał na całego Saussure'a i powiedział: <strong>&quot;Chwila. A dlaczego uważacie, że mowa jest ważniejsza od pisma?&quot;</strong></p>\n<p>Saussure (i cała zachodnia tradycja filozoficzna) traktował mowę jako &quot;pierwotną&quot; - bliższą myśli, bliższą znaczeniu. Pismo było &quot;pochodne&quot; - tylko zapis mowy, &quot;znak znaku&quot;. Derrida nazwał to <strong>logocentryzmem</strong> - przekonaniem, że na końcu łańcucha znaków jest jakaś &quot;obecność&quot;, &quot;myśl&quot;, &quot;intencja&quot;, która nadaje znaczenie.</p>\n<p>I Derrida odwrócił to do góry nogami: <strong>pismo nie jest podrzędne wobec mowy. Pismo jest systemem samym w sobie.</strong></p>\n<p>Dlaczego to jest ważne dla LLM? Bo Elad Vromen w swoim artykule &quot;Language Models as Semiotic Machines&quot; zauważył coś genialnego:</p>\n<blockquote>\n<p>LLM trenuje na <strong>piśmie</strong> (tekst). Tworzy model <strong>pisma</strong>. Generuje nowe <strong>pismo</strong>. Nigdzie w tym procesie nie ma &quot;mowy&quot;, &quot;umysłu&quot; ani &quot;intencji&quot;. Cała hierarchia Saussure'a - mowa &gt; pismo - zostaje odwrócona. Pismo jest jedyną rzeczywistością, jaką LLM zna.</p>\n</blockquote>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph LR\n    subgraph &quot;Tradycyjny model (logocentryzm)&quot;\n        A1[&quot;🌍 Świat&quot;] --&gt; A2[&quot;🧠 Myśl&quot;]\n        A2 --&gt; A3[&quot;🗣️ Mowa&quot;]\n        A3 --&gt; A4[&quot;📝 Pismo&quot;]\n    end\n    \n    subgraph &quot;Model LLM (odwrócenie Derridy)&quot;\n        B1[&quot;📝 Pismo&lt;br/&gt;&lt;i&gt;dane treningowe&lt;/i&gt;&quot;] --&gt; B2[&quot;🧮 Model&lt;br/&gt;&lt;i&gt;statystyka znaków&lt;/i&gt;&quot;]\n        B2 --&gt; B3[&quot;📝 Nowe pismo&lt;br/&gt;&lt;i&gt;output LLM&lt;/i&gt;&quot;]\n    end\n    \n    style A4 fill:#ff9999,color:#000\n    style B1 fill:#99ff99,color:#000\n    style B2 fill:#9999ff,color:#fff\n    style B3 fill:#99ff99,color:#000\n</code></pre>\n<p>Więc kiedy pytamy &quot;czy LLM rozumie język?&quot; - zadajemy <strong>złe pytanie</strong>. To jak pytanie &quot;czy książka rozumie to, co jest w niej zapisane?&quot; Książka nie &quot;rozumie&quot; - ale <strong>zawiera znaki</strong>, które my - czytelnicy - interpretujemy. LLM jest czymś pośrednim: nie jest książką (bo generuje nowy tekst), ale nie jest też umysłem (bo nie ma dostępu do znaczeń poza tekstem).</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p><strong>Derrida w pigułce dla LLM:</strong> LLM nie modeluje &quot;umysłu&quot; ani &quot;świata&quot;. LLM modeluje <strong>pismo</strong> - system znaków, który ma własną logikę, własne reguły, własną spójność. I to pismo jest wystarczające, żeby generować tekst, który <em>dla nas</em> ma znaczenie. Ale to <strong>my</strong> nadajemy mu znaczenie - nie model.</p>\n</div>\n<p>To też wyjaśnia pewien fenomen, który pewnie zauważyliście: LLM czasami mówi rzeczy, które są <strong>statystycznie poprawne, ale nonsensowne</strong>. Bo w systemie pisma, w którym operuje model, te słowa dobrze pasują do siebie. Ale my - jako ludzie z dostępem do świata (obiektów w sensie Peirce'a) - widzimy, że to nie ma sensu. Model nie ma tego &quot;zakotwiczenia&quot; w rzeczywistości.</p>\n<details>\n<summary>Dla chętnych: Derrida i iterowalność</summary>\n<p>Derrida w swoim słynnym eseju &quot;Signature Event Context&quot; mówił o <strong>iterowalności</strong> znaków - o tym, że znak może być powtórzony w nowym kontekście i nabierać nowego znaczenia. Słowo &quot;dobry&quot; może być komplementem, ironią albo frazą w &quot;dobry wieczór&quot; - kontekst zmienia wszystko.</p>\n<p>I to jest właśnie to, co widzimy w LLM: ten sam prompt w innym kontekście daje inną odpowiedź. Model nie &quot;rozumie&quot; kontekstu - ale <strong>statystycznie</strong> wyłapuje wzorce kontekstowe z danych treningowych. Czyli: iterowalność znaków w czystej, matematycznej postaci.</p>\n</details>\n<hr />\n<h2><a href=\"#prompt-jako-akt-semiotyczny\" aria-hidden=\"true\" class=\"anchor\" id=\"prompt-jako-akt-semiotyczny\"></a>Prompt jako akt semiotyczny</h2>\n<p>Teraz wchodzimy na bardzo praktyczny grunt. Bo jeśli LLM jest maszyną znaków, to <strong>prompt</strong> - to, co do niego wpisujecie - jest <strong>aktem semiotycznym</strong>. Nie po prostu &quot;komendą&quot;. Ale aktem, który tworzy ramę dla znaczenia.</p>\n<h3><a href=\"#triada-peircea-w-praktyce\" aria-hidden=\"true\" class=\"anchor\" id=\"triada-peircea-w-praktyce\"></a>Triada Peirce'a w praktyce</h3>\n<p>Spójrzmy na interakcję z LLM przez pryzmat triady Peirce'a:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    P[&quot;📝 PROMPT&lt;br/&gt;&lt;i&gt;representamen&lt;/i&gt;&lt;br/&gt;znak wejściowy&quot;] --&gt; LLM[&quot;🤖 LLM&lt;br/&gt;&lt;i&gt;przetwarzanie znaków&lt;/i&gt;&quot;]\n    LLM --&gt; O[&quot;💬 ODPOWIEDŹ&lt;br/&gt;&lt;i&gt;nowy representamen&lt;/i&gt;&quot;]\n    O --&gt; U[&quot;🧑 UŻYTKOWNIK&lt;br/&gt;&lt;i&gt;interpretant&lt;/i&gt;&lt;br/&gt;nadaje znaczenie&quot;]\n    U -.-&gt;|&quot;nowy prompt&quot;| P\n    \n    style P fill:#ff9999,color:#000\n    style LLM fill:#ffcc99,color:#000\n    style O fill:#ffff99,color:#000\n    style U fill:#9999ff,color:#fff\n</code></pre>\n<p>Czyli:</p>\n<ol>\n<li><strong>Wy</strong> tworzycie prompt (representamen)</li>\n<li><strong>LLM</strong> przetwarza znaki i generuje odpowiedź (nowy representamen)</li>\n<li><strong>Wy</strong> interpretujecie odpowiedź (stajecie się interpretantem)</li>\n<li>Wasza interpretacja prowadzi do nowego promptu... i cykl się powtarza</li>\n</ol>\n<p>Zauważcie: <strong>znaczenie powstaje dopiero w kroku 3</strong>. LLM generuje ciąg tokenów, ale to Wy nadajecie mu sens. To jest dokładnie to, o czym mówił Umberto Eco z koncepcją <strong>&quot;dzieła otwartego&quot;</strong> - tekst nie ma jednego, ustalonego znaczenia. Tekst jest &quot;ramą&quot;, którą czytelnik wypełnia interpretacją.</p>\n<h3><a href=\"#eksperyment-jak-prompt-zmienia-ramę-semiotyczną\" aria-hidden=\"true\" class=\"anchor\" id=\"eksperyment-jak-prompt-zmienia-ramę-semiotyczną\"></a>Eksperyment: jak prompt zmienia ramę semiotyczną</h3>\n<p>Spróbujcie sami. Odpalcie ChatGPT (albo Claude, Gemini - co macie) i wyślijcie te trzy prompty, każdy w <strong>nowej rozmowie</strong>:</p>\n<ol>\n<li><code>&quot;Wyjaśnij, czym jest grawitacja.&quot;</code></li>\n<li><code>&quot;Wyjaśnij grawitację pięciolatkowi.&quot;</code></li>\n<li><code>&quot;Wyjaśnij grawitację w stylu sonetu Szekspira.&quot;</code></li>\n</ol>\n<p>Każdy prompt dotyczy tego samego tematu (grawitacja). Ale każdy <strong>zmienia ramę semiotyczną</strong> - zmienia ton, rejestr, gatunek, oczekiwaną formę odpowiedzi.</p>\n<table>\n<thead>\n<tr>\n<th>Prompt</th>\n<th>Zmienia się...</th>\n<th>Rama semiotyczna</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>&quot;Wyjaśnij grawitację&quot;</td>\n<td>-</td>\n<td>Neutralna, encyklopedyczna</td>\n</tr>\n<tr>\n<td>&quot;...pięciolatkowi&quot;</td>\n<td>Odbiorca, prostota języka</td>\n<td>Edukacyjna, dostosowana do wieku</td>\n</tr>\n<tr>\n<td>&quot;...w stylu Szekspira&quot;</td>\n<td>Gatunek, forma, styl</td>\n<td>Literacka, artystyczna</td>\n</tr>\n</tbody>\n</table>\n<p>To jest dokładnie to, co Picca nazywa <strong>&quot;semiotyczną umową&quot;</strong> (semiotic contract). Kiedy tworzycie prompt, nie &quot;prosicie o informację&quot; - <strong>ustanawiacie warunki, w jakich znaczenie będzie konstruowane</strong>. Prosicie o grawitację w trybie Szekspira? Otrzymujecie hybrydę fizyki i poezji. To nie jest &quot;prawdziwa&quot; grawitacja ani &quot;prawdziwy&quot; Szekspir - to jest <strong>semiotyczny kolaż</strong>, nowa konfiguracja znaków.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Eksperyment bonusowy:</strong> Spróbujcie: <em>&quot;Wyjaśnij pojęcie entropii używając metafor z bajek.&quot;</em> Zobaczycie, jak LLM łączy dwie zupełnie różne strefy semiotyczne - fizykę i baśnie. To jest właśnie to, co semiotyka nazywa <strong>translacją między kodami kulturowymi</strong>.</p>\n</div>\n<hr />\n<h2><a href=\"#semiosfera---ekologia-znaków\" aria-hidden=\"true\" class=\"anchor\" id=\"semiosfera---ekologia-znaków\"></a>Semiosfera - ekologia znaków</h2>\n<p>Jeszcze jedno pojęcie, które warto znać. Jurij Lotman, rosyjski semiotyk, wymyślił koncept <strong>semiosfery</strong>.</p>\n<p>Semiosfera to przestrzeń, w której żyją znaki. To ekologia znaczeń - sieć kodów kulturowych, gatunków, dyskursów, ideologii, które wchodzą ze sobą w interakcje. Podobnie jak biosfera to przestrzeń, w której żyją organizmy, semiosfera to przestrzeń, w której żyją znaki.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    subgraph &quot;Semiosfera&quot;\n        N[&quot;📰 Media&lt;br/&gt;&lt;i&gt;news, artykuły&lt;/i&gt;&quot;]\n        L[&quot;📚 Literatura&lt;br/&gt;&lt;i&gt;powieści, poezja&lt;/i&gt;&quot;]\n        S[&quot;🔬 Nauka&lt;br/&gt;&lt;i&gt;publikacje, podręczniki&lt;/i&gt;&quot;]\n        I[&quot;💬 Internet&lt;br/&gt;&lt;i&gt;fora, social media&lt;/i&gt;&quot;]\n        K[&quot;🎭 Kultura&lt;br/&gt;&lt;i&gt;film, sztuka, muzyka&lt;/i&gt;&quot;]\n        P[&quot;⚖️ Prawo&lt;br/&gt;&lt;i&gt;ustawy, orzeczenia&lt;/i&gt;&quot;]\n    end\n    \n    D[&quot;📊 Dane treningowe LLM&quot;] -.-&gt; N\n    D -.-&gt; L\n    D -.-&gt; S\n    D -.-&gt; I\n    D -.-&gt; K\n    D -.-&gt; P\n    \n    LLM2[&quot;🤖 LLM&quot;] --&gt;|&quot;nawiguje po&lt;br/&gt;strefach semiosfery&quot;| D\n    \n    style D fill:#ffff99,color:#000\n    style LLM2 fill:#ff9999,color:#000\n</code></pre>\n<p>Dane treningowe LLM są niczym innym jak <strong>gigantycznym przekrojem semiosfery</strong>. Kiedy model czyta Wikipedię, twittera, książki, artykuły naukowe, kody źródłowe - przyswaja (statystycznie!) całą tę różnorodność kodów kulturowych.</p>\n<p>I dlatego potrafi pisać w stylu Szekspira, tłumaczyć z niemieckiego, żartować jak komik i cytować przepisy prawa - bo wszystko to jest w semiosferze, a model &quot;widział&quot; próbki z każdej strefy.</p>\n<p>Ale jest i druga strona medalu: model przyswaja też <strong>uprzedzenia, stereotypy i dominujące narracje</strong> zawarte w semiosferze. Bo semiosfera nie jest neutralna - to przestrzeń kulturowa z historią, z władzą, z ideologią. I LLM, operując na znakach z tej przestrzeni, reprodukuje je w swoich outputach.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Dlaczego LLM czasem mówi głupoty?</strong> Bo semiosfera jest pełna sprzeczności. Na jednej stronie internetu &quot;ziemia jest okrągła&quot;, na innej &quot;ziemia jest płaska&quot;. Model widzi oba znaki i nie ma dostępu do &quot;obiektu&quot; (rzeczywistej ziemi), żeby zdecydować, który znak jest prawdziwy. Operuje w hali luster - znaki odnoszą się do znaków, a nie do rzeczywistości.</p>\n</div>\n<hr />\n<h2><a href=\"#quiz-saussure-czy-peirce\" aria-hidden=\"true\" class=\"anchor\" id=\"quiz-saussure-czy-peirce\"></a>Quiz: Saussure czy Peirce?</h2>\n<p>Sprawdźcie, który semiotyk lepiej wyjaśnia te zjawiska LLM. Przypominam:</p>\n<ul>\n<li><strong>Saussure</strong>: znak = para (znaczące + znaczone), znaczenie relacyjne, system statyczny</li>\n<li><strong>Peirce</strong>: znak = triada (representamen + obiekt + interpretant), proces interpretacji, dynamika</li>\n</ul>\n<p>Kto lepiej wyjaśnia, że...?<sup class=\"footnote-ref\"><a href=\"#fn-2\" id=\"fnref-2\" data-footnote-ref>2</a></sup></p>\n<ol>\n<li><strong>LLM potrafi pisać wiersze, choć nigdy nie czuł poezji</strong> - Saussure czy Peirce?</li>\n<li><strong>Embedding &quot;król&quot; - &quot;mężczyzna&quot; + &quot;kobieta&quot; = &quot;królowa&quot;</strong> - Saussure czy Peirce?</li>\n<li><strong>Ten sam prompt daje różne odpowiedzi w zależności od kontekstu rozmowy</strong> - Saussure czy Peirce?</li>\n<li><strong>LLM nie ma dostępu do świata, tylko do tekstu</strong> - Saussure czy Peirce?</li>\n<li><strong>Znamy kogoś, kto zapytał ChatGPT o diagnozę medyczną i ją dostał</strong> - Saussure czy Peirce?</li>\n</ol>\n<hr />\n<h2><a href=\"#podsumowanie---mapa-semiotyczna-llm\" aria-hidden=\"true\" class=\"anchor\" id=\"podsumowanie---mapa-semiotyczna-llm\"></a>Podsumowanie - mapa semiotyczna LLM</h2>\n<p>Oto nasza semiotyczna mapa w pigułce:</p>\n<table>\n<thead>\n<tr>\n<th>Semiotyk</th>\n<th>Kluczowy koncept</th>\n<th>Co to mówi o LLM</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Saussure</strong></td>\n<td>Znaczenie = relacja między znakami</td>\n<td>Embeddingi realizują relacyjną koncepcję znaku</td>\n</tr>\n<tr>\n<td><strong>Peirce</strong></td>\n<td>Triada znak-obiekt-interpretant</td>\n<td>LLM nie ma dostępu do obiektu, tylko do znaków (hala luster)</td>\n</tr>\n<tr>\n<td><strong>Derrida</strong></td>\n<td>Pismo jako system sam w sobie</td>\n<td>LLM modeluje pismo, nie umysł; dane treningowe = jedyne źródło</td>\n</tr>\n<tr>\n<td><strong>Lotman</strong></td>\n<td>Semiosfera - ekologia znaków</td>\n<td>Dane treningowe to przekrój semiosfery; LLM nawiguje po strefach</td>\n</tr>\n<tr>\n<td><strong>Eco</strong></td>\n<td>Dzieło otwarte</td>\n<td>Output LLM nie ma jednego znaczenia - wymaga Waszej interpretacji</td>\n</tr>\n</tbody>\n</table>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    subgraph &quot;Semiotyczna perspektywa na LLM&quot;\n        SAU[&quot;Saussure&lt;br/&gt; znaczenie = relacja&quot;] --&gt; EMB[&quot;Embeddingi&lt;br/&gt;wektory = pozycje relacyjne&quot;]\n        PEI[&quot;Peirce&lt;br/&gt;znak → obiekt → interpretant&quot;] --&gt; HOM[&quot;Hall of Mirrors&lt;br/&gt;brak dostępu do obiektu&quot;]\n        DER[&quot;Derrida&lt;br/&gt;pismo jest fundamentem&quot;] --&gt; DAT[&quot;Dane treningowe&lt;br/&gt;= pismo, nie umysł&quot;]\n        LOT[&quot;Lotman&lt;br/&gt;semiosfera&quot;] --&gt; NAV[&quot;LLM nawiguje&lt;br/&gt;po strefach semiosfery&quot;]\n        ECO[&quot;Eco&lt;br/&gt;dzieło otwarte&quot;] --&gt; INT[&quot;Output wymaga&lt;br/&gt;interpretacji człowieka&quot;]\n    end\n    \n    style SAU fill:#ff9999,color:#000\n    style PEI fill:#ffcc99,color:#000\n    style DER fill:#ffff99,color:#000\n    style LOT fill:#99ff99,color:#000\n    style ECO fill:#9999ff,color:#fff\n</code></pre>\n<p>Więc: <strong>LLM nie ma umysłu.</strong> Ale to nie znaczy, że nie robi nic interesującego. LLM operuje na znakach - rekonfiguruje je, łączy strefy semiosfery, tworzy nowe konfiguracje znaków. I te nowe konfiguracje <strong>dla nas - jako interpretatorów - mają znaczenie</strong>.</p>\n<p>To jest semiotyczna odpowiedź na pytanie &quot;czy LLM rozumie?&quot;. LLM nie &quot;rozumie&quot; w ludzkim sensie. Ale generuje znaki, które wchodzą w naszą semiosferę i stają się częścią naszego procesu interpretacji. I ten proces jest prawdziwy, ważny i potężny.</p>\n<hr />\n<p>Wiem, że semiotyka na początku brzmi jak coś z innej planety, ale mam nadzieję, że teraz widzicie, jak to się łączy z LLM.</p>\n<p>Kórą koncepcję semiotyczną uważacie za najbardziej przydatną do zrozumienia LLM? Saussure i jego relacyjność? Peirce i jego hala luster? A może Derrida i jego &quot;pismo&quot;?</p>\n<p>Bo szczerze mówiąc - ja się dopiero uczę tej perspektywy. Ale czuję, że to jest ten moment, gdzie lingwistyka, filozofia i programowanie spotykają się w jednym miejscu i tworzą coś naprawdę fascynującego.</p>\n<blockquote>\n<p><strong>Co w następnym wpisie?</strong> Przechodzimy od teorii do praktyki: <a href=\"jak-komputer-czyta-tekst.html\">Jak komputer czyta tekst - od liczenia słów do wektorów</a>. Zobaczymy jak tokenizacja, TF-IDF, łańcuchy Markowa i Word2Vec realizują w kodzie to, o czym mówili Saussure (znaczenie jest relacyjne!) i Derrida (pismo jest systemem samym w sobie!).</p>\n</blockquote>\n<p>Do następnego!</p>\n<hr />\n<p><strong>Źródła i ciekawe linki:</strong></p>\n<p>Jeśli chcecie wejść głębiej, oto materiały, z których korzystałem:</p>\n<ul>\n<li><a href=\"https://arxiv.org/abs/2505.17080\">Davide Picca, &quot;Not Minds, but Signs: Reframing LLMs through Semiotics&quot; - arXiv</a> - główna inspiracja tego wpisu; propozycja patrzenia na LLM jako maszyny semiotycznej</li>\n<li><a href=\"https://arxiv.org/abs/2410.13065\">Elad Vromen, &quot;Language Models as Semiotic Machines&quot; - arXiv</a> - genialne połączenie Saussure'a, Derridy i embeddingów</li>\n<li><a href=\"https://philpapers.org/rec/MANLMH-2\">David Manheim, &quot;Language Models' Hall of Mirrors Problem&quot; - PhilPapers</a> - źródło metafory &quot;hali luster&quot;</li>\n<li><a href=\"https://arxiv.org/pdf/2509.14250.pdf\">&quot;Semiotic reflections and modelling&quot; - arXiv</a> - prompty jako zjawiska semiotyczne</li>\n<li><a href=\"https://www.emerald.com/jd/article/doi/10.1108/JD-03-2026-0140/1367688/The-meaning-of-prompts-a-semiotic-approach-to\">&quot;The meaning of prompts: a semiotic approach to human-LLM interaction&quot; - Emerald</a> - prompty jako akty znaczeniotwórcze</li>\n<li><a href=\"https://www.turtlesai.it/it/pages-391/a_semiotic_perspective_on_generative_ai_and_llms\">&quot;A Semiotic Perspective on Generative AI and LLMs&quot; - TurtlesAI</a> - przystępne wprowadzenie do semiotyki generatywnej AI</li>\n<li><a href=\"https://www.sciencedirect.com/science/article/pii/S1877042814057139\">&quot;The Semiotic Perspectives of Peirce and Saussure: A Brief Comparative Study&quot; - ScienceDirect</a> - porównanie dwóch głównych tradycji semiotycznych</li>\n<li><a href=\"https://www.linkedin.com/posts/ceperez_the-difference-between-semantics-and-semiotics-activity-7358534695254388737-gebY\">Carlos E. Perez, &quot;Semantics vs Semiotics: How LLMs Should Be Understood&quot; - LinkedIn</a> - krótki post o tym, dlaczego semiotyka &gt; semantyka dla LLM</li>\n</ul>\n<section class=\"footnotes\" data-footnotes>\n<ol>\n<li id=\"fn-1\">\n<p>Odpowiedzi: 1) indeks (przyczynowo-skutkowy - temperatura powoduje rozszerzenie cieczy), 2) ikona (podobieństwo do psa), 3) symbol (czysta konwencja), 4) indeks (fizyczny ślad kogoś, kto tu przeszedł), 5) ikona (podobieństwo do osoby na wózku). <a href=\"#fnref-1\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"1\" aria-label=\"Back to reference 1\">↩</a></p>\n</li>\n<li id=\"fn-2\">\n<p>Moje odpowiedzi: 1) <strong>Peirce</strong> - model nie ma dostępu do obiektu (doświadczenia poezji), ale generuje representameny (tekst), które interpretujemy. 2) <strong>Saussure</strong> - to jest czysta relacyjność! Król jest definiowany przez to, czym nie jest. 3) <strong>Peirce</strong> - kontekst zmienia interpretację, a interpretant tworzy nowy znak. 4) <strong>Peirce</strong> - brak obiektu w triadzie. 5) <strong>Peirce + Lotman</strong> - model reprodukuje znaki z semiosfery medycznej bez dostępu do rzeczywistego obiektu (ciała pacjenta). Diagnoza jest znakiem bez zakotwiczenia. <a href=\"#fnref-2\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"2\" aria-label=\"Back to reference 2\">↩</a></p>\n</li>\n</ol>\n</section>\n",
      "summary": "",
      "date_published": "2026-06-07T00:00:00-00:00",
      "image": "",
      "authors": [
        {
          "name": "Błażej Gruszka",
          "url": "https://www.linkedin.com/in/blazejgruszka/",
          "avatar": "https://github.com/bgruszka.png"
        }
      ],
      "tags": [
        "llm",
        "ai",
        "semiotyka",
        "znaki",
        "linguistics",
        "language-models",
        "saussure",
        "peirce",
        "derrida"
      ],
      "language": "pl"
    },
    {
      "id": "https://gruszka.dev/cechy-jezykowe-a-llm.html",
      "url": "https://gruszka.dev/cechy-jezykowe-a-llm.html",
      "title": "Cechy językowe - co musisz wiedzieć, zanim zrozumiesz, jak myśli LLM",
      "content_html": "<p>LLM (Large Language Models, czyli takie ChatGPT, Claude, Gemini i spółka) jest już z nami od jakiegoś czasu i stwierdziłem, że zacznę głębiej wchodzić w ten temat i pojawiło się jedno wielkie pytanie: <strong>ale jak to w ogóle działa, że model &quot;rozumie&quot; język?</strong> Bo przecież pod spodem to tylko &quot;matematyka i statystyka&quot;, prawda? No... tak i nie ;-)</p>\n<p>I wtedy wpadłem na lingwistykę. I okazało się, że żeby naprawdę zrozumieć, co LLM robi z językiem, trzeba najpierw zrozumieć, z czego ten język się składa. A że programista próbujący czytać o lingwistyce to dość zabawny obrazek, to pomyślałem: <strong>podzielę się tym z wami</strong> ;-)</p>\n<p>To jest <strong>pierwszy wpis z serii</strong>, w której będziemy przeglądać różne poziomy analizy języka i patrzeć, jak to wszystko łączy się z LLM. W dzisiejszym wpisie zbudujemy fundament - poznamy pięć głównych warstw języka i zobaczymy, dlaczego każda z nich jest ważna dla modeli językowych.</p>\n<hr />\n<h2><a href=\"#język-jak-cebulka---warstwa-na-warstwie\" aria-hidden=\"true\" class=\"anchor\" id=\"język-jak-cebulka---warstwa-na-warstwie\"></a>Język jak cebulka - warstwa na warstwie</h2>\n<p>Zanim wejdziemy w szczegóły, wyobraźcie sobie język jako taką... cebulę. Albo tort warstwowy, jeśli wolicie słodkie metafory :D</p>\n<p>Każda warstwa to inny poziom, na którym język &quot;działa&quot;. Od najniższej - dźwięków - do najwyższej - tego, co <em>naprawdę</em> chcieliśmy powiedzieć, nawet jeśli powiedzieliśmy coś zupełnie innego.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    A[&quot;🔊 Fonetyka i fonologia&lt;br/&gt;&lt;i&gt;dźwięki i system dźwięków&lt;/i&gt;&quot;] --&gt; B[&quot;🧩 Morfologia&lt;br/&gt;&lt;i&gt;budowa słów&lt;/i&gt;&quot;]\n    B --&gt; C[&quot;📐 Składnia&lt;br/&gt;&lt;i&gt;budowa zdań&lt;/i&gt;&quot;]\n    C --&gt; D[&quot;💡 Semantyka&lt;br/&gt;&lt;i&gt;znaczenie&lt;/i&gt;&quot;]\n    D --&gt; E[&quot;🎭 Pragmatyka&lt;br/&gt;&lt;i&gt;znaczenie w kontekście&lt;/i&gt;&quot;]\n    \n    style A fill:#ff9999,color:#000\n    style B fill:#ffcc99,color:#000\n    style C fill:#ffff99,color:#000\n    style D fill:#99ff99,color:#000\n    style E fill:#9999ff,color:#000\n</code></pre>\n<p>Pięć warstw, pięć sposobów, na jakie język jest &quot;analizowany&quot;. I uwaga - <strong>LLM musi sobie z każdym z tych poziomów radzić</strong>, żeby wydawać się sensownym rozmówcą. Oczywiście nie robi tego świadomie - ale struktury, których uczy się w trakcie treningu, jakoś te warstwy &quot;łapią&quot;.</p>\n<div class=\"markdown-alert markdown-alert-note\">\n<p class=\"markdown-alert-title\">Note</p>\n<p><strong>Pięć warstw języka w pigułce:</strong></p>\n<ol>\n<li><strong>Fonetyka i fonologia</strong> - dźwięki i jak są zorganizowane w system</li>\n<li><strong>Morfologia</strong> - jak słowa są budowane z mniejszych kawałków</li>\n<li><strong>Składnia</strong> - zasady porządku słów w zdaniu</li>\n<li><strong>Semantyka</strong> - znaczenie słów i zdań</li>\n<li><strong>Pragmatyka</strong> - jak kontekst zmienia znaczenie wypowiedzi</li>\n</ol>\n</div>\n<p>OK, przejdźmy do rzeczy. Zaczynamy od dołu naszej cebulki ;-)</p>\n<hr />\n<h2><a href=\"#fonetyka-i-fonologia---dźwięki-których-llm-nie-słyszy\" aria-hidden=\"true\" class=\"anchor\" id=\"fonetyka-i-fonologia---dźwięki-których-llm-nie-słyszy\"></a>Fonetyka i fonologia - dźwięki, których LLM nie słyszy</h2>\n<h3><a href=\"#czym-jest-fonetyka\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-fonetyka\"></a>Czym jest fonetyka?</h3>\n<p><strong>Fonetyka</strong> bada dźwięki mowy jako zjawiska fizyczne. Mówiąc najprościej: jak produkujemy dźwięki, jak one podróżują przez powietrze i jak je odbieramy.</p>\n<p>Ma trzy gałęzie:</p>\n<table>\n<thead>\n<tr>\n<th>Gałąź</th>\n<th>Co bada</th>\n<th>Przykład</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Artykulacyjna</strong></td>\n<td>Jak narządy mowy produkują dźwięki</td>\n<td>Gdzie jest język, gdy mówisz &quot;sz&quot;?</td>\n</tr>\n<tr>\n<td><strong>Akustyczna</strong></td>\n<td>Fizyczne właściwości fal dźwiękowych</td>\n<td>Częstotliwość, amplituda</td>\n</tr>\n<tr>\n<td><strong>Audytywna</strong></td>\n<td>Jak ucho i mózg odbierają dźwięki</td>\n<td>Jak ślimak przetwarza fale na sygnał nerwowy</td>\n</tr>\n</tbody>\n</table>\n<h3><a href=\"#a-fonologia\" aria-hidden=\"true\" class=\"anchor\" id=\"a-fonologia\"></a>A fonologia?</h3>\n<p><strong>Fonologia</strong> to poziom wyżej. Nie interesują jej same dźwięki jako fizyczne zjawiska, ale <strong>jak dźwięki są zorganizowane w konkretnym języku</strong>.</p>\n<p>Kluczowe pojęcie: <strong>fonem</strong> - to najmniejsza jednostka dźwiękowa, która odróżnia znaczenie słów.</p>\n<p>Prosty przykład po polsku:</p>\n<ul>\n<li><strong>kot</strong> vs <strong>lot</strong> - słowa różnią się jednym dźwiękiem (/k/ vs /l/), a znaczenie jest zupełnie inne</li>\n<li><strong>ras</strong> vs <strong>las</strong> - /r/ vs /l/ znowu zmienia wszystko</li>\n</ul>\n<p>Albo po angielsku:</p>\n<ul>\n<li><strong>pat</strong> vs <strong>bat</strong> - /p/ vs /b/ i mamy zupełnie inne słowo</li>\n</ul>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Eksperyment:</strong> Wymów na głos &quot;kot&quot; raz jako zwykłe zdanie (&quot;Mój kot śpi.&quot;), a raz jako pytanie z zaskoczeniem (&quot;Kot?!&quot; z uniesionymi brwami). Ten sam wyraz, ale intonacja, akcent i melodia całkowicie zmieniają to, co &quot;słyszy&quot; odbiorca. To jest właśnie fonologia w działaniu - dźwięki + ich organizacja w system.</p>\n</div>\n<h3><a href=\"#dlaczego-to-ważne-dla-llm\" aria-hidden=\"true\" class=\"anchor\" id=\"dlaczego-to-ważne-dla-llm\"></a>Dlaczego to ważne dla LLM?</h3>\n<p>No właśnie - <strong>LLM dostaje tekst, nie dźwięk</strong>. Nigdy nie usłyszał wymowy. A mimo to...</p>\n<ul>\n<li>wie, że &quot;kot&quot; i &quot;lot&quot; rymują się (bo widział to w tekstach)</li>\n<li>radzi sobie z kalamburami i grami słowymi opartymi na dźwiękach</li>\n<li>potrafi pisać wiersze z rymami</li>\n</ul>\n<p>Czyli model jakoś <strong>przyswaja informacje fonologiczne</strong> z samych danych tekstowych. Trochę jakbyś nigdy nie widział oceanu, ale przeczytał o nim tyle książek, że potrafisz go opisać ;-)</p>\n<p>No ale oczywiście są ograniczenia. LLM tekstowy nie rozróżnia homofonów (słów, które brzmią tak samo, ale znaczą co innego) na podstawie fonetyki - radzi sobie z nimi czysto na poziomie semantycznym (o czym za chwilę).</p>\n<p>I tu ciekawostka: modele typu <strong>Whisper</strong> (speech-to-text od OpenAI) już łączą fonetykę z tekstem. Ale to temat na osobny wpis w tej serii ;-)</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Paradoks:</strong> LLM nigdy nie słyszał żadnego dźwięku, ale z danych treningowych &quot;wie&quot; o rymach, grach słownych i wzorcach brzmieniowych. To trochę jak osoba głucha od urodzenia, która potrafi pisać wiersze z rymami - bo przeczytała ich miliony.</p>\n</div>\n<hr />\n<h2><a href=\"#morfologia---jak-słowa-są-budowane-z-klocków\" aria-hidden=\"true\" class=\"anchor\" id=\"morfologia---jak-słowa-są-budowane-z-klocków\"></a>Morfologia - jak słowa są budowane z klocków</h2>\n<h3><a href=\"#czym-jest-morfologia\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-morfologia\"></a>Czym jest morfologia?</h3>\n<p><strong>Morfologia</strong> bada budowę słów - jak są one składane z mniejszych, sensownych kawałków zwanych <strong>morfemami</strong>.</p>\n<p>Morfem to <strong>najmniejsza jednostka języka, która niesie ze sobą znaczenie</strong>. Nie da się jej podzielić na coś jeszcze mniejszego, co miałoby znaczenie.</p>\n<p>Przykład z angielskiego, często używany w podręcznikach:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">unhappiness = un + happy + ness\n              ↑       ↑       ↑\n           „nie&quot;   „szczęśliwy&quot;  rzeczownik\n</code></pre>\n<p>Albo po polsku:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">nieszczęśliwy = nie + szczęśliw + y\n                  ↑        ↑       ↑\n              „nie&quot;  „szczęście&quot;   rodzaj męski\n</code></pre>\n<p>Albo jeszcze bardziej:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">nieprzystojny = nie + przy + stoj + ny\n</code></pre>\n<p>Każdy z tych kawałków ma swoje znaczenie. To są właśnie morfemy.</p>\n<h3><a href=\"#dwa-rodzaje-morfemów\" aria-hidden=\"true\" class=\"anchor\" id=\"dwa-rodzaje-morfemów\"></a>Dwa rodzaje morfemów</h3>\n<table>\n<thead>\n<tr>\n<th>Typ</th>\n<th>Opis</th>\n<th>Przykłady</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Wolne</strong></td>\n<td>Mogą stać samodzielnie jako słowo</td>\n<td>kot, dom, biegnie</td>\n</tr>\n<tr>\n<td><strong>Związane</strong></td>\n<td>Muszą być dołączone do innego morfemu</td>\n<td>nie-, -ek, -owie, -ować</td>\n</tr>\n</tbody>\n</table>\n<p>A wśród morfemów związanych mamy <strong>afiksy</strong>:</p>\n<ul>\n<li><strong>Prefiksy</strong> (przed rdzeniem): <em>nie-</em>, <em>prze-</em>, <em>od-</em>, <em>naj-</em></li>\n<li><strong>Sufiksy</strong> (za rdzeniem): <em>-ek</em>, <em>-owie</em>, <em>-ować</em>, <em>-ny</em></li>\n<li><strong>Infiksy</strong> (wewnątrz rdzenia): w polskim praktycznie nie występują, ale w innych językach tak! Np. w tagalskim (Filipiny): <em>sulat</em> (pisać) -&gt; <em>s<strong>um</strong>ulat</em> (napisać) - morfem <em>-um-</em> jest wstawiony w środek rdzenia. Albo pomyślcie o angielskim <em>abso-bloody-lutely</em> ;-)</li>\n</ul>\n<h3><a href=\"#fleksja-vs-słowotwórstwo\" aria-hidden=\"true\" class=\"anchor\" id=\"fleksja-vs-słowotwórstwo\"></a>Fleksja vs słowotwórstwo</h3>\n<p>To ważne rozróżnienie:</p>\n<p><strong>Fleksja</strong> (odmiana) - zmienia formę gramatyczną, ale nie tworzy nowego słowa:</p>\n<ul>\n<li>dom -&gt; dom<strong>y</strong> (liczba mnoga)</li>\n<li>biegnie -&gt; bieg<strong>ł</strong> (czas przeszły)</li>\n</ul>\n<p><strong>Słowotwórstwo</strong> (derywacja) - tworzy nowe słowo, często zmieniając część mowy:</p>\n<ul>\n<li>uczyć -&gt; <strong>uczeń</strong> (czasownik -&gt; rzeczownik)</li>\n<li>dom -&gt; <strong>domowy</strong> (rzeczownik -&gt; przymiotnik)</li>\n</ul>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Polska morfologia to koszmar dla LLM!</strong> Język polski jest silnie fleksyjny - mamy 7 przypadków, 2 liczby, 3 rodzaje, aspekty czasowników, i mnóstwo wyjątków. Dla porównania: w angielskim odmiana rzeczownika to max. dodanie <em>-s</em>. W polskim? &quot;Dom, domu, domowi, dom, domem, domu, domie, domy, domów...&quot; i tak dalej :D</p>\n</div>\n<h3><a href=\"#jak-llm-radzi-sobie-z-morfologią\" aria-hidden=\"true\" class=\"anchor\" id=\"jak-llm-radzi-sobie-z-morfologią\"></a>Jak LLM radzi sobie z morfologią?</h3>\n<p>Tu jest ciekawostka. LLM nie &quot;wie&quot; czym są morfemy. Używa <strong>tokenizacji BPE</strong> (Byte Pair Encoding), która dzieli tekst na tokeny - ale tokeny to <strong>nie to samo</strong> co morfemy.</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph LR\n    subgraph &quot;Lingwista widzi:&quot;\n        A[&quot;nie-szczęśliw-y&quot;] --&gt; A1[&quot;nie + szczęśliw + y&quot;]\n    end\n    subgraph &quot;GPT-4o widzi (tokenizacja BPE):&quot;\n        B[&quot;nie-szczęśliw-y&quot;] --&gt; B1[&quot;nie + -s + zcz + ę + śli + wy&quot;]\n    end\n    \n    style A1 fill:#99ff99,color:#000\n    style B1 fill:#ff9999,color:#000\n</code></pre>\n<p>Tokenizator BPE dzieli tekst na podstawie <strong>częstotliwości występowania</strong> w danych treningowych, a nie na podstawie struktury językowej. Czasem to się pokrywa z morfemami, a czasem nie.</p>\n<p>To znaczy, że model nie uczy się morfologii &quot;od strony&quot; - on uczy się jej pośrednio, przez statystykę. I jakoś mu to działa ;-)</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Zabawa dla was:</strong> Potraficie rozbić te słowa na morfemy?</p>\n<ul>\n<li><em>nieprawdopodobny</em></li>\n<li><em>najpiękniejszy</em></li>\n<li><em>przeczytaliśmy</em></li>\n</ul>\n</div>\n<hr />\n<h2><a href=\"#składnia---zasady-gry-w-układanie-zdań\" aria-hidden=\"true\" class=\"anchor\" id=\"składnia---zasady-gry-w-układanie-zdań\"></a>Składnia - zasady gry w układanie zdań</h2>\n<h3><a href=\"#czym-jest-składnia\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-składnia\"></a>Czym jest składnia?</h3>\n<p><strong>Składnia</strong> to zbiór reguł, które określają, jak słowa są łączone w zdania. To dzięki składni wiemy, że &quot;Kot siedzi na macie&quot; to poprawne zdanie, a &quot;Kot macie na siedzi&quot; to bełkot.</p>\n<p>Proste? No... bardziej albo mniej ;-)</p>\n<h3><a href=\"#szyk-zdania\" aria-hidden=\"true\" class=\"anchor\" id=\"szyk-zdania\"></a>Szyk zdania</h3>\n<p>W różnych językach obowiązują różne zasady porządku słów:</p>\n<table>\n<thead>\n<tr>\n<th>Język</th>\n<th>Podstawowy szyk</th>\n<th>Przykład</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Angielski</td>\n<td>SVO (Subject-Verb-Object)</td>\n<td>The cat sits on the mat</td>\n</tr>\n<tr>\n<td>Polski</td>\n<td>&quot;Elastyczny&quot; SVO, ale...</td>\n<td>Kot siedzi na macie / Na macie siedzi kot / Siedzi kot na macie</td>\n</tr>\n<tr>\n<td>Japoński</td>\n<td>SOV</td>\n<td>猫がマットの上に座っている</td>\n</tr>\n<tr>\n<td>Łacina</td>\n<td>Wolny (bo końcówki mówią wszystko)</td>\n<td>Felix in tapete sedet</td>\n</tr>\n</tbody>\n</table>\n<p>Polski jest fajny, bo mamy dość dużą swobodę w szyku zdania. O ile w angielskim &quot;On the mat sits the cat&quot; brzmi poetycko albo nienaturalnie, o tyle u nas to normalne zdanie ;-)</p>\n<h3><a href=\"#drzewo-składniowe\" aria-hidden=\"true\" class=\"anchor\" id=\"drzewo-składniowe\"></a>Drzewo składniowe</h3>\n<p>Zdania mają strukturę hierarchiczną - słowa grupują się w frazy, a frazy w większe frazy. Można to narysować jako drzewo:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph TD\n    S[&quot;S (zdanie)&quot;] --&gt; NP1[&quot;NP (fraza rzeczownikowa)&quot;]\n    S --&gt; VP[&quot;VP (fraza czasownikowa)&quot;]\n    NP1 --&gt; N1[&quot;Kot&quot;]\n    VP --&gt; V[&quot;siedzi&quot;]\n    VP --&gt; PP[&quot;PP (fraza przyimkowa)&quot;]\n    PP --&gt; P[&quot;na&quot;]\n    PP --&gt; NP2[&quot;NP (fraza rzeczownikowa)&quot;]\n    NP2 --&gt; N2[&quot;macie&quot;]\n    \n    style S fill:#9999ff,color:#fff\n    style NP1 fill:#99ff99,color:#000\n    style VP fill:#ffcc99,color:#000\n    style PP fill:#ff9999,color:#000\n</code></pre>\n<p>To jest proste zdanie &quot;Kot siedzi na macie&quot; i już ma swoją hierarchię! A wyobraźcie sobie zdania z podrzędnymi, imiesłowami, okolicznikami...</p>\n<h3><a href=\"#bezbarwne-zielone-idee-śpią-zaciekawione\" aria-hidden=\"true\" class=\"anchor\" id=\"bezbarwne-zielone-idee-śpią-zaciekawione\"></a>&quot;Bezbarwne zielone idee śpią zaciekawione&quot;</h3>\n<p>To słynny przykład Noama Chomsky'ego (w oryginale: <em>&quot;Colorless green ideas sleep furiously&quot;</em>).</p>\n<p>Zdanie jest <strong>składniowo poprawne</strong> - ma podmiot, orzeczenie, prawidłową strukturę. Ale <strong>semantycznie</strong> to kompletny absurd - idee nie mogą być zielone ani spać.</p>\n<p>I to jest właśnie dowód na to, że <strong>składnia i semantyka to dwa różne poziomy</strong>. Można mieć perfekt składnię i zero sensu ;-)</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p><strong>Składnia to supermoc LLM.</strong> Model uczy się przewidywać następny token na podstawie ogromnej ilości danych tekstowych. W trakcie tego procesu przyswaja wzorce składniowe - wie, że po &quot;Kot siedzi na...&quot; spodziewamy się rzeczownika, a po &quot;Szybko...&quot; czasownika. To jest fundament tego, dlaczego LLM generuje poprawne gramatycznie zdania.</p>\n</div>\n<h3><a href=\"#quiz-poprawne-czy-nie\" aria-hidden=\"true\" class=\"anchor\" id=\"quiz-poprawne-czy-nie\"></a>Quiz: poprawne czy nie?</h3>\n<p>Sprawdźcie się - które zdania są składniowo poprawne?<sup class=\"footnote-ref\"><a href=\"#fn-1\" id=\"fnref-1\" data-footnote-ref>1</a></sup></p>\n<ol>\n<li>Pies szczeka na listonosza.</li>\n<li>Na listonosza szczeka pies.</li>\n<li>Szczeka pies na listonosza.</li>\n<li>Pies listonosza na szczeka.</li>\n<li>Czy pies szczeka na listonosza?</li>\n</ol>\n<hr />\n<h2><a href=\"#semantyka---co-to-w-ogóle-znaczy-znaczenie\" aria-hidden=\"true\" class=\"anchor\" id=\"semantyka---co-to-w-ogóle-znaczy-znaczenie\"></a>Semantyka - co to w ogóle znaczy, &quot;znaczenie&quot;?</h2>\n<h3><a href=\"#czym-jest-semantyka\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-semantyka\"></a>Czym jest semantyka?</h3>\n<p>Jeśli składnia pyta &quot;jak to jest zbudowane?&quot;, to semantyka pyta: <strong>&quot;co to znaczy?&quot;</strong></p>\n<p>Semantyka bada znaczenie słów, fraz i zdań. I od razu się okazuje, że to wcale nie jest takie proste.</p>\n<h3><a href=\"#wieloznaczność---jedno-słowo-wiele-znaczeń\" aria-hidden=\"true\" class=\"anchor\" id=\"wieloznaczność---jedno-słowo-wiele-znaczeń\"></a>Wieloznaczność - jedno słowo, wiele znaczeń</h3>\n<p>Klasyczny polski przykład: <strong>zamek</strong></p>\n<ul>\n<li>Zamek - budowla (&quot;Zamek Królewski w Warszawie&quot;)</li>\n<li>Zamek - do drzwi (&quot;Zepsuł mi się zamek w drzwiach&quot;)</li>\n<li>Zamek - do ubrania (&quot;Rozpiął zamek w kurtce&quot;)</li>\n<li>Zamek - w karabinie (&quot;Zamek w karabinie się zaciął&quot;)</li>\n</ul>\n<p>To samo słowo, cztery zupełnie różne znaczenia. Jak LLM wie, o który chodzi? <strong>Z kontekstu.</strong> I to jest właśnie to, co robi dobrze - bo widział miliony zdań, gdzie &quot;zamek&quot; występował w różnych kontekstach.</p>\n<p>Albo inny klasyk - wieloznaczność w jednym zdaniu:</p>\n<blockquote>\n<p>&quot;Moja droga, ta droga jest bardzo droga.&quot;</p>\n</blockquote>\n<p>Trzy razy to samo słowo, trzy różne znaczenia: <strong>droga</strong> (zwrócenie się do kogoś), <strong>droga</strong> (ulica/szlak), <strong>droga</strong> (tania -&gt; droga, przymiotnik). Kontekst zmienia wszystko ;-)</p>\n<h3><a href=\"#synonimy---czy-duży-wielki-i-ogromny-to-to-samo\" aria-hidden=\"true\" class=\"anchor\" id=\"synonimy---czy-duży-wielki-i-ogromny-to-to-samo\"></a>Synonimy - czy &quot;duży&quot;, &quot;wielki&quot; i &quot;ogromny&quot; to to samo?</h3>\n<p>Prawie. Ale nie do końca:</p>\n<ul>\n<li><strong>Duży dom</strong> - normalny, po prostu spory</li>\n<li><strong>Wielki dom</strong> - brzmi bardziej oficjalnie/poetycko</li>\n<li><strong>Ogromny dom</strong> - no, to już jest rezydencja :D</li>\n</ul>\n<p>Semantyka bada te subtelne różnice - zarówno <strong>denotację</strong> (dosłowne znaczenie), jak i <strong>konotację</strong> (skojarzenia, nacechowanie emocjonalne).</p>\n<h3><a href=\"#jak-llm-rozumie-znaczenie\" aria-hidden=\"true\" class=\"anchor\" id=\"jak-llm-rozumie-znaczenie\"></a>Jak LLM &quot;rozumie&quot; znaczenie?</h3>\n<p>Tu wchodzi koncept <strong>word embeddings</strong> (osadzeń słów). W dużym uproszczeniu: każde słowo jest reprezentowane jako wektor - ciąg liczb - w wielowymiarowej przestrzeni. Słowa o podobnym znaczeniu są &quot;blisko&quot; siebie w tej przestrzeni.</p>\n<p>Słynny przykład, który prawdopodobnie widzieliście:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">wektor(&quot;król&quot;) - wektor(&quot;mężczyzna&quot;) + wektor(&quot;kobieta&quot;) ≈ wektor(&quot;królowa&quot;)\n</code></pre>\n<p>Czyli: model &quot;wie&quot;, że relacja między &quot;król&quot; a &quot;mężczyzna&quot; jest analogiczna do relacji między &quot;królowa&quot; a &quot;kobieta&quot;. I to z samych danych, nikt go tego nie uczył!</p>\n<p>Możemy to nawet pokazać w kodzie. Oto prosty przykład z biblioteką <code>gensim</code> w Pythonie:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-python\"><a-k>from</a-k> <a-v>gensim</a-v>.<a-v>downloader</a-v> <a-k>import</a-k> <a-v>load</a-v>\n\n<a-v>model</a-v> <a-o>=</a-o> <a-f>load</a-f>(<a-s>&quot;glove-wiki-gigaword-50&quot;</a-s>)\n\n<a-v>result</a-v> <a-o>=</a-o> <a-v>model</a-v>.<a-pr>most_similar</a-pr>(\n    <a-v>positive</a-v><a-o>=</a-o>[<a-s>&quot;king&quot;</a-s>, <a-s>&quot;woman&quot;</a-s>],\n    <a-v>negative</a-v><a-o>=</a-o>[<a-s>&quot;man&quot;</a-s>],\n    <a-v>topn</a-v><a-o>=</a-o><a-n>3</a-n>\n)\n\n<a-f>print</a-f>(<a-v>result</a-v>)\n<a-c># [(&#39;queen&#39;, 0.85), ...]  -- na pierwszym miejscu: queen!</a-c></code></pre>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Jeśli chcecie to przetestować sami:</strong> zainstalujcie <code>gensim</code> (<code>pip install gensim</code>) i odpalcie powyższy kod. Oczywiście potrzebujecie trochę RAM-u - model GloVe nie jest mały. Ale efekt jest naprawdę satysfakcjonujący ;-)</p>\n</div>\n<h3><a href=\"#kompozycyjność\" aria-hidden=\"true\" class=\"anchor\" id=\"kompozycyjność\"></a>Kompozycyjność</h3>\n<p>Jedno z najważniejszych pojęć w semantyce: <strong>znaczenie zdania jest wynikiem znaczeń poszczególnych słów + zasad ich łączenia.</strong></p>\n<p>Czyli: &quot;Czerwony kot siedzi na macie&quot; = [czerwony] + [kot] + [siedzi] + [na] + [macie] + zasady składniowe.</p>\n<p>Brzmi banalne, ale to potężna zasada. Dzięki niej potrafimy zrozumieć nieskończoną liczbę zdań, nawet takich, których nigdy wcześniej nie słyszeliśmy. I dzięki niej LLM potrafi generować nowe, niespotykane zdania, które i tak mają sens.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Ale uwaga:</strong> &quot;Zrozumiałem, że nie zrozumiałeś, że to nie było zrozumiałe.&quot; - każde słowo jest proste, ale zdanie jako całość wymaga przeanalizowania warstwy po warstwie. Kompozycyjność to potężne narzędzie, ale ma swoje granice.</p>\n</div>\n<hr />\n<h2><a href=\"#pragmatyka---co-naprawdę-miałem-na-myśli\" aria-hidden=\"true\" class=\"anchor\" id=\"pragmatyka---co-naprawdę-miałem-na-myśli\"></a>Pragmatyka - co naprawdę miałem na myśli</h2>\n<h3><a href=\"#czym-jest-pragmatyka\" aria-hidden=\"true\" class=\"anchor\" id=\"czym-jest-pragmatyka\"></a>Czym jest pragmatyka?</h3>\n<p>I tak dochodzimy do najciekawszej (według mnie) warstwy. <strong>Pragmatyka</strong> bada to, <strong>jak kontekst wpływa na znaczenie wypowiedzi</strong> - co <em>naprawdę</em> chcemy powiedzieć, często mówiąc coś zupełnie innego.</p>\n<p>Jeśli semantyka pyta &quot;co to znaczy?&quot;, pragmatyka pyta: <strong>&quot;co autor miał na myśli w tej konkretnej sytuacji?&quot;</strong></p>\n<h3><a href=\"#scenki-z-życia-wzięte\" aria-hidden=\"true\" class=\"anchor\" id=\"scenki-z-życia-wzięte\"></a>Scenki z życia wzięte</h3>\n<p><strong>Scenka 1: &quot;Zimno tu.&quot;</strong></p>\n<p>Semantycznie: informacja o temperaturze w pomieszczeniu.<br />\nPragmatycznie: <strong>&quot;Zamknij okno!&quot;</strong> albo <strong>&quot;Zwiększ ogrzewanie!&quot;</strong> albo <strong>&quot;Daj mi koc.&quot;</strong></p>\n<p>Każdy z was zrozumie, że kiedy ktoś mówi &quot;Zimno tu&quot; w momencie, gdy stoi przy otwartym oknie - nie pytasz o stopnie Celsjusza, tylko zamykasz okno.</p>\n<p><strong>Scenka 2: &quot;Mógłbyś podać sól?&quot;</strong></p>\n<p>Semantycznie: pytanie o twoją <em>zdolność</em> podania soli.<br />\nPragmatycznie: <strong>prośba o podanie soli.</strong></p>\n<p>Odpowiedź &quot;Tak, mógłbym&quot; (i nic więcej) jest semantycznie poprawna, ale pragmatycznie... no, jesteś trochę niemiły ;-)</p>\n<p><strong>Scenka 3: Ironia</strong></p>\n<blockquote>\n<p>&quot;No gratulacje, znowu to zepsułeś.&quot;</p>\n</blockquote>\n<p>Semantycznie: gratulacje.<br />\nPragmatycznie: <strong>ironia, krytyka, rozczarowanie.</strong></p>\n<p>Czy LLM łapie ironię? Czasem tak, czasem nie. To wciąż otwarty problem badawczy.</p>\n<h3><a href=\"#teoria-aktów-mowy\" aria-hidden=\"true\" class=\"anchor\" id=\"teoria-aktów-mowy\"></a>Teoria aktów mowy</h3>\n<p>Filozof J.L. Austin wymyślił coś genialnego: <strong>wypowiedzi nie tylko opisują rzeczywistość, ale też coś <em>robią</em>.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Typ aktu mowy</th>\n<th>Opis</th>\n<th>Przykład</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Lokucyjny</strong></td>\n<td>Samo wypowiedzenie</td>\n<td>Mówisz &quot;Zamykam okno&quot;</td>\n</tr>\n<tr>\n<td><strong>Illokucyjny</strong></td>\n<td>Intencja wypowiedzi</td>\n<td>Obiecanie, że zamkniesz okno</td>\n</tr>\n<tr>\n<td><strong>Perlokucyjny</strong></td>\n<td>Efekt na odbiorcę</td>\n<td>Słuchacz czuje ulgę</td>\n</tr>\n</tbody>\n</table>\n<p>Inne przykłady aktów mowy:</p>\n<ul>\n<li><strong>Obietnica:</strong> &quot;Obiecuję, że to zrobię.&quot; - mówiąc to, <em>wykonujesz</em> akt obietnicy</li>\n<li><strong>Oświadczenie:</strong> &quot;Oświadczam was mężem i żoną.&quot; - ktoś musi mieć do tego władzę, ale działa!</li>\n<li><strong>Przeprosiny:</strong> &quot;Przepraszam.&quot; - to nie jest opis stanu rzeczy, to <em>jest</em> akt przeprosin</li>\n</ul>\n<h3><a href=\"#implikatury-gricea\" aria-hidden=\"true\" class=\"anchor\" id=\"implikatury-gricea\"></a>Implikatury Grice'a</h3>\n<p>Paul Grice, inny filozof języka, zauważył, że w rozmowie obowiązuje <strong>zasada współpracy</strong> - mówimy rzeczy, które są istotne, prawdziwe, jasne i na temat.</p>\n<p>Kiedy ktoś tę zasadę łamie, szukamy <strong>implikatury</strong> - ukrytego znaczenia.</p>\n<p>Przykład:</p>\n<blockquote>\n<p>A: &quot;Idziesz na imprezę?&quot;<br />\nB: &quot;Mam egzamin jutro.&quot;</p>\n</blockquote>\n<p>B nie odpowiedział &quot;tak&quot; ani &quot;nie&quot;. Ale z kontekstu A rozumie: <strong>nie idę, bo muszę się uczyć.</strong> To jest implikatura konwersacyjna.</p>\n<h3><a href=\"#jak-llm-radzi-sobie-z-pragmatyką\" aria-hidden=\"true\" class=\"anchor\" id=\"jak-llm-radzi-sobie-z-pragmatyką\"></a>Jak LLM radzi sobie z pragmatyką?</h3>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>To jest najtrudniejsza warstwa dla LLM.</strong> I to nie jest tylko moje zdanie - badacze z całego świata pracują nad benchmarkami testującymi pragmatykę modeli językowych.</p>\n</div>\n<p>Problemy:</p>\n<ul>\n<li><strong>Ironia i sarkazm</strong> - model często bierze dosłownie</li>\n<li><strong>Implikatury</strong> - nie zawsze &quot;wyłapuje&quot; to, co jest między wierszami</li>\n<li><strong>Akt mowy</strong> - może nie rozpoznać, czy ktoś obiecuje, pyta czy grozi</li>\n<li><strong>Kontekst kulturowy</strong> - co jest grzeczne w jednej kulturze, jest niegrzeczne w innej</li>\n</ul>\n<p>Ale z drugiej strony - GPT-4 i nowsze modele radzą sobie coraz lepiej. Dlaczego? Bo <strong>ogromna ilość danych treningowych zawiera pragmatykę w praktyce</strong> - dialogi z filmów, książek, forów internetowych. Model &quot;widział&quot; miliony przykładów ironii, grzeczności, próśb.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Eksperyment dla was:</strong> Otwórzcie ChatGPT (albo Claude, albo co tam macie pod ręką) i przeprowadźcie ten krótki test:</p>\n<p>Napiszcie modelowi:</p>\n<p><em>&quot;Właśnie strzeliłem sobie w palca gwoździem.&quot;</em></p>\n<p>A potem od nowej rozmowy:</p>\n<p><em>&quot;No gratulacje, znowu strzeliłem sobie w palca gwoździem!&quot;</em></p>\n<p>Zobaczcie, czy model zauważy, że w drugim przypadku &quot;gratulacje&quot; to ironia, czy jednak zacznie wzywać pogotowie?</p>\n</div>\n<hr />\n<h2><a href=\"#podsumowanie---cała-cebulka-w-jednym-miejscu\" aria-hidden=\"true\" class=\"anchor\" id=\"podsumowanie---cała-cebulka-w-jednym-miejscu\"></a>Podsumowanie - cała cebulka w jednym miejscu</h2>\n<p>Oto nasze pięć warstw, w pigułce:</p>\n<table>\n<thead>\n<tr>\n<th>Warstwa</th>\n<th>Co bada</th>\n<th>Przykład</th>\n<th>Jak radzi sobie LLM</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Fonetyka i fonologia</strong></td>\n<td>Dźwięki i system dźwięków</td>\n<td>/kot/ vs /lot/</td>\n<td>Nie słyszy, ale &quot;wie&quot; z danych tekstowych</td>\n</tr>\n<tr>\n<td><strong>Morfologia</strong></td>\n<td>Budowa słów z morfemów</td>\n<td>nie-szczęśliw-y</td>\n<td>Tokenizacja BPE ≠ morfemy, ale jakoś działa</td>\n</tr>\n<tr>\n<td><strong>Składnia</strong></td>\n<td>Porządek słów w zdaniu</td>\n<td>Kot siedzi na macie</td>\n<td>Supermoc modelu - świetnie radzi sobie z gramatyką</td>\n</tr>\n<tr>\n<td><strong>Semantyka</strong></td>\n<td>Znaczenie słów i zdań</td>\n<td>&quot;zamek&quot; - który?</td>\n<td>Word embeddings + kontekst</td>\n</tr>\n<tr>\n<td><strong>Pragmatyka</strong></td>\n<td>Znaczenie w kontekście</td>\n<td>&quot;Zimno tu&quot; = zamknij okno</td>\n<td>Najtrudniejsza warstwa, wciąż otwarty problem</td>\n</tr>\n</tbody>\n</table>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-mermaid\">graph LR\n    subgraph &quot;Jak LLM przetwarza język&quot;\n        F[&quot;Fonetyka&lt;br/&gt;❌ nie słyszy&quot;] --&gt; M[&quot;Morfologia&lt;br/&gt;⚠️ przez pryzmat tokenów&quot;]\n        M --&gt; S[&quot;Składnia&lt;br/&gt;✅ bardzo dobrze&quot;]\n        S --&gt; Sem[&quot;Semantyka&lt;br/&gt;✅ dobrze, z wyjątkami&quot;]\n        Sem --&gt; P[&quot;Pragmatyka&lt;br/&gt;❓ najtrudniejsza&quot;]\n    end\n</code></pre>\n<h3><a href=\"#co-dalej\" aria-hidden=\"true\" class=\"anchor\" id=\"co-dalej\"></a>Co dalej?</h3>\n<p>W kolejnym wpisie zmieniamy perspektywę - zamiast patrzeć na warstwy języka, patrzymy na samą naturę znaków i znaczenia:</p>\n<ul>\n<li><strong><a href=\"semiotyka-a-llm.html\">Semiotyka - dlaczego LLM nie &quot;myśli&quot;, ale jednak coś znaczy</a></strong></li>\n</ul>\n<!--W kolejnych wpisach tej serii wejdziemy głębiej w każdą z tych warstw:\n\n- **Fonetyka i LLM** - gdzie kończy się tekst, a zaczyna mowa? Jak modele speech (Whisper, TTS) łączą dźwięk z językiem?\n- **Morfologia i składnia w LLM** - czy model naprawdę rozpoznaje strukturę, czy tylko statystykę?\n- **Semantyka w LLM** - znaczenie, reprezentacja wektorowa i granice \"rozumienia\"\n- **Pragmatyka w LLM** - kontekst, implikatury i dlaczego model czasem \"nie ogarnia\"\n- **Reprezentacje lingwistyczne w LLM** - czy wewnątrz modelu można znaleźć \"neurony\" odpowiadające za konkretne cechy języka?-->\n<hr />\n<p>Jeśli dotarliście aż tu - <strong>dzięki!</strong> ;-) Naprawdę doceniam, że poświęciliście czas na przeczytanie tego potworka.</p>\n<p>Mam nadzieję, że choć trochę przybliżyłem wam temat. Jeśli coś jest niejasne - <strong>napiszcie w komentarzach</strong>, postaram się wyjaśnić. A jeśli macie lepsze przykłady (bo na pewno macie!) - tym bardziej dajcie znać.</p>\n<p>Która warstwa was najbardziej zaskoczyła? Która jest waszym zdaniem najciekawsza w kontekście AI?</p>\n<p>Do następnego wpisu!</p>\n<hr />\n<p><strong>Źródła i ciekawe linki:</strong></p>\n<p>Jeśli chcecie wejść głębiej, oto materiały, z których korzystałem przy pisaniu tego wpisu:</p>\n<ul>\n<li><a href=\"https://fiveable.me/introduction-study-language/unit-1/branches-linguistics/study-guide/Bbhz9eKIobWh0O9F\">Branches of linguistics - Fiveable</a> - świetny przegląd działów lingwistyki z przykładami</li>\n<li><a href=\"https://fiveable.me/lists/levels-of-linguistic-analysis\">Levels of Linguistic Analysis - Fiveable</a> - synteza poziomów analizy językowej</li>\n<li><a href=\"https://relay.libguides.com/science-of-teaching-reading-resource-guide/five-language-domains\">The Five Language Domains - Relay Graduate School</a> - proste, dydaktyczne ujęcie pięciu domen języka</li>\n<li><a href=\"https://www.zenml.io/llmops-database/linguistic-informed-approach-to-production-llm-systems\">Linguistic-Informed Approach to Production LLM Systems - ZenML</a> - pomost między lingwistyką a praktyką LLM</li>\n<li><a href=\"https://www.stat.lmu.de/soda/en/research/research-projects/evaluating-large-language-models-on-linguistic-competence/\">Evaluating Large Language Models on Linguistic Competence - LMU Munich</a> - jak bada się kompetencję językową modeli</li>\n<li><a href=\"https://arxiv.org/abs/2502.12378\">Pragmatics in the Era of LLMs: A Survey - arXiv</a> - przegląd badań nad pragmatyką w LLM</li>\n</ul>\n<section class=\"footnotes\" data-footnotes>\n<ol>\n<li id=\"fn-1\">\n<p>Odpowiedzi do quizu: zdania 1-3 i 5 są poprawne (różnią się szykiem, ale polski na to pozwala; 5 to pytanie z słówkiem &quot;czy&quot;). Zdanie 4 (&quot;Pies listonosza na szczeka&quot;) jest niepoprawne składniowo - szyk jest tak zaburzony, że nie spełnia zasad polskiej gramatyki. <a href=\"#fnref-1\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"1\" aria-label=\"Back to reference 1\">↩</a></p>\n</li>\n</ol>\n</section>\n",
      "summary": "",
      "date_published": "2026-06-06T00:00:00-00:00",
      "image": "",
      "authors": [
        {
          "name": "Błażej Gruszka",
          "url": "https://www.linkedin.com/in/blazejgruszka/",
          "avatar": "https://github.com/bgruszka.png"
        }
      ],
      "tags": [
        "llm",
        "ai",
        "jezykoznawstwo",
        "nlp",
        "linguistics",
        "language-models",
        "chatgpt"
      ],
      "language": "pl"
    }
  ]
}