KBD

Keith Devens .com

Tuesday, March 16, 2010 Flag waving
The very name "selection" implies that you're choosing between two or more variants. So that means that the end... – Dr. Walter Veith
← Rumsfeld: "The great sweep of human history is for freedom"Open source software license →

Daily link icon Friday, December 24, 2004

Singular vs. plural tags in a tag-based categorization system (such as del.icio.us)

I've been trying to come up with the best way to handle the singular vs. plural tags issue in a tag-based categorization system (such as del.icio.us, though this is actually for my own tag-based bookmark system which is not yet public).

This might be a problem just because of a peculiarity of English. I'm not sure how common this feature is to other languages. Say I want to keep track of wikis. So, I might have sets of tags like "php wikis", "python wikis", etc. But if I want to say "php wiki software", then wiki becomes singular. So, I might want to categorize different kinds of text editors with the tag 'text-editors'. I could also use "text-editor software", but that's worse, since it's much better if the url is plural rather than singular when possible (i.e. /text-editors rather than /text-editor).

Anyone have any suggestions?

← Rumsfeld: "The great sweep of human history is for freedom"Open source software license →

Comments XML gif

Dan Kamins wrote:

Think of the keywords as class categories, where each item tagged or belonging has an "is a" relationship to its group. Everything becomes singular, consistent, and clear.

This is the approach I use for naming database tables too, which also hold a number of records.

Example thoughts/comments you would have with this system:
- File this under the "Text Editor" category.
- Tag that as a "PHP Wiki Implementation".
- Search through the "Phone Number" list.

PS. Found this site via Google when looking for PHP XMLRPC implementations, and yours looks good. Looking forward to checking it out.

∴ Dan Kamins | 25-Dec-2004 4:33am est | #6700

Keith (http://keithdevens.com/) wrote:

This is the approach I use for naming database tables too, which also hold a number of records.

See, I've always liked the opposite approach, where since tables are a collection of records they get plural names. It's more natural in SQL that way too - "SELECT * FROM Entries WHERE Entry_Id = 42".

Your suggestion for tags is logical, but it's unsatisfying to me. I want a consistent way to have URLs like /text-editors because the URL, as a resource, refers to a list of text editors. In addition, what about a case like 'algorithms'? You might link to a page about an individual algorithm, but it seems more natural to put it in the category 'algorithms'.

Also, in case it wasn't clear above, note that when I had a list of tags like "php wiki software", that refers to three tags (they're space separated). I'm using double-quoted strings to refer to groups of tags, while single-quotes refer to a single tag.


After thinking about it, I think it may be best to consider it an "is in the class of" relationship rather than an "is a" relationship. Cases that might legitimately have multiple options, such as 'wikis' or "wiki software" get split up as much as possible, so you go with "wiki software". With 'text-editors', it makes more sense to me to have 'software' be a parent tag (a feature available in my software, but not del.icio.us) to 'text-editors', because all text editors are software. In contrast, not everything that is "wiki" is "wiki software". But, you still have wikis in terms of wiki sites, and 'sites' isn't a useful tag, so that's a problem.

I suppose if I make 'wiki' a parent tag of 'wikis' in that case that might solve the problem. Similarly, maybe you link to pages about 'text-editing' as an activity (maybe a site like this)... it doesn't make sense to give those the tag 'text-editor', but maybe 'text-editors' is a child tag of 'text-editing'. Or maybe the 'text-editors' tag is most appropriately split up into "text-editing software".

Anyway, the goal of this post was to get feedback and explore the issues... I'm still not sure if there's one approach that's always best. If you have any further suggestions based on what I've said in this comment please let me know. Thanks.

Keith | 25-Dec-2004 5:07pm est | http://keithdevens.com/ | #6703

Dan Kamins wrote:

Sadly, you cannot digitize your cake and eat it too.

In 20 years from now, when even a $100 PC has a Natural Language Co-Processor inside, you won't have this issue. For now, the systems you are interacting with have constraints.

The advantage of the style I proposed is its simplicity. It can be described in one sentence, and therefore becomes easy to maintain and have its consistency preserved, within the constraints of the current systems.

I agree: it isn't the most natural human way of categorizing things. But you are seeking to establish a mapping from symbols (single words, or simple hierarchy of words) to complex states of neural networks. Good luck to you, sir! At a bare minimum, the systems would need to support weighted connections between nodes (e.g. "wiki" symbol invokes 30% of "software" symbol), not just dumb rooted trees, as they typically do.

