Tag classification rules - QutEcoacoustics/baw-server GitHub Wiki

The tag table has a few columns that describe what a tag represents.

The way the attributes of columns are used to classify the tag text is currently ambiguous.

Also, in production databases, there are many examples of misclassifications.

This page will define rules, show examples, and present a new system for classification.

Rules

  • type_of_tag describes the tag's semantic value. It is an enumeration with several possible values:
    • general is the catch all type. Anything that does not have a more specific class is general
    • looks_like is used for tags that describe some abstract visual shape on a spectrogram.
      • e.g. it looks like a chair
      • e.g. it looks like a line
      • e.g. it looks like the hiragana ku
    • sounds_like is used for tags that describe some abstract auditory concept. They don't describe what you are literally hearing, but rather are creative, descriptive, analogous, or onomatopoeic. Bird call classification language is a great example.
      • e.g. it sounds like a nails on a chalkboard when describing a screeching call
      • e.g. it sounds like a jackhammer when describing a repetitive loud noise
      • e.g. it sounds like a tril
      • e.g. it sounds like a peep peep peep
      • e.g. it sounds like a caw
    • [Proposal] anthropophony - used to classify a tag that describes human generated sound
      • e.g. car, helicopter, generator
    • [Proposal] geophony - used to classify a tag that describes environmental sound (other than that generated by fauna or humans)
      • e.g. wind, rain, light rain, waves, tree falling
    • common is used to describe a common name of an animal.
      • [Proposal] This classification is being deprecated.
    • scientific is used to describe the scientific name of an animal (sometimes known as the Latin name).
      • [Proposal] This classification is being deprecated.
    • [Proposal] The following classifications replace the common tag and additionally describe the taxonomic rank of the tag:
      • common_domain
      • common_kingdom
      • common_phylum
      • common_class
      • common_order
      • common_family
      • common_genus
      • common_species
    • [Proposal] The following classifications replace the scientific tag and additionally describe the taxonomic rank of the tag:
      • scientific_domain
      • scientific_kingdom
      • scientific_phylum
      • scientific_class
      • scientific_order
      • scientific_family
      • scientific_genus
      • scientific_species
  • is_taxanomic is a shortcut flag that is designed to make queries easier to write. It's value should be false unless the tag has any of the following classes:
    • common
    • common_domain
    • common_kingdom
    • common_phylum
    • common_class
    • common_order
    • common_family
    • common_genus
    • common_species
    • scientific
    • scientific_domain
    • scientific_kingdom
    • scientific_phylum
    • scientific_class
    • scientific_order
    • scientific_family
    • scientific_genus
    • scientific_species
  • retired is a flag that indicates a tag should no longer be used and should not be allowed to be applied to new annotations

Examples

text type_of_tag [Proposal] type_of_tag is_taxanomic retired My Notes
Car general anthropophony FALSE FALSE
wind general geophony FALSE FALSE
overlapping general general FALSE FALSE
Cockatoo common common_family TRUE FALSE Family name
Koala common common_species TRUE FALSE Species common name
Phascolarctos cinereus scientific scientific_species TRUE FALSE Species scientific name
Yellow Robin common common_genus TRUE FALSE
Eastern Yellow Robin common common_species TRUE FALSE
Esopaltria australis scientific scientific_species TRUE FALSE
Corella sp common common_genus TRUE FALSE an example of bad user-input data (the sp)
corella_sp common common_genus TRUE TRUE underscore delimitted tags are deprecated
faiy_wren_4 common common_species TRUE TRUE underscore delimitted tags are deprecated
chair looks_like looks_like FALSE FALSE
chainsaw sounds_like sounds_like FALSE FALSE

A note on relationships

This document is about classifying a tag's text and not establishing a relationship between tags.

However, we do see value in establishing relationships to other tags. Linking tags will happen through the tag_groups table. Groups are any grouping of tags that are useful. Groups are not exhaustive (do not need to include every tag semantically defined by the group name).

Examples of groupings follow:

  • group:parrots could include tag:parrot:common_order. tag:cockatoo:common_family, tag:Cacatua:scientific_genus, tag:little corella:common_species, tag:Cacatua sanguinea:scientific_species