1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-23 00:14:21 +00:00

Aggiungi informazioni sul modeling

This commit is contained in:
Steffo 2020-11-19 03:00:13 +01:00
parent 71e7e841ff
commit d98c25ac69
3 changed files with 83 additions and 1 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "appuntiweb", "name": "appuntiweb",
"version": "0.10.2", "version": "0.10.3",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"private": false, "private": false,
"repository": "https://github.com/Steffo99/appuntiweb", "repository": "https://github.com/Steffo99/appuntiweb",

View file

@ -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 (
<Fragment>
<Section title={"Information retrieval models"}>
<Panel title={"Cosa sono?"}>
<p>
<b>Modelli matematici</b> che <b>ordinano per rilevanza</b> (<i>ranking</i>) i risultati di una query.
</p>
<p>
Formalmente, sono composti da:
</p>
<ul>
<li>I documenti <ILatex>{r`D`}</ILatex></li>
<li>La query <ILatex>{r`Q`}</ILatex></li>
<li>Una funzione di <i>ranking</i> <ILatex>{r`rank(q_i, d_j) \to \mathbb{R}`}</ILatex> che quantifica la similarità</li>
</ul>
</Panel>
</Section>
<Section>
<Panel title={"Modello classico"}>
<Example>
I motori di ricerca web usano generalmente questo modello.
</Example>
<p>
<b>Modello IR</b> che rappresenta ogni documento come un insieme ordinato di <b>parole chiave</b> (<i>index terms</i>).
</p>
<p>
Associa un <b>peso</b> a ogni token, e ordina l'insieme in base a quel peso.
</p>
<p>
Generalmente, i pesi sono <b>indipendenti</b> uno dall'altro, e questo permette di <b>calcolarli parallelamente</b>.
</p>
<p>
<u>Bag-of-words</u>: L'ordine delle parole nel documento viene solitamente ignorato dal ranking.
</p>
</Panel>
<Panel title={"Modello booleano"}>
<Example>
<code>grep</code> è a tutti gli effetti un modello booleano.
</Example>
<p>
<b>Modello IR classico</b> che dà un peso booleano a ogni documento: <ILatex>{r`1`}</ILatex> se soddisfa tutti i requisiti della query, <ILatex>{r`0`}</ILatex> se non li soddisfa.
</p>
<p>
Ha una <b>precisione perfetta</b>, ma richiede query ben preparate e specifiche.
</p>
<p>
È anche <b>facile da implementare</b>.
</p>
</Panel>
<Panel title={"Modello vettoriale"}>
<Example>
Apache Lucene si basa su questo modello.
</Example>
<p>
<b>Modello IR</b> in cui ogni <b>caratteristica</b> di un documento è rappresentata con un <b>valore floating point</b> e l'intero documento è quindi rappresentato da una <b>n-pla</b> di tutte le sue caratteristiche.
</p>
<p>
<u>Similarità cosinusoidale</u>: il ranking si basa sull'angolo tra il "vettore query" e il "vettore documento":
</p>
<PLatex>{r`
rank(d_j, q) = \frac{d_j \cdot q}{\| d_j \| \times \| q \|}
`}</PLatex>
<p>
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 <b>frequenza dei token</b> normalizzate (<i>df</i>) o logaritmiche (<i>idf</i>).
</p>
<p>
Come il modello classico, ignora l'ordine delle parole.
</p>
</Panel>
</Section>
</Fragment>
)
}

View file

@ -7,6 +7,7 @@ import Thesaurus from "./05_Thesaurus";
import InformationContent from "./06_InformationContent"; import InformationContent from "./06_InformationContent";
import AnalisiLessicale from "./07_AnalisiLessicale"; import AnalisiLessicale from "./07_AnalisiLessicale";
import Indexing from "./08_Indexing"; import Indexing from "./08_Indexing";
import Modeling from "./09_Modeling";
export default function () { export default function () {