§
    �zIfÀN  ã                   ót  — d dl Z d dlmZ d dlZd dlmZmZmZmZm	Z	m
Z
mZmZ d dlmZ  ej        d¬¦  «        d„ ¦   «         Z ej        d¬¦  «        d„ ¦   «         Z ej        d¬¦  «        d	„ ¦   «         Z ej        d¬¦  «        d
„ ¦   «         Zej        d„ ¦   «         Zej                             dddgdfddgd fdddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Zej                             ddddgdfdddg¦  «        d„ ¦   «         Zej        d„ ¦   «         Zej                             dddgdfd d!d"g¦  «        d#„ ¦   «         Zd$„ Z ej        d%„ ¦   «         Z!ej                             dddgdfddgd&fdd'dgdfdd'dgd&fg¦  «        d(„ ¦   «         Z"ej        d)„ ¦   «         Z#ej                             dddgd*fd+d,d-g¦  «        d.„ ¦   «         Z$d/„ Z%d0„ Z&ej        d1„ ¦   «         Z'ej                             dd2d3ddd'gd4fdd5d'gd6fdd7d'gd4fg¦  «        d8„ ¦   «         Z(ej        d9„ ¦   «         Z)ej                             dd:d3ddd'gd;fdd5d'gd<fdd7d'gd;fg¦  «        d=„ ¦   «         Z*ej        d>„ ¦   «         Z+ej                             dd2d3ddd'gd?fdd5d'gd@fdd7d'gd?fg¦  «        dA„ ¦   «         Z,ej        dB„ ¦   «         Z-ej                             dd2d3ddd'gdCfdd5d'gdDfdd7d'gdEfg¦  «        dF„ ¦   «         Z. ej        d¬¦  «        dG„ ¦   «         Z/ej                             dHdIdJdKdLdMdNdO ej0        dPej         1                    dQ¬R¦  «        ¬S¦  «        g¦  «        ej                             dTg dU¢ ed ¦  «        ¬V¦  «        dW„ ¦   «         ¦   «         Z2dX„ Z3dY„ Z4dZ„ Z5d[„ Z6d\„ Z7d]„ Z8d^„ Z9dS )_é    N)Ú
itemgetter)ÚMLEÚAbsoluteDiscountingInterpolatedÚKneserNeyInterpolatedÚLaplaceÚLidstoneÚStupidBackoffÚ
VocabularyÚWittenBellInterpolated)Úpadded_everygramsÚsession)Úscopec                  ó(   — t          g d¢d¬¦  «        S )N)ÚaÚbÚcÚdÚzú<s>ú</s>é   )Ú
unk_cutoff)r
   © ó    úQ/var/www/piapp/venv/lib/python3.11/site-packages/nltk/test/unit/lm/test_models.pyÚ
