If your are asked for imagine a cathedral, since "cathedral" is an abstract noun, you must concretize it in a particular case; because no abstract concept can be illustrated by means of a picture or something like in your mind. In fact, words denote equivalence classes. For instance, the word "book" denotes a lot of different objects. To imagine a book you must chose a color, a size etc. that is to say, you must concretize it.
This mental machinery can be formalized as follows. Let p(x) stands for a predicate defining some object O, that is to say, if p(O) is true then p(x) is a definition for O.
In general, there are a lot of objects satisfying any definition; consequently, in each context and each sentence, every word is concretized by the interpreter in order to understand it. How we can formalize concretizations of the object denoted by p(x)? Simply, by adding new conditions to the predicate p(x). For instance, if q(x) is a predicate compatible with p(x), then the conjunction p(x)⋀q(x) is a new predicate denoting some concretion of O, say Q.
Each interpreter can add a new predicate q(x) to concretize the meaning of O. If it is the case, that there is a unique predicate q(x) which is compatible with p(x), then there is also a unique possible concretion Q of O, and there is no ambiguity in any sentence containing some word denoting O. By contrast, if there are several compatible predicates, there are also several possible interpretations. The correct one must be chosen by deeply analyzing de meaning of the involved sentence. This is why an algorithm to assign meanings to sentences can only work as part of those systems knowing logics to discern compatibilities. This is also why discussions about word meaning are of no use without using logics and formalizing proofs.