
    Ngi                         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    N/var/www/html/ai-engine/env/lib/python3.11/site-packages/nltk/classify/tadm.pyconfig_tadmr      s*    vhfXCW  III    c           	      r   |                                 }| D ]\  }}dt          |          z  }|                    |           |D ]p}|                    ||          }dt	          ||k              t          |          d                    d |D                       fz  }	|                    |	           qd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s6{{*[!!!! 	 	K
K88AE[())A00a00000# D
 LL	
 
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 , ,uTZZ\\**++++;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SZ000A}}VV 	|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7JJJr   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    JJJCCCCCC !	$	$c*!	$	$c*!1	-	-s3F
 .33F;;HFHcj111	GGG8??$$%% 7 7kX..q111556666	GGGGGr   __main__)N)r5   r7   nltk.internalsr   r+   ImportErrorr
   r   r%   r/   r@   rC   rX   __name__r   r   r   <module>r]      s        



 & & & & & &	LLLL 	 	 	D	 	     D	% 	% 	%. . .*8 8 8  $ zMOOOJLLLLL s    