mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-26 18:04:20 +00:00
✨ Finally complete modeling
This commit is contained in:
parent
7c099f469f
commit
b5307d4370
3 changed files with 121 additions and 62 deletions
|
@ -1,3 +1,3 @@
|
||||||
.titlesplit {
|
.titlesplit {
|
||||||
margin-top: 80px;
|
margin-top: 32px;
|
||||||
}
|
}
|
||||||
|
|
12
src/routes/Gestinfo/abbr/RSV.js
Normal file
12
src/routes/Gestinfo/abbr/RSV.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import React from "react";
|
||||||
|
import {Help} from "bluelib/lib/components";
|
||||||
|
import PropTypes from "prop-types";
|
||||||
|
|
||||||
|
|
||||||
|
export default function RSV() {
|
||||||
|
return (
|
||||||
|
<Help text={"Retrieval Status Value, il punteggio assegnato ai documenti dal modello Okapi BM25"}>RSV</Help>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
RSV.propTypes = {}
|
|
@ -18,6 +18,7 @@ import Todo from "../../components/Todo";
|
||||||
import IDF from "./abbr/IDF";
|
import IDF from "./abbr/IDF";
|
||||||
import TF from "./abbr/TF";
|
import TF from "./abbr/TF";
|
||||||
import TFIDF from "./abbr/TFIDF";
|
import TFIDF from "./abbr/TFIDF";
|
||||||
|
import RSV from "./abbr/RSV";
|
||||||
|
|
||||||
|
|
||||||
export default function Gestinfo() {
|
export default function Gestinfo() {
|
||||||
|
@ -334,34 +335,6 @@ export default function Gestinfo() {
|
||||||
<B><LatexMath block={true}>{`sim_{r} (t_1,t_2) = ic \\left( mac_{\\ t_1,t_2} \\right)`}</LatexMath></B>
|
<B><LatexMath block={true}>{`sim_{r} (t_1,t_2) = ic \\left( mac_{\\ t_1,t_2} \\right)`}</LatexMath></B>
|
||||||
</TitleBox>
|
</TitleBox>
|
||||||
</TitleBox>
|
</TitleBox>
|
||||||
<TitleBox title={"Similitudine vettoriale"}>
|
|
||||||
<P>
|
|
||||||
Un modo di misurare la similitudine in cui i token sono rappresentati come <B>dimensioni vettoriali</B>.
|
|
||||||
</P>
|
|
||||||
<TitleBox title={"Coseno di similitudine"}>
|
|
||||||
<P>
|
|
||||||
Si basa sulla <B>norma a 2</B>, e corrisponde a cercare l'angolo centrato all'origine tra i due vettori:
|
|
||||||
</P>
|
|
||||||
<B><LatexMath block={true}>{`sim_{\\cos} (t_1, t_2) = \\frac{\\vec{t_1} \\cdot \\vec{t_2}}{\\| \\vec{t_1} \\| \\cdot \\| \\vec{t_2} \\|}`}</LatexMath></B>
|
|
||||||
<Aside>
|
|
||||||
Solitamente viene usata nei modelli di <IR/> vettoriali, descritti in seguito.
|
|
||||||
</Aside>
|
|
||||||
<Todo>
|
|
||||||
Forse dovrei scrivere la formula "completa".
|
|
||||||
</Todo>
|
|
||||||
</TitleBox>
|
|
||||||
<Aside>
|
|
||||||
<P>
|
|
||||||
Altre misure di similitudine vettoriale sono:
|
|
||||||
</P>
|
|
||||||
<ul>
|
|
||||||
<LI>La <Anchor href={"https://it.wikipedia.org/wiki/Distanza_euclidea"}>distanza euclidea</Anchor></LI>
|
|
||||||
<LI>Il <Anchor href={"https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient"}>Sørensen–Dice coefficient</Anchor></LI>
|
|
||||||
<LI>Il <Anchor href={"https://en.wikipedia.org/wiki/Jaccard_index"}>Jaccard Index</Anchor></LI>
|
|
||||||
<LI>La <Anchor href={"https://it.wikipedia.org/wiki/Distanza_di_Minkowski"}>distanza di Minkowski</Anchor></LI>
|
|
||||||
</ul>
|
|
||||||
</Aside>
|
|
||||||
</TitleBox>
|
|
||||||
</Split>
|
</Split>
|
||||||
<TitleSplit title={"Indici"}>
|
<TitleSplit title={"Indici"}>
|
||||||
<TitleBox title={"Cosa sono?"}>
|
<TitleBox title={"Cosa sono?"}>
|
||||||
|
@ -617,57 +590,131 @@ export default function Gestinfo() {
|
||||||
Modello classico che rappresenta il vocabolario come uno <B>spazio vettoriale</B>, in cui ogni dimensione rappresenta un token.
|
Modello classico che rappresenta il vocabolario come uno <B>spazio vettoriale</B>, in cui ogni dimensione rappresenta un token.
|
||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
Ogni documento viene rappresentato come un <B>vettore</B>, i cui valori sono <B>pesi</B> assegnati in base a quanto il token è signficativo all'interno del documento.
|
Ogni documento viene rappresentato come un <B>vettore <LatexMath>{`d`}</LatexMath></B>, i cui valori sono <B>pesi <LatexMath>{`w`}</LatexMath></B> assegnati in base a quanto il token è signficativo all'interno del documento.
|
||||||
</P>
|
</P>
|
||||||
<Aside>
|
<Aside>
|
||||||
Il metodo più comunemente usato per assegnare i pesi è il <TFIDF/>, descritto successivamente.
|
Il metodo più comunemente usato per assegnare i pesi è il <TFIDF/>, descritto successivamente.
|
||||||
</Aside>
|
</Aside>
|
||||||
<P>
|
|
||||||
Le query vengono anch'esse trasformate in vettori, e le rilevanze vengono ottenute dalla <B>similitudine vettoriale</B> tra i vettore query e i vettori documenti.
|
|
||||||
</P>
|
|
||||||
<Aside>
|
<Aside>
|
||||||
La matrice della collezione è estremamente sparsa: viene implementata <B>per colonne</B> attraverso un <B>inverted index</B>.
|
La matrice della collezione <LatexMath>{`\\mathbf{D}`}</LatexMath> è estremamente sparsa: viene implementata <B>per colonne</B> attraverso un <B>inverted index</B>.
|
||||||
</Aside>
|
</Aside>
|
||||||
</TitleBox>
|
|
||||||
<TitleBox title={<span>Peso <TFIDF/></span>}>
|
|
||||||
<P>
|
<P>
|
||||||
Un metodo di assegnamento peso che si basa sul <B>prodotto</B> dei fattori <B><TF/></B> e <B><IDF/></B>:
|
Le query vengono anch'esse trasformate in <B>vettori <LatexMath>{`q`}</LatexMath></B>, e le rilevanze vengono ottenute dalla <B>similitudine vettoriale</B> tra i vettore query e i vettori documenti.
|
||||||
</P>
|
</P>
|
||||||
<B><LatexMath block={true}>{`w = tf_{norm} \\cdot idf_{log}`}</LatexMath></B>
|
|
||||||
<Split>
|
<Split>
|
||||||
<TitleBox title={<span><TF/>: Term frequency</span>}>
|
<TitleBox title={<span>Peso <TFIDF/></span>}>
|
||||||
<P>
|
<P>
|
||||||
Misura quanto un token è <B>frequente</B> nel <B>singolo documento</B>:
|
Un metodo di assegnamento peso che si basa sul <B>prodotto</B> dei fattori <B><TF/></B> e <B><IDF/></B>:
|
||||||
</P>
|
</P>
|
||||||
<B><LatexMath block={true}>{`tf = \\frac{occorrenze}{totale\\ token}`}</LatexMath></B>
|
<B><LatexMath block={true}>{`w = tf_{norm} \\cdot idf_{log}`}</LatexMath></B>
|
||||||
<P>
|
<TitleBox title={<span><TF/>: Term frequency</span>}>
|
||||||
Nella formula principale, viene <B>normalizzato</B> dividendolo per il <TF/> più alto del documento, limitandolo così a valori tra 0 e 1:
|
<P>
|
||||||
</P>
|
Misura quanto un token è <B>frequente</B> nel <B>singolo documento</B>:
|
||||||
<B><LatexMath block={true}>{`tf_{norm} = \\frac{tf}{\\max\\ tf_d}`}</LatexMath></B>
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`tf = \\frac{occorrenze}{totale\\ token}`}</LatexMath></B>
|
||||||
|
<P>
|
||||||
|
Nella formula principale, viene <B>normalizzato</B> dividendolo per il <TF/> più alto del documento, limitandolo così a valori tra 0 e 1:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`tf_{norm} = \\frac{tf}{\\max\\ tf_d}`}</LatexMath></B>
|
||||||
|
</TitleBox>
|
||||||
|
<TitleBox title={<span><IDF/>: Inverse document freq.</span>}>
|
||||||
|
<P>
|
||||||
|
Misura quanto un token è <B>raro</B> nella <B>collezione di documenti</B>:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`idf = \\frac{documenti\\ con\\ occ.}{totale\\ documenti}`}</LatexMath></B>
|
||||||
|
<P>
|
||||||
|
Nella formula principale, viene <B>logaritmizzato</B>, al fine di ridurre significativamente il suo impatto:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`idf_{log} = \\log(idf)`}</LatexMath></B>
|
||||||
|
</TitleBox>
|
||||||
</TitleBox>
|
</TitleBox>
|
||||||
<TitleBox title={<span><IDF/>: Inverse document freq.</span>}>
|
<TitleBox title={"Similitudine vettoriale"}>
|
||||||
<P>
|
<P>
|
||||||
Misura quanto un token è <B>raro</B> nella <B>collezione di documenti</B>:
|
Un modo di misurare la similitudine tra <B>insiemi di token</B> rappresentati come <B>dimensioni vettoriali</B>.
|
||||||
</P>
|
</P>
|
||||||
<B><LatexMath block={true}>{`idf = \\frac{documenti\\ con\\ occ.}{totale\\ documenti}`}</LatexMath></B>
|
<TitleBox title={"Coseno di similitudine"}>
|
||||||
<P>
|
<P>
|
||||||
Nella formula principale, viene <B>logaritmizzato</B>, al fine di ridurre significativamente il suo impatto:
|
Si basa sulla <B>norma a 2</B>, e corrisponde a cercare l'angolo centrato all'origine tra i due vettori:
|
||||||
</P>
|
</P>
|
||||||
<B><LatexMath block={true}>{`idf_{log} = \\log(idf)`}</LatexMath></B>
|
<B><LatexMath block={true}>{`
|
||||||
|
sim_{\\cos} (d, q) =
|
||||||
|
\\frac{
|
||||||
|
\\vec{d} \\cdot \\vec{q}
|
||||||
|
}{
|
||||||
|
\\| \\vec{d} \\|_2 \\cdot \\| \\vec{q} \\|_2
|
||||||
|
} =
|
||||||
|
\\frac{
|
||||||
|
\\sum_{i = 0}^{dim.} (d_i \\cdot q_i )
|
||||||
|
}{
|
||||||
|
\\sqrt{\\sum_{i = 0}^{dim.} (d_i^2)} \\cdot \\sqrt{\\sum_{i = 0}^{dim.} (q_i^2})
|
||||||
|
}
|
||||||
|
`}</LatexMath></B>
|
||||||
|
<Aside>
|
||||||
|
Solitamente viene usata nei modelli di <IR/> vettoriali, descritti in seguito.
|
||||||
|
</Aside>
|
||||||
|
</TitleBox>
|
||||||
|
<Aside>
|
||||||
|
<P>
|
||||||
|
Altre misure comuni di similitudine vettoriale sono:
|
||||||
|
</P>
|
||||||
|
<ul>
|
||||||
|
<LI>La <Anchor href={"https://it.wikipedia.org/wiki/Distanza_euclidea"}>distanza euclidea</Anchor></LI>
|
||||||
|
<LI>Il <Anchor href={"https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient"}>Sørensen–Dice coefficient</Anchor></LI>
|
||||||
|
<LI>Il <Anchor href={"https://en.wikipedia.org/wiki/Jaccard_index"}>Jaccard Index</Anchor></LI>
|
||||||
|
<LI>La <Anchor href={"https://it.wikipedia.org/wiki/Distanza_di_Minkowski"}>distanza di Minkowski</Anchor></LI>
|
||||||
|
</ul>
|
||||||
|
</Aside>
|
||||||
</TitleBox>
|
</TitleBox>
|
||||||
</Split>
|
</Split>
|
||||||
</TitleBox>
|
</TitleBox>
|
||||||
</Split>
|
</Split>
|
||||||
<Split>
|
<TitleBox title={"Modello probabilistico"}>
|
||||||
<TitleBox title={"Modello probabilistico"}>
|
<P>
|
||||||
<P>
|
Modello classico che ordina i documenti <LatexMath>{`d`}</LatexMath> in base alla <B>probabilità</B> che siano <B>rilevanti <LatexMath>{`R`}</LatexMath></B> per la query <LatexMath>{`q`}</LatexMath>:
|
||||||
Modello classico che ordina i documenti in base alla loro <B>probabilità di rilevanza</B>.
|
</P>
|
||||||
</P>
|
<B><LatexMath block={true}>{`sim_{prob} = \\frac{P(R\\ |\\ d, q)}{P(\\overline{R}\\ |\\ d, q)}`}</LatexMath></B>
|
||||||
<P>
|
<P>
|
||||||
<Todo>Da finire!</Todo>
|
<Todo>Si dimostra che</Todo> è possibile capire quanto la presenza di un dato token <LatexMath>{`k_i`}</LatexMath> in un documento ne <B>contribuisca alla rilevanza</B>:
|
||||||
</P>
|
</P>
|
||||||
</TitleBox>
|
<B><LatexMath block={true}>{`
|
||||||
</Split>
|
c_i =
|
||||||
|
\\log \\frac{P(k_i\\ |\\ R, \\vec{q})}{1 - P(k_i\\ |\\ R, \\vec{q})}
|
||||||
|
+
|
||||||
|
\\log \\frac{1 - P(k_i\\ |\\ \\overline{R}, \\vec{q})}{P(k_i\\ |\\ \\overline{R}, \\vec{q})}
|
||||||
|
`}</LatexMath></B>
|
||||||
|
<P>
|
||||||
|
<Todo>Non ci ho capito gran che onestamente. Help.</Todo>
|
||||||
|
</P>
|
||||||
|
</TitleBox>
|
||||||
|
<TitleBox title={"Modello Okapi BM25"}>
|
||||||
|
<P>
|
||||||
|
Variante del modello probabilistico che ordina i documenti in base a un <B>punteggio <RSV/></B> ad essi assegnato.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
L'<RSV/> deriva dal prodotto di tre fattori:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`RSV = x \\cdot y \\cdot z`}</LatexMath></B>
|
||||||
|
<Split>
|
||||||
|
<TitleBox title={<span>Fattore <LatexMath>{`x`}</LatexMath></span>}>
|
||||||
|
<P>
|
||||||
|
Deriva dal <B>peso <IDF/></B> dei termini della query presenti nel documento:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`x = \\sum_{t \\in q} ( \\log ( idf ) )`}</LatexMath></B>
|
||||||
|
</TitleBox>
|
||||||
|
<TitleBox title={<span>Fattore <LatexMath>{`y`}</LatexMath></span>}>
|
||||||
|
<P>
|
||||||
|
Deriva dal <B>peso <TF/></B>, dalla lunghezza media dei documenti <LatexMath>{`L_{avg}`}</LatexMath>, la lunghezza del documento specifico <LatexMath>{`L_d`}</LatexMath> e da due parametri di configurazione <LatexMath>{`k_1`}</LatexMath> e <LatexMath>{`b`}</LatexMath>:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`y = \\frac{(k_1 + 1) \\cdot tf_{td}}{k_1 \\cdot \\left( 1 - b + \\left( b \\cdot \\frac{L_d}{L_{avg}} \\right) \\right) + tf_{td}}`}</LatexMath></B>
|
||||||
|
</TitleBox>
|
||||||
|
<TitleBox title={<span>Fattore <LatexMath>{`z`}</LatexMath></span>}>
|
||||||
|
<P>
|
||||||
|
Deriva dal <B>peso <TF/> dei termini della query</B> e da un parametro di configurazione <LatexMath>{`k_3`}</LatexMath>:
|
||||||
|
</P>
|
||||||
|
<B><LatexMath block={true}>{`z = \\frac{(k_3 + 1) \\cdot tf_{tq}}{k_3 + tf_{tq}}`}</LatexMath></B>
|
||||||
|
</TitleBox>
|
||||||
|
</Split>
|
||||||
|
</TitleBox>
|
||||||
</Page>
|
</Page>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue