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
- 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: