From 81c7963e4cc2cebe63b36c6e8b6c5a8ecc69f77f Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Sat, 2 Apr 2022 10:02:00 +0200 Subject: [PATCH] Fixes --- wyk/05_Wygladzanie.org | 61 ++++++++++++++++++------ wyk/05_Wygladzanie/order-perplexity.gif | Bin 0 -> 4200 bytes wyk/05_Wygladzanie/size-perplexity.gif | Bin 0 -> 4643 bytes wyk/05_Wygladzanie/size-perplexity2.gif | Bin 0 -> 4913 bytes 4 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 wyk/05_Wygladzanie/order-perplexity.gif create mode 100644 wyk/05_Wygladzanie/size-perplexity.gif create mode 100644 wyk/05_Wygladzanie/size-perplexity2.gif diff --git a/wyk/05_Wygladzanie.org b/wyk/05_Wygladzanie.org index dbbfd75..e636ec7 100644 --- a/wyk/05_Wygladzanie.org +++ b/wyk/05_Wygladzanie.org @@ -15,14 +15,14 @@ Rzecz jasna, $\sum_{i=1}^m k_i = T$. Jak powinniśmy racjonalnie szacować prawdopodobieństwa wylosowania kuli w $i$-tym kolorze ($p_i$)? -Wydawałoby się wystarczyłoby liczbę wylosowanych kul w danym kolorze +Wydawałoby się, że wystarczy liczbę wylosowanych kul w danym kolorze podzielić przez liczbę wszystkich prób: $$p_i = \frac{k_i}{T}.$$ *** Wygładzanie — przykład -Rozpatrzmy przykład z 3 kolorami (wiemy, że w urnie mogą być urny +Rozpatrzmy przykład z 3 kolorami (wiemy, że w urnie mogą być kule żółte, zielone i czerwone, tj. $m=3$) i 4 losowaniami ($T=4$): [[./05_Wygladzanie/urna.drawio.png]] @@ -35,12 +35,12 @@ a zielonej — 0. Wartości te są jednak dość problematyczne: potrzebowalibyśmy większej liczby losowań, żeby być bardziej pewnym naszych estymacji. - W szczególności stwierdzenie, że prawdopodobieństwo wylosowania kuli - zielonej wynosi 0 jest bardzo mocnym stwierdzeniem (twierdzimy, że + zielonej wynosi 0, jest bardzo mocnym stwierdzeniem (twierdzimy, że *NIEMOŻLIWE* jest wylosowanie kuli zielonej), dopiero większa liczba prób bez wylosowania zielonej kuli mogłaby sugerować prawdopodobieństwo bliskie zeru. - Zauważmy, że niemożliwe jest wylosowanie ułamka kuli, jeśli w - rzeczywistości 10% kul jest żółtych to nie oznacza się wylosujemy + rzeczywistości 10% kul jest żółtych, to nie oznacza się wylosujemy $4\frac{1}{10} = \frac{2}{5}$ kuli. Prawdopodobnie wylosujemy jedną kulę żółtą albo żadną. Wylosowanie dwóch kul żółtych byłoby możliwe, ale mniej prawdopodobne. Jeszcze mniej prawdopodobne byłoby @@ -59,11 +59,11 @@ Laplace'a, zdefiniowane za pomocą następującego wzoru: $$p_i = \frac{k_i+1}{T+m}.$$ -W naszym przypadku z urną prawdopodobieństwo wylosowania kuli -czerwonej określimy na $\frac{3+1}{4+3} = \frac{4/7}$, kuli żółtej — +W naszym przykładzie z urną prawdopodobieństwo wylosowania kuli +czerwonej określimy na $\frac{3+1}{4+3} = \frac{4}{7}$, kuli żółtej — $\frac{1+1}{4+3}=2/7$, zielonej — $\frac{0+1}{4+3}=1/7$. Tym samym, kula zielona uzyskała niezerowe prawdopodobieństwo, żółta — nieco -zyska, zaś czerwona — straciła. +zyskała, zaś czerwona — straciła. **** Własności wygładzania +1 @@ -74,7 +74,7 @@ $$\lim_{m \rightarrow \infty} \frac{k_i +1}{T + m} = \frac{k_i}{T}.$$ Inna dobra, zdroworozsądkowo, własność to to, że prawdopodobieństwo nigdy nie będzie zerowe: -$$frac{k_i + 1}{T + m} > 0.$$ +$$\frac{k_i + 1}{T + m} > 0.$$ ** Wygładzanie w unigramowym modelu języku @@ -90,7 +90,7 @@ $T$ — długość zbioru uczącego. A zatem przy użyciu wygładzania +1 w następujący sposób estymować będziemy prawdopodobieństwo słowa $w$: -$$P(w) = \fraq{\# w + 1}{|C| + |V|}.$$ +$$P(w) = \frac{\# w + 1}{|C| + |V|}.$$ *** Wygładzanie $+\alpha$ @@ -98,7 +98,7 @@ W modelowaniu języka wygładzanie $+1$ daje zazwyczaj niepoprawne wyniki, dlatego częściej zamiast wartości 1 używa się współczynnika $0 < \alpha < 1$: -$$P(w) = \fraq{\# w + \alpha}{|C| + \alpha|V|}.$$ +$$P(w) = \frac{\# w + \alpha}{|C| + \alpha|V|}.$$ W innych praktycznych zastosowaniach statystyki przyjmuje się $\alpha = \frac{1}{2}$, ale w przypadku n-gramowych @@ -248,7 +248,7 @@ counterA['taki'] :results: :end: -Policzmy teraz jakiej liczby wystąpień byśmy oczekiwali gdyby użyć wygładzania +1 bądź +0.01. +Policzmy teraz jakiej liczby wystąpień byśmy oczekiwali, gdyby użyć wygładzania +1 bądź +0.01. (Uwaga: zwracamy liczbę wystąpień, a nie względną częstość, stąd przemnażamy przez rozmiar całego korpusu). #+BEGIN_SRC python :session mysession :exports both :results raw drawer @@ -339,7 +339,7 @@ Wygładzanie metodą Gooda-Turinga, mimo prostoty, daje wyniki zaskakująco zbli *** Rzadkość danych -W wypadku bigramów, trigramów itd. jeszcze dotkliwy staje się problem +W wypadku bigramów, trigramów, tetragramów itd. jeszcze dotkliwy staje się problem *rzadkości* danych (/data sparsity/). Przestrzeń możliwych zdarzeń jest jeszcze większa ($|V|^2$ dla bigramów), więc estymacje stają się jeszcze mniej pewne. @@ -347,7 +347,7 @@ jeszcze mniej pewne. *** Back-off Dla $n$-gramów, gdzie $n>1$, nie jesteśmy ograniczeni do wygładzania $+1$, $+k$ czy Gooda-Turinga. -W przypadku rzadkich $n$-gramów, w szczególności gdy $n$-gram w ogóle się nie pojawił w korpusie, +W przypadku rzadkich $n$-gramów, w szczególności, gdy $n$-gram w ogóle się nie pojawił w korpusie, możemy „zejść” na poziom krótszych $n$-gramów. Na tym polega *back-off*. Otóż jeśli $\# w_{i-n+1}\ldots w_{i-1} > 0$, wówczas estymujemy prawdopodobieństwa @@ -355,7 +355,7 @@ Otóż jeśli $\# w_{i-n+1}\ldots w_{i-1} > 0$, wówczas estymujemy prawdopodobi $$P_B(w_i|w_{i-n+1}\ldots w_{i-1}) = d_n(w_{i-n+1}\ldots w_{i-1}\ldots w_{i-1}) P(w_i|w_{i-n+1}\ldots w_{i-1})$$ -W przeciwnym razie, rozpatrujemy rekurencyjnie krótszy $n$-gram: +W przeciwnym razie rozpatrujemy rekurencyjnie krótszy $n$-gram: $$P_B(w_i|w_{i-n+1}\ldots w_{i-1}) = \delta_n(w_{i-n+1}\ldots w_{i-1}\ldots w_{i-1}) P_B(w_i|w_{i-n+2}\ldots w_{i-1}).$$ @@ -396,7 +396,7 @@ Teraz zastosujemy interpolację z następującą wartością parametru $1-\lambda$, sterującego wagą, jaką przypisujemy do krótszych $n$-gramów: -$$1 - \lambda = \frag{N_{1+}(w_1\ldots w_{n-1}\dot\bullet)}{N_{1+}(w_1\ldots w_{n-1}\dot\bullet) + \# w_1\ldots w_{n-1}}.$$ +$$1 - \lambda = \frac{N_{1+}(w_1\ldots w_{n-1}\dot\bullet)}{N_{1+}(w_1\ldots w_{n-1}\dot\bullet) + \# w_1\ldots w_{n-1}}.$$ *** Wygładzanie Knesera-Neya @@ -453,3 +453,34 @@ $$P(w) = \frac{N_{1+}(\bullet w)}{\sum_{w_j} N_{1+}(\bullet w_j)}.$$ #+RESULTS: :results: :end: + +** Narzędzia $n$-gramowego modelowania języka + +Istnieje kilka narzędzie do modelowania, ze starszych warto wspomnieć +pakiety [[http://www.speech.sri.com/projects/srilm/][SRILM]] i [[https://github.com/irstlm-team/irstlm][IRSTLM]]. +Jest to oprogramowanie bogate w opcje, można wybierać różne opcje wygładzania. + +Szczytowym osiągnięciem w zakresie $n$-gramowego modelowania języka +jest wspomniany już KenLM. Ma on mniej opcji niż SRILM czy ISRLM, jest +za to precyzyjnie zoptymalizowany zarówno jeśli chodzi jakość, jak i +szybkość działania. KenLM implementuje nieco zmodyfikowane wygładzanie +Knesera-Neya połączone z *przycinaniem* słownika n-gramów (wszystkie +/hapax legomena/ dla $n \geq 3$ są domyślnie usuwane). + +*** Przykładowe wyniki dla KenLM i korpusu Open Subtitles + +**** Zmiana perplexity przy zwiększaniu zbioru testowego + +#+CAPTION: Perplexity dla różnych rozmiarów zbioru testowego +[[./05_Wygladzanie/size-perplexity.gif]] + + +**** Zmiana perplexity przy zwiększaniu zbioru uczącego + +#+CAPTION: Perplexity dla różnych rozmiarów zbioru uczącego +[[./05_Wygladzanie/size-perplexity2.gif]] + +**** Zmiana perplexity przy zwiększaniu rządu modelu + +#+CAPTION: Perplexity dla różnych wartości rządu modelu +[[./05_Wygladzanie/order-perplexity.gif]] diff --git a/wyk/05_Wygladzanie/order-perplexity.gif b/wyk/05_Wygladzanie/order-perplexity.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c52fbfd34d2bc045c3ba8766a9b1c73edec2d77 GIT binary patch literal 4200 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

FZ)5(I|h9+94B zR=nsBxxIqVo3gS3VsJ+v<2o0GH1t)3%yG|el!{m3q)(Ow+;^e$A%*u#l`v&z_VeYJ z1svHP3HxalsmmmHzGoFn z?w4ZavDa2B?mOY_qVWzGyi*6>5+%Hl4|3fP;;e$c@(Mm&&o-?DRbIR>+&~Dk`TL0p z9AU(JcZ3}hJK|0RMgjTvK;IZd4wWcE1jU+@5}g!MFd!Qb-4DV!V~eC@_lmbx5FIYn zB>BW)>B=EoC0krjE<|-6TJlc1D%)6aiARw57#z)DXEh z2$~i2EwwrsQH?z5qMHVy?pOC#RS#;4g`KRPz?nI=gT|af)uP-(_g}nOgwEd&3sT=B z&6(G}(X3_i)=4#yUPlW`&I!>wz-cEz5;V{z2Kb8(`tDQ<*Q`I)tJQ*mKCY^tehfN8 ztKtEdtTjfTcDl*MDBawV9$^I2dm8u+1pmN6BC5FIh6_jWxuej=aG46X_3(IKpar_| z^e{*!T}*Bs)NM-|M^rF|Kxzgxc4z#BS) zj5oA}cN@72pO_UAEd>Z>!!298AcbDMT@2ZwknHq|{9vB!dO&tR)#_=`>h0X>6Vuuw I3)M~AIidsD0QsamlT5mjOZDKR5d?Gb_)CH7W( z7BOp75hQP)-{0__>%Pvp&WHP)`@YVHqob#-s9+DGTDr0h08l6t004kOq5dm)002b6 z11NyKJ-ix#Kme$_FH`XR0FW9UM3J-u!2kd?5P$-rgj2=~MMeKo)s}|;@_2Z7WMpKF zjEr1dT*AY{Gcq!&tE=&Ne1Cuc+S=OR75mcCiF=7_fXJxm7%(Ij8V8I2l<+w*37(vinwE~p$jm~1$<9IL=H(X@ z7NLtVC8b}>zLi&0R#n&3*3~y)8=G*=Ev@*r_Kwc)UEPG9-oE~U!J*-i(XsJ~$sbeG zGqZE^3yVw3E2}@();EZoTiZLkd%yM%4v&5x|2a85Bb|>p+F!BnVx~HJ$b^WvcJt7h zP+_kk<w>Xm?EK>W1 zbjFd;^GvlUhHLUJQJPY`qTu^A>}q4`&msC>^p80Z0829(ks1!QAL_QHakmU6+4}OG z*}=!6Zo4y8WZ%_ZXQy|rW5v&|Eq_<8FSo^d2k)uStGVj6$5)8j^fy$lb|>C3$Tq}Q zt@R;fJQw=0)f+>or!YRF#+uEs3_pP`dj2(jN#55j3G>9VN3(0bpU0ZBZuwZa3d3JE zyhN$Oze`P)?KWW>7ne~{$%AqHYN=vuf;e()qr$Iwybqh|LePh!O@gaQD_`hY>%Lgv z#K1xdsl0}FO(!M1rJB?W0Or_|uirua+Zt-dFGD3bwgmE@*Xoa$7e7pm9#CsNN+D-ch9#W zlMA96!(^K!C7I`Vs%sMbzjCvJo*U#gj-*6?_2ByYtWt@NyTO=bmKYKfBbJ*p%Ifv7 zBT|%un?i`g*xAXY-LtTH)U;E>s8p9+g&>KJ0Ha5hSn9?!Om-wzd6ZLt#u80ekj3&a z4$Hba19$5>2hm?;*ijzN`pgo2LV2aRG#*dQ<+a~NC;WB)?%Is|UI%o9q02*`Tp~;J z-L82Yj^Ya5PVK7kH$)VWq~&NDSbcE!<*u)eN_X-XIy*(^-WpxglrI0kqVC4$G+I!( zcTxD}N#6rBk}JV)jKCuLOUA=hx;5Y7uWA*t*HcTh_gDD$6l?g;>Rw>L;zIyPa; z-(T`!=J&Zc9AO!{IC8vi8~1zIBK-PszMaqIpJ3&o%M-Gc`|Y^XrSx#7 zvmBHUnbcOi2tD8Fe*W#`@W=C;7g0}^--V#r6G%V0Ih*wN7Swkks4ow;tu z9+X+io1}N+OI;ohX6`k)0l0#@vSet_r5`J6&Q8IFMvv~x zOzBW|l|oVRj9#-Pszwp74+RcZppww_?IL9 z4bf$cW>6+P`+JSB&;j&$C=V=$jC57Hs-z8K{hfXFu?Xk&lHpLHnp{065zSloN1&`# zd7J}xv}Izj&D4GGy8Y%(9MkhN^(ComFCNqU`5gF-96OH`@( zU^F9@q8|e@?7nY_XDUu$!sNl7;o}8DGzq@7b~HZr-BmLz@=~}}>mv{2*LPh@ zHADscy?AurvQ9z>O;h^SGFF-nv}K<^iRsDowI=$@M`mAoU41GxLk+L1xvC=WK|#+< zeDtsWCTHvEsH{IV`X{)$d6(p0I(vBV_p8*3`{tg^F25>o=(_jKH`!C=r}V!;gQ4CB zd1CWRFY6ndnk3$PqUU#8zBMfv-TKgB-FN_32v~poYb&kPW~{Kj86NyFgiUzyj8xY0 zCx$!h=)B_c@FZvF(kJBV13MCH1ODW(WaM$_68YLmecKJ13duYDZ#u#Ts^V}vGWWgS zyiTcQmNnW*L-a2HTA``{pKe1;4OduUTwE?*Y&;n;)tpTYxDs{FY18pZ!B@v!4{aP$ zMOG@WO^ju!ncw;oHriS3t=OagN6X^l>xnjvjCV7h`fprc^WtnWT5Phfm1v*-P#PWS zvgO-fxxrg~Sj*(7fiw^|0Ue4x^7q#4uHn}94Rlgej78Y3O zDDG)E);O8fBKPfa+4dVqLwYp|Li1FOWBRZjV!^X*IO%&Fgy|r`j^ju4S;Y z>B4AlzDnfDbkuV%9cW?cCnmY|0GrW`Wz;_iwN+U4t6!22{yC zTG+BK7SGlmL_gBA*?)yN(0DR=nryY;Yj0(Mf#gbY1aZ4$<}_|tWUYEp!5qZSRc=qs zayTxBJnZIc7SJ0~FpyI@L_fW?V4l;3tCrC6dKb!PO=*m%ka*Akv3X}4ybBn%QJlRI zzdN9OE;xDP#6~3EE-B@FZqw#p<2mx>uhl#Iv*&}ctyfz(SJ#^IuMeGeDUPcXWnxSP8qbznH#r<05M)^Eff)f|p$VO;O_myi|D zMH43qIlBE}m`YOX#nRAY(vWJ?G5XEr-gAZX)pA(HSZnxxE2ZhEJlu1tm9pC%4k!*h zQUF0rKs2%8%W0rPFo@|?_r@tGg*}3`n1Nyuk@_?Oh)@aqb8|k@)r8i7w*gcmDdhlQ zF<^DLd)HT6A(Fa56Lv2^nq1&3PK=Zv_j%6Z_ejA{UgY|yBkP&EGteUHvD0+wdW$+z(+%=QCo;?}`j9JDK`}PkQjX_CY?^OG9FRVK zDpt@fHt_=lqzDZcfu?gg3gbIL)^B6mW zPSlp}XLTKIMGHqt!#gj+XNfV!C-kUZID4X4r=Ln@)!FNz{jk1a(ZJAtnX9CKt{8Sw8Uo)#;4K z(+O8tIM3)zZ@XvyaulXw;Z&kaEZfXHOJ)o(cD5us*1BiWM#Grt#RL_STY4gnqWrn0 zv%X_v@sFaLFj+_}k}&{jWBKKc5O|cHA$TH2`h(6x400N)HvmokiA`R{(2rMhW@21N zg0i#iG8|}g#uZ=}A~~;JbF3ga=IET~-8niNIZtR&vcjkbI;gv@sDB_Rb~K8q8%4c= zI;Y9~EtK1*lk;0QcMqJqU6f1g%3WK}U7^Wqcg@`v$(wV@n+E4i7Uhj~v9OoF zFfy9wVa*e= zNyS-gw)h%mqankjlPd`i5zz_+Yn3ckeMz<}Stl^UCye1sB|Dq;B*554u{kN6K$uS@C4JbiP0&I zR`MA*uIp6&BNkH~R78m^xhEDQeEzu|fbM=lqa>umcZLN1NCK`PFW1Et*jx|B&Cwo- zI^b&gJi(`84}I)w>bDr5Ow^cGbH1=H&G(?wZ*tUpCnOzQ+pPaZ=RK3Xq>~fgOaLA2 z-c)xWoBfupoWSirnECZu5S?={yQ{U-ubDa{`TEv7DBpKi*}&{cR-$TFqId8+t!+m;hQ>ZkoW87C_qM-6E^e$H zhsa{QlYz6X#&sz-ms|mlqMW(ToA1%LC>Lv?M=cLhOm_vJjQeq|mueD~Et+36m-c~w z@nXkkTcjYZJ}+C}mNG8(FgeyaKuK_F6+BeGrT(zd?G+vk!-JXeA7M?>eR$S6pP=)q z>o`0Ovdtu*?Y(lvZ9!=^TpP!OT7wOywh?$dqOo1Lzg=k)&-qezVXHlXvEyo+izrf8 zwS!JJ-VzHc<1gwMilck{wOTbKIVQ24D?~;aS0*09^5lXsGn47PP+-b2M$O79PqfaC zt&VY4y>hE8w%*^&(A@gsdoo8?Q{n?(C;3l!h(|x8SNs=*ahE8p)@{z%FCG&z*By4z e4f=-=sX~Z;O#p`wVv&S693g&=5Y9#iQ2sxk+$?zj literal 0 HcmV?d00001 diff --git a/wyk/05_Wygladzanie/size-perplexity2.gif b/wyk/05_Wygladzanie/size-perplexity2.gif new file mode 100644 index 0000000000000000000000000000000000000000..53f2002f1d63b79c82b1fe528a3de61ab591c1e1 GIT binary patch literal 4913 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 t(K+c%n6y55uW)rr>DH8r