From d4d2e30ff58f85d641cacd9ed10e492f3565ae40 Mon Sep 17 00:00:00 2001
From: Stefano Pigozzi
Date: Fri, 20 Nov 2020 18:27:16 +0100
Subject: [PATCH] Add part of evaluation
---
.../GestioneDellInformazione/09_Modeling.js | 19 ++++--
.../GestioneDellInformazione/10_Evaluation.js | 65 +++++++++++++++++++
src/routes/GestioneDellInformazione/index.js | 2 +
3 files changed, 81 insertions(+), 5 deletions(-)
create mode 100644 src/routes/GestioneDellInformazione/10_Evaluation.js
diff --git a/src/routes/GestioneDellInformazione/09_Modeling.js b/src/routes/GestioneDellInformazione/09_Modeling.js
index c602010..4b56e6b 100644
--- a/src/routes/GestioneDellInformazione/09_Modeling.js
+++ b/src/routes/GestioneDellInformazione/09_Modeling.js
@@ -75,12 +75,15 @@ export default function () {
Come il modello classico, ignora l'ordine delle parole.
-
+
- Modello IR che effettua il ranking in base alla probabilità che un documento sia rilevante.
+ Modello IR che effettua il ranking in base alla probabilità di comparsa dei termini della query nei documenti.
- To be continued...
+ Si basa sul calcolare un peso {r`c_i`} per ogni termine della query. Quest'ultimo diventa più grande se il termine compare in documenti rilevanti, e più piccolo se compare in documenti irrilevanti. Se il termine compare in ugual modo in entrambi, allora esso varrà {r`0`}.
+
+
+ Ci sarebbe una dimostrazione complessa che ho omesso per brevità.
- Non ho seriamente capito.
+ Modello IR simile ai modelli classici che però tiene conto anche della frequenza dei termini nei documenti e della lunghezza dei documenti.
+
+
+ Permette anche di tenere in considerazione la frequenza dei termini nella query, nel caso essa sia molto lunga.
+
+
+ Ci sono formule che ho omesso per brevità.
diff --git a/src/routes/GestioneDellInformazione/10_Evaluation.js b/src/routes/GestioneDellInformazione/10_Evaluation.js
new file mode 100644
index 0000000..955fd3e
--- /dev/null
+++ b/src/routes/GestioneDellInformazione/10_Evaluation.js
@@ -0,0 +1,65 @@
+import {Fragment} from "preact";
+import {Section, Panel, ILatex, BLatex, PLatex} from "bluelib";
+import Example from "../../components/Example";
+import ToBeContinued from "../../components/ToBeContinued";
+
+const r = String.raw;
+
+
+export default function () {
+ return (
+
+
+
+
+ La frazione dei documenti rilevanti totali restituita:
+
+ {r`
+ \frac{R \cap A}{R}
+ `}
+
+
+
+ La frazione dei documenti restituiti che sono rilevanti:
+
+ {r`
+ \frac{R \cap A}{A}
+ `}
+
+
+
+
+
+ Si effettuano test e si valutano precisione e richiamo ottenuti.
+
+
+
+ Il modello IR ideale ha valori di richiamo e precisione di 1, ma nella realtà questi valori tendono ad essere inversamente proporzionali.
+
+
+
+
+ Si fissano un certo numero di livelli di richiamo desiderati e si misura la precisione che ha il modello in quei punti, creando una curva di richiamo standard.
+
+
+ È possibile ottenere una curva di richiamo interpolata prendendo per ogni punto il valore di massima precisione tra esso e i punti precedenti.
+
+
+ Interpolata mi sembra un termine orribile... Non sarebbe molto meglio monotonica?
+
+
+
+
+ È possibile misurare la curva di richiamo media effettuando la media su più query dei vari valori, e la curva di richiamo a valore singolo effettuando una query sola.
+
+
+ Sono entrambe importanti per effettuare una valutazione, perchè la curva media potrebbe mascherare problemi di specifiche query nei modelli.
+
+
+
+
+
+ )
+}
diff --git a/src/routes/GestioneDellInformazione/index.js b/src/routes/GestioneDellInformazione/index.js
index a2edefc..69b11d4 100644
--- a/src/routes/GestioneDellInformazione/index.js
+++ b/src/routes/GestioneDellInformazione/index.js
@@ -8,6 +8,7 @@ import InformationContent from "./06_InformationContent";
import AnalisiLessicale from "./07_AnalisiLessicale";
import Indexing from "./08_Indexing";
import Modeling from "./09_Modeling";
+import Evaluation from "./10_Evaluation";
export default function () {
@@ -24,6 +25,7 @@ export default function () {
+
)
}