2013-02-21 10 views
5

Nie jestem pewien, czy jest to odpowiednia platforma do zadawania tego pytania. Ale moje stwierdzenie problemu jest następujące: mam księgarnię & x brak klientów (x jest ogromne).Zrozumienie i budowa algorytmu sieci społecznościowej

Klient może mi powiedzieć, czy książka jest dobra czy zła (niezalecana). Mam wewnętrzną logikę do książek klubowych, więc jeśli klient mówi, że książka jest zła, mówi, że podobne książki też są złe i nie pokazują mu tego.

Zobowiązuję się i ukryć te książki. Klienci mogą również wchodzić w interakcje między sobą i mieć między nimi poziom wzajemnego zaufania. Sprawa powstaje, gdy klient A twierdzi, że Księga X1 jest zła. Stąd i na czarnej liście X1, X2, X3, X4 itd.

Ale jego przyjaciel B mówi X3 jest dobry. Więc teraz muszę pokazać X3 na A. Myślałem, że zbuduję sieć społecznościową wszystkich moich klientów w oparciu o ich interakcje i będę w stanie obliczyć ich wzajemny poziom zaufania. Tak więc w powyższym sensie, jeśli poziom zaufania jest bardzo wysoki, pokaże się X3 na A, inaczej nie pokażę X3 na A.

Chciałem zrobić sobie kickstarted na budowaniu sieci społecznej i przypisaniu wt . do ścieżki między 2 węzłami (moimi klientami). Proszę zasugerować mi kilka dobrych wskazówek, od których mogę zacząć. Każda książka, strony internetowe itp

Dzięki

Odpowiedz

11

Od wysokim poziomie, będziemy chcieli, aby spojrzeć w dziedzinie uczenia maszynowego, eksploracji danych i górniczego wykres/analizy.

Jeśli chodzi o uczenie maszynowe i eksplorację danych, warto przyjrzeć się filtrowaniu grupowemu - polecam this book. W tej dziedzinie jest dużo pracy, zauważ, że witryny takie jak Amazon mają funkcję, która pokazuje, jakie inne przedmioty zostały zakupione wraz z przedmiotem, który obecnie przeglądasz.

Jeśli chodzi o budowę sieci społecznościowej, najpierw trzeba ustalić, z której bazy danych chcesz korzystać. Istnieją bazy danych wykresów, takie jak Neo4J i FlockDB, które są zaprojektowane z myślą o wykresach. Zamiast tego możesz wybrać coś bardziej ogólnego, np. MySQL, w zależności od tego, jak daleko chcesz się posunąć.

Gdy już zdecydujesz, będziesz chciał wykorzystać dane z "wykresu społecznego", w którym pojawiają się pojęcia takie jak przypadkowe spacery, struktura społeczności/wykrywanie i centralność. Polecam przechodząc this series wykładów Twittera podanych na stronie UC Berkeley, aby uzyskać lepszy pomysł wykorzystania danych społecznościowych.

+0

dziękuję adelbertc za szybką odpowiedź. Sprawdzę książkę. Na początku bazy danych myślałem o użyciu hbase. Czy uważasz, że to będzie problem? –

+0

dlaczego hbase? Algorytmy grafów z nim są możliwe, ale nie polecałbym tego, jeśli możesz zacząć od neo4j lub orientdb. zobacz https://docs.google.com/spreadsheet/ccc?key=0AlHPKx74VyC5dERyMHlLQ2lMY3dFQS1JRExYQUNhdVE#gid=0 – Karussell

+0

Z pewnością możliwe jest korzystanie z HBase, ale tak jak w przypadku wszystkich decyzji dotyczących architektury, powinieneś zadać sobie pytanie, dlaczego przed rozpoczęciem korzystania z niego. HBase jest zbudowany na HDFS i został zaprojektowany do przechowywania ogromnych ilości rzadkich danych (coś, co systemy SQL są mniej biegli w obsłudze). Baza danych FlockDB na Twitterze została jednak zaprojektowana z myślą o sieciach społecznościowych i analizie wykresów. – adelbertc

Powiązane problemy