Hello Luca,
A1: yes, it's the same
A2: yes again
Characters encoder: http://reference.wolfram.com/language/ref/netencoder/Characters.html
Words (tokens) encoder: http://reference.wolfram.com/language/ref/netencoder/Tokens.html
If you need an additional text preprocessing (delete stopwords, reduce words to their stems etc), you can find useful functions here: http://reference.wolfram.com/language/guide/ProcessingTextualData.html
And don't forget about EmbeddingLayer and UnitVectorLayer. One of them should be the first layer in your network when you work with text (choice of the layer depends of your architecture). Examples in attachment.
A3: https://mathematica.stackexchange.com/questions/140294/generative-adversarial-network/
Alexey
Attachments: