VizSeq

A Visual Analysis Toolkit for Text Generation (Translation, Captioning, Summarization, etc.)

Multi-Modal

Covering a wide range of {text, image, audio, video}-to-text generation tasks. Supporting multiple sources and references.

Usable

Built with a full collection of common metrics. Analyzing data in various formats. Providing visualization in both Jupyter Notebook and Web App interfaces.

Productive

Highly-integrated UI with samples and statistics in one place. Interactive data filtering with keyword searching, sorting and grouping. One-click export of tables and figures to slides, papers or spreadsheets.

Scalable

Multi-process acceleration of metrics and statistics computation. Auto-sampling and caching mechanism for performance on large-scale datasets.

Quickstart

Install VizSeq:

$ pip install vizseq

Use VizSeq in Jupyter notebook (APIs):

# Set up data inputs
from glob import glob
root = 'examples/data/translation_wmt14_en_de_test'
src, ref, hypo = glob(f'{root}/src_*.txt'), glob(f'{root}/ref_*.txt'), glob(f'{root}/pred_*.txt')
# View samples, scores and statistics
import vizseq
vizseq.view_stats(src, ref)
vizseq.view_n_grams(src)
vizseq.view_scores(ref, hypo, ['bleu', 'meteor'])
vizseq.view_examples(src, ref, hypo, ['bleu', 'meteor'], query='book', page_sz=10, page_no=1)

Use VizSeq with Fairseq (APIs):

from vizseq.ipynb import fairseq_viz as vizseq_fs
log_path = 'examples/data/wmt14_fr_en_test.fairseq_generate.log'
# Similar APIs to normal Jupyter Notebook APIs
vizseq_fs.view_stats(log_path)
vizseq_fs.view_n_grams(log_path)
vizseq_fs.view_scores(log_path, ['bleu', 'meteor'])
vizseq_fs.view_examples(log_path, ['bleu', 'meteor'], query='book', page_sz=10, page_no=1)

Use VizSeq Web App:

$ python -m vizseq.server --port 9001 --data-root examples/data

In your web browser, navigate to:
http://localhost:9001

For more details, please check out the Docs.