o
    rZh                     @   sH   d dl T d dlT d dlmZ d dlT G dd deZG dd deZdS )    )*DependencyGraphc                   @   sZ   e Zd Zde edddefddZddd	Zdd
dZdddZ	dddZ
dddZdS )DependencyCorpusReaderutf8
T)Zgapsc                 C   s   t | ||| d S N)SyntaxCorpusReader__init__)selfrootfileidsencodingZword_tokenizerZsent_tokenizerZpara_block_reader r   L/var/www/auris/lib/python3.10/site-packages/nltk/corpus/reader/dependency.pyr
      s   	zDependencyCorpusReader.__init__Nc                 C      t dd | j|ddD S )Nc              	   S   s"   g | ]\}}t |d d d |dqS )Fr   DependencyCorpusView.0Zfileidencr   r   r   
<listcomp>        z0DependencyCorpusReader.words.<locals>.<listcomp>TZinclude_encodingconcatZabspathsr   r   r   r   r   words   
   zDependencyCorpusReader.wordsc                 C   r   )Nc              	   S   "   g | ]\}}t |d dd|dqS TFr   r   r   r   r   r   r   (   r   z7DependencyCorpusReader.tagged_words.<locals>.<listcomp>Tr   r   r   r   r   r   tagged_words&   r   z#DependencyCorpusReader.tagged_wordsc                 C   r   )Nc              	   S   s"   g | ]\}}t |d dd |dqS FTr   r   r   r   r   r   r   0   r   z0DependencyCorpusReader.sents.<locals>.<listcomp>Tr   r   r   r   r   r   sents.   r   zDependencyCorpusReader.sentsc                 C   r   )Nc              	   S   s"   g | ]\}}t |d d d|dqS r!   r   r   r   r   r   r   8   r   z7DependencyCorpusReader.tagged_sents.<locals>.<listcomp>Tr   r   r   r   r   r   tagged_sents6   r   z#DependencyCorpusReader.tagged_sentsc                 C   s*   t dd | j|ddD }dd |D S )Nc              	   S   r    r#   r   r   r   r   r   r   @   r   z7DependencyCorpusReader.parsed_sents.<locals>.<listcomp>Tr   c                 S   s   g | ]}t |qS r   r   )r   sentr   r   r   r   E       r   )r   r   r$   r   r   r   parsed_sents>   s   z#DependencyCorpusReader.parsed_sentsr   )__name__
__module____qualname__ZTabTokenizerZRegexpTokenizerread_blankline_blockr
   r   r"   r$   r%   r(   r   r   r   r   r      s    





r   c                   @   s&   e Zd ZdZ		dddZdd ZdS )	r   z-DOCSTART- -DOCSTART- O
Nr   c                 C   s,   || _ || _|| _|| _tj| ||d d S )Nr   )_tagged_dependencies_group_by_sentZ_chunk_typesStreamBackedCorpusViewr
   )r   Zcorpus_fileZtaggedZgroup_by_sentdependenciesZchunk_typesr   r   r   r   r
   K   s
   	zDependencyCorpusView.__init__c                 C   s   t |d  }|| jr|t| jd   }| js\dd |dD }t|d dks6t|d dkr>dd |D }nt|d dkrNd	d |D }ntd
| j	s\dd |D }| j
rb|gS t|S )Nr   c                 S   s   g | ]}| d qS )	)splitr   liner   r   r   r   c   s    z3DependencyCorpusView.read_block.<locals>.<listcomp>r         c                 S      g | ]
}|d  |d fqS )r      r   r4   r   r   r   r   e       
   c                 S   r8   )r9   r7   r   r4   r   r   r   r   g   r:   z3Unexpected number of fields in dependency tree filec                 S   s   g | ]\}}|qS r   r   )r   wordtagr   r   r   r   m   r'   )r,   strip
startswith	_DOCSTARTlenlstripr.   r3   
ValueErrorr-   r/   list)r   streamr&   linesr   r   r   
read_blockZ   s    zDependencyCorpusView.read_block)Nr   )r)   r*   r+   r@   r
   rG   r   r   r   r   r   H   s    
r   N)	Znltk.corpus.reader.apiZnltk.corpus.reader.utilZ
nltk.parser   Znltk.tokenizer	   r   r0   r   r   r   r   r   <module>   s   	8