I 
I 
I 
i 
I 
i 
1 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
Algorithms for Ontological Mediation 
Alistair E. Campbell ! and Stuart C. Shapiro 2 
l,XDepartment of Computer Science 
And 2Center for Cognitive Science 
State University of New York at Buffalo 
226 Bell Hall, Box 602000 
Buffalo, New York 14260-2000 
aec@cs, buffalo, edu, shapiro@cs, buffalo, edu 
Abstract 
We lay the foundation for ontological mediation as a 
method for resolving communication difficulties result- 
ing from different ontologies. The notion of hierarchical 
relations enables a theory of orientadon or direction of 
ontoiogies to be presented. We describe an ontologcial 
mediator as being able to think about (or conceptualize) 
concepts from ontologies and find equivalences between 
them. Algorithms for finding the meanings of unfamiliar 
words by asking questions are introduced and evaluated 
experimentally. 
1 Introduction 
Clearly, in order for communication between computa- 
tional agents to be truly successful, each agent must be 
able to understand what the other says. Presently, this in- 
volves deciding ahead of time on the following: 
I. a syntax and semantics for the language in which 
they communicate (a popular one is KIF (Gene- 
sereth, 1995)). and 
II. an ontology, or domain conceptualization that sets 
forth the terminology they may use, along with rela- 
tions that hold between the concepts that these terms 
denote. 
One way to make sure that both of these things happen 
is to develop a single ontology with a single set of terms 
for each domain, and require that all communicating par- 
ties use only that ontology in their dialogue. We call this 
the single ontology proposal. 
However. the reality is that various agents can and 
often do use different terms to denote elements in a 
common domain, and this presents a pervasive problem: 
Words that are not in one agent's ontology will be com- 
pletely unintelligible when presented by another agent, 
even if they have agreed on a common language of com- 
munication (an interlingua) ahead of time, and even if 
their ontologies are similar, even significantly overlap- 
ping. 
This problem often occurs because the agents' ontolo- 
gies are designed for different purposes. We should re- 
ject the single ontology proposal because it is impossi- 
ble to implement: even the designers of the ontologies 
themselves cannot agree on terminology. Worse yet, they 
102 
often cannot agree on a taxonomization of the domain 
into represented concepts. For example, notice the differ- 
ences between upper levels of the CYC (Lenat and Guha, 
1990; Lenat, 199S), and Penman (Bateman et al., 1990) 
ontologies shown in figure 1. 
CYC ~-t 
~M p p v~p 
Figure 1: CYC and Penman Upper Levels 
Moreover, useful knowledge resources designed be- 
fore a standard ontology is adopted will not be able to 
participate in information interchange without the assis- 
tance of some sort of translator or mediator to facilitate 
dialogue with other agents. Since these tools are expen- 
sive to develop and maintain, this effectively eliminates 
legacy systems as competitive knowledge resources at 
large. 
Also, without unacceptable forced compliance to the 
standard ontologies, anyone can create new and poten- 
tially useful knowledge agents with which communica- 
tion is impossible even if they do use some conventional 
language and communication protocols. 
Instead we advocate an approach where agent design- 
ers are free to use whatever ontology makes sense for 
them. and when problems of terminology arise, they are 
I 
! 
I 
I 
l 
| 
I 
I 
I 
I 
I 
I 
i 
I 
I 
I 
I 
solved by an ontologkal mediator. 
1.1 Vocabulary 
Let's suppose that agent A and agent B want to commu- 
nicate about some domain. They have decided on an in- 
terlingua, a common communication language, and each 
has adopted an ontology, or domain conceptualization. 
This means that they have an established vocabulary from 
which neither may stray. 
But how crucial is it that both agents have exactly the 
same vocabulary? People don't have exactly the same 
vocabulary, yet we communicate very well most of the 
time. When misunderstandings occur, they are often eas- 
ily cleared up. Legacy systems and most current knowl- 
edge resources are incapable of clearing up miscommuni- 
cations because they lack the intelligence to do so. Work 
toward giving information agents this capability is pro- 
gressing, but in the interim, machines can't communi- 
cate. 
1.2 Mediation 
One promising approach to this problem is to build spe- 
cialized agents which facilitate communication between 
communicants who have adopted different ontologies, or 
even no formal ontology at all. Indeed, given that agents 
have adopted an interlingua and communication protocol, 
they can try to communicate. The mediator then tries to 
repair miscommunications as they occur. 
We are concerned not with the process of detecting 
misunderstandings, but rather with ways to resolve com- 
munication problems. We focus on the problem of agents 
having different vocabularies. In that context, it is possi- 
ble for a speaker (S) to use a word (W) unfamiliar to a 
listener (L). 
2 Mediator 
We have designed an ontological mediator, an agent ca- 
pable of reasoning about the ontoiogies of two communi- 
"cating agents, or communicants, learning about what W 
means for S, and looking for an ontological translation 
(W') that means for L, the same thing in the domain that 
W means for S. 
3 Fundamentals 
Before proceeding with a discussion of algorithms for on- 
tological mediation, we first set forth some assumptions 
and definitions, and make some clarifying remarks. 
3.1 Common words mean the same thing. 
We make the following simplifying assumption: 
Rule 1 If two agents are communicating about the same 
domain, then if both of them know some word, then it 
means the same thing to both of them. 
The rationale for this assumption is that when agents 
are communicating, each implicitly assumes that a word 
used by the other means the same thing as it does to it. 
103 
People don't go around wondering whether each word 
they hear really means what they think it does, and their 
communication with other people is usually free of error. 
Of course, this assumption can lead to problems when 
common words really don't mean the same thing. Then 
it becomes the agents' duty to detect miscommunicadon. 
Work is being done in this area (see, for example (McRoy, 
1996)) but this is not the focus of our current research. 
We are more concerned with using mediation techniques 
to find correspondences between concepts in ontologies. 
This presupposes detection, since the agents have called 
a mediator to help them. 
3.20ntologies 
The word "ontology" is used by many researchers to 
mean a variety of similar but distinct things. Without 
making a strong or precise statement as to what ontolo- 
gies should be necessarily, we present some issues with 
respect to ontologies that our research addresses. 
3.2.1 Words vs. Concepts 
Contrary to many ontology designers, who do not seem 
to distinguish between word (or symbol) and concept, we 
take an ontology to be an organization of an agent's con- 
cepts by some set of ontological relations. A concept is a 
particular agent's conceptualization of an element of the 
domain of discourse, and each concept can be denoted by 
one or more words. This way, words can be shared be- 
tween agents, but concepts cannot. Naturally, we require 
a mapping between words and concepts to support rea- 
soning about agents" concepts. For a given agent, we cur- 
rently assume a 1-1, onto mapping between concepts and 
words. Presently. we do not have algorithms that give a 
proper treatment of polysemy or synonomy of words for 
ontological mediation. 
3.2.2 Concepts 
If an ontological mediator is to find words in one ontology 
that have the same meaning as words in another ontology, 
the mediator must be thinking about the concepts in those 
ontologies. The notion of a "concept" is very slippery, 
and frequently means different things to different people. 
Therefore, for the purpose of describing these algorithms 
and their underlying theory, we make the following defi- 
nitions. 
!. For any agent A and domain element O, ifA knows 
about or can think about O, then there exists a men- 
tal representation C in A's mind, which represents O. 
We write \[\[C\]\] A = O, 
2. Concept: The mental entity C which exists in the 
mind of an agent and serves to represent some do- 
main element for that agent. 
3. OM-Concept: The mental entity C' which exists in 
the mind of the ontological mediator that is thinking 
about C. that is. thinking about some concept in the 
mind of another agent, and how that concept might 
fit into the agent's ontology. 
I 
i 
I 
I 
I 
_I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
! 
I 
I 
I 
Note one important implication of the distinction: 
The "'domain" of thought for an ontological mediator 
is not the same as the communicants' domain. Rather, 
the OM's domain is that of concepts in the communi- 
cants' ontologies. While the communicants are "thinking 
about" elements of their own domain, the OM is think- 
ing about those concepts invoked by the communicant's 
thinking. Thus, whenever agent A uses a word W, it ex- 
presses some concept C, which in turn represents some 
domain entity O forA. Therefore, the first time OM hears 
A use W, OM builds in its own mind an ore-concept C to 
represent that concept. Hence \[\[C'~oM = C, and of course 
 ClIA = O. 
3.3 Ontological Relations 
An ontological relation is simply any relation commonly 
used in the organization of ontoiogies. Whether a rela- 
tion is truly ontological is a matter of opinion, but for ex- 
ample, some kind ofsubclass/superclass relation pair is 
almost always used to form a taxonomic hierarchy. 
3.3.1 Hierarchical generalizer,s, and specializers 
A hierarchical ontological relation is any ontological re- 
lation that organizes concepts into a hierarchy, taxonomy, 
or similar structure. Hierarchical relations are related to 
but distinct from transitive relations. For example, the 
transitive relation ancestor is related to the hierarchical 
relation parent. 
The hierarchical ontological relations are important for 
ontological mediation because they form the hierarchies 
organizing the concepts in the ontology. When a relation 
is hierarchical, we can think of it as having an direction 
or orientation, either as a generalizer, relating a concept 
to concepts above it (e.g., its "superconcepts"), and mov- 
ing "up" the hierarchy, or as a specializer, relating a con- 
cept to concepts below it (its "subconcepts"), and mov- 
ing "'down". For example, directSuperClass is a hierar- 
chical generalizer, while directSubClass is a hierarchical 
specializer. 
The "up" and "down" directions are merely conven- 
tions, of course, in that they relate to the way we tend 
to draw pictures of hierarchies as trees. We start at some 
root concept or concepts and fan out via some hierarchi- 
cal specializer. How do we know that directSubClass 
is the specializer (down direction) and that dircctSuper. 
Class is the generalizer (up direction)? We expect fan- 
out with specializers, that is, specializers tend to relate 
several subconcepts to a single superconcepts. For a pair 
of hierarchical relations R and R ~ (the converse of R), we 
examine the sets of concepts X = {xl3yR(x,y)} and Y = 
{YI3xR(x,Y)} • lflY\] > IXI then R is a specializer, other- 
wise R is a generalizer. 
If R is a hierarchical relation, then R ~ is its converse. 
i.e.. R(CI ,Cz) - R*(C2,Ct ). It follows naturally that ifR 
is a generalizer, then R ~ is a specializer, and vice versa. 
We say that a concept P is a "parent" (with respect to R) 
ofanotherconcept CifR(C, P) for some hierarchical gen- 
eralizer R. Likewise, we say that a concept C is a "'child" 
104 
of P if R(P, C) for some hierarchical specializer R. 
3.4 Relation notation 
By convention, R(X,Y) means that Y bears the R re- 
lation to X, for example, we say subclass(animal, dog) 
to mean that dog is a subclass of animal. We choose 
this convention to reflect the question-asking approach 
where questions are asked of the domain and answers 
are given in the range. For example, in "What are the 
subclasses of animal?" we have the question in terms 
of a relation: subclass(animal, ?x), or functionally, as in 
subclass(animal) =?x. 
3.5 Tangled Hierarchies 
For many ontologies, the taxonomic hierarchy is struc- 
tured as a tree (or as a forest), where any given concept 
can have at most one superconcept. Other ontologies 
can be tangled hierarchies with multiple inheritance. The 
techniques of ontological mediation presented here do al- 
low for mediation with tangled hierarchies. 
4 Algorithms 
In this section, we discuss various algorithms for onto- 
logical mediation. We define word(C,A) to be the word 
that agent A uses to express concept C, and concept(W,A) 
to be the ore-concept representing the concept that W ex- 
presses forA, if one exists, undefined otherwise. Also, let 
knows(A, W) be true if and only if concept(W,A) is de- 
fined, false otherwise. 
We define the following operations: 
• Ontology(A) : return the set of ore-concepts that OM 
currently uses to represent concepts in A's ontology. 
• Agent(C) : returns a representation of the agent that 
C is an ore-concept for. This representation is used 
to direct questions to the agent. 
The following algorithm exists in support of ontologi- 
cal mediation algorithms by asking questions of the com- 
municants as needed to establish OM's knowledge of 
ontological relationships. Evaluate takes a relation R. 
and an ore-concept C. and returns a set of om-concepts 
such that Agent(C) believes R(~C~Age,~(c), ~C~A~,~(c~ ) 
for each om-concept C' in the set. Results are cached so 
that multiple calls to evaluate the same question do not 
result in multiple queries issued. 
Algorithm EvaluaCe(R,C): sec of om-concept 
i. let A~AEen~(C ) 
2. Build a query Q in A's interlingua to 
ask ''What bears relacion R to 
word(C,Agent(C))?'' 
3. Issue Q to Agent(C}. The response co 
the query will be a set of words S. 
4. let Answer~{} 
5. for V6 S do 
6. assert R(C,concep~(V,A)) 
7. lee Answer~Anwswer+concep~(V,A) 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
i 
I 
I 
I 
I 
8. end for 
9. return Answer 
The first two algorithms below each take as arguments 
a word W used by agent S and not known by agent L, arid 
return a set of ore-concepts representing possible onto- 
logical translations. More formally, when X is the ore- 
concept for which word(~X\]oM,S) = W, given any ore- 
concept Y in the set returned by the algorithm, there is 
reason to believe that \[~X\]oM~s = ~Y\]oM\]I,. 
4.1 Recursive over one relation (MedTax) 
The first algorithm explores an ontology along one hierar- 
chical relation, given by parameterR. It is called MedTax 
because an obvious choice for R is either SubClass or 
SuperClass, which will result in exploration of the tax- 
onomic hierarchies of the ontologies. 
Algorithm MedTax (W,S,L,R): set of 
om-concept 
I. Zet 
2. for P E EvaluaTe(R, concept(W,S) do 
3. if knows(i, word(P,S)) then 
4. let Q (-- (\] + concep~(word(P,S), L) 
5. else 
6. let O +- QU MedTax(word(P,S),S,L,R) 
7. end if 
8. end for 
9 
I0. for P E Q do 
Zl. for C E EvaluaTe(Rl, P) do 
12. if not knows(S,word(C,L) then 
13. F+-F+C 
14. end if 
15. end for 
16. end for 
17. return F 
4.2 Multiple relations(MedOnt) 
We can extend this algorithm to handle multiple hierar- 
chical ontological relations, such as ParCWhole. Now, 
each hierarchical ontological relation forms its own hier- 
arch), in which the unknown word is situated in the lis- 
tener's ontology. 
Again, we find the translation of a word used by S but 
unknown to L by starting at the unknown word in the 
speaker's ontology, then crawling up (or down) the hier- 
archies of the speaker to points where ontological trans- 
lations of the word at those points has been made al- 
ready, (or is easy to make immediately because the lis- 
tener knows the word) then crawl back down (or up) the 
listener's hierarchies. 
Algorithm MedOnc (W,S,L): 
set of om-concepc 
l.lec C ~ {} 
105 
2 for each relation 
3.R 6 HierarchicalRelaTions do 
4. let G+-GUMedTax(W,S,L,R) 
5.end for 
6.return G 
Note that MedOnt is a union-tbrming algorithm, 
rather than an intersection-forming one. That is, it re- 
turns ore-concepts that are found by exploring via one or 
more hierarchical relations, rather than restricted to hav- 
ing been found through every relation. It returns a set of 
candidates for ontological translation, and does not cal- 
culate which is the best one. 
4.3 Choosing the best candidate (MedCount) 
This algorithm, unlike the previous algorithms, returns a 
pair: (1) the single ore-concept representing the listener's 
concept which the mediator believes to be equivalent to 
the speaker's concept expressed by an unknown word W, 
and (2) a measure of the mediator's confidence in this on- 
tological translation. 
We introduce the notation A =r B to mean that concept 
A is known by OM to be equivalent to concept B with con- 
fidence measure Y. 
Algorithm: 
1 
2 
3 
4 
5 
6 
7 
8 
9. 
i0. 
Ii. 
12. 
13 
14 
15. 
16. 
MedCouat (W, S, L) : 
om-concept x Real 
if knows(L,W) then 
return (concept(W,L), i) 
end i f 
if concept(W,S) =r X then 
return (X,Y) 
end i f 
let AllCandidates ~ {} 
for R E HierarchicalRelations do 
let CandidaTes +- MedTax(W,S,L,R) 
let CandidaTesByRelaTions +- 
CandidatesByRelations ÷ Candidates 
let AllCandidates +- 
AllCandidaTes U Candidates 
end for 
choose C E AllCandidaTes such that the 
number of sets in CandidatesByRelations 
that contain C is maximized. 
let Y+- the number of sets in 
which C occurs. 
asser~ concepT(W,S)~vC 
return (C,Y) 
5 Experiments with WordNet 
The WordNet (Miller et al., 1993; Miller. 1995) lexical 
ontology organizes concepts called "synsets," which are 
sets of words considered synonymous in a certain con- 
text. Primarily we are interested in some of WordNet's 
hierarchies, including the taxonomic hierarchy: 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
i 
I 
I 
I 
I 
5.1 Variables 
Since WordNet is such a large ontology, we controlled 
two independent binary variables in the experiment, Syn- 
onyms, and AllowAllSenses. These are explained below. 
5.1.1 Synonyms 
One approach to WordNet is to consider each synset as a 
separate mental concept in the mind of the agent who uses 
WordNet as its ontology. When the agent expresses that 
concept, he uses one or more of the words in the synseL 
If so the agent supports synonomy. However, deciding 
which synonym to use is difficult to say the least, and may 
be a reason why many if not most ontologies don't sup- 
port synonomy. 
$.1.2 AHowAESenses 
The agent playing the role of WordNet receives queries 
from the ontological mediator, then in turn makes an ap- 
propriate access to its WordNet component. Each query 
returns a sequence of zero or more groups of output, 
one for each relevant synset the word was in. If AI- 
IowAllSenses was not set, the agent only reported the in- 
formation from the first block, ignoring the others. Con- 
versely, if AllowAilSenses was set, then the agent re- 
ported information from all synsets. 
5.2 Experiment 
We devised two agents, appropriately named "AMERI- 
CAW" and "BRITISH" because they were constructed 
to use the corresponding dialect of the English language. 
Both agents use the WordNet ontology, but are restricted 
from using words strictly from the other's dialect (they 
pretend not to know them}. The dialect restrictions 
come from the Cambridge Encyclopedia of the English 
Language, (Crystal, 1995, p. 309). Naturally we only 
used word pairs where both words exist in WordNet in 
the same synset. We chose 57 word pairs where both 
words were present in WordNet and members of the 
same snyset, for example, ( lift, elevator), 
(patience, solitaire), (holiday, 
vacation), (draughts, checkers). 
We then tested the MedCount algorithm mediating 
from an American speaker to a British listener, and then 
vice versa from a British speaker to an American listener. 
There were four Hierarchical relations used: SubClass, 
Superclass, PartOf, and HasPart. 
When the mediator returns the correct word from the 
word pair, that is called a success. When the mediator re- 
turns some other word, that is called an error, and when 
the mediator can not find any word for an ontological 
translation that is called a miss. 
Table 1 summarizes the performance of the HedCoua1: 
algorithm under combinations of AllowAIISenses (Sen) 
and Synonyms (Syn), showing the numbers of successes, 
errors, misses, success rate (Success~57 x 100%), the av- 
erage certainty over all successes (Cer). and average CPU 
time. when the speaker is "'BRITISH" and the listener is 
"AMERICAN." Table 2 gives the same data for when the 
speaker is "'AMERICAN" and the listener is "BRITISH". 
106 
Sen Syn Suc Err Mis Rat Cer CPU 
Off Off 28 2 27 49% .85 0.97s 
Off On 33 3 21 58% .79 2.40s 
On Off 39 5 13 68% .82 3.03s 
On On 40 7 10 70% .85 6.82s 
Table h British Speaker/American Listener 
Sen Syn Sue Err Mis Rat Cer CPU 
Off Off 19 2 36 33% .85 1.03s 
Off On 35 3 19 61% .78 2.38s 
On Off 4 7 46 7% .81 2.20s 
On On 42 4 ! 1 74% .82 5.22s 
Table 2: American Speaker/British Listener 
6 Analysis 
The first remarkable difference between an American 
speaker vs. a British speaker is that the success rate plum- 
mets when Synonyms is turned off. This reflects a bias 
in WordNet tbr putting the American words first in the 
synsets. If the British word is at the end. it will not be 
reported when Synonyms is on, thus it will not be found. 
and the miss rate increases. 
Another reason for seemingly low success rates even 
with both Synonyms and AllowAllSenses on is due to 
a sort of polysemy inherent in dealing with WordNet. 
While WordNet isn't really polysemous in its underly- 
ing data structure since synsets provide a crisp distinc- 
tion internally, any agent--human or machine--that uses 
the ordinary external interface to WordNet makes queries 
using single words that may have multiple senses (mean- 
ings) in WordNet, and thereby may uncover data on more 
than just one concept. 
\[t stands to reason that an agent would perform on- 
tological mediation more correctly if that agent were 
sophisticated enough to understand that WordNet's re- 
sposes (or the responses of any source that recognizes 
terms as synonymous) may include multiple distinct 
synsets, that each synset contains multiple synonymous 
terms, and that these should be organized as one concept, 
not many. While this sophistication is the subject of on- 
going research, presently the Ontolgical Mediator deals 
with single terms only. and cannot distinguish among on- 
tology data for multiple word senses. Thus errors occur 
when there are too many translation candidates and the 
wrong one is picked. 
7 Discussion and Future Work 
The Ontological Mediator asks appropriate questions of a 
speaker and listener to find words in the listener's ontol- 
ogy it believes mean the same as words in the speaker's. 
We have demonstrated that ontological mediation is a 
promising technique for assisting other agents with com- 
munication. After successfully testing algorithms on 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
1 
I 
I 
I 
I 
I 
I 
mostly identical ontol0gies we are are prepared to pro- 
ceed to mediation tasks involving agents with greater 
contrasting ontologies. We expect that since many of the 
misses and errors are due to WordNet's polysemous na- 
ture, performance will improve when dealing with non- 
polysemous ontoiogies. 
Long response times are due mainly to the size and 
density of the WordNet ontology. The ontological me- 
diator running t, ledCount: must explore a sizable por- 
tion of each agent's ontology to arrive at its conclusion. 
Even though much of this exploration involves common 
words, OM still must establish many equivalences be- 
tween ore-concepts that are expressed by the same word. 
Because WordNet is inherently a polysemous ontology, 
OM must explore several dead ends. For example, in 
discovering (successfully) that "pushcart" is synonymous 
with "stroller," OM must look at senses of the word "car- 
tinge" which then brings in all the parts of a typewriter. 
Work on pruning this sort of search is being considered. 
Meanwhile we plan to apply ontological mediation al- 
gorithms to other ontoiogies including the Unified Med- 
ical Language System (UMLS) (Humphreys and Lind- 
berg, 1993). Mediating between two different ontolo- 
gies, UMLS and WordNet will lead to new ideas for onto- 
logical mediation algorithms. Another experiment could 
involve human subjects, for example, those searching a 
database and are looking for just the fight keyword to find 
some target. We expect these experiments to lead to more 
robust ontological mediation algorithms. 
8 Acknowledgements 
This research was supported in part by Rome Laboratory 
and the Defense Advanced Research Projects Agency un- 
der USAF contract F30602-93-C-0177. 

References 
I. A. Bateman, R. T. Kasper, J. D. Moore, and R. A. 
Whitney. 1990. A general organization of knowledge 
for natural language processing: The penman upper 
model. Technical report, USC/Information Sciences 
Institute. 
David Crystal. 1995. The Cambridge Enc3'clopedia of 
the English Language. Cambridge University Press. 
Michael R. Genesereth. 1995. Knowledge 
Interchange Formal Available at URL: 
http://logic.stanford.edu/kif.htmi, March. 
B. L. Humphreys and D. A. B. Lindberg. 1993. The umls 
project: Making the conceptual connection between 
users and the information they need. Bulletin of the 
Medical Library Association, 81 (2): 170. 
Doug Lenat and R.V. Guha. 1990. Building Large 
Knowlede-Based Systems: Representation and Infer- 
ence in the CYC Project. Addison-Wesley. 
Doug Lenat. 1995. Cyc: A large-scale investment 
in knowledge infrastructure. Communications of the 
ACM. 38(11):33-38. Nov. 
Susan McRoy, editor. 1996. AAAI-96 Workshop on De- 
tecting, Preventing, and Repairing Human.Machine 
Miscommunication. 
George A. Miller, Richard Beckwith, Chris- 
tiane Fellbaum. Derek Gross, and Katherine 
Miller. 1993. Introduction to WordNet: An 
On-line Lexical Database. Available at URL: 
http://clarity.princeton.edu:80/" wn/. 
George A. Miller. 1995. WordNet: A Lexical Database 
for English. Communications of A CM, 38(11):39-41, 
November. 
