Tokenization, in detail
The input is normalized by replacing any non-alphanumeric character with a space, then inserting a space at every transition from a lowercase letter (or digit) to an uppercase letter, and at every transition between consecutive uppercase letters that's followed by a lowercase letter. The resulting tokens are lower-cased and joined per target convention.