The technique of spreading activation (Quillian, 1968; Cohen & Kjeldsen, 1987; Burke et al., 1997) aims at finding semantically related words. It relies on a semantic network where words or concepts are connected by links that describe various relations. For example, the word ``computer'' may be connected to the word ``machine'' via an isa link. A basic spreading activation algorithm takes two words as input and attempts to find a path in the network connecting them. From the point of view of CIE, the objective of spreading activation is to reduce the lexical dependence on the terms in the Q&A's, thus allowing for a degree of lexical variation. For example, if a client's question contains ``machine'' and an expert's question has ``computer,'' the two terms match due to their relation via an isa link.
Our spreading activation technique is based on WordNet (Miller, 1995) [1], a semantic network of English words and phrases built at Princeton University. The basic unit of WordNet is a set of synonyms, called synset. Synsets contain words interchangeable in a context. For example, one can easily think of a context in which ``computer'' and ``machine'' are interchangeable. WordNet consists of 4 subnets organized by the part of speech: noun, verb, adjective, and adverb. Each subnet is organized in terms of its own set of relations. For example, nouns are organized in terms of antonymy, the isa relation, and three part-of relations. The spreading activation technique uses all parts of speech. But, for each part of speech only a subset of the available relations is used. For nouns, isa is used: ``machine'' is a ``computer.'' For verbs, entailment is used: ``to limp'' entails ``to walk.'' For adjectives, similarity is used: ``wet'' is similar to ``watery.'' No relations are used for adverbs. Figure 6 presents a part of the WordNet noun net showing some of the hypernyms and hyponyms of ``computer.''
Figure 6: Part of the WordNet Noun Net
CIE's spreading activation algorithm takes two inputs: a word to spread activation from and a depth, an integer specifying how many links away from the word the activation is to spread. Each word encountered along the way is saved with its part of speech and the depth at which it was found. The integers 1, 2, 3, and 4 are used to encode noun, verb, adjective, and adverb, respectively. Thus, ``device12'' means ``device'' is a noun found at depth 2. The depth of the original word is 0. Words like ``device12'' are called annotated terms or a-terms. If a word is found at several depths, the smallest one is encoded. For example, consider Figure 6. Assuming the activation is spread from ``computer,'' the depth is 2, and phrases like ``data_processor'' are ignored, the following a-terms are obtained: ``computer10,'' ``machine11,'' ``device12,'' ``calculator11,'' ``reckoner11,'' ``expert12,'' ``statistician12,'' ``actuary12.''
The WordNet weight,
of an a-term a combines
four functions and one parameter. The part of speech
function, Pos, maps a to the integer encoding its
part of speech. For example, Pos(dog10) = 1. The polysemy
function, Poly, gives an integer denoting the number
of senses a has in its part of speech [2]. For example,
Poly(dog10) = 12 means that as a noun ``dog'' has 12
senses. The part of speech weight function,
,
is given by
The depth function, Depth, maps a to the depth at which it
was found. For example, Depth(dog12) = 2. The parameter is
the rate of decay, r, which indicates by how much a's weight
depreciates with depth. The WordNet weight of a,
, is
given by