Disambiguation in Folksonomies

Tim Bray's post on Technorati Tags highlighted
that it wasn't just me that though disambiguation
in folksonomies
is important.

I spent a while thinking about it, and I came up with a half-backed scheme where uses could qualify their tags with a
parent tag, and an elaborate justification for why this was okay to do.

Then I realised that the disambiguation data is already there in the form of additional tags on the same data item.

In Del.icio.us you can tag a page with more than one tag. If the user interface presented each one of these tags as
related concepts in a dynamically constructed hierarchy then it would make browsing simple.
Query based access could be done by simple Boolean joins.

In Tim Bray's example, he wants to disambiguate Petroleum+Geology->Drills and Military+Training->Drills by using different
classification schemes. My current job is in the digital library area, so I, too feel the pull of well defined classification
schemes.

However, I think a better (in the Web 2.0, loosely bound sense) way to disambiguate would be to
have a service that returns data for a query like:

(Petroleum+Geology AND Drills)

This query would return all records that have been tagged with both
Petroleum+Geology AND Drills tags.

But what about Drills records that should be Petroleum+Geology records but haven't been tagged as such?
Well now you get a choice. You can have highly specific data that you know is correct by ignoring those records, or else
you can offer lower quality data but still try to remove data you know to be irrelevant:

Drills NOT (Military+Training AND Drills)

Browsing would use the same kind of queries. For instance, look at the Del.icio.us
programming tag. Currently the first item is tagged as
python, strings and programming. Obviously these concepts must be linked in
some way, so they should be presented as such in the user interface:

-->programming
programming > python
programming > strings

Now, if you go to programming > python you will get a dynamic page constructed using the query:

programming AND python

This is useful because it will remove all pages about python snakes from view.

The user interface would now change again:

programming
-->programming > python
programming > python > strings

Going to the programming > python > strings page will get you the data from the query:

programming AND python AND strings

I think this idea would provide quite a useful advancement on the current tagging mechanisms used in Folksonomies.
Now I just need to build this thing..

UPDATED: As it happens Del.ici.us already has support for querying on intersection of tags using the tag1+tag2 syntax. del.icio.us/tag/programming+python is the python programming tag.

Leave a Reply

Your email address will not be published. Required fields are marked *