Research and Advances
Computing Applications

Representation Is Everything

Issues of representation pose many questions—and challenges—that must be solved before implementation.
  1. Article
  2. Author
  3. Footnotes

Representation is everything. It permeates all aspects of personalization. The extent to which a personalized interactive service or product can adapt to individual users depends on the information captured by the system and how that information is utilized. What is the service and what are its goals? Who is the user and what are his or her goals? How do these two sets of goals relate? How can the interactions be structured to best achieve both sets of goals? How should goals and related information be represented in the form of data structures whose contents can then be processed to produce the desired level of personalization?

From the human perspective, representation ultimately affects presentation and interaction with a service or product. What is the user interface and what experience is presented to a user at any given time and context? What information would be most useful to communicate to the user, and what combination of media (text, images, graphics, animation, hot links, audio, video, and so on) should be employed? Media and interactive form can be as important as content because individuals process sensory stimuli in their own unique ways, and each individual has his or her own preferred sensory mode, which may change depending on context. Text might be the predominant means of supplying information over the Web today, but it is not always the preferred medium from the point of view of the recipient. Some people would prefer receiving verbal presentations in either audio or video formats. Others would like to see information illustrated through images, graphics, video, or animation. Still others would prefer hands-on demonstrations or simulations to get a full grasp of the subject matter. True personalization implies not only adapting content to the individual, but also how that content is communicated for maximum effect.

On the technology side, representation involves data structures used to implement a personalized service or product. Appropriate data structures are required not only to support the various media employed, but also to encode user-specific data needed to determine the current user context and goals, and to define what information to present to the user when, and in what media or interactive form.

As I interact with a system, it should begin to adapt to the way I like to communicate and organize information, just as people adapt to each other. The challenges are determining what needs to be represented in order to achieve a desired level of adaptation, and how to represent it in the form of data structures that yield efficient algorithms for carrying out the adaptation. These two aspects of representation—the human side and the technology side—blend together to produce the final end-user experience.

When designing representations, a good engineering principle is to keep it simple: Represent only what needs to be represented to solve the problem, and try to avoid restrictive assumptions that may preclude extending the representation in the future. At this juncture, however, the question of what needs to be represented is the subject of extensive research and experimental development. Many of the required elements are identified and discussed throughout this special section. However, the exploration is by no means complete.

The most sensible fallback position for the principle of keeping it simple is to keep it flexible. Moreover, because it is apparent that machine learning is an essential component of personalization,1 a general rule of thumb from data mining can be applied: don’t throw out any information that might be relevant. Instead, represent everything that could conceivably help in solving the problem, even if the relevance might at first appear tenuous. The opportunity exists to use learning techniques to help discover and/or refine representational elements essential for achieving desired levels of personalization by assessing their contributions to predicting user behavior. Aspects of the representation that have no predictive value, and that play no other role in the system as a whole, can eventually be identified and removed, or at least disabled. It is easier to discard data obtained from an installed data collection mechanism, or to disable portions of the mechanism itself, than to reengineer the mechanism after the fact to start collecting data of a type not anticipated in the original design.

For the purpose of learning predictive models of user behavior, the representation should encompass the entire history of what was presented to each user, in what context, and how the user then responded. The representation should be as rich and fluid as the interaction itself, but at a level of abstraction that allows the relationships among stimuli and responses to be readily observed in the data collected. In addition, the vocabulary of the representation should be designed so the relevant distinctions needed to predict user behavior are represented in a way that generalizes across different contexts.

The representation should include both objective and subjective information about user interactions in order to maximize the opportunity to predict user behavior, and thereby adapt to their individual needs. Profile information supplied by users is only a small portion of the objective information that should be represented for the purpose of learning predictive models. What are the goals of the interactive service or product? What are the possible goals of users, the possible contexts of interaction, the actions users can take in each context, and the actions the service or product can take? What categories of information can be presented? Which media can be employed? Which interactive forms can be employed? Much of this information is often encoded implicitly in the internal structure of an interactive service or product. It must be represented explicitly in the form of data that can be analyzed by learning algorithms in order for learning to even be possible.

Subjective information is also important for predicting user behavior. Two people can respond quite differently to the same presentation. The challenge is to predict differences in response based on what is known about each person. Although the objective content of a presentation is an important component of such a prediction, one must also consider the subjective aspects of the presentation and how those aspects relate to individual users.

For example, a group of data analysts I know were working with a direct mail retailer and were attempting to determine why some of the retailer’s catalogs generated more sales than others, even though the contents of the catalogs were very similar. One of the analysts noticed differences in the visual appeal of each catalog. As it turned out, different production crews were employed on different catalogs and each had its own particular visual style. After subjectively ranking the catalogs by visual appeal and entering the ranking as an additional field in their database, the analysts discovered the ranking was correlated with the variations in sales figures. The ranking had predictive value. Subjective information is important for predicting human behavior.

However, knowing that subjective information is important does not answer the question as to which subjective aspects should be represented. As mentioned, machine-learning techniques can help answer this question, but to use learning techniques for this purpose one must first represent all subjective aspects that have potential predictive value.

