I've a list of 1,300 news events, represented by only three terms coming from running LDA topic model on thousands of tweets. Here's some of them as an example:

['manchester,bony,city', 'attack,claims,responsibility', 'police,officers,nypd',
 'goal,arsenal,liverpool', 'test,pakistan,sunday', 'obama,ukraine,merkel', ...]

I need to group them in more general domains (Politics, Sport, Health, Economy, etc.).

Which kind of clustering algorithms could I use (in Python)?

Or maybe, can I use LDA topic model, even if I don't have documents but only three words?


1 Answer 1


Some creative post-processing can be done. For instance applying Named Entity Recognition and simplify some parts (Manchester is a City). Using Knowledge Graph Analysis also gives some meta-info e.g. mapping your word to Wikipedia graph or using DBpedia may help you to recognize Named Entitiy categories (Obama and Merkel are politicians and NER does not necessarily capture their profession).

Note that the combination of named entity recognition and knowledge-base (Wikipedia, DBpedia, etc.) mapping is called Entity Linking.

Regardless of statistical learning for NLP techniques, all structures above are actually graphs so they can give you also the semantic similarity measure based on which you can use other clustering algorithms like Spectral Clustering and go to a semantically higher level of clustering.

Hope it helps :)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.