
    gi                         d dl Z d dlZd dlmZ 	 d dlZdad
dZd Zd Z	d Z
d Zd Zed	k(  r e         e        yy# e$ r Y 1w xY w)    N)find_binaryc                 (    t        d| dgdgd      ay )NtadmTADMzhttp://tadm.sf.net)env_varsbinary_namesurl)r   	_tadm_bin)bins    G/var/www/openai/venv/lib/python3.12/site-packages/nltk/classify/tadm.pyconfig_tadmr      s    vhfXCWI    c           	      0   |j                         }| D ]  \  }}dt        |      z  }|j                  |       |D ]X  }|j                  ||      }dt	        ||k(        t        |      dj                  d |D              fz  }	|j                  |	       Z  y)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    yw)z%d %dN ).0us     r   	<genexpr>z"write_tadm_file.<locals>.<genexpr>9   s     0a1as   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8AE[()A0a00# D
 LL " (r   c                     g }| D ]*  }|j                  t        |j                                      , t        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/   >   s;     GuTZZ\*+ ;;w$$r   c                 <   t        | t              rt        d      t        
t	                t        g| z   }t        j                  |t        j                        }|j                         \  }}|j                  dk7  r t                t        |       t        d      y)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SZZ0A}}VV 	||qf,-- r   c                  @    ddl m}  ddlm}  || j                        }y )Nr   )TadmMaxentClassifier)
names_demo)nltk.classify.maxentrB   nltk.classify.utilrC   train)rB   rC   
classifiers      r   rC   rC   _   s    9-0667Jr   c                  :   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}|j                  |      }t	        ||| j
                         t                t        |j                               D ]!  }t        d
|j                  |      |fz         # t                y )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    C !	$c*!	$c*!1	-s3F
 .33F;HFHcjj1	G8??$%kX..q11556 &	Gr   __main__)N)r5   r7   nltk.internalsr   r+   ImportErrorr
   r   r%   r/   r@   rC   rX   __name__r   r   r   <module>r]      sl     
 &	 	D	%.*8$ zOL S  		s   > AA