Hacker News new | ask | show | jobs
by izyda 4291 days ago
Nice post but when you say you used deep learning, what exactly do you mean? You describe your method for picking your features and then you used deep learning to find features from that presumably should be the most informative for classifying.

It would be helpful to know what specific deep learning algorithm (convolutional, deep belief?). Or at the very least, what / who's implementation of neural nets did you use in your model and how it compares performance wise to the more conventional tools in NLP (when you give them the same original features to start with).

1 comments

Great question. To be honest, I used deep learning algorithms as a metaphor into Neo4j's property graph data model. Graph databases like Neo4j store data as a graph, which is a similar data structure to a neural network. I store weights in the relationships based on the frequency that a feature has been matched from the low-level representations near the bottom of the tree, to higher-level representations.

So there are two parts, there is building a natural language parsing model and then there is a Vector Space Model classifier that uses TF-IDF weights as vectors to calculate the cosine similarity between inputs.

I explain more about the high-level idea here: http://bit.ly/1lMjSm5

Let it be known that I've arrived at most of this stuff by means of intuition and graph data modeling in Neo4j. I'm a hobbyist when it comes to the machine learning stuff. My goal is to show how amazing a combined application/persistency solution, like a Neo4j extension, is for solving these kind of machine learning problems.

People smarter than me should take a look at it to solve similar problems.