+
    ÖÇÜh¿$  ã                   ód   € R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt  ! R R]P                  4      t
R# )z4
Tests for common methods of IBM translation models
N©Údefaultdict)ÚAlignedSentÚIBMModel)ÚAlignmentInfoc                   óx   a € ] tR t^t o . ROt. ROtR tR tR tR t	R t
R tR tR tR	 tR
 tR tR tRtV tR# )ÚTestIBMModelc                ó  € \        . RO. RO4      \        . RO. RO4      \        . R.4      .p\        V4      pV P                  \        VP                  4      ^4       V P                  \        VP
                  4      ^4       R# )ÚoneÚseptN)r
   ÚtwoÚthreeÚfour)ÚunÚdeuxÚtrois)Úfiver
   Úsix)ÚquatreÚcinqr   )r   r   ÚassertEqualÚlenÚ	src_vocabÚ	trg_vocab©ÚselfÚparallel_corporaÚ	ibm_models   &  ÚI/usr/lib/python3/dist-packages/nltk/test/unit/translate/test_ibm_model.pyÚ!test_vocabularies_are_initializedÚ.TestIBMModel.test_vocabularies_are_initialized   sq   € äÒ7Ò9PÓQÜÒ.Ò0IÓJÜ˜˜V˜HÓ%ð
Ðô Ð-Ó.ˆ	Ø×Ñœ˜Y×0Ñ0Ó1°1Ô5Ø×Ñœ˜Y×0Ñ0Ó1°1Ö5ó    c                ó´   € . p\        V4      pV P                  \        VP                  4      ^4       V P                  \        VP                  4      ^ 4       R# )é   N)r   r   r   r   r   r   s   &  r   Ú9test_vocabularies_are_initialized_even_with_empty_corporaÚFTestIBMModel.test_vocabularies_are_initialized_even_with_empty_corpora   sI   € ØÐäÐ-Ó.ˆ	Ø×Ñœ˜Y×0Ñ0Ó1°1Ô5Ø×Ñœ˜Y×0Ñ0Ó1°1Ö5r!   c                ó˜  € \        \        P                  \        P                  4      pR RRRRRRRRR	^ /R
RRRRRRRRR	R/RR^ RRR^ RRR	^ //p\	        R 4      p\        . 4      pW$n        W4n        VP                  V4      pV P                  VP                  R,          R4       V P                  VP                  . ^.^.. ^..4       R	# )Úiúj'çÍÌÌÌÌÌì?Úaimeçš™™™™™©?Úbienç{®Gáz”?Újambonç¸…ëQ¸ž?NÚloveç{®Gáz„?Úhamç®Gáz®ï?c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € R # ©gš™™™™™É?© r9   r!   r   Ú<lambda>ÚoTestIBMModel.test_best_model2_alignment.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>.   ó   € ÑPSr!   r   r9   r!   r   r:   Ú]TestIBMModel.test_best_model2_alignment.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>.   ó	   € ¼KÉÔ<Tr!   r   r9   r!   r   r:   ÚKTestIBMModel.test_best_model2_alignment.<locals>.<lambda>.<locals>.<lambda>.   ó
   € ¬Ñ4TÔ(Ur!   r   r9   r!   r   r:   Ú9TestIBMModel.test_best_model2_alignment.<locals>.<lambda>.   ó
   € ”KÑ UÔVr!   ºr#   NN)r#   é   é   ©r   r   Ú _TestIBMModel__TEST_TRG_SENTENCEÚ _TestIBMModel__TEST_SRC_SENTENCEr   r   Útranslation_tableÚalignment_tableÚbest_model2_alignmentr   Ú	alignmentÚcepts©r   Úsentence_pairrI   rJ   r   Úa_infos   &     r   Útest_best_model2_alignmentÚ'TestIBMModel.test_best_model2_alignment"   sð   € ä#Ü×,Ñ,¬l×.NÑ.Nó
ˆð
 �$˜˜V T¨6°4¸À4ÈÈqÐQØ�T˜4 ¨¨f°d¸HÀdÈDÐRVÐWØ�D˜!˜V T¨6°1°hÀÀdÈAÐNð
Ðô
 &ÙVó
ˆô ˜R“Lˆ	Ø&7Ô#Ø$3Ô!ð ×0Ñ0°Ó?ˆð 	×Ñ˜×)Ñ)¨"Õ-¨yÔ9Ø×Ñ˜Ÿ™¨¨Q¨C°!°°b¸1¸#Ð'>Ö?r!   c                óœ  € \        \        P                  \        P                  4      pR RRRRRRRRR	^ /R
RRRRRRRRR	R/RR^ RRR^ RRR	^ //p\	        R 4      p\        . 4      pW$n        W4n        VP                  V^^4      pV P                  VP                  R,          R4       V P                  VP                  . ^.. . ^^..4       R	# )r'   r(   r)   r*   r+   r,   r-   r.   r/   Nr0   r1   r2   r3   c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € R # r8   r9   r9   r!   r   r:   Ú�TestIBMModel.test_best_model2_alignment_does_not_change_pegged_alignment.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>G   r<   r!   r   r9   r!   r   r:   Ú~TestIBMModel.test_best_model2_alignment_does_not_change_pegged_alignment.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>G   r>   r!   r   r9   r!   r   r:   ÚlTestIBMModel.test_best_model2_alignment_does_not_change_pegged_alignment.<locals>.<lambda>.<locals>.<lambda>G   r@   r!   r   r9   r!   r   r:   ÚZTestIBMModel.test_best_model2_alignment_does_not_change_pegged_alignment.<locals>.<lambda>G   rB   r!   rC   )r#   rE   rE   rF   rN   s   &     r   Ú;test_best_model2_alignment_does_not_change_pegged_alignmentÚHTestIBMModel.test_best_model2_alignment_does_not_change_pegged_alignment<   sò   € ä#Ü×,Ñ,¬l×.NÑ.Nó
ˆð �$˜˜V T¨6°4¸À4ÈÈqÐQØ�T˜4 ¨¨f°d¸HÀdÈDÐRVÐWØ�D˜!˜V T¨6°1°hÀÀdÈAÐNð
Ðô
 &ÙVó
ˆô ˜R“Lˆ	Ø&7Ô#Ø$3Ô!ð ×0Ñ0°ÀÀ1ÓEˆà×Ñ˜×)Ñ)¨"Õ-¨yÔ9Ø×Ñ˜Ÿ™¨¨Q¨C°°R¸!¸Q¸Ð'@ÖAr!   c                ó¶  € \        . RO\        P                  4      pR RRRRR	R
RRR^ /RR^ R^ R	RRRRR/RR^ R^ R	RR^ RR/RRRRRR	RRRRR/RR^ RRR	^ RRR^ //p\        R 4      p\	        . 4      pW$n        W4n        VP                  V4      pV P                  VP                  R,          R4       V P                  VP                  ^.^.^.^^.^..4       R# )r'   ÚreallyÚ,r0   r2   r(   r)   r*   r+   r,   r-   r.   r/   Nr1   g
×£p=
·?g333333Ó?çffffffæ?r3   c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € \        R  4      # )c                  ó   € R # r8   r9   r9   r!   r   r:   Ú…TestIBMModel.test_best_model2_alignment_handles_fertile_words.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>c   r<   r!   r   r9   r!   r   r:   ÚsTestIBMModel.test_best_model2_alignment_handles_fertile_words.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>c   r>   r!   r   r9   r!   r   r:   ÚaTestIBMModel.test_best_model2_alignment_handles_fertile_words.<locals>.<lambda>.<locals>.<lambda>c   r@   r!   r   r9   r!   r   r:   ÚOTestIBMModel.test_best_model2_alignment_handles_fertile_words.<locals>.<lambda>c   rB   r!   rC   )r'   r_   r`   r_   r0   r2   )r#   é   é    rj   rD   rE   )r   r   rH   r   r   rI   rJ   rK   r   rL   rM   rN   s   &     r   Ú0test_best_model2_alignment_handles_fertile_wordsÚ=TestIBMModel.test_best_model2_alignment_handles_fertile_wordsT   s&  € ä#Ú9Ü×,Ñ,ó
ˆð �$˜˜V T¨6°4¸À4ÈÈqÐQØ�t˜Q ¨¨6°3¸À$ÈÈdÐSØ�$˜˜6 1 f¨c°8¸QÀÀcÐJØ�T˜4 ¨¨f°d¸HÀdÈDÐRVÐWØ�D˜!˜V T¨6°1°hÀÀdÈAÐNð
Ðô &ÙVó
ˆô ˜R“Lˆ	Ø&7Ô#Ø$3Ô!ð ×0Ñ0°Ó?ˆð 	×Ñ˜×)Ñ)¨"Õ-Ð/AÔBØ×Ñ˜Ÿ™¨¨¨a¨S°1°#¸¸1°vÀ¸sÐ'CÖDr!   c                óö   € \        \        P                  . 4      p\        . 4      pVP	                  V4      pV P                  VP                  R ,          R4       V P                  VP                  . RO.4       R# )rC   N)rk   rk   rk   )r#   rD   rj   )r   r   rG   r   rK   r   rL   rM   ©r   rO   r   rP   s   &   r   Ú5test_best_model2_alignment_handles_empty_src_sentenceÚBTestIBMModel.test_best_model2_alignment_handles_empty_src_sentenceq   sb   € ä#¤L×$DÑ$DÀbÓIˆÜ˜R“Lˆ	ð ×0Ñ0°Ó?ˆð 	×Ñ˜×)Ñ)¨"Õ-¨yÔ9Ø×Ñ˜Ÿ™ª	 {Ö3r!   c                óú   € \        . \        P                  4      p\        . 4      pVP	                  V4      pV P                  VP                  R ,          R4       V P                  VP                  . . . . . .4       R# )rC   Nr9   )r   r   rH   r   rK   r   rL   rM   ro   s   &   r   Ú5test_best_model2_alignment_handles_empty_trg_sentenceÚBTestIBMModel.test_best_model2_alignment_handles_empty_trg_sentence}   sk   € ä# B¬×(HÑ(HÓIˆÜ˜R“Lˆ	ð ×0Ñ0°Ó?ˆð 	×Ñ˜×)Ñ)¨"Õ-¨rÔ2Ø×Ñ˜Ÿ™¨¨B°°B¸Ð';Ö<r!   c           	     óì   € \        RRR. . ^.^..4      p\        . 4      pVP                  V4      p\        4       pV F  pVP	                  VP
                  4       K   	  0 RmpV P                  WF4       R# )rk   N©rk   rj   rD   ©NÚdesu   Å“ufsÚverts©ÚUNUSEDÚgreenÚeggs>   ©rk   rk   rD   ©rk   r#   rD   ©rk   rD   rD   ©rk   rD   rj   ©rk   rj   rk   ©rk   rj   rj   ©rk   rj   r#   rv   ©r   r   ÚneighboringÚsetÚaddrL   r   ©r   rP   r   Ú	neighborsÚneighbor_alignmentsÚneighborÚexpected_alignmentss   &      r   Ú*test_neighboring_finds_neighbor_alignmentsÚ7TestIBMModel.test_neighboring_finds_neighbor_alignments‰   sƒ   € äØØ+Ø'Ø��a�S˜1˜#Ðó	
ˆô ˜R“Lˆ	ð ×)Ñ)¨&Ó1ˆ	ô "›eÐÛ!ˆHØ×#Ñ# H×$6Ñ$6Ö7ñ "ò
Ðð 	×ÑÐ,ÖBr!   c           	     óT  € \        RRR. . ^.^..4      p\        . 4      pVP                  V4      pV F-  pVP                  R8X  d   TpK  VP                  R8X  g   K+  TpK/  	  V P	                  XP
                  . . ^^.. .4       V P	                  XP
                  . . ^.^..4       R# )rk   Nrv   rw   rz   r€   )r   r   r†   rL   r   rM   )r   rP   r   rŠ   rŒ   Úmoved_alignmentÚswapped_alignments   &      r   Ú-test_neighboring_sets_neighbor_alignment_infoÚ:TestIBMModel.test_neighboring_sets_neighbor_alignment_info©   s¾   € äØØ+Ø'Ø��a�S˜1˜#Ðó	