∴ Dan Kamins | 15-Jan-2005 5:56pm est | #6849

Keith (http://keithdevens.com/) wrote:

Actually, I've resolved my 'wikis' vs "wiki software" issue. 'Wikis' now refers to the website, and "wiki software" refers to the software. So, if the home page for an implementation of a wiki is a wiki, then that link gets tagged with "wiki software wikis" Smiley

In addition, my tagging scheme allows tags themselves to have parent and child tags, so 'text-editors' can have "text-editing software" as its parent tags, I think (I'll have to think about this more to make sure it makes sense).

So, overall I think my "is in the category of" criteria will work.

Keith | 15-Jan-2005 9:17pm est | http://keithdevens.com/ | #6852

Adam (http://www.myrantsite.com/) wrote:

I'm just starting using del.icio.us and am too wondering if plural or singular is better.

As an example, I was looking for a font editing program and when I found I didn't know if I should tag it with "font" or "fonts". So I did both. (shrug)

I kinda wish del.icio.us would handle this for me...

Thanks for the post. It gave me something to think about.

∴ Adam | 2-Jun-2006 8:48am est | http://www.myrantsite.com/ | #9482

Jossef Hamker (http://epsos.de) wrote:

Plural is much better in my opinion, but it makes tagging too complicated, because sometimes there is no plural or the plural does not make sense at all.

I recommend to use plural for tags where it is possible, because it makes more sense to the reader.

∴ Jossef Hamker | 30-Mar-2008 7:35pm est | http://epsos.de | #10601

Aidan Whitehall wrote:

I've too struggled with this for a while. The database schema at work uses singular object names, whereas I'd always used plural... I mean a table listing countries should be called countries, right?

The developer put it to me that the singular table name meant your WHERE clause would be where country.id = 'GB' and not where countries.id = 'GB', which feels more like you're saying the ID of the country, which to him seemed more natural.

Whilst I could see what he was saying, I couldn't let go of my notion that it was a collection of countries....

Well, now I'm having the same problem with tags and have (albeit reluctantly) come round to the idea of using the singular over the plural.

Some web sites are an aggregation of blogs, so you'd use the tag blogs. And some web sites are just a single blog, so you'd use the tag blog.

Well, having two similar tags feels dissatisfying.

Coming to the conclusion that it's better to eliminate this, and that the tag blog will always be true, whereas the tag blogs will only apply to those sites that aggregate blogs, I've decided to go for singular.

Now if only I overcome my was the iron left on? OCD... Smiley winking

∴ Aidan Whitehall | 14-Feb-2009 5:02am est | #11068

pjturpeau wrote:

@Dan: I like your "is a" predicate.

@Keith: for me, "is in the class of" doesn't justify the use of plural. In object-oriented design, classes used to have singular names. Plurality is managed through other means. For the "wiki site" vs "wiki software" problem, it seems to more more linked to the searching capabilities of the tag system. You should be able to search for elements tagged "wiki" but not tagged "software"...

@Aidan: why don't you add the "collection" or "aggregation" tag? It works pretty well with the "is a" predicate.

∴ pjturpeau | 25-Feb-2009 11:59am est | #11078

Tuomas wrote:

I read your post first time few years ago and ended up going with plural tags. However, during this time I've noticed that so often Delicous suggests me singular names. It's slow to always click on those and change it to plural and even slower to type the tags manually.

So I was wondering is this the case only with the tags I'm using or are most of the people using singular names. Have anyone bumped into any statistics about this?

∴ Tuomas | 8-Apr-2009 3:35am est | #11112

alex and ra wrote:

our future is not set ...i have still 2 decide

∴ alex and ra | 8-Jan-2010 4:50am est | #11476

Feel free to post a comment below. Please see my comment policy.

Formatting Rules (No HTML):

  • **bold**, *italic*, _underlined_, --strikeout--
  • "text"="url" creates a link, and URLs are auto-highlighted
  • Blockquote: Like e-mail, begin paragraph with > (greater-than sign)
  • Lists: begin paragraph with *,-, or + (unordered), or # (ordered)
  • Code block: ?!code:language=perl|php|sql|javascript|etc.{\n}...{\n}?!/code

:
(will be your IP address if blank)
: (optional)
(Will not be shown on site)

: (optional)
:

March 2010
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 1 posts

Recent comments XML

new⇒Quantum physics and free will

I knew you were going to say that....

Tom Massey: Mar 15, 9:26pm

Generated in about 0.121s.

(Used 8 db queries)