Come si calcola l'affinità nei livelli di Edge Edge / Attività

2

Ho cercato come costruire un newsfeed che ordina l'ordine in base alla pertinenza.

Ho seguito il Edge Rank di Facebook e Etsy's Activity Feed Architecture e non riesco a capire come queste aziende calcolano affinità.

Il database memorizza un valore percentuale ad esempio 0,75

Dato che ho creato una serie di elementi di attività.

L'utente X ha commentato l'utente Y All'utente X è piaciuto l'utente Y

Come otterresti una percentuale di affinità da questo?

    
posta ericraio 29.09.2015 - 20:58
fonte

1 risposta

0

Come comprendo la tua domanda, stai chiedendo specificamente perché / come dobbiamo calcolare i punteggi di affinità percentuale e non assoluto ?

L'algoritmo EdgeRank per la scelta della priorità delle storie sociali è lo stesso problema (in teoria) della scelta di una pagina per un risultato di ricerca in PageRank che equivale a scegliere un annuncio di molti per una query di ricerca specifica.

Prendi il caso di PageRank. Secondo Wikipedia :

Wikipedia Diagram for PageRank Mathematical PageRanks for a simple network, expressed as percentages. (Google uses a logarithmic scale.) Page C has a higher PageRank than Page E ...

Vedi anche questo - > link

Allo stesso modo, sospetto che il vero motivo dell'utilizzo delle percentuali sia quello di normalizzare l'EdgeRank in modo che tutte le notizie dei feed vengano portate alla stessa scala .

Prendendo il tuo esempio diciamo che ci sono 2 pagine P1 e P2 che il nostro utente chiamato A ha apprezzato. Ora ci sono aggiornamenti da entrambi. Se la formula di affinità di Facebook per le pagine è (ipoteticamente) questo - >

popularity of page * frequency of user interaction

o

number of page likes / time since last interaction from user A.

Dire per pagina P1 questo è 100000 / 20 = 50000 e per Pagina P2 è 2000 / 10 = 200 .

Quindi la storia delle notizie di Page P1 vince perché è una pagina più popolare e la sua storia verrà mostrata prima della P2.

Ma anche questo deve competere con storie dagli utenti dove la formula può essere totalmente diversa, diciamo

Number of Mutual Friends * Number of Posts shared on their Wall

Per un post di un altro utente B questo può essere 1000 * 10 = 10000 ma quando questo valore compete con P1 perde in numero assoluto. Ma avere 1000 amici in comune è davvero una grande cosa! Tecnicamente la storia di B dovrebbe comparire prima delle P1.

Una soluzione a questo sarebbe normalizzare tutti i punteggi di affinità tra 0 e 1 in modo che la competizione sia equa e relativa.

Ora la seconda parte della formula EdgeRank ha Edge Weight che è simile al concetto precedente. Ma Edge Weight si concentra in particolare sul tipo di interazione , come, commenta, condividi ecc.

Tutti questi "Algoritmi della concorrenza" EdgeRank, PageRank, ecc. sono chiamati Sistemi di raccomandazione . Questi algoritmi devono normalizzare i punteggi da scalare per mostrare l'ordine dei risultati pertinente!

Continuerò ad aggiungere alla domanda se trovo qualcosa di più!

    
risposta data 07.10.2015 - 00:20
fonte

Leggi altre domande sui tag