ˆô ˜R“Lˆ	ð ×)Ñ)¨&Ó1ˆ	ó "ˆHØ×!Ñ! YÔ.Ø"*’Ø×#Ñ# yÖ0Ø$,Ò!ñ	 "ð 	×Ñ˜×.Ñ.°°R¸!¸Q¸ÀÐ0DÔEØ×ÑÐ*×0Ñ0°2°r¸A¸3ÀÀÐ2DÖEr!   c           	     óî   € \        RRR. . ^.^..4      p\        . 4      pVP                  V^4      p\        4       pV F  pVP	                  VP
                  4       K   	  0 RmpV P                  WF4       R# )rk   Nrv   rw   rz   >   r~   r   r€   rv   r…   r‰   s   &      r   Ú8test_neighboring_returns_neighbors_with_pegged_alignmentÚETestIBMModel.test_neighboring_returns_neighbors_with_pegged_alignmentÀ   s…   € äØØ+Ø'Ø��a�S˜1˜#Ðó	
ˆô ˜R“Lˆ	ð ×)Ñ)¨&°!Ó4ˆ	ô "›eÐÛ!ˆHØ×#Ñ# H×$6Ñ$6Ö7ñ "ò
Ðð 	×ÑÐ,ÖBr!   c                ó¶   € \        RRRR4      pR pR p\        . 4      pW$n        W4n        VP	                  V4      pV P                  VP                  R4       R# )rk   Nc                 óÊ   € V P                   R8X  d   \        RRRR4      \        RRRR4      0# V P                   R8X  d   \        RRRR4      \        RRRR4      0# \        4       # )rk   Nrv   r€   ©rk   r#   r#   rƒ   ©rk   rE   rE   )rL   r   r‡   )ÚaÚjs   &&r   Úneighboring_mockÚ5TestIBMModel.test_hillclimb.<locals>.neighboring_mockà   sq   € Ø�{‰{˜iÔ'ä! )¨T°4¸Ó>Ü! )¨T°4¸Ó>ðð ð —‘ 	Ô)ä! )¨T°4¸Ó>Ü! )¨T°4¸Ó>ðð ô “5ˆLr!   c           
      óR   € RRRRRRR	RR
