o
    i$
                     @   sN   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 dej
ZdS )z(
Tests for IBM Model 1 training methods
    N)defaultdict)AlignedSentIBMModel	IBMModel1)AlignmentInfoc                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestIBMModel1c                 C   sh   t ddgg dt g dddgg}t|d}|| | |jd d d | |jd d  d d S )	Nhameggsschinkenr   eierspamr   r   r   r   r   r   gUUUUUU?)r   r   set_uniform_probabilitiesassertEqualtranslation_tableselfcorpusmodel1 r   ]/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/nltk/test/unit/translate/test_ibm1.py*test_set_uniform_translation_probabilities   s   

z8TestIBMModel1.test_set_uniform_translation_probabilitiesc                 C   sT   t ddgg dt g dddgg}t|d}|| | |jd d tj d S )	Nr   r	   r
   r   r   r   parrotr   )r   r   r   r   r   r   MIN_PROBr   r   r   r   ?test_set_uniform_translation_probabilities_of_non_domain_values   s   

zMTestIBMModel1.test_set_uniform_translation_probabilities_of_non_domain_valuesc           
      C   s   g d}g d}t ||g}tdd g| dg| d }t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t|	d d S )N)ichessejagern   räucherschinken)ilovetoeatsmokedr   )r         r         r)   UNUSEDc                   S   s   t tS )N)r   floatr   r   r   r   <lambda>8   s    z5TestIBMModel1.test_prob_t_a_given_s.<locals>.<lambda>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_probabilityr   r   r   test_prob_t_a_given_s,   s,   

z#TestIBMModel1.test_prob_t_a_given_sN)__name__
__module____qualname__r   r   r5   r   r   r   r   r      s    r   )__doc__unittestcollectionsr   nltk.translater   r   r   nltk.translate.ibm_modelr   TestCaser   r   r   r   r   <module>   s    