
    h,                        S SK r S SKJrJr  SSKJr  S/ SQ4S/ SQ4S	/ S
Q4S/ SQ4S/ SQ4/rS/ SQ4S/ SQ4S	/ SQ4S/ SQ4S/ SQ4/rS/ SQ4S/ SQ4S	/ SQ4S/ SQ4S/ SQ4/rSSS/4SS/4/r	\" SSSSSS SS!9\" S"SSS"S"S#SS!9/r
\" S$S%SS$S$S&SS!9\" S'S%SS'S'S(SS!9\" SSSSSS SS!9\" S"SSS"S"S#SS!9/r\" S$S%SS$S$S&SS!9\" S'S%SS'S'S(SS!9\" S)SSS)S)S*SS!9/rS+SS\
//\\//4/r\ R                  R                  S,5      S- 5       r\ R                  R#                  S.\5      S/ 5       r\ R                  R#                  S0\5      S1 5       r\ R                  R#                  S2\5      S3 5       r\ R                  R+                  S4S59\ R                  R#                  S6\	5      S7 5       5       rS8 r\ R                  R#                  S9\5      S: 5       r\ R                  R#                  S;/ S<Q5      S= 5       r\ R                  R#                  S>\5      S? 5       r\ R                  R#                  S@SASB// SC/SD/4SE/SF/SG/SH/44SI/ / / 4SJ/SK/SL/44/5      SM 5       rSN rg)O    N)DetailedTokenJapanese   )NAUGHTY_STRINGSu   日本語だよ)u   日本u   語u   だ   よu0   東京タワーの近くに住んでいます。)
u   東京u	   タワー   のu   近く   にu   住ん   でu   いu   ます   。u   吾輩は猫である。)u   吾輩u   はu   猫r
   u   あるr   u%   月に代わって、お仕置きよ!)	u   月r	   u	   代わっu   てu   、u   おu	   仕置きr   !u$   すもももももももものうち)u	   すもも   も   ももr   r   r   u   うち)u   名詞-固有名詞-地名-国   名詞-普通名詞-一般	   助動詞   助詞-終助詞)
u!   名詞-固有名詞-地名-一般r      助詞-格助詞    名詞-普通名詞-副詞可能r      動詞-一般   助詞-接続助詞   動詞-非自立可能r      補助記号-句点)u	   代名詞   助詞-係助詞r   r   r   r   )	u#   名詞-普通名詞-助数詞可能r   r   r   u   補助記号-読点u	   接頭辞r   r   r   )r   r   r   r   r   r   r   )PROPNNOUNAUXPART)
r   r   ADPr   r   VERBSCONJr   r   PUNCT)PRONr   r   r   r   r    )	r   r   r   r   r    r   r   r   r    )r   r   r   r   r   r   r   u   あれ。これ。u	   あれ。u	   これ。u<   「伝染るんです。」という漫画があります。u   委員r    u	   イイン)surfacetaginflemmanormreading
sub_tokensu   会u   カイu   選挙u    名詞-普通名詞-サ変可能u   センキョu   管理u	   カンリu	   委員会u   イインカイ   選挙管理委員会iU  c                       [        5       n W " S5      nU(       d   eg! [         a    [        R                  " 5          N3f = f)zTest that `nlp` doesn't fail.u   pythonが大好きですN)r   ImportErrorpytestskip)nlpdocs     \/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/lang/ja/test_tokenizer.pytest_issue2901r2   :   s<    j (
)CJ3	  s   
 A A ztext,expected_tokensc                 ^    U " U5       Vs/ s H  o3R                   PM     nnXB:X  d   eg s  snf N)text)ja_tokenizerr5   expected_tokenstokentokenss        r1   test_ja_tokenizerr:   F   s0    &24&89&8Ujj&8F9$$$ :   *ztext,expected_tagsc                 ^    U " U5       Vs/ s H  o3R                   PM     nnXB:X  d   eg s  snf r4   )tag_)r6   r5   expected_tagsr8   tagss        r1   test_ja_tokenizer_tagsr@   L   s0    $0$67$65JJ$6D7    8r;   ztext,expected_posc                 ^    U " U5       Vs/ s H  o3R                   PM     nnXB:X  d   eg s  snf r4   )pos_)r6   r5   expected_posr8   poss        r1   test_ja_tokenizer_posrE   R   s0    #/#5
6#5%::#5C
6 7r;   z+sentence segmentation in tokenizer is buggy)reasonztext,expected_sentsc                 r    U " U5      R                    Vs/ s H  n[        U5      PM     nnXB:X  d   eg s  snf r4   )sentsstr)r6   r5   expected_sentssentrH   s        r1   test_ja_tokenizer_sentsrL   X   s:     $0#5#;#;<#;4SY#;E<""" =s   4c                 >    U " S5      nUS   R                   S:X  d   eg )NzI   like cheese.   z  )orth_)r6   r9   s     r1   test_ja_tokenizer_extra_spacesrP   _   s#    ,-F!9??d"""    r5   c                 8    U " U5      nUR                   U:X  d   eg r4   )text_with_ws)r6   r5   r9   s      r1   !test_ja_tokenizer_naughty_stringsrT   e   s     $F$&&&rQ   ztext,len_a,len_b,len_c))r*      r   rN   )u   客室乗務員r      rN   )u   労働者協同組合rU   r   rN   )u   機能性食品r   rV   rN   c                 d   [         R                  " SSSS0005      n[         R                  " SSSS0005      n[         R                  " SSSS0005      n[        U " U5      5      U:X  d   e[        U" U5      5      U:X  d   e[        U" U5      5      U:X  d   e[        U" U5      5      U:X  d   eg )Nr/   	tokenizer
split_modeABC)r   from_configlen)r6   r5   len_alen_blen_cnlp_anlp_bnlp_cs           r1   test_ja_tokenizer_split_modesre   k   s       %+c7J)K!LME  %+c7J)K!LME  %+c7J)K!LME|D!"e+++uT{u$$$uT{u$$$uT{u$$$rQ   z(text,sub_tokens_list_b,sub_tokens_list_cc                    [         R                  " SSSS0005      n[         R                  " SSSS0005      n[         R                  " SSSS0005      nU " U5      R                  R                  S5      b   eU" U5      R                  R                  S5      b   eU" U5      R                  S   U:X  d   eU" U5      R                  S   U:X  d   eg )Nr/   rX   rY   rZ   r[   r\   r)   )r   r]   	user_dataget)r6   r5   sub_tokens_list_bsub_tokens_list_crb   rc   rd   s          r1   test_ja_tokenizer_sub_tokensrk      s       %+c7J)K!LME  %+c7J)K!LME  %+c7J)K!LME''++L9AAA;  $$\2:::;  .2CCCC;  .2CCCCrQ   ztext,inflections,reading_formsu   取ってつけたu!   五段-ラ行;連用形-促音便u!   下一段-カ行;連用形-一般u   助動詞-タ;終止形-一般u   トッu   テu   ツケu   タz2=3u   ニ_u   サンc                    U " U5      nU Vs/ s H  oUR                   R                  S5      PM     nnU[        U5      :X  d   eU Vs/ s H  oUR                   R                  S5      PM     nnU[        U5      :X  d   eg s  snf s  snf )N
InflectionReading)morphrh   list)r6   r5   inflectionsreading_formsr9   tttest_inflectionstest_readingss           r1   +test_ja_tokenizer_inflections_reading_formsrw      s|    & $F=CDVr\2VDtK00007=>vXX\\),vM>D//// E>s   $B $Bc                     U " S5      n[        U5      S:X  d   eU " S5      n[        U5      S:X  d   eU " S5      n[        U5      S:X  d   eg )Nr"   r    rN   z



 		 


)r^   )r6   r0   s     r1    test_ja_tokenizer_emptyish_textsrz      sQ    
r
Cs8q==
s
Cs8q==
+
,Cs8q==rQ   )r-   spacy.lang.jar   r   tokenizer.test_naughty_stringsr   TOKENIZER_TESTS	TAG_TESTS	POS_TESTSSENTENCE_TESTStokens1tokens2tokens3SUB_TOKEN_TESTSmarkissuer2   parametrizer:   r@   rE   r.   rL   rP   rT   re   rk   rw   rz    rQ   r1   <module>r      s`    1 = 787  :R  S!QR,.wx+-mn yz7  :o  p  "_  `,  /  @+  .h  i	 897  :I  J!OP,.xy+-bc	 K56C  GE  FF  G ((D"T\ck  vA  NR  S%%ArQV]blt  BF  G
 ((JPRZbiq  |J  W[  \((JPRZbiq  |G  TX  Y((D"T\ck  vA  NR  S%%ArQV]blt  BF  G	 ((JPRZbiq  |J  W[  \((JPRZbiq  |G  TX  Y++GRWbit  P  ]a  b tTG95'8J7KL 4  /A% B%
 -y9! :!
 ,i8 9
 FG.?# @ H#
# 1' 2'
 %% C_U
D V
D $ !454512	 Z%8*ug6		
 
Rwz:; 0! 0rQ   