o
    h                     @   sD   d dl mZ d dlmZ d dlm  m  mZ G dd deZ	dS )    )Counter)	BaseVocabNc                   @   s   e Zd Zdd Zdd ZdS )Vocabc                    sf   | j }ddd |D }t| tjttt   fdddd | _dd	 t	| jD | _
d S )
N c                 S   s   g | ]\}}|| qS  r   ).0srctgtr   r   R/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/models/mwt/vocab.py
<listcomp>	   s    z%Vocab.build_vocab.<locals>.<listcomp>c                    s    |  S Nr   )kcounterr   r
   <lambda>   s    z#Vocab.build_vocab.<locals>.<lambda>T)keyreversec                 S   s   i | ]\}}||qS r   r   )r   iwr   r   r
   
<dictcomp>   s    z%Vocab.build_vocab.<locals>.<dictcomp>)datajoinr   constantVOCAB_PREFIXlistsortedkeys_id2unit	enumerate_unit2id)selfpairsallcharsr   r   r
   build_vocab   s
   *zVocab.build_vocabc                 C   s.   || j v rd S t| j| j |< | j| d S r   )r   lenr   append)r    unitr   r   r
   add_unit   s   
zVocab.add_unitN)__name__
__module____qualname__r#   r'   r   r   r   r
   r      s    r   )
collectionsr   stanza.models.common.vocabr   %stanza.models.common.seq2seq_constantmodelscommonseq2seq_constantr   r   r   r   r   r
   <module>   s    