o
    rZŽhÓ  ã                   @   sv   d dl Z d dlmZ d dlmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZ d dlmZ G dd„ de jƒZdS )é    N)Úbrown)ÚJSONTaggedDecoderÚJSONTaggedEncoder)
ÚAffixTaggerÚBigramTaggerÚBrillTaggerÚBrillTaggerTrainerÚDefaultTaggerÚNgramTaggerÚPerceptronTaggerÚRegexpTaggerÚTrigramTaggerÚUnigramTagger)Ú
nltkdemo18c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚTestJSONSerializationc                 C   s0   t  ¡ d d… | _tƒ | _tƒ | _tdƒ| _d S )Né#   ÚNN)	r   Ztagged_sentsÚcorpusr   Údecoderr   Úencoderr	   Údefault_tagger)Úself© r   úU/var/www/auris/lib/python3.10/site-packages/nltk/test/unit/test_json_serialization.pyÚsetUp   s   zTestJSONSerialization.setUpc                 C   sF   | j  | j¡}| j |¡}|  t| jƒt|ƒ¡ |  | jj|j¡ d S )N)r   Úencoder   r   ÚdecodeÚassertEqualÚreprZ_tag)r   ÚencodedÚdecodedr   r   r   Útest_default_tagger   s   z)TestJSONSerialization.test_default_taggerc                 C   sh   t dg| jd}| j |¡}| j |¡}|  t|ƒt|ƒ¡ |  t|jƒt|jƒ¡ |  |j	|j	¡ d S )N)z.*r   ©Úbackoff)
r   r   r   r   r   r   r   r   r#   Z_regexps©r   Útaggerr   r    r   r   r   Útest_regexp_tagger"   s   z(TestJSONSerialization.test_regexp_taggerc                 C   sˆ   t | j| jd}| j |¡}| j |¡}|  t|ƒt|ƒ¡ |  t|j	ƒt|j	ƒ¡ |  |j
|j
¡ |  |j|j¡ |  |j|j¡ d S )Nr"   )r   r   r   r   r   r   r   r   r   r#   Z_affix_lengthZ_min_word_lengthZ_context_to_tagr$   r   r   r   Útest_affix_tagger,   s   z'TestJSONSerialization.test_affix_taggerc                 C   sÒ   t | j| jd}t| j|d}t| j|d}td| j|d}| j |¡}| j 	|¡}|  
t|ƒt|ƒ¡ |  
t|ƒt|jƒ¡ |  
t|ƒt|jjƒ¡ |  
t|ƒt|jjjƒ¡ |  
t| jƒt|jjjjƒ¡ d S )Nr"   é   )r   r   r   r   r   r
   r   r   r   r   r   r   r#   )r   Z	unitaggerZbitaggerZ	tritaggerZntaggerr   r    r   r   r   Útest_ngram_taggers8   s   ÿz(TestJSONSerialization.test_ngram_taggersc                 C   sf   t dd}| | j¡ | j |¡}| j |¡}|  |jj	|jj	¡ |  |j
|j
¡ |  |j|j¡ d S )NF)Úload)r   Útrainr   r   r   r   r   r   ÚmodelÚweightsZtagdictÚclassesr$   r   r   r   Útest_perceptron_taggerI   s   
z,TestJSONSerialization.test_perceptron_taggerc                 C   sv   t | jtƒ dd}|j| jdd}| j |¡}| j |¡}|  	t
|jƒt
|jƒ¡ |  	|j|j¡ |  	|j|j¡ d S )NT)Zdeterministicé   )Z	max_rules)r   r   r   r+   r   r   r   r   r   r   r   Z_initial_taggerZ_rulesZ_training_stats)r   Ztrainerr%   r   r    r   r   r   Útest_brill_taggerT   s   
ÿz'TestJSONSerialization.test_brill_taggerN)
Ú__name__Ú
__module__Ú__qualname__r   r!   r&   r'   r)   r/   r1   r   r   r   r   r      s    
r   )ZunittestZnltk.corpusr   Znltk.jsontagsr   r   Znltk.tagr   r   r   r   r	   r
   r   r   r   r   Znltk.tag.brillr   ZTestCaser   r   r   r   r   Ú<module>   s    0