导读 在当今快速发展的数据分析领域,智能分析平台正经历从传统 BI 到敏捷分析,再到智能分析的转变。随着移动互联网的兴起和大语言模型的出现,数据分析变得愈加普及,用户可以通过自然语言与系统进行互动,获取所需数据。然而,即使在敏捷分析阶段,仍然存在一定的学习成本。大语言模型的引入为数据分析带来了新的机遇,它不仅提升了语言理解和生成能力,还使得逻辑推理与工具使用变得更加高效。通过对用户自然语言指令的理解和转化,智能分析平台能够实现更直观的数据查询和分析过程,为用户提供更为便捷的服务。本文将分享腾讯基于 LLM 的智能数据分析平台 OlaChat 的落地实践。
1. 从传统 BI 到智能 BI
2. LLM 时代智能 BI 的新可能
3. 腾讯 OlaChat 智能 BI 平台落地实践
4. 问答环节
分享嘉宾|谭云志 腾讯 高级研究员
编辑整理|陈思永
内容校对|李瑶
出品社区|DataFun
从传统 BI 到智能 BI
1. 传统 BI 的局限性
3. 智能 BI 的初步探索
LLM 时代智能 BI 的新可能
1. 大语言模型的发展脉络
2. 大语言模型对数据智能分析的影响
语言能力:大语言模型在语言理解和生成方面的能力非常强大。它能够有效解读文本和表格数据背后的含义,使得数据分析变得更加直观、易于理解。通过自然语言交互,用户可以更轻松地进行数据分析,而不需要深入掌握复杂的工具和技术。 工具使用:大语言模型能够将用户的指令转化为工具调用或代码生成。例如,用户可以通过简单的自然语言请求,生成相应的 API 调用或代码。这种能力显著提高了数据分析的效率,降低了技术门槛。 逻辑推理能力:尽管大语言模型的逻辑推理能力相对有限,但它在模式识别、趋势分析和关联性发现方面仍然表现出色。这为数据智能分析提供了有力支持,使得用户能够从数据中提取有价值的洞察。 学习能力:在早期,训练一个模型以适应特定任务通常需要大量的数据。然而,得益于大语言模型的“上下文学习”(In-context Learning)能力,用户不需要进行模型训练也能在一些任务上取得不错的效果。即使需要微调,用户也可以通过较少的数据(仅需几千条)就能调整模型以满足特定需求,这种适应性使得大语言模型在各类任务中的应用变得更加灵活。
腾讯 OlaChat 智能 BI 平台落地实践
1. OlaChat 关键能力
多轮对话系统:用户与 OlaChat 交互的第一入口是一个多任务对话系统,类似于智能助手,用户通过自然语言与系统进行交互,系统需要具备理解用户意图并执行相关任务的能力。 任务编排与执行:系统理解用户意图后,规划出执行任务所需的步骤,并按顺序调用相关工具和数据。 AI+BI 工具箱:包括 Query 改写、text2SQL、指标分析等工具,这些工具通过不同的组合可以实现不同的能力,从而解决不同的任务。 公共服务:底层由一些公共服务来支撑相关能力,主要包括三个部分: 统一 LLM 调度(包括腾讯的混元模型,以及其他一些微调过的模型),系统建立了统一的模型调度机制,根据不同任务自动选择合适的语言模型,并进行负载均衡和模型加速,针对不同模型输入输出的格式差异,系统通过公共服务屏蔽这些差异,提供一致的交互接口。 知识检索增强:提供了检索元数据的功能。 标注系统:在数据分析过程中需要处理大量与特定领域相关的数据,因此引入了标注系统,可以对自定义数据和指标进行标注,用于增强大语言模型的领域理解能力。
2. 多任务对话系统
上下文理解:持续跟踪上下文,基于用户的历史对话,准确理解用户的需求,补充缺失信息。 意图识别:基于上下文理解,进行意图识别,将用户需求传到对应的 Agent。 自然语言理解模块(NLU):将用户文本消息转化为可以被机器理解的语义标签。 对话状态跟踪模块(DST):在对话中的每一轮基于对话历史维护最新的对话状态,通常表示为一组槽位-槽值对。 对话策略模块(DPL):基于当前的对话状态,决定对话系统的下一步动作。 自然语言生成模块(NLG):将对话策略模块决定的系统对话行为转换为人类语音,回复给用户。
3. 元数据检索增强
元数据是按特定的结构、层次组织的。 指标、字段、维度的组合没有固定的前后顺序或自然语言中的常见规律。如自然语言中“中国的首都是“,后面跟着的大概率会是“北京”,然而元数据并不符合语言模型的基本假设。 特定修饰词很重要,某些特定的字段或维度往往具有关键性意义,比如“有效播放次数”和“付费播放次数”表示的是截然不同的指标,这种差异无法通过传统的检索方式精确捕捉。 字段名可以很短,这就要求检索方法能准确地捕获用户问题中的关键信息。
打平方法:通过将结构化数据打平为非结构化文本,简化了复杂的数据结构,方便了自然语言处理的应用。此方法的优势在于能够直接利用已有的自然语言检索技术,操作简便,但是如果指标和维度的数量非常多时该方法可能会面临组合爆炸的问题。 结构化方法:充分利用了元数据的层次结构信息,能够在保持数据层次关系的同时提高检索的准确性。此方法在处理非常复杂且层次分明的数据时更加有效,尤其是包含多个维度的长尾问题。
4. Text2SQL
首先,数据隐私与安全始终是不可逾越的红线。例如,一些知名模型在使用协议中规定,企业如果月活跃用户数超过一定数量,就必须申请使用权限。这对于腾讯等大企业而言,意味着许多闭源和开源模型都不可用,因此必须开发自有模型以满足业务需求。 尽管大型语言模型在技术上表现强大,但在业务理解方面却存在显著不足。许多企业的数据质量较低且结构混乱,模型很难准确理解。此外,模型常常缺乏领域知识,可能会产生“幻觉”。 另外,模型的稳定性和准确率也存在不足。真实情况下用户问法非常个性化,现有方案的抗噪声能力不足(BIRD~70%),导致稳定性和准确率较差。 企业在实际应用中常常难以获取到高质量数据,尤其是冷启动阶段,高质量的 query 到 SQL 的数据非常匮乏。
准确性:我们必须确保大型模型生成的 SQL 是准确的。如果模型生成的 SQL 错误并被加入训练集,就会导致模型性能下降。因此,我们设计了一套代码逻辑来检查生成的 SQL 是否正确,首先这个 SQL 要能够执行,并且与用户输入的查询语义相匹配,为此我们使用一个专门的模型来验证生成查询的语义正确性。 多样性:我们还需要确保数据的多样性,避免模型生成大量相似的数据。为此,我们采用了一些相似性检测的方法,剔除过于相似的样本。此外,我们会对生成的数据进行分类,确保各类别之间的平衡。如果某个类别的数据过多,我们会减少该类别的生成;而对于数据较少的类别,则会重点生成更多样本,以提升数据集的整体准确性和多样性。
数据集覆盖不全:业务中的各种查询可能非常复杂,而我们很难覆盖所有同学所编写的查询样本。 语言多样性与歧义:用户的语言表达多种多样,可能存在歧义和同义词,使得生成的查询难以满足所有需求。 噪音与信息干扰:在数据集中,存在一些噪音数据,这些信息会干扰模型的训练效果。
减少冗余信息,引入辅助信息
适当融入传统模型/策略
对模型结果进行后验优化
5. Text2SQL 之外
问答环节
分享嘉宾
INTRODUCTION
谭云志
腾讯
高级研究员
腾讯 PCG 大数据平台部智能数据分析(ABI)平台算法负责人,负责从 0 到 1 实现 AI 算法在数据分析平台的落地,在大语言模型、对话系统、text2sql 、推荐系统等方面有较深入的研究。毕业于清华大学,先后就职于 LinkedIn、探探、腾讯,有近 10 年算法研究和算法产品落地经验。