Convolution Neural Networks are a neural network architecture which has been applied with great success in the fields of image processing and neural machine translation. Practitioners and researchers have recently begun applying them to other general natural language processing applications. The convolution layers in a neural network operate by passing a kernel transformation over adjacent features such as words or pixels. This enables the convolution layer to 'learn' features such as expressions where the meaning of a phrase is dependant upon its context. Stacking multiple convolution layers enables the network to detect higher order features which further processing such as a densely connected feed forward layer can use for purposes such as classification of sentiment, legal context, etc..