27.11.09

Clustering visualization and Google Image Swirl

Clustering (also known as unsupervised classification) is to classify items according to an unknown classes or categories. Basically, given a set of items, a clustering tool tries to build a set of (possibly hierarchical) groups that provide insights on the underlying distributions of the considered objects. Usually the goal is to maximize the similarity among the items in each group, while minimizing the similarity among different groups.

For a clustering tool to be effective, two main issues have to be solved:

  • The clustering technology must be effective, that is, it has to build sensible groups. The clustering technology depends on:
    • The characterization (in terms of considered features) of the objects
    • The definition of the similarity between objects
    • The similarity between groups
    • The clustering algorithm
  • The clustering technology must be supported by a suitable visualization tool, an interface that implements some metaphor that makes group inspection and management simple and task-oriented.

Over the years I have been working on text classification, I have stepped over a number of research papers on clustering. Most of them happen to focus, nearly 100%, on the clustering technology. Exceptions include one of the researchers I follow, Marti Hearst. However, the second issue is in my opinion something critical. The perfect technology will stay on the research shelf until you happen to find the correct visualization technique that makes the system successful.

Recently I went through Google Image Swirl, a new demo at Google Labs, received via FB via Twitter (thanks, Jose Carlos). This tool allows to hierarchically cluster and navigate images according to their similarity computed using text, visual and other features. But, what really has hit me is the visualization tool, shown in the following picture:

This visualization begins showing a set of picture piles. Once you selected one, the rest go to background and the selected one expands to a circle that contains one picture and another set of piles related (and connected) to it. You can keep on selecting piles up to you happen to get a "one picture group". Previous inspected groups are in the background, active, on a spiral shape. Interesting features of this tool are:

  • Animation is smooth, clear, and at the correct speed.
  • The path is also clear and active, providing a suitable context and the ability to go back to any step of the process.

The only limitation I see is that you have only one active inspection path; but more than a limitation, it is a feature: I do not see how to keep with the spiral if you go from a path to a tree of several options in the foreground.

Just compare this visualization tool with Scatter-Gather, by Hearst, several (many) years ago, for a similar problem on text:

The main difference is that Hearst had to manage text, with two problems: how to visually represent a text document, and how to represent a cluster or group (apart from obvious visualization limitations of that nearly pre-Web era...). I believe that most of this metaphor can be applied to the inspection of a text hierarchy (either of clusters or of categories), once you have found how to represent a text item.

Ideas?