Tagging tags to make synonyms
I've had this post in draft for about two months, but it never seemed significant enough to finish up. And then Tagtagger came around. And then someone said Tagtagger could actually be useful. And then I thought, "oh I've done something like that."
Over the past six months we've been working on an internal tagging application for a client. One of the features of the application is a simple authority file of tags. This means that tags can be made synonymous, and that one tag is identified as the preferred term and others as alternate terms.
As you've probably guessed, we implemented this by... tagging tags.
The problem for people trying to find things using the tag set was that there were lots of minor variations in the tags. For example, here are four possible variations of Visual Basic that are syntactically different but semantically the same:
- visual basic
- Visual Basic
- vb
- visualbasic
So we recycled our tagging interface (which incorporates some ideas from Google Suggest and Flickr) to allow people to add synonymous tags. This is how it works:
Once a connection has been made between two tags, someone who enters, say, "vb" will be assigned the preferred term "Visual Basic" instead. (Similarly, people who had entered "vb" are re-assigned "Visual Basic" after the synonymization has happened.) The alternate terms are then hidden.
There are some problems, of course, including the fact that we didn't deal with disambiguation (arguably just as important as synonyms). But there it is... tag tagging.

