Deep Learning for Natural Language Processing

35 students in 19 teams

This course is taken almost verbatim from CS 224N Deep Learning for Natural Language Processing – Richard Socher’s course at Stanford. We are following their course’s formulation and selection of papers, with the permission of Socher. This is a section of the CS 6101 Exploration of Computer Science Research at NUS. CS 6101 is a 4 modular credit pass/fail module for new incoming graduate programme students to obtain background in an area with an instructor’s support. It is designed as a “lab rotation” to familiarize students with the methods and ways of research in a particular research area. Our section will be conducted as a group seminar, with class participants nominating themselves and presenting the materials and leading the discussion. It is not a lecture-oriented course and not as in-depth as Socher’s original course at Stanford, and hence is not a replacement, but rather a class to spur local interest in Deep Learning for NLP.

Project List



Abstractive Summarisation of Long Academic Papers

In this project, we use two publicly available datasets to train abstractive summarisation models for long academic papers which are usually 2000 to 3000 words long. We will generate a summary of around 250 words for the papers. We also evaluate different models' performance.



CNN for Japanese Text Classification



Event Driven Stock Prediction from News


Foreign Exchange Forecasting

This project explored forecasting foreign currency exchange price using both historical price data and market news of the trading pair. We first built a market sentiment classifier to obtain daily market sentiment score from market news of the trading pair. To reduce the amount of labelled training data required, we used transfer learning technique by first training a language model using Wikipedia data, then fine-tuning the language model using market news, and finally using the language model as the basis to train the market sentiment classifier. We then combined the market sentiment score and historical price data and fed them in an end-to-end encoder-decoder recurrent neural network (RNN) to forecast foreign exchange trends.


Gaining Insight from News Articles for Stock Prediction

Analysing Twitter Feed Sentiment to predict stock market movement



Generating Fine Art Descriptions from Paintings


Generative Stock Question Answering


MC NLP Rap Lyrics Generator

Train a rap lyrics generation language model using Eminem's lyrics dataset and LSTM.



Open Source Software Vulnerability Identification With Machine Learning

Open source software are widely used right now but security is a big concern. We use both traditional algorithms and deep learning to identify vulnerabilities from different kinds of open source project repositories.



Legal Document Classifier based on Legal Topics

This project will train and fine-tune a machine text classifier on legal decisions based on the Universal Language Model Fine-tuning (ULMFiT) model described in the paper "Universal Language Model Fine-tuning for Text Classification" by Howard and Ruder (2018).


Reading Comprehension with Lecture Notes

This project explores the application of open-domain Question Answering (QA) in learning materials with a contribution of a lecture note dataset, called LNQA, annotated with question-answer pairs. Our approach is to improve the overall pipeline of lecture note reading comprehension involving context retrieving (finding the relevant slides) and text reading (identifying the correct information). Experiments show that initializing our text reader model with a pre-trained version on SQuAD significantly improve its performance on much limited lecture note dataset, comparing with both training from scratch and inferring from the pre-trained model. Narrowing down the search space by specifying departments of questions also helps improve document retriever results, thus we examine state-of-the-art sentence classifiers in predicting departments of questions.



Source Code Comment Generation

Learn to generate comment for a source code in Java by training a NMT model over large amount of open source software.



Reading Wikipedia to Answer Open-Domain Questions

Train a system that is able to answer general knowledge questions


Beyond Affine Neurons

Recurrent Neural Networks (RNNs) have emerged as one of the most successful framework for time series prediction and natural language processing. However, the fundamental building block of RNNs, the perceptron [1], has remained largely unchanged since its inception: a nonlinearity applied to an affine function. An affine function cannot easily capture the complex behavior of functions of degree 2 and higher. The sum of products signal propagation for the hidden state and current input incorrectly assumes that these two variables are independent and uncoupled. RNNs are increasingly forced to use very large number of neurons in complex architectures to achieve good results. In this project, inspired by Ref. [2], we propose to add simple and efficient degree 2 behavior to Recurrent Neural Network (RNN) neuron cells to improve the expressive power of each individual neuron. We analyze the benefits of our approach with respect to common language prediction tasks. The clear advantage of our approach is fewer neurons and therefore reduced computational complexity and cost. [1] Rosenblatt, Frank. The perceptron, a perceiving and recognizing automaton Project Para. Cornell Aeronautical Laboratory, 1957. [2] Mirco Milletari, Thiparat Chotibut and Paolo E. Trevisanutto. Expectation propagation: a probabilistic view of Deep Feed Forward Networks, arXiv:1805.08786, (2018)


CNN-RNN for Image Annotation with Label Correlations

Convolutional Neural Networks (CNNs) have shown great success in image recognition where one image belongs to only one category (label), whereas in multi-label prediction, their performances are suboptimal mainly for their neglection of the label correlations. Recurrent Neural Networks (RNNs) are superior in capturing label relationships, such as label dependency and semantic redundancy. Hence, in this project we implement a CNN-RNN framework for multi-label image annotation by exploiting CNN’s capability for image-to-label recognition and RNN’s complement in label-to-label inference. We experiment on the popular benchmark IAPRTC12 to show that CNN-RNN can help improve the performance on the CNN baseline.



Video Summaries from TV



Voice Transfer


Understanding Neural Translation Models' Translations

The recent success of Neural Machine Translators (NMT), have shown the power of using neural approaches to the problem of machine translation. Nonetheless, one of the biggest problems of NMT and deep learning models in general is their lack of interpretability. In light of this, this projects aims to "unbox" the black box of widely use NMT models using the framework proposed by M Sundararajan et al. 2017.



InstaCapt - generating human language style captions from pictures


Bellyfast gives a good different take of food delivery system, efficiently linking inventory management with order sales.
CS6101-18 Title mismatch with poster