I re-implemented a semi-supervised recursive autoencoder in java. I think it is a pretty nice technique. Check it out! Or fork it
Java Matlab Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Java Recursive Autoencoder

jrae is a re-implemention of semi-supervised recursive autoencoder in java. This package also contains code to demonstrate its usage.

More details are available at http://www.socher.org/index.php/Main/Semi-SupervisedRecursiveAutoencodersForPredictingSentimentDistributions

Also read http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/ for a neat explanation on recursive deep representations.

In short, semi-supervised recursive autoencoder is a feature learning algorithm to learn an encoding for text data and that can then be used for performing classification. The jrae package is pretty comprehensive - it includes code for learning the features as well as for performing basic classification, and is parallelized to run on a multi-core machine.

The package includes a demo of movie review classification on which the algorithm attains state-of-art results. Please use rc3 for your experiments https://github.com/sancha/jrae/releases/tag/rc3, and use the master branch only for contributions. The master branch includes some unsupported code.



The RAE package requires the jblas package for supporting the linear algebra operations. These requirements are included in the lib directory.

  • jblas
  • junit4
  • log4j
  • jmatio

Including the jblas jar file may not be sufficient. JBLAS requires either LAPACK or ATLAS. Check out https://github.com/mikiobraun/jblas if you run into trouble. If you are running ubuntu, do sudo apt-get install libgfortran3.


If you encounter any bugs, please report it on github.