So I have a large collection of blog posts containing title, content, category, tags and geo-location fields and I'm looking to achieve three things:Assign a category (or multiple categories) to all the posts and any new ones. I have a strict vocabulary of categories.Add new tags to the posts that might be relevant to the post.Mark the post if it contains information about a place. For example: Lorem ipsum dolor sit amet San Francisco, consectetur adipiscing elit.I've been looking into different machine learning algorithms, most recently decision trees, but I don't feel that is the best algorithm to work out the problems above (or that I haven't understood them enough).Many of these posts already contain categories, tags and geo-location data. Some do not contain any information and some have only a few details.What would be the best machine learning algorithm to look into to solve each of the three areas?
Machine learning algorithm to classify blog posts
machine learning;data mining;classification;algorithms
Question 1: Category predictionTo predict the category of a new blog post, you could do the following:Build a MLP (multilayer Perceptron, a very simple neural network). Each category gets an output node, each tag is a binary input node. However, this will only work if the number of tags is very little. As soon as you add new tags, you will have to retrain the network.Build a MLP with important words as features.If you have internal links, you might want to have a look at On Node Classification in Dynamic Content-based Networks. In case you're German, you might also like ber die Klassifizierung von Knoten in dynamischen Netzwerken mit InhaltYou could take all words you currently have, see those as a vector space. Fix that vocabulary (and probably remove some meaningless words like with, a, an - this is commonly called a stopword). For each text, you count the different words you have in your vocabulary. A new blog post is point in this space. Use $k$ nearest neighbor for classification.Use combinations of different predictiors by letting each predictor give a vote for a classification.See alsoYiming Yang, Jan O. Pedersen: A Comparative Study on Feature Selection in Text Categorization, 1997.Scikit-learn: Working With Text DataQuestion 2: Tagging textsThis can be treated the same way like question 1.Question 3: Finding locationsDownload a database of countries / cities (e.g. maxmind) and just search for a match.