How to give a Chatbot a Personality?


I have a little hobby project going on right now.
I want to try to give a chatbot a personality.

With personality I mean:

  1. A specific name
  2. Things that it likes
  3. Things that it dislikes
  4. Certain traits e.g. cocky or humorous
  5. Should have a good general knowledge base

I’m relatively new to the field of NLP,
but I will most likely use some kind of Transformer like DialoGPT.

How would you tackle this problem? Any Ideas are very welcome!