facebookresearch/vizseq

An Analysis Toolkit for Natural Language Generation (Translation, Captioning, Summarization, etc.)

VizSeq – 文本生成的可视化分析工具包

它是什么 – VizSeq 是一个 Python 库,帮助研究人员和工程师检查任何文本生成系统(机器翻译、摘要、图像描述、语音翻译、视频描述等)的输出。它接收源数据、参考文本和模型预测,计算一系列自动指标,并在交互式可视化中呈现结果,可从 Jupyter 笔记本或轻量级 Web 应用中进行探索。

为什么重要 – 现代生成模型产生大量输出,而原始指标分数(BLEU、ROUGE、BERTScore 等)往往掩盖了系统性错误。VizSeq 让您可以浏览示例、并排比较多个系统,并深入查看逐句分数、错误类型和基于嵌入的相似度,所有这些都通过多进程加速。这加快了调试、模型选择和论文写作。

主要功能

  • 多模态支持 – 适用于纯文本、图像描述、语音/音频文件和视频描述数据。
  • 丰富的指标套件 – 经典 n-gram 指标(BLEU、METEOR、TER、ROUGE、CIDEr 等)以及基于嵌入的分数(LASER、BERTScore)。所有指标均并行化以提高速度。
  • 交互式可视化 – 笔记本显示可排序表格、散点图和逐示例视图;捆绑的 Web 服务器在浏览器中提供相同的 UI。
  • Fairseq 集成 – 直接插入 Facebook 的 Fairseq 训练流程,无需额外转换代码即可可视化结果。
  • 可扩展 – 可选附加功能可添加音频处理、Google 翻译查找或需要 PyTorch 的重型嵌入评分器。

典型工作流程

  1. 安装包(pip install vizseq)以及您需要的任何可选附加功能。
  2. 准备一个包含以下内容的文件夹:
    • 源文件(文本、图像路径、音频文件等)
    • 参考文本
    • 模型预测
  3. 运行提供的评分器(例如 vizseq-score)以生成 JSON/TSV 报告。
  4. 启动可视化器:
    • 在笔记本中:import vizseq; vizseq.show(report_path)
    • 或启动 Web 服务器:vizseq-server --port 9001 --data-root ./examples/data 并在浏览器中打开 URL。
  5. 使用 UI 按分数筛选、按长度排序、比较多个系统,并为论文导出图表。

安装

# 核心包(Python 3.11+)
pip install vizseq

# 可选附加功能(根据需要选择)
pip install vizseq[embeddings]   # LASER、BERTScore(添加 torch)
pip install vizseq[audio]        # .wav/.flac/.sph 支持
pip install vizseq[translate]    # Google 翻译 API
pip install vizseq[all]          # 全部

您也可以在克隆仓库后使用 pip install -e . 从源代码安装。

文档和示例 – 该项目托管了完整的文档站点(https://facebookresearch.github.io/vizseq),提供基本用法、多模态 MT、多语言 MT 和语音翻译的分步笔记本。还提供了快速入门 Web 应用演示。

许可证 – MIT(宽松,商业友好)。

引用 – 如果您在出版物中使用 VizSeq,请引用 EMNLP-2019 系统演示:

@inproceedings{wang2019vizseq,
  title = {VizSeq: A Visual Analysis Toolkit for Text Generation Tasks},
  author = {Changhan Wang and Anirudh Jain and Danlu Chen and Jiatao Gu},
  booktitle = {Proceedings of EMNLP 2019: System Demonstrations},
  year = {2019}
}

联系方式 – Changhan Wang(changhan@fb.com)和 Jiatao Gu(jgu@fb.com)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目