How To Use the Graph API to Upload Photos to a user’s profile?

If I wanted to write an algorithm to calculate the similarity between two users (who are not friends, or have any common friends) on Facebook, how would I go about doing it?

  • I am using this algorithm towards a recommendation engine which tries to cluster 'similar' people together, but I am not sure what metric to use? Use Graph API to extract all likes and biographical data - and do a simple % match between two users Use Graph API to extract comments to attempt to create a psychological profile of user and then cluster.

  • Answer:

    No. 1 seems to be more useful. User 'likes' although noisy (we like something and then after a while we forget that we liked it), tends to be a good indicator of user interests in aggregate. And if you are able to obtain enough data through the graph api, you might be able to do something useful with it. Once you have all these user-likes/bio 'feature vectors', you can take advantage of the tonnes of collaborative filtering algorithm out there. The wiki page for collaborative filtering is a good place to start: http://en.wikipedia.org/wiki/Collaborative_filtering.

Yanchuan Sim at Quora Visit the source

Was this solution helpful to you?

Other answers

A few years ago I began working on the development of a "social network" called HowYouKnowMe where the objective is to have user generated autobiographies created and (historically) stored online for everyone.  The premise of this project, as indicated by its tagline: 'The story of your life.', was to have the people who know you, with whom you have spent real time, share that story, in whole or in part, to then be categorized and uploaded to your life story archive.  Then, your story could be told, or "published", by way of a specific event (i.e. a concert, presidential inauguration, Super Bowl), relationship (best friend, co-worker, spouse), affiliation (basketball team, fan of a music group), or just straight up chronological timeline.     The project progressed and my partner and I looked at different functions that we could perform as a deviation of the data being collected.  One such feature was what I can only describe as a "floating bubble relationship matrix" to demonstrate the depth and pictorially represent the nature of any particular relationship between two (2) people.  Giving weight to these input variables were factors such as how many years (since) people have met, the frequency in which they (shared time together) interacted, the type (email, phone call, shared physical location) of time shared, the basis of the relationship as blood relative, business associate, college roommate, casual acquaintance, someone with whom you shared a moment on an airplane or on line at McDonald's, any or all of the above.  These bubbles would constantly update or "float" as a real time HowYouKnowMe galaxy.  The illustration of how close or far apart any two people could be would be represented both in the distance between their respective bubbles and the size of their own bubble which may represent their commonly shared "value" with one another.  (For example, by sheer time on earth, known as your age, the bubble for a 2 year old would be smaller than the bubble of a 20 year old.  Therefore, the ability for a 20 year old to really "know" a 2 year old is inherently limited by the amount of possible time, 2 years, that they could have spent together.)   Anyway, I hope my answer helps to give you an additional perspective when and where measuring human relationships via a mathematical calculation.  I can probably share a demo of this postulate based on the HowYouKnowMe beta and release the algorithm we used.  But my point is that I do not feel that the integrity of the data that would be found on fb could provide the input you may need to discover and ultimately represent any true similarity between two users.  Unless you are basing the exercise purely off of their online likenesses derived from their digital personalities.

Jaime P. Keating

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.