In a hierarchy, there’s a relationship going from top to bottom. To limit the organisation of information, people or buildings to a hierarchy can severely limit your options. (HierarchyConsideredHarmful)

One of the AlternativesToHierarchy are graphs. In a graph, every node can connect to every other node, and the connections can be directional or undirectional. Sometimes that’s not very useful, however, because it is too general.

Consider pictures. Currently on my desktop: A portrait of mine in front of a magnolie tree, a magnolia close-up, my girlfriend under a bridge at the Schanzengraben (the remains of the old city moat), the road below the Europabrücke (also a bridge), me sitting on the floor with my laptop, and a flyer for a discussion about city development. How do we organise it?

There’s a magnolia in two of them, I’m in two of them, there’s people in three of them, there are bridges in two of them, there are references to my hometown in four of them. Let’s tag them:

a portrait of mine in front of a magnolie treeportrait magnolia tree me
a magnolia close-upmagnolia tree spring
my girlfriend under a bridge at the Schanzengraben (the remains of the old city moat)girlfriend bridge Schanzengraben moat Zürich
the road below the Europabrücke (also a bridge)Europabrücke Zürich bridge
me sitting on the floor with my laptop,me laptop interior
a flyer for a discussion about city developmentflyer print Zürich

Tags allow us to do set operations. Give me all the pictures showing Zürich and bridges. Give me all the pictures of me or my girlfriend.

Flickr organizes pictures using tags.

Grouping: Tags allow us to group items. It’s not a graph where every node can be connected to every other node.

Operations: Every tag represents a set. The intersection of two sets corresponds to an and operation. The union of two sets corresponds to an or operation. You can represent the collection of pictures as one bitvector for every tag. In order to find the images matching tags A, B, and C, just and these three vectors and you’ll get the vector to your result set.

Meta Tags: Note how we have a natural tendency to put the tags themselves into another hierarchy: me and my girlfriend are family, bridges and moats are buildings, Zürich belongs to cities, and Switzerland, magnolias are trees. In fact, it should be possible to tag tags. This would allow fuzzy searching without requiring all possible tags to be used. (bundles?)

Folksonomy: Traditionally, tagging has been used by librarians. Folksonomy is a play on “taxonomy” and refers to systems where anybody can tag items using any tags. It’s not a “controlled” vocabulary, and depending on the setup, social pressures can influence the outcome. Some people like LizLawley? have posted on the social consequences of social tagging and its limits: “[I] don’t want to toss out controlled vocabularies, or expert assignment of categories. I just don’t believe that all expertise can be replicated through repeated and amplified non-expert input.” There was a fair discussion of folksonomies on the Many2Many blog January and February 2005. One of the supporters of folksonomies was ClayShirky. In this early post he talks about folksonomies + controlled vocabularies and refers to the economics of social software when he says: “Where the internet is concerned, betting against ease of use, conceptual simplicity, and maximal user participation, has always been a bad idea.”

Grab Bags: Tagging tends to produce big “grab bags” of data. You never really know just what you’re going to get, looking for data by tags. Data grouped within a tag doesn’t come with any relationships between the data.

See Also



The title sucks. I didn’t want to use “Folksonomy”, because that is 1. hype and 2. too specific. I didn’t want “Tags are Sets” or “Tags vs Hierarchies” or anything like that. So instead, I thought of sentences I might write elsewhere on the wiki. What kind of phrase would be reusable in many different sentences? We’re using tags, here. Using tags is better/worse. Using tags is the equivalent of… We need to learn how to ahem. why using tags is… :)

PourquoiUtiliserDesEtiquettesEstSiSocial? ?

I read an interesting page: Tag Clouds are hard to Spam.

The author noted:

  • after about 20 entries on a tag, we stop reading
  • people tend to be conservative with their tags, assigning 1-3 tags per item

The author advocates that, instead, we use a ton of tags per page.

Then he argues that tags should be weighted, with weight determined by applying a power law to the tag order.

So for instance, if I see a page on NEET, I would tag it with not just “NEET,” but instead: “NEET book review japanese youth.”

Now, the tags would be assigned weights, something like:

  • NEET: 0.55
  • book: 0.2
  • review: 0.12
  • japanese: 0.07
  • youth: 0.06

Queries are also ranked by power law.

This may answer the “grab bags” problem, identified in the DocumentMode: When you search with more terms, you get back more specific results. “NEET book review” will turn up specific book reviews that have to do with NEET.

I’ve been using tags for a few weeks now on UnaLog, and I have to say: I’m really impressed.

It’s shocking to me how easy it is to find stuff that I’ve seen before, provided that I’ve tagged it. I have found every single thing I’ve looked for, (that I’ve tagged,) and every single search has been short.

I even just go back there to see that I can.

I had had some difficulty before, but that was because I was using only a handful (1-2 tags) of tags, per item. If you tag something with 3-8 tags, though, you’re practically guaranteed a hit.

