Saturday, December 25, 2010

Suggest more recipients (in a chat conference)

If you don't already know, gmail has had a feature called Suggest more recipients for a while now.

From the link above, "Gmail will suggest people you might want to include based on the groups of people you email most often. So if you always email your mom, dad, and sister together, and you start composing a message to your mom and dad, Gmail will suggest adding your sister. Enter at least two recipients and any suggestions will show up like this."

I am planning on extending this even for the chat conversation start page in the chat client that I'm working on. So, if you start entering JIDs of people you want to chat with, the client should automatically suggest more participants.

Thanks to Sandy for the providing the link to gmail blog!!

Update (02/01/2011): This feature is now implemented and part of the dev. versions.


Space Cowboy said...

You can read this paper - "Suggesting Friends from the Implicit Social Graph" to see how the algorithm works.

dhruv said...

Hey Space Cowboy. Who are you?
Thanks for the link. It is very instructive!!

I am using something similar for suggestions on chat as well (this feature is now implemented).

I am not computing similarity on a contact level, but for a group as a whole. You can look at it as a simplistic version of the IntersectingGroupScore metric. There are 2 reasons for this:
1. Since my code is running on the client (in javascript), it needs to be fast. The more I do, the greater will be the latency of the operation.
2. In whatever user sampling I have done, it seems that this method is fairly effective.

My current method has the elements of frequency and dampening based on recency that the paper mentions. Even the API which takes in the current user and seed set is the same. This makes me feel that I can incorporate some of the good ideas that are mentioned in the paper.

However, I will be exploring some of the contact-level methods that are mentioned in the paper and see if I can pre-compute numbers on a per-contact basis and give better suggestions.

I'll try to write a paper on my current method, its motivations, implications and results some time this quarter.

Thanks again and here's wishing you a very happy new year!!

I'd like to know who you are!!