WordNet Thoughts

•	WordNet is not (just) a lexicon
″	"works" vs "work" Morphy bug
	″	add test:
	″	for IndexWord iw in db(pos):
	•	assert iw.getLemma() noCase in db.getStems(iw.getLemma(), iw.getPOS())
	•	check for any remaining legitimate "losing variants" (add warning)
″	incorporate getindex() algorithm parts somewhere
	•	drop bad behaviors (e.g. "be an" → "bean", "I ran" → "Iran")
	″	why doesn't web version of WordNet exhibit these issues ?
	•	doesn't seem to use getindex() algorithms at all
	″	inaccuracies of getindex() can easily be studied deterministically
	″	for IndexWord iw in db(pos):
	″	for variant in getindex(iw.getLemma()):
	″	if db.lookup(variant, iw.getPOS()) is not null and is not iw
	•	collision detected
	″	create more discerning version of getindex()
	•	"U.S." = "U.S" = "U. S."
	•	"Christmastime" = "Christmas time"
″	should Morphy return exception list variants ?
	•	"see" → {"see", "saw"}
″	lcc.wordnet.WordNetWrapper.getWord() stemming issue
	″	this causes Word to be even less unique blending stems and Synsets
	•	quantifying this / finding examples
	•	repeatedly stem the lemma of each IndexWord and seeing how many variants result in distinct IndexWords (obviously only those with multiple stems could produce this behavior)
	″	how can this be resolved ?
	•	warn and live with it ? (yuck)
	″	API change
	″	make Word obey the contract of IndexWord
	•	i.e. getWord() should not stem
	•	make WordNetWrapper.getWords() which does stem but produces distinct Words
•	note JWordNetWordSense.getLemma() has "true case" feature in docs