§
    �zIf]  ã                   ó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 3 training methods
é    N©Údefaultdict)ÚAlignedSentÚIBMModelÚ	IBMModel3)ÚAlignmentInfoc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestIBMModel3c                 ó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      à?é   g      Ð?)r   r   Úset_uniform_probabilitiesÚassertEqualÚdistortion_table©ÚselfÚcorpusÚmodel3s      úV/var/www/piapp/venv/lib/python3.11/site-packages/nltk/test/unit/translate/test_ibm3.pyÚ)test_set_uniform_distortion_probabilitiesz7TestIBMModel3.test_set_uniform_distortion_probabilities   sÅ   € õ ˜ ˜Ð)IÐ)IÐ)IÑJÔJÝÐ8Ð8Ð8¸6À6Ð:JÑKÔKð
ˆõ ˜6 1Ñ%Ô%ˆð 	×(Ò(¨Ñ0Ô0Ð0ð 	×Ò˜Ô0°Ô3°AÔ6°qÔ9¸!Ô<¸gÑFÔFÐFØ×Ò˜Ô0°Ô3°AÔ6°qÔ9¸!Ô<¸gÑFÔFÐFÐFÐFó    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        ¦  «         |                      |j        d         d	         d         d
         t
          j        ¦  «         d S )Nr   r   r   r   r   r   r   r   é	   r   )r   r   r   r   r   r   ÚMIN_PROBr   s      r   Ú>test_set_uniform_distortion_probabilities_of_non_domain_valueszLTestIBMModel3.test_set_uniform_distortion_probabilities_of_non_domain_values   sû   € õ ˜ ˜Ð)IÐ)IÐ)IÑJÔJÝÐ8Ð8Ð8¸6À6Ð:JÑKÔKð
ˆõ ˜6 1Ñ%Ô%ˆð 	×(Ò(¨Ñ0Ô0Ð0ð 	×Ò˜Ô0°Ô3°AÔ6°qÔ9¸!Ô<½hÔ>OÑPÔPÐPØ×Ò˜Ô0°Ô3°AÔ6°qÔ9¸!Ô<½hÔ>OÑPÔPÐPØ×Ò˜Ô0°Ô3°AÔ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gdgdgg dgd	d
gg¦  «        }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         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œ}t          |d|¦  «        }	|	                     |¦  «        }
d	t          dd¦  «        z  t          d d¦  «        z  }d!}d"}d#}||z  |z  |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   ÚUNUSEDr   r   r   r   r0   é   c                  ó"   — t          d„ ¦  «        S )Nc                  ó"   — t          d„ ¦  «        S )Nc                  ó*   — t          t          ¦  «        S ©N©r   Úfloat© r    r   ú<lambda>zYTestIBMModel3.test_prob_t_a_given_s.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>;   s   € ½KÍÑ<NÔ<N€ r    r   r9   r    r   r:   zGTestIBMModel3.test_prob_t_a_given_s.<locals>.<lambda>.<locals>.<lambda>;   s   € ­Ð4NÐ4NÑ(OÔ(O€ r    r   r9   r    r   r:   z5TestIBMModel3.test_prob_t_a_given_s.<locals>.<lambda>;   s   € •KÐ OÐ OÑPÔP€ r    g
×£p=
ï?r   c                  ó*   — t          t          ¦  «        S r6   r7   r9   r    r   r:   z5TestIBMModel3.test_prob_t_a_given_s.<locals>.<lambda>D   s   € µ½EÑ0BÔ0B€ r    g\�Âõ(\ï?r+   r&   r,   r)   r-   r.   r'   r/   r*   r   c                  ó*   — t          t          ¦  «        S r6   r7   r9   r    r   r:   z5TestIBMModel3.test_prob_t_a_given_s.<locals>.<lambda>L   s   € ­k½%Ñ.@Ô.@€ r    g®Gáz®ï?r(   g+‡ÙÎ÷ï?gÇK7‰A`Å?)Úp1Útranslation_tabler   Úfertility_tableÚalignment_tableg-²�ï§ê?gtåSUµþ?gÍçÒXì?gVêôç´§ê?)r   r   r   r   Úprob_t_a_given_sÚpowr   Úround)r   Úsrc_sentenceÚtrg_sentencer   Úalignment_infor   r>   r?   Úprobabilitiesr   ÚprobabilityÚnull_generationÚ	fertilityÚlexical_translationÚ
distortionÚexpected_probabilitys                   r   Útest_prob_t_a_given_sz#TestIBMModel3.test_prob_t_a_given_s.   sÃ  € àHÐHÐHˆØBÐBÐBˆÝ˜l¨LÑ9Ô9Ð:ˆÝ&Ø!ØˆF�\Ñ!ØˆJ˜Ñ%ØˆS�1�#˜�s˜B   a¨ VÐ,ñ	
ô 
ˆõ 'ØPÐPñ
ô 
Ðð (,Ð˜Ô˜AÔ˜qÔ! !Ñ$Ø'+Ð˜Ô˜AÔ˜qÔ! !Ñ$Ø'+Ð˜Ô˜AÔ˜qÔ! !Ñ$Ø'+Ð˜Ô˜AÔ˜qÔ! !Ñ$Ø'+Ð˜Ô˜AÔ˜qÔ! !Ñ$Ø'+Ð˜Ô˜AÔ˜qÔ! !Ñ$å'Ð(BÐ(BÑCÔCÐØ(,Ð˜#Ô˜uÑ%Ø,0Ð˜&Ô! &Ñ)Ø(,Ð˜$Ô Ñ%Ø+/Ð˜%Ô  Ñ(Ø:>Ð˜(Ô#Ð$6Ñ7Ø7;Ð˜%Ô Ð!3Ñ4å%Ð&@Ð&@ÑAÔAˆØ$(ˆ˜Ô˜5Ñ!Ø%)ˆ˜Ô˜6Ñ"Ø#'ˆ˜Ô˜4Ñ Ø%)ˆ˜Ô˜6Ñ"Ø16ˆ˜ÔÐ-Ñ.Ø#'ˆ˜Ô˜4Ñ ð Ø!2Ø 0Ø.Ø#ð
ð 
ˆõ ˜6 1 mÑ4Ô4ˆð ×-Ò-¨nÑ=Ô=ˆð �c %¨™mœmÑ+­c°%¸©m¬mÑ;ˆØIˆ	ØEÐØ<ˆ
à˜iÑ'Ð*=Ñ=À
ÑJð 	ð 	×Ò�˜{¨AÑ.Ô.µÐ6JÈAÑ0NÔ0NÑOÔOÐOÐOÐOr    N)Ú__name__Ú
__module__Ú__qualname__r   r$   rN   r9   r    r   r
   r
      sL   € € € € € ðGð Gð Gð Qð Qð Qð";Pð ;Pð ;Pð ;Pð ;Pr    r
   )Ú__doc__ÚunittestÚcollectionsr   Únltk.translater   r   r   Únltk.translate.ibm_modelr   ÚTestCaser
   r9   r    r   ú<module>rX      s§   ððð ð €€€Ø #Ð #Ð #Ð #Ð #Ð #à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð]Pð ]Pð ]Pð ]Pð ]P�HÔ%ñ ]Pô ]Pð ]Pð ]Pð ]Pr    