How to combine tags with facets

Information architects (like me) tend to say we should combine different methods of increasing findability. In this post I’ll explain one way of combining user generated metadata with editorial metadata, and more specifically, tags with facets. I’m not gonna do definitions and such (ok, I heard that collective sigh of relief!).

The big advantage of adding metadata in the form of facets is that we know how to make an easy to use interface for facets. Check Flamenco. We could try adding ontology-like metadata, but we don’t know yet how to create good interfaces with those.

Let’s look at your standard tagcloud page:

If we added a few facets to this it could look something like this (quick and nasty mockup):

Notice that the facets I came up with are relatively techie, reflecting delicious’ userbase. If we dig deeper into the data, we’ll probably find more facets like event, time and such. Other tagclouds might need different facets.

Also notice that this new arrangement makes it much easier for users to find something if they’re looking for a specific item. It makes the tagcloud more browsable. And something I just noticed myself: we can bring up less popular items in less popular facets to the homepage.

The big difference in browsability (arg!) happens when a user moves into the tagcloud. When looking at a tag, they can refine their search by the various other facets (as is standard in faceted browsing systems). Check epinions.com for a nice example - if I had all day I’d mock it up. This makes it easy for a user to refine a search in a really large tagcloud.

How do we scale the assigning of tags to facets?

Simple: editors create facets (it takes some consideration to create a useful and valid facet), and users assign tags to facets. We can let users assign tags because facets are mutually exclusive, that is, tags can only logically be classified in 1 facet, not in multiple ones. So there should be little confusion as to what facet a tag should belong to (apart from the expected tags with more than 1 meaning). The mutual exclusivity comes from the editorial selection of facets: we choose our facets so that they are (at least pretty much) mutually exclusive. I expect a small number of facets (between 5 and 10) to be quite useful.

Asking users to assign tags to facets shouldn’t be too hard. You can do it when they add a tag, or when they’re browsing a tag that hasn’t been assigned yet. The question can look something like this:

Again, because of the mutual exclusivity requirement for facets, disagreement on what facet a tag belongs to should be limited. So I would just let the system assume that each tag belongs to one facet.

So what do we know so far?

  • We can let editors come up with a few useful facets, and let users assign tags to facets. This should work because of the mutual exclusivity requirement of facets: the hard work (creating facets) is done by editors, the easier work (assigning facets) is distributed (it is easy but a lot MORE work) amongst our users. This should work, and should scale.
  • Once we have facets for some of our tags, browsing is made a lot easier for our users. The browsing interface is well known and tested, and should just work.
  • This is good because we have now found a way to combine the strenghts of editors (ie., spend a whole afternoon considering what a certain facet should be) with the strength of user generated metadata (ie., you get lots of it if the decision is easy).

And what don’t we know?

  • Will users indeed find it easy to classify tags in facets without much disagreement? (They should if we create our facets following the exclusivity requirement.)

Comments?

8 Responses to “How to combine tags with facets”

  1. Jeroen Says:

    If ‘None of the above’ is chosen, would it be a good idea to give an opportunity to specify what the facet should be? That way, users can give feedback and comments on the facets made by the editors, and can expand it with their own facets. Maybe a little less well considered, but it might lead to new insights about how to index the tagged information.

    Interesting idea, nonetheless!

  2. Josh Says:

    The problem here is that assumption that each tag can only belong in one facet. This ignores what’s great about tags — they’re not mutually exclusive. They can overlap and mean different things to different people. Why should the facets be fixed?
    For instance, “Ruby” is a popular tag on Delicious. It is a programmming language. It may also be a person’s name, or perhaps it could be used to tag information about a precious stone. Sure, on delicious, its most likely to be about the programming language, but you don’t really know for sure (and its an example I just pulled of the top of my head…). In this case, it may make more sense to use what Delicous already does with user created tag bundles — so users can group their tags in ways that make sense to them. Then bundles can become an axis for browsing tags. (although I think bundles have the same problem described here — they’re mutually exclusive — a tag can only be in one bundle. But, at least they’re user created, giving users more control of how they wish to group things).

  3. Arthur Says:

    Josh, I think the idea is to have fixed facets, and to let each user assign his own particular tag to one of the facets. To take your example, user 1 can assign Ruby to Technology, and user 2 to Person.

    To decide which facets should be used may be a difficult task, as the facets may be too broad.

  4. Arthur Says:

    Josh, I think the idea is to have fixed facets, and to let users assign their personal tags to one of the facets. So user 1 may decide to assign “Ruby” to Technology, and user 2 to Person.

  5. vanderwal Says:

    I have been playing with facets for a while in conjunction with tags, but the relationship needs to be set at the time of tag creation. The result is a compound tag with the facet tied to the tag. This alleviates the problem of mis-understanding “Ruby” as stated above.

    The result of the compound tag for a person would be: person.ruby. The facet can be done through free-tagging, from a list of facets the person using the system has created, or (the ghastly) controlled vocabulary.

  6. manucharov Says:

    Won’t we end up with the biggest cloud being good old “don’t-know-don’t-care-which-facet-it-is-too-lazy-leave-me-alone” tags? Will it really improve browsability to have part (say, optimistically, half) of tags faceted nicely and another part just sitting there at the top (bottom?) of page in a big pile?

    (And nobody can even be sure that the faceted part will be faceted nicely!)

    Is alphabetically sorted (which is, er, unsorted), after all, better than poorly faceted?

  7. Marcel Says:

    Copy from SIG-IA on how to make del.icio.us somewhat faceted:
    I recently created a tag browser for del.icio.us that takes a hybrid-hierarchical approach to the flat structure of tags: http://johnvey.com/features/deliciousdirector/

    You can just view the demo if you don’t have a del.icio.us account: http://johnvey.com/features/deliciousdirector/demo.html (Only IE and Firefox
    work)

    For those who aren’t familiar, http://del.icio.us is a social bookmark manager that uses tags to identify and then aggregate bookmark information from its community of users.

    The basic idea is an ad-hoc hierarchy of tags based on the way that a particular user has defined their relationships. What are you thoughts on this approach? Is it genuinely useful, or is it more of a novelty?

    - Johnvey

  8. Pesi Says:

    cjvhlsuhsbjklbhxzckguiyfdjlzxckl;ckhjcb;hkj;xckljhvh

Leave a Reply