vocabularyr      s   € åÐ>Ð>Ð>È1ÐMÑMÔMÐMr   c                  ó   — g d¢g d¢gS )N)r   r   r   r   )ÚeÚgr   r   r   r   r   r   r   r   Útraining_datar       s   € à Ð Ð Ð"@Ð"@Ð"@ÐAÐAr   c                 ó   — d„ | D ¦   «         S )Nc                 óH   — g | ]}t          t          d |¦  «        ¦  «        ‘Œ S )é   ©Úlistr   ©Ú.0Úsents     r   ú
<listcomp>z(bigram_training_data.<locals>.<listcomp>%   ó+   € ÐGÐGÐG°�DÕ" 1 dÑ+Ô+Ñ,Ô,ÐGÐGÐGr   r   ©r    s    r   Úbigram_training_datar,   #   ó   € àGÐG¸ÐGÑGÔGÐGr   c                 ó   — d„ | D ¦   «         S )Nc                 óH   — g | ]}t          t          d |¦  «        ¦  «        ‘Œ S )é   r$   r&   s     r   r)   z)trigram_training_data.<locals>.<listcomp>*   r*   r   r   r+   s    r   Útrigram_training_datar1   (   r-   r   c                 óR   — t          d| ¬¦  «        }|                     |¦  «         |S ©Nr#   ©r   ©r   Úfit)r   r,   Úmodels      r   Úmle_bigram_modelr8   -   s,   € å�˜jÐ)Ñ)Ô)€EØ	‡I‚IÐ"Ñ#Ô#Ð#Ø€Lr   zword, context, expected_scorer   r   r   r   )r   Nr   )r   Ng’$I’$IÂ?)ÚyNgÛ¶mÛ¶mË?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S ©Nç-Cëâ6?©ÚpytestÚapproxÚscore)r8   ÚwordÚcontextÚexpected_scores       r   Útest_mle_bigram_scoresrD   4   s8   € õ  Œ=Ð)×/Ò/°°gÑ>Ô>ÀÑEÔEÈÒWÐWÐWÐWÐWÐWr   c                 ó\   — t          j        |                      ddg¦  «        ¦  «        sJ ‚d S )Nr   r   )ÚmathÚisinfÚlogscore)r8   s    r   Ú'test_mle_bigram_logscore_for_zero_scorerI   G   s1   € ÝŒ:Ð&×/Ò/°°c°UÑ;Ô;Ñ<Ô<Ð<Ð<Ð<Ð<Ð<r   c                 óÎ   — g d¢}d}d}t          j        |                      |¦  «        d¦  «        |k    sJ ‚t          j        |                      |¦  «        d¦  «        |k    sJ ‚d S )N)©r   r   )r   r   )r   ú<UNK>)rL   r   )r   r   ©r   r   g�Âõ(\�ñ?g®Ø_vO@r<   ©r>   r?   ÚentropyÚ
perplexity)r8   ÚtrainedÚHrP   s       r   Ú'test_mle_bigram_entropy_perplexity_seenrS   K   s}   € ðð ð €Gð" 	€AØ€JÝŒ=Ð)×1Ò1°'Ñ:Ô:¸DÑAÔAÀQÒFÐFÐFÐFÝŒ=Ð)×4Ò4°WÑ=Ô=¸tÑDÔDÈ
ÒRÐRÐRÐRÐRÐRr   c                 ó²   — g d¢}t          j        |                      |¦  «        ¦  «        sJ ‚t          j        |                      |¦  «        ¦  «        sJ ‚d S )N)rK   ©r   r   )r   r   rM   )rF   rG   rO   rP   )r8   Ú	untraineds     r   Ú)test_mle_bigram_entropy_perplexity_unseenrW   d   s]   € àEÐEÐE€IåŒ:Ð&×.Ò.¨yÑ9Ô9Ñ:Ô:Ð:Ð:Ð:ÝŒ:Ð&×1Ò1°)Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=Ð=Ð=r   c                 óÎ   — d}d}g d¢}t          j        |                      |¦  «        d¦  «        |k    sJ ‚t          j        |                      |¦  «        d¦  «        |k    sJ ‚d S )Ngú~j¼t@g³êsµ @)©r   ©r   ©r   )ú-©r   r[   )r   r<   rN   )r8   rR   rP   Útexts       r   Ú+test_mle_bigram_entropy_perplexity_unigramsr_   l   sw   € ð 	€AØ€JàHÐHÐH€DåŒ=Ð)×1Ò1°$Ñ7Ô7¸Ñ>Ô>À!ÒCÐCÐCÐCÝŒ=Ð)×4Ò4°TÑ:Ô:¸DÑAÔAÀZÒOÐOÐOÐOÐOÐOr   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S ©Nr0   ©Úorderr   r5   ©r1   r   r7   s      r   Úmle_trigram_modelre   €   s,   € å�a JÐ/Ñ/Ô/€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   )r   )r   r   r   )r   NgÇqÇq¼?)r9   NçUUUUUUÅ?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )re   rA   rB   rC   s       r   Útest_mle_trigram_scoresrh   ‡   s8   € õ$ Œ=Ð*×0Ò0°°wÑ?Ô?ÀÑFÔFÈ.ÒXÐXÐXÐXÐXÐXr   c                 óT   — t          dd|¬¦  «        }|                     | ¦  «         |S )Nçš™™™™™¹?r#   rb   ©r   r6   ©r,   r   r7   s      r   Úlidstone_bigram_modelrm   œ   s.   € å�S ¨jÐ9Ñ9Ô9€EØ	‡I‚IÐ"Ñ#Ô#Ð#Ø€Lr   gä8Žã8Žã?)r   Ng˜"Ÿuƒ)Â?)r   NgÐºÁù¬{?)r9   Ngù¬L‘ÏÊ?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )rm   rA   rB   rC   s       r   Útest_lidstone_bigram_scorero   £   sE   € õ4 	ŒÐ+×1Ò1°$¸Ñ@Ô@À$ÑGÔGØò	ð 	ð 	ð 	ð 	ð 	r   c                 óÎ   — g d¢}d}d}t          j        |                      |¦  «        d¦  «        |k    sJ ‚t          j        |                      |¦  «        d¦  «        |k    sJ ‚d S )N©rK   rU   )r   rL   )rL   r   )r   r   )r   r   g=,Ôšæ]@gé·¯ç1@r<   rN   )rm   r^   rR   rP   s       r   Ú test_lidstone_entropy_perplexityrr   Â   s}   € ðð ð €Dð$ 	€AØ€JÝŒ=Ð.×6Ò6°tÑ<Ô<¸dÑCÔCÀqÒHÐHÐHÐHÝŒ=Ð.×9Ò9¸$Ñ?Ô?ÀÑFÔFÈ*ÒTÐTÐTÐTÐTÐTr   c                 óT   — t          dd|¬¦  «        }|                     | ¦  «         |S )Nrj   r0   rb   rk   rd   s      r   Úlidstone_trigram_modelrt   Û   s.   € å�S ¨jÐ9Ñ9Ô9€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   gÇqÇq¬?r   c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )rt   rA   rB   rC   s       r   Útest_lidstone_trigram_scorerv   â   sE   € õ 	ŒÐ,×2Ò2°4¸ÑAÔAÀ4ÑHÔHØò	ð 	ð 	ð 	ð 	ð 	r   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S r3   )r   r6   rl   s      r   Úlaplace_bigram_modelrx   õ   s,   € å�A *Ð-Ñ-Ô-€EØ	‡I‚IÐ"Ñ#Ô#Ð#Ø€Lr   gÇqÇqÌ?)r   NgtÑE]tÁ?)r   NgF]tÑE§?)r9   NgF]tÑEÇ?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )rx   rA   rB   rC   s       r   Útest_laplace_bigram_scorerz   ü   s8   € õ6 	ŒÐ*×0Ò0°°wÑ?Ô?ÀÑFÔFÈ.ÒXÐXÐXÐXÐXÐXr   c                 óÎ   — g d¢}d}d}t          j        |                      |¦  «        d¦  «        |k    sJ ‚t          j        |                      |¦  «        d¦  «        |k    sJ ‚d S )Nrq   g…ëQ¸	@g˜Ý“‡…z!@r<   rN   )rx   r^   rR   rP   s       r   Ú&test_laplace_bigram_entropy_perplexityr|     s}   € ðð ð €Dð$ 	€AØ€JÝŒ=Ð-×5Ò5°dÑ;Ô;¸TÑBÔBÀaÒGÐGÐGÐGÝŒ=Ð-×8Ò8¸Ñ>Ô>ÀÑEÔEÈÒSÐSÐSÐSÐSÐSr   c                 ó    — | j         dk    sJ ‚d S )Nr   )Úgamma)rx   s    r   Útest_laplace_gammar   4  s   € ØÔ%¨Ò*Ð*Ð*Ð*Ð*Ð*r   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S )Nr0   r4   )r   r6   rd   s      r   Úwittenbell_trigram_modelr�   8  s,   € å" 1°Ð<Ñ<Ô<€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   )r   NgÇqÇq¬?)r   Ng        grÇqÇÑ?r   gÇqÇqä?r   c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )r�   rA   rB   rC   s       r   Útest_wittenbell_trigram_scorerƒ   ?  sF   € õD 	ŒÐ.×4Ò4°T¸7ÑCÔCÀTÑJÔJØò	ð 	ð 	ð 	ð 	ð 	r   c                 óT   — t          dd|¬¦  «        }|                     | ¦  «         |S )Nr0   g      è?)rc   Údiscountr   ©r   r6   rd   s      r   Úkneserney_trigram_modelr‡   q  s.   € å!¨°DÀZÐPÑPÔP€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   )r   Ng’$I’$I²?g·mÛ¶mÛÆ?g$I’$I’Ø?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )r‡   rA   rB   rC   s       r   Útest_kneserney_trigram_scorer‰   x  sF   € õP 	ŒÐ-×3Ò3°D¸'ÑBÔBÀDÑIÔIØò	ð 	ð 	ð 	ð 	ð 	r   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S ra   )r   r6   rd   s      r   Ú"absolute_discounting_trigram_modelr‹   ¥  s,   € å+°!À
ÐKÑKÔK€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   rf   g      Ø?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )r‹   rA   rB   rC   s       r   Ú'test_absolute_discounting_trigram_scorer�   ¬  sF   € õJ 	ŒÐ8×>Ò>¸tÀWÑMÔMÈtÑTÔTØò	ð 	ð 	ð 	ð 	ð 	r   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S ra   )r	   r6   rd   s      r   Ústupid_backoff_trigram_modelr�   Ö  s,   € å ¨jÐ9Ñ9Ô9€EØ	‡I‚IÐ#Ñ$Ô$Ð$Ø€Lr   g      à?ç      ð?gš™™™™™É?c                 ód   — t          j        |                      ||¦  «        d¦  «        |k    sJ ‚d S r;   r=   )r�   rA   rB   rC   s       r   Ú!test_stupid_backoff_trigram_scorer’   Ý  sE   € õ2 	ŒÐ2×8Ò8¸¸wÑGÔGÈÑNÔNØò	ð 	ð 	ð 	ð 	ð 	r   c                 óR   — t          d|¬¦  «        }|                     | ¦  «         |S )Nr#   rb   r†   rl   s      r   Úkneserney_bigram_modelr”      s,   € å!¨°jÐAÑAÔA€EØ	‡I‚IÐ"Ñ#Ô#Ð#Ø€Lr   Úmodel_fixturer8   re   rm   rx   r�   r‹   r”   r�   z*Stupid Backoff is not a valid distribution)Úreason)ÚmarksrB   )	rZ   r[   rY   )r   ©rL   r]   )r   )Úr)Úw)Úidsc                 ó¬   ‡‡— |                      | ¦  «        Št          ˆˆfd„‰j        D ¦   «         ¦  «        }t          j        |d¦  «        dk    sJ ‚d S )Nc              3   óD   •K  — | ]}‰                      |‰¦  «        V — Œd S ©N)r@   )r'   rš   rB   r7   s     €€r   ú	<genexpr>z!test_sums_to_1.<locals>.<genexpr>   s1   øè è € ÐJÐJ¸˜UŸ[š[¨¨GÑ4Ô4ÐJÐJÐJÐJÐJÐJr   gH¯¼šò×z>r�   )ÚgetfixturevalueÚsumÚvocabr>   r?   )r•   rB   ÚrequestÚscores_for_contextr7   s    `  @r   Útest_sums_to_1r¥     se   øø€ ð0 ×#Ò# MÑ2Ô2€EÝÐJÐJÐJÐJÐJ¸e¼kÐJÑJÔJÑJÔJÐÝŒ=Ð+¨TÑ2Ô2°cÒ9Ð9Ð9Ð9Ð9Ð9r   c                 ó>   — |                       d¬¦  «        dk    sJ ‚d S )Nr0   ©Úrandom_seedrL   ©Úgenerate©re   s    r   Útest_generate_one_no_contextr¬   )  s*   € Ø×%Ò%°!Ð%Ñ4Ô4¸Ò?Ð?Ð?Ð?Ð?Ð?r   c                 ó¸   — |                       dg¬¦  «        dk    sJ ‚|                       ddg¬¦  «        dk    sJ ‚|                       ddg¬¦  «        dk    sJ ‚d S )Nr   ©Ú	text_seedr   r   r   r©   r«   s    r   Ú'test_generate_one_from_limiting_contextr°   -  sx   € à×%Ò%°°Ð%Ñ6Ô6¸#Ò=Ð=Ð=Ð=Ø×%Ò%°°c°
Ð%Ñ;Ô;¸sÒBÐBÐBÐBØ×%Ò%°°c°
Ð%Ñ;Ô;¸sÒBÐBÐBÐBÐBÐBr   c                 ó@   — |                       dd¬¦  «        dk    sJ ‚d S )N)r   r   r#   ©r¯   r¨   r   r©   r«   s    r   Ú%test_generate_one_from_varied_contextr³   4  s-   € à×%Ò%°È!Ð%ÑLÔLÐPSÒSÐSÐSÐSÐSÐSr   c                 ó¶   — t          | j        t          d¦  «        ¦  «        g}|                      |¦  «         |                      ddd¬¦  «        g d¢k    sJ ‚d S )NÚbdbdbdé   )r   r   é   r²   )r   r   r   r   r   r   r   )r   rc   r%   r6   rª   )re   Úmore_training_texts     r   Útest_generate_cycler¹   9  s|   € å+Ð,=Ô,CÅTÈ(Á^Ä^ÑTÔTÐUÐà×ÒÐ,Ñ-Ô-Ð-à×%Ò% a°:È1Ð%ÑMÔMð Rð Rð Rò ð ð ð ð ð r   c                 óF   — |                       ddd¬¦  «        g d¢k    sJ ‚d S )Nr·   )r   r   r0   r²   )rL   r   r   r   rL   r©   r«   s    r   Útest_generate_with_text_seedr»   J  sJ   € Ø×%Ò% a°<ÈQÐ%ÑOÔOð Tð Tð Tò ð ð ð ð ð r   c                 ój   — |                       dd¬¦  «        |                       dd¬¦  «        k    sJ ‚d S )N)Úaliensr0   r²   r˜   r©   r«   s    r   Útest_generate_oov_text_seedr¾   T  sY   € Ø×%Ò%Ø¨1ð &ñ ô à	×	#Ò	#¨jÀaÐ	#Ñ	HÔ	HòIð Ið Ið Ið Ið Ir   c                 óö   — t          j        t          ¦  «        5  |                      d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d d¬¦  «        |                      d¬¦  «        k    sJ ‚d S )Nrž   r®   r0   r²   r§   )r>   ÚraisesÚ	TypeErrorrª   r«   s    r   Útest_generate_None_text_seedrÂ   Z  sÏ   € å	Œ•yÑ	!Ô	!ð 6ð 6Ø×"Ò"¨WÐ"Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð ×%Ò%Ø Að &ñ ô à	×	#Ò	#°Ð	#Ñ	2Ô	2ò3ð 3ð 3ð 3ð 3ð 3s   š=½AÁA):rF   Úoperatorr   r>   Únltk.lmr   r   r   r   r   r	   r
   r   Únltk.lm.preprocessingr   Úfixturer   r    r,   r1   r8   ÚmarkÚparametrizerD   rI   rS   rW   r_   re   rh   rm   ro   rr   rt   rv   rx   rz   r|   r   r�   rƒ   r‡   r‰   r‹   r�   r�   r’   r”   ÚparamÚxfailr¥   r¬   r°   r³   r¹   r»   r¾   rÂ   r   r   r   ú<module>rË      sè  ðð €€€Ø Ð Ð Ð Ð Ð à €€€ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 4Ð 3Ð 3Ð 3Ð 3Ð 3ð €„�iÐ Ñ Ô ðNð Nñ !Ô ðNð €„�iÐ Ñ Ô ðBð Bñ !Ô ðBð €„�iÐ Ñ Ô ðHð Hñ !Ô ðHð €„�iÐ Ñ Ô ðHð Hñ !Ô ðHð „ðð ñ „ðð „×ÒØ#à	ˆsˆe�Qˆà	ˆsˆe�Qˆàð 	àðñô ðXð Xñô ðXð=ð =ð =ðSð Sð Sð2>ð >ð >ðPð Pð Pð( „ðð ñ „ðð „×ÒØ#ð 	ð 
ˆsˆe�Qˆàààðñô ð"Yð Yñ#ô ð"Yð „ðð ñ „ðð „×ÒØ#ð 
ˆsˆe�YÐð 	 ð 	 ð 	 ð'ñô ð0ð ñ1ô ð0ðUð Uð Uð2 „ðð ñ „ðð „×ÒØ#ð 
ˆsˆe�YÐà	ˆsˆe�YÐà	ˆs�Cˆj˜)Ð$Ø	ˆs�Cˆj˜)Ð$ðñô ðð ñô ðð „ðð ñ „ðð „×ÒØ#ð 
ˆsˆe�WÐð 	ð 	ð 	ð)ñô ð2ð ñ3ô ð2ðTð Tð Tð2+ð +ð +ð „ðð ñ „ðð „×ÒØ#ð 	ð 	ð 	ð 
ˆsˆeÐ3Ð4ð
 
ˆs�CˆjÐLÐMð 
ˆs�CˆjÐ9Ð;ð3ñô ð<ð ñ=ô ð<ð( „ðð ñ „ðð „×ÒØ#ð 	ð 	ð 	ð 
ˆsˆeÐ-Ð/ð 
ˆs�CˆjÐAÐBð 
ˆs�CˆjÐ2Ð4ð? ñ#ô #ðHð ñI#ô #ðHð „ðð ñ „ðð „×ÒØ#ð 	ð 	ð 	ð 
ˆsˆeÐ7Ð9ð 
ˆs�CˆjÐKÐLð 
ˆs�CˆjÐ<Ð>ð9ñ ô  ðBð ñC ô  ðBð „ðð ñ „ðð „×ÒØ#ð 	ð 	ð 	à	ˆsˆe�UÐà	ˆs�Cˆj˜%Ð ð 
ˆs�Cˆj˜=Ð*ð!ñô ð*ð ñ+ô ð*ð €„�iÐ Ñ Ô ðð ñ !Ô ðð „×ÒØàØØØØ"Ø,Ø ØˆŒØ*Ø”+×#Ò#ØCð $ñ ô ð	
ñ 	
ô 	
ðñô ð$ „×ÒØØRÐRÐRØˆ
�1‰Œð ñ ô ð
:ð :ñô ñ%ô ð.:ð@ð @ð @ðCð Cð CðTð Tð Tð
ð ð ð"ð ð ðIð Ið Ið3ð 3ð 3ð 3ð 3r   