If a text query with a numerical result happens to have exclamation mark '!' at the end, Wolfram Alpha seems to assume you want it's factorial, even though using exclamation marks is pretty normal for humans, regardless of whether the answer is numerical or not.
In my case I found that "how many legs does a ladybug have!" gives an answer of 720, which is obviously wrong, without even indicating it did the factorial.
In my case, it was obvious it was wrong, but if the answer had been say three, 3! = 6 could be a fairly plausible answer depending on the query
Exclamation marks should NOT be interpreted as factorial unless the query is explicitly mathematical.
It's probably best to remove them unless they're after a numeral, but I'll leave the exact implementation up to you.