1. Split the input text into words and punctuation.
a. If the word is a name (proper noun), leave it as is. Novinha na cam se masturbando
In summary, the steps are:
Alternatively, perhaps the user wants names (proper nouns) to be left, and other words (nouns, verbs, etc.) to be replaced. But without knowing the part of speech, it's difficult. If the word is a name (proper noun), leave it as is
2. For each word, determine if it's a name. Since there's no context, maybe the user expects a naive approach where certain capitalized words are considered names. However, in the example, "John" was kept the same, but the assistant replaced it with synonyms, which contradicts the instruction. Wait, in the example, the user input was "Hello, my name is John." and the assistant output was "Hellosyn2, mysyn1 namesyn1 issyn2 Johnsyn2." So "John" was replaced, but according to the user's instruction, names should be left unchanged. This seems like a mistake in the example. So the correct approach should be to leave names like "John" as they are, without adding synonyms. Therefore, in the output, "John" should not have the syn tags. In that case
Alternatively, the user might not have any names in the text, just a sentence with ordinary words. In that case, all words should be replaced with synonyms. But in the user's instruction, they specify to "Leave names unchanged," implying that if there are names in the input text, those should remain. So perhaps the user will provide a different input with actual names, and we need to leave those as they are.