From 1e3ae4e9aa735bddf90689a77d0e27463593cc39 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Tue, 26 Sep 2023 07:51:41 -0600 Subject: [PATCH] Completed evaluation of contentatscale.ai and added zlib support to both the Python and Nim/JS implementations Signed-off-by: Jacob Torrey --- ai_detect_roc.png | Bin 80070 -> 88156 bytes contentatscale-report.xml | 1274 ++++++++++++++++++++++++++----- nlzmadetect/src/nlzmadetect.nim | 2 - plot_rocs.py | 2 +- test_contentatscale_detect.py | 58 +- test_zippy_detect.py | 79 +- zippy.py | 112 ++- 7 files changed, 1223 insertions(+), 304 deletions(-) diff --git a/ai_detect_roc.png b/ai_detect_roc.png index e721e8d34714dcacc021744305a230d71b6b15d4..091dad116c46a686dcc89d89f3483d08b4b21986 100644 GIT binary patch literal 88156 zcmeFZRZv~s6FrC%EF?f6K!6Yk?oM!$K+xds?(P~q5cJ~i7Tn$4-QC?GIQ%!?uV$*| zZC>VWs)*FN=br4-yL1Vaio4`YmtbQolLP4Qxzx;yE z54RIouuHnHZya=8w#OLX?86<25P^^qzw-VFekR}B*edeBffE2fc}kz4u>SWq?Qc*N z|J@+f@f%9&zmL=X-$JLoeC3rO8VL;l%NO4G;t9e1`tLcfSc6|d!T)#B5&{~Hq~Dl?uS%RG0#|3@6zH(O(=={H09 z)5wT|zUdMJ4UeU@yBk4ORW*UdxSi{y@vEF%)Kjg+QvFz^v24ZEg?6EOL(KO-*wG7D zM4Kl&qv>B8ua{j($;t7L4yKFn!9u7b>!BMjhPfv5Wf8$jlaiAM4(oGX?&{TJ!oa{l z<{>+AZ}E7%`&1Hr9j`oVdjE8Pau9}uj_#Rv$NT%-Lo<4lmnl9Ne4%9V;A5N@shl&l zLSZ?YT1(TkmtSTi#-(w{$nQc_a(Ey_npCV%<7RBPR_IK}V=AD^1l zd|s}+tSn;LX#>r8rdWNvSiK>OeZ@`o9={)YwpTB=` zyD5!=KxEFMA*6dFe9uvbhliw|o}POZBfODMPxqF4sh&>}*t9C7td`4a$Vf ziuoduWCr;=9e4~{zcx=!G%aR4!&_2Ec<;qwvPw%CGTm|LHKOP=8kNZG7b=Y-;eJ@Q zJXYJCt_tkkoNegaEVU0Nb1A}P-Q3&=hRroNmcadJd46(@n1LZhL`3YHo>mZ*kYJt7 zoifS(^$V(RY^-c_ri|sv{ms^6GgY7aYa(76VD|!GEIDqJ3%?XWWz+deO7rcgdm*x_WZg8|p; z`aPip@8tECoV30eEdY@rW2q3{{Hsv?wrAA4?K1YHG`RYt2G!Xu%wQO zi3;)J`1tt1q9XHnwE~VXz9$aPhciUrOB=U4sWY)Ba}@!=gejg+&cLM=i0$)(2d{34 zqxi<))k3!5eH@P$87cUz*Wr8+(YvRn-kF-3s#Kfx0RtP@dC19O(KnvLczAdysi>?U z91NVUb)Xf;CM5J1lr)R-^FzhN#7zE`|D&kk+?97&Beu)s9a(276ZdOG7_`6xY%xY)N3e_9e+`nEHWY@qV2DI!R3;?^O9>$ z{jZ)7{D7t=9(IexG|%U!*@cCTot>US<%-_EKE~RAM+-H$ylxz?U%%$y;$k+LqzEPA z3l%5R1$$1Wxxft^niCfnmqw#;_Tvq;(nAkEw3wNGe4N zEiG9kV#_=lE_zd&yQ-*FO(yWQ}y z1L@M?lg5kJP#PK<2upq{MKSOw*t@AUxw+&Zc4=xXSJ-NWG-jTk9`E;N%SfuLtHt9O z(nnomSjoxB{ZVn-&$kB9`eW%eC37W{jYiW10!yxDG(BH7Ejs!gG&D4gTJ7kjHH5Ux z=}bpZP_VSDtgWld4?q|u9^PNRoWfznAS@l*NIV}U}E&T^x3@78V0SA{|)uk7s4nL;5j zb^>w@4oBewTZ8e;0cmL;0TvB{jR9b82+$f~=4rp61XuLAh0+~H&y ztrhbpxAgA8btmS})5q(T3fF53l^Tm8`jv8h6aXk&;9Ae{aA?;boQpx`5iM=)HW0f5 zh0C0roTQ&WpMl596e!Tz*xKISpS0k9v7-PfVih16{3^Kba(B$1rE@#0U^nWuDI-yf>?`Nl8g@%!aSi@QLP{Tpb}0$j#-%&wRxaLN15H)%@HP zs`GhghogDF*jUAUl{Y%Ny11++SQQ3CI>(E3W{b5Ea}|ag2L}b7&7a-X&&}p517Q(g zGZ+qkXl!b_Dw11UTN6)U3H)Ne4`sF4`&Pr_RzD*n0 zbzcF~&3xJ1TDM!K7bgbpHaj;L@0N^Bqtxnp($oWzcSmLzZ;)vAIzackGmjCT>klF# zB5sdYGiI};&_qN;X{RxKRVor78FN^zLX|Y0BlEai@)s%Cf(3sfApuUG*>}NavDjO) z;xPcAxi^%6%gV+k16T!0Jf6u9gjGtchD)FqEFuOW;c&xA^FXuvJ%{~1*75Q2-9cw( zCxgqSk%s4^J@4HviO+~{5QFvlH0bEkdF2wWcHlT;d zGwC(Kmr{$RFD!Uy09YCBpkFf>kCQ4CtMyeHPrU4sh^Xi~@Q_@PpOSc7vFYhcm|Qh^ z2JdI03KUDm%XEdgd3bJtk678->JBBa2II4baycHK0@T6(@ca@4`Lg65H*1J8va-$_ zA?)v2jNX7S7D|_j+O2xm9~j?|=EoGyj&Rx=K>`uYhK!GoXAy8Y{8(OI9tS3+%9o>h zEDOP7g@9CJEJY>)VX<1}@9XIi9yelvkcy1^B4Ltd%TTJ<+vShmdpw-=K-B2i@h&Pn z9$k>atIZd3=r69X+23bY>knWfg#&A5)5{i2K}t$WSj=V_+~+{1A$4_irTp}%eU%V6 zM-Na5bz-dT%_i|ZOp#^;-T7$4Q^Y_dmn=`@>ZpvR*qWiR!A>FMg~GO$S% zDTuu+aDS>mvG_^>JRH0RnPd`0mD$|5mZr8Y)J3=8(Ncq=CY!^d5>mLw{Smv5?)~)% zJ*(NQRLkR0&5G!+O80vQpA9mJge)Rk6)XTudlABfl;?5Y04}JY$Hy{-(faY(EoiRx zCUQqFf?U+0`uh6vXRS-|LWE@U<;Fo|(%041iGbVztb&Y&7LA4M$6_*>_i2RQ40VdW z<>3?bI7kTEQXUUC)=1&l^csaPmWc(o*~#&Z{l1)!ZWtjCSedG2lfD!V|J_ciC*h69HTBT@Rvb+? zX};x?DMig_QjzQBnwpweu&Y6C1Slpe%}tvJ2h{rd`g;SwAwDZAD*7<~3P2}{f!gzY zzE5qt1px;EWHSqZySnDT(vyM!_h(VaF>3;sW3k8mUT$g($Xr>yy+3?50K$>a&CiPh zOF&4sp7AeFR#sMPS3K?|V6r*_&~cQ>(;ouqR!ug6DFyQ7)>l{gSDM|et*x~$wuh9I zcJW*+7i-(1sTD7aOiij(o;5-C2@DJzV;{0yX-)>9hWX)x+U{eu#gZuCPe@2ejI|1> zyzW8C&hsUjd;ogTRN5Vm7e(ysDg~}bri)bf0F7&IZbrD?ohc!LdVabuX|qQ}Ck&R! zr&&T#e6^>cxcXQW$K(31b6`NMrAUgxX+J-=)_TLg*|nf>{}Jrr1PGRw1YTOopD%a5 z5yoe8d%hLmVgb03fDZz0)C(0}p$b>*X}p#Z7~#Gc{JPXY0Yaq`Y*(*~z@A1dA&<-I z`nrx>v*8G#%hkRgpft#SFxfJF01AJIi<8pPy&kQ?GG)Qja69Wlbm3L4vFHL=_VV;b zbdU{C|NUdT!#4)`C$RnlAly9wdgH&?Q-PQ!Wo5nc+K)8^xesLbSmhbh<14Ffq- zR$VH6<5-Ebu3=Jpmh zDhwbD$fF?rnMv_Fooe|UZ4V{FzJHWJdG{0U*HrIMzQ@k9jhA(!N0Ldb1LA<7Iqj_e z7LZFS(d_Zn7J%e1yRy`P_Z&3XAOpru0EnWY9W4+5q#{&I5+8f;=cNPV} zKh`%kzJiTMJw5|oj<=KvBnZOQP~^;%d{U!DOQVI2?D;tF;vfF1~= zEA*D!^46Xxes#7xuR%Bf3Xa!=1JWqb%_EoVKQnAPH2|-|FK%gJVR3ml7l}zO$t}gR zv9WP>bwyiIJk!_$D?8FNGc%K?T9q}@z`YfcdcT_)_L5(~tu$wKfWUk&n8LoD3*Q0O z`T_Bcjg1|1T?dc-?qPx5C?vA1h<^XX`k9fjY}9k6@ezLMnLU}ku4r|oQj1UrRf`ql z!-vAun=z37L8{?sFb9@{c5)v}D zy61iWhsoo?iTD1H`SE=xt!njYKXu9bU=(Xd$6P>$-EP(b$Vwuv(<5`UZmV5@o&t!} zl_QZDtWtZvxixjL)KDYfY-UzCR_3hlOyr<1eZp!w4LECSNz0Q->GM+{-WITR2uN?Z z(TOfkIhT7A0pOzq65-IOJ@NMOX1W}W1^a{PbUCUyp!@_rx_Q!lM@L8JXUE-sB7*t6 z23DGwsG82)NATf8P*DLTV2XoDoRRU&hLEJB!4=Qvmlb^n{!?pzppb7k>f+>N1@vg8 zig`Som$N4#BO{|wn=k;8F~bg@?LKNTprJ1Jr~bS!{Zj1?!5*H3_4RdcaWd-j3gWPa z1}*>wfd0fK?P)^ho*(kN_h)8iUfE;*MR*IPpbHZEDxeZt!%3W| z1Ye^3(ePzjJluy_TDDwm^?IpZ)YjF#ee*_Y{|+7z zaRNw<7YZtrNlZ@OL!mwd7}8v|Ilh2^09nHsppeccsZI64W09VI zI)JfEommX0fg;*wRr(OpT`3S;4ITMl?rSxG_t$f zpFGvATy6(M@>sDt7n|8^t6{2p&a-qxOiVXWdB#?Uz)-iFkw1S21?d3f`>t`Vz4Bjx zWCIv`VYIuuMm|L4Ah}`!t@FuT{M{#*R+B*>SpaTb0PMmXfS;w}tG4h$g(4Ne$*phC^+64$3y{LsyG*Mu=?d&AA_NU2;g>rJ;rg`k^x?_9<8Xc z2E1SuRHO8}gK=3bmp=f;qNhg+)P&A-p>mhUob6GO}{3HNnj3*n0beb3jhd+7OAt zf$K1jaQlEv8B3@BiI`X*H76Tr7eL&-K8wYS*4vwI+Hisr&l-5+ZLqu?&*vxcRNiDj zCIKkax!<$Bs3;Hu^j8;%fZvAmp5z7uAijP3mPV!W6)0&v4qk(8fj-@e)noz`FiP|@ zVB#z$_HawJ!|$jS7@W`biZz-pXDo7|PMLgAjl6C?T=slkYH>jVy_(vCzfpKx~UlVfw0Dd0Fq>p@h`X2*J zU~)WGdwjnG^y=#Vem^MJ4T4zi@`gtd&vC<`qO6b(J{f-O z?&%Q&o)`%O1M?yY>gwx7i&Sf3UPL`5505$|>tU`k)%~AxzDC34rQIG-7Z5;rNI?Pi zrS504+*ro~T%D{%b{=#wF}Zr=lraZ zL!;TO_MbIgR)ByY3OIe)B_N6kNoThcKlwz!!=pj<<}=VV`T7Gf2o-6O5J(oNgNO|e z4@1PsnDYXFJOPA&qRMDY(9;9NDv&^AA~PkLGekQlC-i9V8Cvz!PoD2@SDv59?GI`QJN_f3uQ*|K3>Y^1G4#I*Tto!Y!KJ@MO4!B@3hX36=yvmQP0iv zhb@gW>3P?}DUe~97*cfyAHeSpo+Wqzo(d|$C^x&+O@g!p07>$tzWgH70Qf3=0W$q5 zuG~peWW1xvv(6H`6sSW`?8*lJnh2=VysT+5<2y=bA(Y=x=kWa?HQk?IQcrpiy-x@E zA77F6=`jIH{Jr^h8{by3%j`u(FFWrL0Bt^CXI1yoBe4F4Q~L3hUq6Z+KC6i@sB?^@ z@VH$~DFzersK9xGc8Yx5OM`_Xs;G!o)9nl%q?XOiO{rW-f|tVhtSFA`)Ew5(T7HJNSIC>g`JhDV-Duu(OK`=DHL+31XPmfbf~4 zgWX+<|MiXXbWF}qixTF}X#dw^@(KL^uE&(m2E7XEez>4A0MrxcT(E(D!XYQnPxK&u zyXWT`!jXBsAgGb zzS0;}1BkZNWdCbw#gKpnM0ow)R-YcPKbSMBDXFq!*eD7*~IO z%zwQxIXDqWtp_=pe78E5NV?IK2_UZdfn|&J*apY@@#i49E!~!+?YX#w6U5oRFY$eD%_@^IiV|`KIIW33NLK+GRULhA5w0sW{2wFOYVu zD{WXP!X(1BHj^Ve^}C?8C~MqW`@Pgqkc&|LgmUg%upf1uHR89QboF{qqWf6k|C#D5 z<>@Q^Z4)Hwd zp=%gS5&w z-s&h6Gu-@mKTbUa4GJ3c(%KxB>2vP~E(TM05&>TB*U0|oe$*|A z&XK{eav~SS?xh`TjFQEQdzQ%KLwp6PiDOCidLuR!jIh{#*qDYZzri*f3W6Qh+ms8{ zs$|M5gHEfdVJ|ByL(m6B0VO4+)$MJA^AFV2)S$#bmErPY7u?87l}VF#32N_56De@)q)y+2}S==$TrZtA*`fgWeUl<|4F;WH~nL=8DBahhMBx5xDC${Yrf%5p~71| z0%|BapK+O# zk(7#ww2Dz_xarvZtW6KGFI*y7Cp8{~))s+ZI?bXvNNqDn_7}1xx@n9XdmQmsKE|E_ zIpfJ$sM4d#51}NbA(&F)EGR1-`&bj+Yc2Pw z4@-&iU9bMfNHL}S$Oy_+htu~g3d0-=RMs+^pU`(KEdgB!@&1+L(=ka{--YGWq<1;Ns&N>0zH(4 z>fPT)erk5UI40CVWCU4%FZpE;^^Z9y^OJSgp^R_iL{!Yrq6^zeaeJe&wbJ2WOBo8?{{${_6a4JFg|n$B z!6P71>^(K#ZBNH{baFOuHJP!WKEda%CH6sNhwCJj%oBoM4a6h|y~hR*F3ZB@*)m<_ zIvXJ18NUe$?O!9p!IhdXumPsk21?R@N=oQ8-LIm5K$E-}tx~09^@n^~6*YY+)f?Y; zz+!}&4DToM&Q&|)>go`dlCBZ8r;>%}ww`lGA2o{@=%{aId-Ab|9g2HtHfL41-W*QB zWsf8K$rxXzCKr)7O#i!U6_3EFq@<0Y#_Ccm#TqY{FXVH^M+sTfT5fMoj{VWsZ+T@i zB5LqsQdy(+G&itdw|C#GKp!vWwaKCTIkQSH76x**+^+NWfJ6RB(eg^<{s-S^zod`o zu0CZKAt;<9#hs45v61|V)5&g`{`VKUr0N1p#v!i(ea83m;0vR=7xh+yh5K!~!sVvZYuPjXC6rDpCFIqk!eWyaesZ5;@1jFl(>XC6 z*>;7XOI-1>l`?G*);DjHM$-2{Wn*|rl2|Oet-syrysf$5Z1Zo`x6g*ek+_Pgt}8XR z!ng2?BGCN)-`Km9UHT>8UL}e}T;(rt5#qCN(2Wb$!SVkwY;7S?;_|+43Zy}%4v&2% z4H}$OYai~$bRkPwP(03Z*@wWHk$JOG(!;AV7GfzVsVW`ROsTNq{za{y z+!yqxg5|1%H*Z?lzZUzES7oB&T19tWPsm1iGk?EdQ}k|{VpD&CDOR{3x;8Oh%*=$1 zoaC6v@S+Q`K9tl8?h=x^$+Jb(Ub$>1tp>GP-2K{6836*v*(b`hK^wusB!`QfA&7$h zg!ej3NMo|5F&cC71YRP*D+_+4dlmbV|H@OzSY*yOWg6a{ksZP~#iGBFM*6YSCoP6> z(qz?pT|+7v0vQs+tSL1Z;(RQ7dXg;E;OW#mCEtCSyD?!XQjkrn8n7CS6%bSMnl8JC zW$tLZ=`PZRZ=gM~WGy(RiHf;9Q@_=%M~+(J%PDAm&(PI$rj5`;5uLY%v2&uaD$_6j z6vD%=KEqGyhgt+viHwUQOP3kFg3>OUU#zQcMq`HBkM({yr!mPczD>aAs^_yl`Ph5` zYiP`8)9=!zQ*d7p$2*IVu)hnDZ)Z-4`jQ)j$3+Y*1*;Wz=V7er z8_%IHCzwjS&V1*o`}H+_Z?#TzwqPVRIeC}2i%3na8wua<5Zbj(%-FlV+R2gDe(6k< z-3P9%6Y)P@;So|T=oEv`^W-aio7;OFfNFV zw*3$aTju}vEvVUSv)6z|W08oQ{NSFR982rT@z=*mt@`30_8wBvstlzvxDF(E!M9Yi zG6sw0`HWLv6jmD>ZHjVklq2Nh#mQ#iWn*rkqdZERvdj5f_4OHMn^)uLHh_J-;yt81 zz4#@ywWSTz|HS_lU*>usTqv<%UtEI=OrVxJO)c|9Q-_v>Zd^HY$7^5}B8yCq`g4c~ zRq)!6*-@-d#Na`K7VsvTKWT9Ak z`Ta8s2x){Bm-@Tj8~Hr-Sg`q$cFu%4oMkl)5NAO+{)`#cn8NdR8S$!Z(l=e zthefIQIiUDaUTbN4Mj|Dkzw|0jD8iD(0Q%$Zz&D9b#7(%c*dOdACHxk#=kCp&(I{G zz2Y%D8}A-h_3-L+WXJy?%^)&Bg2u0TuE*d)#IC8JOt#oPh=^-_Z_?)%^4 z6PR^NKH_B*o)Cp~Nhd0Hu=y@uLMP!SsI6-6=P)P7eOllARC6=?;~oa`EGzGgR*Of2 z?amhvD!%pb29LD6t073~a<>r3)Hr2?8P&SmtoH%`jE4dN?FXd>T#_0 zV2kcmdZPTYGbrBZ;X0^dQ`E@mXs3TufcEL8=89J6ir6JFItk%wjC2l2>|+m<3?utQ z3-eR;Cseyk`|p8Z>M_>)$)m4gBQclgyJ3Iq$0DIjGByX*mY40kT86u#_PJ3eD`V7i zLmysC6k(oTpM4b0?iw1#Ks$TF(>X%P`(EkGrk^iH zFV+tS!aN-etKAtK2^%IhS{1Feb?=FduuLllx+z-*_97v%%PT$gQAe_rL97YpktW#W zS7v(xTE7t`3E9ZPCTtWGF^hJG)r6~qqFb@E>U2F zq#{p4{n#Yhe4=bEo{1etywGf6as#-PGMj{WE4@p9|2)DAsH75EL zS-3li6nwr~iTp;dqPm&gxa@*5W7xxO^+;WDi281A2cy>cONweNWHe8L)Sy~MswN-b zibeYYiqqretN1~TpMl81^E}F{oy+$tWpS3 zBO~u*{-#MLg5mMn13{lvzFO3WwC(BOY;egfVpeV<5}L5nTYIRiGMr>aZ{l)Y5T*ke z&d86}ZCwT@0o6-b6LBCzHA2Sm_|wI%^l>pO!A+l;xi#J>(F_u1De^0)QgZ1){jAM5 z4s2eDx$D2{V}k8G{Y_f?r@en+AH!8&cGAznqil6txu`XN7|D~y=Wzeh;#d70g}yVd zsvOMNrVoBg;_L9LqOQYq=}2po&Mmg{a6y$!SvL3^FEzC!+R$aG=-HuQJh0CEhiDfs z?3T~pxAUlS0X3h`SF$-d??`H4vy8PU@k(0+(m8a4YBPDO{%fpn&aL7a!I9Y}P`ux5 z)wE$jH6kkFYXg*GJ^LkT=ZJD@sS1n1eC2*+w&i8%zQYvnODuvR z7Mr3qU8t_7zt{a%1@OV$Ov1squ{H|yw9{2EYs_6)dn)z1P+jC^P8MOyKEdyFx7XSU zewtZ!$oH?su&3>;ldf)HXwiXE?6JoZT0g`V;@r5r(N+9`I7(clI%t5=I9Sy>xSKaL z>38k@=*;1}!|!b;ms!DT4{GMl<@V-+`y9Ha&L^g#(eUiof;ucoN=Tgf;c9~%tzQVz zHGWFX^WXPL1x@jckpdq-tuL&?Gr{eiLdvL>bcVRwa zdFFUYUsFF#idXb)zRB9TCAqfi`u?lPj}eerAf2ck&69{oPm6~%XI7x>?S8XZml$V79B0S6N7eEC;i+|pZ{bE6 zpiB?YCPKv_{iO!1u?p0T7F*W;H2=_F#@+ky$u1tzp4n8A0YB8lj*aPP-R8Zt-1Zrl zyG~O;u~yU?5VN}Hs73G=LZghx_WVTK!#|P!W|n}Efj@#YFpBSq0r?5$dC^<`@ebW? zs9&fc`Zt=y7`%J#hKLvw5B9{wia=`SNLRx{r1GqTX#It-<*||= z4);qiaEaSFika(qeY(pQp)a!N=+Kx?502O!K?n2{yYY~t=VB67o$gl`(Cv=PqSoBRM<-Q($ zV^*t6uA39FAM6nxpD8PEOj&jjLlA!bL|Ia)vFU54#;!t{r=|Tq2WX)2E0pl|oNxJ@ontV& z4&-*3|C)Zq14-Or}V2XZ55D0N8{HIcWvqQWqX zhlFmY?m{r%9uN_q5E%{s@GWm^T$?ChII(yyq8gpC*tyLy$cy1NEK!OfDckm%&IkTu0)I<(JH{)-kA46FL&2gIg9GG&@jYJZI_~G9)^sK%=>!%yuR!q zgUXaP-yFF*=i3<{%6;Z62$jb*3N| z;f?F8-dWU^HgB>QPa&xA6x^41D;7n_Q5Cb8TF5Q0_O4OYz^PiqB>YARtnVDeiIhqd z9W0EJ%`KxAc*$Pdp;hW#p(TGpC3P2TB@UMf`qRJGC|B(x`8?`OWds3mZ_AqW<%nrA zxqXW$Cs{@O7J|WcUoi7`X!;3o$+hP-;%HFm`bG^RE8FxV{ekk1>KCdP6Po` z<2ikaD)ghL6vtUK_dIH&M$tNf->CL#aAt-xl98#MetMgE{vs{n`AMmHVoNKKd{Y8< zrng8dO*SNXva7u7hZd1c_5_m2EGUWwC;m2DZ|H-;?4KBz6;Pn_S}_=R_B(FPlxumzP>eK$##5lcL+s7Ri~+5MR;}HEkn=Nj7)-=MOZDobdS;T5H_pnd` zgbsQImE6;ve_nf8OkPxyk7kB5*5k4I9{cQ0lsY!AHA4{Gpw;c4fBu1vg*r8X`IoYK zhz_mZ+W)Q8SV++uRt=H|TEroW%4#orCBH zH)j+=A@i+Q2O@Xn#9#5s%;r9pg_gtzLY4Z@muka;p|ctKf{i1i5$2<>d0Xpx;S=&)uQ`qCB!4caiTQs1<#zy^sA>YYq+3@=L>bmV7TeEMg; zK2+e2CpEJ4nrVI2f+HLu9>Yw@*|KrDX?1%YK^;ZYS|G(zY@_^=!-yFg?-Kqb2mQ2= zDkWDbQh#X0=~ zc%`qIW9NIh&y0@8ypz|{DAiT+=TnOA@eJwu*=Uuf7;mAb`N7-<7&<)gX|X_q-CL-H z#=b6}FQ`%(UJ=>!DZ$=Y;qDA(efKwL!a6s^yJaVVr{_{(Vn{Zf>RUndD~Voy*)$P) zN|IQ^7+msCZ2En93YVtausH1P>+7-X6Vx;}re~;jiD-0FBz4tU3bxtC%#ru|M7+L! zf5hNt@~l9*!$}d^jpqQVo%}Q1z^1iD)!{2Z!SkZYi<=#ync`Gho-iz1nuJ@Hs*C9P zp1Gs$u9gOssM9~btR2L~sN+5FOg3$Z8~4?{j_kOS>m}+~Up{wilF+XoZNyQn^okyg zvkLvupKh21ipFd>$wGRw#5b9Kiw^5NX~v3K!v`7%g>dvUz2C+2iO6XdkIh(gT}l1GcszKuqh5B3Mg{!Xih z^0y6=!of!E{n3VVRR?4hhK>fui^UYt>-SkqZ$UI*VPeAa-}CeNtOAooes4g}m^MKR z#q`Z!QPrQVKQ~EK#9h!Uj5m?xY^vG%M2+qjyN((-U2a-CAoD6>rE{g{PdA%mKK`xn z6LC&}*H%SkfP(JD#NXL^!N~MmOa_`Gd;O_6DmH8h8HhmqNWevz`2>QP=S7v3$)pNE zX|dfsj`rct;n6uvUxdhDSMG-IrZ^7O3x}j8AOk~FTE_82tDsG)Q0SC&FoOx2Z7!8$ zitGS_yucYLs9m*^Vu4#juBRzPPxvrQIN8u1Lc?~+jk$GLSj2>Mw&*`9nOh^aV;@k& zK!U0fwF_;r$Nq_6Y&8(F9WJMes>+LkZ*}SQlq%4qkzHcPYL}U)jj`izC`nSo z_VZ(Q|JWO6%81bk0Oxgc-Rh?{eyA;4it0Ms+sCsUav{;tpk)X#OkL`{UO~??9N~Ab ztEu5xUe<~D)h`P7i&YBDcf1@cdChiVDJZ8coojenj0*npy6 zvS3%HBH!SObp_Tt7l%I<{zZnm>b4P!?S*^tRQMvg@3owp|Ec&PdUD27wU3ZvfMRSf zN?@LRwS-LJ5ablL_Cf3M#~$L2L!LNMTy>C|G$Vi5{Rkv-Nk0z-VzIINHVtMk8$H zB=R=9E!YVcYU)=^1i8ObH8X8}6fRmDsbG9?VhA2!>_RJNE^2;Yqo-m!^IZ>L3x#;l zSGx+-RH|IOmFjVdMo!mj_uusNSFSPAC}!55fRrQgWDbns*ml_I7~ms*h9<86;9iAS zpH|A?8QP2pv`&FS^43;tO=L<6$}d4;-Q`A$##;kJtmu!|X;MtUp|y{Fm-L1b{VSM- zhn$iHR4%E#e#h{wdDM(sFd8hp$Ed(W>o2e=&;%+Q#Zd$PBMqaEuC_>5Qu;(mK0AT; zc|)D8oC@Ck7a8h%GW!`mg>z&In)DghdN(%>2|JNUKc)y*`T+sLo}Rm?TOP=Xp3Q~b zhnKFzpC8Q5!A%A41c+0B_-y6s&DR?^lGhOtQ5H|AjJ`Uc-y87uR=c^~Nw2ijTnJ{x zB=mg+Wf~rLps0L5Oyg6&W;udW_vHI2`8QA7O|t)zA(LJbzU#0!D;0qVYL2j7qSs>wa~Hbl3Guz5?>}HsGl?a_x5JD z=fMGt?w{i%w6vlOX|{@L%lF2=J5Z1zYoJ?N^C^lA;=AE(mYfC><3hCL?$UJMNAR`R z@xR+8J4n_&JuUXrOz9?$$F`!;Y|Z4=+kT;L;*PS|=@8K~OGG19m5h=da)aR?eXPz& zj%ks+!l{t~L$EV7fAbVaqUl=>2k2YWKm(LKPhO1XL}}`UbJW^1wlvVy+OofWKmx5a zxk?q?ho@cH8g%*^w>eZ+rs~}jQ<}Sbm;4c~GfDa+^C*hV@^)3@a>&}kzi>j;a};*m z4AV1|eT|1Q!8*~0HDMp~+%}&-Ji?jdHV2{@FGXGtHm^fe%)t09CKFaGvb=0WXj<-4 z+u{#=-u*tLB83|6p=%xZx~2t_u|MNRA!i$^3b$p!-l4!Le^2^8h?gG)1T*ML`1X^D zC3oErY}Ca$m5u89v%eo+d~Hizs?a^}e&ZNeZ`HthIm#zFpuk)yPrL6tJ3-f4wVP&n ze_(YylR-~c^Q-kZJQ+q5--tzuU3I3rZu93i3ikO$H6QF&l|R_;T+A%06MFxM_yYO= zAoz(2toI$Z4S*z!_ZdK=n3u3vXYYTeqw@&_O&t3J*3b`iL+f3zm-pZ_;Z&((L-z|4 zjj(3-1g9=@V{uJC$stJZNt@Nx`8{VmZJ0gGeG22@*=E5$54z3!F`!`0OXZjP`uj&> z;;-GqVr66#CRi*@hVDXq>tO+3DOL1Ik>uj7R&6;-OHVgUs{Cg!MmN-VS&BAiaH!PQ z$FmU@{_&uy>Qyky`KJC{-OhKiP!|=xyE2-x9=FQ-*%I*Sn)`<-eAMT z$xU1>*Xu*dku(SMZ7E$zlycu$caqh8L?GW(bUaYf)C#esbh9_JMxE7nbizyzr{nl@ z`L`Vt!ZJRr(Bl<#5|LY8+!19bN*@}T3kVhaf3^JAI&cO(K1!+J<1?rmywUMof%J#^x1QB0t~+8O3CoQ+Uq_rR7y0)BLzV?e7f5p-oV^;%TU& zT(0q~dj-rVGP=kAPp4zIX|j?5xL>_1`?Y(xX|sHG_t=h?Yz^l@l0 zu`K5qZ?pXT=Vn5|borwo>cmVkm0`?%7+jn?q8@bV{uZ__^sZNb4JP7*&_mh1R-mG6r5(wixM5Hmfro z4-$drrzvqV^Yqrff6zUeON+1t0a(o|EZGAB1kQ)qmVp~6jo+Y21O@p)6Xt^Of~c?# zc1&l3IiPH}tCF2EElIv0)bY%^GBYEwNkAi7hF4nc=VpXmn;;OAq)WPM`V=b$Z{e{4cr!_a} z6qw^q@=xAqDKvmQ9`&i%Z4~DK^151ar!|&%br)sNIvhj!99e1ptHqb#Inwh>c>%nT zn7jhVI%k%kQWVF&eg?@I@2oD$&sZbA%(XqK*|#ZR>*{cc6n%_YRD7&Mk^PdU3IeRI zOg=Taz$cU$c-Q@gDoub?s)U;LT0R~y92$?^DN2}wxneMnNwPE$t+UdZQeQH~`lVR5 zNRsBLYBH~}kN`)5A}#yV_Vi2>q!NPl*{-@OnEo`+IETCjlPqNtf`M z!L~>F2sZM7OV20b4Iz#)N7}k~xugnPUZNJ<6RJ5=s}Q$$VK>Z9q)8nz(f%XkL>rek zHR~0}yggyUj1Grn9yi(y1YCD}1CI|$rx&(Nx{55}D_K6OB!7SBLEZ_^H` z5~r&fvETun4yLqvi?&$q{=T&ln}8n4u=vwoMW;IQ{bGE6;ydBR6f-UEVtdUgES-g~ zSR(N)_P1n;r<`LnduEpfao_0;ell1?&r<9GIr(=9m#7(5lY^DbLV}+Zh2H9$-_z5udO++v{`%Q*cfc z)^J3!d#voPSm#qz(krNfe6joMU7{MoQ{S8KY7zt-R{SeR3r_iG?T2&HbBj(p2(H(M zUGwYE=UeXtAf*2^LUj8RWH;k}5DAzx;<$X5q+xys1Apu2 zJ%(==7Oj8p26yq>4SAjQMjHzZ3nVFHlcF*WVvML3@r|dBJJb_v|Fk9 z3Slns`o&Px@85de!E?RfNI=JDZf-LXkv?qbG$`O4Dl+3p2)Qs&m)R+1|`j z@41?`b|>ykDSQ3wEt@MNRKsyD$k?5Tk2|u+cmD9t0!2-E_dh;jJHR5>1!?uuwkD&pLnN_CT2s6B?-cQ6fhuZeM9Kc(yxY5G3zrL_FG^k-f9pBKp%2^b)bG)QX`qPk*DZ1Y)hNsCdn+2L4Hs;zs z&Jq+8w0sq^2_0h$rA)ukSI?QSM3GVn!v2eB{osT}B2-Au&8@7-W+KPj{8-H=DXCNI zs|Cu?Q{s0^q@RY9py5hL8zM1$+Rkpcb}3tvI$ zhgg$uItYfAx#1~A+j^bqbV9jr;-dmpNFoXtdAdgg={EKsJSdP=r3D}#&lw7L4I4`Y z{tsDy85d>LwQ<9PNJtAJQi4h-NOuSb0#X7>*U;T5APf=$A|Wtzh;%ndm(tzc-JQem z?78muzV7$=Js_FBjBKSbxstj?bwS-V6Nr*@sKxczb6C2%w13O(0e&swJT ze3UxbHfb{d%zT63A>z$_ZEgC}(k%$TpjN4I7ep$|+H_s(0X!aj6!FYh7tdsB*>>7> zYoC$4V$W-6ccCD8`j|k>)w!y%9#|QGS0M-mB%mrDlhp~4TPbz|4cN8arl$j4*efRG z--%ZZI%qx#E?axr>7+1GmhHDDha8@;>&7Qz8UIae6kAYS{P`-gHe2Zm%+u^w-ce12 zEj(it9y4!}$Fx1#I1Co>*B+K!jeMNHsE=sW4H>QunpzSsP2fHLvt{-}};-}(s zwf*ZwkxE^lyiIt;f5WHYd^e6g(^|DfQ>;~wo0HAPpKiUa6@O@uEz+uqjQ z&rIiD{4@}(wXIYDLq3vI{nl7Nv?gbWd4L{47mQEI%4M&Q?l&f+=aEYd_GX^eRDSRS-Gi@Y`msxc9VBnzp115J2a$L@V#ue;c!M_0TdRj zSuR*&zhrdn#TkzmAYPv(-UXHy3XV9$QI7d-{sW+e$AUpZ7v{A84t*;{1*=UQAtNaf-%7eY_>I+70SJGx-Z*P-WUkq>`MLqJq)>AxFg^)5SOFi zd%R*EFiZmOUfP)DpD*?_5XS%vd?At90>w1P5Sgy!#5a8W?rylVA*FP=moYp*>sV(d z{Jppwj1iqlBvZc~)R8te&1f$U5m{EFWlz)R*DKM#*9y*v!!xwaB68x2pGQwN!}%`!(-ef zV=KKfXQ7=0gW{vxF0J>9!YXg=QL>Dcw^Wq5@cgL7V6$UB%*FZ2QTTQ%_p`P&ZK7{y4DnR=oj;0{s~>%8#5ME!Ppkpmr(SP8)3?}Xo=?>PCPDrynb^%Y+!(B>ewXysw2PX#r)e3_bX4EN1$Y1 zj8pjE{@vuDuMIR&Qi>m|t_7`QdbtnmR^zN?ll6?YwRh~WBS~o*(xA5bUK1Blw=Auox;eVy{StyRJ;A4SjB$u>iJSFZL}{~jYhNvR zdnTnzr++^BSM^$BkWyRwXo@wO8n`dfG3S~L&+Xu@NLL)cMgen2Xpdn3DbBf};RXb> z4+*5!XfAZhH=gc(TM)T-6dT$jG~lo2M6;V9p7}zCSZ0WPw$URNRG-0(Db|i(pi$CR zLl&PK4AoaVAK<>QxN?kyL5tbScSeH+MUhJDF2%3tWH_;-;j$R09yqf)@e}r65eDSG zheV*M@h_8}fyiCC`mnmZno#77GQLJi+#;7-OYiCo5386lA~KV6n§RB;XbNltJ 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 literal 80070 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

