When we first started the Preona project one of our most important assumptions was that actively liking things is very cumbersome and few people will want to do it in order to personalise the reading suggestion system.
What we wanted to build was a system that could automagically learn from what the user is doing, be intriguingly implicit and invisible.
This was wrong.
After observing what people are doing online and how they behave, we, or rather I, have come to the conclusion that liking is a very important action that transcends cultural and technological bounds. And that people do it for everything but improving the ratings of what they’re reading.
The reason people like liking things is simple: Feedback.
And I don’t mean giving feedback to developers, or recommendation systems. No, they’re giving feedback on a completely personal level. The act of liking things online has gained a significant cultural and sociological dimension – it’s a lot like giving flowers to people, the meaning depends wholly on the context.
But this makes the whole act very difficult to interpret and base your machine learning systems on. When the context defines the action’s meaning, rather than the action itself that’s a very big problem. Sure, in general you can assume that liking means people would like to read more of that particular content, but what about when they’re just expressing agreement, or mutual dislike of something? Or expressing condolences? Nobody wants to read a lot of sad things …
This sounds like a very difficult problem to solve, but perhaps the solution is incredibly simple.
Implement liking as a purely conversational feature and ignore it completely from a machine learning perspective? I don’t know, we’re going to have to try and see what works best.
An interesting experiment would be to try predicting whether a person will “like” something with Google‘s new prediction API. This probably calls for a weekend project, hopefully I’ll have a chance to play with that in the following days and try it out.
This entry was written by , posted on May 20, 2010 at 1:42 pm, filed under Real-Time web, Synaptic web, The Web and tagged Application programming interface, Artificial intelligence, Google, Machine learning, Recommender system.
Leave a comment or view the discussion at the permalink.
Perhaps I’m a bit crazy to name this creation a synaptic autocomplete, in reality it’s more of a real-time reinforcement learning autocomplete, but that just doesn’t quite have the same zing to it if you catch my drift. So let’s stick with synaptic because it fulfills the most basic of requirements – implicit real-time connections.
Don’t worry, we’re not throwing this technology away, fancy user interfaces are just the first application.
I took the example screenshot this morning while sharing a wonderful story about Google Wave beating all communications competition into submission hands down. It’s obvious there’s still a lot of work to be done on the feature before it will be available to the broad public, but the basic premise is there.
And it works! I just love using it! Hell, it’s already increased my probability of sharing/bookmarking an article at least ten-fold.
But what does it really do?
Well the algorithms take quite a lot of whiteboard space to explain in their full nerdical glory so I won’t go into too much detail. Basically what happens is that the software scrobbles my Delicious account to learn about my preferences and usage history. Then whenever I tag a story with my personal vocabulary it connects those keywords with whatever different semantic API‘s (Zemanta, Textwise, Enrycher) said about the website.
All of this happens in real-time, apart from the scrobbling of course.
Then the very next time I’m tagging a similar story the suggestions and connections are already there and bloody awesome, if I do say so myself. One example from a few days ago I remember is tagging a question on StackOverflow as “help” and ten seconds later when I was tagging a different question it suggested I use the keyword “help”.
Don’t you just love it when stuff like that happens?
This entry was written by , posted on January 19, 2010 at 10:20 am, filed under Cool Tools, Synaptic web and tagged Add new tag, Application programming interface, Business, Delicious, googlewave, Operating Systems, Real-time computing, Realtime, Tools, Twitter.
Leave a comment or view the discussion at the permalink.