
    /hi                         S SK r S SKrS SKJr   S SKrSqS
S jrS rS r	S r
S rS r\S	:X  a  \" 5         \" 5         gg! \ a     N4f = f)    N)find_binaryc                 "    [        SU S/S/SS9qg )NtadmTADMzhttp://tadm.sf.net)env_varsbinary_namesurl)r   	_tadm_bin)bins    J/var/www/auris/envauris/lib/python3.13/site-packages/nltk/classify/tadm.pyconfig_tadmr      s    vhfXCWI    c           	      2   UR                  5       nU  H  u  pES[        U5      -  nUR                  U5        U HW  nUR                  XG5      nS[	        XW:H  5      [        U5      SR                  S U 5       5      4-  n	UR                  U	5        MY     M     g)a   
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   ,   #    U  H
  nS U-  v   M     g7f)z%d %dN ).0us     r   	<genexpr>"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'
s6{*[!!K
8AE()A0a00# D
 LL " (r   c                     / nU  H+  nUR                  [        UR                  5       5      5        M-     [        R                  " US5      $ )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_weightsr0   >   s;     GuTZZ\*+ ;;w$$r   c                 D   [        U [        5      (       a  [        S5      e[        c
  [	        5         [        /U -   n[
        R                  " U[        R                  S9nUR                  5       u  p4UR                  S:w  a   [        5         [        U5        [        S5      eg)z4
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sysr2   communicate
returncodeprintOSError)argscmdpr2   stderrs        r   	call_tadmrA   J   s     $:;; +
CSZZ0A}}V 	||qf,-- r   c                  @    SSK Jn   SSKJn  U" U R                  5      ng )Nr   )TadmMaxentClassifier)
names_demo)nltk.classify.maxentrC   nltk.classify.utilrD   train)rC   rD   
classifiers      r   rD   rD   _   s    9-0667Jr   c                  <   SS K n SSKJn  SSSS.S4SSSS.S4SSSSS	.S4/nUR                  U5      n[	        X#U R
                  5        [        5         [        UR                  5       5       H"  n[        S
UR                  U5      U4-  5        M$     [        5         g )Nr   )TadmEventMaxentFeatureEncoding   )f0f1f3A)rL   f2f4B   )rL   rP   rN   rQ   z	%s --> %d)
r8   rE   rJ   rG   r&   r2   r;   rangelengthdescribe)r8   rJ   tokensr   is        r   encoding_demorY   f   s    C !	$c*!	$c*!1	-s3F
 .33F;HFcjj1	G8??$%kX..q11556 &	Gr   __main__)N)r6   r8   nltk.internalsr   r,   ImportErrorr
   r   r&   r0   rA   rD   rY   __name__r   r   r   <module>r^      sl     
 &	 	D	%.*8$ zOL S  		s   A   A	A	