CN116204704A - 一种基于用户任务的动态可视化推荐方法 - Google Patents
一种基于用户任务的动态可视化推荐方法 Download PDFInfo
- Publication number
- CN116204704A CN116204704A CN202211610962.XA CN202211610962A CN116204704A CN 116204704 A CN116204704 A CN 116204704A CN 202211610962 A CN202211610962 A CN 202211610962A CN 116204704 A CN116204704 A CN 116204704A
- Authority
- CN
- China
- Prior art keywords
- task
- field
- user
- preference
- visual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于用户任务的动态可视化推荐方法,基于用户探索数据过程中分析得到的任务和偏好数据,设计并实现能随用户探索过程动态变化的、具有交互能力的可视化推荐模型;首先通过对数据特征和操作序列的分析,生成数据事实、分析任务事实和字段偏好事实,然后使用这些事实指导生成推荐的可视化供用户选择。本发明不仅可以将用户的任务和字段偏好融入推荐过程,还支持用户对任务和字段偏好的交互式指派,并可以基于用户分析过程在线学习,不断改进模型效果,能够帮助数据分析人员快速分析数据并创建多视图可视化面板,进而提升数据分析和展示效率。
Description
技术领域
本发明涉及信息可视化与可视分析技术领域,具体为一种基于用户任务的动态可视化推荐方法。
背景技术
近年来,随着可视化和可视分析技术的应用日趋广泛,人们对可视化工具的需求也与日俱增。对于经验丰富的可视化专家,设计和使用可视化的流程通常是:明确可视分析任务、进行数据分析和处理、设计/选择可视化方案、定义可视化视觉映射。然而,这对普通用户来说并非易事。用户通常可以明确分析任务,但无法确定应该使用何种数据分析方法,更难根据数据的特点确定可视化方案。研究人员基于自身经验,设计了许多可视化设计准则,但这些准则使用复杂且高度经验化,难以推广。
自动可视化方法为上述问题提供了解决思路:通过数据与经验的混合驱动,自动地从数据中发现高质量见解,并选择合适的可视化予以呈现。通过在数据分析、可视化方案选择和视觉映射阶段提供辅助,自动可视化方法大大降低了用户创作可视化的门槛,使普通用户也能创作出媲美专业人员的可视化图表。
现有的自动可视化方法通常以数据作为输入,把计算数据的统计学特征作为生成可视化图表的决策依据。然而,这种基于数据特征的方法缺乏对用户任务的建模,导致推荐效率不佳,需要反复迭代修正。同时,传统方法的推荐过程缺乏用户控制,使得推荐结果容易表现出单调、重复的特征。因此,近年来,研究人员尝试为自动可视化方法找到新的输入数据。例如,以用户创建的既有视图与数据的组合作为输入,可以把用户的分析过程融入推荐过程,提升推荐效果的准确率。然而,这些方法都无法将用户分析任务显式融入推荐过程,导致推荐过程的可控性不足、推荐结果缺乏足够的解释性,使得用户对推荐效果没有足够的信心。综上,现有自动可视化创作工具存在推荐效果不精准、推荐结果单调重复、推荐过程可控性差等不足。
发明内容
针对上述问题,本发明的目的在于提供一种基于用户任务的动态可视化推荐方法,基于用户探索数据过程中分析得到的任务和偏好数据,设计并实现能随用户探索过程动态变化的、具有交互能力的可视化推荐模型。本发明不仅可以将用户的任务和字段偏好融入推荐过程,还支持用户对任务和字段偏好的交互式指派,并可以基于用户分析过程在线学习,不断改进模型效果。本发明可以帮助数据分析人员快速分析数据并创建多视图可视化面板,进而提升数据分析和展示效率。具体技术方案如下:
一种基于用户任务的动态可视化推荐方法,包括以下步骤:
S1:数据获取与处理
对用户输入的数据集进行统计分析,得到数据的统计学特征和数据类型;通过事件总线和发布者-订阅者模型,在交互式分析界面中记录用户操作行为,并对高频事件进行防抖动操作,以保证各事件频率的相对均衡;将事件类型映射到任务感知模型的输入格式;
S2:分析任务与字段偏好生成
从任务感知模型中读出当前时间片的任务和字段偏好预测结果;对于任务预测结果,使用历史数据对预测结果进行平滑,以降低预测结果抖动;对于字段偏好预测结果,使用统计学检验方法,将现有字段偏好与等概率模型进行对比,决定是否修改模型的字段偏好参数;
S3:可视化视图生成与处理
基于S1得到的数据特征和数据类型,生成数据定义事实;基于S2得到的分析任务和字段偏好,生成分析任务事实和字段偏好事实;基于可视化设计经验,设计通用可视化规则集、任务相关规则集和字段偏好规则集;基于上述事实和规则集,使用答案集编程和线性优化方法搜索可视化设计空间,寻找最优可视化设计方案;基于视觉上的相似性,设计可视化去重策略,过滤相似的推荐结果,优化推荐效果;
S4:交互设计
设计算法控制面板,输出预测得到的用户任务和字段偏好特性,展示算法预测结果的变化情况;基于动态排序柱状图,展示当前时间片的算法关键输入,并基于掩码和惩罚值,定义任务的编辑操作。
进一步的,在步骤S1中,数据获取与处理具体为:
S11:定义五种数据类型,分别为:布尔、整数、数字、日期和字符串;整数和数字类型属于数字型字段,布尔、日期和字符串属于字符串型字段;对每种数据类型设置对应的检测函数,从而判断每个字段的数据类型;
S12:定义三种统计变量,即平均数、方差和基数;对于数字型字段,统计字段的平均数、方差和基数;对于字符串型字段,仅统计字段的基数,并记录保存;
S13:基于mitt事务总线,定义用户行为事件名称;在用户交互控件中发布事件,并在服务组件中进行订阅;
S14:运用防抖动算法,对滑动过滤操作进行去重,避免行为种类不平衡;
S15:构建行为-编号映射表,将行为事件映射为数字编号,通过网络发送至后端预测模型。
更进一步的,在步骤S2中,分析任务与字段偏好生成具体为:
S21:后端预测模型接收编码后的行为序列,预测输出当前存在某任务的概率和每个字段的偏好程度;
S22:运用历史信息,对模型预测结果进行平滑;最终得到的各任务概率基于以下公式计算:
Stask=α*Htask+(1-α)*Ttask
式中:Stask表示任务task的概率,Htask表示上一次使用的任务概率,Ttask表示模型输出的任务概率,Ttask∈(0,1),α表示融合程度,0≤α≤1;因此,Stask∈[0,1];而初始状态下,Htask=0;
在一次计算结束后,将Stask赋值到Htask:
Htask=Stask,Htask∈[0,1]
S23:运用统计学检验方法,检验字段偏好程度与等概率分布进行比较;如果检测发现二者存在显著差异,则使用用户字段偏好;否则,不启用用户字段偏好。
更进一步的,所述统计学检验方法具体为:
S231:构造统计检验假设,构造如下假设:
H0:用户的字段偏好与已有数据相比无显著差异;
H1:用户的字段偏好与已有数据相比有显著差异;
S232:已有数据的获取:首先对数据集执行hash算法,得到一段定长的id字符串;在系统数据库中检索该字符串对应的记录,若存在则将该记录视为已有的该数据集字段偏好数据;若不存在则视为每个字段的选择概率相等,设共有字段nfields个,则每个字段的理论偏好概率
S233:样本量检验:用户对每个字段的选择次数为Af,用户对字段的总选择次数为nrecords;设定对用户的字段偏好记录总次数、每一种字段的选择记录次数和每个字段的理论频数的条件,进行样本量检验:
若通过样本量检验则进入步骤S234,否则认为没有通过统计学检验,拒绝使用用户的字段偏好;
S234:相关性检验:通过下列公式计算X2:
其中,X2为卡方检验的值;nfields为字段总个数;nf为字段f的访问频次,pf为字段f的理论偏好概率;
基于自由度nfields-1,找到对应卡方分布的累积分布函数,基于累积分布函数和求得的X2,即得到H0假设成立的概率p,如下所示:
p=1-Fcdf(X2,nfields-1)
其中,Fcdf为卡方分布的累积分布函数;
若p<0.1,则认为H0假设不成立,接受H1假设,用户偏好与已有数据有显著差异,使用用户字段偏好代替已有数据的字段偏好。
更进一步的,,在步骤S3中,所述可视化生成与处理的具体过程如下:
S31:生成数据定义事实:使用基于字符串模板的方法,把S1中确定的数据类型转换为答案集编程中定义的数据类型事实;
S32:生成分析任务事实:使用基于字符串模板的方法,把S2中确定的分析任务转换为答案集编程中定义的分析任务事实;
S33:生成字段偏好事实:使用基于字符串模板的方法,把S2中确定的字段偏好转换为答案集编程中定义的字段偏好事实;
S34:设计规则集:规则集包括通用可视化规则集、任务相关规则集和字段偏好规则集;所述通用可视化规则集编码通用的可视化美学知识和基于数据事实的通用可视化知识,其包括硬约束和软约束;所述任务相关规则集编码特定于任务的可视化知识;所述字段偏好规则集编码存在字段偏好约束下的可视化知识;
S35:软约束权重设计:当可视化违反一条软约束时,施加与权重一致的损失;可视化在所有软约束上的损失和用于衡量可视化的优劣;使用基于RankSVM的方法为软约束生成权重,将软约束的总数计为Nsoft,则软约束对应的权重表示为:
其中,wi表示第i个软约束的权重;
S36:候选可视化的生成:数据定义事实、分析任务事实、字段偏好事实、可视化规则组合,形成答案集编程求解器的输入,答案集编程求解器基于线性优化算法,查找所有不违反硬约束的可视化中,软约束损失最小的前若干个可视化,形成候选可视化。
更进一步的,在步骤S35中,软约束权重生成方法具体如下:
S351:随机生成候选可视化对:基于预定义的可视化变量和每个变量可选择的候选值,随机生成一个可视化A;随机选择其中的一个可视化变量修改为不同的候选值,得到相似的可视化A′;A和A′构成一个可视化对,重复上述步骤,直到得到Npair个可视化对,随机为每个可视化对赋予一个任务标签;
S352:可视化对的比较:要求用户选择若干可视化对中最能完成给定任务的可视化,最终得到Npair个可视化对在对应任务上的比较结果;
S353:软约束权重训练:求解可视化对中的可视化A和A′违反每一条软约束的数量,形成Nsoft维的特征向量FA和FA′;将FA和FA′相减,得到两个可视化的差异特征向量Fdiff=FA-FA′;并构造A和A′的比较结果y:
将每一个Fdiff作为RankSVM算法的输入特征,y作为输出标签,使用铰链损失函数优化权重W,得到满足给定比较关系的最优软约束损失,优化目标为:
W*=argminWL
其中,L为损失的值;n为输入样本的数量;k为软约束权重的数量;yi为对应样本的标签;λ为正则化权重;‖·‖2表示L2正则化方法;argminWL表示使L最小的W取值;W*为最优化的权重值W。
更进一步的,在步骤S4中,交互设计具体为:
S41:用户任务的动态展示:用户任务动态展示以动态排序柱状图的形式呈现,柱状图中每个矩形表示一个分析任务,不同任务对应的矩形之间使用不同的填充颜色作为区分;每个矩形的横向宽度widthtask=Stask×100%,当Stask变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减;Stask表示任务task的概率;
对于已识别到偏好的字段,其对应的矩形填充透明度β=100%,且显示在未识别到偏好的矩形的上方;
当nfield和nrecords变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减;
S43:任务的指派:当用户对任务预测结果不满意时,通过指派功能,从候选任务中增加任务以改善后续可视化的推荐效果;
S44:任务的去除:当用户对任务预测结果不满意时,通过去除功能,从已识别任务中删除任务以改善后续可视化的推荐效果;
S45:任务的临时遮蔽:当用户需要比较不同任务组合下的推荐结果不同时,通过临时遮蔽功能,从已识别任务中临时遮蔽任务以对比可视化推荐结果之间的差异。
本发明的有益效果是:
1)本发明弥补了现有自动可视化中个性化因素的不足。现有的自动可视化方法根据通用的可视化知识,或是自动从高质量的可视化图表中学习来完成推荐任务。这样的推荐欠缺对用户本身个性化因素的考量,因此其推荐效果难以优化。为了解决这个问题,本方法将用户意图定义为分析任务和偏好字段,并分别设计了分析任务和偏好字段特定的规则来融入用户意图,让可视化推荐更能满足用户的实际需要。
2)本发明弥补了现有自动可视化中可配置性的不足。现有的自动可视化方法分为端到端的方法和多阶段的方法两种,前者通过深度学习模型直接生成可视化,受限于深度学习模型的黑盒特性,通常难以配置和拓展。后者通过特征提取、规则匹配、排序等多阶段启发式算法生成可视化,虽然相对具有可拓展性,但多阶段之间耦合性较强,通常需要特定领域的专家进行配置,普通用户难以操作。本方法通过将“意图”建模为用户任务和字段偏好,从而允许普通用户以他们熟悉的方式调整可视化推荐过程中的核心参数,从而降低了系统的配置门槛;在此基础上,本方法使用基于答案集编程的方法储存可视化规则,降低了不同规则之间的耦合性,使得维护人员只需少量的前置知识即可维护和拓展系统的知识库。
附图说明
图1是本发明基于用户行为自动识别分析任务和字段偏好,并生成可视化推荐的整体方法流程框架示意图。
图2是本发明整体用户界面结构和布局示意图。
图3是本发明模型控制面板部分用户界面示意图。
图4是本发明对于偏好字段的交互控制方法中,用户手动移除自动识别的偏好字段的交互示意图。
图5是本发明对于偏好字段的交互控制方法中,用户手动移除此前设置的偏好字段的交互示意图。
图6是本发明对于偏好字段的交互控制方法中,用户手动设置偏好字段的交互示意图。
图7是本发明对于偏好字段的交互控制方法中,偏好字段的自动调整示意图。
具体实施方式
本发明通过有效的自动可视化方法,结合统计学习方法和答案集编程手段,实现用户任务和字段偏好的自动感知,并支持可视化推荐。在此基础上,还提供了便捷的交互界面供分析师手动指派偏好以调整推荐效果,最终帮助分析师在可视数据探索中发现数据事实,从而提升决策和可视化创作效率。技术方案包括:数据获取与处理,分析任务与字段偏好生成,可视化视图生成与处理,交互设计。整体方法流程框架示意图如图1所示,具体步骤如下:
步骤一:数据获取与处理
对用户输入的数据集进行统计分析,得到数据的统计学特征和数据类型;通过事件总线和发布者-订阅者模型,在交互式分析界面中记录用户操作行为,并对高频事件进行防抖动操作,以保证各事件频率的相对均衡;将事件类型映射到任务感知模型的输入格式。具体过程如下:
S11:定义五种数据类型,分别为:布尔、整数、数字、日期和字符串;整数和数字类型属于数字型字段,布尔、日期和字符串属于字符串型字段;对每种数据类型设置对应的检测函数,从而判断每个字段的数据类型;
S12:定义三种统计变量,即平均数、方差和基数;对于数字型字段,统计字段的平均数、方差和基数;对于字符串型字段,仅统计字段的基数,并记录保存;
S13:基于mitt事务总线,定义用户行为事件名称;在用户交互控件中发布事件,并在服务组件中进行订阅;
S14:运用防抖动算法,对滑动过滤操作进行去重,避免行为种类不平衡;
S15:构建行为-编号映射表,将行为事件映射为数字编号,通过网络发送至后端预测模型。
具体实现如下:
设计并实现数据集特征提取系统和用户操作记录与转换系统。其中,数据集特征提取系统能够读取用户上传的CSV或JSON格式数据,自动分析其统计学特征,并生成数据事实;用户操作记录与转换系统能够接收来自用户界面的操作日志,进行去重、防抖等操作后,生成用户操作序列。
1、设计并实现数据集特征提取系统。
(1)确定文件格式并解析:对于用户上传的数据,首先通过拓展名判断该文件属于JSON文件还是CSV文件,根据文件类型不同选择解析器,将数据文件解析为对象数组。
(2)推断字段名:如果上传文件为CSV格式,可以直接从第一行推断出数据集中各字段的名称。如果上传文件为JSON格式,则可以以第一个记录为准,判断各字段名称。
(3)推断字段类型:以第一个有效记录为准,判断各字段数据类型。判断过程中,依据表1中的判断顺序,依次判断记录值是否满足判断依据。如果满足,则记录属于该数据类型,否则判断是否符合下一个数据类型。
表1字段数据类型判断顺序和判断依据
判断顺序 | 数据类型 | 判断依据 |
1 | 布尔(Boolean) | 值等于“true”或“false” |
2 | 整数(Integer) | 值可被Number.isInteger函数判断为true |
3 | 数字(Number) | 值可被isNaN函数判断为false,且不为日期 |
4 | 日期(Date) | 值可以被解析为日期 |
5 | 字符串(String) | 以上判断依据皆不满足 |
(4)提取统计变量:根据(3)中提取的字段类型,将字段分为数字型字段和字符串型字段两类,其中整数和数字类型属于数字型字段,布尔、日期和字符串属于字符串型字段。对于数字型字段,统计字段的平均数、方差和基数。其中,基数是指该字段对应的数据中,唯一值的数量。对于字符串型字段,仅统计字段的基数。
2、设计并实现用户操作记录和转换系统。
(1)捕捉用户交互操作:在用户界面中全局引入mitt事务总线,并在需要记录的交互控件回调函数中加入事件发送代码,事件信息应包括事件名称、事件类别、发生时间以及自增的事件序号。
(2)回传用户交互操作:在用户界面中引入全局监听器,监听mitt事件总线中的所有事件。对于诸如拖动、鼠标移动等大量重复的事件,使用debounce算法对事件进行防抖动处理,保留防抖动区间内的第一和最后一个事件。处理完成后,用户交互事件信息通过网络请求的方式传输至后端服务器。
(3)转换用户交互操作:为了将离散的用户交互表示为适合由深度学习处理的向量形式,需要将用户操作转换为独热编码的形式。根据系统支持的所有操作类型,分别为每种操作定义一个连续且唯一的序号。对于每一个操作,其对应编号位置的位置1,其他位置0,即可得到用户操作的独热编码形式。
步骤二:分析任务与字段偏好的生成
从任务感知模型中读出当前时间片的任务和字段偏好预测结果;对于任务预测结果,使用历史数据对预测结果进行平滑,以降低预测结果抖动;对于字段偏好预测结果,使用统计学检验方法,将现有字段偏好与等概率模型进行对比,决定是否修改模型的字段偏好参数。
S21:后端预测模型接收编码后的行为序列,预测输出当前存在某任务的概率和每个字段的偏好程度;
S22:运用历史信息,对模型预测结果进行平滑;最终得到的各任务概率基于以下公式计算:
Stask=α*Htask+(1-α)*Ttask
式中:Stask表示任务task的概率,Htask表示上一次使用的任务概率,Ttask表示模型输出的任务概率,Ttask∈(0,1),α表示融合程度,0≤α≤1;因此,Stask∈[0,1];而初始状态下,Htask=0;
在一次计算结束后,将Stask赋值到Htask:
Htask=Stask,Htask∈[0,1]
S23:运用统计学检验方法,检验字段偏好程度与等概率分布进行比较;如果检测发现二者存在显著差异(p<0.1),则使用用户字段偏好;否则,不启用用户字段偏好。
统计学检验方法具体为:
S231:构造统计检验假设,构造如下假设:
S232:已有数据的获取:首先对数据集执行hash算法,得到一段定长的id字符串。在系统数据库中检索该字符串对应的记录,如存在则将该记录视为已有的该数据集字段偏好数据;如不存在则视为每个字段的选择概率相等,设共有字段nfields个,则每个字段的理论偏好概率
S233:样本量检验。用户对每个字段的选择次数为Af,用户对字段的总选择次数为nrecords。若下列条件同时满足则通过样本量检验:
①nrecords≥40。即要求对用户的字段偏好记录总次数大于40次;
②min(nf)≥5。即每一种字段的选择记录不小于5次;
在这一步中,如果通过样本量检验则进入步骤S234,否则认为没有通过统计学检验,拒绝使用用户的字段偏好。
S234:相关性检验。通过下列公式计算X2:
基于自由度nfields-1,找到对应卡方分布的累积分布函数(CDF),基于累积分布函数和求得的X2,即可得到H0假设成立的概率p,如下所示:
p=1-Fcdf(X2,nfields-1)
如果p<0.1,则认为H0假设不成立,接受H1假设,用户偏好与已有数据有显著差异,使用用户字段偏好代替已有数据的字段偏好。
具体实现如下:
获得用户交互操作后,进一步通过机器学习模型和统计学习方法生成分析任务和字段偏好,作为指导可视化生成的个性化参数。
1、操作序列到分析任务的预测模型:设计一个序列-多分类的机器学习模型(例如决策树),在给定指定数量个独热编码后的用户操作的情况下,能够输出用户任务的多分类结果,及其置信度。具体而言,本发明支持的分析任务如表2所示。
表2系统支持的分析任务和示例
任务 | 举例 |
趋势 | 年均气温的变化是怎样的? |
关联 | 降水量和风速之间存在关系吗? |
对比 | 纽约和西雅图的气温之间存在差异吗? |
确认值 | 纽约2012年1月1日的气温是多少? |
数据转换 | 纽约1月的平均气温是多少? |
其他 | 纽约2012年的气温中是否存在异常值? |
2、从操作序列获取字段偏好:用户的操作中可能包含对视觉编码的选择操作(如对于X轴对应的数据字段的设置),这类选择操作视为对相应字段的一次访问。每当后端服务器接收到一个新的用户操作时,会先检查其是否为包含视觉编码选择的操作。如果是,则会在计数器中对相应字段的访问频次进行加一操作。
3、运用历史信息,平滑用户任务预测结果:由于模型的输入是定长的,因此无法考虑远期历史信息,导致预测结果出现波动,因此利用历史信息对预测结果进行平滑。对于每个任务,其最终的得分Stask=α×Htask+(1-α)×Ttask,其中Htask是该任务的历史得分,Ttask是模型当前输出的任务得分,α是平滑权重,设置为0.5。同时,在得到得分Stask后,更新历史得分Htask=Stask。
4、对用户访问字段的样本量进行检验,要求如下:
①用户对字段的访问总次数大于40次;
②每种数据字段的访问次数大于5次;
如用户对字段的访问符合上述两项要求,则认为通过样本量检验,否则视为没有通过检验,访问字段的偏好为空,直接进入步骤三。
5、运用统计学检验方法(卡方检验),检验字段偏好程度是否与等概率模型存在显著差异:如果用户对于字段的访问频数与等概率模型有显著性差异(p>0.1),则认为通过统计学检验,将用户对于字段的访问频率作为字段偏好输入推荐器。
步骤三:可视化视图生成与处理
基于步骤一得到的数据特征和数据类型,生成数据定义事实;基于步骤二得到的分析任务和字段偏好,生成分析任务事实和字段偏好事实;基于可视化设计经验,设计通用可视化规则集、任务相关规则集和字段偏好规则集;基于上述事实和规则集,使用答案集编程和线性优化方法搜索可视化设计空间,寻找最优可视化设计方案;基于视觉上的相似性,设计可视化去重策略,过滤相似的推荐结果,优化推荐效果。
获得用户的分析任务和字段偏好后,可以使用这些信息指导可视化推荐的生成。
1、数据定义事实的生成:使用基于字符串模板的方法,把步骤一中获得的字段类型和统计变量转换为答案集编程(Answer Set Programi ng,ASP)中的数据定义事实。例如,字段FA的数据类型是Number,则其对应的ASP事实是::-type(FA,Number).。其中,type(<字段名>,<数据类型>)表示字段的类型关系。
2、分析任务事实的生成:使用基于字符串模板的方法,把步骤二中获得的分析任务转换为答案集编程(ASP)中的分析任务事实。例如,用户具有分析任务TB,则其对应的ASP事实是::-task(TB).。其中,task(<任务名>)表示用户正在从事某项任务。
3、字段偏好事实的生成:使用基于字符串模板的方法,把步骤二中获得的字段偏好事实转换为答案集编程(ASP)中的字段偏好事实。例如,用户对字段FA的访问频率是0.4,则其对应的ASP事实是::-preference(FA,4).。其中,preference(<字段名>,<访问频率>)表示用户对某字段的偏好程度。由于答案集编程不支持浮点数,因此转换后的访问频率是实际访问频率的十倍,并经过四舍五入取整。
4、设计规则集:通过答案集编程的方式生成可视化,需要预先设定可视化规则,以限制求解器的范围并优化求解效果。
规则集包括通用可视化规则集、任务相关规则集和字段偏好规则集;所述通用可视化规则集编码通用的可视化美学知识和基于数据事实的通用可视化知识;所述任务相关规则集编码特定于任务的可视化知识;所述字段偏好规则集编码存在字段偏好约束下的可视化知识。
(1)用户访谈与文献调研:通过组织研讨会、一对一访谈等形式,与系统的潜在用户和可视化系统设计专家进行交流,逐一记录相应的可视化规则。通过对国内外可视化或图形学相关会议、期刊的文献进行调研总结,同样可以获得可用的可视化规则。
(2)硬约束和软约束划分:从规则的重要性、准确性和目的等角度,人工将收集得到的可视化规则划分为硬约束和软约束。划分标准如表3所示:
表3软硬约束的差异和举例
特点 | 硬约束 | 软约束 |
重要性 | 必须满足 | 可以违反 |
准确性 | 准确,来自可视化专家或权威文献 | 不一定准确,来自用户需求 |
目的 | 保证生成的可视化的基本可用性 | 改善可视化的显示效果 |
举例 | 不能对字符串类型数据求平均值 | 趋势类任务宜使用折线图 |
5、软约束权重设计:当可视化违反一条软约束时,施加与权重一致的损失;可视化在所有软约束上的损失和用于衡量可视化的优劣;使用基于RankSVM的方法为软约束生成权重,将软约束的总数计为Nsoft,则软约束对应的权重表示为:
其中,wi表示第i个软约束的权重。
(1)生成候选可视化对:使用RankSVM对软约束权重进行调整需要构造可比较的可视化对。可视化对基于表4所定义的可视化变量和候选值,随机枚举生成。每次随机选择一种可视化变量的组合,然后选择其中一个变量,修改为随机的另一个候选值,由此生成一对仅有一个可视化变量差异的可视化对。本步骤共生成1000个可视化对,每个可视化对分别对应一个随机的任务。
表4支持的可视化变量和候选值
(2)可视化对比较:招募约100名用户,要求每位用户观看30-40个可视化对并选择一个更能完成给定任务的可视化。其中,用户观看的可视化顺序是随机平衡的。对于同一可视化对的冲突比较结果,以较多的结果为准。由此可以得到这些可视化队在对应任务上的比较结果。
(3)软约束权重训练:对于每个可视化对(A,A′),首先分别记录它们违反每一条软约束的次数,得到特征向量对(FA,FA′)。进一步地,可以得到FA和FA′的差值向量Fdiff=FA-FA′。然后构造A和A′的比较结果:
使用铰链损失函数优化软约束权重w,优化目标是:
W*=argminWL
其中,L为损失的值;n为输入样本的数量;k为软约束权重的数量;yi为对应样本的标签;λ为正则化权重;‖·‖2表示L2正则化方法;argminWL表示使L最小的W取值;W*为最优化的权重值W。
6、候选可视化的生成:将数据事实、分析任务事实、字段偏好事实、可视化规则拼接在一起,可以形成完整的答案集编程的程序输入。将上述程序输入答案集编程求解器(例如Clingo),求解器可以求解得到满足硬约束,且违反软约束的总权重(称为损失)最小的k个候选可视化。
候选可视化去重:由于每一个候选可视化是独立求解的,因此求解器生成的候选可视化可能包括大量视觉相似的可视化。这些视觉相似的候选可视化会增加用户的认知负担。对于每个可视化,本步骤提取参与编码的字段的无序集合。对于具有相同字段集合的候选可视化,本步骤只保留损失最小的候选可视化。
步骤四:系统交互设计
设计算法控制面板,输出S2中预测得到的用户任务和字段偏好特性,展示算法预测结果的变化情况。基于动态排序柱状图,展示当前时间片的算法关键输入,并基于掩码和惩罚值,定义了“指派”、“去除”、“临时遮蔽”三种对任务的编辑操作。
设计前端用户界面和交互控制面板,允许用户使用系统进行交互式数据探索并创建多张可视化图表;允许用户查看可视化推荐结果并实时应用;允许用户对分析任务和字段偏好进行调整和手动指派;允许用户启用或关闭相关模块以适应不同的分析需求。
S41:用户任务的动态展示。用户任务动态展示是以动态排序柱状图的形式呈现的,柱状图中每个矩形表示一个分析任务,以本柱状图的横向宽度为100%,每个矩形的横向宽度widthtask=Stask×100%。不同任务对应的矩形之间使用不同的填充颜色作为区分。当Stask变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减。
S42:字段偏好的动态展示。字段偏好动态展示是以动态排序柱状图形式呈现的,柱状图中每个矩形表示数据集中的一个字段,以本柱状图的横向宽度为100%,每个矩形的横向宽度对于未识别到偏好的字段,它们对应的矩形填充透明度/>对于已识别到偏好的字段,它们对应的矩形填充透明度β=100%,且显示在未识别到偏好的矩形的上方。当nfield和nrecords变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减。
S43:任务的指派。当用户对任务预测结果不满意时,可以通过指派功能,从候选任务中增加任务以改善后续可视化的推荐效果。用户指派的任务的Stask始终为1。
S44:任务的去除。当用户对任务预测结果不满意时,可以通过去除功能,从已识别任务中删除任务以改善后续可视化的推荐效果。用户删除的任务的Stask始终为0。
S45:任务的临时遮蔽。当用户需要比较不同任务组合下的推荐结果不同时,可以通过临时遮蔽功能,从已识别任务中临时遮蔽任务以对比可视化推荐结果之间的差异。用户临时遮蔽的任务的Stask将被视为0,但可以手动或自动恢复为原始值。
1、整体界面:本方法的整体用户界面包括三个主要部分,分别为交互式控制面板、推荐结果查看栏和网格式画布。其中,交互式控制面板可进一步分为可视化控制面板和模型控制面板。用户界面结构和布局示意图如图2所示。
(1)可视化控制面板:本面板控制选中的图表的视觉设置和数据设置,用户可以启用或关闭某个视觉通道、选择可视化类型、对视觉通道使用聚合函数、过滤和分箱。其中,对于数字型字段,用户可以选择一个连续的区间,从而限制只显示区间内的数据;对于字符串型字段,用户可以通过勾选的方式选择只显示勾选的值。
(2)模型控制面板:模型控制面板部分用户界面示意图如图3所示。本面板展示用户的分析任务和字段偏好并允许交互式调整。用户的分析任务以折线图的形式呈现,其中X轴编码操作步数,最多显示最近的15步操作;Y轴编码模型输出的置信度,范围是0-1;颜色编码任务的类型,其中支持的分析任务如表2所示。模型推断出用户可能正在执行的任务以动态排序柱状图的形式展示,其长度编码表示置信度,颜色编码表示任务类型。用户的字段偏好同样以动态排序柱状图的形式展示,其中,模型判断的具有偏好的字段以及用户指定的偏好字段位于顶部,并以颜色互相区别;其余字段位于下方,其长度和透明度均编码表示访问频率。两个区域之间以分割线作为区分。特别地,透明度与访问频率的对应关系如下所示:
其中,β是矩形的透明度,freqf是字段f的访问频率。
(3)推荐结果查看栏:推荐结果查看栏中展示可视化推荐模块生成的候选可视化,从上到下损失依次增大。用户可以点击满意的推荐结果来将其加入画布。
(4)网格式画布:网格式画布采用网格布局定位每个可视化,即每个可视化的四个顶点必须落在网格的格点上。网格的行数不受限制,列数不超过12列,以方便用户对齐图表。
2、交互设计:用户可以通过交互式手段控制推荐系统的参数。参数控制可以分为任务控制、偏好字段控制和模块开关。
(1)任务控制:用户可以点击动态排序柱状图中的矩形来暂时遮蔽对应的任务。被暂时遮蔽的任务对应的矩形被以浅灰色填充,以示区别。再次点击矩形,可以取消该遮蔽效果。每个矩形右侧绘制有一个删除按钮,用户可以点击该按钮来永久删除对应任务,删除的任务将不再显示在动态排序柱状图中,除非由用户手动添加。用户还可以通过添加按钮来手动添加对应的任务。手动添加的任务的置信度始终为1。
(2)偏好字段控制:用户可以点击动态排序柱状图来调整字段的偏好。对于偏好字段的交互控制方法示意图如图4-7所示,操作方法具体为:
①如果被点击的矩形对应字段是模型判断具有偏好的字段,则此点击被视为强制移除该字段的偏好,该字段对应矩形被视为不具有特殊偏好,将被移动到下方其余字段所在的区域,其透明度和长度映射方法依然遵循与其访问频率一致;如图4所示。
②如果被点击的矩形对应字段是用户已经指定的偏好字段,则此点击被视为撤销对该字段偏好的指定,该字段的偏好将被恢复为真实值,对应的矩形被移动到下方其余字段所在的区域,其透明度和长度映射方法与其真实访问频率一致;如图5所示。
③如果被点击的矩形对应字段未被模型或用户判断为偏好字段,则此点击被视为指定对该字段的偏好。该字段的访问频率被视为1,对应的矩形被移动到上方偏好字段所在的区域,其透明度和长度映射方法与其当前频率一致;如图6所示。随着访问率的改变,柱状图改变排序,如图7所示。
(3)模块开关:用户可以通过开关来指定任务偏好、字段偏好的开关,并可以关闭或开启可视化推荐,或重置模型状态。关闭任务偏好表示模型不再生成任务事实;关闭字段偏好表示模型不再生成字段偏好事实;关闭可视化推荐后,不再显示“推荐结果查看栏”;重置模型将删除现有操作序列和访问频次,并将任务预测模型恢复到初始状态。
Claims (7)
1.一种基于用户任务的动态可视化推荐方法,其特征在于,包括以下步骤:
S1:数据获取与处理
对用户输入的数据集进行统计分析,得到数据的统计学特征和数据类型;通过事件总线和发布者-订阅者模型,在交互式分析界面中记录用户操作行为,并对高频事件进行防抖动操作,以保证各事件频率的相对均衡;将事件类型映射到任务感知模型的输入格式;
S2:分析任务与字段偏好生成
从任务感知模型中读出当前时间片的任务和字段偏好预测结果;对于任务预测结果,使用历史数据对预测结果进行平滑,以降低预测结果抖动;对于字段偏好预测结果,使用统计学检验方法,将现有字段偏好与等概率模型进行对比,决定是否修改模型的字段偏好参数;
S3:可视化视图生成与处理
基于S1得到的数据特征和数据类型,生成数据定义事实;基于S2得到的分析任务和字段偏好,生成分析任务事实和字段偏好事实;基于可视化设计经验,设计通用可视化规则集、任务相关规则集和字段偏好规则集;基于上述事实和规则集,使用答案集编程和线性优化方法搜索可视化设计空间,寻找最优可视化设计方案;基于视觉上的相似性,设计可视化去重策略,过滤相似的推荐结果,优化推荐效果;
S4:交互设计
设计算法控制面板,输出预测得到的用户任务和字段偏好特性,展示算法预测结果的变化情况;基于动态排序柱状图,展示当前时间片的算法关键输入,并基于掩码和惩罚值,定义任务的编辑操作。
2.根据权利要求1所述的一种基于用户任务的动态可视化推荐方法,其特征在于,在步骤S1中,数据获取与处理具体为:
S11:定义五种数据类型,分别为:布尔、整数、数字、日期和字符串;整数和数字类型属于数字型字段,布尔、日期和字符串属于字符串型字段;对每种数据类型设置对应的检测函数,从而判断每个字段的数据类型;
S12:定义三种统计变量,即平均数、方差和基数;对于数字型字段,统计字段的平均数、方差和基数;对于字符串型字段,仅统计字段的基数,并记录保存;
S13:基于mitt事务总线,定义用户行为事件名称;在用户交互控件中发布事件,并在服务组件中进行订阅;
S14:运用防抖动算法,对滑动过滤操作进行去重,避免行为种类不平衡;
S15:构建行为-编号映射表,将行为事件映射为数字编号,通过网络发送至后端预测模型。
3.根据权利要求2所述的一种基于用户任务的动态可视化推荐方法,其特征在于,在步骤S2中,分析任务与字段偏好生成具体为:
S21:后端预测模型接收编码后的行为序列,预测输出当前存在某任务的概率和每个字段的偏好程度;
S22:运用历史信息,对模型预测结果进行平滑;最终得到的各任务概率基于以下公式计算:
Stask=α*Htask+(1-α)*Ttask
式中:Stask表示任务task的概率,Htask表示上一次使用的任务概率,Ttask表示模型输出的任务概率,Ttask∈(0,1),α表示融合程度,0≤α≤1;因此,Stask∈[0,1];而初始状态下,Htask=0;
在一次计算结束后,将Stask赋值到Htask:
Htask=Stask,Htask∈[0,1]
S23:运用统计学检验方法,检验字段偏好程度与等概率分布进行比较;如果检测发现二者存在显著差异,则使用用户字段偏好;否则,不启用用户字段偏好。
4.根据权利要求3所述的一种基于用户任务的动态可视化推荐方法,其特征在于,所述统计学检验方法具体为:
S231:构造统计检验假设,构造如下假设:
H0:用户的字段偏好与已有数据相比无显著差异;
H1:用户的字段偏好与已有数据相比有显著差异;
S232:已有数据的获取:首先对数据集执行hash算法,得到一段定长的id字符串;在系统数据库中检索该字符串对应的记录,若存在则将该记录视为已有的该数据集字段偏好数据;若不存在则视为每个字段的选择概率相等,设共有字段nfields个,则每个字段的理论偏好概率
S233:样本量检验:用户对每个字段的选择次数为Af,用户对字段的总选择次数为nrecords;设定对用户的字段偏好记录总次数、每一种字段的选择记录次数和每个字段的理论频数的条件,进行样本量检验:
若通过样本量检验则进入步骤S234,否则认为没有通过统计学检验,拒绝使用用户的字段偏好;
S234:相关性检验:通过下列公式计算X2:
其中,X2为卡方检验的值;nfields为字段总个数;nf为字段f的访问频次,pf为字段f的理论偏好概率;
基于自由度nfields-1,找到对应卡方分布的累积分布函数,基于累积分布函数和求得的X2,即得到H0假设成立的概率p,如下所示:
p=1-Fcdf(X2,nfields-1)
其中,Fcdf为卡方分布的累积分布函数;
若p<0.1,则认为H0假设不成立,接受H1假设,用户偏好与已有数据有显著差异,使用用户字段偏好代替已有数据的字段偏好。
5.根据权利要求3所述的一种基于用户任务的动态可视化推荐方法,其特征在于,在步骤S3中,所述可视化生成与处理的具体过程如下:
S31:生成数据定义事实:使用基于字符串模板的方法,把S1中确定的数据类型转换为答案集编程中定义的数据类型事实;
S32:生成分析任务事实:使用基于字符串模板的方法,把S2中确定的分析任务转换为答案集编程中定义的分析任务事实;
S33:生成字段偏好事实:使用基于字符串模板的方法,把S2中确定的字段偏好转换为答案集编程中定义的字段偏好事实;
S34:设计规则集:规则集包括通用可视化规则集、任务相关规则集和字段偏好规则集;所述通用可视化规则集编码通用的可视化美学知识和基于数据事实的通用可视化知识,其包括硬约束和软约束;所述任务相关规则集编码特定于任务的可视化知识;所述字段偏好规则集编码存在字段偏好约束下的可视化知识;
S35:软约束权重设计:当可视化违反一条软约束时,施加与权重一致的损失;可视化在所有软约束上的损失和用于衡量可视化的优劣;使用基于RankSVM的方法为软约束生成权重,将软约束的总数计为Nsoft,则软约束对应的权重表示为:
其中,wi表示第i个软约束的权重;
S36:候选可视化的生成:数据定义事实、分析任务事实、字段偏好事实、可视化规则组合,形成答案集编程求解器的输入,答案集编程求解器基于线性优化算法,查找所有不违反硬约束的可视化中,软约束损失最小的前若干个可视化,形成候选可视化。
6.根据权利要求5所述的一种基于用户任务的动态可视化推荐方法,其特征在于,在步骤S35中,软约束权重生成方法具体如下:
S351:随机生成候选可视化对:基于预定义的可视化变量和每个变量可选择的候选值,随机生成一个可视化A;随机选择其中的一个可视化变量修改为不同的候选值,得到相似的可视化A′;A和A′构成一个可视化对,重复上述步骤,直到得到Npair个可视化对,随机为每个可视化对赋予一个任务标签;
S352:可视化对的比较:要求用户选择若干可视化对中最能完成给定任务的可视化,最终得到Npair个可视化对在对应任务上的比较结果;
S353:软约束权重训练:求解可视化对中的可视化A和A′违反每一条软约束的数量,形成Nsoft维的特征向量FA和FA′;将FA和FA′相减,得到两个可视化的差异特征向量Fdiff=FA-FA′;并构造A和A′的比较结果y:
将每一个Fdiff作为RankSVM算法的输入特征,y作为输出标签,使用铰链损失函数优化权重W,得到满足给定比较关系的最优软约束损失,优化目标为:
W*=argminWL
其中,L为损失的值;n为输入样本的数量;k为软约束权重的数量;yi为对应样本的标签;λ为正则化权重;‖·‖2表示L2正则化方法;argminWL表示使L最小的W取值;W*为最优化的权重值W。
7.根据权利要求1所述的一种基于用户任务的动态可视化推荐方法,其特征在于,在步骤S4中,交互设计具体为:
S41:用户任务的动态展示:用户任务动态展示以动态排序柱状图的形式呈现,柱状图中每个矩形表示一个分析任务,不同任务对应的矩形之间使用不同的填充颜色作为区分;每个矩形的横向宽度widthtask=Stask×100%,当Stask变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减;Stask表示任务task的概率;
对于已识别到偏好的字段,其对应的矩形填充透明度β=100%,且显示在未识别到偏好的矩形的上方;
当nfield和nrecords变化时,以补间动画的形式调整矩形的宽度和顺序,以保证柱状图中矩形的宽度从上到下递减;
S43:任务的指派:当用户对任务预测结果不满意时,通过指派功能,从候选任务中增加任务以改善后续可视化的推荐效果;
S44:任务的去除:当用户对任务预测结果不满意时,通过去除功能,从已识别任务中删除任务以改善后续可视化的推荐效果;
S45:任务的临时遮蔽:当用户需要比较不同任务组合下的推荐结果不同时,通过临时遮蔽功能,从已识别任务中临时遮蔽任务以对比可视化推荐结果之间的差异。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211610962.XA CN116204704A (zh) | 2022-12-14 | 2022-12-14 | 一种基于用户任务的动态可视化推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211610962.XA CN116204704A (zh) | 2022-12-14 | 2022-12-14 | 一种基于用户任务的动态可视化推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204704A true CN116204704A (zh) | 2023-06-02 |
Family
ID=86510325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211610962.XA Pending CN116204704A (zh) | 2022-12-14 | 2022-12-14 | 一种基于用户任务的动态可视化推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204704A (zh) |
-
2022
- 2022-12-14 CN CN202211610962.XA patent/CN116204704A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101130524B1 (ko) | 목표 변수를 위한 데이터 전망 자동 생성 | |
CN108764663A (zh) | 一种电力客户画像生成管理的方法及系统 | |
US9678628B2 (en) | Method for generating control-code by a control-code-diagram | |
CN101796538A (zh) | 以基于相对面积的控制在页面上布置图形对象 | |
CN110737805B (zh) | 图模型数据的处理方法、装置和终端设备 | |
CN116595328B (zh) | 一种基于知识图谱的数据评分卡模型智能构建装置及方法 | |
CN114626886A (zh) | 一种调查问卷数据分析方法及系统 | |
CN117271905B (zh) | 基于人群画像的侧向需求分析方法及系统 | |
CN105022724B (zh) | 一种基于统计数据与制图需求的统计符号自动选择方法 | |
CN117611397A (zh) | 基于多维数据分析的文旅综合管理平台 | |
CN117875293A (zh) | 一种业务表单模板快速数字化的生成方法 | |
Kim et al. | Visualization support for multi-criteria decision making in software issue propagation | |
CN115187127B (zh) | 基于空间分析的详细规划分级管理智能检测方法 | |
CN116204704A (zh) | 一种基于用户任务的动态可视化推荐方法 | |
CN116610404A (zh) | 一种自动生成数据可视化大屏的实现方法及系统 | |
CN110175191B (zh) | 数据分析中的数据过滤规则建模方法 | |
KR102469610B1 (ko) | 데이터 전처리 시스템 | |
KR100520478B1 (ko) | 경영계획 작성시스템 | |
CN112348092A (zh) | 数据处理方法和装置、服务器及存储介质 | |
AU2020201689A1 (en) | Cognitive forecasting | |
CN112232952A (zh) | 一种成交密集区数据获取方法及装置 | |
CN117391643B (zh) | 一种基于知识图谱的医保单据审核方法及系统 | |
CN110110906A (zh) | 一种基于Efron近似优化的生存风险建模方法 | |
Dolado et al. | A two-stage zone regression method for global characterization of a project database | |
Oppold et al. | LuPe: a system for personalized and transparent data-driven decisions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |