Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 23:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Interessante Beiträge als erstes anzeigen?

Discussion on Interessante Beiträge als erstes anzeigen? within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Cc_Cc_Cc's Avatar
 
elite*gold: 200
Join Date: Mar 2011
Posts: 352
Received Thanks: 9
Interessante Beiträge als erstes anzeigen?

Tag,

kennt ihr das bei Instagram, wenn ihr von Personen Bilder liket oder Storys anschaut und das öfter, dass nach einiger Zeit wenn ihr Instagram öffnet, von der Person dessen Beitrag als erstes angezeigt wird?

Wie wird das gemacht?

Meine Idee ist blöd, aber besser als nichts:

Hab eine Tabelle erstellt namens Algorithm:

HTML Code:
id | user_id | behavoir_user_id | date
So wenn jetzt Person 1 jedes mal einen Beitrag liket von Person 2 dann wird das einfach als Datensatz gespeichert.

HTML Code:
id | user_id | behavoir_user_id | date
1        1               2                       Today
1        1               2                       Yesterday
Hab dann überlegt wo die meisten Datensätze angezeigt werden, sollen die Beiträge zuerst angezeigt werden. Also wird es sozusagen sotiert erst Beiträge von Person 2 danach nach Date wenns kein gefunden wird. Kann man das so machen oder wird das eigentlich ganz anders gemacht?
Cc_Cc_Cc is offline  
Old 12/12/2019, 14:37   #2



 
cypher's Avatar
 
elite*gold: 0
The Black Market: 1060/0/0
Join Date: Sep 2008
Posts: 10,389
Received Thanks: 2,914
Quote:
Originally Posted by Cc_Cc_Cc View Post
Wie wird das gemacht?
Wessen Instagram-Posts ganz oben angezeigt werden hängt von mehreren Faktoren ab:
a) Wie oft interagiert der User mit dem Postenden? (Likes, Posts..)
b) Wie oft interagiert der User mit ähnlichen Posts / Konten?
c) Wie aktuell ist der Beitrag?
Alle 3 Faktoren spielen eine Rolle, aber wie die Gewichtung genau aussieht kann ich dir nicht sagen.

Dein Ansatz würde nur a) berücksichtigen. Außerdem würde ich dir raten Interaktionen nur in einem bestimmten Intervall zu berücksichtigen. Wenn das Interesse an User_2 schwindet, aber User_1 die meisten seiner Likes / Posts bei Posts von User_2 hinterlassen hast (weil dieser zB. früher als ein großer Fan war), werden Posts von User_2 trotz Desinteresse am höchsten prioritisiert.
cypher is offline  
Thanks
3 Users
Old 12/12/2019, 22:59   #3
 
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,465
Quote:
Originally Posted by Cyphernomic View Post
Außerdem würde ich dir raten Interaktionen nur in einem bestimmten Intervall zu berücksichtigen.
An der Stelle könnte man ja mit einer Art "Score" arbeiten.
- Pro Interaktion gibts z. B. 10 Punkte.
- Pro Stunde verliert man z. B. 5 Punkte.

Damit kommen beliebte/aktive Beiträge für einen bestimmten Zeitraum "nach oben". Ggf. kann man das Scoring ansich auch noch dynamisch gestalten, das z.B. Interaktion mit älteren Posts weniger Punkte gibt als mit Neueren.
florian0 is offline  
Thanks
2 Users
Old 12/14/2019, 02:00   #4
 
Cc_Cc_Cc's Avatar
 
elite*gold: 200
Join Date: Mar 2011
Posts: 352
Received Thanks: 9
Danke euch für die tollen Antworten. Aber ich arbeite mit MySQL und mit keiner Realtime Datenbank, wie führe ich dann ein Skript aus das es jede Stunde 5 Punkte verliert? Wie ich das Programmiere mit den Punkten ist nicht das Problem, muss das Skript aber ja iwie jede Stunde ausführen
Cc_Cc_Cc is offline  
Old 12/14/2019, 11:33   #5


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,118
Received Thanks: 2,435
Quote:
Originally Posted by Cc_Cc_Cc View Post
Danke euch für die tollen Antworten. Aber ich arbeite mit MySQL und mit keiner Realtime Datenbank, wie führe ich dann ein Skript aus das es jede Stunde 5 Punkte verliert? Wie ich das Programmiere mit den Punkten ist nicht das Problem, muss das Skript aber ja iwie jede Stunde ausführen
Dafür kannst du ein (job) nutzen.
False is online now  
Thanks
2 Users
Old 12/15/2019, 23:35   #6
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
Kurze antwort, Instagram benutzt AI.

