{
  "version": "https://jsonfeed.org/version/1",
  "title": "gruszka.dev",
  "home_page_url": "https://gruszka.dev/en",
  "feed_url": "https://gruszka.dev/en/tag-linguistics.json",
  "description": "Things I would like to share",
  "items": [
    {
      "id": "https://gruszka.dev/en/semiotics-and-llm.html",
      "url": "https://gruszka.dev/en/semiotics-and-llm.html",
      "title": "Semiotics - why an LLM doesn't \"think\", yet still means something",
      "content_html": "<p>In the previous post we built our linguistic onion - five layers, from phonetics to pragmatics, and we saw how an LLM handles each of them. But after writing that post, one big &quot;but...&quot; lingered in my head.</p>\n<p>Because - <strong>does an LLM even &quot;understand&quot; what it generates?</strong> Does it have some internal model of the world? Does it think?</p>\n<p>And then I stumbled into semiotics. And it turns out that semiotics gives us a brilliant frame for thinking about LLMs - not as an artificial mind, but as a <strong>machine of signs</strong>. And suddenly everything starts to make sense. Or at least it makes more sense than before ;-)</p>\n<p>This is the <strong>second post in the &quot;Understanding LLM&quot; series</strong>. Today we shift perspective: instead of looking at the <em>layers of language</em>, we look at the very nature of what <strong>signs</strong> are and how <strong>meaning</strong> comes into being at all. And why that is key to understanding what an LLM is - and what it is not.</p>\n<hr />\n<h2><a href=\"#what-is-semiotics\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-semiotics\"></a>What is semiotics?</h2>\n<p>Before we get to LLMs, we need to nail down the basics. Because &quot;semiotics&quot; is one of those words that sounds smart, but what does it actually mean?</p>\n<p><strong>Semiotics</strong> is the study of signs and of how signs create meaning. That's it. Doesn't sound so scary anymore, right? ;-)</p>\n<p>And a &quot;sign&quot; in semiotics is anything that <em>means something</em>. Something that stands for something else. Simple examples:</p>\n<ul>\n<li>🔴 A red light at an intersection = <strong>STOP</strong></li>\n<li>😂 A tears-of-joy emoji = <strong>I'm laughing</strong> (or: <em>I'm dying of laughter</em>)</li>\n<li>💨 The smell of smoke = <strong>a fire is somewhere nearby</strong></li>\n<li>🐾 Paw prints in the snow = <strong>a dog passed by here</strong> (or a wolf, or... better not think about it :D)</li>\n</ul>\n<p>Each of these signs <em>represents something else</em>. And that &quot;representing&quot; is exactly what semiotics studies.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Experiment:</strong> Look around you - how many signs do you see right now? At this moment I see: a WiFi icon (I have internet), a notification on my phone (someone texted), a logo on my coffee mug (a brand). Three signs and I didn't even get up from my chair.</p>\n</div>\n<h3><a href=\"#semiotics-vs-semantics\" aria-hidden=\"true\" class=\"anchor\" id=\"semiotics-vs-semantics\"></a>Semiotics vs semantics</h3>\n<p>In the previous post we had semantics - the study of the meaning of words and sentences. So how does semiotics differ?</p>\n<p>In short:</p>\n<table>\n<thead>\n<tr>\n<th></th>\n<th>What it asks</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Semantics</strong></td>\n<td>&quot;What does this mean?&quot;</td>\n<td>What does the word &quot;zamek&quot; mean?</td>\n</tr>\n<tr>\n<td><strong>Semiotics</strong></td>\n<td>&quot;How does this sign even work?&quot;</td>\n<td>How is it that a red light MEANS &quot;stop&quot;?</td>\n</tr>\n</tbody>\n</table>\n<p>Semantics asks about specific meanings. Semiotics asks about the <strong>mechanism of meaning</strong> - how it is that anything means anything at all.</p>\n<p>And that is exactly why semiotics is so important for understanding LLMs. Because the question is not &quot;what does an LLM mean&quot;, but &quot;<strong>how an LLM operates on signs</strong>&quot;.</p>\n<hr />\n<h2><a href=\"#two-giants-saussure-vs-peirce\" aria-hidden=\"true\" class=\"anchor\" id=\"two-giants-saussure-vs-peirce\"></a>Two giants: Saussure vs Peirce</h2>\n<p>In semiotics there are two main traditions you need to know. Two approaches, two ways of thinking about signs. And note - both are important for understanding LLMs, but each from a different angle.</p>\n<h3><a href=\"#ferdinand-de-saussure-the-sign-as-a-pair\" aria-hidden=\"true\" class=\"anchor\" id=\"ferdinand-de-saussure-the-sign-as-a-pair\"></a>Ferdinand de Saussure: the sign as a pair</h3>\n<p>Saussure (a Swiss linguist, who lived at the turn of the 19th and 20th centuries) said: <strong>a sign consists of two parts</strong>.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"436.25037\" height=\"260\" viewBox=\"0 0 436.25037 260\"><rect x=\"0\" y=\"0\" width=\"436.25037\" height=\"260\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 163.170,105.784 L 173.435,105.784 Q 180.670,105.784 187.420,103.181 L 188.920,102.603 Q 195.670,100.000 202.904,100.000 L 213.170,100.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(213.17 100.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 163.170,150.781 L 173.898,150.781 Q 180.670,150.781 187.420,151.329 L 188.920,151.451 Q 195.670,152.000 202.442,152.000 L 213.170,152.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(213.17 152.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"213.17\" y=\"151.00\" width=\"189.78\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"308.06\" y=\"180.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"308.06\" dy=\"0.00\">SIGNIFIED</tspan><tspan x=\"308.06\" dy=\"21.00\">&lt;i&gt;signifie&lt;/i&gt;</tspan><tspan x=\"308.06\" dy=\"21.00\">concept, idea</tspan></text><rect x=\"213.17\" y=\"8.00\" width=\"207.08\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"316.71\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"316.71\" dy=\"0.00\">SIGNIFIER</tspan><tspan x=\"316.71\" dy=\"21.00\">&lt;i&gt;signifiant&lt;/i&gt;</tspan><tspan x=\"316.71\" dy=\"21.00\">form: sound, text</tspan></text><rect x=\"8.00\" y=\"89.76\" width=\"155.17\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"85.58\" y=\"118.76\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"85.58\" dy=\"0.00\">SIGN</tspan><tspan x=\"85.58\" dy=\"21.00\">&lt;i&gt;sign&lt;/i&gt;</tspan></text></svg></div>\n<ul>\n<li><strong>Signifier</strong> (signifiant) - the form of the sign. What you see, hear, touch. E.g. the sequence of letters &quot;c-a-t&quot; or the sound /kat/.</li>\n<li><strong>Signified</strong> (signifie) - the concept, the idea that this form triggers in your head. E.g. a furry animal that meows and ignores you for most of the day :D</li>\n</ul>\n<p>And the key thing: <strong>the relationship between signifier and signified is arbitrary</strong>. There is no logical reason why the sequence of letters &quot;c-a-t&quot; means that particular animal. It just... caught on. In Polish it's &quot;kot&quot;, in German &quot;Katze&quot;, in Japanese &quot;猫&quot; (neko) - every language has a different sequence of sounds/letters for the same concept.</p>\n<p>But Saussure says something even more important: <strong>the meaning of a word arises from its relationship to other words in the system</strong>. &quot;Cat&quot; means what it means because it is NOT &quot;dog&quot;, it is NOT &quot;house&quot;, it is NOT &quot;car&quot;. Meaning is <strong>differential</strong> - it arises from difference.</p>\n<blockquote>\n<p>This sounds abstract, but in a moment you'll see that this is <strong>exactly</strong> what embeddings do in an LLM. Really ;-)</p>\n</blockquote>\n<h3><a href=\"#charles-sanders-peirce-the-sign-as-a-process\" aria-hidden=\"true\" class=\"anchor\" id=\"charles-sanders-peirce-the-sign-as-a-process\"></a>Charles Sanders Peirce: the sign as a process</h3>\n<p>Peirce (an American philosopher, a bit earlier than Saussure, but roughly around the same time) had a different approach. For him a sign is not a static pair, but a <strong>dynamic process</strong>.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"696.58215\" height=\"281\" viewBox=\"0 0 696.58215 281\"><rect x=\"0\" y=\"0\" width=\"696.58215\" height=\"281\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 249.232,101.000 L 249.232,110.625 Q 249.232,118.500 241.818,121.155 L 214.751,130.845 Q 207.337,133.500 207.337,141.375 L 207.337,151.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(207.34 151.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 387.652,101.000 L 387.652,110.625 Q 387.652,118.500 395.063,121.163 L 421.982,130.837 Q 429.393,133.500 429.393,141.375 L 429.393,151.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(429.39 151.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 556.333,151.000 L 659.115,151.000 Q 669.115,151.000 669.115,141.000 L 669.115,86.500 Q 669.115,76.500 659.115,76.500 L 567.016,76.500 Q 559.141,76.500 559.141,68.625 L 559.141,59.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(559.14 59.00) rotate(-90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-2\" data-label-kind=\"center\" x=\"455.76\" y=\"78.11\" width=\"206.76\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-2\" data-label-kind=\"center\"><text x=\"559.14\" y=\"95.81\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"559.14\" dy=\"0.00\">&quot;creates a new sign&quot;</tspan></text></g><rect x=\"378.33\" y=\"151.00\" width=\"302.25\" height=\"114.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"529.46\" y=\"180.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"529.46\" dy=\"0.00\">INTERPRETANT</tspan><tspan x=\"529.46\" dy=\"21.00\">&lt;i&gt;interpretation&lt;/i&gt;</tspan><tspan x=\"529.46\" dy=\"21.00\">the effect in the receiver&apos;s</tspan><tspan x=\"529.46\" dy=\"21.00\">mind</tspan></text><rect x=\"8.00\" y=\"151.00\" width=\"258.99\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.50\" y=\"180.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.50\" dy=\"0.00\">OBJECT</tspan><tspan x=\"137.50\" dy=\"21.00\">&lt;i&gt;object&lt;/i&gt;</tspan><tspan x=\"137.50\" dy=\"21.00\">what the sign refers to</tspan></text><rect x=\"203.86\" y=\"8.00\" width=\"198.43\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"303.07\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"303.07\" dy=\"0.00\">REPRESENTAMEN</tspan><tspan x=\"303.07\" dy=\"21.00\">&lt;i&gt;sign&lt;/i&gt;</tspan><tspan x=\"303.07\" dy=\"21.00\">the form you see</tspan></text><rect x=\"452.29\" y=\"8.00\" width=\"220.93\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"562.75\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"562.75\" dy=\"0.00\">NEW REPRESENTAMEN</tspan></text></svg></div>\n<p>Peirce's triad:</p>\n<ul>\n<li><strong>Representamen</strong> - the sign itself, the form (equivalent of Saussure's &quot;signifier&quot;)</li>\n<li><strong>Object</strong> - what the sign refers to (a thing in the world, a concept)</li>\n<li><strong>Interpretant</strong> - the effect the sign produces in the receiver's mind. And note: this interpretant ITSELF becomes a new sign, which again has its own interpretant, and so on... an <strong>infinite chain of interpretation</strong>.</li>\n</ul>\n<p>And that is the key difference: for Saussure a sign is static (a pair), for Peirce it is <strong>dynamic, alive, a process</strong>. Meaning is not &quot;contained&quot; in the sign - it arises in the process of interpretation.</p>\n<h3><a href=\"#three-kinds-of-signs-according-to-peirce\" aria-hidden=\"true\" class=\"anchor\" id=\"three-kinds-of-signs-according-to-peirce\"></a>Three kinds of signs according to Peirce</h3>\n<p>Peirce divided signs into three categories that are super intuitive:</p>\n<table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Description</th>\n<th>Examples</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Icon</strong></td>\n<td>A resemblance between the sign and the object</td>\n<td>A portrait, a map, the emoji 😺 (looks a bit like a cat), a folder icon on a computer</td>\n</tr>\n<tr>\n<td><strong>Index</strong></td>\n<td>A causal or physical connection</td>\n<td>Footprints in the sand (someone walked here), smoke (fire), a cough (illness), a thermometer (temperature)</td>\n</tr>\n<tr>\n<td><strong>Symbol</strong></td>\n<td>A convention, a social agreement</td>\n<td>The word &quot;cat&quot;, a national flag, a red light = stop, the mathematical &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>The word &quot;symbol&quot; in everyday language means something different than in Peirce's semiotics! In semiotics a symbol is a sign based <strong>purely on convention</strong> - it doesn't resemble the object (like an icon) and isn't physically tied to it (like an index). The Polish flag doesn't &quot;resemble&quot; Poland and isn't physically connected to it - we simply agreed that these colors stand for that country.</p>\n</div>\n<p>Test yourself - what type of sign is this?<sup class=\"footnote-ref\"><a href=\"#fn-1\" id=\"fnref-1\" data-footnote-ref>1</a></sup></p>\n<ol>\n<li>🌡️ A thermometer showing 37°C</li>\n<li>📸 A photo of your dog</li>\n<li>🟢 A green light = &quot;go&quot;</li>\n<li>🐾 Boot prints in the snow</li>\n<li>♿ An accessibility icon</li>\n</ol>\n<hr />\n<h2><a href=\"#hall-of-mirrors---or-the-llm-is-stuck-in-mirrors\" aria-hidden=\"true\" class=\"anchor\" id=\"hall-of-mirrors---or-the-llm-is-stuck-in-mirrors\"></a>Hall of Mirrors - or, the LLM is stuck in mirrors</h2>\n<p>David Manheim, an AI researcher, used a beautiful metaphor coming from Peirce's semiotics. He called it the <strong>&quot;Hall of Mirrors Problem&quot;</strong>.</p>\n<p>Imagine: you're in a room full of mirrors. You see reflections of reflections of reflections... and there's no window to the outside anywhere. You don't see the real world - you see only... more mirrors.</p>\n<p>That is exactly what an LLM does.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1451.2133\" height=\"170.66351\" viewBox=\"0 0 1451.2133 170.66351\"><rect x=\"0\" y=\"0\" width=\"1451.2133\" height=\"170.66351\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 189.125,118.660 L 334.278,118.660\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(334.28 118.66) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-0\" data-label-kind=\"center\" x=\"197.88\" y=\"120.56\" width=\"127.65\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-0\" data-label-kind=\"center\"><text x=\"261.70\" y=\"138.26\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"261.70\" dy=\"0.00\">&quot;experience&quot;</tspan></text></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 550.011,118.653 L 655.613,118.653\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(655.61 118.65) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-1\" data-label-kind=\"center\" x=\"558.76\" y=\"120.55\" width=\"88.10\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-1\" data-label-kind=\"center\"><text x=\"602.81\" y=\"138.25\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"602.81\" dy=\"0.00\">&quot;create&quot;</tspan></text></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 888.649,118.650 L 1038.649,118.650\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(1038.65 118.65) rotate(-0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-2\" data-label-kind=\"center\" x=\"904.77\" y=\"120.65\" width=\"117.77\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-2\" data-label-kind=\"center\"><text x=\"963.65\" y=\"138.35\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"963.65\" dy=\"0.00\">&quot;trains on&quot;</tspan></text></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 1144.778,118.650 L 1280.043,118.650\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(1280.04 118.65) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-3\" data-label-kind=\"center\" x=\"1153.53\" y=\"88.35\" width=\"117.77\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-3\" data-label-kind=\"center\"><text x=\"1212.41\" y=\"106.05\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1212.41\" dy=\"0.00\">&quot;generates&quot;</tspan></text></g><path id=\"edge-4\" class=\"edgePath\" data-edge-id=\"edge-4\" d=\"M 1341.628,93.150 L 1341.628,48.400 Q 1341.628,38.400 1331.628,38.400 L 830.131,38.400 Q 820.131,38.400 820.131,48.400 L 820.131,82.650\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(820.13 82.65) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-4\" data-label-kind=\"center\" x=\"965.28\" y=\"8.00\" width=\"167.20\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-4\" data-label-kind=\"center\"><text x=\"1048.88\" y=\"25.70\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1048.88\" dy=\"0.00\">&quot;flow back into&quot;</tspan></text></g><rect x=\"334.28\" y=\"82.66\" width=\"215.73\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"442.14\" y=\"111.66\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"442.14\" dy=\"0.00\">🧑 People</tspan><tspan x=\"442.14\" dy=\"21.00\">&lt;i&gt;write texts&lt;/i&gt;</tspan></text><rect x=\"1038.65\" y=\"93.15\" width=\"106.13\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1091.71\" y=\"122.15\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"1091.71\" dy=\"0.00\">🤖 LLM</tspan></text><rect x=\"655.61\" y=\"82.65\" width=\"233.04\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"772.13\" y=\"111.65\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"772.13\" dy=\"0.00\">📝 Texts</tspan><tspan x=\"772.13\" dy=\"21.00\">&lt;i&gt;training data&lt;/i&gt;</tspan></text><rect x=\"1280.04\" y=\"93.15\" width=\"155.17\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1357.63\" y=\"122.15\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"1357.63\" dy=\"0.00\">📝 New texts</tspan></text><rect x=\"8.00\" y=\"82.66\" width=\"181.13\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"98.56\" y=\"111.66\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"98.56\" dy=\"0.00\">🌍 World</tspan><tspan x=\"98.56\" dy=\"21.00\">&lt;i&gt;reality&lt;/i&gt;</tspan></text></svg></div>\n<p>Let's look at this through the lens of Peirce's triad:</p>\n<ul>\n<li><strong>Representamen</strong> (sign) - text, tokens, words - ✅ the LLM has access</li>\n<li><strong>Object</strong> (reality) - the world, experience, physics - ❌ the LLM has no access</li>\n<li><strong>Interpretant</strong> (interpretation) - understanding - ❓ the LLM generates something that <em>looks</em> like interpretation</li>\n</ul>\n<p>An LLM has never seen the world. It has never tasted a strawberry, never touched ice, never heard laughter. It draws all its &quot;knowledge&quot; about the world from text - from what <strong>other people wrote</strong> about the world.</p>\n<p>So when an LLM writes &quot;strawberries are sweet&quot; - it doesn't <em>know</em> they are sweet. It knows that in the texts it was trained on, the word &quot;strawberries&quot; often appears near the word &quot;sweet&quot;. That is the difference. And that is precisely the <strong>semiotic</strong> difference.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Paradox:</strong> An LLM can write a beautiful description of a sunset, even though it has never seen the sun. But it can also write a beautiful description of a sunset <strong>on Mars</strong> - even though nobody has ever seen a sunset there yet. How does it &quot;know&quot;? From science fiction text. So: signs refer to signs, which refer to signs... a hall of mirrors ;-)</p>\n</div>\n<hr />\n<h2><a href=\"#saussure-in-code-embeddings-as-a-system-of-signs\" aria-hidden=\"true\" class=\"anchor\" id=\"saussure-in-code-embeddings-as-a-system-of-signs\"></a>Saussure in code: embeddings as a system of signs</h2>\n<p>OK, now what I promised - let's see how Saussure's theory plays out in code. Because this is <strong>genuinely</strong> fascinating.</p>\n<p>Remember what Saussure said? <strong>The meaning of a word arises from its relationship to other words</strong>. &quot;Cat&quot; means what it means because it isn't &quot;dog&quot;, it isn't &quot;house&quot;, etc. Meaning is relational.</p>\n<p>Now think about <strong>word embeddings</strong> - which we met in the previous post. Each word is represented as a vector in a high-dimensional space. And words with similar meanings are <strong>close</strong> to each other in that space.</p>\n<p>This is <strong>exactly</strong> Saussure's relational theory of the sign, just implemented in math!</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;Similarity to &#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>It will print something like: <code>Similarity to 'queen': 0.850</code></p>\n<p>But look at this from Saussure's perspective:</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"653.68677\" height=\"735\" viewBox=\"0 0 653.68677 735\"><rect x=\"0\" y=\"0\" width=\"653.68677\" height=\"735\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"299.69\" y=\"382.50\" width=\"338.00\" height=\"336.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"468.69\" y=\"411.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"468.69\" dy=\"0.00\">Word2Vec: word = vector</tspan><tspan x=\"468.69\" dy=\"21.00\">in a relational space</tspan></text><rect x=\"8.00\" y=\"8.00\" width=\"303.39\" height=\"294.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"159.70\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"159.70\" dy=\"0.00\">Saussure: sign = position</tspan><tspan x=\"159.70\" dy=\"21.00\">in a system of relations</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 160.429,165.500 L 160.429,175.464 Q 160.429,183.000 163.779,189.750 L 164.524,191.250 Q 167.874,198.000 167.874,205.536 L 167.874,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(167.87 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 467.340,540.000 L 467.340,550.642 Q 467.340,557.500 468.553,564.250 L 468.822,565.750 Q 470.034,572.500 470.034,579.358 L 470.034,590.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(470.03 590.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 167.874,266.500 L 167.874,284.000 L 167.874,555.000 Q 167.874,565.000 177.874,565.000 L 306.892,565.000 Q 316.892,565.000 316.892,575.000 L 316.892,583.125 Q 316.892,591.000 324.767,591.000 L 334.392,591.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(334.39 591.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-2\" data-label-kind=\"center\" x=\"95.42\" y=\"566.55\" width=\"177.09\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-2\" data-label-kind=\"center\"><text x=\"183.97\" y=\"584.25\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"183.97\" dy=\"0.00\">&quot;the same thing!&quot;</tspan></text></g><rect x=\"35.00\" y=\"72.50\" width=\"241.69\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"155.84\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"155.84\" dy=\"0.00\">&apos;king&apos; is not &apos;queen&apos;</tspan><tspan x=\"155.84\" dy=\"21.00\">&apos;king&apos; is not &apos;man&apos;</tspan><tspan x=\"155.84\" dy=\"21.00\">&apos;king&apos; is not &apos;woman&apos;</tspan></text><rect x=\"51.36\" y=\"215.50\" width=\"233.04\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"167.87\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"167.87\" dy=\"0.00\">meaning = difference</tspan></text><rect x=\"326.69\" y=\"447.00\" width=\"276.29\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"464.84\" y=\"476.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"464.84\" dy=\"0.00\">king = [0.50, 0.68, ...]</tspan><tspan x=\"464.84\" dy=\"21.00\">queen = [0.38, 0.64, ...]</tspan><tspan x=\"464.84\" dy=\"21.00\">man = [0.31, 0.43, ...]</tspan></text><rect x=\"334.39\" y=\"590.00\" width=\"276.29\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"472.54\" y=\"619.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"472.54\" dy=\"0.00\">meaning = the vector&apos;s</tspan><tspan x=\"472.54\" dy=\"21.00\">position</tspan><tspan x=\"472.54\" dy=\"21.00\">relative to other vectors</tspan></text></svg></div>\n<p>Both Saussure and Word2Vec say the same thing: <strong>meaning is not in the sign itself - it's in its relation to other signs</strong>. Saussure came up with this as a theory of language. Engineers at Google came up with Word2Vec as an algorithm. And they reached the same conclusion.</p>\n<p>Well... almost. Because there's one catch. Saussure assumed that behind the signifier (form) stands the <strong>signified</strong> (concept). In embeddings we only have a position in space - we have relations, but do we have a &quot;concept&quot;? Is the vector <code>[0.50, 0.68, ...]</code> <strong>the</strong> concept of &quot;king&quot;?</p>\n<p>And that is exactly the question that leads us to the next semiotician...</p>\n<hr />\n<h2><a href=\"#derrida-writing-as-the-foundation\" aria-hidden=\"true\" class=\"anchor\" id=\"derrida-writing-as-the-foundation\"></a>Derrida: writing as the foundation</h2>\n<p>Jacques Derrida (a French philosopher, 1960s and 70s) did something bold. He looked at all of Saussure and said: <strong>&quot;Wait. And why do you assume speech is more important than writing?&quot;</strong></p>\n<p>Saussure (and the entire Western philosophical tradition) treated speech as &quot;primary&quot; - closer to thought, closer to meaning. Writing was &quot;derivative&quot; - merely a record of speech, a &quot;sign of a sign&quot;. Derrida called this <strong>logocentrism</strong> - the belief that at the end of the chain of signs there is some &quot;presence&quot;, some &quot;thought&quot;, some &quot;intention&quot; that bestows meaning.</p>\n<p>And Derrida turned this upside down: <strong>writing is not subordinate to speech. Writing is a system in its own right.</strong></p>\n<p>Why does this matter for LLMs? Because Elad Vromen, in his paper &quot;Language Models as Semiotic Machines&quot;, noticed something brilliant:</p>\n<blockquote>\n<p>An LLM trains on <strong>writing</strong> (text). It builds a model of <strong>writing</strong>. It generates new <strong>writing</strong>. Nowhere in this process is there &quot;speech&quot;, &quot;mind&quot;, or &quot;intention&quot;. Saussure's entire hierarchy - speech &gt; writing - gets inverted. Writing is the only reality an LLM knows.</p>\n</blockquote>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"873.06335\" height=\"383.00885\" viewBox=\"0 0 873.06335 383.00885\"><rect x=\"0\" y=\"0\" width=\"873.06335\" height=\"383.00885\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"12.00\" y=\"203.51\" width=\"845.06\" height=\"163.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"434.53\" y=\"232.51\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"434.53\" dy=\"0.00\">LLM model (Derrida&apos;s</tspan><tspan x=\"434.53\" dy=\"21.00\">inversion)</tspan></text><rect x=\"8.00\" y=\"8.00\" width=\"686.16\" height=\"145.51\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"351.08\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"351.08\" dy=\"0.00\">Traditional model</tspan><tspan x=\"351.08\" dy=\"21.00\">(logocentrism)</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 168.563,98.000 L 192.563,98.001\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(192.56 98.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 330.429,98.001 L 354.429,98.002\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(354.43 98.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 492.295,98.004 L 516.295,98.004\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(516.29 98.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 281.036,304.007 L 305.036,304.008\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(305.04 304.01) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-4\" class=\"edgePath\" data-edge-id=\"edge-4\" d=\"M 589.983,304.008 L 613.983,304.009\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(613.98 304.01) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"48.00\" y=\"72.50\" width=\"120.56\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"108.28\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"108.28\" dy=\"0.00\">🌍 World</tspan></text><rect x=\"192.56\" y=\"72.50\" width=\"137.87\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"261.50\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"261.50\" dy=\"0.00\">🧠 Thought</tspan></text><rect x=\"354.43\" y=\"72.50\" width=\"137.87\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"423.36\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"423.36\" dy=\"0.00\">🗣️ Speech</tspan></text><rect x=\"516.29\" y=\"72.51\" width=\"137.87\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"585.23\" y=\"101.51\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"585.23\" dy=\"0.00\">📝 Writing</tspan></text><rect x=\"48.00\" y=\"268.01\" width=\"233.04\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"164.52\" y=\"297.01\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"164.52\" dy=\"0.00\">📝 Writing</tspan><tspan x=\"164.52\" dy=\"21.00\">&lt;i&gt;training data&lt;/i&gt;</tspan></text><rect x=\"305.04\" y=\"268.01\" width=\"284.95\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"447.51\" y=\"297.01\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"447.51\" dy=\"0.00\">🧮 Model</tspan><tspan x=\"447.51\" dy=\"21.00\">&lt;i&gt;statistics of signs&lt;/i&gt;</tspan></text><rect x=\"613.98\" y=\"268.01\" width=\"207.08\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"717.52\" y=\"297.01\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"717.52\" dy=\"0.00\">📝 New writing</tspan><tspan x=\"717.52\" dy=\"21.00\">&lt;i&gt;LLM output&lt;/i&gt;</tspan></text></svg></div>\n<p>So when we ask &quot;does an LLM understand language?&quot; - we're asking a <strong>bad question</strong>. It's like asking &quot;does a book understand what is written in it?&quot; A book doesn't &quot;understand&quot; - but it <strong>contains signs</strong> that we - the readers - interpret. An LLM is something in between: it isn't a book (because it generates new text), but it isn't a mind either (because it has no access to meanings outside of text).</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p><strong>Derrida in a nutshell for LLMs:</strong> An LLM doesn't model a &quot;mind&quot; or a &quot;world&quot;. An LLM models <strong>writing</strong> - a system of signs that has its own logic, its own rules, its own coherence. And that writing is enough to generate text that <em>means something to us</em>. But it is <strong>us</strong> who give it meaning - not the model.</p>\n</div>\n<p>This also explains a phenomenon you've probably noticed: an LLM sometimes says things that are <strong>statistically correct, but nonsensical</strong>. Because in the system of writing the model operates in, those words fit together well. But we - as humans with access to the world (to objects in Peirce's sense) - see that it makes no sense. The model lacks that &quot;grounding&quot; in reality.</p>\n<details>\n<summary>For the curious: Derrida and iterability</summary>\n<p>Derrida, in his famous essay &quot;Signature Event Context&quot;, spoke of the <strong>iterability</strong> of signs - the fact that a sign can be repeated in a new context and take on new meaning. The word &quot;good&quot; can be a compliment, irony, or part of &quot;good evening&quot; - context changes everything.</p>\n<p>And that is exactly what we see in LLMs: the same prompt in a different context yields a different answer. The model doesn't &quot;understand&quot; context - but <strong>statistically</strong> it picks up contextual patterns from the training data. So: iterability of signs in its purest, mathematical form.</p>\n</details>\n<hr />\n<h2><a href=\"#the-prompt-as-a-semiotic-act\" aria-hidden=\"true\" class=\"anchor\" id=\"the-prompt-as-a-semiotic-act\"></a>The prompt as a semiotic act</h2>\n<p>Now we move onto very practical ground. Because if an LLM is a machine of signs, then a <strong>prompt</strong> - what you type into it - is a <strong>semiotic act</strong>. Not simply &quot;a command&quot;. But an act that creates the frame for meaning.</p>\n<h3><a href=\"#peirces-triad-in-practice\" aria-hidden=\"true\" class=\"anchor\" id=\"peirces-triad-in-practice\"></a>Peirce's triad in practice</h3>\n<p>Let's look at the interaction with an LLM through the lens of Peirce's triad:</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"402.31592\" height=\"525\" viewBox=\"0 0 402.31592 525\"><rect x=\"0\" y=\"0\" width=\"402.31592\" height=\"525\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 133.170,101.000 L 133.170,151.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(133.17 151.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 149.170,223.000 L 149.170,273.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(149.17 273.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 149.170,366.000 L 149.170,416.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(149.17 416.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 245.362,446.500 L 329.025,446.500 Q 339.025,446.500 339.025,436.500 L 339.025,80.500 Q 339.025,70.500 329.025,70.500 L 249.688,70.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(249.69 70.50) rotate(180.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-3\" data-label-kind=\"center\" x=\"266.66\" y=\"448.50\" width=\"127.65\" height=\"28.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-3\" data-label-kind=\"center\"><text x=\"330.49\" y=\"466.20\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"330.49\" dy=\"0.00\">&quot;new prompt&quot;</tspan></text></g><rect x=\"8.00\" y=\"151.00\" width=\"250.34\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"133.17\" y=\"180.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"133.17\" dy=\"0.00\">🤖 LLM</tspan><tspan x=\"133.17\" dy=\"21.00\">&lt;i&gt;sign processing&lt;/i&gt;</tspan></text><rect x=\"29.63\" y=\"273.00\" width=\"207.08\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"133.17\" y=\"302.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"133.17\" dy=\"0.00\">💬 ANSWER</tspan><tspan x=\"133.17\" dy=\"21.00\">&lt;i&gt;new</tspan><tspan x=\"133.17\" dy=\"21.00\">representamen&lt;/i&gt;</tspan></text><rect x=\"16.65\" y=\"8.00\" width=\"233.04\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"133.17\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"133.17\" dy=\"0.00\">📝 PROMPT</tspan><tspan x=\"133.17\" dy=\"21.00\">&lt;i&gt;representamen&lt;/i&gt;</tspan><tspan x=\"133.17\" dy=\"21.00\">input sign</tspan></text><rect x=\"20.98\" y=\"416.00\" width=\"224.38\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"133.17\" y=\"445.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"133.17\" dy=\"0.00\">🧑 USER</tspan><tspan x=\"133.17\" dy=\"21.00\">&lt;i&gt;interpretant&lt;/i&gt;</tspan><tspan x=\"133.17\" dy=\"21.00\">assigns meaning</tspan></text></svg></div>\n<p>So:</p>\n<ol>\n<li><strong>You</strong> create the prompt (representamen)</li>\n<li><strong>The LLM</strong> processes signs and generates an answer (a new representamen)</li>\n<li><strong>You</strong> interpret the answer (you become the interpretant)</li>\n<li>Your interpretation leads to a new prompt... and the cycle repeats</li>\n</ol>\n<p>Notice: <strong>meaning arises only in step 3</strong>. The LLM generates a sequence of tokens, but it's you who gives it sense. This is exactly what Umberto Eco meant with his concept of the <strong>&quot;open work&quot;</strong> - a text doesn't have one fixed meaning. A text is a &quot;frame&quot; that the reader fills with interpretation.</p>\n<h3><a href=\"#experiment-how-a-prompt-changes-the-semiotic-frame\" aria-hidden=\"true\" class=\"anchor\" id=\"experiment-how-a-prompt-changes-the-semiotic-frame\"></a>Experiment: how a prompt changes the semiotic frame</h3>\n<p>Try it yourself. Fire up ChatGPT (or Claude, Gemini - whatever you have) and send these three prompts, each in a <strong>new conversation</strong>:</p>\n<ol>\n<li><code>&quot;Explain what gravity is.&quot;</code></li>\n<li><code>&quot;Explain gravity to a five-year-old.&quot;</code></li>\n<li><code>&quot;Explain gravity in the style of a Shakespearean sonnet.&quot;</code></li>\n</ol>\n<p>Each prompt is about the same topic (gravity). But each one <strong>changes the semiotic frame</strong> - it shifts the tone, the register, the genre, the expected form of the answer.</p>\n<table>\n<thead>\n<tr>\n<th>Prompt</th>\n<th>What changes...</th>\n<th>Semiotic frame</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>&quot;Explain gravity&quot;</td>\n<td>-</td>\n<td>Neutral, encyclopedic</td>\n</tr>\n<tr>\n<td>&quot;...to a five-year-old&quot;</td>\n<td>The audience, the simplicity of language</td>\n<td>Educational, age-appropriate</td>\n</tr>\n<tr>\n<td>&quot;...in the style of Shakespeare&quot;</td>\n<td>The genre, the form, the style</td>\n<td>Literary, artistic</td>\n</tr>\n</tbody>\n</table>\n<p>This is exactly what Picca calls the <strong>&quot;semiotic contract&quot;</strong>. When you write a prompt, you don't &quot;ask for information&quot; - <strong>you set the conditions under which meaning will be constructed</strong>. You ask for gravity in Shakespeare mode? You get a hybrid of physics and poetry. That's neither &quot;real&quot; gravity nor &quot;real&quot; Shakespeare - it's a <strong>semiotic collage</strong>, a new configuration of signs.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Bonus experiment:</strong> Try this: <em>&quot;Explain the concept of entropy using metaphors from fairy tales.&quot;</em> You'll see how an LLM connects two completely different semiotic zones - physics and fairy tales. That is exactly what semiotics calls <strong>translation between cultural codes</strong>.</p>\n</div>\n<hr />\n<h2><a href=\"#the-semiosphere---the-ecology-of-signs\" aria-hidden=\"true\" class=\"anchor\" id=\"the-semiosphere---the-ecology-of-signs\"></a>The semiosphere - the ecology of signs</h2>\n<p>One more concept worth knowing. Juri Lotman, a Russian semiotician, came up with the concept of the <strong>semiosphere</strong>.</p>\n<p>The semiosphere is the space in which signs live. It's an ecology of meanings - a network of cultural codes, genres, discourses, ideologies that interact with one another. Just as the biosphere is the space in which organisms live, the semiosphere is the space in which signs live.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1818.7339\" height=\"378.9\" viewBox=\"0 0 1818.7339 378.9\"><rect x=\"0\" y=\"0\" width=\"1818.7339\" height=\"378.9\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"8.00\" y=\"189.40\" width=\"1794.73\" height=\"173.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"905.37\" y=\"216.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"905.37\" dy=\"0.00\">Semiosphere</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 752.753,185.600 L 752.753,195.225 Q 752.753,203.100 744.881,203.317 L 423.796,212.183 Q 415.924,212.400 415.924,220.275 L 415.924,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(415.92 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 799.945,185.600 L 799.945,195.225 Q 799.945,203.100 792.638,206.037 L 784.114,209.463 Q 776.807,212.400 776.807,220.275 L 776.807,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(776.81 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 974.170,185.600 L 974.170,195.225 Q 974.170,203.100 982.041,203.345 L 1265.398,212.155 Q 1273.269,212.400 1273.269,220.275 L 1273.269,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(1273.27 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 768.753,185.600 L 768.753,190.880 Q 768.753,195.200 773.073,195.200 L 983.417,195.200 Q 984.137,195.200 984.137,194.480 L 984.137,194.320 Q 984.137,193.600 983.417,193.600 L 752.235,193.600 Q 743.753,193.600 743.753,185.118 L 743.753,183.232 Q 743.753,174.750 735.270,174.750 L 254.081,174.750 Q 244.081,174.750 244.081,184.750 L 244.081,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(244.08 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-4\" class=\"edgePath\" data-edge-id=\"edge-4\" d=\"M 914.654,185.600 L 914.654,195.225 Q 914.654,203.100 922.361,204.718 L 951.244,210.782 Q 958.951,212.400 958.951,220.275 L 958.951,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(958.95 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-5\" class=\"edgePath\" data-edge-id=\"edge-5\" d=\"M 975.137,185.600 L 975.137,195.225 Q 975.137,203.100 983.012,203.100 L 1496.091,203.100 Q 1506.091,203.100 1506.091,213.100 L 1506.091,229.900\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"   stroke-dasharray=\"4 4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(1506.09 229.90) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-6\" class=\"edgePath\" data-edge-id=\"edge-6\" d=\"M 865.043,59.000 L 865.043,68.625 Q 865.043,76.500 864.830,84.372 L 864.158,109.228 Q 863.945,117.100 863.945,124.975 L 863.945,134.600\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(863.95 134.60) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect data-edge-id=\"edge-6\" data-label-kind=\"center\" x=\"866.99\" y=\"78.36\" width=\"256.19\" height=\"52.40\" rx=\"2\" ry=\"2\" fill=\"#FFFFFF\" fill-opacity=\"0.00\" stroke=\"#94A3B8\" stroke-opacity=\"0.00\" stroke-width=\"0.8\"/><g class=\"edgeLabel\" data-edge-id=\"edge-6\" data-label-kind=\"center\"><text x=\"995.09\" y=\"97.56\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"995.09\" dy=\"0.00\">&quot;navigates the</tspan><tspan x=\"995.09\" dy=\"21.00\">zones of the semiosphere&quot;</tspan></text></g><rect x=\"751.75\" y=\"134.60\" width=\"224.38\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"863.95\" y=\"163.60\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"863.95\" dy=\"0.00\">📊 LLM training data</tspan></text><rect x=\"38.00\" y=\"229.90\" width=\"207.08\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"141.54\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"141.54\" dy=\"0.00\">💬 Internet</tspan><tspan x=\"141.54\" dy=\"21.00\">&lt;i&gt;forums, social</tspan><tspan x=\"141.54\" dy=\"21.00\">media&lt;/i&gt;</tspan></text><rect x=\"878.46\" y=\"229.90\" width=\"258.99\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1007.95\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1007.95\" dy=\"0.00\">🎭 Culture</tspan><tspan x=\"1007.95\" dy=\"21.00\">&lt;i&gt;film, art, music&lt;/i&gt;</tspan></text><rect x=\"586.77\" y=\"229.90\" width=\"241.69\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"707.61\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"707.61\" dy=\"0.00\">📚 Literature</tspan><tspan x=\"707.61\" dy=\"21.00\">&lt;i&gt;novels, poetry&lt;/i&gt;</tspan></text><rect x=\"811.98\" y=\"8.00\" width=\"106.13\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"865.04\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"865.04\" dy=\"0.00\">🤖 LLM</tspan></text><rect x=\"295.08\" y=\"229.90\" width=\"241.69\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"415.92\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"415.92\" dy=\"0.00\">📰 Media</tspan><tspan x=\"415.92\" dy=\"21.00\">&lt;i&gt;news, articles&lt;/i&gt;</tspan></text><rect x=\"1505.09\" y=\"229.90\" width=\"267.64\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1638.91\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1638.91\" dy=\"0.00\">⚖️ Law</tspan><tspan x=\"1638.91\" dy=\"21.00\">&lt;i&gt;statutes, rulings&lt;/i&gt;</tspan></text><rect x=\"1187.45\" y=\"229.90\" width=\"267.64\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1321.27\" y=\"258.90\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1321.27\" dy=\"0.00\">🔬 Science</tspan><tspan x=\"1321.27\" dy=\"21.00\">&lt;i&gt;papers, textbooks&lt;/i&gt;</tspan></text></svg></div>\n<p>An LLM's training data is nothing else but a <strong>giant cross-section of the semiosphere</strong>. When the model reads Wikipedia, Twitter, books, scientific papers, source code - it absorbs (statistically!) all that diversity of cultural codes.</p>\n<p>And that's why it can write in the style of Shakespeare, translate from German, joke like a comedian, and quote legal regulations - because all of that lives in the semiosphere, and the model has &quot;seen&quot; samples from every zone.</p>\n<p>But there's a flip side: the model also absorbs the <strong>prejudices, stereotypes, and dominant narratives</strong> contained in the semiosphere. Because the semiosphere isn't neutral - it's a cultural space with a history, with power, with ideology. And the LLM, operating on signs from that space, reproduces them in its outputs.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Why does an LLM sometimes talk nonsense?</strong> Because the semiosphere is full of contradictions. On one page of the internet &quot;the earth is round&quot;, on another &quot;the earth is flat&quot;. The model sees both signs and has no access to the &quot;object&quot; (the actual earth) to decide which sign is true. It operates in a hall of mirrors - signs refer to signs, not to reality.</p>\n</div>\n<hr />\n<h2><a href=\"#quiz-saussure-or-peirce\" aria-hidden=\"true\" class=\"anchor\" id=\"quiz-saussure-or-peirce\"></a>Quiz: Saussure or Peirce?</h2>\n<p>Test which semiotician better explains these LLM phenomena. A reminder:</p>\n<ul>\n<li><strong>Saussure</strong>: sign = a pair (signifier + signified), relational meaning, a static system</li>\n<li><strong>Peirce</strong>: sign = a triad (representamen + object + interpretant), a process of interpretation, dynamics</li>\n</ul>\n<p>Who better explains the fact that...?<sup class=\"footnote-ref\"><a href=\"#fn-2\" id=\"fnref-2\" data-footnote-ref>2</a></sup></p>\n<ol>\n<li><strong>An LLM can write poetry, even though it has never felt poetry</strong> - Saussure or Peirce?</li>\n<li><strong>The embedding &quot;king&quot; - &quot;man&quot; + &quot;woman&quot; = &quot;queen&quot;</strong> - Saussure or Peirce?</li>\n<li><strong>The same prompt gives different answers depending on the context of the conversation</strong> - Saussure or Peirce?</li>\n<li><strong>An LLM has no access to the world, only to text</strong> - Saussure or Peirce?</li>\n<li><strong>We all know someone who asked ChatGPT for a medical diagnosis and got one</strong> - Saussure or Peirce?</li>\n</ol>\n<hr />\n<h2><a href=\"#summary---a-semiotic-map-of-the-llm\" aria-hidden=\"true\" class=\"anchor\" id=\"summary---a-semiotic-map-of-the-llm\"></a>Summary - a semiotic map of the LLM</h2>\n<p>Here's our semiotic map in a nutshell:</p>\n<table>\n<thead>\n<tr>\n<th>Semiotician</th>\n<th>Key concept</th>\n<th>What it tells us about LLMs</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Saussure</strong></td>\n<td>Meaning = relation between signs</td>\n<td>Embeddings realize the relational concept of the sign</td>\n</tr>\n<tr>\n<td><strong>Peirce</strong></td>\n<td>Triad sign-object-interpretant</td>\n<td>An LLM has no access to the object, only to signs (hall of mirrors)</td>\n</tr>\n<tr>\n<td><strong>Derrida</strong></td>\n<td>Writing as a system in itself</td>\n<td>An LLM models writing, not mind; training data = the only source</td>\n</tr>\n<tr>\n<td><strong>Lotman</strong></td>\n<td>Semiosphere - the ecology of signs</td>\n<td>Training data is a cross-section of the semiosphere; an LLM navigates its zones</td>\n</tr>\n<tr>\n<td><strong>Eco</strong></td>\n<td>The open work</td>\n<td>An LLM's output has no single meaning - it requires your interpretation</td>\n</tr>\n</tbody>\n</table>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1474.8566\" height=\"364.5\" viewBox=\"0 0 1474.8566 364.5\"><rect x=\"0\" y=\"0\" width=\"1474.8566\" height=\"364.5\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"8.00\" y=\"8.00\" width=\"1450.86\" height=\"340.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"733.43\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"733.43\" dy=\"0.00\">A semiotic perspective on</tspan><tspan x=\"733.43\" dy=\"21.00\">LLMs</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 994.835,144.500 L 994.835,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(994.83 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 698.830,165.500 L 698.830,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(698.83 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 1290.219,144.500 L 1290.219,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(1290.22 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 420.132,144.500 L 420.132,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(420.13 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-4\" class=\"edgePath\" data-edge-id=\"edge-4\" d=\"M 154.417,144.500 L 154.417,215.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(154.42 215.50) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"1177.54\" y=\"215.50\" width=\"224.38\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1289.73\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1289.73\" dy=\"0.00\">Training data</tspan><tspan x=\"1289.73\" dy=\"21.00\">= writing, not mind</tspan></text><rect x=\"1152.56\" y=\"72.50\" width=\"276.29\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1290.71\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"1290.71\" dy=\"0.00\">Derrida</tspan><tspan x=\"1290.71\" dy=\"21.00\">writing is the foundation</tspan></text><rect x=\"85.38\" y=\"72.50\" width=\"137.87\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"154.32\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"154.32\" dy=\"0.00\">Eco</tspan><tspan x=\"154.32\" dy=\"21.00\">open work</tspan></text><rect x=\"878.46\" y=\"215.50\" width=\"233.04\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"994.97\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"994.97\" dy=\"0.00\">Embeddings</tspan><tspan x=\"994.97\" dy=\"21.00\">vectors = relational</tspan><tspan x=\"994.97\" dy=\"21.00\">positions</tspan></text><rect x=\"569.46\" y=\"215.50\" width=\"258.99\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"698.96\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"698.96\" dy=\"0.00\">Hall of Mirrors</tspan><tspan x=\"698.96\" dy=\"21.00\">no access to the object</tspan></text><rect x=\"38.00\" y=\"215.50\" width=\"233.04\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"154.52\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"154.52\" dy=\"0.00\">Output requires</tspan><tspan x=\"154.52\" dy=\"21.00\">human interpretation</tspan></text><rect x=\"342.43\" y=\"72.50\" width=\"155.17\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"420.01\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"420.01\" dy=\"0.00\">Lotman</tspan><tspan x=\"420.01\" dy=\"21.00\">semiosphere</tspan></text><rect x=\"321.04\" y=\"215.50\" width=\"198.43\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"420.25\" y=\"244.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"420.25\" dy=\"0.00\">An LLM navigates</tspan><tspan x=\"420.25\" dy=\"21.00\">the zones of the</tspan><tspan x=\"420.25\" dy=\"21.00\">semiosphere</tspan></text><rect x=\"595.16\" y=\"72.50\" width=\"207.08\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"698.70\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"698.70\" dy=\"0.00\">Peirce</tspan><tspan x=\"698.70\" dy=\"21.00\">sign -&gt; object -&gt;</tspan><tspan x=\"698.70\" dy=\"21.00\">interpretant</tspan></text><rect x=\"886.83\" y=\"72.50\" width=\"215.73\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"994.70\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"994.70\" dy=\"0.00\">Saussure</tspan><tspan x=\"994.70\" dy=\"21.00\">meaning = relation</tspan></text></svg></div>\n<p>So: <strong>an LLM has no mind.</strong> But that doesn't mean it does nothing interesting. An LLM operates on signs - it reconfigures them, connects zones of the semiosphere, creates new configurations of signs. And those new configurations <strong>mean something to us - as interpreters</strong>.</p>\n<p>That is the semiotic answer to &quot;does an LLM understand?&quot;. An LLM doesn't &quot;understand&quot; in the human sense. But it generates signs that enter our semiosphere and become part of our process of interpretation. And that process is real, important, and powerful.</p>\n<hr />\n<p>I know semiotics sounds at first like something from another planet, but I hope you now see how it connects to LLMs.</p>\n<p>Which semiotic concept do you find most useful for understanding LLMs? Saussure and his relationality? Peirce and his hall of mirrors? Or maybe Derrida and his &quot;writing&quot;?</p>\n<p>Because frankly - I'm still learning this perspective myself. But I feel this is the moment where linguistics, philosophy, and programming meet in one place and create something genuinely fascinating.</p>\n<blockquote>\n<p><strong>What's in the next post?</strong> We move from theory to practice: <a href=\"how-computer-reads-text.html\">How a computer reads text - from counting words to vectors</a>. We'll see how tokenization, TF-IDF, Markov chains, and Word2Vec realize in code what Saussure (meaning is relational!) and Derrida (writing is a system in its own right!) were talking about.</p>\n</blockquote>\n<p>See you next time!</p>\n<hr />\n<p><strong>Sources and interesting links:</strong></p>\n<p>If you want to go deeper, here are the materials I used:</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> - the main inspiration for this post; a proposal to look at LLMs as semiotic machines</li>\n<li><a href=\"https://arxiv.org/abs/2410.13065\">Elad Vromen, &quot;Language Models as Semiotic Machines&quot; - arXiv</a> - a brilliant connection of Saussure, Derrida, and embeddings</li>\n<li><a href=\"https://philpapers.org/rec/MANLMH-2\">David Manheim, &quot;Language Models' Hall of Mirrors Problem&quot; - PhilPapers</a> - the source of the &quot;hall of mirrors&quot; metaphor</li>\n<li><a href=\"https://arxiv.org/pdf/2509.14250.pdf\">&quot;Semiotic reflections and modelling&quot; - arXiv</a> - prompts as semiotic phenomena</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> - prompts as meaning-making acts</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> - an accessible introduction to the semiotics of generative 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> - a comparison of the two main semiotic traditions</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> - a short post on why semiotics &gt; semantics for LLMs</li>\n</ul>\n<section class=\"footnotes\" data-footnotes>\n<ol>\n<li id=\"fn-1\">\n<p>Answers: 1) index (causal - temperature causes the liquid to expand), 2) icon (a resemblance to the dog), 3) symbol (pure convention), 4) index (a physical trace of someone who walked here), 5) icon (a resemblance to a person in a wheelchair). <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>My answers: 1) <strong>Peirce</strong> - the model has no access to the object (the experience of poetry), but it generates representamens (text) that we interpret. 2) <strong>Saussure</strong> - this is pure relationality! A king is defined by what it is not. 3) <strong>Peirce</strong> - context changes interpretation, and the interpretant creates a new sign. 4) <strong>Peirce</strong> - the absence of the object in the triad. 5) <strong>Peirce + Lotman</strong> - the model reproduces signs from the medical zone of the semiosphere without access to the real object (the patient's body). The diagnosis is a sign without grounding. <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": "\"Saussure, Peirce and Derrida as the key to understanding LLMs. Why a model is not a mind, but a machine of signs - and why that is enough to generate meaningful text.\"",
      "date_published": "2026-06-07T00:00:00-00:00",
      "image": "",
      "authors": [
        {
          "name": "Blazej Gruszka",
          "url": "https://www.linkedin.com/in/blazejgruszka/",
          "avatar": "https://github.com/bgruszka.png"
        }
      ],
      "tags": [
        "llm",
        "ai",
        "semiotics",
        "signs",
        "linguistics",
        "language-models",
        "saussure",
        "peirce",
        "derrida"
      ],
      "language": "en"
    },
    {
      "id": "https://gruszka.dev/en/linguistic-features-and-llm.html",
      "url": "https://gruszka.dev/en/linguistic-features-and-llm.html",
      "title": "Linguistic features - what you need to know before you understand how an LLM thinks",
      "content_html": "<p>LLMs (Large Language Models, i.e. ChatGPT, Claude, Gemini and friends) have been with us for a while now, and I decided to dig deeper into the topic, and one big question came up: <strong>but how does it even work that a model &quot;understands&quot; language?</strong> After all, underneath it's just &quot;math and statistics&quot;, right? Well... yes and no ;-)</p>\n<p>And then I stumbled into linguistics. And it turned out that to truly understand what an LLM does with language, you first need to understand what language is made of. And since a programmer trying to read about linguistics is a rather funny picture, I thought: <strong>I'll share it with you</strong> ;-)</p>\n<p>This is the <strong>first post in a series</strong> in which we'll survey different levels of language analysis and see how it all connects to LLMs. In today's post we'll build the foundation - we'll get to know the five main layers of language and see why each of them matters for language models.</p>\n<hr />\n<h2><a href=\"#language-is-like-an-onion---layer-upon-layer\" aria-hidden=\"true\" class=\"anchor\" id=\"language-is-like-an-onion---layer-upon-layer\"></a>Language is like an onion - layer upon layer</h2>\n<p>Before we get into the details, imagine language as a sort of... onion. Or a layer cake, if you prefer sweet metaphors :D</p>\n<p>Each layer is a different level on which language &quot;works&quot;. From the lowest - sounds - to the highest - what we <em>really</em> meant to say, even when we said something completely different.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"282.9914\" height=\"647\" viewBox=\"0 0 282.9914 647\"><rect x=\"0\" y=\"0\" width=\"282.9914\" height=\"647\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 137.494,101.000 L 137.494,151.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(137.49 151.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 137.490,223.000 L 137.490,273.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(137.49 273.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 137.486,366.000 L 137.486,416.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(137.49 416.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 137.484,488.000 L 137.484,538.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(137.48 538.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"8.00\" y=\"8.00\" width=\"258.99\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.50\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.50\" dy=\"0.00\">🔊 Phonetics &amp; phonology</tspan><tspan x=\"137.50\" dy=\"21.00\">&lt;i&gt;sounds and the</tspan><tspan x=\"137.50\" dy=\"21.00\">system of sounds&lt;/i&gt;</tspan></text><rect x=\"16.65\" y=\"151.00\" width=\"241.69\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.49\" y=\"180.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.49\" dy=\"0.00\">🧩 Morphology</tspan><tspan x=\"137.49\" dy=\"21.00\">&lt;i&gt;word structure&lt;/i&gt;</tspan></text><rect x=\"51.25\" y=\"273.00\" width=\"172.47\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#ffff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.49\" y=\"302.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.49\" dy=\"0.00\">📐 Syntax</tspan><tspan x=\"137.49\" dy=\"21.00\">&lt;i&gt;sentence</tspan><tspan x=\"137.49\" dy=\"21.00\">structure&lt;/i&gt;</tspan></text><rect x=\"46.92\" y=\"416.00\" width=\"181.13\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.48\" y=\"445.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.48\" dy=\"0.00\">💡 Semantics</tspan><tspan x=\"137.48\" dy=\"21.00\">&lt;i&gt;meaning&lt;/i&gt;</tspan></text><rect x=\"51.25\" y=\"538.00\" width=\"172.47\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"137.48\" y=\"567.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"137.48\" dy=\"0.00\">🎭 Pragmatics</tspan><tspan x=\"137.48\" dy=\"21.00\">&lt;i&gt;meaning in</tspan><tspan x=\"137.48\" dy=\"21.00\">context&lt;/i&gt;</tspan></text></svg></div>\n<p>Five layers, five ways in which language gets &quot;analyzed&quot;. And note - <strong>an LLM has to handle each of these levels</strong> to come across as a sensible conversational partner. Of course it doesn't do this consciously - but the structures it learns during training somehow &quot;catch&quot; these layers.</p>\n<div class=\"markdown-alert markdown-alert-note\">\n<p class=\"markdown-alert-title\">Note</p>\n<p><strong>The five layers of language in a nutshell:</strong></p>\n<ol>\n<li><strong>Phonetics &amp; phonology</strong> - sounds and how they're organized into a system</li>\n<li><strong>Morphology</strong> - how words are built from smaller pieces</li>\n<li><strong>Syntax</strong> - the rules of word order in a sentence</li>\n<li><strong>Semantics</strong> - the meaning of words and sentences</li>\n<li><strong>Pragmatics</strong> - how context changes the meaning of an utterance</li>\n</ol>\n</div>\n<p>OK, let's get to it. We start at the bottom of our onion ;-)</p>\n<hr />\n<h2><a href=\"#phonetics-and-phonology---the-sounds-an-llm-never-hears\" aria-hidden=\"true\" class=\"anchor\" id=\"phonetics-and-phonology---the-sounds-an-llm-never-hears\"></a>Phonetics and phonology - the sounds an LLM never hears</h2>\n<h3><a href=\"#what-is-phonetics\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-phonetics\"></a>What is phonetics?</h3>\n<p><strong>Phonetics</strong> studies speech sounds as physical phenomena. Put simply: how we produce sounds, how they travel through the air, and how we receive them.</p>\n<p>It has three branches:</p>\n<table>\n<thead>\n<tr>\n<th>Branch</th>\n<th>What it studies</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Articulatory</strong></td>\n<td>How the speech organs produce sounds</td>\n<td>Where is your tongue when you say &quot;sh&quot;?</td>\n</tr>\n<tr>\n<td><strong>Acoustic</strong></td>\n<td>The physical properties of sound waves</td>\n<td>Frequency, amplitude</td>\n</tr>\n<tr>\n<td><strong>Auditory</strong></td>\n<td>How the ear and brain receive sounds</td>\n<td>How the cochlea turns waves into a nerve signal</td>\n</tr>\n</tbody>\n</table>\n<h3><a href=\"#and-phonology\" aria-hidden=\"true\" class=\"anchor\" id=\"and-phonology\"></a>And phonology?</h3>\n<p><strong>Phonology</strong> is a level up. It's not interested in sounds as physical phenomena, but in <strong>how sounds are organized in a particular language</strong>.</p>\n<p>Key concept: the <strong>phoneme</strong> - the smallest unit of sound that distinguishes the meaning of words.</p>\n<p>A simple example in English:</p>\n<ul>\n<li><strong>pat</strong> vs <strong>bat</strong> - the words differ by one sound (/p/ vs /b/), and the meaning is completely different</li>\n<li><strong>rat</strong> vs <strong>mat</strong> - /r/ vs /m/ again changes everything</li>\n</ul>\n<p>Or in Polish:</p>\n<ul>\n<li><strong>kot</strong> (cat) vs <strong>lot</strong> (flight) - /k/ vs /l/ and we have a totally different word</li>\n</ul>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>Experiment:</strong> Say &quot;cat&quot; out loud, once as a plain statement (&quot;My cat sleeps.&quot;), and once as a surprised question (&quot;Cat?!&quot; with raised eyebrows). The same word, but intonation, stress, and melody completely change what the listener &quot;hears&quot;. That is phonology in action - sounds + their organization in a system.</p>\n</div>\n<h3><a href=\"#why-does-this-matter-for-an-llm\" aria-hidden=\"true\" class=\"anchor\" id=\"why-does-this-matter-for-an-llm\"></a>Why does this matter for an LLM?</h3>\n<p>Right - <strong>an LLM gets text, not sound</strong>. It has never heard pronunciation. And yet...</p>\n<ul>\n<li>it knows that &quot;cat&quot; and &quot;hat&quot; rhyme (because it saw it in texts)</li>\n<li>it handles puns and wordplay based on sounds</li>\n<li>it can write rhyming poetry</li>\n</ul>\n<p>So the model somehow <strong>absorbs phonological information</strong> from text data alone. A bit like never having seen the ocean, but having read so many books about it that you can describe it ;-)</p>\n<p>But of course there are limitations. A text-based LLM can't distinguish homophones (words that sound the same but mean different things) based on phonetics - it handles them purely at the semantic level (more on that in a moment).</p>\n<p>And a fun fact: models like <strong>Whisper</strong> (speech-to-text from OpenAI) already connect phonetics with text. But that's a topic for a separate post in this series ;-)</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Paradox:</strong> An LLM has never heard a single sound, yet from training data it &quot;knows&quot; about rhymes, wordplay, and sound patterns. It's a bit like a person deaf from birth who can write rhyming poetry - because they've read millions of them.</p>\n</div>\n<hr />\n<h2><a href=\"#morphology---how-words-are-built-from-blocks\" aria-hidden=\"true\" class=\"anchor\" id=\"morphology---how-words-are-built-from-blocks\"></a>Morphology - how words are built from blocks</h2>\n<h3><a href=\"#what-is-morphology\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-morphology\"></a>What is morphology?</h3>\n<p><strong>Morphology</strong> studies the structure of words - how they're assembled from smaller, meaningful pieces called <strong>morphemes</strong>.</p>\n<p>A morpheme is the <strong>smallest unit of language that carries meaning</strong>. It can't be divided into anything smaller that would still carry meaning.</p>\n<p>An example from English, often used in textbooks:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">unhappiness = un + happy + ness\n               ↑       ↑       ↑\n            &quot;not&quot;   &quot;happy&quot;   makes a noun\n</code></pre>\n<p>Or in Polish:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">nieszczęśliwy = nie + szczęśliw + y\n                   ↑        ↑       ↑\n               &quot;not&quot;  &quot;happy/fortune&quot;  masculine gender\n</code></pre>\n<p>Or even more:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">nieprzystojny = nie + przy + stoj + ny\n              &quot;not&quot; + &quot;at&quot; + &quot;stand&quot; + adjective suffix\n</code></pre>\n<p>Each of these pieces has its own meaning. Those are morphemes.</p>\n<h3><a href=\"#two-kinds-of-morphemes\" aria-hidden=\"true\" class=\"anchor\" id=\"two-kinds-of-morphemes\"></a>Two kinds of morphemes</h3>\n<table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Description</th>\n<th>Examples</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Free</strong></td>\n<td>Can stand alone as a word</td>\n<td>cat, house, runs</td>\n</tr>\n<tr>\n<td><strong>Bound</strong></td>\n<td>Must be attached to another morpheme</td>\n<td>un-, -ness, -s, -ed</td>\n</tr>\n</tbody>\n</table>\n<p>And among bound morphemes we have <strong>affixes</strong>:</p>\n<ul>\n<li><strong>Prefixes</strong> (before the root): <em>un-</em>, <em>re-</em>, <em>pre-</em>, <em>dis-</em></li>\n<li><strong>Suffixes</strong> (after the root): <em>-ness</em>, <em>-ful</em>, <em>-ize</em>, <em>-ed</em></li>\n<li><strong>Infixes</strong> (inside the root): practically absent in English, but present in other languages! E.g. in Tagalog (Philippines): <em>sulat</em> (to write) -&gt; <em>s<strong>um</strong>ulat</em> (to write something) - the morpheme <em>-um-</em> is inserted into the middle of the root. Or think of the English <em>abso-bloody-lutely</em> ;-)</li>\n</ul>\n<h3><a href=\"#inflection-vs-derivation\" aria-hidden=\"true\" class=\"anchor\" id=\"inflection-vs-derivation\"></a>Inflection vs derivation</h3>\n<p>This is an important distinction:</p>\n<p><strong>Inflection</strong> - changes the grammatical form, but doesn't create a new word:</p>\n<ul>\n<li>house -&gt; house<strong>s</strong> (plural)</li>\n<li>run -&gt; ran (past tense)</li>\n</ul>\n<p><strong>Derivation</strong> (word formation) - creates a new word, often changing the part of speech:</p>\n<ul>\n<li>teach -&gt; <strong>teacher</strong> (verb -&gt; noun)</li>\n<li>house -&gt; <strong>household</strong> (noun -&gt; adjective/noun)</li>\n</ul>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>Polish morphology is a nightmare for an LLM!</strong> The Polish language is highly inflectional - we have 7 cases, 2 numbers, 3 genders, verb aspects, and tons of exceptions. For comparison: in English, declining a noun means at most adding <em>-s</em>. In Polish? &quot;Dom, domu, domowi, dom, domem, domu, domie, domy, domow...&quot; and so on :D</p>\n</div>\n<h3><a href=\"#how-does-an-llm-handle-morphology\" aria-hidden=\"true\" class=\"anchor\" id=\"how-does-an-llm-handle-morphology\"></a>How does an LLM handle morphology?</h3>\n<p>Here's a fun fact. An LLM doesn't &quot;know&quot; what morphemes are. It uses <strong>BPE tokenization</strong> (Byte Pair Encoding), which splits text into tokens - but tokens are <strong>not the same</strong> as morphemes.</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"542.85754\" height=\"335\" viewBox=\"0 0 542.85754 335\"><rect x=\"0\" y=\"0\" width=\"542.85754\" height=\"335\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"8.00\" y=\"176.50\" width=\"518.86\" height=\"142.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"267.43\" y=\"205.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"267.43\" dy=\"0.00\">GPT-4o sees (BPE</tspan><tspan x=\"267.43\" dy=\"21.00\">tokenization):</tspan></text><rect x=\"8.00\" y=\"8.00\" width=\"492.90\" height=\"118.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"254.45\" y=\"35.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"254.45\" dy=\"0.00\">A linguist sees:</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 207.822,74.000 L 257.822,74.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(257.82 74.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 199.170,266.500 L 257.822,266.500\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(257.82 266.50) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"44.00\" y=\"48.50\" width=\"163.82\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"125.91\" y=\"77.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"125.91\" dy=\"0.00\">un-happiness</tspan></text><rect x=\"257.82\" y=\"48.50\" width=\"207.08\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"361.36\" y=\"77.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"361.36\" dy=\"0.00\">un + happy + ness</tspan></text><rect x=\"44.00\" y=\"241.00\" width=\"155.17\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"121.58\" y=\"270.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"121.58\" dy=\"0.00\">unhappiness</tspan></text><rect x=\"257.82\" y=\"241.00\" width=\"233.04\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"374.34\" y=\"270.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"374.34\" dy=\"0.00\">un + h + app + iness</tspan></text></svg></div>\n<p>The BPE tokenizer splits text based on <strong>frequency of occurrence</strong> in the training data, not on linguistic structure. Sometimes that overlaps with morphemes, sometimes it doesn't.</p>\n<p>That means the model doesn't learn morphology &quot;directly&quot; - it learns it indirectly, through statistics. And somehow it works ;-)</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>A challenge for you:</strong> Can you break these words into morphemes?</p>\n<ul>\n<li><em>unbelievable</em></li>\n<li><em>antidisestablishmentarianism</em></li>\n<li><em>reimplementation</em></li>\n</ul>\n</div>\n<hr />\n<h2><a href=\"#syntax---the-rules-of-the-sentence-arranging-game\" aria-hidden=\"true\" class=\"anchor\" id=\"syntax---the-rules-of-the-sentence-arranging-game\"></a>Syntax - the rules of the sentence-arranging game</h2>\n<h3><a href=\"#what-is-syntax\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-syntax\"></a>What is syntax?</h3>\n<p><strong>Syntax</strong> is the set of rules that determine how words are combined into sentences. Thanks to syntax we know that &quot;The cat sits on the mat&quot; is a valid sentence, and &quot;The cat the on mat sits&quot; is gibberish.</p>\n<p>Simple? Well... more or less ;-)</p>\n<h3><a href=\"#word-order\" aria-hidden=\"true\" class=\"anchor\" id=\"word-order\"></a>Word order</h3>\n<p>Different languages have different word-order rules:</p>\n<table>\n<thead>\n<tr>\n<th>Language</th>\n<th>Basic order</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>English</td>\n<td>SVO (Subject-Verb-Object)</td>\n<td>The cat sits on the mat</td>\n</tr>\n<tr>\n<td>Polish</td>\n<td>&quot;Flexible&quot; SVO, but...</td>\n<td>Kot siedzi na macie / Na macie siedzi kot / Siedzi kot na macie</td>\n</tr>\n<tr>\n<td>Japanese</td>\n<td>SOV</td>\n<td>猫がマットの上に座っている</td>\n</tr>\n<tr>\n<td>Latin</td>\n<td>Free (because endings say everything)</td>\n<td>Felix in tapete sedet</td>\n</tr>\n</tbody>\n</table>\n<p>Polish is nice because we have quite a lot of freedom in word order. While in English &quot;On the mat sits the cat&quot; sounds poetic or unnatural, for us it's a normal sentence ;-)</p>\n<h3><a href=\"#the-syntax-tree\" aria-hidden=\"true\" class=\"anchor\" id=\"the-syntax-tree\"></a>The syntax tree</h3>\n<p>Sentences have a hierarchical structure - words group into phrases, and phrases into larger phrases. You can draw it as a tree:</p>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"791.7824\" height=\"479\" viewBox=\"0 0 791.7824 479\"><rect x=\"0\" y=\"0\" width=\"791.7824\" height=\"479\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 223.401,59.000 L 223.401,68.625 Q 223.401,76.500 215.799,78.553 L 175.463,89.447 Q 167.860,91.500 167.860,99.375 L 167.860,109.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(167.86 109.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 343.582,59.000 L 343.582,68.625 Q 343.582,76.500 351.163,78.631 L 389.363,89.369 Q 396.945,91.500 396.945,99.375 L 396.945,109.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(396.94 109.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 104.330,160.000 L 104.330,170.286 Q 104.330,177.500 101.785,184.250 L 101.219,185.750 Q 98.674,192.500 98.674,199.714 L 98.674,210.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(98.67 210.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 424.479,160.000 L 424.479,169.625 Q 424.479,177.500 417.210,180.528 L 395.732,189.472 Q 388.462,192.500 388.462,200.375 L 388.462,210.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(388.46 210.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-4\" class=\"edgePath\" data-edge-id=\"edge-4\" d=\"M 504.072,160.000 L 504.072,169.625 Q 504.072,177.500 511.094,181.065 L 526.591,188.935 Q 533.612,192.500 533.612,200.375 L 533.612,210.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(533.61 210.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-5\" class=\"edgePath\" data-edge-id=\"edge-5\" d=\"M 541.823,261.000 L 541.823,270.625 Q 541.823,278.500 535.962,283.760 L 530.969,288.240 Q 525.108,293.500 525.108,301.375 L 525.108,311.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(525.11 311.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-6\" class=\"edgePath\" data-edge-id=\"edge-6\" d=\"M 629.612,261.000 L 629.612,270.625 Q 629.612,278.500 636.207,282.804 L 645.999,289.196 Q 652.594,293.500 652.594,301.375 L 652.594,311.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(652.59 311.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-7\" class=\"edgePath\" data-edge-id=\"edge-7\" d=\"M 676.678,362.000 L 676.678,412.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(676.68 412.00) rotate(90.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"35.51\" y=\"210.00\" width=\"120.56\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"95.79\" y=\"239.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"95.79\" dy=\"0.00\">The cat</tspan></text><rect x=\"616.51\" y=\"412.00\" width=\"120.56\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"676.79\" y=\"441.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"676.79\" dy=\"0.00\">the mat</tspan></text><rect x=\"8.00\" y=\"109.00\" width=\"198.43\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#99ff99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"107.21\" y=\"138.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"107.21\" dy=\"0.00\">NP (noun phrase)</tspan></text><rect x=\"577.35\" y=\"311.00\" width=\"198.43\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"676.57\" y=\"340.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"676.57\" dy=\"0.00\">NP (noun phrase)</tspan></text><rect x=\"448.67\" y=\"311.00\" width=\"77.44\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"487.39\" y=\"340.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"487.39\" dy=\"0.00\">on</tspan></text><rect x=\"443.46\" y=\"210.00\" width=\"276.29\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ff9999\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"581.61\" y=\"239.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"581.61\" dy=\"0.00\">PP (prepositional phrase)</tspan></text><rect x=\"202.14\" y=\"8.00\" width=\"163.82\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#9999ff\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"284.05\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#fff\"><tspan x=\"284.05\" dy=\"0.00\">S (sentence)</tspan></text><rect x=\"296.78\" y=\"210.00\" width=\"94.61\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"344.09\" y=\"239.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"344.09\" dy=\"0.00\">sits</tspan></text><rect x=\"357.26\" y=\"109.00\" width=\"198.43\" height=\"51.00\" rx=\"3\" ry=\"3\" fill=\"#ffcc99\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"456.48\" y=\"138.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#000\"><tspan x=\"456.48\" dy=\"0.00\">VP (verb phrase)</tspan></text></svg></div>\n<p>That's the simple sentence &quot;The cat sits on the mat&quot; and it already has its hierarchy! Now imagine sentences with subordinate clauses, participles, adverbials...</p>\n<h3><a href=\"#colorless-green-ideas-sleep-furiously\" aria-hidden=\"true\" class=\"anchor\" id=\"colorless-green-ideas-sleep-furiously\"></a>&quot;Colorless green ideas sleep furiously&quot;</h3>\n<p>This is a famous example from Noam Chomsky.</p>\n<p>The sentence is <strong>syntactically correct</strong> - it has a subject, a predicate, a proper structure. But <strong>semantically</strong> it's complete nonsense - ideas can't be green or sleep.</p>\n<p>And that's exactly the proof that <strong>syntax and semantics are two different levels</strong>. You can have perfect syntax and zero sense ;-)</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p><strong>Syntax is an LLM's superpower.</strong> The model learns to predict the next token based on a huge amount of text data. In the process it absorbs syntactic patterns - it knows that after &quot;The cat sits on...&quot; we expect a noun, and after &quot;Quickly...&quot; a verb. This is the foundation of why an LLM generates grammatically correct sentences.</p>\n</div>\n<h3><a href=\"#quiz-correct-or-not\" aria-hidden=\"true\" class=\"anchor\" id=\"quiz-correct-or-not\"></a>Quiz: correct or not?</h3>\n<p>Test yourself - which sentences are syntactically correct?<sup class=\"footnote-ref\"><a href=\"#fn-1\" id=\"fnref-1\" data-footnote-ref>1</a></sup></p>\n<ol>\n<li>The dog barks at the mailman.</li>\n<li>At the mailman barks the dog.</li>\n<li>Barks the dog at the mailman.</li>\n<li>The dog the mailman at barks.</li>\n<li>Does the dog bark at the mailman?</li>\n</ol>\n<hr />\n<h2><a href=\"#semantics---what-does-meaning-even-mean\" aria-hidden=\"true\" class=\"anchor\" id=\"semantics---what-does-meaning-even-mean\"></a>Semantics - what does &quot;meaning&quot; even mean?</h2>\n<h3><a href=\"#what-is-semantics\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-semantics\"></a>What is semantics?</h3>\n<p>If syntax asks &quot;how is this built?&quot;, semantics asks: <strong>&quot;what does it mean?&quot;</strong></p>\n<p>Semantics studies the meaning of words, phrases, and sentences. And right away it turns out this isn't simple at all.</p>\n<h3><a href=\"#polysemy---one-word-many-meanings\" aria-hidden=\"true\" class=\"anchor\" id=\"polysemy---one-word-many-meanings\"></a>Polysemy - one word, many meanings</h3>\n<p>A classic English example: <strong>bank</strong></p>\n<ul>\n<li>Bank - a financial institution (&quot;I deposited money at the bank&quot;)</li>\n<li>Bank - the side of a river (&quot;The river bank was muddy&quot;)</li>\n<li>Bank - a row of similar things (&quot;A bank of computers&quot;)</li>\n<li>Bank - to tilt an aircraft (&quot;The plane banked to the left&quot;)</li>\n</ul>\n<p>The same word, four completely different meanings. How does an LLM know which one is meant? <strong>From context.</strong> And that's exactly what it does well - because it has seen millions of sentences where &quot;bank&quot; appeared in different contexts.</p>\n<p>Or another classic - polysemy within a single sentence:</p>\n<blockquote>\n<p>&quot;I can can the canning of cans.&quot;</p>\n</blockquote>\n<p>The word &quot;can&quot; three times, three different functions: <strong>can</strong> (be able to), <strong>can</strong> (the verb, to put in a can), <strong>can</strong> (the noun, a container). Context changes everything ;-)</p>\n<h3><a href=\"#synonyms---are-big-large-and-huge-the-same\" aria-hidden=\"true\" class=\"anchor\" id=\"synonyms---are-big-large-and-huge-the-same\"></a>Synonyms - are &quot;big&quot;, &quot;large&quot;, and &quot;huge&quot; the same?</h3>\n<p>Almost. But not quite:</p>\n<ul>\n<li><strong>A big house</strong> - normal, just sizable</li>\n<li><strong>A large house</strong> - sounds a bit more formal</li>\n<li><strong>A huge house</strong> - now that's a mansion :D</li>\n</ul>\n<p>Semantics studies these subtle differences - both <strong>denotation</strong> (literal meaning) and <strong>connotation</strong> (associations, emotional coloring).</p>\n<h3><a href=\"#how-does-an-llm-understand-meaning\" aria-hidden=\"true\" class=\"anchor\" id=\"how-does-an-llm-understand-meaning\"></a>How does an LLM &quot;understand&quot; meaning?</h3>\n<p>Here enters the concept of <strong>word embeddings</strong>. In broad terms: each word is represented as a vector - a sequence of numbers - in a high-dimensional space. Words with similar meanings are &quot;close&quot; to each other in that space.</p>\n<p>The famous example you've probably seen:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">vector(&quot;king&quot;) - vector(&quot;man&quot;) + vector(&quot;woman&quot;) ≈ vector(&quot;queen&quot;)\n</code></pre>\n<p>Meaning: the model &quot;knows&quot; that the relationship between &quot;king&quot; and &quot;man&quot; is analogous to the relationship between &quot;queen&quot; and &quot;woman&quot;. And it got that purely from data - nobody taught it that!</p>\n<p>We can even show this in code. Here's a simple example with the <code>gensim</code> library in Python:</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), ...]  -- in first place: queen!</a-c></code></pre>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>If you want to test this yourself:</strong> install <code>gensim</code> (<code>pip install gensim</code>) and run the code above. Of course you'll need some RAM - the GloVe model isn't small. But the result is genuinely satisfying ;-)</p>\n</div>\n<h3><a href=\"#compositionality\" aria-hidden=\"true\" class=\"anchor\" id=\"compositionality\"></a>Compositionality</h3>\n<p>One of the most important concepts in semantics: <strong>the meaning of a sentence is the result of the meanings of the individual words + the rules for combining them.</strong></p>\n<p>So: &quot;The red cat sits on the mat&quot; = [red] + [cat] + [sits] + [on] + [the mat] + syntactic rules.</p>\n<p>Sounds trivial, but it's a powerful principle. Thanks to it we can understand an infinite number of sentences, even ones we've never heard before. And thanks to it an LLM can generate new, never-before-seen sentences that still make sense.</p>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>But careful:</strong> &quot;I understood that you didn't understand that it wasn't understandable.&quot; - each word is simple, but the sentence as a whole requires analyzing it layer by layer. Compositionality is a powerful tool, but it has its limits.</p>\n</div>\n<hr />\n<h2><a href=\"#pragmatics---what-i-really-meant\" aria-hidden=\"true\" class=\"anchor\" id=\"pragmatics---what-i-really-meant\"></a>Pragmatics - what I really meant</h2>\n<h3><a href=\"#what-is-pragmatics\" aria-hidden=\"true\" class=\"anchor\" id=\"what-is-pragmatics\"></a>What is pragmatics?</h3>\n<p>And so we arrive at the most interesting layer (in my opinion). <strong>Pragmatics</strong> studies <strong>how context influences the meaning of an utterance</strong> - what we <em>really</em> want to say, often by saying something completely different.</p>\n<p>If semantics asks &quot;what does this mean?&quot;, pragmatics asks: <strong>&quot;what did the author mean in this particular situation?&quot;</strong></p>\n<h3><a href=\"#scenes-from-life\" aria-hidden=\"true\" class=\"anchor\" id=\"scenes-from-life\"></a>Scenes from life</h3>\n<p><strong>Scene 1: &quot;It's cold in here.&quot;</strong></p>\n<p>Semantically: information about the temperature in the room.\nPragmatically: <strong>&quot;Close the window!&quot;</strong> or <strong>&quot;Turn up the heating!&quot;</strong> or <strong>&quot;Give me a blanket.&quot;</strong></p>\n<p>Every one of you understands that when someone says &quot;It's cold in here&quot; while standing next to an open window - you don't ask about degrees Celsius, you just close the window.</p>\n<p><strong>Scene 2: &quot;Could you pass the salt?&quot;</strong></p>\n<p>Semantically: a question about your <em>ability</em> to pass the salt.\nPragmatically: <strong>a request to pass the salt.</strong></p>\n<p>Answering &quot;Yes, I could&quot; (and nothing more) is semantically correct, but pragmatically... well, you're being a bit rude ;-)</p>\n<p><strong>Scene 3: Irony</strong></p>\n<blockquote>\n<p>&quot;Well congratulations, you broke it again.&quot;</p>\n</blockquote>\n<p>Semantically: congratulations.\nPragmatically: <strong>irony, criticism, disappointment.</strong></p>\n<p>Does an LLM catch irony? Sometimes yes, sometimes no. It's still an open research problem.</p>\n<h3><a href=\"#speech-act-theory\" aria-hidden=\"true\" class=\"anchor\" id=\"speech-act-theory\"></a>Speech act theory</h3>\n<p>The philosopher J.L. Austin came up with something brilliant: <strong>utterances don't just describe reality, they also <em>do</em> things.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Type of speech act</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Locutionary</strong></td>\n<td>The utterance itself</td>\n<td>You say &quot;I'm closing the window&quot;</td>\n</tr>\n<tr>\n<td><strong>Illocutionary</strong></td>\n<td>The intention of the utterance</td>\n<td>A promise to close the window</td>\n</tr>\n<tr>\n<td><strong>Perlocutionary</strong></td>\n<td>The effect on the listener</td>\n<td>The listener feels relieved</td>\n</tr>\n</tbody>\n</table>\n<p>Other examples of speech acts:</p>\n<ul>\n<li><strong>A promise:</strong> &quot;I promise I'll do it.&quot; - by saying it, you <em>perform</em> the act of promising</li>\n<li><strong>A declaration:</strong> &quot;I now pronounce you married.&quot; - someone must have the authority for it, but it works!</li>\n<li><strong>An apology:</strong> &quot;I'm sorry.&quot; - that's not a description of a state of affairs, it <em>is</em> the act of apologizing</li>\n</ul>\n<h3><a href=\"#grices-implicatures\" aria-hidden=\"true\" class=\"anchor\" id=\"grices-implicatures\"></a>Grice's implicatures</h3>\n<p>Paul Grice, another philosopher of language, noticed that conversation follows a <strong>cooperative principle</strong> - we say things that are relevant, true, clear, and on topic.</p>\n<p>When someone breaks that principle, we look for an <strong>implicature</strong> - a hidden meaning.</p>\n<p>Example:</p>\n<blockquote>\n<p>A: &quot;Are you going to the party?&quot;\nB: &quot;I have an exam tomorrow.&quot;</p>\n</blockquote>\n<p>B didn't answer &quot;yes&quot; or &quot;no&quot;. But from the context A understands: <strong>I'm not going, because I have to study.</strong> That's a conversational implicature.</p>\n<h3><a href=\"#how-does-an-llm-handle-pragmatics\" aria-hidden=\"true\" class=\"anchor\" id=\"how-does-an-llm-handle-pragmatics\"></a>How does an LLM handle pragmatics?</h3>\n<div class=\"markdown-alert markdown-alert-warning\">\n<p class=\"markdown-alert-title\">Warning</p>\n<p><strong>This is the hardest layer for an LLM.</strong> And that's not just my opinion - researchers all over the world are working on benchmarks that test the pragmatics of language models.</p>\n</div>\n<p>The problems:</p>\n<ul>\n<li><strong>Irony and sarcasm</strong> - the model often takes it literally</li>\n<li><strong>Implicatures</strong> - it doesn't always &quot;catch&quot; what's between the lines</li>\n<li><strong>Speech acts</strong> - it may not recognize whether someone is promising, asking, or threatening</li>\n<li><strong>Cultural context</strong> - what's polite in one culture is rude in another</li>\n</ul>\n<p>But on the other hand - GPT-4 and newer models are getting better and better. Why? Because <strong>the enormous amount of training data contains pragmatics in practice</strong> - dialogues from movies, books, internet forums. The model has &quot;seen&quot; millions of examples of irony, politeness, requests.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p><strong>An experiment for you:</strong> Open ChatGPT (or Claude, or whatever you have at hand) and run this short test:</p>\n<p>Tell the model:</p>\n<p><em>&quot;I just hammered my finger.&quot;</em></p>\n<p>Then, in a new conversation:</p>\n<p><em>&quot;Well congratulations, I hammered my finger again!&quot;</em></p>\n<p>See whether the model notices that in the second case &quot;congratulations&quot; is irony, or whether it starts calling an ambulance?</p>\n</div>\n<hr />\n<h2><a href=\"#summary---the-whole-onion-in-one-place\" aria-hidden=\"true\" class=\"anchor\" id=\"summary---the-whole-onion-in-one-place\"></a>Summary - the whole onion in one place</h2>\n<p>Here are our five layers, in a nutshell:</p>\n<table>\n<thead>\n<tr>\n<th>Layer</th>\n<th>What it studies</th>\n<th>Example</th>\n<th>How the LLM handles it</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Phonetics &amp; phonology</strong></td>\n<td>Sounds and the system of sounds</td>\n<td>/kat/ vs /hat/</td>\n<td>Never hears them, but &quot;knows&quot; from text data</td>\n</tr>\n<tr>\n<td><strong>Morphology</strong></td>\n<td>Word structure from morphemes</td>\n<td>un-happy-ness</td>\n<td>BPE tokenization != morphemes, but it works somehow</td>\n</tr>\n<tr>\n<td><strong>Syntax</strong></td>\n<td>Word order in a sentence</td>\n<td>The cat sits on the mat</td>\n<td>The model's superpower - handles grammar great</td>\n</tr>\n<tr>\n<td><strong>Semantics</strong></td>\n<td>Meaning of words and sentences</td>\n<td>&quot;bank&quot; - which one?</td>\n<td>Word embeddings + context</td>\n</tr>\n<tr>\n<td><strong>Pragmatics</strong></td>\n<td>Meaning in context</td>\n<td>&quot;It's cold&quot; = close the window</td>\n<td>The hardest layer, still an open problem</td>\n</tr>\n</tbody>\n</table>\n<div class=\"mermaid-diagram\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1209.4475\" height=\"211.5\" viewBox=\"0 0 1209.4475 211.5\"><rect x=\"0\" y=\"0\" width=\"1209.4475\" height=\"211.5\" fill=\"#FFFFFF\"/><defs><marker id=\"arrow-0\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker><marker id=\"arrow-start-0\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"1\" stroke-dasharray=\"1,0\"/></marker></defs><rect x=\"8.00\" y=\"8.00\" width=\"1185.45\" height=\"187.50\" rx=\"10\" ry=\"10\" fill=\"#F1F5F9\" stroke=\"#CBD5E1\" stroke-width=\"1\" /><text x=\"600.72\" y=\"37.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"600.72\" dy=\"0.00\">How an LLM processes</tspan><tspan x=\"600.72\" dy=\"21.00\">language</tspan></text><path id=\"edge-0\" class=\"edgePath\" data-edge-id=\"edge-0\" d=\"M 220.473,135.000 L 244.473,135.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(244.47 135.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-1\" class=\"edgePath\" data-edge-id=\"edge-1\" d=\"M 494.813,135.000 L 518.813,135.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(518.81 135.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-2\" class=\"edgePath\" data-edge-id=\"edge-2\" d=\"M 673.983,135.000 L 697.983,135.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(697.98 135.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><path id=\"edge-3\" class=\"edgePath\" data-edge-id=\"edge-3\" d=\"M 956.974,135.000 L 980.974,135.000\" fill=\"none\" stroke=\"#64748B\" stroke-width=\"2\"    stroke-linecap=\"round\" stroke-linejoin=\"round\" /><g transform=\"translate(980.97 135.00) rotate(0.00)\"><polygon points=\"0,0 -7.50,3.90 -7.50,-3.90\" fill=\"#64748B\" stroke=\"#64748B\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/></g><rect x=\"48.00\" y=\"83.00\" width=\"172.47\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"134.24\" y=\"112.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"134.24\" dy=\"0.00\">Phonetics</tspan><tspan x=\"134.24\" dy=\"21.00\">❌ never hears</tspan></text><rect x=\"244.47\" y=\"72.50\" width=\"250.34\" height=\"93.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"369.64\" y=\"101.50\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"369.64\" dy=\"0.00\">Morphology</tspan><tspan x=\"369.64\" dy=\"21.00\">⚠️ through the lens of</tspan><tspan x=\"369.64\" dy=\"21.00\">tokens</tspan></text><rect x=\"980.97\" y=\"83.00\" width=\"172.47\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"1067.21\" y=\"112.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"1067.21\" dy=\"0.00\">Pragmatics</tspan><tspan x=\"1067.21\" dy=\"21.00\">❓ the hardest</tspan></text><rect x=\"518.81\" y=\"83.00\" width=\"155.17\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"596.40\" y=\"112.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"596.40\" dy=\"0.00\">Syntax</tspan><tspan x=\"596.40\" dy=\"21.00\">✅ very well</tspan></text><rect x=\"697.98\" y=\"83.00\" width=\"258.99\" height=\"72.00\" rx=\"3\" ry=\"3\" fill=\"#F8FAFC\" stroke=\"#94A3B8\" stroke-width=\"1\" stroke-linejoin=\"round\" stroke-linecap=\"round\"/><text x=\"827.48\" y=\"112.00\" text-anchor=\"middle\" font-family=\"Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,DejaVu Sans,Liberation Sans,sans-serif,Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji\" font-size=\"14\" fill=\"#0F172A\"><tspan x=\"827.48\" dy=\"0.00\">Semantics</tspan><tspan x=\"827.48\" dy=\"21.00\">✅ well, with exceptions</tspan></text></svg></div>\n<h3><a href=\"#whats-next\" aria-hidden=\"true\" class=\"anchor\" id=\"whats-next\"></a>What's next?</h3>\n<p>In the next post we change perspective - instead of looking at the layers of language, we look at the very nature of signs and meaning:</p>\n<ul>\n<li><strong><a href=\"semiotics-and-llm.html\">Semiotics - why an LLM doesn't &quot;think&quot;, yet still means something</a></strong></li>\n</ul>\n<hr />\n<p>If you made it all the way here - <strong>thanks!</strong> ;-) I really appreciate that you took the time to read this monster.</p>\n<p>I hope I brought the topic a little closer to you. If anything is unclear - <strong>let me know in the comments</strong>, I'll try to explain. And if you have better examples (and you surely do!) - even more reason to let me know.</p>\n<p>Which layer surprised you the most? Which do you find the most interesting in the context of AI?</p>\n<p>See you in the next post!</p>\n<hr />\n<p><strong>Sources and interesting links:</strong></p>\n<p>If you want to go deeper, here are the materials I used when writing this post:</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> - a great overview of linguistics subfields with examples</li>\n<li><a href=\"https://fiveable.me/lists/levels-of-linguistic-analysis\">Levels of Linguistic Analysis - Fiveable</a> - a synthesis of the levels of language analysis</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> - a simple, didactic take on the five language domains</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> - a bridge between linguistics and LLM practice</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> - how the linguistic competence of models is studied</li>\n<li><a href=\"https://arxiv.org/abs/2502.12378\">Pragmatics in the Era of LLMs: A Survey - arXiv</a> - a survey of research on pragmatics in LLMs</li>\n</ul>\n<section class=\"footnotes\" data-footnotes>\n<ol>\n<li id=\"fn-1\">\n<p>Quiz answers: sentences 1 and 5 are correct. Sentence 1 has standard SVO order. Sentence 5 is a grammatical question formed with the auxiliary &quot;does&quot;. Sentences 2 and 3 are understandable but sound archaic or poetic - English allows such inversions only in limited stylistic contexts, unlike Polish where flexible word order is the norm. Sentence 4 (&quot;The dog the mailman at barks&quot;) is syntactically incorrect - the word order is so jumbled it violates the rules of English grammar. <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": "\"Five layers of language - phonetics, morphology, syntax, semantics, pragmatics - and how an LLM handles each of them.\"",
      "date_published": "2026-06-06T00:00:00-00:00",
      "image": "",
      "authors": [
        {
          "name": "Blazej Gruszka",
          "url": "https://www.linkedin.com/in/blazejgruszka/",
          "avatar": "https://github.com/bgruszka.png"
        }
      ],
      "tags": [
        "llm",
        "ai",
        "nlp",
        "linguistics",
        "language-models",
        "chatgpt"
      ],
      "language": "en"
    }
  ]
}