From d98c25ac69cbcce5efde1e17940d0c6d88d57ea6 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 19 Nov 2020 03:00:13 +0100 Subject: [PATCH] Aggiungi informazioni sul modeling --- package.json | 2 +- .../GestioneDellInformazione/09_Modeling.js | 81 +++++++++++++++++++ src/routes/GestioneDellInformazione/index.js | 1 + 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 src/routes/GestioneDellInformazione/09_Modeling.js diff --git a/package.json b/package.json index 80a5154..72a3e75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "appuntiweb", - "version": "0.10.2", + "version": "0.10.3", "license": "AGPL-3.0-or-later", "private": false, "repository": "https://github.com/Steffo99/appuntiweb", diff --git a/src/routes/GestioneDellInformazione/09_Modeling.js b/src/routes/GestioneDellInformazione/09_Modeling.js new file mode 100644 index 0000000..399bdfe --- /dev/null +++ b/src/routes/GestioneDellInformazione/09_Modeling.js @@ -0,0 +1,81 @@ +import {Fragment} from "preact"; +import {Section, Panel, ILatex, BLatex, PLatex} from "bluelib"; +import Example from "../../components/Example"; + +const r = String.raw; + + +export default function () { + return ( + +
+ +

+ Modelli matematici che ordinano per rilevanza (ranking) i risultati di una query. +

+

+ Formalmente, sono composti da: +

+
    +
  • I documenti {r`D`}
  • +
  • La query {r`Q`}
  • +
  • Una funzione di ranking {r`rank(q_i, d_j) \to \mathbb{R}`} che quantifica la similarità
  • +
+
+
+
+ + + I motori di ricerca web usano generalmente questo modello. + +

+ Modello IR che rappresenta ogni documento come un insieme ordinato di parole chiave (index terms). +

+

+ Associa un peso a ogni token, e ordina l'insieme in base a quel peso. +

+

+ Generalmente, i pesi sono indipendenti uno dall'altro, e questo permette di calcolarli parallelamente. +

+

+ Bag-of-words: L'ordine delle parole nel documento viene solitamente ignorato dal ranking. +

+
+ + + grep è a tutti gli effetti un modello booleano. + +

+ Modello IR classico che dà un peso booleano a ogni documento: {r`1`} se soddisfa tutti i requisiti della query, {r`0`} se non li soddisfa. +

+

+ Ha una precisione perfetta, ma richiede query ben preparate e specifiche. +

+

+ È anche facile da implementare. +

+
+ + + Apache Lucene si basa su questo modello. + +

+ Modello IR in cui ogni caratteristica di un documento è rappresentata con un valore floating point e l'intero documento è quindi rappresentato da una n-pla di tutte le sue caratteristiche. +

+

+ Similarità cosinusoidale: il ranking si basa sull'angolo tra il "vettore query" e il "vettore documento": +

+ {r` + rank(d_j, q) = \frac{d_j \cdot q}{\| d_j \| \times \| q \|} + `} +

+ Spesso si associa un peso a ogni dimensione in modo da variare l'importanza di una data caratteristica; comunemente, per i testi, si usano come pesi le frequenza dei token normalizzate (df) o logaritmiche (idf). +

+

+ Come il modello classico, ignora l'ordine delle parole. +

+
+
+
+ ) +} diff --git a/src/routes/GestioneDellInformazione/index.js b/src/routes/GestioneDellInformazione/index.js index 36cea42..5e53376 100644 --- a/src/routes/GestioneDellInformazione/index.js +++ b/src/routes/GestioneDellInformazione/index.js @@ -7,6 +7,7 @@ import Thesaurus from "./05_Thesaurus"; import InformationContent from "./06_InformationContent"; import AnalisiLessicale from "./07_AnalisiLessicale"; import Indexing from "./08_Indexing"; +import Modeling from "./09_Modeling"; export default function () {