How can I correctly prefix a word with “a” and “an”?
I have a .NET application where, given a noun, I want it to correctly prefix that word with "a" or "an". How would I do that? Before you think the answer is to simply check if the first letter is a vowel, consider phrases like: an honest mistake a used car Download Wikipedia Unzip it and write a quick filter program that spits out only article text (the download is generally in XML format, along with non-article metadata too). Find all instances of a(n).... and make an index on the following word and all of its prefixes (you can use a simple suffixtrie for this). This should be case sensitive,