Over the last few months, recommendation startups have sprouted up—getglue, Hunch, Foodspotting, Parse.ly, Miso, Xydo (in beta), Bubbalon, etc.—to offer suggestions about restaurants, books, web sites, or just about anything in this world.
If you add in Facebook (with its like button, and lots of 3rd-party rating apps ), Amazon, and NetFlix, there’s enough of a universe to merit a service that rates and recommends recommendation services. There’s a startup, no doubt, working this out.
All share the idea that there’s wisdom in the crowd, and to various extents use stats about the mob to algorithmically classify tastes—clustering, nearest neighbor,decision trees—and then generate suggestions. There’s a nice summary of these collaborative filtering techniques in the reference section below.
What about a more conventional, common-sense approach that derives wisdom from actual knowledge of the subject?
I examined a few of the collaborative filtering methods that are currently being exploited. Let’s just say I’m troubled by a taste algorithm that in effect says, “let’s take the square root of Terminators, divide by Ace Ventura, and add Steven Spielberg to come up with Gigli.”
Like many others, I’m fascinated but incredibly cautious about silicon wafers simulating human insight. And have felt that way ever since legendary computer scientist Joseph Weizenbaum offered up the world’s first suggestion engine:Eliza, the computerized therapist and personal coach.
A more appealing approach for me involves software that tries to analyze the actual content of the thing it is recommending.
Humans still do a better job of this, and most of the advice I take more seriously comes from reviews, postings, and tweets on conventional news sites, as well as blogs and newer social networking communities.
A compromise of sorts can be achieved through software that maps out a knowledge space, typically as a complex graph, and then let’s you navigate to find useful information.
We all do this when manually searching an on-line movie or book database: finding a book we want and then browsing for other titles, based on, perhaps author, subject, or genre. This style of virtual window-shopping is rewarding and plain fun.
This all leads to Freebase, an immensely ambitious public knowledge database (recently purchased by Google) that supplies more search opportunities than conventional databases.
It is both a database platform, built on a non-relational network model, and a Wikipedia-style content creation service, where editors review content generated by the community.
Anyone can search Freebase’s public database, which has millions of facts stored away in all the usual areas—film, people, movies, and music—and go on a wild ride following the deep set of relationships: “So, Gigli had a budget of $54 million. Lainie Kazan had a bit part in it. What other movies was she in?”
Of course, Freebase has a web-service API that lets you create programs, thereby enabling developers to assemble true applications.
I took a shot at crafting an API query to rove Freebase’s film topic territory—fyi: the curve for grokking the Freebase search language is steep—and would like to reveal …
An early beta version of The Technoverse Blog Movie Recommendation widget.
You enter a director whose movies you enjoy, and my knowledge app will respond with films, by other directors, who share the same cinematographers. It is obviously a very simple recommendation concept, and no doubt would gain more precision if I added dimensions such as similar genre, writers, producers,etc.
The key point is that there’s no reliance on the crowd or forcing the user to first rate zillions of other films.
Considering the effort (not much), the results are not half bad. Enjoy. (Hat tip to Pengoworks for their slick jQuery autocompleter script.)