17 Qualities of the Ideal Recommender System
When constructing a recommender system and selecting algorithms, there is more to consider than just "accuracy". The most "accurate" recommender system would recommend the same items (whether those "items" are books, websites, options available to a software end user, etc.) over and over again, focused on a narrow topic area, and ignorant of context. Below are features of various recommender systems that, if combined, would perhaps form the ideal recommender system to produce "useful" rather than "accurate" results. However, in reality, some of these features are at odds with one another, such as privacy and social-awareness, so some selectivity in choosing features and algorithms for recommender systems must be execised.
1. Topic Diversity
Long before the advent of the dot-coms, diversity in search results was a rich area of research in the field of information retrieval. If someone is searching for a car and provides the parameters "reliable, inexpensive, new", a naive scoring algorithm might return all Toyota Corollas for the top ten results. An algorithm that ensures diversity, in contrast, would also include some Hondas and Chevrolets.
2. Novelty
A recommender system based on a user's past choices will present search results that lack novelty, which is defined as items the user has not previously seen. A recommender system that strives for novelty might emphasize popular or trending results, for example.
3. Serendipity
Taking novelty a step further, serendipity introduces "surprise" into the search results by favoring novel search results whose contents exhibit some features that match some features of a user's previous favorite items.
4. Temporal Diversity
To avoid seeing the same recommendations every day you log in to a media site, a recommender system should strive for temporal diversity.
5. Temporal Awareness (Reactive; Trending)
A recommender system should account for drift over time of user preferences, and not consider them to be static.
6. Temporal Awareness (Reactive; Seasonal)
Similar to stock trend technical analysis, which considers trending and seasonal variations separately, temporal awareness should account for seasonal fluctuations. Such a recommender system would recommend Christmas movies during the Christmas season.
7. Temporal Awareness (Proactive)
Instead of reacting to trends and seasons, temporal awareness could mean a recommender system takes on a persuasive role in helping to evolve the user's tastes. Of course, this aspect of a recommender system would need to be disclosed to a user to be ethical.
8. Location Awareness
A recommender system, especially one targeting mobile devices, should be location-aware.
9. Demographic Awareness
By knowing a user's demographics, a recommender system can avoid, for example, recommending a church bingo event to a young single.
10. Risk Awareness
Different users have different tolerances for socially sensitive search results and for divergent results. For example, a user searching for something to answer a question during a presentation would be more averse to risk -- and wish for results that are both narrow and safe for work -- than the same user conducting searches from a bar on a Friday night.
11. Context Awareness
The above three awarenesses -- location, demographic, and risk -- fall under the more general banner of context awareness, but there are other aspects of context than just these three, such as the user's task or goal at hand, the user's recent or ongoing virtual or real- world conversations, the user's mood, the user's current biological needs, etc.
12. Critique Acceptance
Recommender systems that allow the user to critique the recommender system performance let the user feel more in control.
13. Curation
Sometimes, the operator of a recommender system may wish to promote particular items via manual curation or editorial choices, for the purpose of realizing greater margin on that particular item, or perhaps for the purpose of persuasion. As with other persuasive technologies, use of such should be disclosed.
14. Knowledge Based
If you pick up any book or paper on recommender system, the first distinction you often will see is that between content filtering and collaborative filtering. These days, it's often a false distinction since so many recommender systems rely neither solely on social voting nor solely on features of past and prospective items, but rather blend these two approaches into a hybrid system. However, there is a third major approach gaining traction now, which is knowledge-based. Such systems make logical inferences leveraging a body of knowledge, such as based on a user search for picture frames, recognizing a goal of photo archiving, and suggesting a photo scanner.
15. Social Awareness
In a collaborative filtering recommender system, it may not be enough to simply make a recommendation because others like a particular item. A socially aware recommender system exploits the mere association between a user and another -- as opposed to each individual's previous item choices (indeed, no previous item choices are even required for a socially aware recommender system) -- to recommend items. For example, a recommender system might recommend flowers for a social network user who just changed relationship status to "in a relationship".
16. Privacy
A recommender system should preserve privacy. It can be challenging to prevent leakage of information. For example, I recently sent out party invitations, one of which happened to go to an extremely infrequent user of LinkedIn. Later, when I went to view that user's LinkedIn profile again, I saw that LinkedIn recommended "people also viewed" and I saw an exact match-up to my party invitation list. Thus, I could tell that someone on my invitation list systematically viewed the LinkedIn profile of each of the party invitees. One can imagine more sensitive scenarios, such as knowing a friend purchased to particular music CD's and then seeing recommended for purchase those two CD's and an AIDS home test kit.
17. Protection from Malicious Voting
A good recommender system has a defense against profile injection, which is where an outsider attempts to manipulate the recommender results for other users by "up-voting" particular items the outsider has an interest in promoting.
Which Algorithm?
There are many categories of algorithms for recommender systems, and the above wish list of features is more or less independent of algorithm choice, whether that be matrix factorization, neural network, nature-inspired (e.g. Ant Colony Optimization, Intelligent Water Drop, etc.), or something else.