In plain words: The study probes how networks that classify text work by testing the belief that each filter spots one word pattern before picking the strongest match. Filters track several kinds of patterns at once, and the strongest-match step separates key phrases from the rest.
Abstract
We present an analysis into the inner workings of Convolutional Neural Networks (CNNs) for processing text. CNNs used for computer vision can be interpreted by projecting filters into image space, but for discrete sequence inputs CNNs remain a mystery. We aim to understand the method by which the networks process and classify text. We examine common hypotheses to this problem: that filters, accompanied by global max-pooling, serve as ngram detectors. We show that filters may capture several different semantic classes of ngrams by using different activation patterns, and that global max-pooling induces behavior which separates important ngrams from the rest. Finally, we show practical use cases derived from our findings in the form of model interpretability (explaining a trained model by deriving a concrete identity for each filter, bridging the gap between visualization tools in vision tasks and NLP) and prediction interpretability (explaining predictions). Code implementation is available online at github.com/sayaendo/interpreting-cnn-for-text.
Alon Jacovi, Oren Sar Shalom, Yoav Goldberg
arXiv:1809.08037 · cs.CL · submitted Sep 21, 2018 · updated Apr 27, 2020
abstract · pdf · html · Accepted to "Analyzing and interpreting neural networks for NLP" workshop in EMNLP 2018. v2: Added link to online github implementation