
    h                        S SK Jr  S SKrS SKrS SKJr  SS// SQ/ SQ/ SQ/ S	QS
S0S.4SS// SQ/ SQ/ SQ/ S	QS
S0S.4SS// SQ/ SQ/ SQ/ SQSS0S.4SS// SQ/ SQ/ SQ/ SQSSS.S.4SSS // S!Q/ S"Q/ S#Q/ S$QSS0S.4/rS%S/S&S'/S(S)/S S /S*S+/S,S0S.4S-S.// SQ/ S/Q/ S0Q/ S1QSSS.S.4S2S3S4// S5Q/ S6Q/ SQ/ S7QSS0S.4/rS8 rS9 r	S: r
S; rS<\S=\S>\4S? jr\R                  R!                  S</ S@Q5      SA 5       rg)B    )ListN)ExamplezWho is Kofi Annan?)      PERSON)PRONAUXPROPNr   PUNCT)   r      r   r   )attrROOTcompoundnsubjpunct) 5Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=FinNumber=Singr   PunctType=Periquestiong      ?)entitiestagsheadsdepsmorphscatszWho is Steve Jobs?)r      r   zBob is a nice person.)r   r   r   )r
   r	   DETADJNOUNr   )r   r      r"   r   r   )r   r   detamodr   r   )r   r   zDefinite=Ind|PronType=Art
Degree=Posr   r   	statementzHi Anil, how are you?)r   r   r   )INTJr
   r   ADVr	   r   r   )intjnpadvmodr   advmodr   r   r   )r"   r   r"   r"   r"   r"   r"   )r   r   PunctType=Commr   z Mood=Ind|Tense=Pres|VerbForm=FinCase=Nom|Person=2|PronType=Prsr   )greetingr   )r   r   r   r   r   r   zI like London and Berlin.)r      LOC)r      r0   )r
   VERBr
   CCONJr
   r   )r   r   dobjccconjr   )r   r   r      r7   r   )z*Case=Nom|Number=Sing|Person=1|PronType=PrszTense=Pres|VerbForm=Finr   zConjType=Cmpr   r   zHi Anilr'   r
   r   r*   r   r   r.   zHi Ravish, how you doing?)r   	   r   )r)   r   r   r+   r   advclr   )r   r   r      r:   r   r   )r   zVerbForm=Infr,   r   r-   z$Aspect=Prog|Tense=Pres|VerbForm=Partr   zNatasha bought new forks.)r   r   r   )   r1   UTENSIL)r
   r2   r    r!   r   )r   r   r$   r4   r   )r   zTense=Past|VerbForm=Finr%   zNumber=Plurr   c                 Z    U H%  u  p#US    H  nU R                  US   5        M     M'     g )Nr   r7   	add_label)nerdata_annotationsents        \/home/james-whalen/.local/lib/python3.13/site-packages/spacy/tests/training/test_rehearse.py_add_ner_labelrF      s-    z*CMM#a&! +     c                 T    U H"  u  p#US    H  nU R                  U5        M     M$     g )Nr   r>   )taggerrA   rB   rC   tags        rE   _add_tagger_labelrK      +    v&CS! ' rG   c                 T    U H"  u  p#US    H  nU R                  U5        M     M$     g )Nr   r>   )parserrA   rB   rC   deps        rE   _add_parser_labelrP      rL   rG   c                 T    U H"  u  p#US    H  nU R                  U5        M     M$     g )Nr   r>   )textcatrA   rB   rC   cats        rE   _add_textcat_labelrT      s+    v&Cc" ' rG   	componentrA   rehearsec                    U R                  U5      nUS:X  a  [        XB5        O<US:X  a  [        XB5        O*US:X  a  [        XB5        OUS:X  a  [	        XB5        O[
        eU(       a  U R                  5       nOU R                  5       n[        S5       H`  nU HW  u  pxU R                  U5      n	[        R                  " X5      n
U(       a  U R                  U
/US9  MF  U R                  U
/US9  MY     Mb     U $ )zRun either train or rehearse.r@   rI   rN   textcat_multilabelr:   )sgd)get_piperF   rK   rP   rT   NotImplementedErrorresume_training
initializerangemake_docr   	from_dictrV   update)nlprU   rA   rV   pipe	optimizerrB   text
annotationdocexamples              rE   	_optimizeri      s    <<	"DEt"	h	$%	h	$%	*	*4&!!'')	NN$	1X $D,,t$C''8GgYI6

G9)
4 !%  JrG   )r@   rI   rN   rX   c                     [         R                  " S5      nUR                  U 5        [        X[        S5      n[        X[
        S5        g )NenFT)spacyblankadd_piperi   
TRAIN_DATAREHEARSE_DATA)rU   rb   s     rE   test_rehearserq      s6    
++d
CLL
CJ
6CcmT2rG   )typingr   pytestrl   spacy.trainingr   ro   rp   rF   rK   rP   rT   strboolri   markparametrizerq    rG   rE   <module>rz      s      " 	*+=$B  %	
$ 	*+=$B  %	
$ 	 )*C'E !#&	
& 	 )*MU* "%#6	
( 	$'9ID' !#&	
QZ
| 	)*W%Z(V=)%	

 	$)*MR* "%#6	
* 	$)+>?=>$ !#&	
A1h"""#c   < &WX3 Y3rG   