Sub-Term Mapping Tools

UMLS-Core: Synonym Substitutions

  • Descriptions:
    • Substitute (find and replace) all sub-terms from an input term with synonyms
    • The design have to consider performance with large-scale synonym list
      The exhausted algorithm should be used because the performance will be to bad when we have large synonym list
    • This is a much complicated problem than it sounds because the both input and synonym could be a term (words)

  • Examples - Test Cases:
    • Input term: "let dog and cats out"
    • Synonym list:
      • dog|canine
      • puppy|dog
      • canine|K9
      • cat|feline
      • feline|kitty
      • dog and cat|pets
    • Results:
      • Original term
        • let dog and cats out
      • One replaced synonym
        • let canine and cats out
        • let puppy and cats out
        • let dog and feline out
          => map cats -> cat -> feline
        • let pets out
          => term mapping -> dog and cats -> dog and cat -> pets
      • Two replaced synonyms
        • let canine and feline out
        • let puppy and feline out
      • Indirect synonyms are not included
        • let K9 and cats out
          => K9 and dog are related through canine
          map dog -> canine -> K9
        • let dog and kitty out
          => kitty and cat are related through feline
          map cats -> cat -> feline -> kitty
        • let puppy and kitty out
        • ...

  • Algorithm: