
                     Word Sense Disambiguation
                     -------------------------
                     Linas Vepstas - April 2008

This directory implements a simple word-sense disambiguation algorithm.
The algorithm compares pairs of sentences containing the same word, 
and then returns a liklihood that the word is used in the same way
in both sentences.  The algo does this by comparing the part-of-speech,
and the phrase structure in each sentence: strong matches are declared
as word-sense matches.  This approach is both simple (does not require 
a large corpus, or training), and error-prone.  It is sufficient for
telling apart word senses in simple sentences, but fails when 
common-sense or cognition is required.

Examples where this algorithm works well:
-----------------------------------------
The word "fishing" in:

	"I was fishing for an answer.", "We went on a fishing expedition."

These are two different parts of speech (a gerund, a noun modifier)
and thus are not the same sense of the word "fishing".

	"I was fishing for an answer.", "We went fishing for trout."

The part of speech matches (both are gerunds), and the sentence
structure is identical.  The algorithm declares a match.

	"We went on a fishing expedition.", "I got seasick on the fishing vessel."

The part of speech matches (both are noun modifiers), and the phrase
structure of the phrase containing "fishing" is identical.  The
algorithm declares a match.


Examples where this algorithm fails:
------------------------------------
The word "bark" in:

	"The loud bark woke us up.", "The rough tree bark cut my finger."

The part-of-speech matches, and the sentence structure matches.
The algorithm declares a match, even though clearly two different
senses are involved. 

	"The loud bark woke us up.", "I heard a bark in the distance."

The sentence structure is too dis-similar for the algorithm to detect
that these two have the same sense.


