Is she young? We have a 6 year old who has A.D.D lol. If she is young, it's quite normal.
While you ride her, you can play a game with her called "tit-for-tat." Walk her on a loose rein and DON'T try to guide her anywhere. Have a focus point straight ahead, and say she turns to the left. You will want to GENTLY and POLITELY turn her 90 degrees the other direction, just like a mirror image of what she just did. Basically you are saying, "Your idea, my idea." In this way you don't make her feel wrong and you don't get into a fight with her. Be pateint and consistant, and soon she will start asking questions. She will stay on course because she will tune into your intent. When you have this good at the walk, try the trot. Once the trot is good, then try the canter. You'll want to do this in an arena first and then as you progress you can go out into a bigger area.