Intelligente Web-Funktionen, Algorithmen (Menschen, die Sie folgen können, ähnlich wie Sie ...)

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

  •  09-10-2019
  •  | 
  •  

Frage

Ich habe 3 wichtigsten Fragen zu den Algorithmen in intelligenten Web (Web 2.0)

Hier das Buch lese ich http://www.amazon.com/ Algorithmen-Intelligent-Web-Haralambos-Marmanis / dp / 1933988665 und ich möchte die Algorithmen in tiefer

lernen

1. Menschen können Sie folgen (Twitter)

Wie kann man das nächste Ergebnis auf meine Anfragen bestimmen? Data-Mining? die Algorithmen?

2. Wie Sie miteinander verbunden sind Funktion (Linkedin)

Einfach funktioniert Algorithmus so. Es stützt sich der Weg zwischen zwei Knoten sagen wir mal zwischen Me und die andere Person ist C . Me -> A, B -> A-Verbindungen -> C . Es ist keine Brute-Force-Algorithmen oder andere wie Graphenalgorithmen:)

3. ähnlich wie bei Ihnen (Twitter, Facebook) Diese Algorithmen ähneln 1. Ist es einfach den max (count) Freund gemeinsam (facebook) arbeiten oder den max (count) Follower auf Twitter? oder andere Algorithmen sie implementieren? Ich denke, dass der zweite Teil wahr ist, weil die Schleife läuft

 dict{count, person}
 for person in contacts:
        dict.add(count(common(person)))
 return dict(max)

ist eine dumme Handlung in jeder erfrischenden Seite.

4. Meinen Sie (Google) Ich weiß, dass sie implementieren kann es mit Laut Algorithmus http: //en.wikipedia .org / wiki / Phonetic_algorithm einfach soundex http: // en .wikipedia.org / wiki / Soundex und hier ist die Google VP of Engineering und CIO Douglas Merrill sprechen http://www.youtube.com/watch?v=syKY8CrHkck#t=22m03s

Was ersten 3 Fragen? Alle Ideen sind willkommen!

Danke

War es hilfreich?

Lösung

Menschen, die Sie folgen können

können Sie die Faktoren Berechnungen verwenden:

factorA = getFactorA(); // say double(0.3)
factorB = getFactorB(); // say double(0.6)
factorC = getFactorC(); // say double(0.8)

result = (factorA+factorB+factorC) / 3 // double(0.5666666666666667)
// if result is more than 0.5, you show this person

sagen So im Fall von Twitter, „Menschen, die Sie folgen können“ ist auf folgenden Faktoren basieren (Benutzer A ist der Benutzer diese „Menschen, die Sie folgen können“ sehen Funktion, kann es mehr oder weniger Faktoren):

  • Relativität zwischen häufige Keywords gefunden in von Benutzer A und Tweets von Benutzer B
  • Relativität zwischen der Profilbeschreibung beiden Benutzer
  • Relativität zwischen dem Standort des Benutzer A und B
  • Sind die Menschen Benutzer A folgt folgt Benutzer B?

Also, wo sie vergleichen „Menschen, die Sie folgen können“ aus? Die Liste stammt wahrscheinlich aus einer Kombination von Menschen mit hohem Anteil an Anhängern (sie sind wahrscheinlich Prominente, Alpha Geeks, berühmte Produkte / Dienstleistungen, etc.) und [Leute, die Benutzer A folgt] folgt.

Im Grunde gibt es ein gewisses Maß an Datamining hier getan werden, die Tweets und BIOS zu lesen, Berechnungen. Dies kann auf täglichen oder wöchentlichen cron-Job ausgeführt werden, wenn die Serverbelastung am geringsten ist für den Tag (oder vielleicht 24/7 auf einem separaten Server durchgeführt).

Wie sind Sie verbunden

Dies ist wahrscheinlich eine intelligente Arbeit hier, um Sie feststellen, dass eine Menge roher Gewalt fühlen getan wurde den Weg zu bestimmen. Doch nach einiger Oberflächenforschung, finde ich, dass dies einfach:

sagen, Sie sind ein Benutzer; Benutzer B ist Ihre Verbindung; und Benutzer C ist eine Verbindung von Benutzer B.

Damit Sie Benutzer C zu besuchen, müssen Sie Benutzer B Profil zuerst besuchen. Benutzer B Profil Durch den Besuch speichert die Website bereits die Info indiciating, dass ein Benutzer ist im Profil des Nutzers B. Also, wenn Sie Benutzer C von Benutzer B besuchen, sofort die Website sagt, dass ‚Benutzer A -> Benutzer B -> Benutzer C‘., Alle anderen möglichen Pfade zu ignorieren

Dies ist das höchste Niveau wie bei User-C, Benutzer-Acannot zu Blick auf seinen Verbindungen weiter, bis Benutzer C Benutzer A der Verbindung ist.

Quelle: Beobachten LinkedIN

Ähnlich wie Sie

