User:Cvmustat
Combine Convolution with Recurrent Networks for Text Classification
Team Members: Bushra Haque, Hayden Jones, Michael Leung, Cristian Mustatea
Date: Week of Nov 23
Introduction
Previous Work
Paper Key Contributions
CRNN Results vs Benchmarks
CRNN Model Architecture
RNN Pipeline:
CNN Pipeline:
The goal of the CNN pipeline is to learn the relative importance of words in an input sequence based on different aspects. The process of this CNN pipeline is summarized as the following steps:
- Given a sequence of words, each word is converted into a word vector using the word2vec algorithm which gives matrix X.
- Word vectors are then convolved through the temporal dimension with filters of various sizes (ie. different K) with learnable weights to capture various numerical K-gram representations. These K-gram representations are stored in matrix C.
- The convolution makes this process capture local and position-invariant features. Local means the K words are contiguous. Position-invariant means K contiguous words at any position are detected in this case via convolution.
- Temporal dimension example: convolve words from 1 to K, then convolve words 2 to K+1, etc
- Since not all K-gram representations are equally meaningful, there is a learnable matrix W which takes the linear combination of K-gram representations to more heavily weigh the more important K-gram representations for the classification task.
- Each linear combination of the K-gram representations gives the relative word importance based on the aspect that the linear combination encodes.
- The relative word importance vs aspect gives rise to an interpretable attention matrix A, where each element says the relative importance of a specific word for a specific aspect.
Merging RNN & CNN Pipeline Outputs
Interpreting Learned CRNN Weights
Recall that attention matrix A essentially stores the relative importance of every word in the input sequence for every aspect chosen. Naturally, this means that A is an n-by-z matrix, because n is the number of words in the input sequence and z is the number of aspects being considered in the classification task.
Furthermore, for a specific aspect, words with higher attention values are more important relative to other words in the same input sequence. For a specific word, aspects with higher attention values make the specific word more important compared to other aspects.
For example, in this paper, a sentence is sampled from the Movie Reviews dataset and the transpose of attention matrix A is visualized. Each word represents an element in matrix A, the intensity of red represents the magnitude of an attention value in A, and each sentence is the relative importance of each word for a specific context. In the first row, the words are weighted in terms of a positive aspect, in the last row, the words are weighted in terms of a negative aspect, and in the middle row, the words are weighted in terms of a positive and negative aspect. Notice how the relative importance of words is a function of the aspect.