<< Click to Display Table of Contents >> 问数复制链接 |
1. 概述
1.1 应用场景
数据集想要应用到智能问答vivichat或报告问答vivichat中,需要先开启问数并完成学习,将数据抽取到向量库和数据集市。关键词识别以后去向量库查找用到了哪些列;输入框内匹配问题以及问到元数据相关的内容会用数据集市数据。
1.2 功能简介
开启问数的数据集可以在问数管理中统一进行管理。开启问数后,可以通过学习数据配置数据学习任务,支持定时学习,追加学习。
➢说明:
•本章节模块为产品高级模块,需单独购买:Y+Megrez。
•问数学习前,需要配置向量数据库,参考向量数据库配置。
2. 应用举例
以咖啡销售数据表为例,想要在智能问答vivichat或报告问答vivichat中针对该数据集进行提问。
操作步骤如下。
1)开启【问数】。
2)点击【学习数据】,勾选【定时学习数据】并配置学习周期为每天0点,并开启失败提醒。点击保存配置即可。如果想要立即学习,可以点击【立即运行】。
3. 功能说明
3.1 配置项说明
【配置学习字段】默认可不配置,除了日期时间和度量字段以外的字段,都在自动学习字段列表中。
自动学习字段:根据字段值的数量和占比自动选择学习,不常用字段建议保留自动。字段唯一值数量超过100000,且唯一值/总行数占比超过50%,则只学习元数据,否则会完整学习。
全部学习字段:学习字段的全部数据,包括字段名、字段唯一值等。重要且经常问值的字段建议选择全部学习。
学习元数据字段:所选字段不学习字段值,日期字段和度量字段只支持学习元数据。学习元数据字段支持设置匹配规则,支持正则匹配和定制匹配两种方式。对于维度字段,可以手动选择是否只学习元数据。例如ID类字段、数据唯一值较多的字段均建议选择到仅元数据。对于ID类字段可以设置匹配规则,这样即使只学习了元数据,也可以在提问中直接输入字段值进行提问。如下图所示,对订单ID设置正则匹配规则“^ORD\d{14}$”,则可以直接提问“ORD00000000000001的销售额”,
定制匹配:定制匹配需要通过编写java代码实现Function接口,并且重写apply方法,返回匹配的keywords集合。然后将java文件编译问class文件,将class文件放在安装目录的tomcat/webapps/bi/WEB_INF/classes下。最终在定制匹配中填写类名即可。例如我们编写CustomMatch.java如下:
import java.util.*;
import java.util.function.*;
import java.util.regex.*;
public class CustomMatch implements Function<Set<String>, Set<String>> {
@Override
public Set<String> apply(Set<String> keyWords) {
Set<String> usedSet = new HashSet<>();
Pattern pattern = Pattern.compile("\\d+");
for(String keyWord : keyWords) {
Matcher matcher = pattern.matcher(keyWord);
while(matcher.find()) {
if(matcher.groupCount() == 0) {
usedSet.add(matcher.group(0));
}
else {
for(int i = 0; i < matcher.groupCount(); i++) {
String group = matcher.group(i);
if(group == null || group.length() == 0) {
break;
}
usedSet.add(group);
}
}
}
}
return usedSet;
}
}
将CustomMatch.java编译为CustomMatch.class,并放到指定目录下,在ID匹配选择定制匹配并输入CustomMatch即可。
➢说明:
为了节省向量库空间,提高问数学习速度,建议把唯一值超过100000或不常问字段值的字段移动到“仅元数据中”。
【追加】默认不勾选,勾选会将更新的数据追加到历史数据中,不勾选将全部数据入学习数据。
【更新依据列】默认不显示,勾选追加后才显示,更新依据列中只可以选择数值列和日期列。追加时,首先获取学习数据中依据列字段的最大值,然后查询出数据集中依据列大于此最大值的数据,将这些数据追加到学习数据中。
【作业执行成功时提醒】默认不勾选,勾选后学习数据作业执行成功时将提醒执行提醒中选中的用户。
【作业执行失败时提醒】默认勾选,勾选后学习数据作业执行失败时将提醒执行提醒中选中的用户。
【执行提醒】作业执行成功时提醒,作业执行失败时提醒的用户。
【推送到】作业执行成功/失败时提醒,提醒信息推送用户的方式,其中包含邮件(默认)、短信、企业微信、钉钉、飞书、WeLink。当系统已进行推送平台的配置时,按钮可勾选。
【保存配置】用户设置学习数据对话框中的配置信息后,点击保存配置可以在数据集上保存相关配置。立即运行之后,配置信息也会保存。
【立即运行】用户点击立即运行后会开始进行一次性学习数据,此时,学习数据对话框消失,弹出学习数据过程对话框,如下图所示。
学习数据过程对话框中会显示数据学习的步骤,包括:开始执行、统计数据信息、存储数据到向量库、存储数据到数据集市和执行完成,方便用户知道目前数据学习的进度。
•待执行的步骤前不显示图标。
当数据集正在学习中时,学习数据前显示橙色图标,学习数据按钮为置灰状态。点击“取消学习”,可以停止学习数据。用户点击右上角的“×”可以关闭对话框,后台继续执行学习。
学习成功后显示如下,
【定时学习数据】默认不勾选。勾选此选项来定时学习数据。对于定时学习数据的任务,再次学习时,如果数据列的唯一值没有发生变化,则不会重新学习这些唯一值没有变化的数据列。
【运行时间频率&时间条件】默认不显示,勾选定时学习数据后才显示。用户可以选择“每天、每周、每月”的任意时间定时学习数据。运行时间频率与时间条件的设置方法详见调度任务->作业 。
3.2 环境配置
学习数据需要提前安装向量数据库和VooltDB数据集市。
3.3 问数管理
开启问数后,可以通过问数管理统一查看和管理学习状态,参考问数管理。关闭问数后,会清除学习数据。
3.4 问数作业管理
【调度任务>作业】中可以查看问数学习的作业状态,问数学习的作业统一显示在CopilotQry文件夹中,如下图。
当前作业状态
历史作业状态
3.5 API接口