How to simulate noisy respondent entry of short textual responses? I have a list of company name as following:
The Alpine Group, Inc.
Amazon.com, Inc.
AMC Entertainment Inc.
American Power Conversion Corporation
Amerada Hess Corporation
AMERCO
Ameren Corporation

I need to add noise to this list to simulate perhaps simple input mistake or imcomplete name, such as 
Alpine --> Apline
AMERCO --> AMERCU (O & U is next to each other in keyboard)
American Power Conversion Corporation --> American Power Conversion

Is there any R package or some algorithm can do this add noise job?
Thanks.
 A: You could turn one of the edit distances into a control for the noise, and simulate random edits (additions, deletions, transpositions).
Jaro-Winkler (JW) and the Levenshtein Distance (LD) are both popular "metrics". Technically JW is not a mathematical metric but a similarity heuristic, but it seems to work pretty well. LD is a little less useful in my experience, but definitely more tractable.
After choosing some measure of string distance, decide on an acceptable noise distribution, then start adding removals, transpositions, etc. Check each new string with the metric, and if it reaches a (randomly) chosen noise level, you've got a new data point.
Unfortunately there's not a great way of defining noise without the similarity heuristics (yet). It's also hard to say how "noisy" a set is, because choosing a certain amount of error or distribution of errors doesn't translate too well into human terms here. For longer strings many more errors are possible so a distance of 1 edit may make the string very "far" away for humans, or for different selection schema.
Goodluck.
