为什么 LLM 还不能直接生成 Glyph?——从 MetaGlyph、Raiven 到 GlyphDSL 的思考

📅 2026/6/28 11:12:45
为什么 LLM 还不能直接生成 Glyph?——从 MetaGlyph、Raiven 到 GlyphDSL 的思考
摘要近年来大语言模型Large Language ModelLLM在自然语言驱动可视化生成方向取得了快速发展。目前用户已经可以通过自然语言让模型生成ECharts 图表配置Vega-Lite 可视化描述D3.js 可视化代码例如生成一个展示近五年销售趋势的折线图。模型能够理解用户意图并生成对应的可视化结果。但是当任务变为使用一棵树表示企业成长树的高度代表发展速度树叶数量代表用户规模。问题开始变得复杂。因为这已经不是传统意义上的文本 → 图表而是自然语言 ↓ 语义理解 ↓ 隐喻选择 ↓ 视觉表达这类任务属于隐喻式 Glyph 可视化Metaphoric Glyph Visualization。本文从 MetaGlyph、Raiven 等相关研究出发探索一种面向自然语言驱动 Glyph 生成的系统设计思路并讨论 GlyphDSL 作为中间表示的可能性。1. 从普通图表生成到 Glyph 生成传统数据可视化通常遵循数据 ↓ 视觉编码 ↓ 图表例如销售额数值增加 ↓ 柱子高度增加这里的数据与视觉之间关系比较明确。这种方式称为数据到视觉属性映射。例如数据温度 30映射柱子高度 30但是 Glyph 可视化不同。Glyph 可以理解为一种具有语义含义的视觉对象它不仅表达数据还表达数据背后的概念。例如企业增长传统图表增长率 ↓ 折线向上Glyph企业成长 ↓ 植物成长 ↓ 树高度增加这里树并不是装饰。它承担了“成长”的语义。因此 Glyph 需要解决数据如何表达以及数据背后的意义如何表达2. 为什么大语言模型还不能直接生成 Glyph当前的大语言模型已经能够完成自然语言 ↓ 可视化代码 ↓ 图表例如用户生成销售趋势图。模型生成折线图代码。但是 Glyph 生成需要额外完成自然语言 ↓ 概念理解 ↓ 隐喻选择 ↓ 视觉对象选择 ↓ 视觉属性映射 ↓ 最终渲染例如用户说公司正在快速成长。模型需要理解“成长”不是一个具体图形。它可能对应树木成长火焰增强建筑升高火箭升空然后进一步决定如果选择树那么增长速度应该映射到树高度树叶数量树枝数量这就是 Glyph 生成困难的地方。3. MetaGlyph隐喻可视化的重要探索MetaGlyph 的核心思想通过隐喻关系将数据概念转换为视觉对象。例如温度温度升高 ↓ 火焰增强 ↓ 火焰尺寸增加增长增长 ↓ 植物成长 ↓ 树高度增加它证明数据不仅可以通过传统图表表达也可以通过具有语义意义的视觉对象表达。但是MetaGlyph 仍然存在一定限制。它主要面向结构化数据。例如温度: 30 增长: 20%系统已经知道有哪些字段。有哪些数据。但是现实用户输入往往是希望体现一种快速发展的感觉。这需要系统理解用户语言中的隐含语义。4. Raiven为什么需要中间表示Raiven 提供了另一个重要启发不要让模型直接生成最终可视化。原因自然语言和视觉结果之间存在巨大差距。类似编译器程序代码 ↓ 抽象语法树 ↓ 执行可视化系统也可以自然语言 ↓ 视觉表示 ↓ 渲染其中视觉表示就是中间表示。它具有1. 可解释性可以查看模型理解后的结果。2. 可修改性用户可以修改视觉描述。3. 可控制性渲染过程不完全依赖模型生成。5. GlyphDSL连接语言和视觉的中间表示受到上述思想启发我尝试设计一种面向 Glyph 的领域描述语言。即GlyphDSL。整体流程自然语言 ↓ 大语言模型 ↓ GlyphDSL ↓ Glyph映射 ↓ Glyph Schema ↓ D3渲染其中大语言模型负责理解用户表达。例如输入用树表示企业成长。提取主题成长 隐喻对象树 映射关系成长速度 → 树高度然后转换为 GlyphDSL。6. 为什么需要 Glyph 资源库一个自然想法让大语言模型直接生成 SVG。但是存在问题生成结果不稳定同一个需求不同生成结果可能不同。难以控制例如用户要求只改变树的高度不改变树的形状。直接生成 SVG 很难保证。因此可以建立Glyph资源库。例如Glyph Library ├── tree ├── rocket ├── fire ├── burger └── house每个 Glyph 都不是普通图片。而是参数化视觉对象。例如树高度 宽度 叶子数量 颜色数据变化时只调整参数。7. Mapping Decision如何选择合适 Glyph核心问题输入增长为什么选择树而不是火箭需要建立语义到视觉映射。基本流程文本 ↓ 语义提取 ↓ 候选Glyph生成 ↓ 匹配评价 ↓ 最终选择例如“增长”候选tree rocket arrow系统综合语义相关性场景适配性视觉可理解性选择最合适的视觉表达。8. Glyph Schema 与渲染GlyphDSL解决“表达什么”。但是渲染系统需要“如何绘制”。因此需要Glyph Schema。关系GlyphDSL ↓ Glyph Schema ↓ D3例如GlyphDSLgrowth treeSchema对象tree 高度80 颜色green最后D3负责生成 SVG。9. 为什么最终没有继续作为论文方向经过进一步分析这个方向更偏向系统设计。主要工作模块性质GlyphDSL描述语言设计Glyph资源库工程组织映射模块已有方法组合D3渲染已有技术应用虽然可以实现完整系统但是缺少新的算法模型、新的优化方法、新的理论贡献。因此它更适合作为一个系统探索项目而不是算法创新型论文。10. 总结这次探索让我认识到未来的大模型可视化可能不仅是文本 ↓ 图表代码而是自然语言 ↓ 语义表示 ↓ 视觉推理 ↓ 可控生成GlyphDSL 的价值不在于替代已有可视化工具而是在探索如何让大语言模型真正理解“视觉表达”。虽然该方向最终没有成为论文研究路线但它仍然体现了大模型、人机交互和可视化融合的发展趋势。附图