My guess is that the data you provide does not have enough information to predict a b c d$a, b, c, d$ or e$e$. Therefore, because b$b$ is overrepresentedover-represented in the dataset, it will always predict b$b$, because thats the safest bet. If you didn't know anything about the input or you if you wouldn't be able to extract any useful information from it, you would probably also always predict 'b'$b$, just because it's the most likely when picking a random sample.
To fix this, you either need to get better data, which holds more information, or balance your dataset (if your task allows that), so that all labels appear equally often.