R/pVP                  V P                  R4      # )rk   g      à?g333333ã?gš™™™™™Ù?ra   r1   rv   r€   rš   rƒ   r›   )ÚgetrL   )rœ   Úprob_valuess   & r   Úprob_t_a_given_s_mockÚ:TestIBMModel.test_hillclimb.<locals>.prob_t_a_given_s_mockí   s9   € à˜3Ø˜3Ø˜3Ø˜3Ø˜3ðˆKð —?‘? 1§;¡;°Ó5Ð5r!   rv   r›   )r   r   r†   Úprob_t_a_given_sÚ	hillclimbr   rL   )r   Úinitial_alignmentrž   r£   r   Úbest_alignments   &     r   Útest_hillclimbÚTestIBMModel.test_hillclimbÜ   s_   € ä)¨)°T¸4ÀÓFÐò	ò	6ô ˜R“Lˆ	Ø 0ÔØ%:Ô"ð #×,Ñ,Ð->Ó?ˆð 	×Ñ˜×1Ñ1°9Ö=r!   c                óØ   € \        \        P                  \        P                  4      p\	        . 4      pR  Vn        VP                  V4      w  r4V P                  \        V4      ^=4       R# )c                 ó   € R # )gü©ñÒMbP?r9   )Úxs   &r   r:   Ú*TestIBMModel.test_sample.<locals>.<lambda>  s   € ©ur!   N)	r   r   rG   rH   r   r¥   Úsampler   r   )r   rO   r   Úsamplesr¨   s   &    r   Útest_sampleÚTestIBMModel.test_sample  s[   € ä#Ü×,Ñ,¬l×.NÑ.Nó
ˆô ˜R“Lˆ	Ù%4ˆ	Ô"ð #,×"2Ñ"2°=Ó"AÑˆð 	×Ñœ˜W› rÖ*r!   r9   N)r(   r*   r,   r.   )r'   r0   r2   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rH   rG   r   r$   rQ   r\   rl   rp   rs   rŽ   r“   r–   r©   r±   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sZ   ø‡ € Ú:ÐÚ.Ðò	6ò6ò@ò4Bò0Eò:
4ò
=òCò@Fò.Cò8#>÷J+ð +r!   r   )Ú__doc__ÚunittestÚcollectionsr   Únltk.translater   r   Únltk.translate.ibm_modelr   ÚTestCaser   r9   r!   r   Ú<module>rÀ      s,   ðñó Ý #ç 0Ý 2ôA+�8×$Ñ$ö A+r!   