From a36fa21f25d9a917776e769e4aacc1e24b23bdd5 Mon Sep 17 00:00:00 2001
From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com>
Date: Mon, 9 Jan 2023 19:11:58 +0100
Subject: [PATCH] =?UTF-8?q?MAJ=204.4.2=20-=20R=C3=A9glage=20du=20coef=20de?=
=?UTF-8?q?=20similitude=20minimale=20pour=20la=20recherche=20d'un=20parag?=
=?UTF-8?q?raphe=20par=20son=20contenu.=20Nouveau=20coef=20minimal=200.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.classpath | 2 +-
bin/MEPTL/rechercherUnNodeStudent.class | Bin 16647 -> 15873 bytes
bin/evaluer/evaluation.class | Bin 18163 -> 18163 bytes
bin/fenetres/attributs.class | Bin 11397 -> 11397 bytes
.../create_act/actNewFichierAnalyse.class | Bin 8036 -> 8141 bytes
bin/list/listeDesNodesAllContent.class | Bin 1148 -> 1549 bytes
src/MEPTL/rechercherUnNodeStudent.java | 44 ++++--------------
src/evaluer/evaluation.java | 6 +--
src/fenetres/attributs.java | 2 +-
.../create_act/actNewFichierAnalyse.java | 4 +-
src/list/listeDesNodesAllContent.java | 42 +++++++++--------
11 files changed, 40 insertions(+), 60 deletions(-)
diff --git a/.classpath b/.classpath
index 4b5675b..148593c 100644
--- a/.classpath
+++ b/.classpath
@@ -12,6 +12,6 @@
-
+
diff --git a/bin/MEPTL/rechercherUnNodeStudent.class b/bin/MEPTL/rechercherUnNodeStudent.class
index 5e2b12ba03c6edb2f65a0f9b2f6bac6821f6a90b..cdd43df04e10dfcb6b32fcca6a70de264c37b97a 100644
GIT binary patch
delta 6114
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
delta 16
XcmZpTY>nJ7foHOZpwH$zJS*h^I(P=8
diff --git a/bin/fenetres/create_act/actNewFichierAnalyse.class b/bin/fenetres/create_act/actNewFichierAnalyse.class
index 9ecd867124f3701a7a79750d9917a4d83673af83..9529ecf616d457f22290a91c50468f053c602f2a 100644
GIT binary patch
delta 118
zcmaE2ch+9u)W2Q(7#J9A7&o&sFflS{Og_l0vC-m!plotnNoqxjRe?$kgpmPb6c;4s
zZI%?8!pzLUxNb6=P}JtNqRJeMYd2q%En-w$4>XL4aRcK_ki79h1W^A^S
gD`He!3slO)xQ=l>kmh1wWN-u0K)|>GNU(tT05nJwlmGw#
diff --git a/bin/list/listeDesNodesAllContent.class b/bin/list/listeDesNodesAllContent.class
index 0c40347587100f5a0c6ef05b3ad3701609b1e260..36638492620872dad77866c839ff61c21381c54a 100644
GIT binary patch
literal 1549
zcmaJ>U2GIp6#j0vWvAP1foW-NDFrIEU6`^ITZOiurTkdkmc#-99!zGpLpyYKW|_S!
z^5BaxO*BT0L1Ks@VvIv{F{q_l6Px;j8hPT$Ct{*T!=oe^HPQIZ-J-=BXLj%Ropa`%
zpL@@}U;p{h9DsfdM^Prw?AUpk34GM<7Uz^-SOo9
z^l>XA1(x;Ot}S;8L^=|O1j+|FErtjxC9Fw50wohdzP0y(lMvnvPWF@Ng>WGHPGqXbdY+8-*@V`L{ZbI;^5%+>#?+
zc8|lH>pBvte<~T3zU_|p#n6DpDDJwW%91UPCaf0FCd~XqSf46(NW&U|YH2+od()mb
znKk{%(8t<1)?qyt#yU|j9oDp}V^OfuvN2T+cQcW^JmpxuW7aXV;K)uTwQ6W%VI_++
z)6{x74ecyJ#R?ZlL*llW&zY`2>COFK7AEw(=U10#zlG8Z~sW
zFy)xBG~COXO3HZdm@RG3HJ#2-p`nL0DHF4~pBr1^=D5|F@d_?K*v{q1OTUnj1>efi
zpn*G9w*R1p9qf#f<^k@Znwc-C4$?5dj9k?qy`?~d0!^h9bEa>O`(|$9juQ3=#FPtZ
z%dnv$+7037jkE5DWC2Fvo8cr@dNoRB_KHNBi
z6{$@}hG$U!Hf8=%8~mnyPdtD5!1GhYiyyC<3+37QrkhuZSLR!`pCn$JZ#n%t@%pFH
zsW9@5&!(p?5O00n8u^O8#1}t3`U$c6>g?qVvGIp9&++_=wwqs`dy3e_lzt@cKzI5D
z;!wpm`@SU}O#GY46P<+2dCQ@SDZ5R<{7k{#jk-7hTf|9F9B{D`Ub_n3vk2G
z?@@d%z;#3KQ2bJWYlhBBIhXv3p&N=%2beYV&59QTTr~78ia#CTyrFMZ{Mi668+y0m
z#{xWK==Uk^26)oYw<-QufD?w^tN7snmZA46zAL~HL*J=*cYt9-e^Bu)0R{|xm*QIk
z^cebX#cKj2%8UPgBgLg}d6DZJLAdHiQO~i4JHAr9$gAij)QZ!n6K8k}y@Gmi77gN6
zUNh&=C|*O8cpc5+4PGU0qD5T5TJaXvi6SqMchD*>@sfBC8^koPgc-D}9;#=juurfT
m`xvJ}ypM-4#4dW6QWx6)KrxC2{;HNfV(G()k8olcQhx!l8Hi;7
delta 681
zcmY+C%}*0S7{;HsA7NZ7lqwaddoz)2wWpr
zT7A?t?dYbmFpN?UMhN*m`9W5j(rr|?wePr%9Ij*Z)0!^i|R@Pv~{SR$ckEs868Gd&dcpUP&Z@3ZegE
zwav@67rN}N5>i{Q1r`Z|v1)tnj-wsVmCZ^LcbB(}rMlctq$6^kGxgv>d2c0_`0LtPrws^vPN3tWB#(@c=rv
zy2x*q3&k#mPLa)Y%7rn569y*@-ZVI4a4x|#CvavI7U6A!cMP@{3@>$Y@51~KJ~W0}
zV#std9sc1oES_ItfagABQ9vG7P{LKrU=WKa@^cx&I^WwXjNlzByZjacjN%i57`U>e^ri(ZZ?CO5&2kGaa?E1uvf2+v}z{~Y-q3|s$wtUhNog%^JS1#Oqd
diff --git a/src/MEPTL/rechercherUnNodeStudent.java b/src/MEPTL/rechercherUnNodeStudent.java
index 2a7467d..d8b1e81 100644
--- a/src/MEPTL/rechercherUnNodeStudent.java
+++ b/src/MEPTL/rechercherUnNodeStudent.java
@@ -2,6 +2,7 @@ package MEPTL;
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -34,6 +35,7 @@ public class rechercherUnNodeStudent {
node nodStudent =null;
+
//************************************************************************************************
//** Recherche le node par le contenu exact du node en intégrant les contenus des nodes enfants **
@@ -42,7 +44,7 @@ public class rechercherUnNodeStudent {
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null){
if(nodSujet.getAttributs().get("recherche_contenu_exact").contentEquals("true")) {
nodStudent = findNodeParContenuEXACT(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
- if(nodStudent!=null) return nodStudent;
+ return nodStudent;
}
}
@@ -53,19 +55,11 @@ public class rechercherUnNodeStudent {
if(nodSujet.getAttributs().get("recherche_contenu_plus_proche_voisin")!=null && nodSujet.retourneLesContenusEnfants("").length()>2){
if(nodSujet.getAttributs().get("recherche_contenu_plus_proche_voisin").equals("true")){
nodStudent = findNodeParContenuPlusProcheVoisin(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
- if(nodStudent != null) {
-// System.out.println("A trouvé le node "+ nameNode + " par le plus proche voisin avec le contenu =" + nodSujet.retourneLesContenusEnfants(""));
- return nodStudent;
- }else {
-// System.out.println("N'a pas trouvé le node "+ nameNode + " par le plus proche voisin avec le contenu =" + nodSujet.retourneLesContenusEnfants(""));
- }
+ return nodStudent;
}
}
-
-
-
//***********************************
//** Recherche le node par l'index **
//***********************************
@@ -75,7 +69,7 @@ public class rechercherUnNodeStudent {
return nodStudent;
}
}
-
+
//**********************************************************************************************************
@@ -88,8 +82,7 @@ public class rechercherUnNodeStudent {
if(nodStudent!=null) return nodStudent;
}
-
-
+
//*****************************************************************
//** Recherche le node text:p par les différents contenu du node **
@@ -278,15 +271,15 @@ public class rechercherUnNodeStudent {
if(nodStudent!=null) return nodStudent;
//méthode par le calcul de la distance de levenshtein
- if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod2Student.getNodes(), valueAttribut, nameNode,0.75,null);
+ if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod2Student.getNodes(), valueAttribut, nameNode,0.1,null);
if(nod2Student!=null) if(nodStudent==null) {
ArrayList tousLesfreres = nod2Student.retourneTousLesFreres();
for(int i = 0 ; i < tousLesfreres.size();i++) {
if(tousLesfreres.get(i)!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(tousLesfreres.get(i).getNodes(), nameNode,valueAttribut,0.75,null);
}
}
- if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod1Student.getNodes(), valueAttribut, nameNode,0.75,null);
- if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod0Student.getNodes(), valueAttribut, nameNode,0.75,null);
+ if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod1Student.getNodes(), valueAttribut, nameNode,0.1,null);
+ if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod0Student.getNodes(), valueAttribut, nameNode,0.1,null);
}else {
@@ -698,13 +691,8 @@ public class rechercherUnNodeStudent {
}
-
-
-
/**
- * Recherche le node style:tab-stop par style:position.
- * Un tolérance de 0.05 est appliquée sur la valeur de la position.
- * On peut utiliser les intervalles dans la valeur de l'attribut style:position.
+ * Recherche le node style:position pour les stop de tabulation.
* @param nameNode
* @param nodSujet
* @param nod0Student
@@ -726,10 +714,6 @@ public class rechercherUnNodeStudent {
if(m3.find()) {
valueAttribut = (valueAttribut.substring(m3.start(), m3.end()));
}else {
- System.out.println("Tolérance par défaut du tab-stop");
- System.out.println("La valeur du tab-stop du sujet est =" + valueAttribut);
- System.out.println("Problème de pattern");
- System.out.println("no match avec la valeur du tab-stop du sujet.");
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nProblème de pattern.","Erreur",JOptionPane.ERROR_MESSAGE);
@@ -739,8 +723,6 @@ public class rechercherUnNodeStudent {
valueAttribut = String.valueOf(evaluation.TraitementIntervaleRetourneValeurMaximale(valueAttribut) - tolerance);
}
}else {
- System.out.println("Erreur avec la valeur du tab-stop du sujet.");
- System.out.println("Valeur du tab-stop du sujet ="+valueAttribut);
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut,"Erreur",JOptionPane.ERROR_MESSAGE);
}
@@ -750,9 +732,6 @@ public class rechercherUnNodeStudent {
try {
ValeurSujet = Double.valueOf(valueAttribut);
}catch (Exception e) {
- System.out.println("La valeur du tab-stop du sujet est =" + valueAttribut);
- System.out.println("Problème de cast en type double");
- System.out.println("Valeur tab-stop="+ValeurSujet);
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nImpossible de convertir la valeur en type Double.", "Erreur",JOptionPane.ERROR_MESSAGE);
@@ -771,9 +750,6 @@ public class rechercherUnNodeStudent {
if(m3.find()) {
valueAttributStudent = (valueAttributStudent.substring(m3.start(), m3.end()));
}else {
- System.out.println("La valeur du tab-stop du student est =" + valueAttributStudent);
- System.out.println("Problème de pattern");
- System.out.println("no match avec la valeur du tab-stop du student.");
JOptionPane.showMessageDialog(null, "Le fichier de l'étudiant possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nProblème de pattern.","Erreur",JOptionPane.ERROR_MESSAGE);
diff --git a/src/evaluer/evaluation.java b/src/evaluer/evaluation.java
index d564e21..61d4ae1 100644
--- a/src/evaluer/evaluation.java
+++ b/src/evaluer/evaluation.java
@@ -884,8 +884,8 @@ public class evaluation {
/**
* Compare deux chaînes de caractères avec un seuil de similitude (79% par défaut).
- * Lorsque les deux chaînes de caractères partages 79% des caractères comparés par groupe de 2 ou 3 ou 4. Alors retourne TRUE.
- * Lorsque les deux chaînes de caractères partages moins de 79% des caractères comparés par groupe de 2 ou 3 ou 4. Alors retourne FALSE.
+ * Lorsque les deux chaînes de caractères partages 90% des caractères comparés par groupe de 2 ou 3 ou 4. Alors retourne TRUE.
+ * Lorsque les deux chaînes de caractères partages moins de 90% des caractères comparés par groupe de 2 ou 3 ou 4. Alors retourne FALSE.
* Les Chaînes de caractères doivent avoir au moins 6 caractères, après néttoyage du texte avec la méthode NetTexte().
* Sinon le seuil de tolérance est de 99.99%.
*
@@ -900,7 +900,7 @@ public class evaluation {
* @return TRUE ou FALSE en fonction de la comparaison et du seuil de tolérance.
*/
private static boolean similitudeString(String A, String Modele, Double tolerance_text) {
- if(tolerance_text==null) tolerance_text = 0.79 ;
+ if(tolerance_text==null) tolerance_text = 0.9 ;
Modele = NetTexte(Modele);
A = NetTexte(A);
diff --git a/src/fenetres/attributs.java b/src/fenetres/attributs.java
index 4290d3e..45c2567 100644
--- a/src/fenetres/attributs.java
+++ b/src/fenetres/attributs.java
@@ -121,7 +121,7 @@ public class attributs extends JFrame {
panelDroite.add(btnIntervalle);
JButton btnTextClean = new JButton("Text clean");
- btnTextClean.setToolTipText("Texte nettoyé de tous les caractères spéciaux, chiffres et ignore la casse (équivalent à allContent=\"environ\").
Cette fonction ne peut pas être combinée avec les autres fonctions ci-dessous.
Ce n'est pas un opérateur OU contrairement à l'opérateur ↕.
La tolérance de texte (79% de similitude avec le texte de la consigne) paramètre dans les setting. (exemple : ¢‽2) ");
+ btnTextClean.setToolTipText("Texte nettoyé de tous les caractères spéciaux, chiffres et ignore la casse (équivalent à allContent=\"environ\").
Cette fonction ne peut pas être combinée avec les autres fonctions ci-dessous.
Ce n'est pas un opérateur OU contrairement à l'opérateur ↕.
La tolérance de texte (90% de similitude avec le texte de la consigne) paramètre dans les setting. (exemple : ¢‽2) ");
btnTextClean.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
diff --git a/src/fenetres/create_act/actNewFichierAnalyse.java b/src/fenetres/create_act/actNewFichierAnalyse.java
index 65b8366..b11d0ae 100644
--- a/src/fenetres/create_act/actNewFichierAnalyse.java
+++ b/src/fenetres/create_act/actNewFichierAnalyse.java
@@ -148,7 +148,7 @@ public class actNewFichierAnalyse extends AbstractAction{
Enumeration pages = Collections.enumeration(nod.getNodes());
while(pages.hasMoreElements()) {
node nodLaPage = pages.nextElement();
- Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
+ Pattern p = Pattern.compile("^text:p$|^text:h$|^text:span$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
ArrayList listTextesInPage = new ArrayList();
for(int i = 0 ; i < nodLaPage.getNodes().size();i++) {
Matcher m = p.matcher(nodLaPage.getNodes().get(i).getNomElt());
@@ -173,7 +173,7 @@ public class actNewFichierAnalyse extends AbstractAction{
Enumeration pages = Collections.enumeration(nod.getNodes());
while(pages.hasMoreElements()) {
node nodLaPage = pages.nextElement();
- Pattern p = Pattern.compile("^text:p$|^text:h$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
+ Pattern p = Pattern.compile("^text:p$|^text:h$|^text:span$|^text:list$|^text:list-item$|^text:line-break$|^text:span$|^text:tab$"); //le node qui peuvent rechercher par le contenu textuel
ArrayList listTextesInPage = new ArrayList();
for(int i = 0 ; i < nodLaPage.getNodes().size();i++) {
Matcher m = p.matcher(nodLaPage.getNodes().get(i).getNomElt());
diff --git a/src/list/listeDesNodesAllContent.java b/src/list/listeDesNodesAllContent.java
index 955218b..9cb7695 100644
--- a/src/list/listeDesNodesAllContent.java
+++ b/src/list/listeDesNodesAllContent.java
@@ -14,29 +14,33 @@ public class listeDesNodesAllContent {
String nameNode = nod.getNomElt();
+ switch (nameNode) {
+ case "text:p": return true;
+ case "text:span": return true;
+ case "text:list": return true;
+ case "text:tab":return true;
+ case "text:title":return true;
+ case "text:subject":return true;
+ case "page":return true;
+ case "text:time":return true;
+ case "structurepage":return true;
- if(nameNode.equals("text:title")) return true;
- if(nameNode.equals("text:subject")) return true;
- if(nameNode.equals("page")) return true;
- if(nameNode.equals("text:date")) return true;
- if(nameNode.equals("text:time")) return true;
+ case "number:text":return false;
+ case "text:page-count":return false;
+ case "OU":return false;
+ case "text:conditional-text":return false;
+ case "text:bookmark":return false;
+ case "style:tab-stop":return false;
+ case "style:text-properties":return false;
+ case "style:paragraph-properties":return false;
+ case "style:style":return false;
+ case "style:default-style\"":return false;
- if(nameNode.equals("structurepage")) return true;
- if(nameNode.equals("number:text")) return false;
- if(nameNode.equals("text:page-number")) return false;
- if(nameNode.equals("text:page-count")) return false;
- if(nameNode.equals("OU")) return false;
- if(nameNode.equals("text:conditional-text")) return false;
- if(nameNode.contains("text:bookmark")) return false;
- if(nameNode.contains("text:bookmark")) return false;
- if(nameNode.equals("style:tab-stop")) return false;
+ default: return true;
+ }
-// if(nod.retourneLesContenusEnfants("").length()<=0) return false;
-
- if(nameNode.contains("text:")) return true;
-
- return true;
+
}