B
    ,(äb[  ã               @   sT   d dl mZ ddlmZmZmZmZ dddddd	d
dddddgZdd„ ZdeiZ	dS )é    )Úunicode_literalsé   )ÚNOUNÚPROPNÚPRONÚVERBZnsubjZnmodZdobjZ	nsubjpassZpcompZpobjÚobjZoblZdativeZapposÚattrÚROOTc             #   s  | j ‰ ‡ fdd„tD ƒ}ˆ jj d¡}ˆ jj d¡}tƒ ‰xÈt| ƒD ]¼\}}|jtt	t
fkr^qD|jˆkrjqD|j|krD‡fdd„|jD ƒ}|sŽqDˆ dd„ |jD ƒ¡ ˆ t|jd ƒ¡ |jjtkrêˆ |jj¡ ˆ d	d„ |jjD ƒ¡ |d
 |jd |fV  qDW dS )zW
    Detect base noun phrases from a dependency parse. Works on both Doc and Span.
    c                s   g | ]}ˆ j j |¡‘qS © )ÚvocabÚstringsÚadd)Ú.0Úlabel)Údocr   úM/home/dcms/DCMS/lib/python3.7/site-packages/spacy/lang/ja/syntax_iterators.pyú
<listcomp>   s    znoun_chunks.<locals>.<listcomp>ÚconjZNPc                s   g | ]}|j ˆ kr|j ‘qS r   )Úi)r   Úw)Úseenr   r   r   '   s    c             s   s   | ]}|j V  qd S )N)r   )r   Újr   r   r   ú	<genexpr>,   s    znoun_chunks.<locals>.<genexpr>é   c             s   s   | ]}|j V  qd S )N)r   )r   r   r   r   r   r   4   s    r   N)r   Úlabelsr   r   r   ÚsetÚ	enumerateÚposr   r   r   r   ÚdepZsubtreeÚupdateÚrangeÚheadr   Zrights)r   Znp_depsr   Znp_labelr   ÚwordZunseenr   )r   r   r   Únoun_chunks   s(    

r$   N)
Ú
__future__r   Úsymbolsr   r   r   r   r   r$   ZSYNTAX_ITERATORSr   r   r   r   Ú<module>   s   !