diff --git a/wyk/02_Jezyki.ipynb b/wyk/02_Jezyki.ipynb
new file mode 100644
index 0000000..3f16767
--- /dev/null
+++ b/wyk/02_Jezyki.ipynb
@@ -0,0 +1,1780 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Modelowanie języka
\n",
+ " 2. Języki [wykład]
\n",
+ " Filip Graliński (2022)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Języki i ich prawa\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Jakim rozkładom statystycznym podlegają języki?\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Język naturalny albo „Pan Tadeusz” w liczbach\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Przygotujmy najpierw „infrastrukturę” do *segmentacji* tekstu na różnego rodzaju jednostki.\n",
+ "Używać będziemy generatorów.\n",
+ "\n",
+ "**Pytanie** Dlaczego generatory zamiast list?\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Księga pierwsza\\r\\n\\r\\n\\r\\n\\r\\nGospodarstwo\\r\\n\\r\\nPowrót pani'"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import requests\n",
+ "\n",
+ "url = 'https://wolnelektury.pl/media/book/txt/pan-tadeusz.txt'\n",
+ "pan_tadeusz = requests.get(url).content.decode('utf-8')\n",
+ "\n",
+ "pan_tadeusz[100:150]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Znaki\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['K',\n",
+ " 's',\n",
+ " 'i',\n",
+ " 'ę',\n",
+ " 'g',\n",
+ " 'a',\n",
+ " ' ',\n",
+ " 'p',\n",
+ " 'i',\n",
+ " 'e',\n",
+ " 'r',\n",
+ " 'w',\n",
+ " 's',\n",
+ " 'z',\n",
+ " 'a',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " 'G',\n",
+ " 'o',\n",
+ " 's',\n",
+ " 'p',\n",
+ " 'o',\n",
+ " 'd',\n",
+ " 'a',\n",
+ " 'r',\n",
+ " 's',\n",
+ " 't',\n",
+ " 'w',\n",
+ " 'o',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " '\\r',\n",
+ " '\\n',\n",
+ " 'P',\n",
+ " 'o',\n",
+ " 'w',\n",
+ " 'r',\n",
+ " 'ó',\n",
+ " 't',\n",
+ " ' ',\n",
+ " 'p',\n",
+ " 'a',\n",
+ " 'n',\n",
+ " 'i']"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from itertools import islice\n",
+ "\n",
+ "def get_characters(t):\n",
+ " yield from t\n",
+ "\n",
+ "list(islice(get_characters(pan_tadeusz), 100, 150))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Counter({'A': 698,\n",
+ " 'd': 11465,\n",
+ " 'a': 30979,\n",
+ " 'm': 10269,\n",
+ " ' ': 63444,\n",
+ " 'M': 585,\n",
+ " 'i': 29353,\n",
+ " 'c': 14153,\n",
+ " 'k': 12362,\n",
+ " 'e': 25343,\n",
+ " 'w': 14625,\n",
+ " 'z': 22741,\n",
+ " '\\r': 10851,\n",
+ " '\\n': 10851,\n",
+ " 'P': 1265,\n",
+ " 'n': 15505,\n",
+ " 'T': 971,\n",
+ " 'u': 7699,\n",
+ " 's': 15255,\n",
+ " 'y': 13732,\n",
+ " 'l': 6677,\n",
+ " 'o': 23050,\n",
+ " 't': 10757,\n",
+ " 'j': 6586,\n",
+ " 'L': 316,\n",
+ " 'I': 795,\n",
+ " 'S': 1045,\n",
+ " 'B': 567,\n",
+ " 'N': 793,\n",
+ " '9': 8,\n",
+ " '7': 2,\n",
+ " '8': 10,\n",
+ " '-': 33,\n",
+ " '3': 3,\n",
+ " '2': 6,\n",
+ " '4': 2,\n",
+ " '5': 2,\n",
+ " 'K': 683,\n",
+ " 'ę': 5534,\n",
+ " 'g': 4775,\n",
+ " 'p': 8031,\n",
+ " 'r': 15328,\n",
+ " 'G': 358,\n",
+ " 'ó': 3097,\n",
+ " '—': 720,\n",
+ " ',': 9130,\n",
+ " 'ł': 10059,\n",
+ " 'W': 1258,\n",
+ " 'ż': 3334,\n",
+ " 'ś': 2524,\n",
+ " 'ą': 4794,\n",
+ " 'Ż': 219,\n",
+ " 'O': 567,\n",
+ " 'ź': 414,\n",
+ " 'b': 5753,\n",
+ " 'R': 489,\n",
+ " 'E': 23,\n",
+ " '!': 1083,\n",
+ " ':': 1152,\n",
+ " 'ć': 1956,\n",
+ " '.': 2380,\n",
+ " 'D': 552,\n",
+ " 'J': 729,\n",
+ " 'C': 556,\n",
+ " 'h': 3915,\n",
+ " '(': 76,\n",
+ " 'f': 386,\n",
+ " ';': 1445,\n",
+ " 'ń': 651,\n",
+ " ')': 76,\n",
+ " 'Z': 785,\n",
+ " 'Ś': 71,\n",
+ " 'U': 184,\n",
+ " 'F': 47,\n",
+ " 'é': 43,\n",
+ " '?': 441,\n",
+ " '…': 157,\n",
+ " '«': 540,\n",
+ " 'H': 309,\n",
+ " '»': 538,\n",
+ " 'Ó': 13,\n",
+ " 'Ł': 24,\n",
+ " 'x': 3,\n",
+ " 'v': 5,\n",
+ " '*': 150,\n",
+ " 'à': 1,\n",
+ " 'Ź': 4,\n",
+ " 'V': 3,\n",
+ " '/': 19,\n",
+ " 'Ć': 1,\n",
+ " 'q': 2,\n",
+ " '1': 4,\n",
+ " 'æ': 2,\n",
+ " '6': 1,\n",
+ " '0': 1})"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from collections import Counter\n",
+ "\n",
+ "c = Counter(get_characters(pan_tadeusz))\n",
+ "\n",
+ "c"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Napiszmy pomocniczą funkcję, która zwraca **listę frekwencyjną**.\n",
+ "\n",
+ "Counter({' ': 63444, 'a': 30979, 'i': 29353, 'e': 25343, 'o': 23050, 'z': 22741, 'n': 15505, 'r': 15328, 's': 15255, 'w': 14625, 'c': 14153, 'y': 13732, 'k': 12362, 'd': 11465, '\\r': 10851, '\\n': 10851, 't': 10757, 'm': 10269, 'ł': 10059, ',': 9130, 'p': 8031, 'u': 7699, 'l': 6677, 'j': 6586, 'b': 5753, 'ę': 5534, 'ą': 4794, 'g': 4775, 'h': 3915, 'ż': 3334, 'ó': 3097, 'ś': 2524, '.': 2380, 'ć': 1956, ';': 1445, 'P': 1265, 'W': 1258, ':': 1152, '!': 1083, 'S': 1045, 'T': 971, 'I': 795, 'N': 793, 'Z': 785, 'J': 729, '—': 720, 'A': 698, 'K': 683, 'ń': 651, 'M': 585, 'B': 567, 'O': 567, 'C': 556, 'D': 552, '«': 540, '»': 538, 'R': 489, '?': 441, 'ź': 414, 'f': 386, 'G': 358, 'L': 316, 'H': 309, 'Ż': 219, 'U': 184, '…': 157, '\\*': 150, '(': 76, ')': 76, 'Ś': 71, 'F': 47, 'é': 43, '-': 33, 'Ł': 24, 'E': 23, '/': 19, 'Ó': 13, '8': 10, '9': 8, '2': 6, 'v': 5, 'Ź': 4, '1': 4, '3': 3, 'x': 3, 'V': 3, '7': 2, '4': 2, '5': 2, 'q': 2, 'æ': 2, 'à': 1, 'Ć': 1, '6': 1, '0': 1})\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "OrderedDict([(' ', 63444),\n",
+ " ('a', 30979),\n",
+ " ('i', 29353),\n",
+ " ('e', 25343),\n",
+ " ('o', 23050),\n",
+ " ('z', 22741),\n",
+ " ('n', 15505),\n",
+ " ('r', 15328)])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from collections import Counter\n",
+ "from collections import OrderedDict\n",
+ "\n",
+ "def freq_list(g, top=None):\n",
+ " c = Counter(g)\n",
+ "\n",
+ " if top is None:\n",
+ " items = c.items()\n",
+ " else:\n",
+ " items = c.most_common(top)\n",
+ "\n",
+ " return OrderedDict(sorted(items, key=lambda t: -t[1]))\n",
+ "\n",
+ "freq_list(get_characters(pan_tadeusz), top=8)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_6969/6903746.py:14: UserWarning: Glyph 13 (\r",
+ ") missing from current font.\n",
+ " plt.savefig(fname)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "'02_Jezyki/pt-chars.png'"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/usr/lib/python3.10/site-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 13 (\r",
+ ") missing from current font.\n",
+ " fig.canvas.print_figure(bytes_io, **kw)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "