Metodo Borda, problema con liste parziali
Ciao a tutti
,
sto implementando un metodo per riaggregazione di più liste ordinate di risultati provenienti da diversi motori di ricerca. Vorrei provare ad utilizzare il metodo Borda per combinare le diverse liste, ma mi è sorto un dubbio:
immaginando che le pagine web siano i candidati e i motori di ricerca i votanti, ciascuno ordinerà le pagine web secondo un certo ordine, come posso combinare attraverso il metodo Borda le tre liste se ad esempio la prima lista è costituita da 100 elementi, la seconda da 60 e la terza da 10.
Considerando questa situazione dovrei assegnare al primo classificato della prima lista il punteggio 100, ma dovrei reputare erroneamente meno importante il primo risultato della seconda lista che avrà punteggio 60.
Quindi il problema è di combinare i risultati di ciascun motore di ricerca considerando che le liste di elementi ottenute sono differenti sia nella dimensione che nel contenuto di elementi (ciascuna lista può contenere elementi diversi dalle altre).
Come posso risolvere questo problema?
Spero di esser stato chiaro...

sto implementando un metodo per riaggregazione di più liste ordinate di risultati provenienti da diversi motori di ricerca. Vorrei provare ad utilizzare il metodo Borda per combinare le diverse liste, ma mi è sorto un dubbio:
immaginando che le pagine web siano i candidati e i motori di ricerca i votanti, ciascuno ordinerà le pagine web secondo un certo ordine, come posso combinare attraverso il metodo Borda le tre liste se ad esempio la prima lista è costituita da 100 elementi, la seconda da 60 e la terza da 10.
Considerando questa situazione dovrei assegnare al primo classificato della prima lista il punteggio 100, ma dovrei reputare erroneamente meno importante il primo risultato della seconda lista che avrà punteggio 60.
Quindi il problema è di combinare i risultati di ciascun motore di ricerca considerando che le liste di elementi ottenute sono differenti sia nella dimensione che nel contenuto di elementi (ciascuna lista può contenere elementi diversi dalle altre).
Come posso risolvere questo problema?
Spero di esser stato chiaro...

Risposte
"zetaenzo":
Ciao a tutti,
sto implementando un metodo per riaggregazione di più liste ordinate di risultati provenienti da diversi motori di ricerca. Vorrei provare ad utilizzare il metodo Borda per combinare le diverse liste, ma mi è sorto un dubbio:
immaginando che le pagine web siano i candidati e i motori di ricerca i votanti, ciascuno ordinerà le pagine web secondo un certo ordine, come posso combinare attraverso il metodo Borda le tre liste se ad esempio la prima lista è costituita da 100 elementi, la seconda da 60 e la terza da 10.
Considerando questa situazione dovrei assegnare al primo classificato della prima lista il punteggio 100, ma dovrei reputare erroneamente meno importante il primo risultato della seconda lista che avrà punteggio 60.
Quindi il problema è di combinare i risultati di ciascun motore di ricerca considerando che le liste di elementi ottenute sono differenti sia nella dimensione che nel contenuto di elementi (ciascuna lista può contenere elementi diversi dalle altre).
Come posso risolvere questo problema?
Spero di esser stato chiaro...
Volendo rimanere solo ai numeretti, mi pare si possa pensare a due approcci.
1. Numerare da 1 al primo e poi ad aumentare, ovviamente vincerà chi ha punteggio minore.
2. Trasformare tutto i una unica scala, da 1 a 100 (ad esempio). Quindi se un motore da 100 risultati, chi è al primo posto si prende 100, al secondo 99 etc... (o si può anche qui "giocare a chi fa meno"). Se un motore da 60 risultati, il primo prende 100 (= 60 * 100/60), il secondo prende 59 * 100/60, etc.
Due commenti veloci:
- perché non considerare una media pesata? Google non è la stessa cosa che "il mio bel motore di ricerca fresco fresco". Sui pesi che si possono usare lascio a te sbizzarrirti (grandezza dBase? percentuale di utilizzo? revenue pubblicitario generato?)
- non tutti trattano allo stesso modo le "ripetizioni", né sono ugualmente veloci nello aggiornamento. Insomma, vi sono molti aspetti che uno potrebbe considerare se volesse fare una analisi più fine
Buon conteggio