
    i                         d dl mZ d dlZd dlZd dlmZ ddgg dg dg dg d	d
didfddgg dg dg dg d	d
didfddgg dg dg dg dddidfddgg dg dg dg dddddfddd gg d!g d"g d#g d$ddidfgZd%dgd&d'gd(d)gd d gd*d+gd,didfd-d.gg dg d/g d0g d1ddddfd2d3d4gg d5g d6g dg d7ddidfgZd8 Zd9 Z	d: Z
d; Zd<ed=ed>efd?Zej                  j!                  d<g d@      dA        Zy)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                 T    |D ]#  \  }}|d   D ]  }| j                  |d           % y )Nr   r7   	add_label)nerdata_annotationsents        s/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/training/test_rehearse.py_add_ner_labelrF      s9     ";z* 	"CMM#a&!	""    c                 N    |D ]   \  }}|d   D ]  }| j                  |        " y )Nr   r>   )taggerrA   rB   rC   tags        rE   _add_tagger_labelrK      7     ";v& 	"CS!	""rG   c                 N    |D ]   \  }}|d   D ]  }| j                  |        " y )Nr   r>   )parserrA   rB   rC   deps        rE   _add_parser_labelrP      rL   rG   c                 N    |D ]   \  }}|d   D ]  }| j                  |        " y )Nr   r>   )textcatrA   rB   rC   cats        rE   _add_textcat_labelrT      s7     #;v& 	#Cc"	##rG   	componentrA   rehearsec                    | j                  |      }|dk(  rt        ||       n<|dk(  rt        ||       n*|dk(  rt        ||       n|dk(  rt	        ||       nt
        |r| j                         }n| j                         }t        d      D ]^  }|D ]W  \  }}| j                  |      }	t        j                  |	|      }
|r| j                  |
g|       D| j                  |
g|       Y ` | S )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tT"	h	$%	h	$%	*	*4&!!'')	NN$	1X 5 $ 	5D*,,t$C''Z8GgYI6

G9)
4	55 JrG   )r@   rI   rN   rX   c                     t        j                  d      }|j                  |        t        || t        d      }t        || t
        d       y )NenFT)spacyblankadd_piperi   
TRAIN_DATAREHEARSE_DATA)rU   rb   s     rE   test_rehearserq      s:    
++d
CLL
CJ
6Cc9mT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   