§
    �zIf1  ã                   ód   — d Z ddlZddlmZ ddlmZmZmZ ddlm	Z	  G d„ dej
        ¦  «        ZdS )z(
Tests for IBM Model 2 training methods
é    N©Údefaultdict)ÚAlignedSentÚIBMModelÚ	IBMModel2)ÚAlignmentInfoc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestIBMModel2c                 ól  — t          ddgg d¢¦  «        t          g d¢ddg¦  «        g}t          |d¦  «        }|                     |¦  «         |                      |j        d         d         d         d	         d
¦  «         |                      |j        d	         d         d	         d         d¦  «         d S )NÚhamÚeggs©Úschinkenr   Úeier©Úspamr   r   r   r   r   é   é   é   g      Ð?é   gUUUUUUÕ?)r   r   Úset_uniform_probabilitiesÚassertEqualÚalignment_table©ÚselfÚcorpusÚmodel2s      úV/var/www/piapp/venv/lib/python3.11/site-packages/nltk/test/unit/translate/test_ibm2.pyÚ(test_set_uniform_alignment_probabilitiesz6TestIBMModel2.test_set_uniform_alignment_probabilities   sÅ   € õ ˜ ˜Ð)IÐ)IÐ)IÑJÔJÝÐ8Ð8Ð8¸6À6Ð:JÑKÔKð
ˆõ ˜6 1Ñ%Ô%ˆð 	×(Ò(¨Ñ0Ô0Ð0ð 	×Ò˜Ô/°Ô2°1Ô5°aÔ8¸Ô;¸WÑEÔEÐEØ×Ò˜Ô/°Ô2°1Ô5°aÔ8¸Ô;¸WÑEÔEÐEÐEÐEó    c                 ó”  — t          ddgg d¢¦  «        t          g d¢ddg¦  «        g}t          |d¦  «        }|                     |¦  «         |                      |j        d         d         d	         d
         t
          j        ¦  «         |                      |j        d
         d         d
         d         t
          j        ¦  «         d S )Nr   r   r   r   r   r   éc   r   r   r   r   )r   r   r   r   r   r   ÚMIN_PROBr   s      r   Ú=test_set_uniform_alignment_probabilities_of_non_domain_valueszKTestIBMModel2.test_set_uniform_alignment_probabilities_of_non_domain_values   sË   € õ ˜ ˜Ð)IÐ)IÐ)IÑJÔJÝÐ8Ð8Ð8¸6À6Ð:JÑKÔKð
ˆõ ˜6 1Ñ%Ô%ˆð 	×(Ò(¨Ñ0Ô0Ð0ð 	×Ò˜Ô/°Ô3°AÔ6°qÔ9¸!Ô<½hÔ>OÑPÔPÐPØ×Ò˜Ô/°Ô2°2Ô6°qÔ9¸!Ô<½hÔ>OÑPÔPÐPÐPÐPr    c                 ó   — g d¢}g d¢}t          ||¦  «        g}t          dd g|z   dg|z   d ¦  «        }t          d„ ¦  «        }d|d         d<   d|d	         d
<   d|d         d <   d|d         d<   d|d         d<   d|d         d<   t          d„ ¦  «        }d|d         d         d         d<   d|d         d         d         d<   d|d         d         d         d<   d|d         d         d         d<   d|d         d         d         d<   d|d         d         d         d<   t          |d¦  «        }||_        ||_        |                     |¦  «        }d}	d}
|	|
z  }|                      t          |d¦  «        t          |d¦  «        ¦  «         d S )N)ÚichÚesseÚjaÚgernõ   rÃ¤ucherschinken)ÚiÚloveÚtoÚeatÚsmokedr   )r   r   r   r   r   é   r0   ÚUNUSEDc                  ó*   — t          t          ¦  «        S ©N©r   Úfloat© r    r   ú<lambda>z5TestIBMModel2.test_prob_t_a_given_s.<locals>.<lambda>9   s   € µ½EÑ0BÔ0B€ r    g\�Âõ(\ï?r+   r&   r,   r)   r-   r.   r'   r/   r*   r   c                  ó"   — t          d„ ¦  «        S )Nc                  ó"   — t          d„ ¦  «        S )Nc                  ó*   — t          t          ¦  «        S r3   r4   r6   r    r   r7   zYTestIBMModel2.test_prob_t_a_given_s.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>B   s   € ½KÍÑ<NÔ<N€ r    r   r6   r    r   r7   zGTestIBMModel2.test_prob_t_a_given_s.<locals>.<lambda>.<locals>.<lambda>B   s   € ­Ð4NÐ4NÑ(OÔ(O€ r    r   r6   r    r   r7   z5TestIBMModel2.test_prob_t_a_given_s.<locals>.<lambda>B   s   € •KÐ OÐ OÑPÔP€ r    g
×£p=
ï?r   r   r0   é   r   r   r   g¸…ëQ¸î?gÍçÒXì?gh–\¦¼ê?)	r   r   r   r   Útranslation_tabler   Úprob_t_a_given_sr   Úround)r   Úsrc_sentenceÚtrg_sentencer   Úalignment_infor<   r   r   ÚprobabilityÚlexical_translationÚ	alignmentÚexpected_probabilitys               r   Útest_prob_t_a_given_sz#TestIBMModel2.test_prob_t_a_given_s-   sô  € àHÐHÐHˆØBÐBÐBˆÝ˜l¨LÑ9Ô9Ð:ˆÝ&Ø!ØˆF�\Ñ!ØˆJ˜Ñ%Øñ	
ô 
ˆõ (Ð(BÐ(BÑCÔCÐØ(,Ð˜#Ô˜uÑ%Ø,0Ð˜&Ô! &Ñ)Ø(,Ð˜$Ô Ñ%Ø+/Ð˜%Ô  Ñ(Ø:>Ð˜(Ô#Ð$6Ñ7Ø7;Ð˜%Ô Ð!3Ñ4å%ØPÐPñ
ô 
ˆð '+ˆ˜Ô˜1Ô˜aÔ  Ñ#Ø&*ˆ˜Ô˜1Ô˜aÔ  Ñ#Ø&*ˆ˜Ô˜1Ô˜aÔ  Ñ#Ø&*ˆ˜Ô˜1Ô˜aÔ  Ñ#Ø&*ˆ˜Ô˜1Ô˜aÔ  Ñ#Ø&*ˆ˜Ô˜1Ô˜aÔ  Ñ#å˜6 1Ñ%Ô%ˆØ#4ˆÔ Ø!0ˆÔð ×-Ò-¨nÑ=Ô=ˆð FÐØ;ˆ	Ø2°YÑ>ÐØ×Ò�˜{¨AÑ.Ô.µÐ6JÈAÑ0NÔ0NÑOÔOÐOÐOÐOr    N)Ú__name__Ú
__module__Ú__qualname__r   r$   rF   r6   r    r   r
   r
      sL   € € € € € ðFð Fð Fð Qð Qð Qð )Pð )Pð )Pð )Pð )Pr    r
   )Ú__doc__ÚunittestÚcollectionsr   Únltk.translater   r   r   Únltk.translate.ibm_modelr   ÚTestCaser
   r6   r    r   ú<module>rP      s§   ððð ð €€€Ø #Ð #Ð #Ð #Ð #Ð #à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðJPð JPð JPð JPð JP�HÔ%ñ JPô JPð JPð JPð JPr    