diff --git a/src/components/Todo.js b/src/components/Todo.js index 33828d6..e6826ba 100644 --- a/src/components/Todo.js +++ b/src/components/Todo.js @@ -3,16 +3,24 @@ import PropTypes from "prop-types" import style from "./Todo.module.css" -export default function Todo({ children }) { +export default function Todo({ children, block }) { useEffect(() => { console.info("TODO:", { children }) }, []) - return ( - 🚧 {children} - ) + if(block) { + return ( +
{children}
+ ) + } + else { + return ( + 🚧 {children} + ) + } } Todo.propTypes = { children: PropTypes.node, + block: PropTypes.bool, } diff --git a/src/components/Todo.module.css b/src/components/Todo.module.css index ef92ce2..6d2b0b5 100644 --- a/src/components/Todo.module.css +++ b/src/components/Todo.module.css @@ -4,3 +4,9 @@ padding: 1px; border-radius: 2px; } + +.todoblock { + background-color: #292F33; + border: 2px dashed #FFCC4D; + color: #FFCC4D; +} \ No newline at end of file diff --git a/src/routes/Gestinfo/img/replacement.png b/src/routes/Gestinfo/img/replacement.png new file mode 100644 index 0000000..0f0087e Binary files /dev/null and b/src/routes/Gestinfo/img/replacement.png differ diff --git a/src/routes/Gestinfo/img/suggestion.png b/src/routes/Gestinfo/img/suggestion.png new file mode 100644 index 0000000..d83bd50 Binary files /dev/null and b/src/routes/Gestinfo/img/suggestion.png differ diff --git a/src/routes/Gestinfo/index.js b/src/routes/Gestinfo/index.js index 6475faf..ba48d32 100644 --- a/src/routes/Gestinfo/index.js +++ b/src/routes/Gestinfo/index.js @@ -34,6 +34,8 @@ import Image from "../../components/Image" import ImgDocuments from "./img/documents.png" import ImgResult from "./img/result.png" import ImgQuery from "./img/query.png" +import ImgReplacement from "./img/replacement.png" +import ImgSuggestion from "./img/suggestion.png" const r = String.raw @@ -69,6 +71,7 @@ export default function Gestinfo() {
  • 📰 Wikipedia
  • 🗒️ Appunti open-source di Sharon Guerzoni
  • 📘 Libro di testo consigliato
  • +
  • 🌐 Introduction to Information Retrieval
  • @@ -314,26 +317,18 @@ export default function Gestinfo() { Gli algoritmi che realizzano questo passo sono detti rispettivamente stemmer o lemmatizer.

    - Il motore di ricerca stabilisce la relativa importanza di ciascun token dell'insieme, in - modo da determinare più facilmente in seguito la rilevanza del documento in cui si trovano. + Il motore di ricerca stabilisce la relativa importanza di ciascun token dell'insieme, in modo da determinare più facilmente in seguito la rilevanza del documento in cui si trovano.

    I termini più importanti di un documento sono detti index term.

    Essi solitamente sono individuati da parser e scanner, che @@ -342,36 +337,40 @@ export default function Gestinfo() {

    - Opzionalmente, l'intero documento può essere inserito in una o più categorie di - un thesaurus, una gerarchia predeterminata di categorie di documenti. + Opzionalmente, l'intero documento può essere inserito in una o più categorie di un thesaurus, una gerarchia predeterminata di categorie di documenti.

    - Matrice costruita per calcolare la distanza di Levenshtein con un algoritmo - greedy: + Matrice costruita per calcolare la distanza di Levenshtein con un algoritmo greedy:

    @@ -530,82 +522,66 @@ export default function Gestinfo() {
  • Trasposizione di un singolo carattere
  • - Differenzia i costi delle varie operazioni, diffenenziando ad esempio in base al - carattere sostituito. + Differenzia i costi delle varie operazioni, diffenenziando ad esempio in base al carattere sostituito.

    - Calcolare l'edit distance {`E`} tra due token è un processo - computazionalmente molto costoso {`O(n^2)`}. + Calcolare l'edit distance {`E`} tra due token è un processo computazionalmente molto costoso {`O(n^2)`}.

    - +

    È possibile evitare di calcolare l'edit distance per la maggior parte dei termini del - vocabolario filtrandoli su criteri più veloci. + vocabolario pre-filtrandoli su criteri computazionalmente più veloci.

    - + - {r`\left| size(X) - size(Y) \right| \leq k`} - {r`\Updownarrow`} - {r`E \leq k`} + {r`E \geq \left| size(X) - size(Y) \right|`} - + Differenza di {r`q`}-grammi}> - {r`size(X \cap Y) = \max(size(X),\ size(Y)) + q - 1 - (k \cdot q)`} - {r`\Updownarrow`} - {r`E \leq k`} + + {r`E \geq \frac{\max ( size(X), size(Y) ) - size(X \cap Y) + q - 1}{q}`} + + + Posizione dei {r`q`}-grammi}> + +

    + Richiede che venga tenuto traccia delle posizione dei {`q`}-grammi, e prevede che i {`q`}-grammi a più di {`k`} posizioni di distanza non vengano considerati uguali. +

    - - -

    - Richiede che venga tenuto traccia delle posizione dei {`q`}-grammi, - e prevede che i {`q`}-grammi a più - di {`k`} posizioni di distanza non vengano considerati - uguali. -

    -
    Tramite overlap dei {`q`}-grammi}>

    - Dato un token, si ordinano i token del vocabolario in base al numero - di {`q`}-grammi in comune. + Dato un token, si ordinano i token del vocabolario in base al numero di {`q`}-grammi in comune.

    - Misura di overlap tra due insiemi - di {`q`}-grammi {`X`} e {`Y`}: + Misura di overlap tra due insiemi di {`q`}-grammi {`X`} e {`Y`}:

    {r`Jaccard = \frac{size(X \cap Y)}{size(X \cup Y)}`}

    - È costoso in termini di spazio: ogni termine va salvato molte volte nel vocabolario (permuterm - problem). + È costoso in termini di spazio: ogni termine va salvato molte volte nel vocabolario (permuterm problem).

    Tramite {`q`}-gram indexes}> {`q`}-gram index}>

    - Vocabolario aggiuntivo che associa {`q`}-grammi ai token - corrispondenti del vocabolario principale. + Vocabolario aggiuntivo che associa {`q`}-grammi ai token corrispondenti del vocabolario principale.

    - I risultati della ricerca andranno post-filtrati, in quanto ci potrebbero essere dei falsi - positivi: + I risultati della ricerca andranno post-filtrati, in quanto ci potrebbero essere dei falsi positivi:

    @@ -1064,35 +1018,30 @@ export default function Gestinfo() { Modelli di }>

    - Sono modelli matematici in grado di selezionare e ordinare i documenti in - base alla loro rilevanza rispetto alla query. + Sono modelli matematici in grado di selezionare e ordinare i documenti in base alla loro rilevanza rispetto alla query.

    - Stabiliscono i risultati richiamati dal motore di ricerca e l'ordine con cui vengono - visualizzati. + Stabiliscono i risultati richiamati dal motore di ricerca e l'ordine con cui vengono visualizzati.

    - Rappresentano la query come un insieme di index term, e assegnano le rilevanze confrontando - l'insieme con gli index term dei documenti. + Rappresentano la query come un insieme di index term, e assegnano le rilevanze confrontando l'insieme con gli index term dei documenti.

    - Ad ogni index term del documento viene indipendentemente assegnato un peso in - base alla sua rilevanza nella query. + Ad ogni index term del documento viene indipendentemente assegnato un peso in base alla sua rilevanza nella query.

    - Modello classico che rappresenta la query come un booleano, e - genera la rilevanza valutandolo su ogni documento: + Modello classico che rappresenta la query come un booleano, e genera la rilevanza valutandolo su ogni documento:

    • 1 se il è vero
    • @@ -1122,31 +1071,24 @@ export default function Gestinfo() {

      - Modello classico che rappresenta il vocabolario come uno spazio vettoriale, in cui ogni - dimensione rappresenta un token. + Modello classico che rappresenta il vocabolario come uno spazio vettoriale, in cui ogni dimensione rappresenta un token.

      - Ogni documento viene rappresentato come un vettore {`d`}, i cui - valori sono pesi {`d_i`} assegnati in base a quanto il token è - signficativo all'interno del documento. + Ogni documento viene rappresentato come un vettore {`d`}, i cui valori sono pesi {`d_i`} assegnati in base a quanto il token è signficativo all'interno del documento.

      - Le query vengono anch'esse trasformate in vettori {`q`}, e le - rilevanze vengono ottenute dalla similitudine vettoriale tra i vettore query e i vettori - documenti. + Le query vengono anch'esse trasformate in vettori {`q`}, e le rilevanze vengono ottenute dalla similitudine vettoriale tra i vettore query e i vettori documenti.

      Peso }>

      - Un metodo di assegnamento peso che si basa sul prodotto dei - fattori e : + Un metodo di assegnamento peso che si basa sul prodotto dei fattori e :

      {`d_i = tf_{norm}(i) \\cdot idf_{log}(i)`} : Term frequency}> @@ -1157,8 +1099,7 @@ export default function Gestinfo() { block={true} >{`tf(i) = \\frac{occorrenze}{totale\\ token}`}

      - Nella formula principale, viene normalizzato dividendolo per il più - alto del documento, limitandolo così a valori tra 0 e 1: + Nella formula principale, viene normalizzato dividendolo per il più alto del documento, limitandolo così a valori tra 0 e 1:

      {`idf(i) = \\frac{totale\\ documenti}{documenti\\ con\\ occ.}`}

      - Nella formula principale, viene logaritmizzato, al fine di ridurre - significativamente il suo impatto: + Nella formula principale, viene logaritmizzato, al fine di ridurre significativamente il suo impatto:

      {`idf_{log}(i) = \\log(idf(i))`}

      - Un modo di misurare la similitudine tra insiemi di token rappresentati come dimensioni - vettoriali. + Un modo di misurare la similitudine tra insiemi di token rappresentati come dimensioni vettoriali.

      - Si basa sulla norma a 2, e corrisponde a cercare l'angolo centrato - all'origine tra i due vettori: + Si basa sulla norma a 2, e corrisponde a cercare l'angolo centrato all'origine tra i due vettori:

      {` sim_{\\cos} (d, q) = @@ -1210,47 +1148,56 @@ export default function Gestinfo() { Altre misure comuni di similitudine vettoriale sono:

        -
      • La distanza - euclidea
      • -
      • Il Sørensen–Dice - coefficient
      • -
      • Il Jaccard - Index
      • -
      • La distanza - di Minkowski
      • +
      • La distanza euclidea
      • +
      • Il Sørensen–Dice coefficient
      • +
      • Il Jaccard Index
      • +
      • La distanza di Minkowski
      + +

      + Implementazione del modello vettoriale che ordina i documenti {`d`} in base alla probabilità {`R`} che siano rilevanti per la query {`q`}: +

      + {`sim_{prob} = \\frac{P(R\\ |\\ d, q)}{P(\\overline{R}\\ |\\ d, q)}`} +

      + Si dimostra che è possibile determinare quanto la presenza di un dato token {`k_i`} in un documento {r`d`} ne contribuisca alla rilevanza per la query {r`\vec{q}`}: +

      + {` + 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})} + `} + + + + + + + + + +
      - -

      - Modello classico che ordina i documenti {`d`} in base - alla probabilità che siano rilevanti {`R`} per la - query {`q`}: -

      - {`sim_{prob} = \\frac{P(R\\ |\\ d, q)}{P(\\overline{R}\\ |\\ d, q)}`} -

      - Si dimostra che è possibile capire quanto la presenza di un dato - token {`k_i`} in un documento {r`d`} ne contribuisca - alla rilevanza per la query {r`\vec{q}`}: -

      - {` - 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})} - `} - Continuo a non aver capito gran che. -

      - Il contributo {r`c_i`} viene poi usato come peso -

      -

      Modello classico che ordina i documenti in base a un punteggio ad essi assegnato. @@ -1262,15 +1209,13 @@ export default function Gestinfo() { Fattore {`x`}}>

      - Deriva dal peso dei termini della query presenti nel documento: + Deriva dalla somma del peso dei termini della query presenti nel documento:

      {`x = \\sum_{t \\in q} ( idf_{\\log} )`}
      Fattore {`y`}}>

      - Deriva dal peso , dalla lunghezza media dei - documenti {`L_{avg}`}, la lunghezza del documento - specifico {`L_d`} e da due parametri di + Deriva dal peso , dalla lunghezza media dei documenti {`L_{avg}`}, la lunghezza del documento specifico {`L_d`} e da due parametri di configurazione {`k_1`} e {`b`}: