B
    .(bX                 @   s0   d dl mZ d dlZd dlmZmZ dd ZdS )    )unicode_literalsN)	minibatchcompoundingc           
      s,  ddg} dddg}dddg}t  }x$|D ] | fdd| D  q(W t t|dd	 |D }td
}|jdddddd}x| D ]}|| qW |j|dd |dd	 |j	D f |
 }xVtdD ]J}	i }
t|tdddd}x,|D ]$}t| \}}|j|||d|
d qW qW W dQ R X dS )zZ Test whether adding n-grams in the textcat works even when n > token length of some docs Z	offensiveZinoffensivezThis is an offensive textz!This is the second offensive textZinoffc                s   i | ]}| k|qS  r   ).0label)train_instancer   T/home/dcms/DCMS/lib/python3.7/site-packages/spacy/tests/regression/test_issue3611.py
<dictcomp>   s    z"test_issue3611.<locals>.<dictcomp>c             S   s   g | ]}d |iqS )catsr   )r   r   r   r   r	   
<listcomp>   s    z"test_issue3611.<locals>.<listcomp>entextcatTZbow   )Zexclusive_classesarchitectureZ
ngram_size)config)lastc             S   s   g | ]}|d kr|qS )r   r   )r   pr   r   r	   r   %   s       g      @g      @@gjt?)sizeg?)ZdocsZgoldsZsgdZdroplossesN)listappendzipspacyZblankZcreate_pipeZ	add_labelZadd_pipeZdisable_pipesZ
pipe_namesZbegin_trainingranger   r   update)Zunique_classesZx_trainZy_trainZpos_catsZ
train_dataZnlpr   r   Z	optimizerir   ZbatchesbatchZtextsannotationsr   )r   r	   test_issue3611   s:    




r    )
__future__r   r   Z
spacy.utilr   r   r    r   r   r   r	   <module>   s   