
    g$
                     f    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y)z(
Tests for IBM Model 1 training methods
    N)defaultdict)AlignedSentIBMModel	IBMModel1)AlignmentInfoc                       e Zd Zd Zd Zd Zy)TestIBMModel1c                    t        ddgg d      t        g dddg      g}t        |d      }|j                  |       | j                  |j                  d   d   d       | j                  |j                  d   d    d       y )	Nhameggsschinkenr   eierspamr   r   r   r   r   r   gUUUUUU?)r   r   set_uniform_probabilitiesassertEqualtranslation_tableselfcorpusmodel1s      W/var/www/openai/venv/lib/python3.12/site-packages/nltk/test/unit/translate/test_ibm1.py*test_set_uniform_translation_probabilitiesz8TestIBMModel1.test_set_uniform_translation_probabilities   s     )IJ866:JK
 61% 	((0 	11%8@'J11&9$?I    c                     t        ddgg d      t        g dddg      g}t        |d      }|j                  |       | j                  |j                  d   d   t
        j                         y )	Nr   r   r   r   r   r   parrotr   )r   r   r   r   r   r   MIN_PROBr   s      r   ?test_set_uniform_translation_probabilities_of_non_domain_valueszMTestIBMModel1.test_set_uniform_translation_probabilities_of_non_domain_values   sp     )IJ866:JK
 61% 	((0 	11(;FCXEVEVWr   c                 n   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      }||_        |j                  |      }d}|}	| j                  t        |d      t        |	d             y )N)ichessejagern   räucherschinken)ilovetoeatsmokedr   )r         r         r.   UNUSEDc                       t        t              S )N)r   float r   r   <lambda>z5TestIBMModel1.test_prob_t_a_given_s.<locals>.<lambda>8   s	    E0Br   g\(\?r&   r!   r'   r$   r(   r)   r"   r*   r%   r   r   gX?r,   )r   r   r   r   r   prob_t_a_given_sr   round)
r   src_sentencetrg_sentencer   alignment_infor   r   probabilitylexical_translationexpected_probabilitys
             r   test_prob_t_a_given_sz#TestIBMModel1.test_prob_t_a_given_s,   s   HBlL9:&!F\!J%	
 ((BC(,#u%,0&!&)(,$%+/% (:>(#$677;% !3461%#4  --n= F2{A.6JA0NOr   N)__name__
__module____qualname__r   r   r<   r2   r   r   r	   r	      s    J XPr   r	   )__doc__unittestcollectionsr   nltk.translater   r   r   nltk.translate.ibm_modelr   TestCaser	   r2   r   r   <module>rF      s/     # ; ; 2=PH%% =Pr   