o
    i                     @   st   d dl mZmZmZ ddlmZ ddlmZmZ ddl	m
Z
mZ dee
ef deeeeef  fdd	Zd	eiZd
S )    )IteratorTupleUnion   )Errors)NOUNPROPN)DocSpandoclikereturnc                 #   sZ   g d}| j   dsttj fdd|D } jjd}d}t| D ]\}}|j	t
tfvr4q(|jj|kr;q(|j|v r|jj}|jjd }|jjdksV|jjd	kr\|jjd }|jj}|jd }	|	|jjk r |	 }
|
jd
kr|
jj}|
jjd }n|
jdkr|
jjd }|
jjd }|	d7 }	|	|jjk sk|jjd	kr|d }|||fV  q(dS )zHDetect base noun phrases from a dependency parse. Works on Doc and Span.)	nsubjz
nsubj:passobjobliobjROOTapposnmodz	nmod:possDEPc                    s   g | ]} j j| qS  )vocabstrings).0labeldocr   R/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/ca/syntax_iterators.py
<listcomp>   s    znoun_chunks.<locals>.<listcomp>NP   ADPPUNCTVERBr   N)r   has_annotation
ValueErrorr   E029r   r   add	enumerateposr   r   	left_edgeidep
right_edgepos_dep_)r   labelsnp_depsnp_labelprev_endr+   wordleftrightaparaular   r   r   noun_chunks   sF   






r9   N)typingr   r   r   errorsr   symbolsr   r   tokensr	   r
   intr9   SYNTAX_ITERATORSr   r   r   r   <module>   s    ()