§
    'ê[fã  ã                   ó¦   — d dl Z d dlZd dlmZ 	 d dlZn# e$ r Y nw xY wdad
d„Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed	k    r e¦   «           e¦   «          dS dS )é    N)Úfind_binaryc                 ó2   — t          d| dgdgd¬¦  «        ad S )NÚtadmÚTADMzhttp://tadm.sf.net)Úenv_varsÚbinary_namesÚurl)r   Ú	_tadm_bin)Úbins    úF/var/www/piapp/venv/lib/python3.11/site-packages/nltk/classify/tadm.pyÚconfig_tadmr      s*   € åØ�˜v˜h°f°XÐCWðñ ô €I€I€Ió    c           	      ór  — |                      ¦   «         }| D ]Ÿ\  }}dt          |¦  «        z  }|                     |¦  «         |D ]p}|                     ||¦  «        }dt	          ||k    ¦  «        t          |¦  «        d                     d„ |D ¦   «         ¦  «        fz  }	|                     |	¦  «         ŒqŒ dS )aT  
    Generate an input file for ``tadm`` based on the given corpus of
    classified tokens.

    :type train_toks: list(tuple(dict, str))
    :param train_toks: Training data, represented as a list of
        pairs, the first member of which is a feature dictionary,
        and the second of which is a classification label.
    :type encoding: TadmEventMaxentFeatureEncoding
    :param encoding: A feature encoding, used to convert featuresets
        into feature vectors.
    :type stream: stream
    :param stream: The stream to which the ``tadm`` input file should be
        written.
    z%d
z	%d %d %s
Ú c              3   ó    K  — | ]	}d |z  V — Œ
dS )z%d %dN© )Ú.0Úus     r   ú	<genexpr>z"write_tadm_file.<locals>.<genexpr>9   s&   è è € Ð0Ð0¨˜ 1™Ð0Ð0Ð0Ð0Ð0Ð0r   N)ÚlabelsÚlenÚwriteÚencodeÚintÚjoin)
Ú
train_toksÚencodingÚstreamr   Ú
featuresetÚlabelÚlength_lineÚknown_labelÚvÚlines
             r   Úwrite_tadm_filer%      s×   € ð( �_Š_ÑÔ€FØ'ð 
ð 
Ñˆ
�EØ�s 6™{œ{Ñ*ˆØ�Š�[Ñ!Ô!Ð!Ø!ð 	ð 	ˆKØ—’ 
¨KÑ8Ô8ˆAØÝ�E˜[Ò(Ñ)Ô)Ý�A‘”Ø—’Ð0Ð0¨aÐ0Ñ0Ô0Ñ0Ô0ð#ñ ˆDð
 �LŠL˜ÑÔÐÐð	ð
ð 
r   c                 ó¢   — g }| D ]6}|                      t          |                     ¦   «         ¦  «        ¦  «         Œ7t          j        |d¦  «        S )z›
    Given the stdout output generated by ``tadm`` when training a
    model, return a ``numpy`` array containing the corresponding weight
    vector.
    Úd)ÚappendÚfloatÚstripÚnumpyÚarray)Ú	paramfileÚweightsr$   s      r   Úparse_tadm_weightsr/   >   sO   € ð €GØð ,ð ,ˆØ�Š•u˜TŸZšZ™\œ\Ñ*Ô*Ñ+Ô+Ð+Ð+ÝŒ;�w Ñ$Ô$Ð$r   c                 ój  — t          | t          ¦  «        rt          d¦  «        ‚t          €t	          ¦   «          t          g| z   }t          j        |t          j        ¬¦  «        }| 	                    ¦   «         \  }}|j
        dk    r,t          ¦   «          t          |¦  «         t          d¦  «        ‚dS )z<
    Call the ``tadm`` binary with the given arguments.
    z args should be a list of stringsN)Ústdoutr   ztadm command failed!)Ú
isinstanceÚstrÚ	TypeErrorr
   r   Ú
subprocessÚPopenÚsysr1   ÚcommunicateÚ
returncodeÚprintÚOSError)ÚargsÚcmdÚpr1   Ústderrs        r   Ú	call_tadmr@   J   s¥   € õ �$�ÑÔð <ÝÐ:Ñ;Ô;Ð;ÝÐÝ‰Œˆõ ˆ+˜Ñ
€CÝÔ˜¥S¤ZÐ0Ñ0Ô0€AØ—}’}‘”Ñ€VˆVð 	„|�qÒÐÝ‰ŒˆÝˆf‰ŒˆÝÐ,Ñ-Ô-Ð-ð Ðr   c                  ó>   — ddl m}  ddlm}  || j        ¦  «        }d S )Nr   )ÚTadmMaxentClassifier)Ú
names_demo)Únltk.classify.maxentrB   Únltk.classify.utilrC   Útrain)rB   rC   Ú
classifiers      r   rC   rC   _   s=   € Ø9Ð9Ð9Ð9Ð9Ð9Ø-Ð-Ð-Ð-Ð-Ð-à�Ð0Ô6Ñ7Ô7€J€J€Jr   c                  ón  — dd l } ddlm} ddddœdfddddœdfddddd	œdfg}|                     |¦  «        }t	          ||| j        ¦  «         t          ¦   «          t          |                     ¦   «         ¦  «        D ])}t          d
| 	                    |¦  «        |fz  ¦  «         Œ*t          ¦   «          d S )Nr   )ÚTadmEventMaxentFeatureEncodingé   )Úf0Úf1Úf3ÚA)rK   Úf2Úf4ÚBé   )rK   rO   rM   rP   z	%s --> %d)
r7   rD   rI   rF   r%   r1   r:   ÚrangeÚlengthÚdescribe)r7   rI   Útokensr   Úis        r   Úencoding_demorX   f   sç   € Ø€J€J€JàCÐCÐCÐCÐCÐCð ˜ !Ð	$Ð	$ cÐ*Ø˜ !Ð	$Ð	$ cÐ*Ø˜ !¨1Ð	-Ð	-¨sÐ3ð€Fð
 .×3Ò3°FÑ;Ô;€HÝ�F˜H c¤jÑ1Ô1Ð1Ý	�G„G€GÝ�8—?’?Ñ$Ô$Ñ%Ô%ð 7ð 7ˆÝˆk˜X×.Ò.¨qÑ1Ô1°1Ð5Ñ5Ñ6Ô6Ð6Ð6Ý	�G„G€G€G€Gr   Ú__main__)N)r5   r7   Únltk.internalsr   r+   ÚImportErrorr
   r   r%   r/   r@   rC   rX   Ú__name__r   r   r   ú<module>r]      sô   ðð Ð Ð Ð Ø 
€
€
€
à &Ð &Ð &Ð &Ð &Ð &ð	Ø€L€L€L€LøØð 	ð 	ð 	Ø€Dð	øøøð €	ðð ð ð ðð ð ðD	%ð 	%ð 	%ð.ð .ð .ð*8ð 8ð 8ðð ð ð$ ˆzÒÐØ€M�O„O€OØ€J�L„L€L€L€Lð Ðs   � •œ