Five years ago, I wrote a lot about personalization. Let’s return to the topic to look at personalization technologies. The landscape has changed so much in the last few years that finding technology companies that just make products centered around these technologies is often difficult. Many have been bought by large CMS (define) or other platform companies. (If you’re a personalization technology vendor, contact me, as I’m compiling a list for a future column.)
Personalization Technologies: An Overview
While most people know what collaborative filtering is, many don’t realize it’s only one of many technologies used for personalization. Depending on the problem, many technologies (most from the artificial intelligence world) exist to solve those problems. Finding vendors that aren’t just academic groups for some of these technologies is difficult, however.
Here’s a brief rundown of the most common technologies, what they’re normally used for, and the pros and cons associated with them. Note: some companies have found workarounds for the cons I list. I list the cons here that are traditionally associated with the raw algorithms, understanding that products built around these algorithms do their best to mitigate these cons.
What it does: A neural network senses patterns in data a human probably wouldn’t be able to see.
How it works: The network takes a series of test data and learns what certain patterns mean. Then, when used on real data, it seeks out these types of patterns and can identify new ones. A certain amount of fuzziness means patterns needn’t be exactly identical for the system to recognize them.
Common uses: Handwriting recognition, voice recognition, fraud detection, data mining for segmentation.
Pros: It can find patterns and trends in large amounts of data that would be impossible for a human to easily find.
Cons: It’s not always the most scaleable technology; it can’t explain itself (it operates like a black box); requires a training period (it doesn’t know anything when first turned on); and has a difficult time unlearning things if it makes mistakes.
What it does: Collaborative filtering identifies groups of entities (usually people) based on common behaviors or interests. It recommends actions or products based on what some members of the group did that others did not do.
Common uses: Group- or affinity-based personalization: “People who liked X product also liked Y.”
Pros: Collaborative filtering harnesses group knowledge to recommend products for you. It works well in a single domain (e.g., books, music, DVDs).
Cons: It needs a large sample of users and content to work well; it’s traditionally biased against new content; it requires a lot of training time; and it doesn’t work particularly well across unrelated domains (“People who liked this CD also liked lawnmowers”).
What it does: An expert system uses expert knowledge to solve a specific problem based on a series of questions.
Common uses: Online configurators; step-by-step help wizards; gift finders; and automated medical diagnosis wizards.
Pros: An expert system encapsulates expert knowledge in an automated tool, reducing help desk reliance.
Cons: It requires expert knowledge (it doesn’t learn by itself), and it can be difficult to maintain if the domain is complicated.
What it does: A Bayesian network answers any number of questions based on whatever knowledge you feed it. It connects several seemingly unimportant pieces of information together and can take pretty good guesses about what you were trying to do, given only a little information (think Microsoft Paperclip’s, “Are you trying to write a letter?”).
Common uses: It’s used to bucket people into segments based on whatever knowledge we have of them; setting up a complicated scenario with non-deterministic knowledge, based on percentages (e.g., if the user looks at any of the following categories, that user is 60 percent likely to be a male).
Pros: A Bayesian network can deduce the answer to a question based on seemingly disparate data, all of which would be inconclusive on its own. Bayesian learning allows these models to create themselves; isn’t a black box, and can explain why it drew its conclusions.
Cons: Traditional models take a lot of time to set up; and scalability can be a problem.
What it does: A rules-based engine uses a deterministic, static set of business rules to decide what content to show a user or what course of action to take next.
Common uses: Any situation that can be expressed using “if A, then B” and doesn’t change. Most CMS systems are run off a rules engine that targets content to specific segments of people.
Pros: Nontechnical people can maintain a rules-based engine; it works with new as well as old content; and it builds business logic into a Web site.
Cons: It’s not dynamic; it doesn’t learn over time; it can be difficult to maintain if there are several layers of cascading rules; and conflicting rules need to be resolved.
Vendors and Other Technologies
Are you using other technologies to enable personalization? Are you a personalization vendor specializing in one of the above technologies or a different one? If so, contact me. If there’s sufficient interest in this topic, I’ll write individual columns about each technology, along with the appropriate vendors.
Until next time…