How to build News Tagging model(s)
You can get the tags for the headline or news content using NLP. Tags are generally noun chunks, entities or the action mentioned in the headline. You need to perform standard steps of text processing i.e remove stop words, tokenize sentence into words, do stemming or lemmatization then parse it to extract information. Most of these are already implemented. Look into spaCy or use NLTK. 

You can also look into SVO (Subject, verb, object model) to assign tags. SpaCy provides an easy way to do this, do check it out.