I don't know how complex your rules need to be, but if it is as simple as your example, then you could use a simple relational model like so:
Your word list (Term
) contains all of the words like "cell", "mobile" etc. Your rule table (Context
) lists the domain in which the terms are being used ("calling", "biology", etc.) and the linking table (Synonym
) joins two Terms
in one Context
.