Article body
正文
引言
BI 系统擅长把数据变成柱状图、折线图和热力图,业务决策者则需要能快速阅读的结论。例如:Q2 销售额同比增长 15%,主要由华东区新品线驱动,但毛利率下降 2 个百分点,需要重点关注。
分析师过去需要逐张查看图表,再手动写报告。这个过程效率低,报告风格因人而异,周报和月报也常因人工整理而延迟。
自然语言生成(Natural Language Generation,NLG)技术让 BI 系统自动把数据洞察写成业务可读的文字报告。 衡石 BI 将 NLG 与指标管理、异常检测和 Agentic BI 整合,形成从数据到文字的自动写作管线。
一、NLG 在 BI 中的价值
1.1 传统报告生产的瓶颈
企业月度经营报告通常要经过四个步骤:
- 分析师从 BI 系统导出图表。
- 逐张查看图表,提取指标涨跌、异常和趋势。
- 把变化写成文字,组织成报告结构。
- 排版、校对并提交。
整个过程可能耗时一到两天,也高度依赖分析师的经验和时间。分析师无法及时处理时,报告也会推迟。
1.2 NLG 解决的三个问题
效率:自动报告将一到两天的工作缩短到分钟级。数据更新后,系统可以重新生成报告。
一致性:同一套生成规则能保持报告风格、结构和指标口径一致,避免不同周期遗漏相同的观察项。
规模:NLG 系统可以同时为多条业务线生成报告,减少重复的人工整理工作。
1.3 NLG 与 ChatBI 的区别
- ChatBI:用户提问,AI 回答,适合交互式的一次性分析。
- NLG 报告:系统主动生成结构化文档,适合周期推送和归档。
两者都可以使用大语言模型,但服务于不同的工作方式。
二、衡石 BI 的 NLG 技术架构
2.1 四层生成管线
衡石 BI 采用结构化的四层管线,而不是把图表直接交给大语言模型自由生成。
第一层:数据洞察提取(Insight Extraction)
系统先用规则和统计方法识别值得写入报告的内容:
- 变化检测:识别每个指标本期相对上期或去年同期的变化幅度和方向。
- 异常标记:标记超出正常范围的指标。
- 排名变化:识别排名上升或下降明显的实体,例如产品线从第五名升至第二名。
- 贡献度分解:把总量变化分解到各维度,例如总增长 100 万元中,华东区贡献 60 万元。
这一层输出结构化的洞察对象列表。每个对象记录指标、变化方向、变化幅度和归因结果。
第二层:叙述规划(Narrative Planning)
系统根据洞察对象规划报告结构:
- 优先级排序:异常和大幅变化排在小幅变化之前。
- 逻辑组织:按销售、财务等业务模块分组。
- 篇幅分配:重要洞察展开说明,次要洞察简要带过。
这一步输出报告大纲。
第三层:文字生成(Text Generation)
系统根据大纲逐段生成文字。Prompt 接收结构化洞察对象,而不是笼统地要求模型写一份报告。
不同洞察类型对应不同的模板策略:
- 变化类:X 本期值为 Y,环比变化 Z%,主要受 A 因素影响。
- 异常类:系统检测到 X 偏离基线 Nσ,建议排查 B 原因。
- 排名类:X 在维度 D 上上升 K 位,目前排名第 M。
第四层:审校与润色(Review and Polish)
系统完成文字生成后执行质量检查:
- 数值一致性:检查文字中的数字是否与数据一致。
- 口径一致性:统一同一指标在全文中的名称。
- 语气适配:高管摘要保持简洁,运营周报保留更多细节。
2.2 模板与生成的混合策略
纯大语言模型生成难以保持结构稳定,也可能遗漏关键信息或写错数字。衡石采用“模板约束 + 大语言模型生成”的混合策略。
结构化部分使用模板:报告开头、指标变化的标准表述和结尾声明由固定模板生成,以保持一致性和准确性。
非结构化部分使用生成模型:变化原因、趋势描述和建议措辞由大语言模型组织,提高可读性和表达灵活度。
约束机制:大语言模型只能使用洞察提取层提供的对象,不得引入对象之外的数字或结论。
2.3 领域知识注入(RAG)
报告需要符合企业的业务语境。衡石通过检索增强生成(RAG)为 NLG 提供上下文:
- 生成行业描述时检索行业知识,例如零售行业的季节性规律。
- 生成建议时检索历史最佳实践,例如毛利率下降时的成本排查路径。
- 生成归因时检索指标血缘,例如毛利率与成本、折扣之间的关系。
RAG 帮助系统结合业务语境解释数据,而不是只复述指标变化。
三、NLG 报告的三种形态
3.1 周期报告
日报、周报和月报可以按计划自动生成并推送:
- 定时触发,例如每月 1 日 8:00。
- 拉取上期数据并提取洞察。
- 按模板生成报告。
- 通过邮件、企业微信或 BI 站内信推送给订阅用户。
数据更新后,系统随之更新报告。某零售客户可以为 200 家门店同时生成门店日报,覆盖销售额、客流、客单价、环比变化和异常提示。
3.2 异常驱动报告
系统也可以在异常发生时生成根因分析报告:
- 异常检测发现指标异常。
- Data Agent 执行根因分析。
- NLG 将分析结果组织成结构化报告。
- 系统把报告推送给相关负责人。
这类报告聚焦异常现象、可能原因和处理建议。
3.3 交互式报告
用户可以围绕报告继续提问。例如,月报指出华东区销售额增长 15%,用户可以追问哪些产品贡献了增长。
系统理解问题后查询相关数据,并生成补充段落。用户由此可以在报告基础上继续探索,而不必重新发起一轮独立分析。
四、NLG 的质量保障
4.1 数值准确性
NLG 报告面临的主要风险,是文字中的数字与底层数据不一致。衡石采用三项保障措施。
强制数值回填:系统直接从数据中提取并填充数字。大语言模型负责组织文字,不负责推算数值。例如,模板中的 {change} 由系统填入真实的环比变化。
生成后校验:系统从成稿中提取所有数字,与原始数据逐一比较。不一致时阻断发布并告警。
置信度标注:缺少充分数据支撑的定性描述会标记为推测。
4.2 风格一致性
不同读者需要不同的报告风格:
- 高管版:用少量段落概括核心结论,并附关键图表。
- 运营版:按模块说明指标变化,并提供钻取路径。
- 技术版:保留数据来源、计算口径和更新时间等元数据。
衡石通过报告模板与读者角色控制风格。同一份数据可以面向不同角色生成不同版本。
4.3 可解释性
用户可以查看报告结论背后的数据和计算过程。例如,点击“华东区贡献了总增长的 60%”,系统可以展开总增长 100 万元、华东区增长 60 万元的计算依据。
五、与 Agentic BI 的协同
5.1 从生成报告到驱动行动
NLG 与 Agentic BI 结合后,系统可以把报告结论接入后续工作:
- Agent 识别报告中的待办项,例如毛利率下降需要关注。
- Agent 创建跟进任务、通知负责人,或在下期报告中追踪进度。
- 系统串联发现问题、生成报告、推动处理和跟踪结果。
5.2 多 Agent 协作写报告
复杂报告可以由多个 Agent 分工完成:
- 数据 Agent提取洞察对象。
- 分析 Agent分析异常原因。
- 写作 Agent把洞察和分析组织成文字。
- 审校 Agent检查数值和指标口径。
分工可以缩小每个 Agent 的职责范围,让报告生成过程更容易控制和核查。
六、常见问题与处理方式
问题 1:模型自由生成导致数字错误
直接把图表和数据交给大语言模型,可能产生原始数据中不存在的数字,或把 15% 写成 51%。
处理方式:使用数值回填机制。模型只组织文字,系统负责填充数字。
问题 2:固定结构淹没重点
报告每次都按同一顺序罗列指标时,重要异常容易被常规描述遮盖。
处理方式:叙述规划层按业务重要性排序,把异常和重大变化放在前面,简写或省略常规波动。
问题 3:技术术语影响业务阅读
报告如果大量使用环比、同比和贡献度分解等术语,部分业务读者可能难以理解。
处理方式:根据读者角色调整表达。高管版使用业务语言,技术细节放入附录。
七、总结
NLG 帮助 BI 把数据图表转换为业务人员可以快速阅读、归档和追问的文字报告。衡石 BI 通过三项设计控制自动写作质量:
- 四层管线:依次完成洞察提取、叙述规划、文字生成和审校润色。
- 模板约束与生成结合:系统回填关键数字,大语言模型负责组织文字。
- 多形态适配:支持周期报告、异常驱动报告和交互式报告。
BI 系统由此可以同时完成数据呈现和业务传达。