Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Docker Pulls License: GPL v2



  • This software is designed to visualize the attention of neural network based natural language models.
  • For the natural language inference task, we include our implementation of the decomposable attention model.
  • For the machine comprehensdion task, we include our implementation of the bidirectional attention flow model.

Video Demonstration


1. Install

  • The tool has only been tested with Python 2.7, support/test for Python 3.x is planned.
  • Please install numpy, pytorch, h5py, requests, nltk, python-socketio, eventlet, pattern, etc
    pip install -r requirements.txt
  • Download model and data file (download from google drive):

1. Training

  • The pre-trained model will be loaded. We design our tool with a clean separation between visualization and the underlying model, so the user can easily apply the visualization for theirs own models. The visualization is connected with the model via several callbacks (i.e., letting the visualization module know what function to call to obtain prediction or attention values). So, as long as the model can expose these functionalities as callable python functions, a user provided model can easily utilizes the visualization.

2. Test the model

  • Using the pretrained model to do evaluation on val set. Expect to see Val: 0.8631, Loss: 0.3750
  • To test run the following:
    python -m nli_src.eval --gpuid -1 --data data/snli_1.0/snli_1.0-val.hdf5 --word_vecs data/glove.hdf5 --encoder proj --attention local --classifier local --dropout 0.0 --load_file data/local_300_parikh

3. Run the visualization server for NLI (for MC run

4. Docker Image

Alternatively you can run the server from a docker image without installing anything.

Instruction to run the docker server:

  • Download docker image:
    docker pull dockerzhimin/nlpvis
  • look up docker image name: docker ls
  • Start the server (replace image_name with the correct image name):
    docker run -d -p 5050:5050 [image_name]
  • Then open the browser at http://localhost:5050/ The tool has only been extensively tested for Chrome, there are known issues with FireFox (font size and positions are altered for some visual elements)

5. Roadmap / Planned Features

  • Oct 2018 - Support for Machine Comprehension & Natural Language Interference
  • Mid 2019 - Support for Neural Machine Translation

Related Publications:

Visual Interrogation of Attention-Based Models for Natural Language Inference and Machine Comprehension Shusen Liu, Tao, Li, Zhimin Li, Vivek Srikumar, Valerio Pascucci, and Peer-Timo Bremer Conference on Empirical Methods in Natural Language Processing (EMNLP) Demonstration Track, 2018.

NLIZE: A Perturbation-Driven Visual Interrogation Tool for Analyzing and Interpreting Natural Language Inference Model Shusen Liu, Zhimin Li, Tao Li, Vivek Srikumar, Valerio Pascucci, and Peer-Timo Bremer IEEE Transactions on Visualization and Computer Graphics (InfoVis 2018), 2019