Search

I just read Rowan's article about tags. An excellent read, even two years later. I am not an avid developer, just a casual hobbyist, and I'm not that familiar with Symphony, but I am impressed by it.

Questions about the following idea and solution: 1. Do you like it? Any suggestions for improvement? 2. What is the 'Symphony' way of implementing something like this?

The idea: In general, I like the idea of drilling down on tags to get specific instead of creating many permutations as individual tags. If I want to see articles about African birds, I select 'birds' and 'Africa' instead of 'African birds' - similar to the behavior in evernote when you select multiple tags, it shows you only items which have all of those tags.

As a response to rowan's article, it seems the problems with tagging are:

  • We create new tags when a synonym of an already used tag would suffice or be better (e.g. we create a 'speedy' tag when there is already a 'fast' tag)
  • The tags we choose when we do need to create a new tag are either too specific (usually multiple words per tag) or too broad to carry the right amount of meaning (e.g. 'thoughts' or 'friends are nice' instead of 'friendship')

The Solution: Create a dynamic suggestion list for tags which does the following:

  1. Searches for synonyms of the typed word as I type.
  2. Displays synonyms which match existing tags as primary suggestions
  3. Displays synonyms which do not match existing tags as secondary suggestions

To do this well, it seems there should be some traversing of the synonym tree, so that if I type 'fast', which has a synonym 'speedy' which has a synonym of 'hurried', 'hurried' would be shown as a primary suggestion.

With a little research, I found the following synonym searching APIs:

Princeton Wordnet: http://wordnet.princeton.edu/

Abbreviations (synonyms.net) http://www.abbreviations.com/synonyms_api.asp

Big Huge Thesaurus: http://words.bighugelabs.com/api.php

dictionary.com http://developer.dictionary.com/

Wordnik http://developer.wordnik.com/

I'm just a gumshoe, hoping to learn. Thanks!

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details