
    h{                     V    S SK Jr  SSKJr  SSKJr  \4S\S\S\4S jjrS	\S
\4S jr	g)    )Model   )LOWER)registry
ngram_sizeattrreturnc                 ^    [        S[        5      nXR                  S'   XR                  S'   U$ )Nextract_ngramsr   r   )r   forwardattrs)r   r   models      Q/home/james-whalen/.local/lib/python3.13/site-packages/spacy/ml/extract_ngrams.pyr   r      s,    )73E *KKKKL    r   is_trainc                 T   / n/ nU H  nU R                   R                  UR                  U R                  S   /5      5      nU/n[	        SU R                  S   S-   5       H-  nUR                  U R                   R                  X5      5        M/     U R                   R                  R                  U5      n	U R                   R                  R                  U	SS9u  pUR                  U	5        UR                  U
5        M     U R                   R                  U Vs/ s H  oR                  S   PM     snSS	9nU R                   R                  R                  U5      nU R                   R                  U R                   R                  R                  U5      S
S	9nS nX4U4U4$ s  snf )Nr   r   r      T)return_countsr   int32)dtypefc                     / $ )N )dYs    r   backpropforward.<locals>.backprop   s    	r   )opsasarrayto_arrayr   rangeappendngramsxpconcatenateuniqueshape)r   docsr   
batch_keys
batch_valsdocunigramsr"   nkeysvalsarrlengthsr   s                 r   r   r      sd   JJ99$$S\\5;;v3F2G%HIq%++l3a78AMM%))**178 9yy||''/YY\\((T(B
$$  ii D#1 DGTG))*5J""599<<#;#;J#Gs"SJ G,h66 !Es   F%N)
	thinc.apir   r   r   utilr   intr   boolr   r   r   r   <module>r5      s@       16 s # % 75 7$ 7r   