From 6b35645469d7e8d27411c7aa4501f0f492943604 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Sun, 20 Mar 2022 20:40:49 +0100 Subject: [PATCH] Up --- wyk/02_Jezyki.org | 46 +- wyk/02_Jezyki/dna-aminos.png | Bin 7445 -> 15792 bytes wyk/02_Jezyki/dna-chars.png | Bin 5888 -> 12439 bytes wyk/02_Jezyki/dna_length.png | Bin 6065 -> 13466 bytes wyk/02_Jezyki/pt-2-word-ngrams-log-log.png | Bin 6764 -> 11811 bytes wyk/02_Jezyki/pt-3-char-ngrams-log-log.png | Bin 8771 -> 15450 bytes wyk/02_Jezyki/pt-chars.png | Bin 11868 -> 25256 bytes wyk/02_Jezyki/pt-lengths.png | Bin 21390 -> 42193 bytes wyk/02_Jezyki/pt-words-20.png | Bin 7941 -> 17264 bytes wyk/02_Jezyki/pt-words-log-log.png | Bin 8232 -> 14454 bytes wyk/02_Jezyki/pt-words-log.png | Bin 5716 -> 10602 bytes wyk/02_Jezyki/pt-words.png | Bin 6147 -> 12507 bytes wyk/02_Jezyki/voy-chars.png | Bin 9278 -> 19446 bytes wyk/02_Jezyki/voy-log-log.png | Bin 7937 -> 14043 bytes wyk/02_Jezyki/voy-words-20.png | Bin 8442 -> 17097 bytes wyk/02_Jezyki/voy-words-log-log.png | Bin 7937 -> 14043 bytes wyk/03_Entropia.ipynb | 657 ++++++++++++++++++ wyk/03_Entropia.org | 49 +- wyk/04_Ngramowy_model.ipynb | 2 +- wyk/04_Ngramowy_model.org | 109 ++- wyk/04_Ngramowy_model/lm-communication.drawio | 1 + .../lm-communication.drawio.png | Bin 0 -> 15921 bytes 22 files changed, 816 insertions(+), 48 deletions(-) create mode 100644 wyk/03_Entropia.ipynb create mode 100644 wyk/04_Ngramowy_model/lm-communication.drawio create mode 100644 wyk/04_Ngramowy_model/lm-communication.drawio.png diff --git a/wyk/02_Jezyki.org b/wyk/02_Jezyki.org index ca42c72..8f95bd5 100644 --- a/wyk/02_Jezyki.org +++ b/wyk/02_Jezyki.org @@ -9,7 +9,7 @@ Używać będziemy generatorów. *Pytanie* Dlaczego generatory zamiast list? -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer import requests url = 'https://wolnelektury.pl/media/book/txt/pan-tadeusz.txt' @@ -31,7 +31,7 @@ Powrót pani *** Znaki -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer from itertools import islice def get_characters(t): @@ -45,7 +45,7 @@ Powrót pani ['K', 's', 'i', 'ę', 'g', 'a', ' ', 'p', 'i', 'e', 'r', 'w', 's', 'z', 'a', '\r', '\n', '\r', '\n', '\r', '\n', '\r', '\n', 'G', 'o', 's', 'p', 'o', 'd', 'a', 'r', 's', 't', 'w', 'o', '\r', '\n', '\r', '\n', 'P', 'o', 'w', 'r', 'ó', 't', ' ', 'p', 'a', 'n', 'i'] :end: -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer from collections import Counter c = Counter(get_characters(pan_tadeusz)) @@ -65,7 +65,7 @@ Napiszmy pomocniczą funkcję, która zwraca *listę frekwencyjną*. 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}) :end: -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer from collections import Counter from collections import OrderedDict @@ -88,7 +88,7 @@ OrderedDict([(' ', 63444), ('a', 30979), ('i', 29353), ('e', 25343), ('o', 23050 :end: -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file import matplotlib.pyplot as plt from collections import OrderedDict @@ -119,7 +119,7 @@ Co rozumiemy pod pojęciem słowa czy wyrazu, nie jest oczywiste. W praktyce zal Załóżmy, że przez wyraz rozumieć będziemy nieprzerwany ciąg liter bądź cyfr (oraz gwiazdek — to za chwilę ułatwi nam analizę pewnego tekstu…). -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer from itertools import islice import regex as re @@ -138,7 +138,7 @@ Załóżmy, że przez wyraz rozumieć będziemy nieprzerwany ciąg liter bądź Zobaczmy 20 najczęstszych wyrazów. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file rang_freq_with_labels('pt-words-20', get_words(pan_tadeusz), top=20) #+END_SRC @@ -147,7 +147,7 @@ Zobaczmy 20 najczęstszych wyrazów. Zobaczmy pełny obraz, już bez etykiet. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file import matplotlib.pyplot as plt from math import log @@ -172,7 +172,7 @@ Zobaczmy pełny obraz, już bez etykiet. Widać, jak różne skale obejmuje ten wykres. Zastosujemy logarytm, najpierw tylko do współrzędnej $y$. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file import matplotlib.pyplot as plt from math import log @@ -222,7 +222,7 @@ logarytmicznej dla **obu** osi, otrzymamy kształt zbliżony do linii prostej. Tę własność tekstów nazywamy **prawem Zipfa**. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file import matplotlib.pyplot as plt from math import log @@ -249,7 +249,7 @@ Tę własność tekstów nazywamy **prawem Zipfa**. Powiązane z prawem Zipfa prawo językowe opisuje zależność między częstością użycia słowa a jego długością. Generalnie im krótsze słowo, tym częstsze. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file def freq_vs_length(name, g, top=None): freq = freq_list(g) @@ -294,7 +294,7 @@ po prostu na jednostkach, nie na ich podciągach. Statystyki, które policzyliśmy dla pojedynczych liter czy wyrazów, możemy powtórzyć dla n-gramów. -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer def ngrams(iter, size): ngram = [] for item in iter: @@ -317,7 +317,7 @@ Zawsze powinniśmy się upewnić, czy jest jasne, czy chodzi o n-gramy znakowe c *** 3-gramy znakowe -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file log_rang_log_freq('pt-3-char-ngrams-log-log', ngrams(get_characters(pan_tadeusz), 3)) #+END_SRC @@ -326,7 +326,7 @@ Zawsze powinniśmy się upewnić, czy jest jasne, czy chodzi o n-gramy znakowe c *** 2-gramy wyrazowe -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file log_rang_log_freq('pt-2-word-ngrams-log-log', ngrams(get_words(pan_tadeusz), 2)) #+END_SRC @@ -348,7 +348,7 @@ transkrybować manuskrypt, pozostaje sprawą dyskusyjną, natomiast wybór takiego czy innego systemu transkrypcji nie powinien wpływać dramatycznie na analizę statystyczną. -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer import requests voynich_url = 'http://www.voynich.net/reeds/gillogly/voynich.now' @@ -370,28 +370,28 @@ dramatycznie na analizę statystyczną. 9 OR 9FAM ZO8 QOAR9 Q*R 8ARAM 29 [O82*]OM OPCC9 OP :end: -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file rang_freq_with_labels('voy-chars', get_characters(voynich)) #+END_SRC #+RESULTS: [[file:02_Jezyki/voy-chars.png]] -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file log_rang_log_freq('voy-log-log', get_words(voynich)) #+END_SRC #+RESULTS: [[file:02_Jezyki/voy-log-log.png]] -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file rang_freq_with_labels('voy-words-20', get_words(voynich), top=20) #+END_SRC #+RESULTS: [[file:02_Jezyki/voy-words-20.png]] -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file log_rang_log_freq('voy-words-log-log', get_words(voynich)) #+END_SRC @@ -406,7 +406,7 @@ Podstawowe litery są tylko cztery, reprezentują one nukleotydy, z których zbu a, g, c, t. -#+BEGIN_SRC ipython :session mysession :exports both :results raw drawer +#+BEGIN_SRC python :session mysession :exports both :results raw drawer import requests dna_url = 'https://raw.githubusercontent.com/egreen18/NanO_GEM/master/rawGenome.txt' @@ -423,7 +423,7 @@ a, g, c, t. TATAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTA :end: -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file rang_freq_with_labels('dna-chars', get_characters(dna)) #+END_SRC @@ -436,7 +436,7 @@ Nukleotydy rzeczywiście są jak litery, same w sobie nie niosą znaczenia. Dopiero ciągi trzech nukleotydów, /tryplety/, kodują jeden z dwudziestu aminokwasów. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file genetic_code = { 'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M', 'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T', @@ -472,7 +472,7 @@ Z aminokwasów zakodowanych przez tryplet budowane są białka. Maszyneria budująca białka czyta sekwencję aż do napotkania trypletu STOP (_ powyżej). Taka sekwencja to /gen/. -#+BEGIN_SRC ipython :session mysession :results file +#+BEGIN_SRC python :session mysession :results file def get_genes(triplets): gene = [] for ammino in triplets: diff --git a/wyk/02_Jezyki/dna-aminos.png b/wyk/02_Jezyki/dna-aminos.png index dd6c1efc45c423912dd28950ad8dd4d682b790ea..d1f36bd5e7ccadc06112294feb74714a0d00f9e6 100644 GIT binary patch literal 15792 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 literal 7445 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 GFZ~xTAoJz` diff --git a/wyk/02_Jezyki/dna-chars.png b/wyk/02_Jezyki/dna-chars.png index 8a49877939b5d11c768b75b0a9fa0f86be585e2d..3a86ed00f3e7bb1e77bee55d43b304302f8283e1 100644 GIT binary patch literal 12439 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 S|1tg=4Nwny9jMwz`}}Xw&#Qg_ diff --git a/wyk/02_Jezyki/dna_length.png b/wyk/02_Jezyki/dna_length.png index 3121f7e70f938b85f8978833836e0a06c520833a..fd043ea575472d48b2e75471469b5a524f28ccd6 100644 GIT binary patch literal 13466 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 literal 6065 zcmd5=c~}#7-p?Tk%GIq^jv&-JKwE@}a*B{D9!vp2bU^ONDM%oK$QhET19aZ(iNoPbvCpTfB! z9eW@;GWgSjVR7-1u`%n+t;{V}f4cX;0cQMqDwXl>1oPOq2x`}!mkrpTEM_|U#N%*k zOBX(PT+VqN98TK++`MsD()rOo_O(7atN+Ci|KKK}7S+T2cKL3iyGKr`ZftCp#J5c`^R%Ax$0zFBCSEy=D;;iA8~b0? z3|&Tk019nrmSZFUOfgem1A3nR|6aT@>$p2=qzFH1;MVbh7$>;)Wmib%Yz*Xfye`vw zK!ZZ3*u;c}hllqvoISnaw8UPAdf&&JP67!+9Pdv`WC1>V(9p;(XHWEu$1tv_^* zdt=lB6jThAs0i>A#y%p=M8i_GuHI}$zLY{A7^61TJHy5gug0z{CYigJ=_RQ#30;~a z``X5dF_B_1cNR(zAi4N(E`@hZ<EG9DBL^7cw^jiE2dVKAQYkrp?(oD)^MasvV_~qjmI}a+}RsY6K0X z>A6UcAM_Bia}b!;=uvE>Z-ei^(ZOqc z1|A$d_ret}8nvy`IGzO*d8|^#e+kJefuKbOnp}ICFznl$rFJy_BL5_4yDNSC$d77r{(I!x0Z|9TBQ+L)9TDVqgW5P!>s9u z6Wn1$bp5ZEOIa$r;Y5?<;Js6Uuscw*R(KI;5l{d1qD7+7S+}^=!n;m#3alU5*2e?# zrG9Wn26h3of{zUIr704UM2Q|kVXa%uem#nVbT)LM2#MhMNNxf9xK@zd8CoVo@9Ti=ODg^G0^;N*apPrVJE1}@Dr&^g z-`ncXFWM(o8-@#(MGs=#d>7ru4Vv3nXYR>2k{)e%R1B;G!=DWeQHytgp5EC5OGcc~ z0Vn}+a1_O;wLiMz$I|RtV;SSX{87|N^`yB&qeaMbBqui~r}kUgH$Y_j>TMj>Fp9eji{ z#5t;YKx_}Fi5yK&#(2+M-gjzufAOEeWBt}_6%r(@bbw&;MDE?jxM5<82I7Ot#%E{c9}K-v@js?Ry~d<+0Tm zFo~QYUVYuE7(y-qW4a&1MCKuOR2^}S^MT#ejrVQniCLEmmQ~($tY_>!21I`6>+s9K zJW=ure5{^Ep0ror^y({E%pKzR;SuRxn5e#KOrIG6HFTYbCo^eGI~mgt)3`2Y;x!}} zcUe1GdRc9xiQHB0%pz5f!PX|AG^hWkm7o;H8~;~JyEAdMupB%AB!4D!Mk@<7 zr^ovV%$)k+g2mP+{Js}+S&URe<{b~#AG6v@iZhj%f(9;Sd{J>B!ox9G3H&!m+y9QV zAGWGZO~`hjM$h)-pr6Y~UDuFr<>uKLY(e9+QTzU>dq+nhxFahokPC^92plywsP?L! zkE&9M9Dc}{u%q9&FO#E3yn>pXS=T$oZx!7t;S2UBVEebaJ{+UueQ;G%g~rSx8L+_f zgW|;-Is{q-d)Plabm<|XUZy~NECP;ZlxxLO^j3ks7q=#>z0i|1TMw|TWJe+SFqp1p z`@`TtiJioYgREbW^iPHBq#Tl~uTkqg6KYm^88IkC2nIU8Eg4Hi zG0tI=W*&Hq<{;}A-+$y?HN9Rkb#eBYFC#!4xcf9vL|=#(w8iI(k(R*GAGSnQZpHxX zJr!y!Y@L~z;ivh4o|#*dRTSxxd@xrLrlfl z1kjrt(A+K3b!bBVFlN}44>jyd`_q4b7Oo##~MI1@gK##AdhS0b82w0 z#FBXxX(ajYgiP=~(^7$Qp$(q=OOVSV?S>k5L!HE7U4OTLs-MP=vWg*>jyBp?Wu`(` z`0Uiw)X_0-xFa*{?035{b4feZ9O3=XK42{LLG)W?4;o2Oc!>@`ZtiYw0Y4jVge~`M zwNu;wrO>`d@f0O$X3tS_?{G83pMk#3m<>X5 zH%Y_Mjv!o2Eqdl{LwM%pfv}g(hc?8AhP*f7O#@6{g<1OvZ=+kG5~E@gj7qROl!3j%QH2V!wdUD1NATmLThlw?efDKb;k1d*n? zjMh3AWnZN#e6hy|&YsQ7Ynlu<0{e6@?MYsGNH(1Yu?kPQSBk%>kU#gzBU-C#1Zkb$ zE0-VbXxj;;@}p{z%U3R6Ht*B=49v03KmVPMq#S(+$>W{eS1dXx7{y?BlCJ>GUCNF$ zhaTT1X53l_3IrkV;@p$#{aP~&i8E~CJDNvKB$DA?%?;$xQ_1@c_t)(d$~mG8)(GFA*=mTy#(d^Oz(UNu^i3j6;`b->1^?{@@o`?R9{ zJj5FM#mHUsiQ)|4$60|^GFlg)x0t}!aqcpFl3cMAUY>H2T!QqwmhIn|Y%e?Aqi~e) z(YA_dEYYcL;Ds))wh)%1IY`Q)PlZI(484&*GE45RR^Fk;(o!e3-Re356uAyes*n7k z0q`u3gj{c{j5;zsMRq=DbQWB@jz(jH=Xiiy_Wng(g}^>cF%IzC@RY*}zxP3%JOCF6 zEl%LVRu+GfPW=%uqm`fl z7_jy|C2sjIM$e9I27L_zxgcB{%E8K@*-wAbYrLTP*z;t8i_mmo%c8c1;8LbBnM_|M zJB!q&wweW4nj|^5UwU|R*=`s@**M2V(Rjz~&^t+WFmQY))thcZz>IkX2T*cH(VZcq z(gazQD;$^?NQhn`o4G$=Cuz$pJna(mBsA0TCzMx^PFQ`kLt1|U4nT_)vI(Ak>hY4q zWwN@G{Uf)ZK19ErxIH*Q=JgL0ysMo9d3uS&5-%#=8XKZh>J4nKGp`^$Y9p)$YIf*l z>v|CVWB0%`MXIsF7{lkSt)1g9yHoJqx=dWW_*9ZE14x)bM5 zHCs-%L81p1RYss*zBxhtZ%DevWMx=NO(%;Ir|X)M$$M<*n*Muz{a|48*P`V3l>nHN z)R0Cp2HQ<_=xRWB_TX-8%BgGVxN#V0${KtQY~!WXi`dq}Sd-)*%?u4Nj~t%b4WBz* z*cQRlk8EhI==tY_bS%FG7&ln&?hY)B#>bTU##8?ALoin#33zSi66a(;Q4WrQWnCpX z{>a>10vu~J6%Lbm_4y(j<0-b&&`a&Def=Lh1in_*whqZoA5KZN7A`Gv%#NQtyaO_4 z>{+vMP>j}bY>53h!Lf^(m8h~uA?D8Cl$cheFQ2?}bfoE$JVm#(a8{k4eX%Wq%U|9x zx2&{|F-~%HxMz^@xU+wcOlcP4kb#mp6L|N=+<4N4B{QEN>d#8knY^#6R4%3`i058= zuqhc6e$4Y(ud6m^YR@*B583(4W|~yyZrZjzp@h9yGIA<#?q>vV^2*;%@)~oOQt5kJjj)K==m`z=+?W?iCe~2*o}3N1+G6DTlU*8E_t)ujsCM@H zTUW6s`3|r6`Y0<*|CP3wz!nilh`*Td>*^M$eDj>OLcw=g%XQ4N+z zEhbbC^;7ic$RY5(mHsn!ew_mCN2hP}hcT^Wup8Kjg+-I8>s}OZw)U&W6Z{rK;&w>% z;$jbQ;YP6zz2r60SQb?SyfYt^h31ip$=lafFT)QED`z3OBZ+M!xd#~T4(`AH`b;ym zk^RZ!Q?Hzg`0A5ta?9fQDNv#>oAO$}xV{{DtTq!O(dJ##-O1KgHl7%sozp3q$twic zXY^U1fzKiA&ElM28k3&Lr;zE7zk)6xh&ErE$(g@x*#C>3OFxwGW05;iOOU?3Qfx@= zBiUgX>wY`Duz4Y0zhkJhrYqjM#WZ%{czq{e&&^vj=T&!UOP$%oCUN?)<{=k$xc+Rz z;fVzOA?)Qlxj}l;)Zlx2GSy4HbG|RR7BwNHsci^=Xg0fo>?_1U#K4@V2R`b`8Y~0O zaqg-+;tawvu?;lEX@PFq{rS-0us13BesxN8;0ty=?|^28e}~<^-*!Ld{Aw5&tf!j| zd9%8bd`Lcfae5bt&CdkJqh?tVHOhS@>>cC7wkeAoRnz!LV55~SI8^E~kh^7Vq?&9G zseG~E;Nia~F97`Uauk{#0NcY17&yW4{}241u;iIy zA8JhO5K~b>ftIVQtKX5ffFl5~Mj49a+`rE-{q5WPsh9p@vFIW6`Sa)7KYo$AZ6fV0F!_SUi`t6C&Gnas2-)KdnqylK!0~~!Q9KstMA6x1$GjrOWLZQfk8eL z+~-sBHqDMRZxx`}-u>SZn=Sk1uZ7(DsdxP;L^s0z^1akks&gq`s!25jmY4(l znThw^nuw(uF*T1|-gVw8Dr1&!dP0urt8IQRYiIkU?B~9o-{3v;4kedb^O}sDVFAEP16dRO7mK0P zq2AW8X`J&1R8z$YzM8{4ZF!UCxiLJXT6q8af%5se=@p-GXdMS=471=dvSD}zwbNO_ z32{tiV}V+Muc!8|$e0`ma3qT99ZAj=-3&0kpHQU+K*;&NjZt<6TSg5E-Fq9W;@nXd z@^~rT@7K02ffrHYG~mV-uBWJytOHvWn@_HDLa>#lX@Yj@0?ACiSf-rpHl!> zn2S9pc5&4_#0#DfRWXvByiqv+yxW{lb8{yp;zx|XnM+&b{fY<~0DL$YFe%qn;`0oC zWKWLYc=oC{bTcQ%*e0z)ooHhvLVF(tqIub|Y4)FJc$Wuf&0Rbu^`Y#^le@J>YZ79H zj+yg6Cz$}q;-g{xNKPjA#njl8L^RZAH1cT@IN4`ox=OmgXZiK@0DxsQ0=^b}3E2zr zL_k=nC#(8I!%WCQ(^C>=QTg&CNCQy*$^Y z!M|**+?BZjP-J1p-p&oXcr$%#Q)}nP2DVSAt8;1hIIxxOTH+d zQ;!Ex=}VWaOGCK446VYtkzIUf*+~wIOH0#=@lGAdcFOlDOznSl^UrhV#^zl29A6k* zFq@O(-3PZq(HQoU`-|ngC(bbQof!&XA0$5@_pzu>8YC`P)YKGLp0ZVBgDl{sFxomg z=6cmlbE>S3`MXUvH_a-RtybyOixS-HPZm*@*Lg;D5xB^=3qz&Jd#02%ty<_MOMNM6 zqeY`Oc6O8a6gw%t%iUZ{g4%lxtNa!XGv!}20LWA_<08>8a=MJy2ex;0u~62xw?iGT zU6WPu^Y;?3Jq92OT_Va?%YXH4Xd{f-*6NX7LHm` zS(}U?wtx7L$_Gb0(|VuJH`Eh*4^CCqy(erGuO`Psu-(0P@YOQsenRtRkyq^(+8a$1 zc{5}R1v2UkUjjOkq)m`(`!C={d0)0TnxNVr(O7+D_MR_pk8Y~}Xuq@a0RR#eBXl?u zfOTNM=}4t(5(5K63ZH;x{3r36v8Wm|ZjsO+d3EjHEWNbzz_(poh|Wv-InhB;{)PV1rz=v3Y$?*{X!-sV zAM+Oseu`@27E9+gONv^3jzPmfX{0u+yy7EID(OvYy03h*96L%4K%WTS#oyODf$v#w zdAZYTvbv{;m<$iZ^$$jXjg4!q;}emIQe;^0W&hE$2yM1ZG^}hgl$70zOYdA;)Y_|j zn1hW_fW*##IVLPBZX^>gPJd(jqo;DmO;!M6Gr_T}ym<19@L|`Jr;Uq`Pk!Hj6o6z% zjK;egD!BE{sMEI_7k^vt;ASUHO}J#!V3gKi2-tj|uFhu?tka4Owb~;bQp>_|&z^Wl zO7k)T;BE-)-a05;%{fk#z07NJuo7B#4YAxJc-N^)RlM{Rv=)5w%x(3ft5b>w;Y6Fm zhYz2Wlr+cT>Y?&}Bb4>aEQDuqsjgoNe2o}dn7@Z)Sn&3pi@$yI)d7|=wXKKpU{l4G zIy-CU@@+0TiSOlHN__NuzK?2TY7C&0OJI&9(Z7?DJ5w74sLC0DnOf{Yf4LA9-l1j6Nnhj8o^b^qCjS@2tL|E zX)aNAuTy7b&bLWO8^TR#>P+b+-y2n5t^rWXL&It$-bv}%Nuv8PSQBSxVV^eeQ>jGq zOvP3Hc`-QzQ3kWX8xB>qf{I3^c%R2_uM^U@7g<%pr_TEwnKhuS78d+0n7s^% zV4z_wTYenV;C?M(H4(CiPbv+D+`%uvn=0Y`9Zv+Cnx4ThlvJ1b=ZBwS+7@+`2ki+1 z-1<}iA7Ti;STrf;6&RQmk#8OqAGWqv-VZ?8S=8-fIXx0PFp{rY?Xh{myFYttn=i+#gRYbSDgpOA;Q!2i%h zY3P0~gAu~*1ax$=4-5p}-8d3vY+N{=YnnF&jkq5QY2V?$e%Dt9=LzOTqJSa~1IE7f zEy{zA3SbrC=;4D2;~dxK(pyfJG97|<#x7@pV@?5{Pjk*H%`!ygtW`fj@C*A1{+uUU zO6!DNxexiG%RMB;+_;@|OWD}O8HpHs?m;3>W$L8($t1BCFp?+k&=eIiro>aj)i2-z z#rW(D-8!v(zI;tp8~Em}hAM_n{i*RZ0DB1ze~+b%YVYl=JY0Nt1I7^t!nSg&ipp}S z(V#mT?kijEeSD{Dj!RT}B3lT?GpR(Y>}aGJu9vdj8b}@ABwr38NxOef~M+9La6_J5M~E6R-e34jFJmAjFBB>wPsVzEE}U zWNGi5WXZsD;+0YZonl>0DnO!Vz?4XpgoHG$-SVyX*Oi1EZmOu#NZR#(#uwqw!>9qk z02Cqj?7iQcJzTWpkB1!s&u7FJ6|%U^ClV=J#K}xUk!#9)0I;1y-42xKxY+N#P^&?# z53K!qCVtnuFMKCl?**c(8W7gZ{Eldv&jj|Y9bZWj+*w}{AGu=es>lJrL#T88%_`M3 z62$Ub@dE>t5JJgJ8N@MB2t{%UZ9OIm%%)r4u6qtI3?B6MQh-2=m*;X;2DTPKxUBT; zUe@uAQ8`@rJ1@sP!2**M!mvX{Zz%U@e$pAf<8Mx&fQt${7TbF}ayUh~=x+E@4giB9;NM`!u(Cdh8#qy$Tct`w=2?A%4-mkqsh>GqlmXVz*K|@zYVE zv+)8|2KwCsCW`@A7WPN=p+HK@Mk*UN^L#T-JNRSDm`%I@Z&8tvt7Dw%iNa68*4D*Y zud?%|P@r4v0f){VuJIjkHVPPNByDDe8*_vufZ$t2kR%F0*UnuLO zWEC&f%WjRt@c$f0*lRqmQ_cUWrp<~K0prmtA%UA?b^dbKf7wEQh^nYqWnYNvr(!9 zz4^JIHY7_njT+eUxHEpf2ScDL+t+AQQ&ZPZ1x9&Oqyuq%B%PY41wXaophiUsU-C7Sp|4HMx+Wq5HPr11{K5Jx%lcbU*jz zFZ_}KH-AQI6h3{+@W@chV&C5OoH!tz(Jy$lhtoBfv`@ONT(fNmA3T|n)Z`zpT_zs19=!P*mLrnwNyo~cd5VV)}~p=*a&UT z^K{_m$LhQbQQ__pFnMY-bQXpJ>6X6uy?kt;lj#O$_ICl*s z3h4xV5U)v&r`6HpiFhIC3S*_mX6d^uFjBT?A3POaRekY8$Lw|&c@@2MV^kGI>jJnfo$%dVcRLXH8bk%uiv$xt7=l1jnA%Q=c6c`D*)zgTFQPf$+ zTaT!x13wyC4>FA_W~IVZ4hihmYMw&QfM}H2B;z3;DneV&$~ph#vBmL}hHnd-m6hb2 zL0(PnNlBfsiasVGYEa8e!|D^s6BXF!{~@>-mIr9=IOaF*HkgJ~eWRP2R@DF2f&y3X zqUmc%q_hB)&>aknOVy^U)V#%d)6Z#E!rDUEAsT9MI}%QLJE*zx=)&{OQ0?)cvmnG&rZrFcVpBh95v12i` z*Yb~(UsGt?eRGKXCC2xNBZvyIX9Ki!mX+U4+5oTG+@ALFjKk2oM>}~?QN4X+u} zWG7r@w^jb5P1Q_E+wsOgOLHldJd^{%$WZiXnvJFVjd)0vY@RK zJ1C>T;y!f^;9b;F)b{U_Re7sETRttUJmoXs5X^4=gKJ^#)2e+0HLQ+g?W19hmVUZ2 z&pP0HemsGU43*t7g(1PoqwzX7Q6$doRywhMAps-Td%i`CQOm*d3ACWt5TJCF;!jb;e!5&#GLWm$70kdz*x?L0n<*xq7#&YdiesFm7h4;nf+Fg&@8iyUiq194?TM3 zV|UK?sz-rwHr+YB4= zk9J3+Fr09?Rw6D?*N7n9B&f~5u&WzkK{U8?H{p;z4RB!;L!*4|k97!Y_wK%O>+h#y z&PRbtc?JyL)@&+(!Ub)Pdm;=>#lASd9wJ_MOvQ-o8KH?wK*RY~gp) z+~!bX_9cFzDj=1vGw;v5qH;R#2QudkT}Jxi$nK)s`01D4-_D_c1x)a<6;Ap;i#r}s z_xJNp9@^|XXF9T;;5T>DF;EKB9!AD#gWdDHZkwp8`SqIxRxrgJT=PfvZAMa4`xEH|;~(gJ!eWWp>g04mt@ z?!>nJRK1)l7qY+jr)oG zVv4)2do+BzUW)sCa^tH$F&_gm1EKsY>zl8*ZuUldjaXmxZJmO-wE6Hui^sf$ra{Uy ztl-!kG<{}2Oc=sfr;j?Tc>PM4OeEIpKaNy()WmRsOcbQ~P!idFou~3u$`%6^RuJxa zD9Nt`n9)G~vuZ;!T62Wu*+~qr&aS~u!-|(KjD^hyHmF>-x);@32$?XlIeGFluGK*% z@oQ=x%tUhY*=NvBr?48#=j2q3pb&2Xwbu^A~gSWDIc+?>oSKDd`=#N=v zl%`sIbF!;eMqW*NE1v>ysV_h(WLyoM^|(K6l(dbnZl6R_SXd=x)1m<{6WFl8i11t9 zx4-Iai#EW>Lw(U`%DEkdzWxXfxo|+LjU=VZzL;~EkU+OGyh)a|eP|24Egr@@r8m*^ z7_u}C6DW;AKJjLto!IC>C2e&iigo2cLL6vrbW7kYnFtw~Qg#+3Cj`ftnc?hnvQT(Y zX=DNON6&o4glt2tqEeRUt48a?Mx~>cPRbHMLj}^U(bU5g@M$C>qd-6|Fkj{S{05~e zsLQVZlZ+k{aCVrZw+#<(mS|qL&&|y}Au6h4lBe6VIyb7tn+!)qky&XVE3ukINbDO^UmvIJ8P4K#l^)uO*=cg+Xv8!snk&L z7>@x1)TDox3T|g*u*zfj6l@~Q#kOsRs=~mAUWm#^;wukVq!bjDv!f@9>5h8+OnOMA zOV2U!E3Y(~a4V;H_hA`j<3V#nl}7I4$UeS738k}>yb+NjLdP{uasv%s7#dc(_Q^)< zhBmE^xL<@tD_`H2Fs=|dr>(6G!*xY-UK8#MGd27L-K$g_&S&In!V`Hp zXw?Bu5|XK*@n(<6F{dd76BE$MyV}%|Z(Ti3Px2~3)7r+>I)u;+3@p)MKm#}yNIu`(S8m`#Y{|$Od95dIci?PqA|igM;XEG*A&^SYFc|# ztc(br&>EPaa!_a=HAwUAFGG47$!J>EgUCo!YeO^?IffJ3GKNVPMHMXsccwq*fchr? z2H2w@n7!$irRk8v1ABmc@hRCWOozOYMr_*dGxPy3k!;4!mf;Xq?2DNXvLzeoou$qt zV>XwbuKHIIPojdoC%IpO&y9c1C~S_hdHNyf$fsAlbe78%oTZcb9BW}^a`q_F4cKAC z9?G-2@#0kC6h}d++Cs(`7{_O=Y+VYktma5Uk?Nqlu!rh{wFY2G4Q@Z=UvM#IU|~vG z9kjlrrv}GzTxDF%4p2$OLYmmVy4Giuf5CtfO%yer{pa5yO7cC z$y6zf4vSUB;P<`#_-Ys@fTs;GGJz=sEOrYY+nexK9m%F6@CX`Ajmdz)KeWN}r0uwB zeLi{gI)CzgvNBTX)D}}jjX^ws#I7i|Q&M`q@97UeoDzs-X4F4~q8@7}pT~T7BHkA` zXqBIqb_7Po<~CvdFv5?v=-hV)I#SYji3A?z&)lc3MSt&j=Ag^~G>8Xjw=erL)u#5F zkdlrY41D`5Nv{n6b02*%d@KrG=ClG43KM$V`ga>W=ChYs0!T0Z&rDh&nHC)T;Cp!) z^_JlR=sFAC-KkTjQuylX>hc6o*tgKi-|lDltW>+VyJZTS3Ckj4VzRK_bS%mpL=L@X z|E2V6BXn^iG|vIx*^WaA>``6)NJd}2a;5P3>0tS=rjRu+4t91C85xuDhG2zcCXm(j z7j%DP9b|N^(?@Qr8`F>VY`W5vOcG@S$(Neezs5uvqp-`2($w^|Dg87)+v~r#4^ZKy zpfi8FA8I3b^F|Jj{Rx9@@W!uK9uG4tB>2Rar;Y8o;PI)@zJQ(5Z+#3zrFoc3f!lWu z+hT&Cj>Df_Ii$|v@x_17ab*~?-4Dc}m4h@HT7U|MC;{FKDAK<_X-k6DLb#`#9=dN2 znEyR+ofosi;)4J<#v@Juf0c?Jsd@ued5G)wRDV9r3?0G<;Q!z>_~OouqW%2d)%9& zEH1F~30VEpD)`Zt7gdBoU&{G^JFS+M^}n3ZiDK}FTlv;HCCUz}HJW@f^FN3IRT5JtW|l0VChtx&?d z{QIr`#Y0TqOAaQVlZe#6D~>VlR}}d3G41l+AwaF~7={X69d_<7HkX8rNw>GrY)A!Z zRts{>vmF|j&lmNN$?`NI3#%Qn(E2V8NT9W~w7R3&1S+rp{+g6-(|G;m zg#O;l3S0G1DJ`m;4zkkTX=i9PsLVtD4`zqf#qA{#6&E!Dgmgh~d6?n5*A z-+M3BO16Amb!kfP(snrUiy#1)t8p`)soqf+P#%%+U68i1msc6``{%2smoAA22(-YL zK($;xjMTTza&T~*5Eq9JY%0lJt6Mwp&5)^`-HWQV6CNifS_WQk4Jlvex1?Kepp@@~ z!3ZBdJTlbRhrR66geV8Vvzm6 zEGzp_*G%6n7FCgqE@$QY?!Wn}_fNF_=V=0$VLJ%20LIY&Sj*oS^S3Si!L97>iZ0b+ z>n7X@X=x*Y3$fjc(;xIS{T{>KzE$Y&cStH>X7(gc_gU85C~S*Q<6zwv_FQC~I;42t z1;RWo-_pCulvg>x(9iEx)PCNgD)+&Z`00~@fq|Pn3E?@&&L>W2LmxJP$Pz|y$`+Sk z1^HPSEPW#ntzemMlU#hfiI3sV@)ZBxWhEu0ix)5UuK%7wO6M|mY)0%Pk&6G7C6>Jm zm^Fq4Z#|?){qQ?|Z- zz3F!=&&VssnDE`DjAE;XpuFt5_NfH5GMgQ;d5Vm4e6`nj(ed=_>ISMCIq5gPAMWeP zvVbXQ6w~1>CI9cTTbltVDnV_xws~jHn@2aMx|QCR9rhY}MylN9Tzhkp(lcaT z6IHi=ojX@JM))ULc2&H08sY4qbx5hOZnCZNebFY^)ZkX~%W2-8mK23IXo+I(gQ=~v z@)JtzVVMgH&0A$bKZlNLkCfZpGAp_K!o94n)#udONK;77{g@a7<(c(R)i@r7c>j1B z2#F+LSQRKD5X^&uR<*mFot=woYljR^1~cAKPf_yEYmGge-Pm}h&-beH>zgzdHD1rn z2-coZ)8|I2bRb*%JD$m`kf>OGK)DU9HLs~`gsO%?oKWEHlACW>P<{OLX>r8f?jo)U zo-vr6pjwpb-8>An!tD$}Hn?-R!a3odRy2memfi2jOb+4Pi|!L$N6!RLhSkV>jTLZ+ znk7S(`RDn{MEI5`^b#rYQx>mn4H5KmNKg^h=9c$JmiL}0fkzk9+VwxOVk(`x_+S;o1az6eOkYSYmO2PlSY~f@ zDg}M!CW$0Ic#z2^aKYvG*LTNNh}VDH$MLC*7@k~%j|A(t<{MV>)poQOn%2^BD`ZFI zL{Y2%@jDuHyG^nLaeL9E`sm0@hr77tA9f-SPxC7IY4COZl`lpZ{2(tS-VI%C;QZJ| zj=#R1UfdH2t9GR}bS${=?3s)+xq8&A@BKpoIk!(DA5#?!Le}Q{t%AoLl~dexp$;z1 zbPc)_n(`_uEA!a;V`G_wgoF<3&+x(boB3B2o+Tz`?dMhYQJGe%U7HAz!!5h0tPVNU z&*r5r|8C=VpJ=?1qTroA>r&=79ymDLqsec&Ha{-s(v2y#AzB-#tUQ{po!XC>ID9=7 zG(R@HyfQ!DU}|WX+0mgJxG-S_5w9BxJWn-jv%nxj75DRH+oQC!5<=LVJFSVpG4*I= zBD9EeD!65OAwj|0Q7rs?7WDyzvsz`x3WwVmB^zy(Qz%gJC1k@k1Nx+|&U8iW`ojW~ zB`g$e}Hs8Fs(^@^I0hhT#_SYS{gM4*vgBukioYz#hwo Xzs$GmNN@L`=Lg#7^)<@WZEyZJqqsqd literal 6764 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 r>qheTexeCEGYBF7uiro2#NjDs-8% literal 8771 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 Jq3!tOzW`E)kgos$ diff --git a/wyk/02_Jezyki/pt-chars.png b/wyk/02_Jezyki/pt-chars.png index ac48e05ffc647984298179046ad72e2284df36e8..71cd92b3397442102ebd3f61441aeb26c970ab9e 100644 GIT binary patch literal 25256 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 KPdWPMwf_ULa5a4Z literal 11868 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 z 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≧S%y^GY5ta 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 literal 21390 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 U>d_xNfT=w&#p3FCdIS5%y-`fGMCef41?AJ) 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 literal 5716 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 diff --git a/wyk/02_Jezyki/pt-words.png b/wyk/02_Jezyki/pt-words.png index f86912332161d07fa2623aa3a6a254d0de289309..e1d0f042990fc55e4c60d37b7d4d3b5c712b1080 100644 GIT binary patch literal 12507 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 Z5}_v+tz@M7CwV)`Q|C{n9KU$&zX36p3`zh1 literal 9278 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 diff --git a/wyk/02_Jezyki/voy-log-log.png b/wyk/02_Jezyki/voy-log-log.png index fd38cc18e7405b3831d882decd596634d74cba7d..d0a7bee50f4cd8a7ff13d067112e97d5b7e947a0 100644 GIT binary patch literal 14043 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

vvAXvh}QKCjLQh+K^i zKFJ2e9)hS5D+0RB|Jm6W23Yza7ExCN7D`D5IMruC?5C>x;x=29QpcC@^E;uiURdU; zx~?z8FD^<5VKaYRDHjvkoD|@#Hrl@H&+=@1aeDy-F%bjsNWt!FoXM`BNXq{;068yk z{0xN2;}1tyKN5(FwZ({r_k;jyj)YK_eIPXQ1A+V1gebIiHoWAn2f_jx*-voU$`NF3la_(x*1sPe4n3VUbS zd)>Ho%Kv-%ZAfA|jI^ZE?p)R_tVu+SvQIxDu?DxP}P$UptVdZK@0A zjf^cNpikk3!!#QTsSk_ryS5@e>sKk6Nx~xsinZEsG4Z}#0rA{vIdTt*?+WROM3i{C zQN(NVz{(*aV?*8g${k|m%aC%cGO8Eik0c&`2*fE^xE<8eUFpt3a6ngO$o6m*RZ_zN zk>f1EuML|_Y`)h~+l9`;E#(_~p}w_C|FyYlYfDPh zEJZwH7u>y(rN=#u@0dtpc&_Rty`juLzk0s2uvBPm&!Jw@>0*>&4l>ea#cIUP`#CYK zt`}yzftive!{9|4UQF!t4V}#>hOCJ}L`Fq7N4b0i@kb6C&DZZK6Gog_Qa8I2M4b77 z0rR%B^}_gfnU%*t_$X za%k-;q#f7&IiE2H`SeOp5~ByiS&ke9bsV66HOoO(|9Tn^+&3HIFzGxK4Ivx$-RR8b5ub`18M4iobsP%{&#do!ozz3vZP9jVDNJ^0KaakTcz#x G;C}(ENb-^Z diff --git a/wyk/02_Jezyki/voy-words-20.png b/wyk/02_Jezyki/voy-words-20.png index e16ef70598dd5c926a78fd4733ab96b184d4d2e7..09a37e98f21875c7a676d129e229d339207cf808 100644 GIT binary patch literal 17097 zcmd^m2{@K(+pgwTR#^>FDy^gvVwIWDs#M63d6tSY&x8yO(kz5ztniwL%(Jpe8OuDx zt0Xg-XZCq}`=)>Y|K9&T_J8bSAA38#Z}sBw4EKEv=XqY|b5}v`^!jzo>*(m{)=Ql^ zsYpk+GMSEU8Q0p?_(@H^v;zJSwv|-3RkAR&bB;VXoh=*xFj!i16^3{rv!L3+u}~jrt?`ILR-TXEbc+=os|L|CdEeP>ks4jtfYg z{8RaA@Ib3`u-tgt;_#$FCGWesolg&M_dK%kwtbqEecE9kC8HAVT}_eS{@CMfT-Nq! z@Vsr-xJf|EnLSSwV?I7Q!%DF}bK%>^vs)^J_>0TCCQmyjwiv9wSYEDqRcyD{c)Mnw zbHcbrUru6rqN5%)-M^&#EN%y1?lLOYIkb;-?U&Z#vB_7v@k({tCrke2T(nPF%*(dY zK50Lsqo;jJJmtQM_DOAT(ekBF?r|H>FI)OlRQLbs>8{H$x!cJ9`R8@lx#822r%si2 z3=8ROAZyaT^Ri)cp}FC9$xU$bAD;Wex1_LpCNSw~N=6eM7l<~r|G==kmXcjF@WW%nLFR5^L_R*wBZY>23X z>R2po4X1uPA99gdz%;tN{4DiHg&=h*N^HDViCNG*SohknWP*Ci@!{cNV`@SE#1M7J z#P`{=*rwFWCNpC_ny)V1-LO+AyfQ?TQ$m7zw~m$_3Ruo?(^aci&y44ATry;qaLqgQ zXlKk|Yp#sXe)-V&tSlkf5D^uZ*$EYU`;7f^!O;hmqM~(j?R_E|^xSmr-o2}teEzzK zZMVYnK3eAe{%J*DaH`{|;XXFDXt@xPnLfS6*aWRiX`drUjy&=6i+u8Ai(bp)$G@eU zw`$4+aQm?(XlE;)ezbGg#P{*z@KX<&r<=DN5EN7s78Z703PrkO8heUFJozlzw3G5D zo{29^UCbXTW=xk)W=Vss=qTKwUmyo^72acuE&pdiT1wRVWDho{i-?Lgu);`b*y@bvTp0h)uXOe zhf`TQ9y!Dc>^=2B0grCcm~ydXdpxbqxJxXLw^7Ib`1ty!<58)0DUXJv(w!&G^^)SJ zrml8&b{bI&Tn?Bj1>-?gkTDjt{bT3Eb(24T);9Z`b*?T>O)W&kZp-f7NzL-!Q)pqY!|VO&av%z@r>WZcyh3H zrb}Wm2C3L;Rk92BE-fot_w?|^Cr_S4L`1MX+|GOI%a<=Xo&H*EQo2cME;D1F9`8A^ zW%K5j-Q8E#?-HqXkY-&vx%=j|$(4IV9R_O=Sn*+Q3mPhMsw(%l9!fK9I#L&_BICnn z+W5yV@oVbyGvhS{F0-|Hjy4rRg7T;g1&$Gskq7_yLqW`G?BkbW&$n}6zu&Y$k0Ea22SYITpFU{=ALQf$mhR(nLTb;D!jlaR z|Ci_Uf2z}@AEVH_kM$)L8c&aOHs?EMVpr#)T3u%cHmJ~oseQvr^$pHL`IEJAYCOA+ zURA(yViyaHSiDeEmsTWrQph9uM#a;^CnV;6+#DLl{?+C>SPW1L^$Hhe;wA=Kx^_$q zw)UNmq(#Z#F?W^M9BPU2CW+an^jyaM*o+zyb(n=L!`~Da?@Ii2>8PTRwaFZfb`3fd z2dazOWUE6MTg(a14F!Mv?5dJh>$%pj9XQaJS|#qwX4hLQg#-x~Fl`L~_U+QDRja1c z2b$C4Ht(Y?L)PkL{wLnNdBY}!vt_awjdg#LY`%JwrL(I`?TQZVw#-kscP8Jsv7919 z``(g2@p>m~;rxVFV1-G4V+t*H#~J zUUQ~J(){e?Y;#0Zl<`D=(=&0G9Dgp27c16mh_>mf3@%-}bmKe8a~uf0dc3En$Ei1l zvSsJa{vBb#!SQNX>$EP1_M&Cuy>&84c_a5;ym)b~qvC8wiC4pW@4a>T&JO&>wP$<} z$k#tV;mK#$t1PAXv#wqab5X^D*6d#Ru_k|Erf=qZkVV@0*Ee|eG?p&vuK0VAb)!jA zew5qdEVZ{TE@1ic<<~lP2%5)RUcN9w4Gatp?%VfPkeiL| zBnohSb)?KbDNeP-TJOE5=bG72p3l8JRUkmy3&w}{vqVi1C9ztW=HA2DUlHqX?~N*! zdPlmkpK84Nxl5X=s{U*Txw$JXu4!uryH0&sqZicPe!ehN%foD4m|idn8+K`irR&?b zVAWRIi4UA$;PT`*ZB)3=#KV2W^?P~XO!4jog|E}t@Dn#zudhaKB!2w(adXBf%C1*M z{QInqkk|^8+s<((mlGE*T)5juE80SgPUnUDhuju(&2t9?uvRj-OQ+d^%ygrg{rMBk zCQeuZnWJIYc~TXPo6}+}v|U{b#Ao|?^QXSvZ%#Avji5Sfs3hsOHW=cF0$mMs%hIwk zQq1O@^atAVwGL@z9R2d@^n-2BU*B9aOP=Jn3rnri{RnvwyPj%Ei-PH>@0B5(UL`L} zSe(yd2WpYN6l7t*RdKVHj51KUfQev_&H(k*6 zjaKOkEMxyonGfMBTKCH@=lnQS=4j9C{^~db7gP7g=Qq(~El-W!dGJ8_<*A2r?<7y2 zWZ%F4ouD{BzskjT56&qn`rwPtuzZ_`r)QtPmbo_@n%;O%&FK@je?52h?1L9CU-F|( z?>lgSDVzQ1(%u}CL|^s#b%(%NPlny9g|72y7F2P5wAs<`6-t*bMI^~;YCc=OVnyA{ z(+s5SX8xJUp;;-WZIfz*ISWuw49uM)^XaQmq9w*M_Z{26M`f_N$0~+X~uON1BlIsI|S>+CO>!B zI?|4Q^m2`VaebmrTvEY|^tp5A3as!Sr>}Pp*uG^{6H?#4bdM}6Qwf41@NPbXNsPWxOk^oiis$(dqtUMj7kN^G>t-dvl!bE1b5CZa>T5aB<< z@c<4#d+HLG;b4q%8SRem(uR+^Yz@{M7R)ovl9a~uMEnzY~31#I!g+hDk2d{{xUiF z4-$QoZO%zGk+hoBcd@m$8bG_uk=B`(*sD007Gc z{IYbZ_H88T+h5;|RZV!tc2Gn_(|Mxbn+;)X0!Sj~PfL^bb?BjSYDu92X3cC;IsLE7 z#zx9`Oi<2d+!luxW1Pl&H>lBqsQswi9$R%R_7Ps*eNv>B);&M5CV%+dj&&P0s3N>m z-_oKxiw;YHKkS@cBsCeqFH3cuO)##Hk7;aFU&Hxx!Pek(joqJK+F@;}9Y20p>bOpK z-n(<>BYw6k{%5P*MYdh08`U=T+yG3lzcu6c|tzi6lC3;+`{49$X<^5E;Ndt$7 zNb~i3KNs4=-j}`n0W6Q9Jm@;{e+4!iBUEz5pQ2 zSynHHhI5As;!vJ-86@VCM@B|={{3;fCpwZ*GmWQyd_h8yK3kW1S>A4_O^5e#Wi4rK zu5(u@GPh)ESr)F>>^tL=A=dPvXVcO%b!{g*ic{AZ1nBISdM0cWrI~4-5Tiul5EIj} z$RGFrmmMfSiz@FEv5J0ccTQiTFB|w~Z&#R`{VP7&3aR12)sa7Ah$|(fsIx%O_iJNn zhA5W}E?r{h<{nJ@K3*-u6Jyo!j)YjOa?A_Pq&!8$_H&DzK%?5|bJAzdD5$GHMSFNT z-q$c&u@~fH#p+)bOikliSy^k-P1KO0qvdK_mM$3n1bgZ4?;nLW6YI9Pz$|PXfnvic z1u*WfnPKXvIU0NJ$R~$f6pxUH4O%5j9y0tPgDysLnCyURRvqc=(&^-8; zBFKneNJs*yfu&Cl_BN$b*m_EKyD49|@B*DIZo@8-CszVNxJI1vODii?(SItV7e?#_ zbhgc##xjy?b5u8tIj~E6B7<{BD@DhfE{8F0-_6YIbn1%=dTf+@SmMn!485hCNy?{A z-A3ho;^XtxWb>v?FAy9iJ=Kvu5m>NZfFM^h=nh!+y?Q&A9?JdRDZnYfF3x@XB&DRJ zn0XB!px)S>8l43MQqHzE@VIr0#ClzSQ)*rKpDTcCq!hjTjNiU}I~_$pj*yT#N-<$u z1b}?|Hno1~#B>H8z=R~AaJtBa`B@XxrC6QZ3=#YO=s@1fXHa|U zM>@+$ttZ$XA@y+u!_jcCqkyZruV23gs!BwFM1e%cO8M@08qDqj@8gk@bW#NBXldZ& z6c^V;Sq1{7{?fAL@?Up0Vk0Kji`w_ITM^9;UzFqSoveX@fzJdjLcdo8QQY0>bR1gk zGz(qxnfb1Sr=_JSR@9U~2?~l6vFl~W`9`~{CS}V2Z;%q#97Ih4h;H1tG1q*_(9js+ zcp!i8g)?XFAS1s1Y&cK+z*dB)yM(Pz+I%nn6d~mc(tVWQ{Ifd4(I4(usL1#4&q!5| z_0-r=T_$_3uVE4D$zws6uefMDdOAt{ie$zc8+;7Sj{ZU=R^R4 zPS6(>WUgpyo2Hp|?DiJ*g1UrvB&4~aIp#2K#&;rA~BWtyP@#^)=5r{KmXc6}wJ*ux$(@St3%sy?_oCa3&FqoUcT_&sZ z#;CR_St=rJ?94D};BIx9Y+b3kbWd~#$W3Xa8Vdg%GlB8ae)XSLnXQ#~Z2O1}eStR00YwFDB30LATt#f6@ggZwHJvonAOv`bVG023=M5 z-7i}U#-5;=E{zANE)V1l;bvGmWswzGTI4z3g}>H5WD#q&n4>N(IEamXJdx8A6|^(< zZ}5v`BSb+`nkC;+o%#|W9$JU9((cQF)EOecULF3*+7ST0FEQUEPvK8OvF^RcnWz9N zgw7d7kPr?VF}Y|+VjW$Kz+ODi6+DHjnYE1#d6c*B-f^(99*0C)hrN(@>!e+zl#cS7 z$axTuf<=dcW)%jpvB#>3+C90m?SRjGHs8;RElhP#_^FcjxArW|4mB{UX+M8?+ROOc zdv9qesZY1p@7S_&;~ps@H}IK%7J|0c=Oe@YNn&wYKHY*!?n@E3$#xK!98yv!sluc+ zZ9j4n{GlGTfbqBA6i#W;LMI#}mYtUK;|)yP1@+&olzsZgYm3kGlhh>e*v!91=TSoE zSmdAaNg-Wp@V9mVGG*li(>>fNtk|0C5WprIdQ`*8%IcYjUF^)n01@+KgN4okf1S&< zA7GP8DqP4xuS`GxdO3jc7rq8s>b95vc3wCfU&sA@LqZNoA#?rN2u_25d+^}F0)ahy z_MkPTlaM0#va{3=GQ=IdAmADj4$zAa2^5u9RH&dV3|Yy^$vGx$a!)-r@MX7<&J8xB z7T=IyZt{%Bwtrz(-_TOvlB+kR^u9a|1Vgc^p`7pPkMrrqbtH~_*r<|UI=+6LYkv1{ zafD4Cb{_3y=JsEI{iWDI%Mr_?sD%Ve2k5zGXP7p96?BD!5DUR2rmLmU&CLbN`Aon} z(;K>7$xuol<93HU-}LQ=FWh>Sn(9&vtyx-!)@F-_*CuPX1C!S6UYt7ZGV{vI?w-k{f) zQo%xyn4dG0(P_zA`sbmHPonb;@t&v(JEtrrY)?+97=a1tbQ#3PJvTB9MSn z55xG3dhIqB$%rb%gqWTt9qnLK0#kt*%l zv~{ax@p_8O`gotT$*V_60l=uj?v23n=g*zKcrcBl96!1KAjV4FA)67*MBSlIk{eOp;b~ z262KvAhqLBwr+ee(}$iHAg)B8{EI^NvXzVDkR)o?ghhH~nb$OUPnzsOyXo z^d_?Pi1$amwJ|Scc=DAGA3p5#J@7JG?b6kXthE1X)yISZNm@5IJ(_Mmpou6T#486Z zD1@6t(*~Qex8L`13o+1HZe8Y24}mx`B7z+%Wsf55mbE=0`cz3Q<^dtIc-+3-izt>b zYPr5*jjDpm&!;-+-szr}#z!<(tiH62jHte-SILQ=L*Pnh;H>xW-?L9F(vD}pw}+OK9Y8R~jT@f>d>eOFhA?LR1mFu~9<+vmg>>MtulISjiq6MSLaVc^I>>j%Z|^bQ z^YT&ywoZ3jbkz&0tyQiF71OGr$T#@xld**gZa4T@0}zujokm~jT$hJ%(-}}MmOSc( zzME20{?Ed=RQ0zHzKl#v6et0)7SsX)lm5E9nctvv3q%n)pRt*~B+kQ!&(Uw?QUC$q zF#W0gufxFcC?t#LXz&Q8sdu1@(ZJT4IkquuM*pURyl;pS!b6vS_%KXkpLC_`meo75 z{%wFLC=PX7@DRQQX}fpto``s9rmC?`_pMVc?Q$IhhPCx9M!%=lKvOLS*|fk2lat^bI z?^R(#I|2d%C_n@;24(&}5#S6Q?CkH8WDO0YK&rb;XnS9z%^t%#q$rB4J+pM2HS%od8?H5c=tc z-Qw}631rl1+?JP3I4Src)uy_-dds$L(JW$4-9Nq*8@FU6RM*rH{PCracFVtSJRhP2 zy=5=2=oeea=s@g5h&f=onVC73phKR#AIF82Y10MjrW&Gs$gQNXu9(K-aCOKeo=uga27z zv0r%J)dy-!B~!yCyY0}2jUhGVz#ZVy5q9v_pe>yUHPz=E_nx|fh%YFC{@9%Bkc3GTs%dGuE(H=3 zI|>mw1C+90?yiXF^!|`TcG9()x|RN#RsJITj1MtfmI>LE?(dlzDR)=1tgK0q_AurK zf3w~MbFb>WMMv*?{^c^oOAFT7X&N(b8l&_=RS<%nT!6dvNp}y{)eJ20E#|qh z(7I~;)O2Hr^xX`AJeWVJ`_H?))wW+$4dYmGmT9=BJ?Uau0RSZ46r1h9-)lu0smL(#>MEu5!d>P>?ozy+a@ zFqKd~epJx0{;)4+b})Cm)qy(Q9FI9Nne(k;(hkRo(R8k0QC-WP9lm&*JGcJ`CU9}8 z37Sq&I%HHvKafEuTo>n#AHRXUhLm!M5bVOak^4!q;BD7h`Wv5TnYrbx(~H}@zCqjO zVbXw>MSdi3EwrXs>&{Z+&siy_yjT+QohN6S^PnIZS4Z51mZk!%(ux7TYad3n8^M1y zG0RSYR8Lbf4KA_ze`S5j7fg5UXJPEBUb=*zC7BA*1Fio4AG5+FfL zG5}*yQ8N$qASgPGbw3B^<-q6|lB^TXMdllY_UOdiukwI?r_!y8XS3O6Z-=?gNIA4Q zQV1PpVM)Y*S~W<}f_wOgToh}DjkNSVjHzKDdBs{*2;JDFN;Km(4#zNqa$L_O=9Vsle3xqNk1+9a2=5OOq{v2)`ePcZaAKk8Jpd0rzX2QN?`082e-(Lq64=5~G!3x#A|v5e?U z@^LJg{givNM<<{Z;;gv6E~5mc=SnV#>(&50gCBJxmN@IIrDNj@bLXlS=e)S{#}o;; z)y;Qu8c1)D)3~YiXwe}35hYdj0Blnd3&UQR0TJaOv0%nHe{o@UU#Om{YW=}X3yp1} z_VI~XU)On6(({ zxlTu7_V}*NZPA67mpD$igoGO5Bf0>gI1?488B&BP2tYmNy}Z0-A3mfYx{2C90QQ&; zNYw;s>IyW0RPaz<-XKwjL^#Kq(J?M*WtgUbc~HN0bPRYf>9VV|zHNGCa38^5fk!l; zXW~wSCioh|29xzW1kxY}&vpjrm6wwdr9HeSTEH~a#~~pu@A%<>+Zt$r@AKzI%DxX@ zHHCg`XgKksm_Z9!O$^C7bjXMwmF+*?&~X_{cuvi+P_RbZyEqrA)WrS~j$R78vhLK@UeBE+W3TK(3&J zEv+-kLxo}aQ+%ixnEl0{D6g|ad&NuFH$y6ImTyv zprt`@0Xe`Y#Wp)I=S^IT?6Q`nHXubyz!t z^!~AROjEpVNesC?gq;C!xWKikAJ%aRc@v9Nx5a$1;lDQT{~!)kepB7o+w--%96pmp z`9AJ6@bUSHf?+rhGU&OpiZE6+BC~!e!K5%G-c~O4^H3o&tU68+Sp+S(2|B1!tbyN2 z4OfT2KlE=PdzvwbFoOjUm69(`JNs2dAaB>LGKaF^Lav6Ch!$If^43k8E|A%nSzBHc ztV`#~Bokfq!;t9P;S%?Yo^x|^)p`At1Q?$LjH=n-eF;g>NPUL^it>J{3>^h7;zj5s z2l_BnrDkE8-;$8o)+@-3w1nBIAM2V9*xLf;G9SgnlE&irZ6jpR5Q{m8x8;4~&6t8{ z#?qM}EBAjuD^l+t!<0-DlSS%oqY?>fxhY80{tp=z)WM($C@Mj0v%v5b<^7m^We|PU zwMt$_CY97%mmaar4Z6+=Xvf7v_oD(ekRfO^EvQT;hJ}mzmi9$oMMv?@l&c%+x`hHp=aOaeppKY;kT>_2sGc)DF0aTJG}{bT>rd!Rs-@s!1GG z9`ZztslzdXac=(mG+~?XPuYTCgt7=`3lej-zw4h5wkIPk{fd|t^Tn|>^%%;T)W>Uh z^IX9{hrLQJ%8O4&SZG7BF2p!; zHYnmsn5k3KznTryw zNUS)Yvuz9v$*_nIvjC9d4-FG1TkJmg?4#)P#k4U%^s3=0oFh|`t%3ECGE4-cLBVV` z;!*P%EL?OYjzyTnMt2l~4VyJ4|B1{)FfDin?3aB;EX@0Kqk`J1D9wUf%oi^PY{VF? zy}eyAKf{CLf@n}64vGK_Qz4q#z5wkP+j$MA>MX%9I51gd(y{eMz`umHZVc$x468hw zN~4L+#;~`jBz`?s;V5pNe5fc=ikQ($wfNU#f=O&B1To}{*K6?`RY$PSek76$ibKI< zCnS?Jhap`U%p$doeM$!#?OrtWqZtswRhBo1s6-W3CHN>izrHhjv8t-7;lXxZ{7u`Y zx*=57l);=nZt7*(nfX-Em7z_CC_?+DwHb+iuIt#zDAhSB%u^Y7%|ZB67xALv=V!dT zvU{fVboZ=9T{JX=O(z9na!a0LYEnf?VU9NTyg;unG5b3+ z=5$@ANV-UI4@<1#Rz^kx=y;@0?tolQnoW5*u|fs1wctSxcBPuPisZt;m!KFats0}a z51~?^mpKI?z6mJU?DdUR{$XJjfYPr(NrKq4a%_!aj3scsGP&lC%b&BX_J44l={aD6 zh(oo~fNz`nI5gDto!w4ig$E5jG8$(10r}9+VyAx!C%kg%0rvq*9%i z^I!Q`R4_XzT2@t+NstG^8^AIk_PcNX?sf7*BA=4n5LD?vL$#CYK9DZAHdO)^4Li4` z8P&uStECdX*ZeAb48A2@ABxvQusOuVRX&*os<0If(#*WBQ0L0>&*QG*bp?BPc&ad& zH6XL+f!5px442HnBldq#R8*7`Ui_+DYaa?5fJ%a99j2of3=1dEa?YvbB;Ur4)e#Va zdX$0OBYi9B_U3`I(vI}RJ5?9p7zt!qv#z18WB4hX2@C;xy9|iBR1mrr`<((~QxL`i zfzy*)q-15&VFD{FFDG&3+m$+JVsyyE2S^M zqnd>Rv>@w48ZAJ9%6B_Pj-+`vpf{;k@SGP;+FE^14&zX6TwzibDn?rL_U+q&PzC7M zuTK|qo_Lb8Mpa5&O&A`xpx8&GRCDdks6COL17{0!AE0m(oCzb|E1)MW%rXhi zWNSj<>29buLs3;fox0hg23(~68K05$o6f8Gx-cBgmdAG=4!6wu<|8AgVd2Qm&YsMz zlcNrtyi-G5!N2?Zs<{S|rsT~AkVq7|I6lXbOJbwtyw8q0zDlada~!q((f%iKJNS^| zh*ufrhZYwsQbzl+&Y%(i$*L~HZ<)|o8@AV7?RY5I3!6=Cu&@nGQELuqXDN{B5e}63 ztknZ;tQUVq=KpY=o<(YBlUFxl;I}P zVVS1+Q`zomeaED^J2MaLU_QcbcM|JTHC?%CRS!VYlIaq=4UA&)<&6gsd}DN5?tQM@ zd_Yba+s?Rc8@trfBnd6a7)KN^Khp6;5E+ep`_P6lRR)!_?d z01O16gnyrehU#*Q@uJ#C05i|FHC(@b9j>O!Dg4B92oIVvoXX%$j;HdKq+_`r>0r1> z=(rt758<@LN0+3gBe^r+k;99QTC!wNE2B|Mb3m`l%%(fj7sHSUgw10GV$54}4rmwb zm{5AF^H@YcKoznBQL9nJmyGc#DJc}4Fy)b|IubsR+DtI$CBt^i?d#U{by`PJb%=L@ z1P*K$NW#a+(eJs9^C@ARf-H+=PP^zst_1lwBrGiBoptBc)86LBgnd(uhqy32C~twUHfA_=8hoY{eV`6->ED5@UJQa0uxwF zT5W3}8egtm5hny8A_b_Y8GEMlf@L4PtcY^eiXrAzkj1yMu$W_oM@_V*I2|xyh3wNX zX)+o(gCR^s$8h6j`J?Ch$B;=a@U_R2F>c~@ewP_rT%LX6MmpgpXdz**8va56Xnqrs zA)fCErUHzuS}+Vx2oEm;#4v>XAvEeYmDE9HApI<50N^Yh_^F_T<28TsI%;l7!Q#Ha zl8zKOoMz#lJL^O2nQz4lF~xN))D7)t-e&G35papB(2Z0b*SRx+$Y9CEv5jDM>tzhC+NLqPE?S zfiYgQHNgc|mREpwjhBEl;Dyb{?8`v6;lq=<1vg+8RruMoV72}wpc6eC)`e>W>zqM# zh(th&TpavqE6Ei#>txsmy71vvuCs0;-4#MTyr@1Bp~22axoc#*9^Cl zYrj?9!;-~Ux~Efp%xW(3oYK1jXt@7Frkr`sYE=N}1cXcm>Jmj}S?Nl#WcNk#wwCwk z#0tDVkSV{2>>Gpc&6u<$r?q0DyRI6dN?;A=KsLsKY-53+B%`R-Wrsv8+uiq{eX7tu>P1Z~;g~b1dNj*_ zn2%2x1A^yhIsB&d3*-`6xp%`tu`nEt+_ zaMBen(Q9H10QS~(NqTxPfl0Q>fUVWtSVb?LcUCYz3|0yufB4l=`N?Zt#J?HoWX5SM zT8O(PRu|a6`!eH+kqJ1I0DS@i(L`Wut7XBI&1UXt-hAXMqVkyyPe*lSHIp>Jd_zx+M6r$9B2*X@&qQ+Vk zo&HQ7+m7MF_=aKSma!za`8e_dA!%Um(=LZPo`Trg+1xi`8yGk<)%!L z+eMLCUV6KD8FM=`D7_~!hZVF?@RCZ))*UQz z4(+Cno<}s2+Kp2=78i*Ijh$}&<1h?vGtbvS{YYj6o(GAVB}1z< zFr27Wl5fJjnvuQv^zyV88sgodP)%lvO|VD-#S)!|yrTo#LC=w-xT6z`B^D((Z!^dS z-f(^KmtD5LgbF)Mm_sv?l$I57d|`3N;a5$;tfU3N;ckF~Na;v!84|}7Zs!ST_DzUd zBiuz=cX#)u0s3I^g@8^Gf7_r9%zW?BDEb30ho%e_F187nf4;K!^rJLsKaT0vkmMiR zk|E5pj&daR{mugXILHeD4O-@y*21uZ%Bo6%mFh)qm06W)`Cxlw^I_Ga^b2S=)Ab=$Qeo?8LFqNeU>O`H0jzKWp2(?P5AdRuJ{(q=D4d#b z=VB7nK&%jj_fsl^1gi*G9CgYkl*w&jG;9Fs%@0{>>SZrtw1Zon>*&$X%^7AUP{l+C zp2-_PF1GIqanQtUgHRvH#Ot^HQRKQXeOWK)qP&WTJ$yIC+j%6!#PS;*nKod?Gm`Ey zS|K=qwwr-r?)^J=lEH{t04C;jyP#*Z!D@US$ecinKD>lRWokr!YDP{OW0<{l^X7}0 zt@c5P(>UeyfU)@>@QF8}0GZ%9!3h%nyt#U!oVRL9&W^+Oh1nk%miyM9`@Gv+&uu=v z6?mDP0CmM47`g>MCdF@F6G|@E`E5#wR=S!ul~5!UE`1!MnrbNP{LTCHJ+X@Lv{ENg zrqDsF7fMM)&(_JYJ)HV=MLbkk4XmM5>_-GIMh%@V=x^=rMA$6^!Spr1U-Jn81Dex! zFC@ddQ`-02?Bq!%b?z#3umIp7o`1=s;)B$ud}; v6g{|hv-7Z|t}BoiqYck2ng5Rt%V!sj_e*l9yw>q1mzR>1JDGU={EhzxYhM^h literal 8442 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

vvAXvh}QKCjLQh+K^i zKFJ2e9)hS5D+0RB|Jm6W23Yza7ExCN7D`D5IMruC?5C>x;x=29QpcC@^E;uiURdU; zx~?z8FD^<5VKaYRDHjvkoD|@#Hrl@H&+=@1aeDy-F%bjsNWt!FoXM`BNXq{;068yk z{0xN2;}1tyKN5(FwZ({r_k;jyj)YK_eIPXQ1A+V1gebIiHoWAn2f_jx*-voU$`NF3la_(x*1sPe4n3VUbS zd)>Ho%Kv-%ZAfA|jI^ZE?p)R_tVu+SvQIxDu?DxP}P$UptVdZK@0A zjf^cNpikk3!!#QTsSk_ryS5@e>sKk6Nx~xsinZEsG4Z}#0rA{vIdTt*?+WROM3i{C zQN(NVz{(*aV?*8g${k|m%aC%cGO8Eik0c&`2*fE^xE<8eUFpt3a6ngO$o6m*RZ_zN zk>f1EuML|_Y`)h~+l9`;E#(_~p}w_C|FyYlYfDPh zEJZwH7u>y(rN=#u@0dtpc&_Rty`juLzk0s2uvBPm&!Jw@>0*>&4l>ea#cIUP`#CYK zt`}yzftive!{9|4UQF!t4V}#>hOCJ}L`Fq7N4b0i@kb6C&DZZK6Gog_Qa8I2M4b77 z0rR%B^}_gfnU%*t_$X za%k-;q#f7&IiE2H`SeOp5~ByiS&ke9bsV66HOoO(|9Tn^+&3HIFzGxK4Ivx$-RR8b5ub`18M4iobsP%{&#do!ozz3vZP9jVDNJ^0KaakTcz#x G;C}(ENb-^Z diff --git a/wyk/03_Entropia.ipynb b/wyk/03_Entropia.ipynb new file mode 100644 index 0000000..287be54 --- /dev/null +++ b/wyk/03_Entropia.ipynb @@ -0,0 +1,657 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Entropia\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Entropia** ($E$) to miara nieuporządkowania, niepewności, niewiedzy. Im\n", + "większa entropia, tym mniej wiemy. Pojęcie to pierwotnie wywodzi się z\n", + "termodynamiki, później znaleziono wiele zaskakujących analogii i zastosowań w\n", + "innych dyscyplinach nauki.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Entropia w fizyce\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "W termodynamice entropia jest miarą nieuporządkowania układów\n", + "fizycznych, na przykład pojemników z gazem. Przykładowo, wyobraźmy\n", + "sobie dwa pojemniki z gazem, w którym panuje różne temperatury.\n", + "\n", + "![img](./03_Entropia/gas-low-entropy.drawio.png)\n", + "\n", + "Jeśli usuniemy przegrodę między pojemnikami, temperatura się wyrówna,\n", + "a uporządkowanie się zmniejszy.\n", + "\n", + "![img](./03_Entropia/gas-high-entropy.drawio.png)\n", + "\n", + "Innymi słowy, zwiększy się stopień nieuporządkowania układu, czyli właśnie entropia.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### II prawo termodynamiki\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jedno z najbardziej fundamentalnych praw fizyki, II prawo\n", + "termodynamiki głosi, że w układzie zamkniętym entropia nie spada.\n", + "\n", + "****Pytanie****: Czy to, że napisałem te materiały do wykładu i\n", + "*uporządkowałem* wiedzę odnośnie do statystycznych własności języka, nie\n", + "jest sprzeczne z II prawem termodynamiki?\n", + "\n", + "Konsekwencją II prawa termodynamiki jest śmierć cieplna Wszechświata\n", + "(zob. [wizualizacja przyszłości Wszechświata]([https://www.youtube.com/watch?v=uD4izuDMUQA](https://www.youtube.com/watch?v=uD4izuDMUQA))).\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Entropia w teorii informacji\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pojęcie entropii zostało „odkryte” na nowo przez Claude'a Shannona,\n", + "gdy wypracował ogólną teorię informacji.\n", + "\n", + "Teoria informacji zajmuje się między innymi zagadnieniem optymalnego kodowania komunikatów.\n", + "\n", + "Wyobraźmy sobie pewne źródło (generator) losowych komunikatów z\n", + "zamkniętego zbioru symboli ($\\Sigma$; nieprzypadkowo używamy oznaczeń\n", + "z poprzedniego wykładu). Nadawca $N$ chce przesłać komunikat o wyniku\n", + "losowania do odbiorcy $O$ używając zer i jedynek (bitów).\n", + "Teorioinformacyjną entropię można zdefiniować jako średnią liczbę\n", + "bitów wymaganych do przesłania komunikatu.\n", + "\n", + "![img](./03_Entropia/communication.drawio.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Obliczanie entropii — proste przykłady\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Załóżmy, że nadawca chce przekazać odbiorcy informację o wyniku rzutu monetą.\n", + "Entropia wynosi wówczas rzecz jasna 1 — na jedno losowanie wystarczy jeden bit\n", + "(informację o tym, że wypadł orzeł, możemy zakodować na przykład za pomocą zera,\n", + "zaś to, że wypadła reszka — za pomocą jedynki).\n", + "\n", + "Rozpatrzmy przypadek, gdy nadawca rzuca ośmiościenną kością. Aby przekazać\n", + "wynik, potrzebuje wówczas 3 bity (a więc entropia ośmiościennej kości\n", + "wynosi 3 bity). Przykładowe kodowanie może mieć następującą postać:\n", + "\n", + "| Wynik|Kodowanie|\n", + "|---|---|\n", + "| 1|001|\n", + "| 2|010|\n", + "| 3|011|\n", + "| 4|100|\n", + "| 5|101|\n", + "| 6|110|\n", + "| 7|111|\n", + "| 8|000|\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Obliczenie entropii — trudniejszy przykład\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Załóżmy, że $\\Sigma = \\{A, B, C, D\\}$, natomiast poszczególne komunikaty\n", + "są losowane zgodnie z następującym rozkładem prawdopodobieństwa:\n", + "$P(A)=1/2$, $P(B)=1/4$, $P(C)=1/8$, $P(D)=1/8$. Ile wynosi entropia w\n", + "takim przypadku? Można by sądzić, że 2, skoro wystarczą 2 bity do\n", + "przekazania wyniku losowania przy zastosowaniu następującego kodowania:\n", + "\n", + "| Wynik|Kodowanie|\n", + "|---|---|\n", + "| A|00|\n", + "| B|01|\n", + "| C|10|\n", + "| D|11|\n", + "\n", + "Problem w tym, że w rzeczywistości nie jest to *optymalne* kodowanie.\n", + "Możemy sprytnie zmniejszyć średnią liczbę bitów wymaganych do\n", + "przekazania losowego wyniku przypisując częstszym wynikom krótsze\n", + "kody, rzadszym zaś — dłuższe. Oto takie optymalne kodowanie:\n", + "\n", + "| Wynik|Kodowanie|\n", + "|---|---|\n", + "| A|0|\n", + "| B|10|\n", + "| C|110|\n", + "| D|111|\n", + "\n", + "Używając takiego kodowanie średnio potrzebujemy:\n", + "\n", + "$$\\frac{1}{2}1 + \\frac{1}{4}2 + \\frac{1}{8}3 + \\frac{1}{8}3 = 1,75$$\n", + "\n", + "bita. Innymi słowy, entropia takiego źródła wynosi 1,75 bita.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Kodowanie musi być jednoznaczne!\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Można by sądzić, że da się stworzyć jeszcze krótsze kodowanie dla omawianego rozkładu nierównomiernego:\n", + "\n", + "| Wynik|Kodowanie|\n", + "|---|---|\n", + "| A|0|\n", + "| B|1|\n", + "| C|01|\n", + "| D|11|\n", + "\n", + "Niestety, nie jest to właściwe rozwiązanie — kodowanie musi być\n", + "jednoznaczne nie tylko dla pojedynczego komunikatu, lecz dla całej sekwencji.\n", + "Na przykład ciąg 0111 nie jest jednoznaczny przy tym kodowaniu (ABBB czy CD?).\n", + "Podane wcześniej kodowanie spełnia warunek jednoznaczności, ciąg 0111 można odkodować tylko\n", + "jako AD.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Ogólny wzór na entropię.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Na podstawie poprzedniego przykładu można dojść do intuicyjnego wniosku, że\n", + "optymalny kod dla wyniku o prawdopodobieństwie $p$ ma długość $-\\log_2(p)$, a zatem ogólnie\n", + "entropia źródła o rozkładzie prawdopodobieństwa $\\{p_1,\\ldots,p_|\\Sigma|\\}$ wynosi:\n", + "\n", + "$$E = -\\sum_{i=1}^{|\\Sigma|} p_i\\log_2(p_i)$$.\n", + "\n", + "Zauważmy, że jest to jeden z nielicznych przypadków, gdy w nauce naturalną\n", + "podstawą logarytmu jest 2 zamiast… podstawy logarytmu naturalnego ($e$).\n", + "\n", + "Teoretycznie można mierzyć entropię używając logarytmu naturalnego\n", + "($\\ln$), jednostką entropii będzie wówczas **nat** zamiast bita,\n", + "niewiele to jednak zmienia i jest mniej poręczne i trudniejsze do interpretacji\n", + "(przynajmniej w kontekście informatyki) niż operowanie na bitach.\n", + "\n", + "****Pytanie**** Ile wynosi entropia zwykłej sześciennej kostki? Jak wygląda\n", + "optymalne kodowanie wyników rzutu taką kostką?\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Entropia dla próby Bernoulliego\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Wiemy już, że entropia dla rzutu monetą wynosi 1 bit. A jaki będzie wynik dla źle wyważonej monety?\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "from math import log\n", + "import numpy as np\n", + "\n", + "def binomial_entropy(p):\n", + " return -(p * log(p, 2) + (1-p) * log(1-p, 2))\n", + "\n", + "x = list(np.arange(0.001,1,0.001))\n", + "y = [binomial_entropy(x) for x in x]\n", + "plt.figure().clear()\n", + "plt.xlabel('prawdopodobieństwo wylosowania orła')\n", + "plt.ylabel('entropia')\n", + "plt.plot(x, y)\n", + "\n", + "fname = f'03_Entropia/binomial-entropy.png'\n", + "\n", + "plt.savefig(fname)\n", + "\n", + "fname" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pytanie** Dla oszukańczej monety (np. dla której wypada zawsze orzeł) entropia\n", + "wynosi 0, czy to wynik zgodny z intuicją?\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Entropia a język\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Tekst w danym języku możemy traktować jako ciąg symboli (komunikatów) losowanych według jakiegoś\n", + "rozkładu prawdopodobieństwa. W tym sensie możemy mówić o entropii języka.\n", + "\n", + "Oczywiście, jak zawsze, musimy jasno stwierdzić, czym są symbole\n", + "języka: literami, wyrazami czy jeszcze jakimiś innymi jednostkami.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Pomiar entropii języka — pierwsze przybliżenie\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Załóżmy, że chcemy zmierzyć entropię języka polskiego na przykładzie\n", + "„Pana Tadeusza” — na poziomie znaków. W pierwszym przybliżeniu można\n", + "by policzyć liczbę wszystkich znaków…\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['K', 's', 'i', 'ę', 'g', 'a', ' ', 'p', 'i', 'e', 'r', 'w', 's', 'z', 'a', '\\r', '\\n', '\\r', '\\n', '\\r', '\\n', '\\r', '\\n', 'G', 'o', 's', 'p', 'o', 'd', 'a', 'r', 's', 't', 'w', 'o', '\\r', '\\n', '\\r', '\\n', 'P', 'o', 'w', 'r', 'ó', 't', ' ', 'p', 'a', 'n', 'i']" + ] + } + ], + "source": [ + "import requests\n", + "from itertools import islice\n", + "\n", + "url = 'https://wolnelektury.pl/media/book/txt/pan-tadeusz.txt'\n", + "pan_tadeusz = requests.get(url).content.decode('utf-8')\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": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "95" + ] + } + ], + "source": [ + "chars_in_pan_tadeusz = len(set(get_characters(pan_tadeusz)))\n", + "chars_in_pan_tadeusz" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "… założyć jednostajny rozkład prawdopodobieństwa i w ten sposób policzyć entropię:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6.569855608330948" + ] + } + ], + "source": [ + "from math import log\n", + "\n", + "95 * (1/95) * log(95, 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Mniej rozrzutne kodowanie\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Przypomnijmy sobie jednak, że rozkład jednostek języka jest zawsze\n", + "skrajnie nierównomierny! Jeśli uwzględnić ten nierównomierny rozkład\n", + "znaków, można opracować o wiele efektywniejszy sposób zakodowania znaków składających się na „Pana Tadeusza”\n", + "(częste litery, np. „a” i „e” powinny mieć krótkie kody, a rzadkie, np. „ź” — dłuższe).\n", + "\n", + "Policzmy entropię przy takim założeniu:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.938605272823633" + ] + } + ], + "source": [ + "from collections import Counter\n", + "from math import log\n", + "\n", + "def unigram_entropy(t):\n", + " counter = Counter(t)\n", + "\n", + " total = counter.total()\n", + " return -sum((p := count / total) * log(p, 2) for count in counter.values())\n", + "\n", + "unigram_entropy(get_characters(pan_tadeusz))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "(Jak dowiemy się na kolejnym wykładzie, zastosowaliśmy tutaj **unigramowy model języka**).\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Ile wynosi entropia rękopisu Wojnicza?\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9 OR 9FAM ZO8 QOAR9 Q*R 8ARAM 29 [O82*]OM OPCC9 OP" + ] + } + ], + "source": [ + "import requests\n", + "import re\n", + "\n", + "voynich_url = 'http://www.voynich.net/reeds/gillogly/voynich.now'\n", + "voynich = requests.get(voynich_url).content.decode('utf-8')\n", + "\n", + "voynich = re.sub(r'\\{[^\\}]+\\}|^<[^>]+>|[-# ]+', '', voynich, flags=re.MULTILINE)\n", + "\n", + "voynich = voynich.replace('\\n\\n', '#')\n", + "voynich = voynich.replace('\\n', ' ')\n", + "voynich = voynich.replace('#', '\\n')\n", + "\n", + "voynich = voynich.replace('.', ' ')\n", + "\n", + "voynich[100:150]" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.902708104423842" + ] + } + ], + "source": [ + "unigram_entropy(get_characters(voynich))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Rzeczywista entropia?\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "W rzeczywistości entropia jest jeszcze mniejsza, tekst nie jest\n", + "generowany przecież według rozkładu wielomianowego. Istnieją rzecz\n", + "jasna pewne zależności między znakami, np. niemożliwe, żeby po „ń”\n", + "wystąpiły litera „a” czy „e”. Na poziomie wyrazów zależności mogę mieć\n", + "jeszcze bardziej skrajny charakter, np. po wyrazie „przede” prawie na\n", + "pewno wystąpi „wszystkim”, co oznacza, że w takiej sytuacji słowo\n", + "„wszystkim” może zostać zakodowane za pomocą 0 (!) bitów.\n", + "\n", + "Można uwzględnić takie zależności i uzyskać jeszcze lepsze kodowanie,\n", + "a co za tym idzie lepsze oszacowanie entropii. (Jak wkrótce się\n", + "dowiemy, oznacza to użycie digramowego, trigramowego, etc. modelu języka).\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Rozmiar skompresowanego pliku jako przybliżenie entropii\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Celem algorytmów kompresji jest właściwie wyznaczanie efektywnych\n", + "sposobów kodowania danych. Możemy więc użyć rozmiaru skompresowanego pliku w bitach\n", + "(po podzieleniu przez oryginalną długość) jako dobrego przybliżenia entropii.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.673019884633768" + ] + } + ], + "source": [ + "import zlib\n", + "\n", + "def entropy_by_compression(t):\n", + " compressed = zlib.compress(t.encode('utf-8'))\n", + " return 8 * len(compressed) / len(t)\n", + "\n", + "entropy_by_compression(pan_tadeusz)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dla porównania wynik dla rękopisu Wojnicza:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.942372881355932" + ] + } + ], + "source": [ + "entropy_by_compression(voynich)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Gra Shannona\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Innym sposobem oszacowania entropii tekstu jest użycie… ludzi. Można poprosić rodzimych użytkowników\n", + "danego języka o przewidywanie kolejnych liter (bądź wyrazów) i w ten sposób oszacować entropię.\n", + "\n", + "**Projekt** Zaimplementuj aplikację webową, która umożliwi „rozegranie” gry Shannona.\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.2" + }, + "org": null + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/wyk/03_Entropia.org b/wyk/03_Entropia.org index e0f4a45..0c4397b 100644 --- a/wyk/03_Entropia.org +++ b/wyk/03_Entropia.org @@ -11,12 +11,12 @@ W termodynamice entropia jest miarą nieuporządkowania układów fizycznych, na przykład pojemników z gazem. Przykładowo, wyobraźmy sobie dwa pojemniki z gazem, w którym panuje różne temperatury. -[[./03_Jezyki/gas-low-entropy.drawio.png]] +[[./03_Entropia/gas-low-entropy.drawio.png]] Jeśli usuniemy przegrodę między pojemnikami, temperatura się wyrówna, a uporządkowanie się zmniejszy. -[[./03_Jezyki/gas-high-entropy.drawio.png]] +[[./03_Entropia/gas-high-entropy.drawio.png]] Innymi słowy, zwiększy się stopień nieuporządkowania układu, czyli właśnie entropia. @@ -46,7 +46,7 @@ losowania do odbiorcy $O$ używając zer i jedynek (bitów). Teorioinformacyjną entropię można zdefiniować jako średnią liczbę bitów wymaganych do przesłania komunikatu. -[[./03_Jezyki/communication.drawio.png]] +[[./03_Entropia/communication.drawio.png]] *** Obliczanie entropii — proste przykłady @@ -187,6 +187,25 @@ Załóżmy, że chcemy zmierzyć entropię języka polskiego na przykładzie „Pana Tadeusza” — na poziomie znaków. W pierwszym przybliżeniu można by policzyć liczbę wszystkich znaków… +#+BEGIN_SRC python :session mysession :exports both :results raw drawer + import requests + from itertools import islice + + url = 'https://wolnelektury.pl/media/book/txt/pan-tadeusz.txt' + pan_tadeusz = requests.get(url).content.decode('utf-8') + + def get_characters(t): + yield from t + + list(islice(get_characters(pan_tadeusz), 100, 150)) +#+END_SRC + +#+RESULTS: +:results: +['K', 's', 'i', 'ę', 'g', 'a', ' ', 'p', 'i', 'e', 'r', 'w', 's', 'z', 'a', '\r', '\n', '\r', '\n', '\r', '\n', '\r', '\n', 'G', 'o', 's', 'p', 'o', 'd', 'a', 'r', 's', 't', 'w', 'o', '\r', '\n', '\r', '\n', 'P', 'o', 'w', 'r', 'ó', 't', ' ', 'p', 'a', 'n', 'i'] +:end: + + #+BEGIN_SRC python :session mysession :exports both :results raw drawer chars_in_pan_tadeusz = len(set(get_characters(pan_tadeusz))) chars_in_pan_tadeusz @@ -241,6 +260,30 @@ Policzmy entropię przy takim założeniu: *** Ile wynosi entropia rękopisu Wojnicza? +#+BEGIN_SRC python :session mysession :exports both :results raw drawer + import requests + import re + + voynich_url = 'http://www.voynich.net/reeds/gillogly/voynich.now' + voynich = requests.get(voynich_url).content.decode('utf-8') + + voynich = re.sub(r'\{[^\}]+\}|^<[^>]+>|[-# ]+', '', voynich, flags=re.MULTILINE) + + voynich = voynich.replace('\n\n', '#') + voynich = voynich.replace('\n', ' ') + voynich = voynich.replace('#', '\n') + + voynich = voynich.replace('.', ' ') + + voynich[100:150] +#+END_SRC + +#+RESULTS: +:results: +9 OR 9FAM ZO8 QOAR9 Q*R 8ARAM 29 [O82*]OM OPCC9 OP +:end: + + #+BEGIN_SRC python :session mysession :exports both :results raw drawer unigram_entropy(get_characters(voynich)) #+END_SRC diff --git a/wyk/04_Ngramowy_model.ipynb b/wyk/04_Ngramowy_model.ipynb index 5159795..990fe6d 100644 --- a/wyk/04_Ngramowy_model.ipynb +++ b/wyk/04_Ngramowy_model.ipynb @@ -1 +1 @@ -{"cells":[{"cell_type":"markdown","metadata":{},"source":["### Modele języka i ich zastosowania\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Przypomnienie\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Przypomnijmy, że model języka zwraca prawdopodobieństwo dla danego\nciągu symboli (tokenów, wyrazów itp.) $w_1\\ldots w_N$ (o długości $N$):\n\n$$P_M(w_1\\ldots w_N) = ?$$\n\nW dalszym ciągu będziemy zakładali, że będziemy operować na wyrazach.\nZbiór wszystkich wyrazów nazywa się **słownikiem** (ang. *vocabulary*,\nnie *dictionary!*), w literaturze dotyczącej modelowania języka\nzazwyczaj oznacza się go literą $V$ (częściej niż $\\Sigma$).\nDale zakładamy, że słownik jest skończony.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Co jeszcze potrafi model języka?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Przewidywanie kolejnego słowa\n\n"]},{"cell_type":"markdown","metadata":{},"source":["$$P_M(w_N|w_1\\ldots w_{N-1}) = \\frac{P_M(w_1\\dots w_{N-1}w_N*)}{P_M(w_1\\dots w_{n-1}*)} = \\frac{\\sum_{\\alpha \\in\n \\Sigma^*}P_M(w_1\\dots w_N\\alpha)}{\\sum_{\\alpha\\in\\Sigma^*}P(w_1\\dots w_{n-1}\\alpha)}$$\n\n$P_M(w_N|w_1\\ldots w_{N-1})$ to właściwie skrót notacyjny, pełny zapis powinien mieć następujący kształt:\n\n$$P_M(X_N=w_N|X_1=w_1,\\ldots,X_{N-1}=w_{N-1}),$$\n\ngdzie $P_M(X_i=w)$ oznacza prawdopodobieństwo, że na $i$-tej pozycji wystąpi słowo $w$.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Odgadywanie słowa w luce\n\n"]},{"cell_type":"markdown","metadata":{},"source":["$$P_M(w_1\\dots w_{i-1}?w_{i+1}\\dots w_N) = \\operatorname{argmax}_w P_M(w_1\\ldots w_{i-1}ww_{i+1}\\dots w_N)$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Przykład dla autentycznego modelu języku\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Zobaczmy przykładowe zastosowania i wyniki dla modelu języku\nwyuczonego na tekstach z II poł. XX w.\n\n![img](./04_Ngramowy_model/tabelka.png)\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Do czego stosujemy model języka?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Model języka sam w sobie nie jest zbyt użyteczny. To raczej środek do celu\nniż cel sam w sobie.\n\nModel języka:\n\n- ma zastosowanie w kryptoanalizie\n - Oxmynsxq mkx lo kmrsofon li cdenisxq sdc kvzrklodsm mrkbkmdobc kxn bozvkmsxq okmr yxo li dro 13dr voddob zvkmon pebdrob kvyxq sx dro kvzrklod.\n- pomaga(ł) wybrać właściwe tłumaczenie w tłumaczeniu maszynowym\n czy transkrypcję w systemach rozpoznawania mowy (ASR)\n (zanim zaczęto używać do tego sieci neuronowych, gdzie nie\n ma już wyraźnego rozróżnienia między modelem tłumaczenia\n czy modelem akustycznym a modelem języka\n- pomaga znaleźć „podejrzane” miejsca w tekście\n (korekta pisowni/gramatyki)\n- może być stosowany jako klasyfikator (potrzeba wtedy więcej niż jednego modelu,\n np. model języka spamów kontra model języka niespamów)\n- może być stosowany w kompresji danych\n- bardzo dobry model języka **musi** mieć **w środku** bardzo dobrą **wiedzę**\n o języku i o świecie, można wziąć **„wnętrzności”** modelu, nie dbając o prawdopodobieństwa\n i użyć modelu w zupełnie innym celu\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### N-gramowy model języka\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Zawsze prawdziwe:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)\\dots P_M(w_N|w_1\\dots w_{N-1}).$$\n\nMożna aproksymować prawdopodobieństwa używając $n$-gramów:\n\n$$P_M(w_1\\dots w_N) \\approx P_M(w_1)\\dots P_M(w_i|w_{i-n+1}\\dots w_{i-1})\\dots P_M(w_N|w_{N-n+1}\\dots w_{N-1}).$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model trigramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=3$:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)P_M(w_3|w_1w_2)\\dots P_M(w_i|w_{i-2}w_{i-1})\\dots P_M(w_N|w_{N-2}w_{N-1}).$$\n\nZauważmy, że model trigramowy oznacza modelowanie kolejnego wyrazu przy znajomości\n2 (nie 3!) poprzedzających wyrazów (**razem** mamy 3 wyrazy).\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model digramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=2$:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)P_M(w_3|w_2)\\dots P_M(w_i|w_{i-1})\\dots P_M(w_N|w_{N-1})$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model unigramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=1$ uzyskujemy przypadek szczególny:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2)P_M(w_3)\\dots P_M(w_N) = \\prod_{i=1}^N P_M(w_i)$$\n\nZauważmy, że w modelu unigramowym w ogóle nie bierzemy pod uwagę kolejności wyrazów.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Estymacja prawdopodobieństw\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n$-gramowego modelu potrzebujmy estymować wartości:\n\n$$P_M(w_i|w_{i-n+1}\\dots w_{i-1}).$$\n\nPrawdopodobieństwa te estymujemy na podstawie jakiegoś **korpusu tekstów**\n(możemy nazywać go również **zbiorem uczącym**).\n\nNajprostszy sposób:\n\n$$P_M(w_i|w_{i-n+1}\\dots w_{i-1}) = \\frac{\\# w_{i-n+1}\\dots w_{i-1}w_i}{\\# w_{i-n+1}\\dots w_{i-1}},$$\n\ngdzie $\\# w_1\\dots w_k$ oznacza liczbę wystąpień w korpusie.\n\nNa przykład, jeśli model $M$ zostanie wyuczony na tekście *do be do be do do*, wówczas\n$P_M(\\mathit{be}|\\mathit{do})=\\frac{2}{3}$.\n\n"]}],"metadata":{"org":null,"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.5.2"}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file +{"cells":[{"cell_type":"markdown","metadata":{},"source":["### Modele języka i ich zastosowania\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Przypomnienie\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Przypomnijmy, że model języka zwraca prawdopodobieństwo dla danego\nciągu symboli (tokenów, wyrazów itp.) $w_1\\ldots w_N$ (o długości $N$):\n\n$$P_M(w_1\\ldots w_N) = ?$$\n\nW dalszym ciągu będziemy zakładali, że będziemy operować na wyrazach.\nZbiór wszystkich wyrazów nazywa się **słownikiem** (ang. *vocabulary*,\nnie *dictionary!*), w literaturze dotyczącej modelowania języka\nzazwyczaj oznacza się go literą $V$ (częściej niż $\\Sigma$).\nDale zakładamy, że słownik jest skończony.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Co jeszcze potrafi model języka?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Przewidywanie kolejnego słowa\n\n"]},{"cell_type":"markdown","metadata":{},"source":["$$P_M(w_N|w_1\\ldots w_{N-1}) = \\frac{P_M(w_1\\dots w_{N-1}w_N*)}{P_M(w_1\\dots w_{n-1}*)} = \\frac{\\sum_{\\alpha \\in\n \\Sigma^*}P_M(w_1\\dots w_N\\alpha)}{\\sum_{\\alpha\\in\\Sigma^*}P(w_1\\dots w_{n-1}\\alpha)}$$\n\n$P_M(w_N|w_1\\ldots w_{N-1})$ to właściwie skrót notacyjny, pełny zapis powinien mieć następujący kształt:\n\n$$P_M(X_N=w_N|X_1=w_1,\\ldots,X_{N-1}=w_{N-1}),$$\n\ngdzie $P_M(X_i=w)$ oznacza prawdopodobieństwo, że na $i$-tej pozycji wystąpi słowo $w$.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Odgadywanie słowa w luce\n\n"]},{"cell_type":"markdown","metadata":{},"source":["$$P_M(w_1\\dots w_{i-1}?w_{i+1}\\dots w_N) = \\operatorname{argmax}_w P_M(w_1\\ldots w_{i-1}ww_{i+1}\\dots w_N)$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Przykład dla autentycznego modelu języku\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Zobaczmy przykładowe zastosowania i wyniki dla modelu języku\nwyuczonego na tekstach z II poł. XX w.\n\n![img](./04_Ngramowy_model/tabelka.png)\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Do czego stosujemy model języka?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Model języka sam w sobie nie jest zbyt użyteczny. To raczej środek do celu\nniż cel sam w sobie.\n\nModel języka:\n\n- ma zastosowanie w kryptoanalizie\n - Oxmynsxq mkx lo kmrsofon li cdenisxq sdc kvzrklodsm mrkbkmdobc kxn bozvkmsxq okmr yxo li dro 13dr voddob zvkmon pebdrob kvyxq sx dro kvzrklod.\n- pomaga(ł) wybrać właściwe tłumaczenie w tłumaczeniu maszynowym\n czy transkrypcję w systemach rozpoznawania mowy (ASR)\n (zanim zaczęto używać do tego sieci neuronowych, gdzie nie\n ma już wyraźnego rozróżnienia między modelem tłumaczenia\n czy modelem akustycznym a modelem języka),\n- pomaga znaleźć „podejrzane” miejsca w tekście\n (korekta pisowni/gramatyki),\n- może być stosowany jako klasyfikator (potrzeba wtedy więcej niż jednego modelu,\n np. model języka spamów kontra model języka niespamów),\n- może być stosowany w kompresji danych,\n- bardzo dobry model języka **musi** mieć **w środku** bardzo dobrą **wiedzę**\n o języku i o świecie, można wziąć **„wnętrzności”** modelu, nie dbając o prawdopodobieństwa\n i użyć modelu w zupełnie innym celu.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### N-gramowy model języka\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Zawsze prawdziwe:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)\\dots P_M(w_N|w_1\\dots w_{N-1}).$$\n\nMożna aproksymować prawdopodobieństwa używając $n$-gramów:\n\n$$P_M(w_1\\dots w_N) \\approx P_M(w_1)\\dots P_M(w_i|w_{i-n+1}\\dots w_{i-1})\\dots P_M(w_N|w_{N-n+1}\\dots w_{N-1}).$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model trigramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=3$:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)P_M(w_3|w_1w_2)\\dots P_M(w_i|w_{i-2}w_{i-1})\\dots P_M(w_N|w_{N-2}w_{N-1}).$$\n\nZauważmy, że model trigramowy oznacza modelowanie kolejnego wyrazu przy znajomości\n2 (nie 3!) poprzedzających wyrazów (**razem** mamy 3 wyrazy).\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model digramowy/bigramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=2$:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2|w_1)P_M(w_3|w_2)\\dots P_M(w_i|w_{i-1})\\dots P_M(w_N|w_{N-1})$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Model unigramowy\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n=1$ uzyskujemy przypadek szczególny:\n\n$$P_M(w_1\\dots w_N) = P_M(w_1)P_M(w_2)P_M(w_3)\\dots P_M(w_N) = \\prod_{i=1}^N P_M(w_i)$$\n\nZauważmy, że w modelu unigramowym w ogóle nie bierzemy pod uwagę kolejności wyrazów.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Estymacja prawdopodobieństw\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla $n$-gramowego modelu potrzebujmy estymować wartości:\n\n$$P_M(w_i|w_{i-n+1}\\dots w_{i-1}).$$\n\nPrawdopodobieństwa te estymujemy na podstawie jakiegoś **korpusu tekstów**\n(możemy nazywać go również **zbiorem uczącym**).\n\nNajprostszy sposób:\n\n$$P_M(w_i|w_{i-n+1}\\dots w_{i-1}) = \\frac{\\# w_{i-n+1}\\dots w_{i-1}w_i}{\\# w_{i-n+1}\\dots w_{i-1}},$$\n\ngdzie $\\# w_1\\dots w_k$ oznacza liczbę wystąpień w korpusie.\n\nNa przykład, jeśli model $M$ zostanie wyuczony na tekście *do be do be do do*, wówczas\n$P_M(\\mathit{be}|\\mathit{do})=\\frac{2}{3}$.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["### Ewaluacja modeli języka\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Jak już widzimy, możemy mieć różne modele języka. Nawet jeśli\npozostajemy tylko na gruncie najprostszych, $n$-gramowych modeli\njęzyka, inne prawdopodobieństwa uzyskamy dla modelu digramowego, a\ninny dla trigramowego. Jedne modele będą lepsze, inne — gorsze. Jak\nobiektywnie odróżnić dobry model od złego? Innymi słowy, jak ewaluować\nmodele języka?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Ewaluacja zewnętrzna i wewnętrzna\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W ewaluacji zewnętrznej (ang. *extrinsic*) ewaluację modelu języka sprowadzamy\ndo ewaluacji większego systemu, którego częścią jest model języka, na przykład\nsystemu tłumaczenia maszynowego albo systemu ASR.\n\nEwaluacja wewnętrzna (ang. *intrinsic*) polega na ewaluacji modelu języka jako takiego.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Podział zbioru\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Po pierwsze, jak zazwyczaj bywa w uczeniu maszynowym, powinniśmy\npodzielić nasz zbiór danych. W modelowaniu języka zbiorem danych jest\nzbiór tekstów w danym języku, czyli korpus języka.\nPowinniśmy podzielić nasz korpus na część uczącą (*training set*) $C = \\{w_1\\ldots w_N\\}$ i testową\n(*test set*) $C' = \\{w_1'\\ldots w_{N'}'\\}$.\n\nWarto też wydzielić osobny „deweloperski” zbiór testowy (*dev set*) —\ndo testowania na bieżąco, optymalizacji hiperparametrów itd. Zbiory\ntestowe nie muszą być bardzo duże, np. kilka tysięcy zdań może w zupełności wystarczyć.\n\nTak podzielony korpus możemy traktować jako **wyzwanie modelowania języka**.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Przykład wyzwania modelowania języka\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Wyzwanie\n[https://gonito.net/challenge/challenging-america-word-gap-prediction|Challenging America word-gap prediction](https://gonito.net/challenge/challenging-america-word-gap-prediction|Challenging America word-gap prediction)\nto wyzwanie modelowania amerykańskiej odmiany języka angielskiego, używanej w gazetach w XIX w. i I poł. XX w.\n\n $ git clone git://gonito.net/challenging-america-word-gap-prediction\n $ cd challenging-america-word-gap-prediction\n $ xzcat train/in.tsv.xz | wc\n 432022 123677147 836787912\n $ xzcat dev-0/in.tsv.xz | wc\n 10519 3076536 20650825\n $ xzcat test-A/in.tsv.xz | wc\n 7414 2105734 14268877\n\nDodajmy, że poszczególne zbiory zawierają teksty z różnych gazet. Jest\nto właściwe podejście, jeśli chcemy mierzyć rzeczywistą skuteczność modeli języka.\n(Teksty z jednej gazety mogłyby być zbyt proste).\n\nOto przykład tekstu z wyzwania:\n\n $ xzcat train/in.tsv.xz | head -n 1 | fold\n 4e04702da929c78c52baf09c1851d3ff\tST\tChronAm\t1919.6041095573314\n 30.47547\t-90.100911\tcame fiom the last place to this\\nplace, and thi\n s place is Where We\\nWere, this is the first road I ever\\nwas on where you can r\n ide elsewhere\\nfrom anywhere and be nowhere.\\nHe says, while this train stops ev\n ery-\\nwhere, it never stops anywhere un-\\nless its somewhere. Well, I says,\\nI'm\n glad to hear that, but, accord-\\ning to your figures, I left myself\\nwhere 1 wa\n s, which is five miles near-\\ner to myself than I was when we\\nwere where we are\n now.\\nWe have now reached Slidell.\\nThat's a fine place. The people\\ndown there\n remind me of bananas-\\nthey come and go in bunches. 811-\\ndell used to be noted\n for her tough\\npeople. Now she is noted for be,\\ntough steaks. Well, I certainl\n y got\\none there. When the waiter brought\\nit in it was so small I thought. It\\n\n was a crack in the plate. I skid,\\nwaiter what else have you got? +He\\nbrought m\n e in two codfish and one\\nsmelt. I said, waiter have you got\\npigs feet? He said\n no, rheumatism\\nmakes me walk that way. I sald,\\nhow is the pumpkin pie?\n said\\nit's all squash. The best I could get\\nin that hotel was a soup sandwich.\\\n nAfter the table battle the waiter and\\nI signed an armistice. I then went\\nover\n to the hotel clerk and asked for\\na room. He said with or without a\\nbed? I sai\n d, with a bed. He said,\\nI don't think I 'have' a bed long\\nenough for you. I sa\n id, well, I'll\\naddtwo feettoitwhenIgetinit.\\nHe gave me a lovely room on the\\nt\n op floor. It was one of those rooms\\nthat stands on each side. If you\\nhappen to\n get up in the middle of\\nthe night you want to be sure and\\nget up in the middl\n e of the room.\\nThat night I dreamt I was eating\\nflannel cakes. When I woke up\n half\\nof the blanket was gone. I must\\nhave got up on the wrong side of the\\nbed\n , for next morning I had an awful\\nheadache. I told the manager about\\nit. He sa\n id, you have rheumatic\\npains. I said, no, I think it is on,\\nof those attic roo\n m pains. I nad to\\ngetupat5a.m.inthemorningso\\nthey could use the sheet to set t\n he\\nbreakfast table.\n\nZauważmy, że mamy nie tylko tekst, lecz również metadane (czas i\nwspółrzędne geograficzne). W modelowaniu języka można uwzględnić\nrównież takie dodatkowe parametry (np. prawdopodobieństwa wystąpienia\nsłowa *koronawirus* wzrasta po roku 2019).\n\nZauważmy również, że tekst zawiera błędy OCR-owe (np. *nad* zamiast\n*had*). Czy w takim razie jest to sensowne wyzwanie modelowania\njęzyka? Tak, w niektórych przypadkach możemy chcieć modelować tekst z\nuwzględnieniem „zaszumień” wprowadzanych przez ludzi bądź komputery\n(czy II prawo termodynamiki!).\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Co podlega ocenie?\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Ogólnie ocenie powinno podlegać prawdopodobieństwo $P_M(C')$, czyli\nprawdopodobieństwo przypisane zbiorowi testowemu $C'$ przez model\n(wyuczony na zbiorze $C$).\n\nJeśli oceniamy przewidywania, które człowiek lub komputer czynią, to\nim większe prawdopodobieństwo przypisane do tego, co miało miejsce,\ntym lepiej. Zatem im wyższe $P_M(C')$, tym lepiej.\n\nZazwyczaj będziemy rozbijali $P_M(C')$ na prawdopodobieństwa\nprzypisane do poszczególnych słów:\n\n$$P_M(w_1'\\dots w_{N'}') = P_M(w'_1)P_M(w'_2|w'_1)\\dots P_M(w'_{N'}|w'_1\\dots w'_{N'-1}) = \\prod_{i=1}^{N'} P_M(w'_i|w'_1\\ldots w'_{i-1}).$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Entropia krzyżowa\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Można powiedzieć, że dobry model języka „wnosi” informację o języku. Jeśli zarówno\nnadawca i odbiorca tekstu mają do dyspozycji ten sam model języka…\n\n![img](./04_Ngramowy_model/lm-communication.drawio.png)\n\n… powinni być w stanie zaoszczędzić na długości komunikatu.\n\nW skrajnym przypadku, jeśli model jest pewny kolejnego słowa, tj.\n$P_M(w'_i|w'_1\\ldots w'_{i-1}) = 1$, wówczas w $i$-tym kroku w ogóle\nnic nie trzeba przesyłać przez kanał komunikacji. Taka sytuacja może\nrealnie wystąpić, na przykład: z prawdopodobieństwem zbliżonym do 1 po wyrazie\n*Hong* wystąpi słowo *Kong*, a po wyrazie *przede* — wyraz *wszystkim*.\n\nModel języka może pomóc również w mniej skrajnym przypadkach, np.\njeżeli na danej pozycji w tekście model redukuje cały słownik do dwóch\nwyrazów z prawdopodobieństwem 1/2, wówczas nadawca może zakodować tę\npozycję za pomocą jednego bitu.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Wzór na entropię krzyżową\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Przypomnijmy, że symbol o prawdopodobieństwie $p$ można zakodować za\npomocą (średnio) $-\\log_2(p)$ bitów, tak więc jeśli nadawca i odbiorca dysponują\nmodelem $M$, wówczas można przesłać cały zbiór testowy $C$ za pomocą następującej liczby bitów:\n\n$$-\\sum_{i=1}^{N'} log P_M(w'_i|w'_1\\ldots w'_{i-1}).$$\n\nAby móc porównywać wyniki dla korpusów dla różnej długości, warto znormalizować\ntę wartość, tzn. podzielić przez długość tekstu:\n\n$$H(M) = -\\frac{\\sum_{i=1}^{N'} log P_M(w'_i|w'_1\\ldots w'_{i-1})}{N'}.$$\n\nTę wartość nazywamy **entropią krzyżową** modelu $M$. Entropia krzyżowa\nmierzy naszą niewiedzę przy założeniu, że dysponujemy modelem $M$. Im niższa wartość\nentropii krzyżowej, tym lepiej, im bowiem mniejsza nasza niewiedza,\ntym lepiej.\n\nEntropią krzyżową jest często nazywaną funkcją **log loss**, zwłaszcza w\nkontekście jej użycia jako funkcji straty przy uczeniu neuronowych modeli języka\n(o których dowiemy się później).\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Wiarygodność\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Innym sposobem mierzenia jakości modelu języka jest odwołanie się do\n**wiarygodności** (ang. *likelihood*). Wiarygodność to\nprawdopodobieństwo przypisane zdarzeniom niejako „po fakcie”. Jak już\nwspomnieliśmy, im wyższe prawdopodobieństwo (wiarygodność) przypisane\ntestowej części korpusu, tym lepiej. Innymi słowy, jako metrykę ewaluacji\nużywać będziemy prawdopodobieństwa:\n\n$$P_M(w_1'\\dots w_{N'}') = P_M(w'_1)P_M(w'_2|w'_1)\\dots P_M(w'_{N'}|w'_1\\dots w'_{N'-1}) = \\prod_{i=1}^{N'} P_M(w'_i|w'_1\\ldots w'_{i-1}),$$\n\nz tym, że znowu warto znormalizować to prawdopodobieństwo względem rozmiaru korpusu.\nZe względu na to, że prawdopodobieństwa przemnażamy, zamiast średniej arytmetycznej\nlepiej użyć **średniej geometrycznej**:\n\n$$\\sqrt[N']{P_M(w_1'\\dots w_{N'}')} = \\sqrt[N']{\\prod_{i=1}^{N'} P_M(w'_i|w'_1\\ldots w'_{i-1})}.$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Interpretacja wiarygodności\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Co ciekawe, wiarygodność jest używana jako metryka ewaluacji modeli\njęzyka rzadziej niż entropia krzyżowa (log loss), mimo tego, że wydaje\nsię nieco łatwiejsza do interpretacji dla człowieka. Otóż wiarygodność\nto **średnia geometryczna prawdopodobieństw przypisanych przez model języka do słów, które rzeczywiście wystąpiły**.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Związek między wiarygodnością a entropią krzyżową\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Istnieje bardzo prosty związek między entropią krzyżową a wiarygodnością.\nOtóż entropia krzyżowa to po prostu logarytm wiarygodności (z minusem):\n\n-$$\\log_2\\sqrt[N']{P_M(w_1'\\dots w_N')} = -\\frac{\\log_2\\prod_{i=1}^{N'} P_M(w'_i|w'_1\\ldots w'_{i-1})}{N'} = -\\frac{\\sum_{i=1}^{N'} \\log_2 P_M(w'_i|w'_1\\ldots w'_{i-1})}{N'}.$$\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### „log-proby”\n\n"]},{"cell_type":"markdown","metadata":{},"source":["W modelowaniu języka bardzo często używa się logarytmów prawdopodobieństw (z angielskiego skrótowo *log probs*),\nzamiast wprost operować na prawdopodobieństwach:\n\n- dodawanie log probów jest tańsze obliczeniowo niż mnożenie prawdopodobieństw,\n- bardzo małe prawdopodobieństwa znajdują się na granicy dokładności reprezentacji\n liczb zmiennopozycyjnych, log proby są liczbami ujemnymi o „poręczniejszych”\n rzędach wielkości.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Perplexity\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Tak naprawdę w literaturze przedmiotu na ogół używa się jeszcze innej metryki ewaluacji —\n**perplexity**. Perplexity jest definiowane jako:\n\n$$\\operatorname{PP}(M) = 2^{H(M)}.$$\n\nIntuicyjnie można sobie wyobrazić, że perplexity to liczba możliwości\nprognozowanych przez model z równym prawdopodobieństwem. Na przykład,\njeśli model przewiduje, że w danym miejscu tekstu może wystąpić z\nrównym prawdopodobieństwem jedno z 32 słów, wówczas (jeśli\nrzeczywiście któreś z tych słów wystąpiło) entropia wynosi 5 bitów, a\nperplexity — 32.\n\nInaczej: perplexity to po prostu odwrotność wiarygodności:\n\n$$\\operatorname{PP}(M) = \\sqrt[N']{P_M(w_1'\\dots w_N')}.$$\n\nPerplexity zależy oczywiście od języka i modelu, ale typowe wartości\nzazwyczaj zawierają się w przedziale 20-400.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Perplexity — przykład\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Wyuczmy model języka przy użyciu gotowego narzędzia [https://github.com/kpu/kenlm|KenLM](https://github.com/kpu/kenlm|KenLM).\nKenLM to zaawansowane narzędzie do tworzenia n-gramowych modeli języka\n(zaimplementowano w nim techniki wygładzania, które omówimy na kolejnym wykładzie).\n\nWyuczmy na zbiorze uczącym wspomnianego wyzwania *Challenging America word-gap prediction*\ndwa modele, jeden 3-gramowy, drugi 4-gramowy.\n\nZ powodu, który za chwilę stanie się jasny, teksty w zbiorze uczącym musimy sobie „poskładać” z kilku „kawałków”.\n\n $ cd train\n $ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\\\n/ /g;s// /g;@f=split/\\t/;print \"$f[7] $f[0] $f[8]\\n\"' | lmplz -o 3 --skip-symbols > model3.arpa\n $ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\\\n/ /g;s// /g;@f=split/\\t/;print \"$f[7] $f[0] $f[8]\\n\"' | lmplz -o 4 --skip-symbols > model4.arpa\n $ cd ../dev-0\n $ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\\\n/ /g;s// /g;@f=split/\\t/;print \"$f[7] $f[0] $f[8]\\n\"' | query ../train/model3.arpa\n Perplexity including OOVs:\t976.9905056314793\n Perplexity excluding OOVs:\t616.5864921901557\n OOVs:\t125276\n Tokens:\t3452929\n $ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\\\n/ /g;s// /g;@f=split/\\t/;print \"$f[7] $f[0] $f[8]\\n\"' | query ../train/model4.arpa\n Perplexity including OOVs:\t888.698932611321\n Perplexity excluding OOVs:\t559.1231510292068\n OOVs:\t125276\n Tokens:\t3452929\n\nJak widać model 4-gramowy jest lepszy (ma niższe perplexity) niż model 3-gramowy, przynajmniej\njeśli wierzyć raportowi programu KenLM.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Entropia krzyżowa, wiarygodność i perplexity — podsumowanie\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Trzy omawiane metryki ewaluacji modeli języka (entropia krzyżowa,\nwiarygodność i perplexity) są ze sobą ściśle związane, w gruncie\nrzeczy to po prostu jedna miara.\n\n| Metryka|Kierunek|Najlepsza wartość|Najgorsza wartość|\n|---|---|---|---|\n| entropia krzyżowa|im mniej, tym lepiej|0|$\\infty$|\n| wiarygodność|im więcej, tym lepiej|1|0|\n| perplexity|im mniej, tym lepiej|1|$\\infty$|\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Uwaga na zerowe prawdopodobieństwa\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Entropia krzyżowa, wiarygodność czy perplexity są bardzo czułe na zbyt\ndużą pewność siebie. Wystarczy, że dla **jednej** pozycji w zbiorze\nprzypiszemy zerowe prawdopodobieństwo, wówczas wszystko „eksploduje”.\nPerplexity i entropia krzyżowa „wybuchają” do nieskończoności,\nwiarygodność spada do zera — bez względu na to, jak dobre są\nprzewidywania dotyczące innych pozycji w tekście!\n\nW przypadku wiarygodności wiąże się to z tym, że wiarygodność\ndefiniujemy jako iloczyn prawdopodobieństwa, oczywiście wystarczy, że\njedna liczba w iloczynie była zerem, żeby iloczyn przyjął wartość\nzero. Co więcej, nawet jeśli pominiemy taki skrajny przypadek, to\nśrednia geometryczna „ciągnie” w dół, bardzo niska wartość\nprawdopodobieństwa przypisana do rzeczywistego słowa może drastycznie obniżyć\nwartość wiarygodności (i podwyższyć perplexity).\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Słowa spoza słownika\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Prostym sposobem przeciwdziałania zerowaniu/wybuchaniu metryk jest\nprzypisywanie każdemu możliwemu słowu przynajmniej niskiego\nprawdopodobieństwa $\\epsilon$. Niestety, zawsze może pojawić się\nsłowa, którego nie było w zbiorze uczącym — **słowo spoza słownika**\n(*out-of-vocabulary word*, *OOV*). W takim przypadku znowu może\npojawić się zerowy/nieskończony wynik.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["#### Ewaluacja modeli języka w warunkach konkursu\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Jeśli używać tradycyjnych metryk ewaluacji modeli języka (perplexity\nczy wiarygodność), bardzo łatwo można „oszukać” — wystarczy\nzaraportować prawdopodobieństwo 1! Oczywiście to absurd, bo albo\nwszystkim innym tekstom przypisujemy prawdopodobieństwo 0, albo —\njeśli „oszukańczy” system każdemu innemu tekstowi przypisze\nprawdopodobieństwo 1 — nie mamy do czynienia z poprawnym rozkładem\nprawdopodobieństwa.\n\nCo gorsza, nawet jeśli wykluczymy scenariusz świadomego oszustwa,\nłatwo *samego siebie* wprowadzić w błąd. Na przykład przez pomyłkę\nmożna zwracać zawyżone prawdopodobieństwo (powiedzmy przemnożone przez 2).\n\nTe problemy stają się szczególnie dokuczliwe, jeśli organizujemy\nwyzwanie, *konkurs* modelowania języka, gdzie chcemy w sposób\nobiektywny porównywać różne modele języka, tak aby uniknąć celowego\nbądź nieświadomego zawyżania wyników.\n\nPrzedstawimy teraz, w jaki sposób poradzono sobie z tym problemem\nw wyzwaniu *Challenging America word-gap prediction*\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Odgadywanie słowa w luce\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Po pierwsze, jaka sama nazwa wskazuje, w wyzwaniu *Challenging America\nword-gap prediction* zamiast zwracania prawdopodobieństwa dla całego\ntekstu oczekuje się podania rozkładu prawdopodobieństwa dla brakującego słowa.\n\nMianowicie, w każdym wierszu wejściu (plik `in.tsv.xz`) w 7. i 8. polu\npodany jest, odpowiednio, lewy i prawy kontekst słowa do odgadnięcia.\n(W pozostałych polach znajdują się metadane, o których już wspomnieliśmy,\nna razie nie będziemy ich wykorzystywać).\nW pliku z oczekiwanym wyjściem (`expected.tsv`), w odpowiadającym\nwierszu, podawane jest brakujące słowo. Oczywiście w ostatecznym\nteście `test-A` plik `expected.tsv` jest niedostępny, ukryty przed uczestnikami konkursu.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Zapis rozkładu prawdopodobieństwa\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Dla każdego wiersza wejścia podajemy rozkład prawdopodobieństwa dla\nsłowa w luce w formacie:\n\n wyraz1:prob1 wyraz2:prob2 ... wyrazN:probN :prob0\n\ngdzie wyraz1, …, wyrazN to konkretne wyrazy, prob1, …, probN ich prawdopodobieństwa.\nMożna podać dowolną liczbę wyrazów.\nZ kolei prob0 to „resztowe” prawdopodobieństwo przypisane do wszystkich pozostałych wyrazów,\nprawdopodobieństwo to pozwala uniknąć problemów związanych ze słowami OOV, trzeba jeszcze tylko dokonać\nmodyfikacji metryki\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Metryka LikelihoodHashed\n\n"]},{"cell_type":"markdown","metadata":{},"source":["Metryka LikelihoodHashed jest wariantem metryki Likelihood\n(wiarygodności) opracowanym z myślą o wyzwaniach czy konkursach\nmodelowania języka. W tej metryce każde słowo wpada pseudolosowo do\njednego z $2^{10}=1024$ „kubełków”. Numer kubełka jest wyznaczony na\npodstawie funkcji haszującej MurmurHash.\n\nPrawdopodobieństwa zwrócone przez ewaluowany model są sumowane w\nkażdym kubełku, następnie ewaluator zagląda do pliku \\`expected.tsv\\` i\nuwzględnia prawdopodobieństwo z kubełka, do którego „wpada” oczekiwane\nsłowo. Oczywiście czasami więcej niż jedno słowo może wpaść do\nkubełka, model mógł też „wrzucić” do kubełka tak naprawdę inne słowo\nniż oczekiwane (przypadkiem oba słowa wpadają do jednego kubełka).\nTak więc LikelihoodHashed będzie nieco zawyżone w stosunku do Likelihood.\n\nDlaczego więc taka komplikacja? Otóż LikelihoodHashed nie zakłada\nżadnego słownika, znika problem słów OOV — prawdopodobieństwa resztowe prob0\nsą rozkładane równomiernie między wszystkie 1024 kubełki.\n\n"]},{"cell_type":"markdown","metadata":{},"source":["##### Alternatywne metryki\n\n"]},{"cell_type":"markdown","metadata":{},"source":["LikelihoodHashed została zaimplementowana w narzędziu ewaluacyjnym\n[https://gitlab.com/filipg/geval|GEval](https://gitlab.com/filipg/geval|GEval). Są tam również dostępne\nanalogiczne warianty entropii krzyżowej (log loss) i perplexity\n(LogLossHashed i PerplexityHashed).\n\n"]}],"metadata":{"org":null,"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.5.2"}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/wyk/04_Ngramowy_model.org b/wyk/04_Ngramowy_model.org index d900422..72f342d 100644 --- a/wyk/04_Ngramowy_model.org +++ b/wyk/04_Ngramowy_model.org @@ -50,15 +50,15 @@ Model języka: czy transkrypcję w systemach rozpoznawania mowy (ASR) (zanim zaczęto używać do tego sieci neuronowych, gdzie nie ma już wyraźnego rozróżnienia między modelem tłumaczenia - czy modelem akustycznym a modelem języka + czy modelem akustycznym a modelem języka), - pomaga znaleźć „podejrzane” miejsca w tekście - (korekta pisowni/gramatyki) + (korekta pisowni/gramatyki), - może być stosowany jako klasyfikator (potrzeba wtedy więcej niż jednego modelu, - np. model języka spamów kontra model języka niespamów) -- może być stosowany w kompresji danych + np. model języka spamów kontra model języka niespamów), +- może być stosowany w kompresji danych, - bardzo dobry model języka *musi* mieć *w środku* bardzo dobrą *wiedzę* o języku i o świecie, można wziąć *„wnętrzności”* modelu, nie dbając o prawdopodobieństwa - i użyć modelu w zupełnie innym celu + i użyć modelu w zupełnie innym celu. ** N-gramowy model języka @@ -120,13 +120,21 @@ inny dla trigramowego. Jedne modele będą lepsze, inne — gorsze. Jak obiektywnie odróżnić dobry model od złego? Innymi słowy, jak ewaluować modele języka? +*** Ewaluacja zewnętrzna i wewnętrzna + +W ewaluacji zewnętrznej (ang. /extrinsic/) ewaluację modelu języka sprowadzamy +do ewaluacji większego systemu, którego częścią jest model języka, na przykład +systemu tłumaczenia maszynowego albo systemu ASR. + +Ewaluacja wewnętrzna (ang. /intrinsic/) polega na ewaluacji modelu języka jako takiego. + *** Podział zbioru Po pierwsze, jak zazwyczaj bywa w uczeniu maszynowym, powinniśmy podzielić nasz zbiór danych. W modelowaniu języka zbiorem danych jest zbiór tekstów w danym języku, czyli korpus języka. Powinniśmy podzielić nasz korpus na część uczącą (/training set/) $C = \{w_1\ldots w_N\}$ i testową -(/test set/) $C' = \{w_1'\ldots w_N'\}$. +(/test set/) $C' = \{w_1'\ldots w_{N'}'\}$. Warto też wydzielić osobny „deweloperski” zbiór testowy (/dev set/) — do testowania na bieżąco, optymalizacji hiperparametrów itd. Zbiory @@ -212,7 +220,7 @@ tym lepiej. Zatem im wyższe $P_M(C')$, tym lepiej. Zazwyczaj będziemy rozbijali $P_M(C')$ na prawdopodobieństwa przypisane do poszczególnych słów: -$$P_M(w_1'\dots w_N') = P_M(w'_1)P_M(w'_2|w'_1)\dots P_M(w'_{N'}|w'_1\dots w'_{N'-1}) = \prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1}).$$ +$$P_M(w_1'\dots w_{N'}') = P_M(w'_1)P_M(w'_2|w'_1)\dots P_M(w'_{N'}|w'_1\dots w'_{N'-1}) = \prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1}).$$ *** Entropia krzyżowa @@ -230,7 +238,7 @@ realnie wystąpić, na przykład: z prawdopodobieństwem zbliżonym do 1 po wyra /Hong/ wystąpi słowo /Kong/, a po wyrazie /przede/ — wyraz /wszystkim/. Model języka może pomóc również w mniej skrajnym przypadkach, np. -jeśli na danej pozycji w tekście redukuje cały słownik do dwóch +jeżeli na danej pozycji w tekście model redukuje cały słownik do dwóch wyrazów z prawdopodobieństwem 1/2, wówczas nadawca może zakodować tę pozycję za pomocą jednego bitu. @@ -248,7 +256,7 @@ tę wartość, tzn. podzielić przez długość tekstu: $$H(M) = -\frac{\sum_{i=1}^{N'} log P_M(w'_i|w'_1\ldots w'_{i-1})}{N'}.$$ Tę wartość nazywamy *entropią krzyżową* modelu $M$. Entropia krzyżowa -mierzy naszą niewiedzę przy posiadaniu modelu $M$. Im niższa wartość +mierzy naszą niewiedzę przy założeniu, że dysponujemy modelem $M$. Im niższa wartość entropii krzyżowej, tym lepiej, im bowiem mniejsza nasza niewiedza, tym lepiej. @@ -265,13 +273,13 @@ wspomnieliśmy, im wyższe prawdopodobieństwo (wiarygodność) przypisane testowej części korpusu, tym lepiej. Innymi słowy, jako metrykę ewaluacji używać będziemy prawdopodobieństwa: -$$P_M(w_1'\dots w_N') = P_M(w'_1)P_M(w'_2|w'_1)\dots P_M(w'_{N'}|w'_1\dots w'_{N'-1}) = \prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1}),$$ +$$P_M(w_1'\dots w_{N'}') = P_M(w'_1)P_M(w'_2|w'_1)\dots P_M(w'_{N'}|w'_1\dots w'_{N'-1}) = \prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1}),$$ z tym, że znowu warto znormalizować to prawdopodobieństwo względem rozmiaru korpusu. -Ze względu na to, że prawdopodobieństwa przemnażamy zamiast średniej arytmetycznej +Ze względu na to, że prawdopodobieństwa przemnażamy, zamiast średniej arytmetycznej lepiej użyć *średniej geometrycznej*: -$$\sqrt[N']{P_M(w_1'\dots w_N')} = \sqrt[N']{\prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1})}.$$ +$$\sqrt[N']{P_M(w_1'\dots w_{N'}')} = \sqrt[N']{\prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1})}.$$ **** Interpretacja wiarygodności @@ -283,9 +291,9 @@ to *średnia geometryczna prawdopodobieństw przypisanych przez model języka do **** Związek między wiarygodnością a entropią krzyżową Istnieje bardzo prosty związek między entropią krzyżową a wiarygodnością. -Otóż entropia krzyżowa to po prostu logarytm wiarygodności: +Otóż entropia krzyżowa to po prostu logarytm wiarygodności (z minusem): -$$\log_2\sqrt[N']{P_M(w_1'\dots w_N')} = \frac{\log_2\prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1})}{N'} = \frac{\sum_{i=1}^{N'} \log_2 P_M(w'_i|w'_1\ldots w'_{i-1})}{N'}.$$ +-$$\log_2\sqrt[N']{P_M(w_1'\dots w_N')} = -\frac{\log_2\prod_{i=1}^{N'} P_M(w'_i|w'_1\ldots w'_{i-1})}{N'} = -\frac{\sum_{i=1}^{N'} \log_2 P_M(w'_i|w'_1\ldots w'_{i-1})}{N'}.$$ **** „log-proby” @@ -302,7 +310,7 @@ zamiast wprost operować na prawdopodobieństwach: Tak naprawdę w literaturze przedmiotu na ogół używa się jeszcze innej metryki ewaluacji — *perplexity*. Perplexity jest definiowane jako: -$$PP(M) = 2^{H(M)}.$$ +$$\operatorname{PP}(M) = 2^{H(M)}.$$ Intuicyjnie można sobie wyobrazić, że perplexity to liczba możliwości prognozowanych przez model z równym prawdopodobieństwem. Na przykład, @@ -313,7 +321,7 @@ perplexity — 32. Inaczej: perplexity to po prostu odwrotność wiarygodności: -$$\OperatorName{PP}(M) = \sqrt[N']{P_M(w_1'\dots w_N').} +$$\operatorname{PP}(M) = \sqrt[N']{P_M(w_1'\dots w_N')}.$$ Perplexity zależy oczywiście od języka i modelu, ale typowe wartości zazwyczaj zawierają się w przedziale 20-400. @@ -330,10 +338,25 @@ dwa modele, jeden 3-gramowy, drugi 4-gramowy. Z powodu, który za chwilę stanie się jasny, teksty w zbiorze uczącym musimy sobie „poskładać” z kilku „kawałków”. #+BEGIN_SRC -xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;@f=split/\t/;print "$f[7] $f[0] $f[8]"' | lmplz -o 3 > model3.arpa -xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;@f=split/\t/;print "$f[7] $f[0] $f[8]"' | lmplz -o 4 > model3.arpa +$ cd train +$ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;s// /g;@f=split/\t/;print "$f[7] $f[0] $f[8]\n"' | lmplz -o 3 --skip-symbols > model3.arpa +$ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;s// /g;@f=split/\t/;print "$f[7] $f[0] $f[8]\n"' | lmplz -o 4 --skip-symbols > model4.arpa +$ cd ../dev-0 +$ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;s// /g;@f=split/\t/;print "$f[7] $f[0] $f[8]\n"' | query ../train/model3.arpa +Perplexity including OOVs: 976.9905056314793 +Perplexity excluding OOVs: 616.5864921901557 +OOVs: 125276 +Tokens: 3452929 +$ xzcat in.tsv.xz | paste expected.tsv - | perl -ne 'chomp;s/\\n/ /g;s// /g;@f=split/\t/;print "$f[7] $f[0] $f[8]\n"' | query ../train/model4.arpa +Perplexity including OOVs: 888.698932611321 +Perplexity excluding OOVs: 559.1231510292068 +OOVs: 125276 +Tokens: 3452929 #+END_SRC +Jak widać model 4-gramowy jest lepszy (ma niższe perplexity) niż model 3-gramowy, przynajmniej +jeśli wierzyć raportowi programu KenLM. + *** Entropia krzyżowa, wiarygodność i perplexity — podsumowanie Trzy omawiane metryki ewaluacji modeli języka (entropia krzyżowa, @@ -342,9 +365,9 @@ rzeczy to po prostu jedna miara. |Metryka | Kierunek |Najlepsza wartość | Najgorsza wartość | |------------------+----------------------+------------------+-------------------| -|entropia krzyżowa | im mniej, tym lepiej | 0 | $\inf$ | +|entropia krzyżowa | im mniej, tym lepiej | 0 | $\infty$ | |wiarygodność | im więcej, tym lepiej| 1 | 0 | -|perplexity | im mniej, tym lepiej | 1 | $\inf$ | +|perplexity | im mniej, tym lepiej | 1 | $\infty$ | **** Uwaga na zerowe prawdopodobieństwa @@ -403,6 +426,50 @@ tekstu oczekuje się podania rozkładu prawdopodobieństwa dla brakującego sło Mianowicie, w każdym wierszu wejściu (plik ~in.tsv.xz~) w 7. i 8. polu podany jest, odpowiednio, lewy i prawy kontekst słowa do odgadnięcia. +(W pozostałych polach znajdują się metadane, o których już wspomnieliśmy, +na razie nie będziemy ich wykorzystywać). W pliku z oczekiwanym wyjściem (~expected.tsv~), w odpowiadającym wierszu, podawane jest brakujące słowo. Oczywiście w ostatecznym -teście ~test-A~ plik ~expected.tsv~ jest niedostępny, ukryty przed uczestnikami konkursu +teście ~test-A~ plik ~expected.tsv~ jest niedostępny, ukryty przed uczestnikami konkursu. + +**** Zapis rozkładu prawdopodobieństwa + +Dla każdego wiersza wejścia podajemy rozkład prawdopodobieństwa dla +słowa w luce w formacie: + +#+BEGIN_SRC +wyraz1:prob1 wyraz2:prob2 ... wyrazN:probN :prob0 +#+END_SRC + +gdzie wyraz1, …, wyrazN to konkretne wyrazy, prob1, …, probN ich prawdopodobieństwa. +Można podać dowolną liczbę wyrazów. +Z kolei prob0 to „resztowe” prawdopodobieństwo przypisane do wszystkich pozostałych wyrazów, +prawdopodobieństwo to pozwala uniknąć problemów związanych ze słowami OOV, trzeba jeszcze tylko dokonać +modyfikacji metryki + +**** Metryka LikelihoodHashed + +Metryka LikelihoodHashed jest wariantem metryki Likelihood +(wiarygodności) opracowanym z myślą o wyzwaniach czy konkursach +modelowania języka. W tej metryce każde słowo wpada pseudolosowo do +jednego z $2^{10}=1024$ „kubełków”. Numer kubełka jest wyznaczony na +podstawie funkcji haszującej MurmurHash. + +Prawdopodobieństwa zwrócone przez ewaluowany model są sumowane w +każdym kubełku, następnie ewaluator zagląda do pliku `expected.tsv` i +uwzględnia prawdopodobieństwo z kubełka, do którego „wpada” oczekiwane +słowo. Oczywiście czasami więcej niż jedno słowo może wpaść do +kubełka, model mógł też „wrzucić” do kubełka tak naprawdę inne słowo +niż oczekiwane (przypadkiem oba słowa wpadają do jednego kubełka). +Tak więc LikelihoodHashed będzie nieco zawyżone w stosunku do Likelihood. + +Dlaczego więc taka komplikacja? Otóż LikelihoodHashed nie zakłada +żadnego słownika, znika problem słów OOV — prawdopodobieństwa resztowe prob0 +są rozkładane równomiernie między wszystkie 1024 kubełki. + +**** Alternatywne metryki + +LikelihoodHashed została zaimplementowana w narzędziu ewaluacyjnym +[[https://gitlab.com/filipg/geval|GEval]]. Są tam również dostępne +analogiczne warianty entropii krzyżowej (log loss) i perplexity +(LogLossHashed i PerplexityHashed). diff --git a/wyk/04_Ngramowy_model/lm-communication.drawio b/wyk/04_Ngramowy_model/lm-communication.drawio new file mode 100644 index 0000000..36a18c8 --- /dev/null +++ b/wyk/04_Ngramowy_model/lm-communication.drawio @@ -0,0 +1 @@ +7VjbUtswEP0aP4bxJU7IIyQUhkJhYIbCEyPbii0iW0GWE4evr2TJVzmBcm1n4CFoj+S1tGePdhPDmcb5MQXL6JwEEBu2GeSGMzNsezK0+KcANhJwbVcCIUWBhKwauEZPUIGmQjMUwLS1kBGCGVq2QZ8kCfRZCwOUknV72Zzg9luXIIQacO0DrKO/UcAiie7b4xo/gSiMyjdbo4mciUG5WJ0kjUBA1g3IOTKcKSWEyVGcTyEWsSvjIp/7sWW22hiFCXvJA3R1NohuBmByf3NxZV/f0+Or04Gj9sY25YFhwM+vTEJZREKSAHxUo4eUZEkAhVeTW/WaM0KWHLQ4+AAZ2ygyQcYIhyIWYzULc8RuxeN7rrLulDMxnuVNY9MwLiFFMWSQlljC6Oa2adw1jcKR61amcDWuZrvO5iRhasf2kNsyMCIaW+OtoJRk1FerflL7Mb8zT7xgha5wkmWrU3tQ5i2gIWQ7yLCqrOBqgoTvjm74cxRiwNCqvQ+g8jqs1tXU84Fivz8Tdm1yBXCm3vQLBGDtAy1DeCIvxTCL8YHPCA/g4QpShrhozoAH8SVJEUMk4Us8whiJGwsOMArFBBOp0swJkjGMEjitZGxWHPSEXLiDeQPSo6Zm7aGS36Zjr2s1OwqKGkIemW+Pcy/J7rfiPl5xwxcqbviVihtqirsIPETo/y451/k6yfUG2tUCvTXAcwzzA9E2FEkbqOHMxyBNkd+OX1uVWwPXSWg9bI2wuD1hKbEXJ6V6wyVBfCf1RbjfYWXcCbcUlXqq2Ud0HLn2M46k6jRHBXXVsV/P5khjcwESYExdY1/gCxJnCVoA/wH13rSFXtpEAqUQn1MHaY90YhQE8iKGKXoCXuFPkL4UhyyO7R4a7qw3DXamZFdUVSOrXtLqFfvENjD3rLKlfm2GlEvIfJ7CD+Fs/98petbuotdf4Paczl+r4pmtgre13r2+nI31crarh3v2xvmc+jbWhHoME0iBqF/80JvYI1jX6NvrWnmX83S+5F/PVH0rimY7p1KZOTI/3qHwWWb7ZrRGeuEbfWavqff0hj3CTPVerbiPHjNSTgxkYA74Anu4zOtJPgrF//PSDd+V9CTxrWXVzzwh6XWEGLxegiLZ1xR0iPMkO2deBQB/ERacXcheReEBoIsL7gaxQnB7ptsG7QK1qh31XLMa0du/QXRZdXRWJz2sdsviu7Gq943frP41q8PJp7HKzfpXHllR65/KnKM/ \ No newline at end of file diff --git a/wyk/04_Ngramowy_model/lm-communication.drawio.png b/wyk/04_Ngramowy_model/lm-communication.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9a8d418d225ac54452d4779a1d8f0cafdbe472 GIT binary patch literal 15921 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 hpMm@f;z)+yF#={y_7d~iQ6%7xo|ds@4Z