http://qs1969.pair.com?node_id=11151113

Bod has asked for the wisdom of the Perl Monks concerning the following question:

Do you know of an existing module or a method of searching for similar words and phrases, especially homophones (words that are spelt differently but pronounced the same)?

I am planning a tool to analyse blocks of text, for example the 'About' page of a website, and work out the ratio of words like "I", "we", "our" to words like "you" and "your". However, I want the user to be able to enter their company's name and have that included with the first person terms. But variations of the name may exist in the text.
For example: "Google" could be "Google", "Google Inc", "Google LLC" or "Alphabet" (the last one is not really catchable programmatically)

Plus, typos exist especially around homophones and I want to be able to catch those in a similar way to search engines say "did you mean"
For example: "Perl is grate for programmes" should be suggested as "Perl is great for programs".

For the current use case, only the first example needs to be solved but I'd be interested how you would approach both. Does a long list of homophones need to be referenced? Or perhaps there is already a module on CPAN that deals with this. I have searched but nothing obvious came up.