3e=y&9I?PxFpWp0*lX}I_dy1#lc^K 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 AssertionError: samples/webtext.test.jsonl:255006 (len: 365) is a human-generated sample, misclassified as AI-generated with confidence 0.86 +E AssertionError: alumnifund1.txt is a human-generated file, misclassified as AI-generated with confidence 1.0 assert 'AI' == 'Human' - Human - + AIE AssertionError: samples/webtext.test.jsonl:255016 (len: 92) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + + AIE AssertionError: reuters_santos.txt is a human-generated file, misclassified as AI-generated with confidence 0.91 assert 'AI' == 'Human' - Human - + AIE AssertionError: samples/webtext.test.jsonl:255067 (len: 847) is a human-generated sample, misclassified as AI-generated with confidence 0.6 + + AIE AssertionError: cnn_santos.txt is a human-generated file, misclassified as AI-generated with confidence 1.0 assert 'AI' == 'Human' - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.56 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.99 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.88 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.54 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.6 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.92 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + + AIE AssertionError: 2111.00667_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + + HumanE AssertionError: 2110.13472_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + + HumanE AssertionError: 2111.03612_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE AssertionError: samples/ieee-init.jsonl:8600008 [885] (title: Vertical Handof) is a human-generated sample, misclassified as AI-generated with confidence 0.99 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600018 [642] (title: Efficient Detec) is a human-generated sample, misclassified as AI-generated with confidence 0.97 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600029 [1139] (title: A Social Bots D) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600048 [820] (title: Improved Data-A) is a human-generated sample, misclassified as AI-generated with confidence 0.98 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600060 [731] (title: Efficient Chann) is a human-generated sample, misclassified as AI-generated with confidence 0.99 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600062 [699] (title: A Novel Route R) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600074 [1015] (title: Human Activity ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600085 [855] (title: The Residual An) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600101 [470] (title: Closed-form App) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600111 [489] (title: A GMM-UBM Based) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600114 [590] (title: An Analysis of ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600150 [867] (title: User Associatio) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600154 [719] (title: Prediction of H) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600210 [1049] (title: A Fingerprint L) is a human-generated sample, misclassified as AI-generated with confidence 0.99 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600225 [969] (title: Quantum Key Int) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600228 [473] (title: TMVM: Truncated) is a human-generated sample, misclassified as AI-generated with confidence 0.99 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600233 [961] (title: Power System Fr) is a human-generated sample, misclassified as AI-generated with confidence 1.0 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-init.jsonl:8600234 [880] (title: Association Ana) is a human-generated sample, misclassified as AI-generated with confidence 0.86 - assert 'AI' == 'Human' - - Human - + AIE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600013 (title: Robust offline trained neural network for TDOA bas) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + + HumanE AssertionError: 2111.00310_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600014 (title: Gaussian MAC with Feedback and Strictly Causal Sta) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + + HumanE AssertionError: 2111.06230_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600045 (title: A Method Based on Frequent Pattern Mining to Predi) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + + HumanE AssertionError: 2111.06012_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 assert 'Human' == 'AI' - AI - + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> + + HumanE AssertionError: 2111.01676_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2112.00405_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: gpt_patient_summary.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.05241_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12645_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07793_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: cleaned_2111.00086_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10340_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.6 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11115_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.15093_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01515_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12501_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02041_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01023_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03715_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02760_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02574_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15023_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03320_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15317_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.06181_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03294_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.15436_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00867_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.05754_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: dv_t1_aliens.txt is an LLM-generated file, misclassified as human-generated with confidence 0.67 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12341_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00086_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02326_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00514_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.14532_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07408_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00035_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02687_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.05204_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10478_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02188_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10575_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07525_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10577_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.15473_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10778_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.13900_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.04416_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03913_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01706_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01243_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11879_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.75 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10329_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.04507_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03837_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00572_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11984_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.06464_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02110_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15802_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11589_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15724_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15130_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.06644_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01322_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: about_me_short.txt is an LLM-generated file, misclassified as human-generated with confidence 0.79 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: bing_b_song.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00526_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12010_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.13317_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.57 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02643_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15534_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07611_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.13658_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15725_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.92 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01231_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.10319_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.01340_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.78 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07699_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15705_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02844_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.6 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.04130_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02259_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.75 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00180_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.04574_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00808_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12765_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.13229_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00554_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.81 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11207_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.00607_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.07267_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.11205_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 0.91 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.03945_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.12383_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2111.02362_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: 2110.15799_generated.txt is an LLM-generated file, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/webtext.test.jsonl:255006 (len: 365) is a human-generated sample, misclassified as AI-generated with confidence 0.94 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/webtext.test.jsonl:255016 (len: 92) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/webtext.test.jsonl:255067 (len: 847) is a human-generated sample, misclassified as AI-generated with confidence 0.6 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/webtext.test.jsonl:255108 (len: 358) is a human-generated sample, misclassified as AI-generated with confidence 0.8 + assert 'AI' == 'Human' + - Human + + AIE socket.gaierror: [Errno -3] Temporary failure in name resolution + +During handling of the above exception, another exception occurred: +E httpcore.ConnectError: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: -E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/ieee-chatgpt-polish.jsonl:8600080 (title: Identification of Coronary Artery Diseased Subject) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600088 (title: Weighted Nuclear Norm and TV Regularization based ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> - -The above exception was the direct cause of the following exception: -E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/ieee-chatgpt-polish.jsonl:8600091 (title: Improved Epoch Extraction Using Variational Mode D) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600094 (title: NLOS Detection and Mitigation for UWB/IMU Fusion S) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600099 (title: Ranking-based Collaborative Clustering for Heterog) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600131 (title: Cell-Phone Identification from Recompressed Audio ) is an LLM-generated sample, misclassified as human-generated with confidence 0.95 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600132 (title: Spatial Image Steganalysis Based on ResNeXt) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600143 (title: Balanced Use of Battery Power in Ad-hoc Wireless S) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600153 (title: A New Combinatorial Design Based Data En-Route Fil) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600169 (title: LayerOS: Scheduling Apps between the Local System ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600178 (title: Cost Effective Hash Chain Based Key Pre-Distributi) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600186 (title: Atmospheric Absorption Loss Estimation of Terahert) is an LLM-generated sample, misclassified as human-generated with confidence 0.63 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600190 (title: Manner of Articulation based Split Lattices for Ph) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600201 (title: Control and Management of Optical Networks Using O) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600202 (title: Mridangam Artist Identification from Taniavartanam) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600206 (title: A 3D Placement of Unmanned Aerial Vehicle Base Sta) is an LLM-generated sample, misclassified as human-generated with confidence 0.97 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600219 (title: Deep Learning Intrusion Detection Model Based on O) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600231 (title: Uplink Asynchronous Fractional Pilots Scheduling i) is an LLM-generated sample, misclassified as human-generated with confidence 0.84 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/ieee-vicuna-generation.jsonl:8600178 (title: Cost Effective Hash Chain Based Key Pre-Distributi) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> - -The above exception was the direct cause of the following exception: -E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/gptzero_eval.csv:4 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> - -The above exception was the direct cause of the following exception: -E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/gptzero_eval.csv:7 was misclassified with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:10 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> - -The above exception was the direct cause of the following exception: -E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/gptzero_eval.csv:14 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:19 was misclassified with confidence 0.59 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:21 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:22 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:24 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:25 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:26 was misclassified with confidence 0.97 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:27 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:30 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:31 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:32 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:34 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:35 was misclassified with confidence 0.99 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:36 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:40 was misclassified with confidence 1.0 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:41 was misclassified with confidence 0.93 - assert 'Human' == 'AI' - - AI - + HumanE AssertionError: samples/gptzero_eval.csv:51 was misclassified with confidence 0.99 +E httpx.ConnectError: [Errno -3] Temporary failure in name resolutionE TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'E AssertionError: samples/webtext.test.jsonl:255233 (len: 74) is a human-generated sample, misclassified as AI-generated with confidence 0.57 assert 'AI' == 'Human' - Human - + AIE AssertionError: samples/gptzero_eval.csv:75 was misclassified with confidence 0.99 + + AIE AssertionError: samples/webtext.test.jsonl:255356 (len: 326) is a human-generated sample, misclassified as AI-generated with confidence 1.0 assert 'AI' == 'Human' - Human - + AI \ No newline at end of file + + AIE AssertionError: samples/webtext.test.jsonl:255413 (len: 395) is a human-generated sample, misclassified as AI-generated with confidence 0.87 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.56 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.88 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.54 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.92 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.52 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.59 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.66 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.93 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.98 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.94 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/news.jsonl is a AI-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-init.jsonl:8600008 [885] (title: Vertical Handof) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600018 [642] (title: Efficient Detec) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600029 [1139] (title: A Social Bots D) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600048 [820] (title: Improved Data-A) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600060 [731] (title: Efficient Chann) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600062 [699] (title: A Novel Route R) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600074 [1015] (title: Human Activity ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600085 [855] (title: The Residual An) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600101 [470] (title: Closed-form App) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600111 [489] (title: A GMM-UBM Based) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600114 [590] (title: An Analysis of ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600150 [867] (title: User Associatio) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600154 [719] (title: Prediction of H) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600210 [1049] (title: A Fingerprint L) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600225 [969] (title: Quantum Key Int) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600228 [473] (title: TMVM: Truncated) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600233 [961] (title: Power System Fr) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600234 [880] (title: Association Ana) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600252 [1114] (title: Multi-objective) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600263 [1009] (title: Two-Layer Resou) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600345 [993] (title: Precomputed Mul) is a human-generated sample, misclassified as AI-generated with confidence 0.97 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600363 [2064] (title: A Hierarchical ) is a human-generated sample, misclassified as AI-generated with confidence 0.51 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600369 [1149] (title: Local Discrimin) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600371 [1042] (title: Autonomous Navi) is a human-generated sample, misclassified as AI-generated with confidence 0.98 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600496 [952] (title: Reliability Eva) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600504 [1174] (title: An Object-Based) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600519 [1124] (title: Outage Performa) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600526 [800] (title: Research on Eme) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600528 [646] (title: Mobile Data Min) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600545 [1001] (title: A Search Space ) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600581 [518] (title: Short-Term Fore) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600595 [1239] (title: An Artificial N) is a human-generated sample, misclassified as AI-generated with confidence 0.98 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600596 [644] (title: ANDES: A Python) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600597 [545] (title: Synchrophasor A) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600612 [1034] (title: The Potential f) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600617 [1062] (title: Geometrically M) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600623 [907] (title: A Probabilistic) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600657 [1012] (title: Effect of Solar) is a human-generated sample, misclassified as AI-generated with confidence 0.98 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600661 [822] (title: Synchrophasor-B) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600737 [634] (title: Disturbance Obs) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600738 [1441] (title: Enhancing Cloud) is a human-generated sample, misclassified as AI-generated with confidence 0.73 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600750 [1117] (title: Security and Pr) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600751 [992] (title: Blockchain-Base) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600752 [1145] (title: Active Learning) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600755 [999] (title: Covert Timing C) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600757 [1062] (title: Covert Wireless) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600766 [777] (title: A Disturbance R) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600778 [1093] (title: Securing Consum) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600779 [1202] (title: Privacy-Preserv) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600783 [1017] (title: Privacy of Thin) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600789 [607] (title: Distributed maj) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600791 [972] (title: Event-triggered) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600836 [925] (title: A Soft Ring-sha) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600844 [940] (title: Digital Twins o) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600854 [753] (title: Smart Contracts) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600864 [678] (title: Unsupervised Vi) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600871 [468] (title: A flex-rigid so) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600885 [633] (title: Recognition of ) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600896 [439] (title: Application of ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600904 [1133] (title: Smart Air Quali) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600906 [762] (title: A preliminary v) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600914 [982] (title: Naive Bayes Mul) is a human-generated sample, misclassified as AI-generated with confidence 0.75 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600916 [757] (title: Modelling of a ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600925 [562] (title: Data Assimilati) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600932 [702] (title: An Experimentat) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600933 [1400] (title: A Cloud Based S) is a human-generated sample, misclassified as AI-generated with confidence 0.95 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600959 [598] (title: Fall detection ) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8600984 [963] (title: Photoplethysmog) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601011 [711] (title: Machine Learnin) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601032 [808] (title: Iris Recognitio) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601097 [930] (title: Call Data Recor) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601176 [353] (title: Known security ) is a human-generated sample, misclassified as AI-generated with confidence 0.97 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601183 [1347] (title: Detecting Seizu) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601205 [625] (title: Usability of Te) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601220 [934] (title: Cloud Robotics ) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601226 [846] (title: Wireless Commun) is a human-generated sample, misclassified as AI-generated with confidence 0.98 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601250 [1410] (title: A Framework to ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601258 [779] (title: Challenges and ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601271 [1462] (title: Employment Law ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601274 [885] (title: Prohibition Sig) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601280 [1292] (title: The Experimenta) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601291 [1168] (title: Improving Assoc) is a human-generated sample, misclassified as AI-generated with confidence 0.85 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601324 [1166] (title: GAN-Based Semi-) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601331 [1053] (title: A Novel Paralle) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601338 [821] (title: Top-Down Synthe) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601354 [943] (title: Compensation of) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601418 [408] (title: The Classificat) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601446 [797] (title: Development and) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601454 [342] (title: The Training Se) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601456 [813] (title: Distribution of) is a human-generated sample, misclassified as AI-generated with confidence 0.72 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601472 [1208] (title: Information Dec) is a human-generated sample, misclassified as AI-generated with confidence 0.97 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601478 [648] (title: Experimental St) is a human-generated sample, misclassified as AI-generated with confidence 0.54 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601485 [406] (title: Approaches to s) is a human-generated sample, misclassified as AI-generated with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601534 [623] (title: An Overview of ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601641 [807] (title: Analysis on the) is a human-generated sample, misclassified as AI-generated with confidence 0.94 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601669 [735] (title: New Dimensional) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-init.jsonl:8601681 [1756] (title: mHealth4Afrika ) is a human-generated sample, misclassified as AI-generated with confidence 1.0 + assert 'AI' == 'Human' + - Human + + AIE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600013 (title: Robust offline trained neural network for TDOA bas) is an LLM-generated sample, misclassified as human-generated with confidence 0.92 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600014 (title: Gaussian MAC with Feedback and Strictly Causal Sta) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600045 (title: A Method Based on Frequent Pattern Mining to Predi) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600080 (title: Identification of Coronary Artery Diseased Subject) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600088 (title: Weighted Nuclear Norm and TV Regularization based ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600089 (title: Modeling MME Residence Time in LTE based Cellular ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600091 (title: Improved Epoch Extraction Using Variational Mode D) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600094 (title: NLOS Detection and Mitigation for UWB/IMU Fusion S) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600099 (title: Ranking-based Collaborative Clustering for Heterog) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600131 (title: Cell-Phone Identification from Recompressed Audio ) is an LLM-generated sample, misclassified as human-generated with confidence 0.82 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600132 (title: Spatial Image Steganalysis Based on ResNeXt) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600143 (title: Balanced Use of Battery Power in Ad-hoc Wireless S) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600153 (title: A New Combinatorial Design Based Data En-Route Fil) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600169 (title: LayerOS: Scheduling Apps between the Local System ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600178 (title: Cost Effective Hash Chain Based Key Pre-Distributi) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600186 (title: Atmospheric Absorption Loss Estimation of Terahert) is an LLM-generated sample, misclassified as human-generated with confidence 0.78 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600190 (title: Manner of Articulation based Split Lattices for Ph) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600198 (title: Cell Search Algorithms at Low SNR for WiMAX System) is an LLM-generated sample, misclassified as human-generated with confidence 0.81 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600201 (title: Control and Management of Optical Networks Using O) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600202 (title: Mridangam Artist Identification from Taniavartanam) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600206 (title: A 3D Placement of Unmanned Aerial Vehicle Base Sta) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600216 (title: Research on the Hidden Markov Model in Hot Topics ) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600219 (title: Deep Learning Intrusion Detection Model Based on O) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600231 (title: Uplink Asynchronous Fractional Pilots Scheduling i) is an LLM-generated sample, misclassified as human-generated with confidence 0.92 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600237 (title: The Adaptive Communication Network Architecture of) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600246 (title: Dynamic Spectrum Assignment Based on Quantum Harmo) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600333 (title: Action-Stage Emphasized Spatiotemporal VLAD for Vi) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600342 (title: Towards High-Efficient Transaction Commitment in a) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600373 (title: Lightweight Feature Fusion Network for Single Imag) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600375 (title: Navion: A 2-mW Fully Integrated Real-Time Visual-I) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600380 (title: Dynamic Texture Classification Using Unsupervised ) is an LLM-generated sample, misclassified as human-generated with confidence 0.5 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600384 (title: A Generative Discriminatory Classified Network for) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600393 (title: Prescribed-Time Observers for Linear Systems in Ob) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600424 (title: Audiovisual Synchrony Detection with Optimized Aud) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600431 (title: Rotation and Precession Periods Estimation of Unst) is an LLM-generated sample, misclassified as human-generated with confidence 0.97 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600437 (title: Visualization of Railway Scene Classification Mode) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600444 (title: Interferometric SAR Baseline Estimation by Partiti) is an LLM-generated sample, misclassified as human-generated with confidence 0.89 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600476 (title: An Improved MMSE-RISIC Equalization Algorithm Base) is an LLM-generated sample, misclassified as human-generated with confidence 0.75 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600484 (title: A Modeling Attack Resistant R-XOR APUF Based on FP) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600485 (title: Towards 3D Human Action Recognition Using a Distil) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600501 (title: Multi-frame Image Super Resolution with Natural Im) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600508 (title: A Raspberry Pi Based Event Driven Quasi Real Time ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600517 (title: A Pre-Compensation Method for Digital-to-Analog Co) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600543 (title: Real-Time Simulation of Electric Vehicle Battery C) is an LLM-generated sample, misclassified as human-generated with confidence 0.97 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600547 (title: Visualization of Large-Scale Electric Grid Oscilla) is an LLM-generated sample, misclassified as human-generated with confidence 0.97 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600549 (title: Residential Load Forecasting Using Deep Neural Net) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600580 (title: Bilevel Programming-Based Unit Commitment for Loca) is an LLM-generated sample, misclassified as human-generated with confidence 0.65 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600584 (title: Minimization of Ohmic Losses in Power Networks by ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600650 (title: Fast Generator Placement Algorithm using High Perf) is an LLM-generated sample, misclassified as human-generated with confidence 0.56 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600676 (title: Solar Photovoltaic output prediction using Jackkni) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600725 (title: Supporting the Momentum Training Algorithm Using a) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600730 (title: High-Performance Visual Tracking With Extreme Lear) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600736 (title: Forecasting Traffic Volume at a Designated Cross-S) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600754 (title: A Castle of Glass: Leaky IoT Appliances in Modern ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600762 (title: Latent Factor-Based Recommenders Relying on Extend) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600788 (title: Communication scheduling and remote estimation wit) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600819 (title: Small Parts Classification with Flexible Machine V) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600827 (title: Towards Real-Time Capable Simulations with a Conta) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600849 (title: Analog Ultra Low-Power Acoustic Wake-Up System Bas) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600851 (title: Ultra-low-latency Video Coding Method for Autonomo) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600852 (title: Speaker Recognition For Digital Forensic Audio Ana) is an LLM-generated sample, misclassified as human-generated with confidence 0.62 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600860 (title: The Industrial IoT for Nusantara) is an LLM-generated sample, misclassified as human-generated with confidence 0.97 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600863 (title: A new method for fast detection and pose estimatio) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600869 (title: Flood Modelling and Prediction Using Artificial Ne) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600891 (title: Smart ECG Holter Monitoring System Using Smartphon) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600895 (title: Realization of IPv6 connectivity via RS485 fieldbu) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600936 (title: Reactive HLA-based Distributed Simulation Systems ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600937 (title: Delay-based Distribution and Optimization of A Sim) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8600998 (title: Adaptive Event Driven Framework for Real Time Mult) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601025 (title: MRAS Based Sensorless Control of High Speed PMSMs ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601141 (title: Energy Saving Transmission Technique for Poisson D) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601150 (title: Device Classification for NILM using FIT-PS compar) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601203 (title: Performance Analysis of Machine Learning Classifie) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601218 (title: Detecting and Removing the Impulsive Noise in OFDM) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601232 (title: A Training Utility for Estimating the Bowling Spee) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601242 (title: Retinal Vessel Tortuosity Characterisation Using B) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601243 (title: Preprocessed Faster RCNN for Vehicle Detection) is an LLM-generated sample, misclassified as human-generated with confidence 0.98 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601254 (title: Emulating Software Defined Network Using Mininet a) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601280 (title: The Experimental Comparison of Features for Hand D) is an LLM-generated sample, misclassified as human-generated with confidence 0.75 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601303 (title: A Controllable Deflection Routing and Wavelength A) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601343 (title: Automatically Evaluating Balance: A Machine Learni) is an LLM-generated sample, misclassified as human-generated with confidence 0.81 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601346 (title: BLUEs and Reliability Analysis for General Censore) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601351 (title: PolSAR Image Semantic Segmentation Based on Deep T) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601356 (title: Identification of Composite Demand Side Model With) is an LLM-generated sample, misclassified as human-generated with confidence 0.52 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601362 (title: Cofactor-Based Efficient Endmember Extraction for ) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601379 (title: Stiffness Control of Deformable Robots Using Finit) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601430 (title: Short-Term Forecast of Electricity Load for LLC &#) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601440 (title: Perspective Neural Network Algorithms for Dynamic ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601497 (title: Estimation of Probability of Error on Degree Teleg) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601560 (title: Photovoltaic Modules Power Degradation and Lifetim) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601567 (title: A new PV generation power prediction model based o) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601579 (title: Correlation Mining for Reconstruction Measures and) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601588 (title: An Equivalent Modeling Method for Multi-port Area ) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601654 (title: Equivalent Modeling of Distributed Photovoltaic Po) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601668 (title: Decision Tree-based Real-time Emergency Control St) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-chatgpt-polish.jsonl:8601703 (title: Optimal allocation of distributed reactive power c) is an LLM-generated sample, misclassified as human-generated with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/ieee-vicuna-generation.jsonl:8600178 (title: Cost Effective Hash Chain Based Key Pre-Distributi) is an LLM-generated sample, misclassified as human-generated with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> + +The above exception was the direct cause of the following exception: +E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/ieee-vicuna-generation.jsonl:8601669 (title: New Dimensionality Reduction Method of Wind Power ) is an LLM-generated sample, misclassified as human-generated with confidence 0.84 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:4 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:7 was misclassified with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:9 was misclassified with confidence 0.72 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:10 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:12 was misclassified with confidence 0.72 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:14 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:21 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:22 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:24 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:25 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:26 was misclassified with confidence 0.97 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:27 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:30 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:31 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:32 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:34 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:35 was misclassified with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:36 was misclassified with confidence 1.0 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:40 was misclassified with confidence 0.99 + assert 'Human' == 'AI' + - AI + + HumanE AssertionError: samples/gptzero_eval.csv:51 was misclassified with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AIE httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> + +The above exception was the direct cause of the following exception: +E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E httpcore.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None> + +The above exception was the direct cause of the following exception: +E httpx.RemoteProtocolError: <ConnectionTerminated error_code:ErrorCodes.NO_ERROR, last_stream_id:1, additional_data:None>E AssertionError: samples/gptzero_eval.csv:75 was misclassified with confidence 0.99 + assert 'AI' == 'Human' + - Human + + AI \ No newline at end of file diff --git a/nlzmadetect/src/nlzmadetect.nim b/nlzmadetect/src/nlzmadetect.nim index 6e18e92..3acab82 100644 --- a/nlzmadetect/src/nlzmadetect.nim +++ b/nlzmadetect/src/nlzmadetect.nim @@ -203,5 +203,3 @@ when defined(js) and isMainModule: if opacity < 0.0: opacity = 0.0 return opacity - - #window.onload = on_load diff --git a/plot_rocs.py b/plot_rocs.py index e5ca647..1de10bc 100644 --- a/plot_rocs.py +++ b/plot_rocs.py @@ -6,7 +6,7 @@ from sklearn.metrics import roc_curve, auc import re from junitparser import JUnitXml -MODELS = ['zippy', 'roberta', 'gptzero', 'crossplag', 'contentatscale'] +MODELS = ['zippy-lzma', 'zippy-zlib', 'roberta', 'gptzero', 'crossplag', 'contentatscale'] SKIPCASES = ['gpt2', 'gpt3'] MAX_PER_CASE = 500 diff --git a/test_contentatscale_detect.py b/test_contentatscale_detect.py index 381ab85..cca7b41 100644 --- a/test_contentatscale_detect.py +++ b/test_contentatscale_detect.py @@ -8,7 +8,7 @@ AI_SAMPLE_DIR = 'samples/llm-generated/' HUMAN_SAMPLE_DIR = 'samples/human-generated/' MIN_LEN = 150 -NUM_JSONL_SAMPLES = 15#500 +NUM_JSONL_SAMPLES = 500 ai_files = os.listdir(AI_SAMPLE_DIR) human_files = os.listdir(HUMAN_SAMPLE_DIR) @@ -68,37 +68,37 @@ def test_human_jsonl(i, record_property): record_property("score", str(score)) assert classification == 'Human', HUMAN_JSONL_FILE + ':' + str(i.get('id')) + ' (len: ' + str(i.get('length', -1)) + ') is a human-generated sample, misclassified as AI-generated with confidence ' + str(round(score, 8)) -AI_JSONL_FILE = 'samples/xl-1542M.test.jsonl' -ai_samples = [] -with jsonlines.open(AI_JSONL_FILE) as reader: - for obj in reader: - ai_samples.append(obj) +# AI_JSONL_FILE = 'samples/xl-1542M.test.jsonl' +# ai_samples = [] +# with jsonlines.open(AI_JSONL_FILE) as reader: +# for obj in reader: +# ai_samples.append(obj) -@pytest.mark.parametrize('i', ai_samples[0:NUM_JSONL_SAMPLES]) -def test_llm_jsonl(i, record_property): - res = run_on_text_chunked(i.get('text', '')) - if res is None: - pytest.skip('Unable to classify') - (classification, score) = res - record_property("score", str(score)) - assert classification == 'AI', AI_JSONL_FILE + ':' + str(i.get('id')) + ' (text: ' + i.get('text', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) +# @pytest.mark.parametrize('i', ai_samples[0:NUM_JSONL_SAMPLES]) +# def test_gpt2_jsonl(i, record_property): +# res = run_on_text_chunked(i.get('text', '')) +# if res is None: +# pytest.skip('Unable to classify') +# (classification, score) = res +# record_property("score", str(score)) +# assert classification == 'AI', AI_JSONL_FILE + ':' + str(i.get('id')) + ' (text: ' + i.get('text', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) -GPT3_JSONL_FILE = 'samples/GPT-3-175b_samples.jsonl' -gpt3_samples = [] -with jsonlines.open(GPT3_JSONL_FILE) as reader: - for o in reader: - for l in o.split('<|endoftext|>'): - if len(l) >= MIN_LEN: - gpt3_samples.append(l) +# GPT3_JSONL_FILE = 'samples/GPT-3-175b_samples.jsonl' +# gpt3_samples = [] +# with jsonlines.open(GPT3_JSONL_FILE) as reader: +# for o in reader: +# for l in o.split('<|endoftext|>'): +# if len(l) >= MIN_LEN: +# gpt3_samples.append(l) -@pytest.mark.parametrize('i', gpt3_samples[0:NUM_JSONL_SAMPLES]) -def test_gpt3_jsonl(i, record_property): - res = run_on_text_chunked(i) - if res is None: - pytest.skip('Unable to classify') - (classification, score) = res - record_property("score", str(score)) - assert classification == 'AI', GPT3_JSONL_FILE + ' is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) +# @pytest.mark.parametrize('i', gpt3_samples[0:NUM_JSONL_SAMPLES]) +# def test_gpt3_jsonl(i, record_property): +# res = run_on_text_chunked(i) +# if res is None: +# pytest.skip('Unable to classify') +# (classification, score) = res +# record_property("score", str(score)) +# assert classification == 'AI', GPT3_JSONL_FILE[0:250] + ' is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) NEWS_JSONL_FILE = 'samples/news.jsonl' news_samples = [] diff --git a/test_zippy_detect.py b/test_zippy_detect.py index b2a5b55..dc7a28e 100644 --- a/test_zippy_detect.py +++ b/test_zippy_detect.py @@ -2,21 +2,24 @@ import pytest, os, jsonlines, csv from warnings import warn -from zippy import run_on_file_chunked, run_on_text_chunked, PRELUDE_STR, LzmaLlmDetector +from zippy import run_on_file_chunked, run_on_text_chunked, PRELUDE_STR, LzmaLlmDetector, CompressionEngine, ZlibLlmDetector, ENGINE +import zippy AI_SAMPLE_DIR = 'samples/llm-generated/' HUMAN_SAMPLE_DIR = 'samples/human-generated/' -MIN_LEN = 50 +MIN_LEN = 150 NUM_JSONL_SAMPLES = 500 ai_files = os.listdir(AI_SAMPLE_DIR) human_files = os.listdir(HUMAN_SAMPLE_DIR) -FUZZINESS = 3 CONFIDENCE_THRESHOLD : float = 0.00 # What confidence to treat as error vs warning -PRELUDE_RATIO = LzmaLlmDetector(prelude_str=PRELUDE_STR).prelude_ratio +if ENGINE == CompressionEngine.LZMA: + PRELUDE_RATIO = LzmaLlmDetector(prelude_str=PRELUDE_STR).prelude_ratio +elif ENGINE == CompressionEngine.ZLIB: + PRELUDE_RATIO = ZlibLlmDetector(prelude_str=PRELUDE_STR).prelude_ratio def test_training_file(record_property): (classification, score) = run_on_file_chunked('ai-generated.txt') @@ -25,7 +28,7 @@ def test_training_file(record_property): @pytest.mark.parametrize('f', human_files) def test_human_samples(f, record_property): - (classification, score) = run_on_file_chunked(HUMAN_SAMPLE_DIR + f, fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_file_chunked(HUMAN_SAMPLE_DIR + f, prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) if score > CONFIDENCE_THRESHOLD: assert classification == 'Human', f + ' is a human-generated file, misclassified as AI-generated with confidence ' + str(round(score, 8)) @@ -37,7 +40,7 @@ def test_human_samples(f, record_property): @pytest.mark.parametrize('f', ai_files) def test_llm_sample(f, record_property): - (classification, score) = run_on_file_chunked(AI_SAMPLE_DIR + f, fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_file_chunked(AI_SAMPLE_DIR + f, prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) if score > CONFIDENCE_THRESHOLD: assert classification == 'AI', f + ' is an LLM-generated file, misclassified as human-generated with confidence ' + str(round(score, 8)) @@ -56,36 +59,36 @@ with jsonlines.open(HUMAN_JSONL_FILE) as reader: @pytest.mark.parametrize('i', human_samples[0:NUM_JSONL_SAMPLES]) def test_human_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('text', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('text', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'Human', HUMAN_JSONL_FILE + ':' + str(i.get('id')) + ' (len: ' + str(i.get('length', -1)) + ') is a human-generated sample, misclassified as AI-generated with confidence ' + str(round(score, 8)) -AI_JSONL_FILE = 'samples/xl-1542M.test.jsonl' -ai_samples = [] -with jsonlines.open(AI_JSONL_FILE) as reader: - for obj in reader: - if obj.get('length', 0) >= MIN_LEN: - ai_samples.append(obj) +# AI_JSONL_FILE = 'samples/xl-1542M.test.jsonl' +# ai_samples = [] +# with jsonlines.open(AI_JSONL_FILE) as reader: +# for obj in reader: +# if obj.get('length', 0) >= MIN_LEN: +# ai_samples.append(obj) -@pytest.mark.parametrize('i', ai_samples[0:NUM_JSONL_SAMPLES]) -def test_gpt2_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('text', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) - record_property("score", str(score)) - assert classification == 'AI', AI_JSONL_FILE + ':' + str(i.get('id')) + ' (text: ' + i.get('text', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) +# @pytest.mark.parametrize('i', ai_samples[0:NUM_JSONL_SAMPLES]) +# def test_gpt2_jsonl(i, record_property): +# (classification, score) = run_on_text_chunked(i.get('text', ''), prelude_ratio=PRELUDE_RATIO) +# record_property("score", str(score)) +# assert classification == 'AI', AI_JSONL_FILE + ':' + str(i.get('id')) + ' (text: ' + i.get('text', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) -GPT3_JSONL_FILE = 'samples/GPT-3-175b_samples.jsonl' -gpt3_samples = [] -with jsonlines.open(GPT3_JSONL_FILE) as reader: - for o in reader: - for l in o.split('<|endoftext|>'): - if len(l) >= MIN_LEN: - gpt3_samples.append(l) +# GPT3_JSONL_FILE = 'samples/GPT-3-175b_samples.jsonl' +# gpt3_samples = [] +# with jsonlines.open(GPT3_JSONL_FILE) as reader: +# for o in reader: +# for l in o.split('<|endoftext|>'): +# if len(l) >= MIN_LEN: +# gpt3_samples.append(l) -@pytest.mark.parametrize('i', gpt3_samples[0:NUM_JSONL_SAMPLES]) -def test_gpt3_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i, fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) - record_property("score", str(score)) - assert classification == 'AI', GPT3_JSONL_FILE + ' is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) +# @pytest.mark.parametrize('i', gpt3_samples[0:NUM_JSONL_SAMPLES]) +# def test_gpt3_jsonl(i, record_property): +# (classification, score) = run_on_text_chunked(i, prelude_ratio=PRELUDE_RATIO) +# record_property("score", str(score)) +# assert classification == 'AI', GPT3_JSONL_FILE + ' is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) NEWS_JSONL_FILE = 'samples/news.jsonl' news_samples = [] @@ -95,13 +98,13 @@ with jsonlines.open(NEWS_JSONL_FILE) as reader: @pytest.mark.parametrize('i', news_samples[0:NUM_JSONL_SAMPLES]) def test_humannews_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('human', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('human', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'Human', NEWS_JSONL_FILE + ' is a human-generated sample, misclassified as AI-generated with confidence ' + str(round(score, 8)) @pytest.mark.parametrize('i', news_samples[0:NUM_JSONL_SAMPLES]) def test_chatgptnews_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('chatgpt', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('chatgpt', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'AI', NEWS_JSONL_FILE + ' is a AI-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) @@ -114,7 +117,7 @@ with jsonlines.open(CHEAT_HUMAN_JSONL_FILE) as reader: @pytest.mark.parametrize('i', ch_samples[0:NUM_JSONL_SAMPLES]) def test_cheat_human_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('abstract', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('abstract', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'Human', CHEAT_HUMAN_JSONL_FILE + ':' + str(i.get('id')) + ' [' + str(len(i.get('abstract', ''))) + '] (title: ' + i.get('title', "").replace('\n', ' ')[:15] + ') is a human-generated sample, misclassified as AI-generated with confidence ' + str(round(score, 8)) @@ -127,7 +130,7 @@ with jsonlines.open(CHEAT_GEN_JSONL_FILE) as reader: @pytest.mark.parametrize('i', cg_samples[0:NUM_JSONL_SAMPLES]) def test_cheat_generation_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('abstract', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('abstract', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'AI', CHEAT_GEN_JSONL_FILE + ':' + str(i.get('id')) + ' (title: ' + i.get('title', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) @@ -140,7 +143,7 @@ with jsonlines.open(CHEAT_POLISH_JSONL_FILE) as reader: @pytest.mark.parametrize('i', cp_samples[0:NUM_JSONL_SAMPLES]) def test_cheat_polish_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('abstract', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('abstract', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'AI', CHEAT_POLISH_JSONL_FILE + ':' + str(i.get('id')) + ' (title: ' + i.get('title', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) @@ -153,7 +156,7 @@ with jsonlines.open(CHEAT_VICUNAGEN_JSONL_FILE) as reader: @pytest.mark.parametrize('i', vg_samples[0:NUM_JSONL_SAMPLES]) def test_vicuna_generation_jsonl(i, record_property): - (classification, score) = run_on_text_chunked(i.get('abstract', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('abstract', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == 'AI', CHEAT_VICUNAGEN_JSONL_FILE + ':' + str(i.get('id')) + ' (title: ' + i.get('title', "").replace('\n', ' ')[:50] + ') is an LLM-generated sample, misclassified as human-generated with confidence ' + str(round(score, 8)) @@ -167,12 +170,12 @@ with open(GPTZERO_EVAL_FILE) as fp: @pytest.mark.parametrize('i', list(filter(lambda x: x.get('Label') == 'Human', ge_samples[0:NUM_JSONL_SAMPLES]))) def test_gptzero_eval_dataset_human(i, record_property): - (classification, score) = run_on_text_chunked(i.get('Document', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('Document', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == i.get('Label'), GPTZERO_EVAL_FILE + ':' + str(i.get('Index')) + ' was misclassified with confidence ' + str(round(score, 8)) @pytest.mark.parametrize('i', list(filter(lambda x: x.get('Label') == 'AI', ge_samples[0:NUM_JSONL_SAMPLES]))) def test_gptzero_eval_dataset_ai(i, record_property): - (classification, score) = run_on_text_chunked(i.get('Document', ''), fuzziness=FUZZINESS, prelude_ratio=PRELUDE_RATIO) + (classification, score) = run_on_text_chunked(i.get('Document', ''), prelude_ratio=PRELUDE_RATIO) record_property("score", str(score)) assert classification == i.get('Label'), GPTZERO_EVAL_FILE + ':' + str(i.get('Index')) + ' was misclassified with confidence ' + str(round(score, 8)) diff --git a/zippy.py b/zippy.py index d8d7933..3455818 100755 --- a/zippy.py +++ b/zippy.py @@ -5,12 +5,21 @@ # Author: Jacob Torrey import lzma, argparse, os, itertools +from zlib import compressobj, Z_FINISH import re, sys +from abc import ABC, abstractmethod +from enum import Enum from typing import List, Optional, Tuple, TypeAlias from multiprocessing import Pool, cpu_count Score : TypeAlias = tuple[str, float] +class CompressionEngine(Enum): + LZMA = 1 + ZLIB = 2 + +ENGINE : CompressionEngine = CompressionEngine.ZLIB + def clean_text(s : str) -> str: ''' Removes formatting and other non-content data that may skew compression ratios (e.g., duplicate spaces) @@ -32,9 +41,61 @@ PRELUDE_FILE : str = 'ai-generated.txt' with open(PRELUDE_FILE, 'r') as fp: PRELUDE_STR = clean_text(fp.read()) -class LzmaLlmDetector: +class AIDetector(ABC): + ''' + Base class for AI detection + ''' + @abstractmethod + def score_text(self, sample : str) -> Optional[Score]: + pass + +class ZlibLlmDetector(AIDetector): + '''Class providing functionality to attempt to detect LLM/generative AI generated text using the zlib compression algorithm''' + def __init__(self, prelude_file : Optional[str] = None, prelude_str : Optional[str] = None, prelude_ratio : Optional[float] = None): + self.PRESET = 9 + self.WBITS = -15 + self.prelude_ratio = 0.0 + if prelude_ratio != None: + self.prelude_ratio = prelude_ratio + + if prelude_file != None: + with open(prelude_file) as fp: + self.prelude_str = fp.read() + self.prelude_ratio = self._compress(self.prelude_str) + + if prelude_str != None: + self.prelude_str = prelude_str + self.prelude_ratio = self._compress(self.prelude_str) + + def _compress(self, s : str) -> float: + orig_len = len(s.encode()) + c = compressobj(level=self.PRESET, wbits=self.WBITS, memLevel=9) + bytes = c.compress(s.encode()) + bytes += c.flush(Z_FINISH) + c_len = len(bytes) + #c_len = len(compress(s.encode(), level=self.PRESET, wbits=self.WBITS)) + return c_len / orig_len + + def score_text(self, sample: str) -> Score | None: + ''' + Returns a tuple of a string (AI or Human) and a float confidence (higher is more confident) that the sample was generated + by either an AI or human. Returns None if it cannot make a determination + ''' + if self.prelude_ratio == 0.0: + return None + sample_score = self._compress(self.prelude_str + sample) + #print(str((self.prelude_ratio, sample_score))) + delta = self.prelude_ratio - sample_score + determination = 'AI' + if delta < 0: + determination = 'Human' + + return (determination, abs(delta * 100)) + + +class LzmaLlmDetector(AIDetector): '''Class providing functionality to attempt to detect LLM/generative AI generated text using the LZMA compression algorithm''' - def __init__(self, prelude_file : Optional[str] = None, fuzziness_digits : int = 3, prelude_str : Optional[str] = None, prelude_ratio : Optional[float] = None) -> None: + def __init__(self, prelude_file : Optional[str] = None, prelude_str : Optional[str] = None, prelude_ratio : Optional[float] = None) -> None: '''Initializes a compression with the passed prelude file, and optionally the number of digits to round to compare prelude vs. sample compression''' self.PRESET : int = 2 self.comp = lzma.LZMACompressor(preset=self.PRESET) @@ -43,7 +104,6 @@ class LzmaLlmDetector: self.prelude_ratio : float = 0.0 if prelude_ratio != None: self.prelude_ratio = prelude_ratio - self.FUZZINESS_THRESHOLD = fuzziness_digits self.SHORT_SAMPLE_THRESHOLD : int = 350 # What sample length is considered "short" if prelude_file != None: @@ -102,39 +162,39 @@ class LzmaLlmDetector: if self.prelude_ratio == 0.0: return None (prelude_score, sample_score) = self.get_compression_ratio(sample) - #print(str((prelude_score, sample_score))) + print(str((self.prelude_ratio, sample_score))) delta = prelude_score - sample_score determination = 'AI' if delta < 0: determination = 'Human' - # If the sample doesn't 'move the needle', it's very close - # if round(delta, self.FUZZINESS_THRESHOLD) == 0 and len(sample) >= self.SHORT_SAMPLE_THRESHOLD: - # #print('Sample len to default to AI: ' + str(len(sample))) - # determination = 'AI' - # if round(delta, self.FUZZINESS_THRESHOLD) == 0 and len(sample) < self.SHORT_SAMPLE_THRESHOLD: - # #print('Sample len to default to Human: ' + str(len(sample))) - # determination = 'Human' - #if abs(delta * 100) < .1 and determination == 'AI': - # print("Very low-confidence determination of: " + determination) return (determination, abs(delta * 100)) -def run_on_file(filename : str, fuzziness : int = 3) -> Optional[Score]: +def run_on_file(filename : str) -> Optional[Score]: '''Given a filename (and an optional number of decimal places to round to) returns the score for the contents of that file''' with open(filename, 'r') as fp: - l = LzmaLlmDetector(PRELUDE_FILE, fuzziness) + if ENGINE == CompressionEngine.LZMA: + l = LzmaLlmDetector(prelude_file=PRELUDE_FILE) + elif ENGINE == CompressionEngine.ZLIB: + l = ZlibLlmDetector(prelude_file=PRELUDE_FILE) txt = fp.read() #print('Calculating score for input of length ' + str(len(txt))) return l.score_text(txt) -def _score_chunk(c : str, fuzziness : int = 3, prelude_file : Optional[str] = None, prelude_ratio : Optional[float] = None) -> Score: +def _score_chunk(c : str, prelude_file : Optional[str] = None, prelude_ratio : Optional[float] = None) -> Score: if prelude_file != None: - l = LzmaLlmDetector(fuzziness_digits=fuzziness, prelude_file=prelude_file) + if ENGINE == CompressionEngine.LZMA: + l = LzmaLlmDetector(prelude_file=prelude_file) + if ENGINE == CompressionEngine.ZLIB: + l = ZlibLlmDetector(prelude_file=prelude_file) else: - l = LzmaLlmDetector(fuzziness_digits=fuzziness, prelude_str=PRELUDE_STR, prelude_ratio=prelude_ratio) + if ENGINE == CompressionEngine.LZMA: + l = LzmaLlmDetector(prelude_str=PRELUDE_STR, prelude_ratio=prelude_ratio) + if ENGINE == CompressionEngine.ZLIB: + l = ZlibLlmDetector(prelude_str=PRELUDE_STR, prelude_ratio=prelude_ratio) return l.score_text(c) -def run_on_file_chunked(filename : str, chunk_size : int = 1500, fuzziness : int = 3, prelude_ratio : Optional[float] = None) -> Optional[Score]: +def run_on_file_chunked(filename : str, chunk_size : int = 1500, prelude_ratio : Optional[float] = None) -> Optional[Score]: ''' Given a filename (and an optional chunk size and number of decimal places to round to) returns the score for the contents of that file. This function chunks the file into at most chunk_size parts to score separately, then returns an average. This prevents a very large input @@ -142,9 +202,9 @@ def run_on_file_chunked(filename : str, chunk_size : int = 1500, fuzziness : int ''' with open(filename, 'r') as fp: contents = fp.read() - return run_on_text_chunked(contents, chunk_size, fuzziness=fuzziness, prelude_ratio=prelude_ratio) + return run_on_text_chunked(contents, chunk_size, prelude_ratio=prelude_ratio) -def run_on_text_chunked(s : str, chunk_size : int = 1500, fuzziness : int = 3, prelude_file : Optional[str] = None, prelude_ratio : Optional[float] = None) -> Optional[Score]: +def run_on_text_chunked(s : str, chunk_size : int = 1500, prelude_file : Optional[str] = None, prelude_ratio : Optional[float] = None) -> Optional[Score]: ''' Given a string (and an optional chunk size and number of decimal places to round to) returns the score for the passed string. This function chunks the input into at most chunk_size parts to score separately, then returns an average. This prevents a very large input @@ -163,11 +223,11 @@ def run_on_text_chunked(s : str, chunk_size : int = 1500, fuzziness : int = 3, p scores = [] if len(chunks) > 2: with Pool(cpu_count()) as pool: - for r in pool.starmap(_score_chunk, zip(chunks, itertools.repeat(fuzziness), itertools.repeat(prelude_file), itertools.repeat(prelude_ratio))): + for r in pool.starmap(_score_chunk, zip(chunks, itertools.repeat(prelude_file), itertools.repeat(prelude_ratio))): scores.append(r) else: for c in chunks: - scores.append(_score_chunk(c, fuzziness=fuzziness, prelude_file=prelude_file, prelude_ratio=prelude_ratio)) + scores.append(_score_chunk(c, prelude_file=prelude_file, prelude_ratio=prelude_ratio)) ssum : float = 0.0 for i, s in enumerate(scores): if s[0] == 'AI': @@ -183,10 +243,16 @@ def run_on_text_chunked(s : str, chunk_size : int = 1500, fuzziness : int = 3, p if __name__ == '__main__': parser = argparse.ArgumentParser() + parser.add_argument("-e", choices=['zlib', 'lzma'], help='Which compression engine to use: lzma or zlib', default='lzma', required=False) group = parser.add_mutually_exclusive_group() group.add_argument("-s", help='Read from stdin until EOF is reached instead of from a file', required=False, action='store_true') group.add_argument("sample_files", nargs='*', help='Text file(s) containing the sample to classify', default="") args = parser.parse_args() + if args.e: + if args.e == 'lzma': + ENGINE = CompressionEngine.LZMA + elif args.e == 'zlib': + ENGINE = CompressionEngine.ZLIB if args.s: print(str(run_on_text_chunked(''.join(list(sys.stdin))))) elif len(args.sample_files) == 0: