Git Product home page Git Product logo

n3lp's Introduction

N3LP

C++ implementation for Neural Network-based NLP, such as LSTM machine translation!
This project ONLY requires a template library for linear algebra, Eigen (http://eigen.tuxfamily.org/index.php?title=Main_Page)
Please note that this project started just for fun as my hobby, but sometimes it can be used to develop state-of-the-art models!

Long Short-Term Memory (LSTM)

The LSTM implemented in this project employs a variant of the major LSTM's gate computation where previous cell states are used to compute input/output gates. See [1, 2] for the simplified version of the LSTM implemented here.

[1] http://arxiv.org/abs/1410.4615
[2] http://nlp.stanford.edu/pubs/tai-socher-manning-acl2015.pdf

BlackOut sampling

BlackOut [3, 4] is an approximation method to softmax classification learning with the large number of classes.

[3] http://arxiv.org/abs/1511.06909
[4] https://github.com/IntelLabs/rnnlm

Layer Normalization

Layer Normalization [5] is a normalization method for deep neural networks and it can be easily applied to recurrent neural networks, such as LSTMs.

[5] http://arxiv.org/abs/1607.06450

USAGE

  1. select your appropriate compiler (now, Linux or Mac OSX)
    CXX=g++ # for linux
    CXX=clang-omp++ # for Mac OSX Yosemite (suggested by xuanchien@github)

  2. modify the line in Makefile to use Eigen
    EIGEN_LOCATION=$$HOME/local/eigen_new #Change this line to use Eigen

  3. run the command "make"

  4. ./run the command "n3lp", and then the seq2seq model training starts (currently)

Projects using N3LP

Feel free to tell me ([email protected]) if you are using N3LP or have any questions!

Contributors

Licence

MIT licence

n3lp's People

Contributors

akikoe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.