I have to suspend judgement for a year, because as time passes and you accumulate more tags, there’s more stuff to sort through. The system may not scale. But so far, I’m really impressed.

The SocialBookmarking is another, different aspect. I think that SocialBookmarking is very useful as well: I can find popular (though usually, popular to the general public, not amongst experts in the field…) pages very easily. I can feel relatively confident that I’m observing the zeitgeist of the web. And I get search results that are sometimes somewhat better on average than Google, though not always.

I think it is interesting, and useful.

More important to me, on the SocialBookmarking end, is the possibility of using the MetaData within programs, programmatically. Ah, but we need access to the APIs.

DataIsValuable?, I think we are discovering.

But anyways: The benefits of UsingTags are separate from the benefits of SocialBookmarking.

Another thing: Folksologies: de-idealizing ontologies demonstrates a way to differentiate tags.

Once you can segregate “homonym tags”, you can start doing some really smart stuff, I would think.

I think of WebSeitzWiki:WikiWordAsTag? - BackLink-s provide a tag-view. Being able to do ‘AND’ intersection queries (quickly) would be cool.

To avoid the UseMentionProblem, you would have to reserve some titles for tagging alone. Perhaps titles that end with “-Tag”, and then never use them except when you actually mean to tag a page.

So, this page might have TagTag?, PicturesTag?, UseTag?, UsingTag?, FolksonomyTag?.

Do we tag pages or use tags inline? Tagging pages would work like the old category links. Those are tags with a special naming convention. It’s just that search is not limited to those.

Tags could be used inline, but the current CSS does not afford it. Inline results in the extra cloud symbol appearing in the middle of the text, which disrupts my reading experience.

If we tag pages, do we put them after the introduction? Should the tags be visible on the FrontPage? If not, we separate the tags from the introduction using a horizontal line. I think putting tags at the end of a page doesn’t work well; it hasn’t worked well for category tags either.

I am surprised to find that I really seem to care about this subject, as became evident from the length of the following stuff that (believe it or not) I feel is far too short!

Lion’s; “I have to suspend judgment for a year, because as time passes and you accumulate more tags, there’s more stuff to sort through. The system may not scale. But so far, I’m really impressed.” … prodded me to post this query…

“Rather than just taking a year to see if one’s use of tags scales up, why not consider asking if anyone has some experiences that relate to the use of Tags in large scale environments?”

I can’t claim to be an expert with respect to tagging, but I do feel I have a lot of experiences that may be worth sharing. For example…

Since starting to be interested in several of the very diverse aspects of Searching, I’ve found that my preferred methods seem to rely on first using the most efficient “filter” I can. Here are a couple of my approaches…

  • A programmable text editor (EMACS, tseEdit, …)
    • For the last 20 years, I have relied on my text editor to be able to filter and present very small (in the extreme case, “unique”) row(s) of a file which stores all possible targetStrings & their aliases, together with a set of macros that are the methods for any next steps. In effect, it takes 1 keystroke to activate a filter macro, and then as few or many characters as I need in a particular case to zoom in on the desired subset. While this doesn’t sound very wiki-ish, in practice I’ve found it enriches my interaction with server-side programs by allowing me to give them much more precise inputs than I am willing to type or click-thru.
  • Naming conventions, with an implicit scope.
    • I have found naming conventions to be extremely important. (In fact, one of the major reasons that I am drawn to wikis, is that CamelCase is an effective way of generating HTML, in much the same manner that a macro expansion functions.) Consider;
      • (1) HansWobbeBusinessProductivity?20051224
      • (2) HwBp?20051224 where (depending on the scope and context within which in which I anticipate using this name), I have simply discarded the un-necessary lower case letters in the first instance, and used a mix of upper and lower case letters to create a wikiWord, ideally by also using the upper case characters as delimiters for the symbols.
      • (3) HwBp?2005 which (in my conventions) includes all of the 365 dates within 2005. Obviously scope becomes very important since, for some Subjects, a nested inclusion of this type could generate more content that is desirable. For this reason, I sometimes use ’…200512’ or even ’…2005121’ (a “not so obvious” trick I call a DecimalFortnight?, in which I rely on the possible values of the first of a 2 digit ‘dd’ date value, to set the scope).
    • Obviously, this approach to naming can be applied to Pages or the Tags that link to the Pages. Furthermore, it just gets better when applying also incorporating GREP concepts.
  • Adapting established Cataloging conventions.
    • The DeweyDecimal? and the LibraryOfCongress classification systems each have considerable value, and a unique set of strengths and weaknesses that will likely ensure their use for some time to come. Integrating these nomenclatures into my indices has been remarkably helpful by…
      • Reducing the amount of time I spend thinking about where/how to file/categorize/tag something.
      • Improving the likelihood that I’ll enjoy effective and efficient retrieval.
      • My own client-side tools also use personalized XML and javaScript to integrate these different types of ‘tags’ so that I don’t even have to swap ‘mind-sets’, should the system that is currently foremost in my memory, not happen to be the one that had ‘focus’ when I applied the tags or filed the information.

