I think I should rename some of these arguments as they don't do what I suspect you think they do.

keep_symbolic just means don't replace symbols with alphanumeric values but do replace them with another symbol. The same is true for keep_numeric where the numbers will be replaced but with other numbers rather than completely random. What I think you want is exclude_characters='.'