Live data from Hacker News

Latent Dirichlet Allocation on Tweets

wellecks.wordpress.com

1–10 of 14 posts

Re: Latent Dirichlet Allocation on Tweets

#3
post #2

Shameless plug: if you're interested in MALLET you might also be interested in FACTORIE: http://factorie.cs.umass.edu/

Is development on FACTORIE ongoing? I played with it a bit a long while back and loved the "imperative-declarative[1]" idea you all were pushing for model construction toolkits.

[1] edit: Because I'm not sure if I just made that phrase up or if it came from one of your papers, the idea that ML libraries that take declarative model descriptions are great, but what's even better is if we also have an imperative API that can dynamically generate those declarative specs for us, even based on train-time inputs, so we can essentially "program" the structure of a model but still benefit from keeping everything generalized and declarative at the base.

Re: Latent Dirichlet Allocation on Tweets

#4
post #3
post #2

Shameless plug: if you're interested in MALLET you might also be interested in FACTORIE: http://factorie.cs.umass.edu/

Is development on FACTORIE ongoing? I played with it a bit a long while back and loved the "imperative-declarative[1]" idea you all were pushing for model construction toolkits. [1] edit: Because I'm not sure if I just made that phrase up or if it came from one of your papers, the idea that ML libraries that take declarative model descriptions are great, but what's even better is if we also have an imperative API tha…

Development is very much ongoing and that's really interesting/nice-to-hear feedback :)

Re: Latent Dirichlet Allocation on Tweets

#6
It's a fun exercise for a single tweet feed, but it is unfortunately not very useful when applied to larger scale learning, since you start hitting the model's limitations of a fixed number of topics and, its potentially long runtime, and the fact that it's not an online method (although there are online variants of LDA).

Re: Latent Dirichlet Allocation on Tweets

#7
post #2

Shameless plug: if you're interested in MALLET you might also be interested in FACTORIE: http://factorie.cs.umass.edu/

FACTORIE has some nice features, but it's not as robust as Mallet. Factorie is a ML incubator more than a robust library, it's in Scala, another inculator platform which also doesn't help. Factorie has some interesting features for sure, but the quality of programming is just not there. It's developed and maintained mainly by students which makes absolute sense given that it appears that Factorie is more for tutorials.

Re: Latent Dirichlet Allocation on Tweets

#8

It's a fun exercise for a single tweet feed, but it is unfortunately not very useful when applied to larger scale learning, since you start hitting the model's limitations of a fixed number of topics and, its potentially long runtime, and the fact that it's not an online method (although there are online variants of LDA).

Would you like to point us to some progress on how to overcome these limitations with LDA?

Re: Latent Dirichlet Allocation on Tweets

#9
post #8

It's a fun exercise for a single tweet feed, but it is unfortunately not very useful when applied to larger scale learning, since you start hitting the model's limitations of a fixed number of topics and, its potentially long runtime, and the fact that it's not an online method (although there are online variants of LDA).

Would you like to point us to some progress on how to overcome these limitations with LDA?

The gensim [0] package has a nice implementation of online LDA that can handle massive streaming datasets. If you want to avoid specifying the number of topics, you can use HDP-LDA. David Blei (inventor of LDA) has a reference implementation on his website [1], along with many other variants of LDA.

[0] http://radimrehurek.com/gensim/

[1] http://www.cs.princeton.edu/~blei/topicmodeling.html

Re: Latent Dirichlet Allocation on Tweets

#10
Very cool!

I've read that LDA doesn't work well on short documents. Your approach of concatenating all tweets for a user appears to work quite well. One other technique I've seen is to concatenate multiple tweets together that contain the same hashtag.

One of our intern students at 99designs did some work on applying LDA to classify graphic design tasks:

http://99designs.com.au/tech-blog/blog/2014/01/22/Swiftly-Ma...

.. you might find it interesting. :)

Post reply on HN