o
    i	                     @   sx   d dl mZmZmZ ddlmZ ddlmZ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PRONPROPN)DocSpandoclikereturnc                 #   s   g d}g d}| j   dsttj fdd|D } fdd|D } jjd} jjd} jjd	} jjd
}d}	t| D ]\}
}|j	t
ttfvrWqJ|jj|	kr^qJ|j|v r|}|jD ]}|j|v rs|j}qh|j	t
kr{|j}qh|jj}|jj	|kr|d7 }|j}	||jd |fV  qJ|j|kr|j}|j|kr|jj|jk r|j}|j|kr|jj|jk s|j|v r|jj}|jj	|kr|d7 }|j}	||jd |fV  qJdS )zv
    Detect base noun phrases from a dependency parse for Haitian Creole.
    Works on both Doc and Span objects.
    )nsubjobjoblnmodapposROOT)compoundflatz	flat:namefixedDEPc                       h | ]	} j j|qS  vocabstringsadd).0labeldocr   R/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/ht/syntax_iterators.py	<setcomp>       znoun_chunks.<locals>.<setcomp>c                    r   r   r   )r   modr    r   r"   r#       r$   conjNPADPCCONJ   N)r!   has_annotation
ValueErrorr   E029r   r   r   	enumerateposr   r	   r   	left_edgeideprights
right_edgehead)r   labelspost_modifiersnp_depsnp_mods
conj_labelnp_labeladp_poscc_posprev_endr2   word	right_endchild
left_indexr6   r   r    r"   noun_chunks   sX   








rD   N)typingr   r   r   errorsr   symbolsr   r   r	   tokensr
   r   intrD   SYNTAX_ITERATORSr   r   r   r"   <module>   s    (B