Categorize articles under multi-level hierarchy

I am trying to figure out what would be a good technique to categorize the articles under multi-level hierarchy.
I have 3 different categories Politics, Sports, Entertainment. Each of these has 2 levels of categories under each. i.e. Sports → Indoor → Table Tennis etc.
I have test data which can map each article to multiple categories. So an article can be Sports → Outdoor → Soccer and Politics → Regional → Health etc.
I am unsure whether to use decision trees, random forests or hierarchical attention networks to solve this.