3
$\begingroup$

I have a collection of documents and want to detect a hierarchy of named topics from them, what are the pros/cons for using hierarchical latent Dirichlet allocation (h-LDA) over hierarchical agglomerative clustering (HAC)?

$\endgroup$
2
$\begingroup$

The most important difference to your task, I think, is that h-LDA is the only method that creates a hierarchy of topics; hierarchal agglomerative clustering (HAC) returns a hierarchy of documents (see here). Sure, one reasons that HAC-grouped documents share topics of varying specificity, and that one can discern topics from groups. But HAC doesn't formally model them.

The distributions over words in h-LDA, on the other hand, have a straight-forward interpretation as topics of greater and greater specificity, as shown in the h-LDA paper example (below).

HAC has no probabilistic interpretation; it relies solely on a similarity function. Hierarchal LDA does, and can be used to return the topic distribution of a new document.

HAC is a deterministic algorithm, and will return the same hierarchy given the same input; h-LDA can optimize to a local optima, meaning that its results can vary from run to run.

enter image description here

$\endgroup$
0
$\begingroup$

As is rightly stated by previous posters, agglomerative clustering groups documents, whereas LDA groups the vocabulary into groups called "topics" (usually represented by multinomial word probability distributions), it also outputs the mapping between these topics and documents that mention them.

Note, however, that there is a recent paper (April 2019) that shows that agglomerative clustering can also be used to do topic modeling (i.e., cluster vocabularies and compute aforementioned mapping: 1 [https://arxiv.org/abs/1904.06483?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+arxiv%2FQSXk+%28ExcitingAds%21+cs+updates+on+arXiv.org%29] 2 [https://link.springer.com/chapter/10.1007%2F978-3-030-15712-8_38]3

An open source implementation of this method, called TopicGrouper, is available in Java on GitHub.

(Disclosure: I'm a co-author)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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