# Automatic question categorization when we know important words in each category

I am currently working on a question categorization problem where I automatically want to assign a category to the question. The question set I have is unlabelled. The categories for the problem are well defined e.g. Business, Technology, Sports etc. I also have a specific set of words which are important for each of the category (which have been taken from the dataset) and which define the respective categories. Using these information, which learning algorithm can I use wherein I can specify these categories and the important words for that category in context of the unlabelled data that I have?

Repsonses are highly valued. Thanks in advance.

• Posting it as an answer since I don't have enough reputation to comment. Have you tried using LDA (Latent Dirichlet Allocation) – Santhosh Kumar M Nov 13 '17 at 9:04
• To get started, can't you label some of them yourself (say 100; or 10/category); and then apply a supervised learning method such as Multinomial Naive Bayes on your dataset. – knb Nov 13 '17 at 14:06
• I have around 700 odd questions. Wouldn't labeling just 100 be quite less in terms of representation of the overall data-set and inadequate for the learning algorithm? – shripati007 Nov 14 '17 at 5:01
• Just try it. If it doesn't work, try something else. – knb Nov 14 '17 at 15:19

You said you have a bunch of keywords for each category extracted from the data. It is better to explain how did you get them as your data does not contain labels i.e. how do you know the word $w_i$ is a representative of category business?
You might have assigned them based on semantics which is not bad but does not give you a level of confidence that they are really the representatives of category. The whole point about clustering is to find this representative words via the algorithm. An example is the famous concept of Stop Words. Everyone thinks that words such as $The$, $is$, $an$ and the rest of common lists are stop words but empirically you always get better classification result including them! That's because in NLP the only reference to indicate a stop word is the data itself. So be careful about it.