I believe that this area is fundamentally important to the effective and efficient use of computers. And I sense that the ‘world’ of both developers and users is becoming very aware of the problems related to information retrieval and hence, more receptive to collaboration in these matters. After all, our unique abilities to communicate efficiently are predicated upon a common understanding of the meaning or words and symbols. Google, with Search; FlickR with Tags; … are all “setting the table”. Defining the new (tag) language may be as important as cooking the food that we want to eat while sitting at it.

Back to Lion’s prudent wish to “wait and see”…

I just have to go on record as stating that I know this will scale. Since this post may already be too long, I’ll defer providing metrics that support my knowledge, at least until someone cares enough to ask for them.

In the mean time, I’ll conclude for now with an obvious statement. “I’m really interested in this stuff!” and will be happy to help to the best on my ability.

Continuing a conversation I had with BayleShanks that started on CommunityWikiPageLayout :

I think many of the big differences between tags and categories are:

  • they’re “cheap,” don’t require specific meaning, but can if you want to reserve some for particular purposes - it might be best to have a “TagGlossary?” page, that describes the various tags that you want to have a specific meaning for – categories, on the other hand, are not viewed as equally expendable; they are “weightier” as a concept
  • to the argument that: “Technically, these are identical, or can be identical,” I will respond with: No, only for a limited sense of the word “technology” – As a HardTechnology, they may be the same, but as a SoftTechnology, they are used very differently – tags are used far more indiscriminately – categories are used with greater discrimination, are much fewer in number, and demand much more attention – that the technology is a SoftTechnology and lives in our heads, does not make it any less of a technology, and it still remains different as a technology, with different advantages and disadvantages
  • tags are intended to be searched by joining, but not categories - a single tag, keyword searched, by itself, is near useless
  • LinkLanguage is sufficient to help a person figure out what a particular word or phrase means; Category not required. (Response to: “what if I don’t know the first thing about collective intelligence, what then?” The answer: “You click on CollectiveIntelligence.”)
  • Roadmaps, a third type of thing (neither tag nor category,) is a page about other pages that’s told as a story, not as a list. Costlier to create and maintain than a category, but clearly confined in time, and thus the damage of ChangeFailure is not so brutal.
  • Tags are clearly much better at recalling pages from memory, than Categories. If you don’t believe this, I would suggest that it’s just not enough practice using them..! (And I can demonstrate some challenges that will, I think, prove this to you, empirically.)
  • Roadmaps would give newcomers a better idea of whot to read first, in a big field, because they organically show how ideas are connected together. Pages link to the roadmap pages, rather than the category pages.
  • Tags as a soft technology do not seek to organize the wiki. They intend only to locate pages previously seen, or to poll the wiki on what it knows given a particular set of key words.
  • If tags are ambiguous, perhaps it’s best that way..!
  • Categories have demonstrated themselves to be difficult to maintain. Tags, by their promiscuousness, are not hard to maintain at all, just requiring a short brainstorming before using.

I am satisfied by the “tag glossary” proposal (more than satisfied; I think it’s a great idea, probably producing less excess pages than the category system, provided that we have some automated mechanism in the tag search to show the user the first part of the entry in the tag glossary upon a tag search (the reason I care is that otherwise, the tag glossary will be ignored and will not serve to create consensus on the meaning of some of the tags). If we do that, then we can replace categories with tags and everyone will be happy.

So as not to create an “unfunded mandate”, I’ll be happy to code this mechanism if people would like me to. No promises on when :). But if we agree to implement something like this, I don’t mind if we remove categories in the meantime (i.e. I see no need to wait for this new feature to be implemented, I just want to know that we will have it, sometime).

Note that I am not proposing a social norm that we try to put every tag in the glossary. Just when we feel like it.

Will give my agrees/disagrees on the other bullet points if you’re interested.

OK! We need a page then: TagGlossary?.

Another idea I have about tags: We tend to put them on a single line. Perhaps we could discriminate them, on this basis too, for search joins.

What I mean is: I’d like to put tags into comments some time. But then, those tags get jumbled in with the pages tags. If I do a boolean join, it’s going to be a problem, because it may find some things in my comment, and other’s in the page, and I really want either the page or the comment.

(Could we automatically, implicitely, have “comment” on a tag list that is generated within a comment block?)

So we could treat all the tags within a single line (no newlines) as a single “tagging point,” and it remains separate and distinct from the other points, even though they may share a page.


Define external redirect: UseTag FolksonomyTag UsingTag WikiWordAsTag HansWobbeBusinessProductivity TagTag PicturesTag LizLawley DeweyDecimal TagGlossary DecimalFortnight DataIsValuable HwBp PourquoiUtiliserDesEtiquettesEstSiSocial

EditNearLinks: UseMentionProblem LibraryOfCongress CamelCase FlickR DocumentMode