I'm working on the TED Dataset which has the transcript of each TED Talk. I have around 1000 such TED talk transcripts and I need to recommend 3 TED Talks based on the Transcript of these talks. As of now, I am converting the transcript to a bag of words model and then running TFIDF, LDA, LSI and such algorithms for dimensionality reduction based on semantic modeling, topic modeling etc.

I'm curious to know if this problem could be modeled to a neural network solution. Is there anyway I could have a neural network on a Bag of words model which ultimately presents 3 TED talk recommendations?


1 Answer 1


I find it hard to deduce what you are after, but I am assuming that the task at hand is to recommend up to three TED talks based on a given transcript.

If so, and given your bag-of-word recommendation you would essentially want to find up to three networks which are closest in feature representation as the input transcript.

The most simple way to solve this using a neural network would be to train a (noisy) auto encoder on the transcripts that you have available. I would either choose for a noisy one, or reduce the dimension of the hidden state, such that the hidden state representation of the auto-encoder is forced to "learn" about the transcripts. In other words, it can not simply produce an identity transform.

Then after having successfully trained such an auto-encoder I would put each transcript through this auto-encoder and then compare the hidden state representations of these transcripts to the hidden state representation of the input transcripts. This can be done by for example computing the mean squared error over the hidden state representation, after which you can select the 3 transcripts which match best.

This approach is likely to work better then to directly compute the MSE over the feature representations of each transcript and compare them, as by forcing the auto-encoder to "compress" the feature representation (i.e. via noise or lower-dimensional hidden state) you will ensure that the hidden state representation captures more "high-level" characteristics of each transcripts. This higher level representations are likely (when compared) to yield better recommendations.

  • $\begingroup$ You've identified the problem statement correctly. Would you know if I could implement this in Python? Is there any similar work done or libraries which I can use? $\endgroup$ Commented Nov 7, 2015 at 14:29
  • $\begingroup$ I would even recommend you to implement it in Python. Python offers several excellent neural networks libraries such as Cafe, Theano and Brainstorm. Everything you need should be ready available in there. $\endgroup$
    – Sjoerd
    Commented Nov 7, 2015 at 14:36
  • $\begingroup$ Any experience with Matlab? Any insights whether it can run on an online server? $\endgroup$
    – WJA
    Commented Dec 12, 2015 at 0:47

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.