Mir ist nicht bekannt ob IG ein paper oder so rausgebracht hat wie sie es machen (youtube z.B. hat vor ein paar jahren mal eins rausgebracht), aber ich denke das wird ungefähr so laufen:
Jedem bild ist ein feature vector zugewiesen, der enthält informationen über den inhalt des bildes, sowie metadaten (beschreibung, nutzer, location, etc.). IG benutzt dann für die generierung der Startseite eine AI die darauf trainiert wird interaktionen zu maximieren. Das heißt, die AI wird mit denen browsing daten gegen eine Reward funktion trainiert, also um den reward zu maximieren. Der Reward kann aus verschiedenen sachen bestehen, z.b. viewtime (also zeit die du in der app verbringst) oder interaktionen (likes, etc.).
Z.B. Reward := Viewtime in sekunden + 10 für nen like.
Die AI wird dann mit gradient ascent dazu trainiert diesen reward zu maximieren. An dieser stelle kann man noch anmerken das es für den Designer der AI scheiß egal ist wie die AI das letzendlich macht / wonach sie entscheidet. Als designer legst du eigentlich nur die Rewardfunktion fest, sowie ein paar meta parameter für die AI und schaust obs läuft, if not, spielst du ein bisschen an den parametern und der Rewardfunktion rum.

Am ende hast du dann eine AI die dir aus den featurevectoren einen score berechnen kann, die in konstanter zeit einen eintrag gewichten kann, nennen wir diese funktion mal score. Alles was du dann machen musst wenn der user sich einloggt ist dann alle bilder nach ihrem wert der score funktion zu sortieren, und in dieser sortierung auszugeben.
Wenn IG richtig fancy ist, weisen sie jedem nutzer auch noch einen feature vector zu, der deine interessen encoded, somit können sie dann die AI trainieren nutzern sachen vorzuschlagen die ähnlichen nutzern gefallen, und somit ihren trainingspool erweitern, da sie nicht mehr spezifisch für dich suchen müssen sondern nur für nutzer wie dich


Ob dir das was für dein projekt bringt, keine ahnung. Im grunde is der ganze AI kram nicht so kompliziert. Du kannst natürlich auch einen klassischen approach nehmen wie hier vorgestellt (von meinen vorpostern)

Quote:
Danke euch für die tollen Antworten. Aber ich arbeite mit MySQL und mit keiner Realtime Datenbank, wie führe ich dann ein Skript aus das es jede Stunde 5 Punkte verliert? Wie ich das Programmiere mit den Punkten ist nicht das Problem, muss das Skript aber ja iwie jede Stunde ausführen
Das ist ne lineare funktion, keine komplizierte differentialgleichung. Speicher einfach den letzen besuch und wenn du den score abrufen willst berechne ihn einfach als Socre - ((now - lastVisited) in stunden * 5). Das kannst du sogar als SQL query schreiben
warfley is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[B] Meine Signatur als Werbeplatz [ ~ 5000 Beiträge, ~ 50 Beiträge pro Tag]
10/28/2016 - elite*gold Trading - 15 Replies
Macht Vorschläge.
Welchen anime als erstes und als Letztes von den 30 ?
06/22/2013 - Anime & Manga - 16 Replies
ai no exorist black cat School Rumble Wolf's Rain Hellsing code geass R1 darker than black chobits air gear
was als programmiersprache als erstes lernen
08/23/2011 - Main - 1 Replies
also was solltet man wenn man ein hacker werden will als erstes lernen c++ c visual basic auto it java oder was weis ich was es alles nicht gibt schlagt mir mal die sprachen vor die man lernen sollte und wenn möglich noch ein tourtial link dabei danke sry wen falsch ist hier bin neu hier in epvp wen falsch ist bitte moven mfg Grashalm



All times are GMT +2. The time now is 23:49.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.