To decide which subjective aspects to represent, one needs to think about the different kinds of distinctions drawn among the various ways of presenting information that might provide a basis for distinguishing one type of user from another. For example, imagine visiting four different Web sites dedicated to serving the fans of four different genres of music: children’s songs, heavy metal, gospel, and classical. The styles of music are different, but what else might be different? Imagine how each site might look and feel. Would you expect the writing styles and word usage of the textual content to be similar or different? How might the visual displays differ at each site? How might a frequent visitor to one Web site react if they visited one of the other Web sites? Clearly, a single data entry specifying the category of music would fail to capture the richness of the differences one would expect to find among the four Web sites. It is these kinds of differences that need to be represented and explored.

True personalization implies not only adapting content to the individual, but also how that content is communicated for maximum effect.

Learning does not solve the representation issue, but it does impose requirements on the representation. The first requirement, as discussed, is the representation should be rich: it should include all information of potential relevance. The second requirement is that large amounts of data need to be collected. Human behavior is not completely predictable. At best, one can only predict general trends. Deviations from these trends are then treated as random noise by learning algorithms. Large amounts of data are required to distinguish general trends from random noise, particularly when a high degree of randomness is present and/or the representational vocabulary (that is, the feature space) is large. Large amounts of data are also required to identify small subpopulations of users with distinct behavioral trends. The ability to identify behavioral differences among small subpopulations is a key aspect of being able to adapt as much as possible to each individual user.

A third requirement learning imposes on the representation is it should ideally be designed to make learning easy. Any given learning algorithm will be more adept at identifying some types of relationships among data elements than other types of relationships. No learning algorithm is ideal for all situations. Because of this fact, data analysts often spend a considerable amount of time and effort exploring various ways of transforming (that is, re-representing) data in order to construct good predictive models using the algorithms available to them. Likewise, it is reasonable to expect that some amount of re-representation would be needed when incorporating learning techniques into personalized interactive services and products. From a predictive modeling standpoint, emphasis should first be placed on ensuring all relevant information is being collected and stored. Data transformations can be considered after the fact.

This last issue, regarding the potential need for data transformations, is actually part of a much larger issue, which is computational tasks in general can often be made easier by choosing the right representation. Efficient algorithms often rely on the use of specific data structures. When designing a representation, it is tempting to aim for a single data structure that satisfies all computational needs. However, that goal might not be realistic. Different computational tasks may require the use of different data structures.

A personalized interactive service or product, by its very nature, should respond in real time to user inputs. To do so, a system must have quick access to the right information at the right time to decide what to do next. Satisfying this requirement might well entail the use of specific data structures that conflict with the needs of other components of the system, such as learning algorithms. For the purpose of learning predictive models of user behavior, large volumes of data must be recorded for later analysis. Compactness of the representation and ease of storing the data are the main design considerations for this task. In all likelihood, the best data structures for storing data would be quite different from the best data structures for quickly accessing the relevant subsets of data needed in each interactive context. Likewise, the best data structures for applying the learning results might be quite different from those used during the learning process itself.

Depending on the variety of computational tasks to be performed, multiple representations may well be needed to maximize overall system performance. The benefit of using data structures tailored to specific tasks may well outweigh the cost of transforming one data structure to another and/or maintaining several data structures simultaneously.

In this article, I have outlined a number of representational issues that need to be addressed when designing personalized interactive services and products. Although I have offered a perspective on some of these issues, I have deliberately left many questions unanswered. The answers will almost certainly be different for different services and products. My aim is for the reader to think about the questions: Good questions often lead to good answers.

I have also devoted much of the article to learning and its representational issues. This focus is partially in recognition of the fact that personalization implies adaptation, and adaptation implies learning. However, learning also offers a unique perspective on representation. Learning is about drawing distinctions among different situations in order to improve one’s ability to make predictions. Thus, from the point of view of machine learning, representation ultimately boils down to drawing distinctions and encoding those distinctions in the form of data structures.

From a learning perspective, the first question that must be answered is what distinctions should be drawn? In attempting to answer this question, it is useful to ask: What difference does the difference make? If a proposed distinction (that is, a piece of information) has no conceivable value, it probably does not need to be represented. On the other hand, one does not want to overlook potentially valuable distinctions.

The second question to answer is how should the distinctions be represented in the form of data structures? On one hand, the representation should be flexible and easily extended. When designing large-scale systems, it is all too common for some details to be overlooked in the initial design and for the omissions to be noticed during implementation. Flexibility and extensibility are enormously beneficial in such circumstances. On the other hand, computational efficiency often demands the use of certain data structures for certain computational tasks. If several distinct computational tasks are central to the overall performance of a system, and each requires different data structures for optimum efficiency, then the pragmatic approach would be to maintain multiple representations of the same information and shift among representations depending on the task.

These two questions—what to represent and how to represent it—are fundamental to all software systems. They are likewise fundamental to the design of personalized interactive services and products.

Back to Top

Back to Top

    1See articles in this section by McCarthy, Minsky, Hirsh, and Maglio and Barrett. Also see the accompanying section "Personalization on the Net using Web Mining."

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More