
    i+                        d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d d	lmZ d d
lmZ e j&                  d        Ze j&                  d        Ze j&                  d        Ze j&                  d        Ze j&                  d        Ze j&                  d        Ze j&                  d        Zd Zd Zd Zd Ze j>                  jA                  d      d        Z!e j>                  jA                  d      d        Z"y)    N)Model)registry)ArcEager)DEFAULT_PARSER_MODEL)DEFAULT_TOK2VEC_MODEL)ParserDoc)ExampleVocabc                      t               S Nr        v/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/parser/test_neural_parser.pyvocabr      s	    7Nr   c                 `    t        j                  dgdg      }t        | j                  |      S )NLR)left_labelsright_labels)r   get_actionsstrings)r   actionss     r   	arc_eagerr      s)    ""uC5IGEMM7++r   c                  j    dt         i} t        j                  | d      d   }|j                          |S )NmodelTvalidate)r   r   resolve
initialize)cfgtok2vecs     r   r$   r$      s5    )
*CsT27;GNr   c                 p    dddd}dt         i}t        j                  |d      d   }t        | |fd|i|S )	NF   d   learn_tokensmin_action_frequpdate_with_oracle_cut_sizer   Tr   moves)r   r   r!   r   )r   r   configr#   r   s        r   parserr.   !   sO     '*F
 (
)CS409E%:i:6::r   c                     dt         i}t        j                  |d      d   } |j                  d   || j                         |j                          |S )Nr   Tr   resize_output)r   r   r!   attrsn_movesr"   )r   r$   r   r#   r   s        r   r   r   -   sP    (
)CS409E EKK 	(9(9:	Lr   c                      t        | g d      S )N)abc)wordsr	   )r   s    r   docr8   6   s    uO,,r   c                     g dg ddS )N)   r:   r:   )r   ROOTr   )headsdepsr   )r8   s    r   goldr>   ;   s    (:;;r   c                 <    t        | j                  t              sJ y r   )
isinstancer   r   )r.   s    r   test_can_init_nn_parserrA   @   s    fllE***r   c                     dddd}dt         i}t        j                  |d      d   }t        |f|| j                  d|j
                  | _        | j
                  J y )	NFr   r'   r(   r   Tr   )r   r,   )r   r   r!   r   r,   r   )r.   r   r-   r#   r   s        r   test_build_modelrC   D   sh    '*F
 (
)CS409E%KuFLLKFKQQFL<<###r   c                 V    |j                  |g      d   |_        || _         | |       y )Nr   )predicttensorr   )r.   r$   r   r8   s       r   test_predict_docrG   P   s'    #'*CJFL
3Kr   c                 l    || _         d }t        j                  ||      }| j                  |g|       y )Nc                     |d|z  z  }||fS NMbP?r   )keyweightsgradients      r   optimizez!test_update_doc.<locals>.optimizeY   s    58##  r   sgd)r   r   	from_dictupdate)r.   r   r8   r>   rO   examples         r   test_update_docrU   V   s4    FL! T*G
MM7)M*r   zNo longer supported)reasonc                 (    || _          | |dd       y )N    rK   )
beam_widthbeam_density)r   )r.   r   r8   s      r   test_predict_doc_beamr[   a   s    FL
32E2r   c                 D    || _         dd}| j                  ||f|       y )Nc                     | d|z  z  } y rJ   r   )rM   rN   rL   s      r   rO   z&test_update_doc_beam.<locals>.optimizek   s    58##r   rP   r   )r   update_beam)r.   r   r8   r>   rO   s        r   test_update_doc_beamr_   g   s'    FL$ T{1r   )#pytest	thinc.apir   spacyr   *spacy.pipeline._parser_internals.arc_eagerr   spacy.pipeline.dep_parserr   spacy.pipeline.tok2vecr    spacy.pipeline.transition_parserr   spacy.tokens.docr
   spacy.trainingr   spacy.vocabr   fixturer   r   r$   r.   r   r8   r>   rA   rC   rG   rU   markskipr[   r_   r   r   r   <module>rm      s-      ? : 8 3   "    , ,
   ; ;   - - < <+	$+ ./3 03
 ./2 02r   