<< Click to Display Table of Contents >> 提问技巧及建议复制链接 |
现在我们可通过自然语言的方式与vivichat进行交互来获取数据分析以及结果,在提问时可以参考下面的一些原则和技巧。
1.数据准备
1.1 处理字段名
•字段命名需要贴近实际使用名称。
•可通过字段别名增加问答使用名称。比如有列“员工数”,可设置别名“人数”,问答时便可使用“员工数”或“人数”进行提问。
•字段名中不要有特殊字符,比如“()”。
1.2 约束文件夹中的数据集数量
数据集过多会影响查询性能,使查询时间增加。同一个文件夹中,建议不超过20个数据集。
1.3 设置汇总数据集
对于数据本身已经是聚合后的数据集,建议在数据集的【编辑参数】中,增加_COPILOT_SUMMARY_QUERY_参数,并设置为true,系统会将该数据集作为聚合数据集进行处理。在 BI 问数中,大部分场景基于明细数据进行分析。但对于预聚合数据集,若不主动设置默认聚合策略,会导致以下问题:
•图表渲染异常
问题现象:用户预期生成图表,系统却返回表格结果
原因:数据集是聚合后的数据,模型未识别聚合含义,导致无法生成可视化图表
配置_COPILOT_SUMMARY_QUERY_为true后,即使数据绑定不做聚合,仍然可以正常生成可视化图表。
•排序逻辑失效
问题现象:用户希望按某列排序结果,但实际结果未排序
原因:字段未设置汇总,无法生成排序逻辑。
配置_COPILOT_SUMMARY_QUERY_为true后,即使数据绑定不做聚合,仍然可以对字段进行排序。
•TopN查询不生效
问题现象:用户提问“取销售额前3的门店”,返回结果却无效
原因:字段未设置汇总,无法生成排序TopN逻辑。
配置_COPILOT_SUMMARY_QUERY_为true后,即使数据绑定不做聚合,仍然可以对字段进行排序topN。
1.4 同环比规则
在问答中计算同比时,如果要求同时间段对比,则可以在bi.properties中配置copilot.xoverx.xonx.filter.current.date=true,默认为true。比如今年和去年的销售额同比,如果想比较今年(当前7月)和去年同期(1-7月),则需要配置为true。如果想比较今年(当前7月)和去年全年,则需要配置为false。
1.5 长字段名
如果数据集中存在较长的字段名且字段名容易干扰模型理解,例如长字段名“年累计收入预测值”、“年累计收入同比值”等。可以在bi.properties中配置copilot.preModel.strategy=highlightMatchedFieldName,默认为highlightMatchedFieldName。该模式下,如果问句中存在与字段完全匹配的词组并且长度≥6,会加强长字段的标记,帮助模型理解提问和数据。
1.6 汇总数据和明细数据混合
如果数据表同时包含了汇总和明细数据,如下图,提前计算好全部省份的销售额,这样可以减少计算压力。
“全部”即所有省份的总的销售额,如果要查询全部的销售额,则需要对添加过滤“省份=全部”。如果要计算各省份的总和百分比或者排名,例如“四川的销售额排第几名”,就需要在明细中过滤掉“全部”,即“省份不等于全部”。而且通常可能存在其他的知识会导致模型了理解混乱。此时可以在数据集的【编辑参数】中,增加参数_COPILOT_TOTAL_ROW_,排除掉汇总行,值格式为“列~~值”,例如为参数值设置为“省份~~全部”。支持多个值,例如“省份~~全部, 产品~~全部”。
1.7 汇总表中指标名为字段值
在汇总表中,如果将指标作为单独的字段,指标名作为字段值。如下图,
这种情况下,默认容易将具体的指标当做字段进行绑定,例如“2025年年累计成本是多少,单位亿”。可以在数据集的【编辑参数】中,增加参数_COPILOT_UNPIVOT_,对这种指标列进行配置,格式为“指标名称列~~指标值”,如上述问题,指标名称列为“指标”,指标值为“累计值”,所以参数值配置为“指标~~累计值”。如果有多个,则将参数设置为多个值,值为“指标~~累计值,指标1~~累计值1,指标2~~累计值2”。
2. 问题描述要清晰简洁
2.1 问题内容尽量不要有歧义,否则可能返回不同可能性的答案
想了解某个度量值时,需要带上汇总类型。例如需要避免“咖啡销售额”、“产品种类的最大销售额”这种问法,改为“咖啡的总销售额”、“哪个产品种类的总销售额最高”。
2.2 相同的问题在不同的数据下表现可能不同
比如“什么产品种类卖的最好?”,如果数据中同时存在销量和销售额字段,那么vivichat可能会理解为销量,也可能理解为销售额。建议修改为“什么产品种类的总销售额最高?”。
2.3 避免无法达成的数据请求
比如“用地图展示2016年各月份的销售额情况”,在这个问题中,不存在地理信息,也就没法通过地图来展示,vivichat是无法回答的,最终可能返回其他的图形。
2.4 避免一些模糊的意图描述
比如“希望了解一下总成本的平均值在40到55之间的产品的数据情况”,建议修改为“哪些产品的平均总成本在40到55之间”。
3.vivichat限制
目前vivichat对话支持单维度单度量、多维度多度量、排序、过滤、同环比、简单动态计算、时间层级、时间嵌套、topN等,暂时不支持子查询、多个查询问题、策略建议等场景。