2013-02-21 12 views
5

Non sono sicuro se questa sia la piattaforma giusta per porre questa domanda. Ma il mio problema è: ho una libreria & x no di clienti (x è enorme).Comprensione e creazione di un algoritmo di social network

Un cliente può dirmi se un libro è buono o cattivo (non consigliato). Ho una logica interna per mettere insieme i libri, quindi se un cliente dice che un libro è cattivo, sta dicendo che anche libri simili sono cattivi e non lo mostrano.

I oblige e nascondere quei libri. I clienti possono anche interagire tra loro e avere un livello di fiducia reciproco tra di loro. Un caso si verifica quando il client A dice che Book X1 è danneggiato. Quindi ho una lista nera X1, X2, X3, X4 ecc.

Ma il suo amico B dice che X3 è buono. Quindi ora devo mostrare X3 a A. Stavo pensando di costruire un social network di tutti i miei clienti in base alla loro interazione, ed essere in grado di calcolare il loro reciproco livello di confidenza. Quindi, se il livello di confidenza reciproca è molto alto, mostrerà X3 ad A, altrimenti non mostrerò X3 a A.

Volevo farmi muovere sulla costruzione del social network e assegnare un wt . a un percorso tra 2 nodi (i miei clienti). Per favore suggeriscimi delle buone indicazioni dove posso iniziare. Qualsiasi libro, siti web ecc

Grazie

risposta

11

Da un livello elevato, si consiglia di esaminare i campi di apprendimento automatico, Data Mining, e il grafico di data mining/analisi.

In termini di machine learning e data mining, si vorrà esaminare il filtraggio collaborativo. Raccomando this book. C'è molto lavoro in questo campo, nota come siti web come Amazon hanno una funzione che ti mostra quali altri articoli sono stati acquistati insieme all'oggetto che stai guardando attualmente.

In termini di creazione di un social network, è necessario prima capire quale sistema di database si desidera utilizzare. Esistono database di grafici come Neo4J e FlockDB che sono stati progettati tenendo conto dei grafi .. in alternativa si può optare per qualcosa di più generale come MySQL invece, dipende da quanto lontano si vuole andare.

Una volta che avete deciso che si vorrà sfruttare questi dati "grafico sociale", che è dove concetti come passeggiate aleatorie, la struttura della comunità/individuazione, e la centralità entrare. Consiglio di andare attraverso this series di lezioni Twitter ha dato a UC Berkeley per avere una migliore idea di sfruttare i dati sociali.

+0

grazie adelbertc per la rapida risposta. controllerò il libro. Sul fronte del database stavo pensando di usare hbase. Pensi che sarà un problema? –

+0

perché hbase? algoritmi grafici con esso sono possibili ma non lo raccomanderei se si può iniziare con neo4j o orientdb. dai un'occhiata https://docs.google.com/spreadsheet/ccc?key=0AlHPKx74VyC5dERyMHlLQ2lMY3dFQS1JRExYQUNhdVE#gid=0 – Karussell

+0

È certamente possibile utilizzare HBase, ma come in tutte le decisioni di architettura dovresti chiederti perché prima di iniziare a usarlo. HBase è costruito su HDFS ed è stato progettato per l'archiviazione di enormi quantità di dati sparsi (alcuni sistemi SQL sono meno esperti nella gestione). Il database FlockDB di Twitter è stato tuttavia progettato tenendo in considerazione l'analisi dei social network e dei grafici online. – adelbertc