From 1a0eb09b5b5fc9153c0dd24e5b83e0a1a18a1165 Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Tue, 2 Mar 2021 16:29:19 +0100 Subject: [PATCH 01/28] TF-IDF no teste et classe en construction --- .DS_Store | Bin 0 -> 8196 bytes index_inverse/Index_Inverse.py | 14 +++++++++++++ index_inverse/TF-IDF.py | 37 +++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 .DS_Store create mode 100644 index_inverse/Index_Inverse.py create mode 100644 index_inverse/TF-IDF.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..431aa2835df25e6a288d58e9c4d8a9e918f80db9 GIT binary patch literal 8196 zcmeHMPm9w)6o1pLZi*}x5$!Pu9)u$8veHEmVy&nb5h9AHbdybJ!=_1T(~Vjyxr=Af zFCd;gdiSI^5y3Cuckt?)KX#L*4SNz7--CI-$;^9`_kNSibW#9d?TOO_r~!b6g=6&u zswKkvdC5shwVXj@=nsCcY3_!DVa}2ohyh}N7$63S0b<}^VF34RF4~HHU-ptF28e_K7D6;Zk}b;MxO9ouzfXDCc0 zN_SxD@WIrbnL42`ad#YF7v{hWiKK}EVj#}|Kf9OVBJ{w6D0_Z)zNPyHVW(sJp^a@? z_vP)@&0n9cX8WDO{$W4$ZJ_iOU11$|VFVV$;DZaJ?A_V>yhS>O3-2z!x*=m&7-tY3 zM6%i{6OUYMHjsk=9E{}&bVYri#|2|>?RY#?*?+NzzBi5Y9^Ll>Cyd+S zByh%J98-3P8+EI->9o1ss_UDZTeG@8ZM7P8{nFO8u`noM)9AE1gS`-I5G6e7x}0!??QmBDi2@y__yb48jOX5niA3>Cp`!gC`5++%jv@nVGUysV|6gDI{r@PYMlllu z#K0jLVC9b4X`}I|o)-?GlN?1y$yU0AA1kFvPl!rrgI+m`KDH6#5V# MXdp!l{8a{i13;YzO#lD@ literal 0 HcmV?d00001 diff --git a/index_inverse/Index_Inverse.py b/index_inverse/Index_Inverse.py new file mode 100644 index 0000000..4f1eb63 --- /dev/null +++ b/index_inverse/Index_Inverse.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +class IndexInverse : + """Classe pour l'index inverse : + -Mot + -Urls de sortie + -Score """ + + def __init__(self, mot, list_url_sorti, score) : + """Constructeur IndexInverse""" + self.mot = mot + self.list_url = list_url_sorti + self.score = score + + diff --git a/index_inverse/TF-IDF.py b/index_inverse/TF-IDF.py new file mode 100644 index 0000000..23b58fe --- /dev/null +++ b/index_inverse/TF-IDF.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +from math import log + +def calculTF(terme, document): + occ = kmp(terme, document) + nbMot = len(document.split()) + tf = occ / nbMot + return tf + + +def freqDocument(terme, collectionDocument): + freq = 0 + for i in collectionDocument: + if (kmp(terme, i) != 0): + freq = freq + 1 + return freq + +def calculIDF(terme, collectionDocument) : + freq = freqDocument(terme, collectionDocument) + if (freq == 0) : + return 0 + else : + idf = log(len(collectionDocument)/freq,2) + return idf + + + +def calculTFIDF(terme, collectionDocument, document): + tf = calculTF(terme, document) + idf = calculIDF(terme, collectionDocument) + tf_idf = tf*idf + return tf_idf + +def norm_log_tf(terme, document): + occ = kmp(terme, document) + norm_log = 1 + log(occ, 2) + return norm_log -- GitLab From 88148b944779c1ef43f3be247b0259513914f75f Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Sun, 7 Mar 2021 15:28:31 +0100 Subject: [PATCH 02/28] creer deux repertoires --- .DS_Store | Bin 8196 -> 8196 bytes index_inverse/.DS_Store | Bin 0 -> 6148 bytes .../Untitled-checkpoint.ipynb | 6 ++ index_inverse/Untitled.ipynb | 6 ++ index_inverse/{ => src}/Index_Inverse.py | 0 index_inverse/{ => src}/TF-IDF.py | 0 index_inverse/src/kmp.py | 59 ++++++++++++++++++ index_inverse/test/.DS_Store | Bin 0 -> 6148 bytes 8 files changed, 71 insertions(+) create mode 100644 index_inverse/.DS_Store create mode 100644 index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb create mode 100644 index_inverse/Untitled.ipynb rename index_inverse/{ => src}/Index_Inverse.py (100%) rename index_inverse/{ => src}/TF-IDF.py (100%) create mode 100644 index_inverse/src/kmp.py create mode 100644 index_inverse/test/.DS_Store diff --git a/.DS_Store b/.DS_Store index 431aa2835df25e6a288d58e9c4d8a9e918f80db9..d0eff8a12503c40d8412b99a90107903072ebb94 100644 GIT binary patch delta 169 zcmZp1XmQw}CJ>uHhk=2Cg+Y%YogtHy+5A*U Go)-WnLojOq delta 170 zcmZp1XmQw}CJ>u)iGhKEg+Y%YogtH#cg-Cr=Yn1d1X|go)};mKR~2JV!`+ J^HU*tUI0(+FU0@= diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3a6e2ff4b131094fd007d9f91c499b6e02435a41 GIT binary patch literal 6148 zcmeHK!AiqG5PjSB&>~3j1~uKt9d;;;At9tBUn z*gyexm~N>~?U7OU!YH^7Bh@#aPD73`;E1i{3EFrgOiDlTGWUSro--7IS?2_TcpB z{_XjA^V-q3Yv+?PUwOaL!~)kyMvEkkvn(xzJ}s`4DbvSb@Acu`()UwMvlYQ=cAbJu ziWa3Dlg6@4q6pT|C~{>YPcQqOM@OWTUs0*c*O0M{v{40Afq$t0_iVBDmP2h-0aZX1 zC=`(ILqHb{J?0MWr-O|>0uWmaTVvn;YY_tp5JQi-Lq=%El@eX4@kb2f${7#*xX@$n z(3Qj3J98d?XX8&O#@?Orzz&BA9crrzr~>N>G~H!a_W!}x=l}I0y;22Kfj^~yX+^`R z&n5Z2wX!(bYXkZ@T};O14vP|Y>{iUNvK8;rtuY=*hZuUy9Wp}G9|0?aHmbmnD)0ej Cmweg) literal 0 HcmV?d00001 diff --git a/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..2fd6442 --- /dev/null +++ b/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/index_inverse/Untitled.ipynb b/index_inverse/Untitled.ipynb new file mode 100644 index 0000000..2fd6442 --- /dev/null +++ b/index_inverse/Untitled.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/index_inverse/Index_Inverse.py b/index_inverse/src/Index_Inverse.py similarity index 100% rename from index_inverse/Index_Inverse.py rename to index_inverse/src/Index_Inverse.py diff --git a/index_inverse/TF-IDF.py b/index_inverse/src/TF-IDF.py similarity index 100% rename from index_inverse/TF-IDF.py rename to index_inverse/src/TF-IDF.py diff --git a/index_inverse/src/kmp.py b/index_inverse/src/kmp.py new file mode 100644 index 0000000..6f396aa --- /dev/null +++ b/index_inverse/src/kmp.py @@ -0,0 +1,59 @@ +# kmp + +def kmp_bord (mot): + n=len(mot) + tab=[None]*(n+1) + tab[0]=-1 + tab[1]=0 + j=0 + for i in range(2,n): + while mot[j]!=mot[i-1] and tab[j]>=0: + j=tab[j] + + j=j+1 + if j==0 or mot[i]!=mot[j] : + tab[i]=j + else: + tab[i]=tab[j] + if i==n-1: + tab[n]=j+1 + return tab + +def knuth_morris_pratt (texte, motif): + i=j=0 + occ=0 + table_bord= kmp_bord (motif) + m=len(motif) + n=len(texte) + # n: la taille de texte + # m: la taille de motif + while i<= (n-m+j) : + while j Date: Mon, 8 Mar 2021 16:53:31 +0000 Subject: [PATCH 05/28] Update kmp.py --- index_inverse/src/kmp.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/index_inverse/src/kmp.py b/index_inverse/src/kmp.py index 6f396aa..9e6e758 100644 --- a/index_inverse/src/kmp.py +++ b/index_inverse/src/kmp.py @@ -43,17 +43,3 @@ def knuth_morris_pratt (texte, motif): - - - -# Test -print(kmp_bord ("aaaaa")) -print(kmp_bord ("abbab")) - -texte="abbabaabbabab" -motif="abbab" -print('occ=',knuth_morris_pratt (texte,motif)) -print(kmp_bord (motif)) - - - -- GitLab From b6095ad2f7110dfbc21e68f484662f2727ac756d Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Mon, 8 Mar 2021 17:24:28 +0000 Subject: [PATCH 06/28] Update Index_Inverse.py --- index_inverse/src/Index_Inverse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index_inverse/src/Index_Inverse.py b/index_inverse/src/Index_Inverse.py index 98c7ee3..103c4a3 100644 --- a/index_inverse/src/Index_Inverse.py +++ b/index_inverse/src/Index_Inverse.py @@ -7,7 +7,7 @@ class IndexInverse : -IDF -Score """ - def __init__(self, mot, list_url_sorti, idf, score) : + def __init__(self, mot, list_url, list_kmp, idf, score) : """Constructeur IndexInverse""" self.mot = mot self.list_url = list_url -- GitLab From fa842bdd08a8a8a97aed9e60f7b42fbc9832d7b7 Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Mon, 8 Mar 2021 17:25:38 +0000 Subject: [PATCH 07/28] Update TF-IDF.py --- index_inverse/src/TF-IDF.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index_inverse/src/TF-IDF.py b/index_inverse/src/TF-IDF.py index e6625ad..4f0c165 100644 --- a/index_inverse/src/TF-IDF.py +++ b/index_inverse/src/TF-IDF.py @@ -16,10 +16,10 @@ def freqDocument(terme, collectionDocument): def calculIDF(terme, collectionDocument) : freq = freqDocument(terme,collectionDocument) - if (frequence == 0) : + if (freq == 0) : return 0 else : - idf = log(len(collectionDocument)/frequence,2) + idf = log(len(collectionDocument)/freq,2) return idf -- GitLab From c4b1a7c5161a8fb2aa194b9c4209aa4d9532e688 Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Mon, 8 Mar 2021 18:15:15 +0000 Subject: [PATCH 08/28] Update TF-IDF.py --- index_inverse/src/{TF-IDF.py => TFIDF.py} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename index_inverse/src/{TF-IDF.py => TFIDF.py} (90%) diff --git a/index_inverse/src/TF-IDF.py b/index_inverse/src/TFIDF.py similarity index 90% rename from index_inverse/src/TF-IDF.py rename to index_inverse/src/TFIDF.py index 4f0c165..6cf9f0a 100644 --- a/index_inverse/src/TF-IDF.py +++ b/index_inverse/src/TFIDF.py @@ -9,7 +9,7 @@ def calculTF(occ, nbMot): def freqDocument(terme, collectionDocument): freq = 0 for i in collectionDocument: - j = terme.liste_url.index(i) + j = terme.list_url.index(i) if (terme.list_kmp[j] > 0): freq = freq + 1 return freq @@ -25,7 +25,7 @@ def calculIDF(terme, collectionDocument) : def calculTFIDF(terme, document, nbMot): - i = terme.liste_url.index(document) + i = terme.list_url.index(document) tf = calculTF(terme.list_kmp[i], nbMot) tf_idf = tf * terme.idf return tf_idf -- GitLab From 13f213166a67c09370fcedcc57699adfefc90b7b Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Mon, 8 Mar 2021 18:22:07 +0000 Subject: [PATCH 09/28] Upload New File test.py --- index_inverse/test/test.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 index_inverse/test/test.py diff --git a/index_inverse/test/test.py b/index_inverse/test/test.py new file mode 100644 index 0000000..7d7a13a --- /dev/null +++ b/index_inverse/test/test.py @@ -0,0 +1,38 @@ +import pytest +import Index_Inverse as Index +import TFIDF as Tfi +import kmp + +# Test kmp + +texte="abbabaabbabab" +motif="abbab" +assert kmp.knuth_morris_pratt(texte,motif) == 2 + +# Test index_inverse + +mot = 'oui' +list_url =['lipn.univ-paris13.fr'] +list_kmp =[3] +inv = Index.IndexInverse(mot, list_url, list_kmp, 0, 0) +idf = Tfi.calculIDF(inv,list_url) +inv.idf = idf + +assert inv.mot == 'oui' +assert inv.list_url[0] == 'lipn.univ-paris13.fr' +assert inv.list_kmp[0] == 3 +assert inv.idf == 0 +assert inv.score == 0 + +# Test TF-IDF + +assert Tfi.calculTF(inv.list_kmp[0], 10) == 3/10 + +inv.list_url += ['la_vie_est_dure.fr'] +inv.list_kmp += [0] +assert Tfi.freqDocument(inv, inv.list_url) == 1 +assert Tfi.calculIDF(inv,list_url) == 1 + +inv.idf = Tfi.calculIDF(inv,list_url) +assert Tfi.calculTFIDF(inv, 'lipn.univ-paris13.fr', 20) == 0.15 + -- GitLab From 33e72bfafa904a6f030f1bf1921f493829e3ea32 Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Sat, 13 Mar 2021 18:33:21 +0100 Subject: [PATCH 10/28] indexinverse --- .DS_Store | Bin 8196 -> 8196 bytes index_inverse/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/Untitled.ipynb | 6 --- index_inverse/src/.DS_Store | Bin 0 -> 6148 bytes index_inverse/src/IndexInverse.py | 76 +++++++++++++++++++++++++++++ index_inverse/src/Index_Inverse.py | 18 ------- index_inverse/src/TFIDF.py | 35 ------------- index_inverse/src/kmp.py | 45 ----------------- index_inverse/test/test.py | 38 --------------- 9 files changed, 76 insertions(+), 142 deletions(-) delete mode 100644 index_inverse/Untitled.ipynb create mode 100644 index_inverse/src/.DS_Store create mode 100755 index_inverse/src/IndexInverse.py delete mode 100644 index_inverse/src/Index_Inverse.py delete mode 100644 index_inverse/src/TFIDF.py delete mode 100644 index_inverse/src/kmp.py delete mode 100644 index_inverse/test/test.py diff --git a/.DS_Store b/.DS_Store index d0eff8a12503c40d8412b99a90107903072ebb94..9780924029121c9c53360c852344eb81810f4120 100644 GIT binary patch delta 197 zcmZp1XmQw}DiCM)b|wP@0}F#5LpnnyLrHGFi%U{YeiBfOW5Wes_UZo)Iikv^z~w#i zD$Y(tlP}0H3{K9^Edc6aU~m!G+$>uXD o#^jkoazeqB|rbSO7}>Qe)wGqSzs7Ly$MD z_y7d|!4I(G3-}avh&zuuHVIM%5~|Q#Y39t_$2`t;W-D=?w>t2{Nvd1u)1D;zCi;rm_XpqvawpxSAU$u zS>A4cBO49l!o^FbWtrBd_0k=(nVWn0H0ybj=e+mW%ZI*dKVd8>+n)b4j%I`AwFfNC zy*P~~A~+5sbb0YCPD3{9v1uA+VjNc*#6*K;Yd*ibf5)b`oX*0g^WELHO*UYG@mj|=3kN>$HY%UD{f+4*cwuYdR< zvZLZgY{~zswazfbK~LvMbN-t7a)VXwOXV8& zOIwxycRQOc#ec=V%)mPPnjDm|zhr^ur!MMaGOyItx~Cb?3}^<#*-eoLeok~1781qL zft7dyAo43k2)4yti%7Wwv8%9tQBMpa!%lp;3uBD|LFh# delta 206 zcmZoMXfc=|#>B)qu~2NHo+2aP#(>?7jC_+DSTrV^u$)p(DNfEw%FoYX00L%)Vum7y zMTJv3NDCl*yK8P z3ARO#RXBTpO`gLp1!L}Em)R`N!OF6kor9kP=-SPK9N(EI^NTogfb3voU|`uCA+m-U E0AdLH1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 0): - freq = freq + 1 - return freq - -def calculIDF(terme, collectionDocument) : - freq = freqDocument(terme,collectionDocument) - if (freq == 0) : - return 0 - else : - idf = log(len(collectionDocument)/freq,2) - return idf - - - -def calculTFIDF(terme, document, nbMot): - i = terme.list_url.index(document) - tf = calculTF(terme.list_kmp[i], nbMot) - tf_idf = tf * terme.idf - return tf_idf - -def norm_log_tf(occ): - norm_log = 1 + log(occ, 2) - return norm_log diff --git a/index_inverse/src/kmp.py b/index_inverse/src/kmp.py deleted file mode 100644 index 9e6e758..0000000 --- a/index_inverse/src/kmp.py +++ /dev/null @@ -1,45 +0,0 @@ -# kmp - -def kmp_bord (mot): - n=len(mot) - tab=[None]*(n+1) - tab[0]=-1 - tab[1]=0 - j=0 - for i in range(2,n): - while mot[j]!=mot[i-1] and tab[j]>=0: - j=tab[j] - - j=j+1 - if j==0 or mot[i]!=mot[j] : - tab[i]=j - else: - tab[i]=tab[j] - if i==n-1: - tab[n]=j+1 - return tab - -def knuth_morris_pratt (texte, motif): - i=j=0 - occ=0 - table_bord= kmp_bord (motif) - m=len(motif) - n=len(texte) - # n: la taille de texte - # m: la taille de motif - while i<= (n-m+j) : - while j Date: Sat, 13 Mar 2021 18:46:41 +0100 Subject: [PATCH 11/28] test_IndexInverse --- .DS_Store | Bin 8196 -> 8196 bytes index_inverse/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/src/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/src/IndexInverse.py | 12 ++++++------ .../__pycache__/IndexInverse.cpython-37.pyc | Bin 0 -> 1458 bytes index_inverse/test/test_IndexInverse.py | 17 +++++++++++++++++ 6 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc create mode 100755 index_inverse/test/test_IndexInverse.py diff --git a/.DS_Store b/.DS_Store index 9780924029121c9c53360c852344eb81810f4120..e990781e10a7b5c0022553a2450415d894a11de6 100644 GIT binary patch delta 180 zcmZp1XmQw}CJ_7e0s{jB3xgg*IzuKyNp8N2OHxjL5>SjIitG1<8UGGBqROY>l`qIJ z3{K9^Edc6aU~oy8+$^w*@x)|1!3Hkz>S_xM9R))J^T{U#Wf^Boel94_ICJt$AvuAZ gbRC?0HcC6i2wiq delta 181 zcmZp1XmQw}CJ_5}CIbTl3xgg*IzuKyNp8N2OHxjL5>Sj|!v$aV>HiKnqROYhFUT+qPR`FQ0P102a1of?EU=65L8IyI{R=;qZr`JzH2ip$A5kR;k_UC delta 155 zcmZoMXffEp$;x{=BKzM<>V&;MK~~J3o;CYlk;;6fU-cKFgb)x4`G?H WnW2t?p@kueW!~(&HnVg5B`mF;Q%yo}wrV0|Nsi1A_nqLo!1m5N9x?GQ>|zTwV{7;AV&i!UBd$ zWJ!kjoOHwBAjHu~2NHo+1YW5HK<@2y8yc=*G7B0%I2AW_AvK4xj>{$am(+{342+ UKzW7)kiy9(Jj$D6L{=~Z05sDNYXATM diff --git a/index_inverse/src/IndexInverse.py b/index_inverse/src/IndexInverse.py index 03759bb..8fab7a7 100755 --- a/index_inverse/src/IndexInverse.py +++ b/index_inverse/src/IndexInverse.py @@ -46,13 +46,13 @@ class IndexInverse : # test -doc=['d1.txt','d2.txt','d3.txt'] -textes=['I love shanghai','i am from shanghai now i study in tongji university', - 'i am from lanzhou now i study in lanzhou university of science and technolgy'] +# doc=['d1.txt','d2.txt','d3.txt'] +# textes=['I love shanghai','i am from shanghai now i study in tongji university', +# 'i am from lanzhou now i study in lanzhou university of science and technolgy'] -index=IndexInverse(doc,textes) -index.create_index() -index.get_index() +# index=IndexInverse(doc,textes) +# index.create_index() +# index.get_index() # Result: # NbDocument=3 diff --git a/index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc b/index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6bd6c0307247a75ea2a7fe1ef8ab3f648d627a25 GIT binary patch literal 1458 zcmZuxUytK75VsvCO>^C2LC5})5Q>oC2;wMRPCQhA4q5?~?#jaoPE>Hd5c_tsmnN<4 zaHUFl>AvzEb|3jle&vaez&mNM~ zk3K%?1woL&Avc4->Jd!!AqausFf<_?PaIArlslZBqlwF1?t%7ri~FEkybTuyrZdX9 zSd8*tg;ZksY>>rDiEvhwGR*F$))%IYGwg>!2;)JPDjjkWmNE<9PqIuTI)!L?k(5)B z>!?9J-k=6Wu0>wf#=jvxlvpP0u-b(=fT?R>^j+fbe++BnN}W?UKPC&DK!WrE@h6fypst>EzgIwI_bkn`G)udq@z>w6 zC%x|RQTNO2q>!mTor-xW7%!O?3oW`?I?Ep@5zFMXTi*!x*45}LnRK_)`Dpf=@fo;N z&DiU3o3b|}=Ky=y$ICZwVXtwCjo%JSwFk4N`y3XF-y6cu982>VU6UdD`Sd5U!Yfjd z3-=POoW&271J?11R`kLH3uwT$UV4&Oc2}#Shv;QXF6{ckujmQ7Bp2-pUt)~rAN;@d zDVpDV3QYjz!{aEB6rzzfzM5=lo2Vw$xN4TA+PGQqN=VrTy9t!gT)c?OOdBtr%|y;4 zSKhHM4~oQ6Zd$R_X_5)!zA7YFhFVpZrxAB8xRcb4))e^=ENT}7!fyeUK|Sx{J$PKV zNZsCZL#&PdhS=xuM?+`Zmu!jMM{6Kr@huQREu}zazo8gV@V+siE9m}x#3^_GAb>rn zY$0}64tSt>8|!=sq`kc%%^NT8jDHz!8t!w0u5kYfhY>c8rNcAsOr|-!dT5I+N^Aby zREw#KXib^ihj5KE8Y)9Z!~as$J`tNHco$%*0|MbU@I7E>mjrmZcZ-`F@Hq1AGtJ|v zV9W%JO$%OTcHLoYUdGwR(_+jPj5YOs4GxzFR=i_{ZKf?@OIBxMb5Qny_>>Y#eBbZX e_Hjhyd)J_?jrBQo!TrygIKF@{Gg9`ONy)!j4{JOC literal 0 HcmV?d00001 diff --git a/index_inverse/test/test_IndexInverse.py b/index_inverse/test/test_IndexInverse.py new file mode 100755 index 0000000..09b3105 --- /dev/null +++ b/index_inverse/test/test_IndexInverse.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Sat Mar 13 18:41:56 2021 + +@author: jinlili +""" + +from IndexInverse import IndexInverse + +doc=['d1.txt','d2.txt','d3.txt'] +textes=['I love shanghai','i am from shanghai now i study in tongji university', + 'i am from lanzhou now i study in lanzhou university of science and technolgy'] + +index=IndexInverse(doc,textes) +index.create_index() +index.get_index() \ No newline at end of file -- GitLab From 3b54c687ba39cdda0428c236822f7d6db42e7e38 Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Sat, 13 Mar 2021 18:50:22 +0100 Subject: [PATCH 12/28] test_IndexInverse --- index_inverse/test/test_IndexInverse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index_inverse/test/test_IndexInverse.py b/index_inverse/test/test_IndexInverse.py index 09b3105..e7a8912 100755 --- a/index_inverse/test/test_IndexInverse.py +++ b/index_inverse/test/test_IndexInverse.py @@ -8,7 +8,7 @@ Created on Sat Mar 13 18:41:56 2021 from IndexInverse import IndexInverse -doc=['d1.txt','d2.txt','d3.txt'] +doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] textes=['I love shanghai','i am from shanghai now i study in tongji university', 'i am from lanzhou now i study in lanzhou university of science and technolgy'] -- GitLab From 065791954a49c03af46c680870838aa2a20b631f Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Sat, 13 Mar 2021 18:54:56 +0100 Subject: [PATCH 13/28] test_IndexInverse --- index_inverse/test/test_IndexInverse.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index_inverse/test/test_IndexInverse.py b/index_inverse/test/test_IndexInverse.py index e7a8912..83588a8 100755 --- a/index_inverse/test/test_IndexInverse.py +++ b/index_inverse/test/test_IndexInverse.py @@ -5,7 +5,8 @@ Created on Sat Mar 13 18:41:56 2021 @author: jinlili """ - +import sys +sys.path.append('../src') from IndexInverse import IndexInverse doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] @@ -14,4 +15,4 @@ textes=['I love shanghai','i am from shanghai now i study in tongji university', index=IndexInverse(doc,textes) index.create_index() -index.get_index() \ No newline at end of file +index.get_index() -- GitLab From ee9bc2cc57e26c1f6c38fb47e85e97f833bdf50f Mon Sep 17 00:00:00 2001 From: LILI JIN Date: Sun, 14 Mar 2021 12:36:54 +0100 Subject: [PATCH 14/28] unitest IndexInverse --- .DS_Store | Bin 8196 -> 8196 bytes index_inverse/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/src/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/src/IndexInverse.py | 58 +++++++----------- .../__pycache__/IndexInverse.cpython-37.pyc | Bin 1458 -> 0 bytes index_inverse/test/test_IndexInverse.py | 39 +++++++++--- 6 files changed, 54 insertions(+), 43 deletions(-) delete mode 100644 index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc diff --git a/.DS_Store b/.DS_Store index e990781e10a7b5c0022553a2450415d894a11de6..d0478f159f7235c3b7bbbca8ca53ca8a427e17ce 100644 GIT binary patch delta 14 VcmZp1XmQwZT#(UX^9ey4J^(6=1t0(b delta 14 VcmZp1XmQwZT#(Ux^9ey4J^(6)1s?za diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store index 50f8df2784d62f5951450ca08ac1095113821313..6a528f4b3210c4216362a57de1cb950a6fd83c7e 100644 GIT binary patch delta 124 zcmZoMXffFEkCoA4@_$w_`+pkU=S2S>a%5m&U}h+0C}K#?%};Sj%E?axif~}c7GxL( zC+FuD0A+!|VRHx@HzOm%>+V{<7yUnZ7P}OTxr<$f(O~m+c3lAg Dz2Yas delta 124 zcmZoMXffFEkCpMjDHjlM~pbm?T&x*RV^lwd(OoO#e4|7P}OTxr<$fQDO6Sc3lAg D*mot3 diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store index c725234b1f736bfc33e53e88b42ffc904d999cbc..cbd1af6c82af996b83355b64f49a0522c5f25326 100644 GIT binary patch delta 338 zcmZoMXfc=|#>B)qu~2NHo+2aL#DLw4FEBDPvQ6e;l&ViEFD^*R$xmWnU^tOfkds+l zVqkEck%^gwm5rT)laqs!moqjvBfmVjB(bEl*eS6n8pI1oEXhcMvP1IobKva6q_E7? z@^}Fe=lr~q#LT?ZBCzJnlvJRSnDETJl>Bn1{L;LXVz4>Ep%59cP4NQa)zuajItqpc z7PUGG)#l~~ItpfHhPAbv9O9~mww?*Ol~vU>wRJOqjs*fnMhMNo52az$OrXy+nArJ1 z9-JJ&$isH7bozPG|C1*$%1o|9=IT%8XB6it3ogpb$B`mu~2NHo+2a5#DLw5ER!3Ur37-)4TF>Oa|;;2fOQi{aIzgU51Z|y z$9rb{n;gKbfndr^p2aM@`6{y!%jO5nVoaOaIruq%rf$B-{GE9+zlbFV$Ph*b2Bysc HB3qaNJsl!w diff --git a/index_inverse/src/IndexInverse.py b/index_inverse/src/IndexInverse.py index 8fab7a7..390e830 100755 --- a/index_inverse/src/IndexInverse.py +++ b/index_inverse/src/IndexInverse.py @@ -14,13 +14,17 @@ class IndexInverse : docuCount=0 - def __init__(self,list_url, list_contenu) : + def __init__(self,list_url, list_contenu): "Constructeur IndexInverse" + if len(list_url)==len(list_contenu): + self.document_map = dict(zip(range(len(list_url)), list_url)) + self.list_contenu = list_contenu + self.invert_index=dict() + IndexInverse.docuCount= len(list_url) + else: + #erreur: la taille de list_url faut egale a la taille de list_contenu + raise Exception("Invalid parameter!") - self.document_map = dict(zip(range(len(list_url)), list_url)) - self.list_contenu = list_contenu - self.invert_index=dict() - IndexInverse.docuCount= len(list_url) def create_index (self): for doc_id,article in zip(range(IndexInverse.docuCount),self.list_contenu): @@ -42,35 +46,17 @@ class IndexInverse : for ID in IDs: print (ID,end=' ') - - - -# test -# doc=['d1.txt','d2.txt','d3.txt'] -# textes=['I love shanghai','i am from shanghai now i study in tongji university', -# 'i am from lanzhou now i study in lanzhou university of science and technolgy'] - -# index=IndexInverse(doc,textes) -# index.create_index() -# index.get_index() - -# Result: -# NbDocument=3 - -# i: 0 1 2 -# love: 0 -# shanghai: 0 1 -# am: 1 2 -# from: 1 2 -# now: 1 2 -# study: 1 2 -# in: 1 2 -# tongji: 1 -# university: 1 2 -# lanzhou: 2 -# of: 2 -# science: 2 -# and: 2 -# technolgy: 2 - + + def get_docs_with_keyword(self,word): + if word in self.invert_index: + return self.invert_index[word] + else: + print('Error keyword') + return -1 + + def get_nb_documents(self): + return IndexInverse.docuCount + + + diff --git a/index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc b/index_inverse/src/__pycache__/IndexInverse.cpython-37.pyc deleted file mode 100644 index 6bd6c0307247a75ea2a7fe1ef8ab3f648d627a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1458 zcmZuxUytK75VsvCO>^C2LC5})5Q>oC2;wMRPCQhA4q5?~?#jaoPE>Hd5c_tsmnN<4 zaHUFl>AvzEb|3jle&vaez&mNM~ zk3K%?1woL&Avc4->Jd!!AqausFf<_?PaIArlslZBqlwF1?t%7ri~FEkybTuyrZdX9 zSd8*tg;ZksY>>rDiEvhwGR*F$))%IYGwg>!2;)JPDjjkWmNE<9PqIuTI)!L?k(5)B z>!?9J-k=6Wu0>wf#=jvxlvpP0u-b(=fT?R>^j+fbe++BnN}W?UKPC&DK!WrE@h6fypst>EzgIwI_bkn`G)udq@z>w6 zC%x|RQTNO2q>!mTor-xW7%!O?3oW`?I?Ep@5zFMXTi*!x*45}LnRK_)`Dpf=@fo;N z&DiU3o3b|}=Ky=y$ICZwVXtwCjo%JSwFk4N`y3XF-y6cu982>VU6UdD`Sd5U!Yfjd z3-=POoW&271J?11R`kLH3uwT$UV4&Oc2}#Shv;QXF6{ckujmQ7Bp2-pUt)~rAN;@d zDVpDV3QYjz!{aEB6rzzfzM5=lo2Vw$xN4TA+PGQqN=VrTy9t!gT)c?OOdBtr%|y;4 zSKhHM4~oQ6Zd$R_X_5)!zA7YFhFVpZrxAB8xRcb4))e^=ENT}7!fyeUK|Sx{J$PKV zNZsCZL#&PdhS=xuM?+`Zmu!jMM{6Kr@huQREu}zazo8gV@V+siE9m}x#3^_GAb>rn zY$0}64tSt>8|!=sq`kc%%^NT8jDHz!8t!w0u5kYfhY>c8rNcAsOr|-!dT5I+N^Aby zREw#KXib^ihj5KE8Y)9Z!~as$J`tNHco$%*0|MbU@I7E>mjrmZcZ-`F@Hq1AGtJ|v zV9W%JO$%OTcHLoYUdGwR(_+jPj5YOs4GxzFR=i_{ZKf?@OIBxMb5Qny_>>Y#eBbZX e_Hjhyd)J_?jrBQo!TrygIKF@{Gg9`ONy)!j4{JOC diff --git a/index_inverse/test/test_IndexInverse.py b/index_inverse/test/test_IndexInverse.py index 83588a8..a74e2f7 100755 --- a/index_inverse/test/test_IndexInverse.py +++ b/index_inverse/test/test_IndexInverse.py @@ -3,16 +3,41 @@ """ Created on Sat Mar 13 18:41:56 2021 -@author: jinlili + """ import sys sys.path.append('../src') from IndexInverse import IndexInverse +import unittest + +class TestIndexInverse(unittest.TestCase): + def test_IndexInverse_1(self): + doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] + textes=['I love shanghai','i am from shanghai now i study in tongji university', + 'i am from lanzhou now i study in lanzhou university of science and technolgy'] + index=IndexInverse(doc,textes) + index.create_index() + result=index.get_docs_with_keyword('i') + self.assertEqual(result,[0,1,2]) + + def test_IndexInverse_2(self): + doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] + textes=['I love shanghai','i am from shanghai now i study in tongji university', + 'i am from lanzhou now i study in lanzhou university of science and technolgy'] + index=IndexInverse(doc,textes) + index.create_index() + result=index.get_docs_with_keyword('like') + self.assertEqual(result,-1) + + def test_IndexInverse_3(self): + doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] + textes=['I love shanghai','i am from shanghai now i study in tongji university', + 'i am from lanzhou now i study in lanzhou university of science and technolgy'] + index=IndexInverse(doc,textes) + index.create_index() + result=index.get_nb_documents() + self.assertEqual(result,3) -doc=['lipn.fr_1','lipn.fr_2','lipn.fr_3'] -textes=['I love shanghai','i am from shanghai now i study in tongji university', - 'i am from lanzhou now i study in lanzhou university of science and technolgy'] -index=IndexInverse(doc,textes) -index.create_index() -index.get_index() +if __name__ == '__main__': + unittest.main() \ No newline at end of file -- GitLab From b9dbd98e95e89828f491dcafdf4de8a93b935495 Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Sun, 21 Mar 2021 18:22:12 +0000 Subject: [PATCH 15/28] Delete .DS_Store --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index d0478f159f7235c3b7bbbca8ca53ca8a427e17ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMPm9w)6o0c@-Bc+S5x2)6co2%Tm))|U#99$=Ld3;?w8ai>U%<2L zCs1$RynEW?-uwc71@Rz=Z~j=5rVV=%7vF<M|w60rt_NmoSa%G4EuNp~#Qm7Sq5 zmMGnUsmljbJu`JfVWM|zUl-=U42h(P0b(G_0KdBz;3{;%gD7=>zy9qgS=SF+E!z)m zEYlvI`Ehjc^Ye{#y^~u%=q0`lv^wYt8?XmMuwVi{xG+rh4(vnLA{oP#cRR0de-|+< zw9^m&M6%i{6_4C(O2|O~4#x5f+9JQtm_GC0rqd&9ROEhE^hYpdA#cd zPB>|Xk-c1&3zI%=0Ur_)BGs@H3cSyi8IZ`Z2&)>eHsD{7mU>(}md`p;iXU(Q|~ zaEfswR2wFolh1Sg7IQfxPS3{f*L>^b%)GZtl{a#A;|XY3;%NKX6v<}mQX zpo>G84i%WRUPdhlt!-ZE_^$C7849)UQiG+bTy=3!iId=Ff( z({TakJ!6xM>(XH&u7$Reapl=9i3__Gyy*%Jg|S4js8G@Qk9?3211FJzbs2Pp-~Vr| z{{DXwhek0I1H`~F8DNE$*=nNk@1Kf`e*BczF?BF;;dZe^;esmlLja%We;8t3M^o-& VD2ydy2?~7(5Hye?2L37ozW`$q3EThx -- GitLab From 0131ff30d4485e0dde75960854ef41f54df868e6 Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Sun, 21 Mar 2021 18:22:44 +0000 Subject: [PATCH 16/28] Delete Untitled-checkpoint.ipynb --- index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb diff --git a/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb deleted file mode 100644 index 2fd6442..0000000 --- a/index_inverse/.ipynb_checkpoints/Untitled-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 2 -} -- GitLab From 80e64b5c15c83369bb3db50ea0d25a91d2a5eebb Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Sun, 21 Mar 2021 18:23:01 +0000 Subject: [PATCH 17/28] Delete .DS_Store --- index_inverse/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/.DS_Store diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store deleted file mode 100644 index 6a528f4b3210c4216362a57de1cb950a6fd83c7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO^ee&7=C9PHBrQ}DCN_9pChZD~f-E{O%seyi$9z0*I@19F(w&4hKobCTEDW{tSREtG z&dQ3cNzFPU;bWxWLmvVdK(ykm6p8`Gz-eQE{dU*kHpDQ31E~If1K39$MN0}fWXYcG z26Q-*8+drqxFPNJ{Dk`GuNSv=whzC3xOei{@V8?}gX((O`34QhU<`p@WFxtvkNzl$ zv)r;ileLC+=IlA$Fm&Uh@xmR@!p*&Wl6AfDGuC_LUU(epWWy{Ay7Ef6&mn6>N9X90d!YoL9Tpx3ls(R{fbdD_5eV|7H8Dq<;}xO~7&XdJ3%Cyh}-7wq=oDlYU{@p!$jd#lU~h06QN{EDRlq zr9ggkV8x#Rh#IQ7V4L5yh$d4YIuc8Ps6inj6j6i{`NSY19QCI3b0n4mMK};XGmax? zCh~)l&>82L34qh}Ls^UEGqqTUR#6 x?phPeE*2)tuN25bu#(p?Z?LQQDi$tiGg$-Ckyr{u4T}0Bz-dsGV&Jbb@Dt0)1W5n@ -- GitLab From 796246342e58fff9ba60b20d02109f66ec14acfd Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Sun, 21 Mar 2021 18:23:14 +0000 Subject: [PATCH 18/28] Delete .DS_Store --- index_inverse/test/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/test/.DS_Store diff --git a/index_inverse/test/.DS_Store b/index_inverse/test/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Sun, 21 Mar 2021 18:23:24 +0000 Subject: [PATCH 19/28] Delete .DS_Store --- index_inverse/src/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/src/.DS_Store diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store deleted file mode 100644 index cbd1af6c82af996b83355b64f49a0522c5f25326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO>fgc5S>j!YpVis0F~ojxaAOE+FX!K8V=l$jNkyswd1I<dw6E>% zdA{%Y*ZmjKL@lE_sTcD>GJB?5kCJ+ly82_Kii>)ZKFP<+xO3}Rm35Mro zpXOzzmIJjYv$^RfvJcEaapz#Q>i4@c==IlKxjH)Pb>-nDSG*AMr9#m;_%T}^&` z3;nO$_P#HpSy`y^6pZuPYBn1yzzVPeS5d(28{Ym^$jo5{Sb_ga0lhy+xW>?7W6^9K zD9jZA*hbhG>gKBjD0KiBI&3T=0uweBXj6r|VhEd#xOBYGVPnyzlQ1KrA2+gaHxyw; zM_d{@iO?dKtN<%;S%Dqf?CA6V!S?(A Date: Wed, 31 Mar 2021 01:05:50 +0200 Subject: [PATCH 20/28] fonctins tf_idf et foctin dm_25; Ajouter les commentaires --- index_inverse/.DS_Store | Bin 0 -> 6148 bytes index_inverse/src/.DS_Store | Bin 0 -> 6148 bytes index_inverse/src/IndexInverse.py | 78 +++++++++++--- index_inverse/src/dm25.py | 45 ++++++++ index_inverse/src/tf_idf.py | 50 +++++++++ index_inverse/test/.DS_Store | Bin 0 -> 6148 bytes index_inverse/test/test_IndexInverse.py | 49 ++++++++- index_inverse/test/test_dm25.py | 118 ++++++++++++++++++++ index_inverse/test/test_tf_idf.py | 138 ++++++++++++++++++++++++ 9 files changed, 460 insertions(+), 18 deletions(-) create mode 100644 index_inverse/.DS_Store create mode 100644 index_inverse/src/.DS_Store create mode 100755 index_inverse/src/dm25.py create mode 100755 index_inverse/src/tf_idf.py create mode 100644 index_inverse/test/.DS_Store create mode 100755 index_inverse/test/test_dm25.py create mode 100755 index_inverse/test/test_tf_idf.py diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5f4af76fbfdfe55f5c59196fdbd8420e6ba8fa04 GIT binary patch literal 6148 zcmeHKO^ee&7=C9PHBrQ}2;1X;c(O>dek^+sV(o%^6C!$0$>xh~FwKM}HLS7HyT3qx zgW$n`peKKU|HF${-}%@!u`4VdM3#AB=9zgv=Hr?4oelty;ViNNx&UBe;b>gM>IC6- zUe;toX*Lmw7$buKJP2V7@tU_*Xa+O`{~H7Rx4Q{9A%Pr@p!xd^;U(%AS~4i1NDpl{ zWRqNN;NfZGCTuhcQWl`US>4#*efRUr{nN)re;u2To9pHI4LVT36vCh?a zIT(B=8y(}^`3t6Hnbu|Ng*#@ITl(d!82Zy^y!Xg2$AM};W-MK{{oqLwS6=t(1D2J3 zlEqUIoJ29YJb#*G5vzu5mPLga$CU;#k=O0jwY_Wi>GrMdd7suhJA*#Gd;89OZkb!x z?R)zNlcU%5oB7-KeEpbZG0h6OqVO0#U_)&$D#A3t1#(xVYM))dURj!_<9U0Ze^_7n z>8Q8~Tk*ecZ8Pj(*m2w|cbcUvJ46j%g@NBsjNF%JmHFico7^vzZT5RclaVI>Th~5* zQv5GtnZ$T`6fPvna3Er497oMe)C+}(*-=l0 zI}k^rt~CRifi?pj+3oWCfA7!l|8|h>X$CX{XNm!0jNH)>x1{dYwaxLnmSQ=;!iD=S oB#IEM)O9Qx{3`BY5rQ_#8;Fj=g+$b#=syC223=_e{wV{$0Nm^VIsgCw literal 0 HcmV?d00001 diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..69081f3cdfbf8453b3a2c7245844b67ecf97b4a3 GIT binary patch literal 6148 zcmeHKOG*SW5UtW#w9ICfF0*qzc!4;yCzu2DI6dMlX6Ob{aF;U)p1}Kf248*rG`4~W zB2op(t0YyG>Ia>qh=>o>ph$=Ke7G*?adUWZ)jVD0X7%g2;OIy06W+c#GoRZw9 z$hM)L?vVRi{>|=czHGaFZ)u-Cd~Uh#>UzEF*088gTfoh?#L4WkbRf`MS*l>s>)5}IIkEQWe?pwkinD9>mW=u%6FPjbwT z#SkkHHdmmzvX>Za?wC(*mmQ0txf6Tw!M^iL@xr=0;wLpH&W6zk1Hr(MfkPY4H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Wed, 31 Mar 2021 11:24:37 +0200 Subject: [PATCH 21/28] supprimer tf-idf et dm25 --- .DS_Store | Bin 0 -> 6148 bytes index_inverse/.DS_Store | Bin 6148 -> 6148 bytes index_inverse/src/dm25.py | 45 ---------- index_inverse/src/tf_idf.py | 50 ----------- index_inverse/test/test_dm25.py | 118 ------------------------- index_inverse/test/test_tf_idf.py | 138 ------------------------------ 6 files changed, 351 deletions(-) create mode 100644 .DS_Store delete mode 100755 index_inverse/src/dm25.py delete mode 100755 index_inverse/src/tf_idf.py delete mode 100755 index_inverse/test/test_dm25.py delete mode 100755 index_inverse/test/test_tf_idf.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e0f3e58e3ca75d52f93ffced26abdc36ec5aa941 GIT binary patch literal 6148 zcmeHKOHRWu5Pbs`L_$bivh^(q191&5#g;c7gBqFz zD}>ODWWTZJWBW<5GXP|IUr&HBfQ(I1R2dMR9yIMF=RKmt91Z4J)$6J$+kr%XaZ2~T zj|wYX;Sn4AZyO%zyQ#UJ%&K;=w3Eo|w#T9^in3`-TC(GpljrmIx6>i7`UhUio6Xe% z)8G)dxI;~vpKuZN2c;Zq%#C*2wz|4F1I~am;0!ne!wl#HN68Khy>|wj0cYTg0lgmr zn_`}@GmKXUyI2AcN1TpAU26%A2?_Irogpn0u~4FgN-8nL!Z{z3U!Jftv~Wl&J|wOD zS-ePGo%us_hvbIdI|I%@pMhN)j`jUN<0ms%L#4NM>v;Os w2DVE!74_>>p-}Jr1aP4D$Wb(!J*ZBJxEH3L60Gmp@5+hSsJJ) z8z`0!l*wZ#VJOZ?Hw;eB&n*C|2LTTtCQ4s!zKcszPJR+lJx95=r)Br|Lyic&S@Fj8Nc3w3}gojFl^>w5oX@Z&heKY0R7K9SO5S3 diff --git a/index_inverse/src/dm25.py b/index_inverse/src/dm25.py deleted file mode 100755 index ef92738..0000000 --- a/index_inverse/src/dm25.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on Tue Mar 30 19:51:28 2021 - - - -dm-25 -""" - -import numpy as np - -class dm25: - - def idf_2 (invert_index,vocabulary,vocaCount,docuCount): - '''Inverse Document Frequency (IDF) - IDF(t) = log(|D|−|Dt|+0.5/ |Dt|+0.5 ) - ''' - df = np.zeros((vocaCount, 1)) - for (key,val) in vocabulary.items(): - index_val=invert_index.get(key) - if index_val !=None: - df[val,0] = len(index_val) - idf_2=np.log((docuCount-df+0.5) / (df+0.5)) - # print((docuCount-df+0.5) / (df+0.5)) - return idf_2 - - def dm_25 (tf_matrix_classique,docs_content,docuCount,idf_2,k=1.2 , b=0.75): - ''' - k1 ∈ [1.2, 2.0] (en pratique) - b = 0.75 (en pratique) - |d| est la longueur du document - avgdl : Average Document Length, la longueur moyenne des documents de la collection - BM-25t,d =IDF(t)∗( ft,d ×(k1 +1) / ft,d + k1 × ( 1−b+b× (|d|/avgdl) ) ) - - ''' - d_longueur=np.array([]) - for d in docs_content: - d_longueur=np.append(d_longueur,len(d)) - sum_d=np.sum(d_longueur) - avg_d=sum_d/np.size(d_longueur) - dm_25=idf_2*(tf_matrix_classique*(k+1)/(tf_matrix_classique+k*(1-b+b*(d_longueur/avg_d)))) - return dm_25 - - diff --git a/index_inverse/src/tf_idf.py b/index_inverse/src/tf_idf.py deleted file mode 100755 index bbc964d..0000000 --- a/index_inverse/src/tf_idf.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on Tue Mar 30 02:16:23 2021 - - -TF-IDE -""" - -import numpy as np -from collections import Counter - -class tf_idf: - - def tf_classique (docs_content,vocabulary,docuCount): - ''' nombre d’occurrences de t dans d /nombre de mots dans d''' - tf_matrix = np.zeros((len(vocabulary),docuCount), dtype=np.float64) # [n_vocab, n_doc] - # print (repr(tf_matrix )) - for id, doc in zip(range(docuCount),docs_content): - counter = Counter(doc) - for v in counter.keys(): - tf_matrix[vocabulary[v],id] = counter[v] / counter.most_common(1)[0][1] - return tf_matrix - - def tf_normalisation_log (tf_matrix_classique): - '''Normalisation Logarithmique: 1 + log ft ,d ''' - tf_matrix_log=np.log(tf_matrix_classique)+1 - return tf_matrix_log - - def tf_normalisation_max (tf_matrix_classique): - ''' Normalisationpar le max : 0.5 + 0.5 × ft,d/maxt′∈d ft′,d ''' - tf_matrix_max= 0.5 + 0.5 * (tf_matrix_classique / np.max(tf_matrix_classique, axis=1, keepdims=True)) - return tf_matrix_max - - def idf (invert_index,vocabulary,vocaCount,docuCount): - '''Inverse Document Frequency (IDF) - Soit un terme t et une collection de documents D, DFt =log(D/{d ∈ D | t apparaˆıt dans d}) - ''' - df = np.zeros((vocaCount, 1)) - for (key,val) in vocabulary.items(): - index_val=invert_index.get(key) - if index_val !=None: - df[val,0] = len(index_val) - idf=np.log(docuCount+1/df+1) #Le dénominateur ne peut pas être zéro - return idf - - - - - diff --git a/index_inverse/test/test_dm25.py b/index_inverse/test/test_dm25.py deleted file mode 100755 index 5317c07..0000000 --- a/index_inverse/test/test_dm25.py +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on Wed Mar 31 00:08:41 2021 - - -""" - - -import numpy as np -from numpy import inf -import sys -sys.path.append('../src') -from dm25 import dm25 -import unittest - - -class SaneEqualityArray(np.ndarray): - def __eq__(self, other): - return (isinstance(other, SaneEqualityArray) and self.shape == other.shape and np.ndarray.__eq__(self, other).all()) - - -class TestDM25(unittest.TestCase): - def test_DM25_1(self): - invert_index ={'i': [0, 1, 2], 'love': [0], 'shanghai': [0, 1], 'am': [1, 2], 'from': [1, 2], 'now': [1, 2], - 'study': [1, 2], 'in': [1, 2], 'tongji': [1], 'university': [1, 2], 'lanzhou': [2], 'of': [2], - 'science': [2], 'and': [2], 'technolgy': [2]} - vocabulary={'i': 0, 'love': 1, 'shanghai': 2, 'am': 3, 'from': 4, 'now': 5, 'study': 6, 'in': 7, 'tongji': 8, - 'university': 9, 'lanzhou': 10, 'of': 11, 'science': 12, 'and': 13, 'technolgy': 14} - docuCount=3 - vocaCount=15 - i2=dm25.idf_2 (invert_index,vocabulary,vocaCount,docuCount) - np.testing.assert_allclose( i2,np.array([[-1.94591015], - [ 0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [ 0.51082562], - [-0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562]]) ) - - def test_DM5_2(self): - tf_matrix_classique=np.array([[1. , 1. , 1. ], - [1. , 0. , 0. ], - [1. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0. , 1. ], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5]]) - docs_content=[['i', 'love', 'shanghai'], ['i', 'am', 'from', 'shanghai', 'now', 'i', 'study', 'in', - 'tongji', 'university'], ['i', 'am', 'from', 'lanzhou', 'now', 'i', 'study', 'in', 'lanzhou', - 'university', 'of', 'science', 'and', 'technolgy']] - docuCount=3 - i2=np.array([[-1.94591015], - [ 0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [-0.51082562], - [ 0.51082562], - [-0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562], - [ 0.51082562]]) - d25=dm25.dm_25 (tf_matrix_classique,docs_content,docuCount,i2) - np.testing.assert_allclose( d25, np.array([[-2.67562645, -1.86130536, -1.58555642], - [ 0.70238523, 0. , 0. ], - [-0.70238523, -0.31217121, -0. ], - [-0. , -0.31217121, -0.25541281], - [-0. , -0.31217121, -0.25541281], - [-0. , -0.31217121, -0.25541281], - [-0. , -0.31217121, -0.25541281], - [-0. , -0.31217121, -0.25541281], - [ 0. , 0.31217121, 0. ], - [-0. , -0.31217121, -0.25541281], - [ 0. , 0. , 0.41622829], - [ 0. , 0. , 0.25541281], - [ 0. , 0. , 0.25541281], - [ 0. , 0. , 0.25541281], - [ 0. , 0. , 0.25541281]]) ) - - - - -if __name__ == '__main__': - unittest.main() - - - - - - - - - - - - - diff --git a/index_inverse/test/test_tf_idf.py b/index_inverse/test/test_tf_idf.py deleted file mode 100755 index e314fae..0000000 --- a/index_inverse/test/test_tf_idf.py +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on Tue Mar 30 22:52:41 2021 - - -""" - -import numpy as np -from numpy import inf -import sys -sys.path.append('../src') -from tf_idf import tf_idf -import unittest - -class SaneEqualityArray(np.ndarray): - def __eq__(self, other): - return (isinstance(other, SaneEqualityArray) and self.shape == other.shape and np.ndarray.__eq__(self, other).all()) - -class TestTfIdf(unittest.TestCase): - def test_TfIdf_1(self): - docs_content=[['i', 'love', 'shanghai'], ['i', 'am', 'from', 'shanghai', 'now', 'i', 'study', 'in', - 'tongji', 'university'], ['i', 'am', 'from', 'lanzhou', 'now', 'i', 'study', 'in', 'lanzhou', - 'university', 'of', 'science', 'and', 'technolgy']] - vocabulary= {'i': 0, 'love': 1, 'shanghai': 2, 'am': 3, 'from': 4, 'now': 5, 'study': 6, 'in': 7, 'tongji': 8, - 'university': 9, 'lanzhou': 10, 'of': 11, 'science': 12, 'and': 13, 'technolgy': 14} - docuCount=3 - tf_matrix_classique=tf_idf.tf_classique (docs_content,vocabulary,docuCount) - np.testing.assert_array_equal(tf_matrix_classique, np.array([[1. , 1. , 1. ], - [1. , 0. , 0. ], - [1. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0. , 1. ], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5]])) - - def test_TfIdf_2(self): - tf_matrix_classique=np.array([[1. , 1. , 1. ], - [1. , 0. , 0. ], - [1. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0. , 1. ], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5]]) - mat_nor_log=tf_idf.tf_normalisation_log (tf_matrix_classique) - np.testing.assert_allclose( mat_nor_log,np.array([[1. , 1. , 1. ], - [1. , -inf, -inf], - [1. , 0.30685282, -inf], - [ -inf, 0.30685282, 0.30685282], - [ -inf, 0.30685282, 0.30685282], - [ -inf, 0.30685282, 0.30685282], - [ -inf, 0.30685282, 0.30685282], - [ -inf, 0.30685282, 0.30685282], - [ -inf, 0.30685282, -inf], - [ -inf, 0.30685282, 0.30685282], - [ -inf, -inf, 1. ], - [ -inf, -inf, 0.30685282], - [ -inf, -inf, 0.30685282], - [ -inf, -inf, 0.30685282], - [ -inf, -inf, 0.30685282]]) ) - - def test_TfIdf_3(self): - tf_matrix_classique=np.array([[1. , 1. , 1. ], - [1. , 0. , 0. ], - [1. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0.5], - [0. , 0.5, 0. ], - [0. , 0.5, 0.5], - [0. , 0. , 1. ], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5], - [0. , 0. , 0.5]]) - mat_nor_max=tf_idf.tf_normalisation_max (tf_matrix_classique) - np.testing.assert_array_equal( mat_nor_max,np.array([[1. , 1. , 1. ], - [1. , 0.5 , 0.5 ], - [1. , 0.75, 0.5 ], - [0.5 , 1. , 1. ], - [0.5 , 1. , 1. ], - [0.5 , 1. , 1. ], - [0.5 , 1. , 1. ], - [0.5 , 1. , 1. ], - [0.5 , 1. , 0.5 ], - [0.5 , 1. , 1. ], - [0.5 , 0.5 , 1. ], - [0.5 , 0.5 , 1. ], - [0.5 , 0.5 , 1. ], - [0.5 , 0.5 , 1. ], - [0.5 , 0.5 , 1. ]]) ) - - - def test_TfIdf_4(self): - invert_index={'i': [0, 1, 2], 'love': [0], 'shanghai': [0, 1], 'am': [1, 2], 'from': [1, 2], 'now': [1, 2], 'study': [1, 2], 'in': [1, 2], 'tongji': [1], 'university': [1, 2], 'lanzhou': [2], 'of': [2], 'science': [2], 'and': [2], 'technolgy': [2]} - vocabulary={'i': 0, 'love': 1, 'shanghai': 2, 'am': 3, 'from': 4, 'now': 5, 'study': 6, 'in': 7, 'tongji': 8, - 'university': 9, 'lanzhou': 10, 'of': 11, 'science': 12, 'and': 13, 'technolgy': 14} - vocaCount=15 - docuCount=3 - mat_idf=tf_idf.idf(invert_index,vocabulary,vocaCount,docuCount) - np.testing.assert_allclose(mat_idf,np.array([[1.46633707], - [1.60943791], - [1.5040774 ], - [1.5040774 ], - [1.5040774 ], - [1.5040774 ], - [1.5040774 ], - [1.5040774 ], - [1.60943791], - [1.5040774 ], - [1.60943791], - [1.60943791], - [1.60943791], - [1.60943791], - [1.60943791]]) ) - - -if __name__ == '__main__': - unittest.main() - -- GitLab From bb2dac15c16a0e8b47d109ac7fecd8c9500234ad Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Wed, 31 Mar 2021 18:36:34 +0000 Subject: [PATCH 22/28] Delete .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index e0f3e58e3ca75d52f93ffced26abdc36ec5aa941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOHRWu5Pbs`L_$bivh^(q191&5#g;c7gBqFz zD}>ODWWTZJWBW<5GXP|IUr&HBfQ(I1R2dMR9yIMF=RKmt91Z4J)$6J$+kr%XaZ2~T zj|wYX;Sn4AZyO%zyQ#UJ%&K;=w3Eo|w#T9^in3`-TC(GpljrmIx6>i7`UhUio6Xe% z)8G)dxI;~vpKuZN2c;Zq%#C*2wz|4F1I~am;0!ne!wl#HN68Khy>|wj0cYTg0lgmr zn_`}@GmKXUyI2AcN1TpAU26%A2?_Irogpn0u~4FgN-8nL!Z{z3U!Jftv~Wl&J|wOD zS-ePGo%us_hvbIdI|I%@pMhN)j`jUN<0ms%L#4NM>v;Os w2DVE!74_>>p-}Jr1aP4D$Wb(!J*ZB Date: Wed, 31 Mar 2021 18:36:42 +0000 Subject: [PATCH 23/28] Delete .DS_Store --- index_inverse/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/.DS_Store diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store deleted file mode 100644 index 38e3d11c2358b6e152bfe36a42805cba1c5453ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKy>8nu5GG@_ky5nv5Fj221l>GX=}*w1fZ{qswgM{BAt@ZmGGYO;XjpQMMs=ar zXrG}#hCD*1K0)83PtZH^V#{%wu_zKAaQw(S9w~kVNgZR1w0G{0%%h;Ip!fEyVCUKUxTEF;O&3f=~ z-F6(?dF*`j2XgA?K|aaa!T1PU?}B^~QvJP@$-EwfhjD+}t#7`SX&%IBf2@Mzs1IF^ zKg4Myr)@b&qfCwCYloVsTW=JF``T@ao##8VrYLrITTSum#mm{uvA3SNZw^j|pU;Xf zv#;MYpB%0qB~J;j;5$@kc~RC&Lij-JN~Yx0^?PzicU7}kc!sjmp}WlPcK0uSJC}P^ zZ*+@yG^md1LD4tl0e$yV=+M}Y?&tE&stp5%fm;~B`$2#rdW5A$b#*|YQUE}_ zyp=#5a|w(QgdSn35j-GVhXU$QPALZ0;b0fk&m$}~>Tt#>`QS7&rwoOw* Date: Wed, 31 Mar 2021 18:36:50 +0000 Subject: [PATCH 24/28] Delete .DS_Store --- index_inverse/src/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/src/.DS_Store diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store deleted file mode 100644 index 69081f3cdfbf8453b3a2c7245844b67ecf97b4a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOG*SW5UtW#w9ICfF0*qzc!4;yCzu2DI6dMlX6Ob{aF;U)p1}Kf248*rG`4~W zB2op(t0YyG>Ia>qh=>o>ph$=Ke7G*?adUWZ)jVD0X7%g2;OIy06W+c#GoRZw9 z$hM)L?vVRi{>|=czHGaFZ)u-Cd~Uh#>UzEF*088gTfoh?#L4WkbRf`MS*l>s>)5}IIkEQWe?pwkinD9>mW=u%6FPjbwT z#SkkHHdmmzvX>Za?wC(*mmQ0txf6Tw!M^iL@xr=0;wLpH&W6zk1Hr(MfkPY4 Date: Wed, 31 Mar 2021 18:36:57 +0000 Subject: [PATCH 25/28] Delete .DS_Store --- index_inverse/test/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/test/.DS_Store diff --git a/index_inverse/test/.DS_Store b/index_inverse/test/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Thu, 1 Apr 2021 12:03:34 +0200 Subject: [PATCH 26/28] modif index --- index_inverse/.DS_Store | Bin 0 -> 6148 bytes index_inverse/src/.DS_Store | Bin 0 -> 6148 bytes index_inverse/src/IndexInverse.py | 19 +++++++++++-------- 3 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 index_inverse/.DS_Store create mode 100644 index_inverse/src/.DS_Store diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..60a5d46dd73e03ddac36a28c797e1f9ceeccdd85 GIT binary patch literal 6148 zcmeHKL2uJA6t>qel1;E4kk+Fw+#0&##^JvWvt2=vq2H96(}wc z^rJ4w5?LMtavUQYgozBH^*tOc^fm^=fMMXaF@R^c!ZJ2wop4+}ze$|sjmA&DRIwf` zKeQdkb{;wVeov15Jjh2`D;U1R)~g`zg;aknWiqP=;hVTSKBzu~ksP<=D2*~Tj;|eRqJwH}GTCl4>tbVbV_FxJX0uTj+gs13Q^#I^>hA6x_CI`_ ze42j#qWR>Iew3^c{)ewnq2)zcCkf#Lu`8L9BiHZ9emPf>r!U)W%4K%#FaPyt<@EVk zTwg|4cn7`9Mm_e2X(H1j7zw|^Vma#q_xUYj-raGphxyq8%iPb5^X#vklo=`W@BIGp zjrgC%mUrMH|NI`{?RLiYxm`ft{S-Ph_UipyzFDMGj;3N!$EgoQ@1fN&iOs6#nDF}Mx~yP$p^VWClnGp=TaacE{vFBGn32fI++ z8TT}r(lB5cm}j7(n^nC3Uta$HpARxE!+>GnPBFl(w%=~SlIU(-SRCH90`w3R1^X2m lRR|Px9jgjn#WheR;1gH@^au-$U;!~d0*VGx7zS>XfqzU!(gXki literal 0 HcmV?d00001 diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Thu, 1 Apr 2021 10:19:33 +0000 Subject: [PATCH 27/28] Delete .DS_Store --- index_inverse/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/.DS_Store diff --git a/index_inverse/.DS_Store b/index_inverse/.DS_Store deleted file mode 100644 index 60a5d46dd73e03ddac36a28c797e1f9ceeccdd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKL2uJA6t>qel1;E4kk+Fw+#0&##^JvWvt2=vq2H96(}wc z^rJ4w5?LMtavUQYgozBH^*tOc^fm^=fMMXaF@R^c!ZJ2wop4+}ze$|sjmA&DRIwf` zKeQdkb{;wVeov15Jjh2`D;U1R)~g`zg;aknWiqP=;hVTSKBzu~ksP<=D2*~Tj;|eRqJwH}GTCl4>tbVbV_FxJX0uTj+gs13Q^#I^>hA6x_CI`_ ze42j#qWR>Iew3^c{)ewnq2)zcCkf#Lu`8L9BiHZ9emPf>r!U)W%4K%#FaPyt<@EVk zTwg|4cn7`9Mm_e2X(H1j7zw|^Vma#q_xUYj-raGphxyq8%iPb5^X#vklo=`W@BIGp zjrgC%mUrMH|NI`{?RLiYxm`ft{S-Ph_UipyzFDMGj;3N!$EgoQ@1fN&iOs6#nDF}Mx~yP$p^VWClnGp=TaacE{vFBGn32fI++ z8TT}r(lB5cm}j7(n^nC3Uta$HpARxE!+>GnPBFl(w%=~SlIU(-SRCH90`w3R1^X2m lRR|Px9jgjn#WheR;1gH@^au-$U;!~d0*VGx7zS>XfqzU!(gXki -- GitLab From 56d44129e6222b03cca772eaeb4d1932d896b242 Mon Sep 17 00:00:00 2001 From: TP SDA Julien David Date: Thu, 1 Apr 2021 10:19:42 +0000 Subject: [PATCH 28/28] Delete .DS_Store --- index_inverse/src/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 index_inverse/src/.DS_Store diff --git a/index_inverse/src/.DS_Store b/index_inverse/src/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0