Es ist genau die gleiche wie # 1 (Personen, die Sie folgen können), mit der Ausnahme, dass der Algorithmus liest in einer anderen Liste von Personen. Die Liste der Menschen, dass der Algorithmus liest sind die Menschen, denen Sie folgen.

Meinen Sie

Nun du hast es genau dort, mit der Ausnahme, dass Google wahrscheinlich mehr als nur soundex verwendet. Es gibt Sprachübersetzung, Wort-Ersatz, und viele andere für den Fall von Google verwendeten Algorithmen. Ich kann nicht viel dazu sagen, weil es wahrscheinlich sehr komplex wird, und ich bin kein Experte Griff Sprachen.

Wenn wir ein wenig mehr in die Infrastruktur von Google erforschen, können wir feststellen, dass die Google-Server gewidmet Rechtschreibung und Übersetzungsdienste hat. Sie können weitere Informationen über Google-Plattform unter http://en.wikipedia.org/wiki/Google_platform.

Fazit

Der Schlüssel zu stark intensiviert Algorithmen ist Caching. Sobald Sie das Ergebnis zwischenspeichern, müssen Sie nicht jede Seite es zu laden. Google tut es, Stack-Überlauf tut es (auf den meisten Seiten mit Fragenliste) und Twitter nicht überraschend auch!

Grundsätzlich sind Algorithmen, die von Entwicklern definiert. Sie können andere Algorithmen verwenden, aber letztlich können Sie auch eigene erstellen.

Andere Tipps

Menschen können Sie folgen

Könnte eine von vielen Arten von Empfehlungsalgorithmen, vielleicht Collaborative Filtering ?

Wie Sie verbunden sind

Dies ist nur ein kurzer Weg Algorithmus auf dem sozialen Graphen. Angenommen, es wird kein Gewicht auf die Verbindungen, wird es einfach benutzen Breite erste .

Ähnlich wie Sie

Einfach eine Umordnung des Datensatzes den gleichen Algorithmus wie Menschen verwenden, können Sie folgen .

Überprüfen Sie das Buch aus Collective Intelligence Programmierung für eine gute Einführung in die Art von Algorithmen, die für Menschen verwendet werden, können Sie Ihnen und ähnlicher , es hat große python-Code verfügbar folgen.

  1. Die Menschen können Sie folgen Twitter-Blog - „Vorschläge von mehreren Faktoren beruhen, einschließlich der Menschen, die Sie folgen und den Menschen, denen sie folgen“ http://blog.twitter.com/2010/07/discovering-who-to-follow.html Wenn Sie also A und B folgen und sie folgen beide C, dann wird Twitter vorschlagen C zu Ihnen ...
  2. Wie Sie miteinander verbunden sind Merkmal Ich denke, dass du dieses beantwortet haben.
  3. Ähnlich wie Sie Wie oben und wie Sie sagen, obwohl die Ergebnisse wahrscheinlich zwischengespeichert werden - so dass sie nur einmal pro Sitzung durchgeführt oder vielleicht sogar weniger häufig ...

Ich hoffe, das hilft, Chris

Ich habe keinen twitter verwenden; aber mit diesem Gedanken:

1). An der Oberfläche ist dies nicht so schwierig: Für jede Person, die ich folgen, sehen, wer sie folgen. Dann gilt für jedes der Menschen, denen sie folgen, sehen, wer sie folgen, usw. Je tiefer Sie gehen, natürlich, desto mehr Zahlknirschens es braucht.

Sie können dies weiter etwas nehmen, wenn Sie auch effizient umgekehrt extrahieren:? Für diejenigen, ich folge, die folgt sie auch

Für beiden Möglichkeiten, was ungesagt ist, ist ein Weg, um die Hochtonlautsprecher zu gewichten, um zu sehen, ob sie jemand, den ich wirklich wollen würde folgen: Ein liberaler Folger auch einen konservativen Hochtöner folgen kann, aber das bedeutet nicht, dass ich wollen folgen die konservative (siehe # 3).

2). Nicht sicher, darüber nachzudenken ...

3). Unter der Annahme, die Bio- und Tweets sind das einzige, was zu gehen, die harten Teile sind:

  • Die Entscheidung, was sollte Attribute vorhanden sind (politische Zugehörigkeit, Thementypen, etc.)
  • Reinigungs jeweils 140 Zeichen Daten-Mine.

Wenn Sie den richtigen Satz von Attributen haben, dann zwei verschiedene Algorithmen in den Sinn kommen:

  • K Means Clustering, um zu entscheiden, welche Attribute neige ich dazu auf, zu unterscheiden.
  • N-Nächster Nachbar, die N am ähnlichsten Hochtonlautsprecher zu Ihnen finden angesichts der Attribute Ich neige dazu, Gewicht zu geben.
  • EDIT: Eigentlich ein Entscheidungsbaum ist wahrscheinlich ein weit besserer Weg, um all diese ...
  • zu tun

Das ist alles spekulativ, aber es klingt lustig, wenn man dafür bezahlt wurde, dies zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top