You did not mention what version of JMP you are working on. If JMP12 or higher there is a a column utility called Recode.
The script below creates a dummy table and calls Recode for coulmn User1.
ex= {"request tests", "request a test", "request testing", "test requests", "test request",
"testing requests"};
dt= New Table("Survey", add rows(50), NewColumn("User1", character,
<< set each value(ex[Random integer(1,6)]) ) );
dt << Go To (:User1);
dt << Recode;
The attached screeshot shows the table and the interactive interface. The red box around Formula is a menu option to create a New Column (of values), a Formula (column) or In Place (replace values). I chose Formula and named the column Recode User1. Next, select all options and right click, then a pop-up menu of options appears. The options are to use one of the numerous phrases, or use a new value. Make your selection and press the Recode button.
Note: If there are multiple goups of answers, you can select the groups by different options, specifying the common term. And when done press recode.
The formula created by this action is
Match( :User1,
"request a test", "request tests",
"request testing", "request tests",
"test request", "request tests",
"test requests", "request tests",
"testing requests", "request tests",
:User1
)
I would have used a the following formula
t0 = Trim( Lowercase( :User1 ) );
If( Contains( t0, "request" ) & Contains( t0, "test" ),
"request test",
:User1
);
Neither of these functions handle typos and misspellings. JMP has a function called shortest edit distance and I have a script for computing the Levenshtein Distance and there are other algorithms to "score" the level matching (or non-matching) or words and phrases.
However, of you are working with your data interactively, Recode is very nice to use.
Look up Recode Data in the online book Using JMP. (Main Menu > Help > Books > Using JMP).