Che cosa dovrebbe essere considerato quando si costruisce un Motore di Raccomandazione?

StackOverflow https://stackoverflow.com/questions/54179

  •  09-06-2019
  •  | 
  •  

Domanda

Ho letto il libro Programmazione Intelligenza Collettiva e l'ho trovato affascinante.Avevo appena sentito parlare di una sfida amazon aveva postato il mondo a venire con una migliore motore di raccomandazione per il loro sistema.

Il vincitore apparentemente prodotto il miglior algoritmo limitando la quantità di informazioni che è stato alimentato ad esso.

Come prima regola del pollice immagino..."Più informazioni non è necessariamente migliore quando si tratta di algoritmi fuzzy."

So che è soggettivo, ma in definitiva è un misurabili cosa (clic in risposta alle raccomandazioni).

Poiché la maggior parte di noi a che fare con il web in questi giorni e di ricerca può essere considerata una forma di raccomandazione.Ho il sospetto che io non sono l'unico che apprezzerei altri popoli le idee su questo.

In sintesi, "Qual è il modo migliore per costruire una raccomandazione ?"

È stato utile?

Soluzione

Non si desidera utilizzare la "popolarità globale" a meno che non si dispone di alcuna informazione sull'utente.Invece, si desidera allineare questo utente con gli stessi utenti e il peso di conseguenza.

Questo è esattamente ciò che Inferenza Bayesiana fa.In inglese, significa regolare la probabilità complessiva ti piace qualcosa (la valutazione media) con voti da altre persone che generalmente si vota il tuo modo.

Un altro consiglio, ma questa volta ad hoc:Trovo che ci sono persone per cui, se a loro piace qualcosa mi sarà quasi sicuramente non come farlo.Non so se questo effetto è reale o immaginato, ma potrebbe essere divertente per costruire una sorta di "effetto negativo" invece di aggregazione di persone per somiglianza.

Infine c'è una azienda specializzata in esattamente questo SenseArray.Il proprietario (Ian Clarke di freenet fame) è molto accessibile.È possibile utilizzare il mio nome se si chiama lui.

Altri suggerimenti

C'è un'intera area di ricerca in informatica dedicati a questo argomento.Suggerisco la lettura alcuni articoli.

D'accordo con @Ricardo.Questa domanda è troppo ampia, come a chiedere "Qual è il modo migliore per ottimizzare il sistema?"

Una caratteristica comune a quasi tutti i motori di raccomandazione è quella per cui la raccomandazione finale si riduce a moltiplicare il numero di matrici e vettori.Per esempio moltiplicare una matrice contenente prossimità dei pesi tra gli utenti di un vettore di elemento valutazioni.

(Naturalmente, si deve essere pronti per la maggior parte dei vettori per essere super sparse!)

La mia risposta è sicuramente troppo tardi per @Allain ma per gli altri utenti di trovare a questa domanda attraverso la ricerca-mi mandi un PM e chiedi una questione più specifica e sarò sicuro di rispondere.

(I design raccomandazione motori professionalmente.)

@Lao Tzu, sono d'accordo con te.

Secondo me, la raccomandazione motori sono costituiti da:

  • Contesto di Input alimentato dal contesto, consapevoli dei sistemi di registrazione di tutti i dati)
  • Il ragionamento logico per filtrare la più ovvia
  • Esperto di sistemi che migliorano la tua soggettiva dei dati nel periodo di tempo in base al contesto, input, e
  • Il ragionamento probabilistico per fare decisionale, vicino a quello di prossimità basato sulla somma ponderata delle azioni precedenti(credenze, desideri, & intenzioni).

P. S.Ho fatto come motore di raccomandazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top