SPT - Requirements

1. Tool Package:

1.1downloadable packageTBD
1.2installable toolTBD
1.3could be a stand-along package or included in the Lexical Tools packageTBD
1.4a command-line tool provides functions described in the next section of tool functionsTBD

2. Tool Function:

2.1 Synonym Definition
2.1.1Includes (but not limited to) lexical synonyms, spelling variants, acronyms, abbreviations, etc.Done
2.1.2Assume all synonyms are the base (uninflected) formsDone
2.1.3Ignore caseDone
2.1.4Strip punctuationsTBD
2.1.5Provide mapping between word to word and word to term (multi-words)Done
2.1.6Category (part of speech) is not usedDone
2.1.7All synonyms are symmetrical (if A is a synonym of B, the B must be a synonym of A)Done
2.2 Synonyms Source
2.2.1Provide a default synonym source (from the synonyms of SPECIALIST LEXICON)TBD
2.2.2 Allow users to customize their own synonyms from a flat file system (append to the default synonym) Done
2.2.3Use # for commentsDone
2.2.4Ignore duplicationsDone
2.2.5Automatic generate symmetrical synonymsDone
2.2.6No category is used (2 fields only)Done
2.2.7Use pipe “|” to separate fieldsDone
2.2.8All synonyms will be automatically normalized by strip away case when they are read-in to the toolDone
2.2.9All synonyms will be automatically normalized by strip away punctuation when they are read-in to the toolTBD
2.2.10Provide an option to use default synonyms, customized synonyms, or both.TBD
2.3 Synonyms Mapping Functions
2.3.2Normalizes input by Uninflection, lower case, strip punctuationTBD
2.3.3Generates synonyms of normalized inputDone
2.3.4Generates recursive synonyms of normalized inputDone
2.3.5Generates recursive synonyms of normalized input for words and terms by specifying the recursive depthDone
2.3.6Keeps all history and depth for synonyms generationsDone
2.4 Patterns (Word and Term) Permutation Functions
2.4.1Finds terms have synonyms of normalized inputDone
2.4.2Finds patterns permutation of normalized inputDone
2.5 Permutation Functions
2.5.1Permutes all found patterns of the inputDone
2.5.2The output is a list of string of above permuted patternsDone

3. Examples:

  • From Suresh:

    • dog=canine
    • cat=feline
    • canine=mutt
    raining dogs and cats raining dog and cat
    raining dog and feline
    raining canine and cat
    raining canine and feline
    raining mutt and cat
    raining mutt and feline

  • From Allen:

    • dog=canine
    • distemper=canine distemper
    dog distemper canine distemper

    dogs distemper ?
    canines distemper ?

    dog canine distemper ?
    canine canine distemper ?