PK h0?bigeneralutils/UniqueList.class17 "# $ %& %' ( ) * $ )+()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/UniqueList;LocalVariableTypeTableLgeneralutils/UniqueList;uniqueitemLjava/lang/Object;i$Ljava/util/Iterator;new_meLjava/util/ArrayList;TE;Ljava/util/ArrayList; Signature0Ljava/util/ArrayList; SourceFileUniqueList.java java/util/ArrayList ,-. /0 12 34 54 6 generalutils/UniqueListiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;contains(Ljava/lang/Object;)Zaddclear!  A*    QYL*M,,N+- +-W*+ M,,N*- W"%.2GP> !G7QI*GQI !PK h0?"k!generalutils/FileOperations.class1t CD CEF G HI J KL MN OPQ R S KT UV UWXY C Z[ \ ] M^_()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/FileOperations;readFile$(Ljava/lang/String;)Ljava/util/List;brLjava/io/BufferedReader;lineLjava/lang/String;exLjava/lang/Exception;fileNamelinesLjava/util/List;LocalVariableTypeTable$Ljava/util/List; Exceptions Signature8(Ljava/lang/String;)Ljava/util/List; writeFile%(Ljava/lang/String;Ljava/util/List;)V9(Ljava/lang/String;Ljava/util/List;)V&(Ljava/lang/String;Ljava/util/List;Z)Vi$Ljava/util/Iterator;bwLjava/io/BufferedWriter;appendZ:(Ljava/lang/String;Ljava/util/List;Z)V SourceFileFileOperations.java  java/util/LinkedListjava/io/BufferedReaderjava/io/FileReader ` a bcd ef g java/lang/Exception 69java/io/BufferedWriterjava/io/FileWriter h i jkl mn opjava/lang/Stringjava/lang/StringBuilder >q rc s`generalutils/FileOperationsjava/lang/Object(Ljava/lang/String;)V(Ljava/io/Reader;)VreadLine()Ljava/lang/String;java/util/Listadd(Ljava/lang/Object;)Zclose(Ljava/lang/String;Z)V(Ljava/io/Writer;)Viterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringwrite! !/*"# $% &'!;YLYY*MN, YN+- W, M,+36 "* $/3!67 9##4()*+7,-;.+3/01 3/23 45 67!u *+ M, "/2 0 1 3#  ,- .+ /01  /23 48 69!UYY*N+:*:-Y-N-NQ ""AB/CJENHQFRGTI#H/*+1:;=<=R,-U.+U/0U>?1 U/23 4@ABPK h0?SxE#E#%generalutils/RuleBasedTokenizer.class1  M    M M M M M M M M M M       M! M" M# M$ M%  M& ' ( ) * + , - . / M0 M1 M2 M3 M4 M5 M6 M7 89 :; :< = M> M? @ A B C 8D E F G H I J K ML MN OPQRS M TU VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~silenceTokenizationArray[Ljava/lang/String;possibleTokenizationArrayboundariesArraypossibleFirstCharArray[Ljava/lang/Character;unlikelyFirstCharArray minLengthI parenAwareZsilenceTokenizationLjava/util/Set; Signature#Ljava/util/Set;possibleTokenizationpossibleFirstChar&Ljava/util/Set;unlikelyFirstChar boundaries()VCodeLineNumberTableLocalVariableTablethis!Lgeneralutils/RuleBasedTokenizer; getSentences'(Ljava/lang/String;)[Ljava/lang/String;textLjava/lang/String;getSentencesList$(Ljava/lang/String;)Ljava/util/List; lastIndex newStringtokenitokens numTokens sentencesLjava/util/List;sentenceBuilderLjava/lang/StringBuilder; parenDepthLocalVariableTypeTable$Ljava/util/List;8(Ljava/lang/String;)Ljava/util/List;ensureBoundary'(Ljava/lang/String;Ljava/lang/String;)ZalphaNumericNextTokenlowercaseStartisNumber boundaryToken nextTokenisBoundaryToken(Ljava/lang/String;)Zboundaryi$Ljava/util/Iterator; isTooShortisSilenceTokentokenLc numNumeric(Ljava/lang/String;)I tokenCharCarr$[Clen$numericCharCountnumAlphaNumericisPossibleBoundaryTokenstartsWithUppercasestartsWithLowercasestartsWithNumberisNumberSansLastlastCharisPossibleSentenceStart firstCharisAbbreviationtokenCharArray isOpenParenisNonAlphaNumericStartremoveNonAlphaNumericChars&(Ljava/lang/String;)Ljava/lang/String;nonAlphaNumericStringBuilderhasNonAlphaNumericChars isCloseParenmain([Ljava/lang/String;)Vargssrbt SourceFileRuleBasedTokenizer.java java/util/HashSet    java/lang/String \s+ java/util/ArrayListjava/lang/StringBuilder                             ) ]}Assuming only one type of charge carrier (e.g. holes) as responsible for the electronic conduction, κe can be calculated using the Wiedemann–Franz–Lorenz relation [15]. generalutils/RuleBasedTokenizer  dr.mr.mrs.ms.md.sp.var.subsp.st.no.fig.drs.acc.al.hb.ii.iii.iv.vi.vii.viii.ix.xi.xii.i.e.vs.jan.feb.mar.apr.jun.jul.aug.sep.oct.nov.dec.deg.dil.eq.et.me.co.corp.inc.m.d.eg.e.g.mixt.sq.resp.ss.jr.u.s.i.q.u.k.e.u.i.r.i.u.m.s.min.max.mm.cm.kg.mg.gm.sec.amp.ml.ul.μl.μg.ug.nm.hg.ext.etc..!?."?"!"java/lang/Characterjava/lang/Objectjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)Vjava/util/ListtoArray(([Ljava/lang/Object;)[Ljava/lang/Object;splitlength()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;isEmpty()Zsizeget(I)Ljava/lang/Object;toString()Ljava/lang/String;concatremoveadd(ILjava/lang/Object;)V(Ljava/lang/Object;)Zdelete(II)Ljava/lang/StringBuilder; java/util/Setiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;endsWith toLowerCasecharAt(I)CisLetterOrDigit(C)Z substring(I)Ljava/lang/String;contains toCharArray()[CisDigit isUpperCase isLowerCase(II)Ljava/lang/String;isLettervalueOf(C)Ljava/lang/Character;(C)Ljava/lang/StringBuilder;(Ljava/lang/CharSequence;)Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/Object;)V!M Z**Y*Y*Y  *Y  *Y /01&273H4Y5 ZF*+8A %+M,>Y:Y:66,2:W**6 *`*,`2 j!"F#<$d6  %&':  (W  )&*W!+W!&*W <= >?@A(B.C6D9FFIUJXLlMoOzP}STUV]^_`aefhA kl"np +  ."%%   a*+, *,-*+.*,/*+0 *+1,*,2N-*--6*-36>xy{|~$&6<CELS]_><#LS aaa,* 4M,5,6N+-7%**  ,,K*+8*+9t*+:M+;<*,=>*,> **%.=+?N-66-46@#&,H % !..,= *+2 B*+:>= +;A = +;B = +;@ )+?M,>6,46@!'> " ))8+ *+3++d;=*++dC3D 88^+;=*E>  4+?M>,(,46p .D* )* +,- ."0*1,*244+44/`+;=([ { => U+;=< HI  E*+F+YM+?N-66-46< ,GW,&"RS UV+W3X:V@[H+)%"EE3)+?M,>6,46<def!d'i> " ))U!+HI+JI +KIr!! aLLMYNMO,+Pvw xy  5YQSYRSYSSYTSYUSYVSYWSYXSYYSY ZSY [SY \SY ]SY ^SY_SY`SYaSYbSYcSYdSYeSYfSYgSYhSYiSYjSYkSYlSYmSYnSYoSYpSY qSY!rSY"sSY#tSY$uSY%vSY&wSY'xSY(ySY)zSY*{SY+|SY,}SY-~SY.SY/SY0SY1SY2SY3SY4SYSYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYS Y"ESY'ESY$ESY(ESY[ESY*ESY{ES Y<ESY>ESY.ESY!ESY%ESY&ESY)ESY=ESY/ESY \ESY |ESY ;ESY :ESY }ESY]ESY?ESY,ES "@? #%PK h0?v!generalutils/GreekToEnglish.class1~  T D  D   D U D T G T T D names[Ljava/lang/String;greekmapLjava/util/HashMap; Signature9Ljava/util/HashMap; greekLettersLjava/util/Set;#Ljava/util/Set;convert&(Ljava/lang/String;)Ljava/lang/String;CodeLineNumberTableLocalVariableTablecCiIthisLgeneralutils/GreekToEnglish;textLjava/lang/String;strbLjava/lang/StringBuffer;init()VisGreek(Ljava/lang/String;)ZtxtcontainGreekLetterkeyi$Ljava/util/Iterator;getGreekLetterIndex(Ljava/lang/String;)I SourceFileGreekToEnglish.javajava/lang/StringBuffer qp YZ  java/lang/String αalpha βbetaγgammaδdeltaΔεepsilonζzetaηetaθthetaιiotaκkappaλlambdaμmuνnuξxiοomicronπpiρrhoσsigmaτtauυupsilonφphiΦχchiψpsiΨΩomegaωjava/util/HashMap ]^java/util/HashSet op WX   zgeneralutils/GreekToEnglishjava/lang/Objectjava/io/Serializablelength()IcharAt(I)CvalueOf(C)Ljava/lang/String; containsKey(Ljava/lang/Object;)Zjava/lang/CharacterisLetter(C)Zappend(C)Ljava/lang/StringBuffer;get&(Ljava/lang/Object;)Ljava/lang/Object;,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List; java/util/SetaddAll(Ljava/util/Collection;)Z toLowerCasecontainskeySet()Ljava/util/Set;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;indexOf!TUV WXYZ[\]^[_`abYM>+s+6*P+d , W,* W`+!+`, W , W, c2 (9@Tku!|%d4cef xghijklmnopbQ*W*W*W*W*W*W*W*W*W* !W*"#W*$%W*&'W*()W**+W*,-W*./W*01W*23W*45W*67W*89W*:9W*;<W*=>W*?>W*@AW*BAWcv) *+$,0-<.H/T0`1l2x3456789:;<=>?@ A,B8CDDPEd Qijqpbv4*C*DYE*F*GYHF*I*FJKLWcHFIJ#K3Ld 4ijrsbU!*F+MN*+cOd!ij!tlusb/*OPM,Q,R N+-ScS T(U-Xd* vl wx/ij/tlyzb3*OPM,Q,R N+-S +-Sc\ ](^1ad* vl $wx3ij3tl{pbu YSYSYSYSY+SY'SY)SY!SYSY SY SY /SY -SY SY9SYASY>SY5SY1SJc|}PK h0?MsKKgeneralutils/TextToVector.class1 >  -  - - - - - - = = -   - =   - -        ' ' '  - - - -  - ' - DEFAULTNGRAMS[IwordsLjava/util/Set; Signature#Ljava/util/Set;wordListLjava/util/List;$Ljava/util/List;texts textVectors7Ljava/util/List;>; useFrequencyZnGrams(Z)VCodeLineNumberTableLocalVariableTablethisLgeneralutils/TextToVector;ng getNGrams()[I setNGrams([I)VaddText(Ljava/lang/String;)VtextLjava/lang/String;convertToVectors()V wordFrequencyLjava/util/Map;iIdocumentNumberdocumentWordFrequencyLocalVariableTypeTable6Ljava/util/Map;ZLjava/util/Map;>;textVectorFromFrequency!(Ljava/util/Map;)Ljava/util/List;wordi$Ljava/util/Iterator; textVector%Ljava/util/List;](Ljava/util/Map;)Ljava/util/List; getTextVector$(Ljava/lang/String;)Ljava/util/List;9(Ljava/lang/String;)Ljava/util/List;getTextFrequencyMap#(Ljava/lang/String;)Ljava/util/Map; textWordsJ(Ljava/lang/String;)Ljava/util/Map;generateWordList()Ljava/util/Map;\()Ljava/util/Map;>;getWordsj wordToAddnGramarr$len$tokens[Ljava/lang/String; wordsList8(Ljava/lang/String;)Ljava/util/List;getTextVectors()Ljava/util/List;9()Ljava/util/List;>; getWordList&()Ljava/util/List;main([Ljava/lang/String;)Vvalvectorargs SourceFileTextToVector.java N_java/util/HashSet ABjava/util/ArrayList EF HF IF KL ?@ M@ xy  java/util/Map ij  java/lang/String tu {rjava/util/HashMapjava/lang/Integer  N  + Njava/lang/StringBuilder  generalutils/TextToVector NO XYbob is benny best friend Z[benny is a boybob likes ice creambob is 10 years old  | [ _ qr java/util/Listjava/lang/Objectadd(Ljava/lang/Object;)Zsize()IvalueOf(I)Ljava/lang/Integer;get&(Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; containsKeyintValueput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; java/util/Set(Ljava/util/Collection;)Vjava/util/Collectionssort(Ljava/util/List;)Vsplit'(Ljava/lang/String;)[Ljava/lang/String;(I)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;trimjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintprintln(I)Ljava/lang/StringBuilder;!->?@ABCDEFCGHFCGIFCJKLM@NOP?**Y*Y*Y*Y * M*, Q&  !%"0#5$9%>&R ?ST?KL9U@VWP/* Q-R STXYP>*+ Q 56RSTM@Z[PD *+ WQ = >R ST \]^_P=*<*M6',N* *- WٱQE FIJ'K6I<MR4'`a*bc=ST 3dc.eaf'`g.ehijPhYM*N-N-:+** ,+ W, W, W,Q"VW&X1Y8ZJ\X_fbR4&=k]TlmhSTh`a`nFfh`g`noCpqrP> **+QkR ST \]CstuPt*+MYN,:U:-"--`W-W* W-Q"uvw,x7yV{c}rR>,Ck]\lmtSTt\]nvFf`afnvGf`gCwxyPWYL=*N-%-:+*W*Y*!*"+Q" (9?NUR4(\]+lmWSTOea Mdcf OehCz{rPV +#$MY,%N* :66e.66  ,`dI&:6  )'Y(),  `2)*)+: -, W -Q2 -<@Jjp|Rp C-|c @B}]0Rbc -U~cq@lcilcST\]yFf yGCP/* QR STCP/*QR STC P-Y.L YOYOM+,/+01+21+31+41+W+5N-+-:6'Y()7)+8Ҳ69+4:N-.-66'Y(;7)+8+<N-V-=:69:/66'Y(;7)+8ͧQJ  &,27UrxRp Uk]A1lmc4lmc6lmEF\lm bT U@f Eo_P#  YO QPK h0?93generalutils/Stemmer.class1 Y X X X   X  X X X X X X\ X X X X X X X X X Xb[CiIi_endjkINC ConstantValue2()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/Stemmer;addWord(Ljava/lang/String;)VwordLjava/lang/String;add(C)Vcnew_bchC([CI)VwwLentoString()Ljava/lang/String;getResultLength()IgetResultBuffer()[Ccons(I)Zmn vowelinstem()Zdoubleccvcends(Ljava/lang/String;)Zslosettorstep1step2step3step4step5step6astem SourceFile Stemmer.java de Z[ \] ^] { opjava/lang/String d ~ _] `] { lsses ieseededing atateblbleizize  eyational ltionaltionencienceancianceizerbliallialentlienteliousliousizationationatoralismivenessivefulnessfulousnessalitiivitibilitilogilogicateicativealizeicitiicalnesserableibleantementmentionouismiti e e e e e egeneralutils/Stemmerjava/lang/ObjectlengthcharAt(I)C([CII)V XYZ[\]^]_]`]a]bcdefM**2**g< =>?h ijklfd=+*+gF GFIh \]ijmnopfF**+*2`M>*,*4U*,**YZ`UgQ RS/T4VEWh*q]r[FijFstouf]*`*1*`2`N6*-*4U*->**YZ`+4Ug`ab7c<e\fh>q]"r[>q]]ij]v[]w]xyf;Y** gmh ijz{f/*grh ij|}f/*gyh ij~f\*4Ta:e:i:o:u:y<*d g~@BZh\ij\\]{fd<=* *  * *  * *  g:",7=@CMX^h dijb]`\]fT<* * g hij\]f\ *4*d4* gh ij _]f@* *d *d *4=wx yg#*>h *s]@ij@\]fC+=* d`>6*`4+** d g7Ah4 \]CijCn>]5]lf5+=* `>6*`+U** ` g *4h4\]5ij5n0] )]lfA * *+gh ij nef** 4sE**Y d /* *** d4s *Y d ** *Y d * **** * *~* *l* *Z** 6*Y d ** 4<ls z *Y ` * **  *gF$6Pm hs]ijefF* *** iUgh ijefj* ** d4at]G*! *"h*#_*$"V*% *&"D*';*("2*))*" ** *"*+ *,"*- *."*/ *"*0*1"*2 *"*3 *"*4*"*5 *,"~*6 *7"l*8 *9"Z*:Q*1"H*; *,"6*< *7"$*=*"*> *?"g^p !"$$6%H&Z(l)~*+-./12h ijef** 4e+ialss*@ *A"l*B *C"Z*DQ*,"H*E?*A"6*F *A"$*9*C"*G *C"g& 648F9X:j<|>?ACh ijef/* ** d4azu;Han{*, *(*&*H*Aر*I*J*K*L*M*.*N)* "** 4so** 4t^*OR*PE*8*Q,*1*7**  ** g^HIJKLMNOPQRTUAWNY[Zg[t\]^_abh ijefh** ** 4e)* <** d *Y d ** 4l ** *  *Y d gghij<lgmh!]hijefp:**d * *R*S*T*U*V*W** `*gu v*w9xh :ijPK h0?dhhgeneralutils/MatrixHelp.class1$ !"#()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/MatrixHelp;addCol([[DI)DiImatrix[[DcolIndexsumDrowSum([D)Dcellarr$[Dlen$i$row addEverything([[D)Dj SourceFileMatrixHelp.java generalutils/MatrixHelpjava/lang/Object!/*   uI6*(*21cI( *  %H*N-66-19'cH'#> %# -H>*$6*2'*21cH' ! %+$* ' -+ PK h0?-2ttgeneralutils/IAA.class1-  !" !# !$%&()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/IAA;calculateKappa([[D)DiImatrix[[D numClassestotalDcorrectsprarowSums[DcolSumsprekappa SourceFileIAA.java ' ( )* +,generalutils/IAAjava/lang/Objectgeneralutils/MatrixHelp addEverythingrowSum([D)DaddCol([[DI)D! /*    q*<*I96*21c9(o9:: 6    * 2R  * R 9 6    1(o  1(okc9  g go9   N   &,16?KV\_h |"# z 9# b   ,e1`6[ _2  PK h0?==,generalutils/DirectoryExistanceEnsurer.class1   ()VCodeLineNumberTableLocalVariableTablethis(Lgeneralutils/DirectoryExistanceEnsurer;ensureDirectoryExists(Ljava/lang/String;)VpathLjava/lang/String; directoryLjava/io/File; SourceFileDirectoryExistanceEnsurer.java  java/io/File  &generalutils/DirectoryExistanceEnsurerjava/lang/Objectmkdirs()Z! /*    KY*L+W    PK h0? QIvvgeneralutils/MysqlUtils.class1    ()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/MysqlUtils;prepareForInsert&(Ljava/lang/String;)Ljava/lang/String;valueLjava/lang/String;prepareForInsertWithHtmlEscape SourceFileMysqlUtils.java    generalutils/MysqlUtilsjava/lang/Object)org/apache/commons/lang/StringEscapeUtils escapeSql escapeHtml! /*    /*    2*  PK h0?T+$generalutils/SentenceTokenizer.class1> & ' () *+, & -./ 0 123()VCodeLineNumberTableLocalVariableTablethis Lgeneralutils/SentenceTokenizer;getSentencesList$(Ljava/lang/String;)Ljava/util/List;textLjava/lang/String; Signature8(Ljava/lang/String;)Ljava/util/List; getSentences'(Ljava/lang/String;)[Ljava/lang/String; emptyArray[Ljava/lang/String;spdLspiaotools/SentParDetector;markedUpSentencessentencesArray SourceFileSentenceTokenizer.java  4 56 78java/lang/Stringspiaotools/SentParDetector 9:  ;< =generalutils/SentenceTokenizerjava/lang/Objectjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;isEmpty()Z markupRawText'(ILjava/lang/String;)Ljava/lang/String; replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;split! /*   2*  /* L+YL+*M,  M, N-"  !"&#-%4 / !"-#$%PK h0? ^'generalutils/SimilarityCalculator.class1q > ?@ ?AB C D ?E FG FH IJ K?ə LM NO P QRST()VCodeLineNumberTableLocalVariableTablethis#Lgeneralutils/SimilarityCalculator;cosineSimilarity#(Ljava/util/List;Ljava/util/List;)DiIvector1Ljava/util/List;vector2 similarityD dotProductLocalVariableTypeTable$Ljava/util/List; SignatureK(Ljava/util/List;Ljava/util/List;)D magnitude(Ljava/util/List;)Dvali$Ljava/util/Iterator;vectortotal'(Ljava/util/List;)Dmain([Ljava/lang/String;)Vargs[Ljava/lang/String;a1[Ljava/lang/Double;a2 SourceFileSimilarityCalculator.java U VW XYjava/lang/Double Z[ -. \]^ _` abc de fgh ijk lm  n op!generalutils/SimilarityCalculatorjava/lang/Objectjava/util/Listsize()Iget(I)Ljava/lang/Object; doubleValue()Diterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;java/lang/Mathsqrt(D)DvalueOf(D)Ljava/lang/Double;java/lang/SystemoutLjava/io/PrintStream;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;java/io/PrintStreamprintln(D)V!/*    ]*+I96*+*+kc9+*koI(& &HN[43!"]#$]%$H&'E(')]#*]%*+, -.0H* N- - 9'kcH' &' (+** /' "0102$.3') 02*+4 568 Y SY SY SY SY SY SY SY SY SY  SY  SY  SY  SL Y SY SY SY SY SY SY SY SY SY  SY  SY  SY  SM+,2r356 78r|9:;:<=PK h0?ÁSSS(generalutils/RecallPrecisionFScore.class1e A5 BC DE F@@7@@J@(@$@4 G HIJ AK L M N OPQRST()VCodeLineNumberTableLocalVariableTablethis$Lgeneralutils/RecallPrecisionFScore;getRecallPrecisionFScore([[D)[[DjI truePositivesDrowSumcolSumrecall precisionfScoreimatrix[[D categoriesretValf1(DD)Dmain([Ljava/lang/String;)Vargs[Ljava/lang/String;rpf SourceFileRecallPrecisionFScore.java !"U .VW XY 89 ()Z [\java/lang/StringBuilderRecall: ]^ ]_ `ab cd Precision:  F-Score: "generalutils/RecallPrecisionFScorejava/lang/Objectgeneralutils/MatrixHelp([D)Djava/lang/DoubleisNaN(D)Zjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V! !"#/*$% &' ()#e*<M>w*219*2996  * 21c9 o9 o9  9  9   9,2 R,2 R,2R,$V  $#%,&7%=+D,K-S.V0^1a3j4q5x68%p &*+ g,- _.-#\/-D;0- K41- j2- y3+456+ }75 89#@ &k(k&(co$<% 0- 1- :;#@L+2R+2R+2R+2 R+2 R+2R+2R+2R+2R+M>,`Y,21Y,21Y,21$F@ABCD'E/F7G=HEIMJRKZLwMNKP%*Tc3+<=45Rf>5?@PK h0?;%$generalutils/MutualInformation.class1e G H I J KL@/@H@a@A' MNO GP Q R S TUVW()VCodeLineNumberTableLocalVariableTablethis Lgeneralutils/MutualInformation;calculateMutualInformation([[D)Dmatrix[[D([[DZ)DjIi failProofZscoreDhSum[DvSumtotalpxypxpyaddArray([D)Ditemarr$len$i$arraysumlog2(D)Dnummain([Ljava/lang/String;)Vargs[Ljava/lang/String; arrayMatrix SourceFileMutualInformation.java  "& 56 =>X Y>Z [\java/lang/StringBuilderMI: ]^ ]_ `ab cdgeneralutils/MutualInformationjava/lang/Objectjava/lang/Mathlog10java/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V!/*  ! "#0* $% "&5 I*:*2:999 9 06*&6*2*2\1cR6**2R6*2.R6*\1*21cR96*I6*27*21919 19 (ok  kokcIƄ(  !"#% &*'6(A'G&M-W.c-i1u2{34318>?@ABC?>G-'(#*)(P)(~'(l4)(='(M)($%*+,-./0/1-2-3- 4- 56%H*N-66-19'cH'PQRQ#T>7-8/9( :(%;/#<- =>F&&o]^` ?- @AGYY RY RSYY RYRSLY+d)fFgGBC)D%EFPK h0?KiWW generalutils/IDFCalculator.class1 >  .  . . . . . . .   .       .  $ ' ' '   . . . .  '  DEFAULTNGRAMS[ItextsLjava/util/List; Signature$Ljava/util/List; frequencyLjava/util/Map;5Ljava/util/Map;idftotalDocumentsInGrams idfCalculatedZ()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/IDFCalculator;ngaddText(Ljava/lang/String;)VtextLjava/lang/String; getNGrams()[I setNGrams([I)VgetIDF()Ljava/util/Map;7()Ljava/util/Map; calculateIDFwordi$Ljava/util/Iterator;documentWordSetLjava/util/Set;words documentWordsiLocalVariableTypeTable#Ljava/util/Set;GLjava/util/Map;>;getWords$(Ljava/lang/String;)Ljava/util/List;j wordToAddnGramarr$len$tokens[Ljava/lang/String; wordsList8(Ljava/lang/String;)Ljava/util/List;(DD)DnumberDocumentDmain([Ljava/lang/String;)Vargs SourceFileIDFCalculator.java NOjava/util/LinkedList ABjava/util/HashMap EF HF IJ ?@ K@ LM aOjava/util/HashSet  java/lang/String mn  O  java/util/Set java/lang/Double Hx + java/util/ArrayList Njava/lang/StringBuilder   generalutils/IDFCalculatorbob is benny best friend VWbenny is a boybob likes ice creambob is 10 years oldbob has another friend sam \] ^_  IDF for  is  Wjava/lang/Objectjava/util/Listadd(Ljava/lang/Object;)Ziterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;java/lang/IntegervalueOf(I)Ljava/lang/Integer; java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;clear(D)Ljava/lang/Double;get&(Ljava/lang/Object;)Ljava/lang/Object;contains doubleValue()Dsplit'(Ljava/lang/String;)[Ljava/lang/String;(I)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;trimjava/lang/Mathlog(D)DkeySet()Ljava/util/Set;java/lang/SystemoutLjava/io/PrintStream;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/io/PrintStreamprintln!.>?@ABCDEFCGHFCGIJK@LM NOP9**Y*Y*Y* L*+ * Q& %* .!3"8#R9ST. U@VWPR*+ W*Y ` Q* +,RSTXYZ[P/* Q3R ST\]P>*+ Q ;<RSTK@^_PK* ** *QCD EGR STC`aOPw _YLYM>*:d:Y:*:%:+WW,W**+:k:*W>* B,%** cW+:;:*** * !WQVNOPS3T<U_VhWuYZ]^`abcd bi2m^oR _bYI,cd3RXY<LefkcdYbYrcd2)bYBcd_STWgfOhFMiJj <LekWgkOhlmnPV +"#M$Y,%N* :66e.66  ,`dI&:6  )'Y(),  `2)*)+: -, W -Q2 wxz-{<|@}J~j}p|{zRp C-oJ @BpY0RiJ -UqJqr@lsJicJSTXYtuyvBj yvDCwHxPE')o-QR STyzEz {|P#.Y/L+01+21+31+41+51 YOM+,6+7N-8:<:9'Y(:));)-<+=Q2  &.38[R>[*bYECcd}uiT.[U@8QHFj 8QHG~OP#  YO QPK h0?\^%generalutils/MergeXMLTaggedText.class1A +, - . / 0 1 2 3 456()VCodeLineNumberTableLocalVariableTablethis!Lgeneralutils/MergeXMLTaggedText;merge8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;text1Ljava/lang/String;text2D(Ljava/lang/StringBuffer;Ljava/lang/StringBuffer;)Ljava/lang/String;t1CharCt2CharLjava/lang/StringBuffer;mergedt1LengthIt2Lengtht1Indext2Index processTag4(Ljava/lang/StringBuffer;Ljava/lang/StringBuffer;I)Itctextindex SourceFileMergeXMLTaggedText.java java/lang/StringBuffer 7  89 : ;< => $% ?@generalutils/MergeXMLTaggedTextjava/lang/Object(Ljava/lang/String;)Vlength()I(I)VcharAt(I)Cappend(C)Ljava/lang/StringBuffer;toString()Ljava/lang/String;!  /*  HY*Y+  4 zY*M*>+666*6+6< ,W< ,* 6< ,+ 6 , F %-;BIRYbo r"u#\ %M-Ezz ni c! `" ]#  $%v+>*W>() *+,.*&'( )*PK h0? hgeneralutils/Statistics.class12 % & ' () * + ,-.()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/Statistics;add([D)DelementDarr$[Dlen$Ii$arraytotalmeanstdDevvariancestdDevPopulationvariancePopulation sumOfSquares difference SourceFileStatistics.java  / 01 !  generalutils/Statisticsjava/lang/Objectjava/lang/Mathsqrt(D)D!   /*    %H*N-66-19'cH' #> %#  3 **o     B *H' &'   E **doH' 0 1    B *H' :;   C **oH' D E   !  6H*J*:6619)g9 '  kcH' NOP Q&R.P4TR&"  *%"64!/#$PK h0?#"META-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.8.2 Created-By: 1.6.0_26-b03-383-11A511 (Apple Inc.) X-COMMENT: Main-Class will be added automatically by build Main-Class: generalutils.MutualInformation Class-Path: commons-lang-2.4.jar sptoolkit.jar PK h0? META-INF/PK h0?.δ generalutils/TermTokenizer.class1 !T U V WX T YZ [\ []^ _` _ab c d _ef T ghi jk lmn T op q r YhstuDEFAULT_NGRAMS[InGrams([I)VCodeLineNumberTableLocalVariableTablethisLgeneralutils/TermTokenizer;()VgetTextFrequencyMap#(Ljava/lang/String;)Ljava/util/Map;wordLjava/lang/String;i$Ljava/util/Iterator;text textWordsLjava/util/List; wordFrequencyLjava/util/Map;LocalVariableTypeTable$Ljava/util/List;6Ljava/util/Map; SignatureJ(Ljava/lang/String;)Ljava/util/Map;getTextWordSet#(Ljava/lang/String;)Ljava/util/Set;wordSetLjava/util/Set;#Ljava/util/Set;7(Ljava/lang/String;)Ljava/util/Set;getWords$(Ljava/lang/String;)Ljava/util/List;jI wordToAddinGramarr$len$tokens[Ljava/lang/String; wordsList8(Ljava/lang/String;)Ljava/util/List; SourceFileTermTokenizer.java &- %$ #$ DEjava/util/HashMapv wxy z{ |}java/lang/String~  java/lang/Integer java/util/HashSet  + java/util/ArrayList &java/lang/StringBuilder  generalutils/TermTokenizerjava/lang/Objectjava/io/Serializablejava/util/Listiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; java/util/Map containsKey(Ljava/lang/Object;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;intValue()IvalueOf(I)Ljava/lang/Integer;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; java/util/Setaddsplit'(Ljava/lang/String;)[Ljava/lang/String;(I)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;trim! !" #$%$&'(F **+) * +, %$&-(> **) *  +,./(h*+MYN,:I  :- "--  `W-W-)#$%,&7'V)f,*>,701P23h+,h41b56Z789b5:Z7;<=>?(:*+MYN,:  :-W-)012,385*>, 01"23:+,:41456,@A945:,@B<CDE(V +MY,N*:66e.66  ,`dI:6  )Y,  `2: -W -)2 >?A-B<C@DJEjDpG|BAJ*p C-FG @BH10RIG -UJGqK$lLGi2G+,41MNyO69 yO:<PQ-(#  YO)RSPK h0?|7 7 generalutils/RomanNumeral.class1r &HIJ KL %M NO P Q %RS HT U VW XYZ %[ %\]^_`a8bcdefgh(ijnumInumbers[Iletters[Ljava/lang/String;(I)VCodeLineNumberTableLocalVariableTablethisLgeneralutils/RomanNumeral;arabic(Ljava/lang/String;)V nextNumberletterCnumberromanLjava/lang/String;iletterToNumber(C)ItoString()Ljava/lang/String;NtoInt()I()V SourceFileRomanNumeral.java -Ejava/lang/NumberFormatException'Value of RomanNumeral must be positive. -5+Value of RomanNumeral must be 3999 or less. '( kC0An empty string does not define a Roman numeral. l@ mn =>java/lang/StringBuilderIllegal character " op oq" in roman numeral. ?@+Roman numeral must have value 3999 or less. )* +,java/lang/StringMCMDCDXCLXLXIXVIVgeneralutils/RomanNumeraljava/lang/Objectlength toUpperCasecharAt(I)Cappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(C)Ljava/lang/StringBuilder;!%&'( )* +,-./v** Y Y*0 !"$$)%1*23*4(-5/o*+ Y+ L=>+s+ 6* 6$Y Y + `>(*+ 6d`>`> Y*0b'- .1347&9-:5<:=[@^BfEnJyKMNQUWX[]1Hy6(-f785^9(23:;<(4(=>/|CXqt||||g||nx||||||||i|k 2d0& bhdjflhojrlunyp}r12378?@/EL*=>4.% Y +2L.d=؄+0"xy{|}2~={C1* 9<(E23B:;=A(BC//*01 23DE/ YOYOYOYOYdOYZOY2OY(OY OY  OY OY OY O YSYSYSYSYSYSYSYSY SY !SY "SY #SY $S0 PFGPK h0?0BB#generalutils/FilesInDirGetter.class1` 78 9 : ;< 7= 7 > ?@ ?A ?B ?C ?D ?E FGH IJK$assertionsDisabledZ()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/FilesInDirGetter;getFilesl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;fileLjava/lang/String;arr$[Ljava/lang/String;len$Ii$dirPathprefixsuffix removePrefix removeSuffixdirLjava/io/File;filesLjava/util/List;LocalVariableTypeTable$Ljava/util/List; Signature(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; SourceFileFilesInDirGetter.java  java/io/File L  MNjava/lang/AssertionErrorjava/util/ArrayList OPQ RN ST UT VW XY XZ[ \]generalutils/FilesInDirGetter^ _Njava/lang/Object(Ljava/lang/String;)V isDirectory()Zlist()[Ljava/lang/String;java/lang/StringisEmpty startsWith(Ljava/lang/String;)ZendsWithlength()I substring(I)Ljava/lang/String;(II)Ljava/lang/String;java/util/Listadd(Ljava/lang/Object;)Zjava/lang/ClassdesiredAssertionStatus!/*    Y*: YY : :66  m 2: +  + M,  , :-  -:    d:  W F  )FMVY`ils~!#p F] ! 0y"#5t$%8q&% '!(!)!*!+! ,-)./0 ).1234* 56PK h0? generalutils/PK h0?D!generalutils/PathsCollector.class1[ ./ . 01 23 45 467 289: ;< => ?@ =AB()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/PathsCollector;getPaths&(Ljava/lang/String;JJ)Ljava/util/List;pathLjava/lang/String;i$Ljava/util/Iterator;allPathsLjava/util/List; fileNumberJexLjava/lang/Exception; pathsFile startIndex stopIndexpathsLocalVariableTypeTable$Ljava/util/List; Signature:(Ljava/lang/String;JJ)Ljava/util/List; SourceFilePathsCollector.java java/util/LinkedListC DEF GHI JK LMjava/lang/String NOjava/lang/Exceptiongeneralutils/PathsCollectorP QRS TUV WX YZjava/lang/Objectgeneralutils/FileOperationsreadFile$(Ljava/lang/String;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;add(Ljava/lang/Object;)Zjava/lang/ClassgetName()Ljava/lang/String;java/util/logging/Logger getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V! /*   N xY:*: 7:  < :   a7! a7 W:  ^a > 18>AHK!Q"^&a$c%u'\ 1* C OL !c"#x$x%!x&! o'(O) o')*+,-PK h0?0oogeneralutils/Normalizer.class1        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST UV W X YZ[ \ ] ^_ ` ab c d efg hi j k l jmn o pq r stuvnumberReplacementLjava/lang/String;removePunctuationsZreplaceNumbers removeNumbersremoveStopwords useStemmer lowercase stopWordsLjava/util/Set; Signature#Ljava/util/Set;stemmerLgeneralutils/Stemmer;()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/Normalizer; (ZZZZZZ)VcommonInitializesw[Ljava/lang/String; setStopWords(Ljava/util/Set;)VLocalVariableTypeTable&(Ljava/util/Set;)V normalize&(Ljava/lang/String;)Ljava/lang/String;textwords'(Ljava/lang/String;)[Ljava/lang/String;stopwordsRemovewordarr$len$Ii$newTextstemTextmain([Ljava/lang/String;)Vargsn SourceFileNormalizer.java generalutils/Stemmer java/lang/Stringaaboutafterallalsoanandanotheranyareasatbebecausebeenbeforebeingbetweenbothbutbycamecancomecoulddiddodoeseachelseforfromgetgothashadhehaveherherehimhimselfhishowifinintoisititsjustlikemakemanymemightmoremostmuchmustmynevernowofononlyorotherouroutoverresaidsameseeshouldsincesosomestillsuchtakethanthatthetheirthemthentherethesetheythosethroughtotoounderupuseverywantwaswaywewellwerewhatwhenwherewhichwhilewhowillwithwouldyouyourjava/util/HashSetw xy z {|![\[\](){!}<>.?',:%";\\*#/@$^+=|&] }~  \b[0-9]+\S* | +   java/lang/StringBuilder  |  -A quick brown fox; jumps over the 2 lazy dogsgeneralutils/Normalizer  %  #NuMBeRjava/lang/Objectjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;(Ljava/util/Collection;)V toLowerCase()Ljava/lang/String; replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;trimsplit java/util/Setcontains(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringaddWord(Ljava/lang/String;)Vstemjava/lang/SystemLjava/io/PrintStream;java/io/PrintStreamprintln!  q'********&   !!&" ':******* Y **. -./ 0123"4-63798H::::::: u Y SYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSYSYSY SY!SY"SY#SY$SY%SY&SY'SY(SY)SY*SY+SY,SY -SY!.SY"/SY#0SY$1SY%2SY&3SY'4SY(5SY)6SY*7SY+8SY,9SY-:SY.;SY/SY2?SY3@SY4ASY5BSY6CSY7DSY8ESY9FSY:GSY;HSY<ISY=JSY>KSY?LSY@MSYANSYBOSYCPSYDQSYERSYFSSYGTSYHUSYIVSYJWSYKXSYLYSYMZSYN[SYO\SYP]SYQ^SYR_SYS`SYTaSYUbSYVcSYWdSYXeSYYfSYZgSY[hSY\iSY]jSY^kSY_lSY`mSYanSYboSYcpSYdqSYerSYfsSYgtSYhuSYivSYjwSYkxSYlySYmzSYn{SYo|SYp}SYq~SYrSYsSYtSL*Y+>RSP*+ Z[ \*+L* +L* *+L* *+L* +L* +L+6 cd fgi#j)l0m6o=pFrMsWu\\;+~T*+MN,:66:2:*Y-N- "3LRR"* FA>TTN KX*+MN,:66>2:* * Y-* N-" "+2PVR". JEBXXR O gLYM,+   PK h0?@UUgeneralutils/ChiSquare.class1] > ? @A B CDE >F G,@p@a@^@@] H I J KLMN()VCodeLineNumberTableLocalVariableTablethisLgeneralutils/ChiSquare;calculateChiSquare([[DZ)DiIjmatrix[[D failProofZtotalDrows[DcolumnschichiWordCategory ([[D[D[DIID)Dcategorywordestactdif add1ToAll([[D)[[Dmain([Ljava/lang/String;)Vargs[Ljava/lang/String; SourceFileChiSquare.java  67O PQ /0R STjava/lang/StringBuilderCHI: UV ! UW XYZ [\generalutils/ChiSquarejava/lang/Objectgeneralutils/MutualInformationaddArray([D)Djava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V!/*  ! *KI*:*2:6*2R6*@*2R6*2"\1*21cR(*21cIۄ96*-6  *2* (c9 Z  %+1;GSblrx{ p "#J($#4D"#!$# ~1"#%&'( )*+,-,{7.* /0 %+1,1ko9*219  g9   ko$ %&'\ %%&%+,%-,%1#%2#%)* 3*4*  5* 67{)<*"=*2*2\1cR*+,-,!+'0  $#%"#)%& 89s EY  YY RY RSYYRYRS 5D6 E:;<=PK h0?bigeneralutils/UniqueList.classPK h0?"k!Wgeneralutils/FileOperations.classPK h0?SxE#E#% generalutils/RuleBasedTokenizer.classPK h0?v!1generalutils/GreekToEnglish.classPK h0?MsKK?generalutils/TextToVector.classPK h0?93uWgeneralutils/Stemmer.classPK h0?dhhngeneralutils/MatrixHelp.classPK h0?-2tt$rgeneralutils/IAA.classPK h0?==,ugeneralutils/DirectoryExistanceEnsurer.classPK h0? QIvvSxgeneralutils/MysqlUtils.classPK h0?T+${generalutils/SentenceTokenizer.classPK h0? ^'generalutils/SimilarityCalculator.classPK h0?ÁSSS(Ոgeneralutils/RecallPrecisionFScore.classPK h0?;%$ngeneralutils/MutualInformation.classPK h0?KiWW ʘgeneralutils/IDFCalculator.classPK h0?\^%_generalutils/MergeXMLTaggedText.classPK h0? hQgeneralutils/Statistics.classPK h0?#"META-INF/MANIFEST.MFPK h0? AηMETA-INF/PK h0?.δ generalutils/TermTokenizer.classPK h0?|7 7 generalutils/RomanNumeral.classPK h0?0BB#generalutils/FilesInDirGetter.classPK h0? Ageneralutils/PK h0?D!9generalutils/PathsCollector.classPK h0?0oo%generalutils/Normalizer.classPK h0?@UUgeneralutils/ChiSquare.classPK^