Error detection and correction: dealing with homophone confusion