公开/公告号CN112269866A
专利类型发明专利
公开/公告日2021-01-26
原文格式PDF
申请/专利权人 佰聆数据股份有限公司;
申请/专利号CN202011257525.5
申请日2020-11-12
分类号G06F16/332(20190101);G06F16/33(20190101);G06F16/34(20190101);G06F16/35(20190101);
代理机构44245 广州市华学知识产权代理有限公司;
代理人林梅繁
地址 510663 广东省广州市高新技术产业开发区科学城科学大道162号创意大厦B3栋1301单元
入库时间 2023-06-19 09:41:38
技术领域
本发明涉及数据分析技术领域,尤其涉及一种基于自然语言描述生成的数据分析方法、系统、存储介质及计算机设备。
背景技术
现有的自助式数据分析系统,一般是用户通过拖、拉、拽的方式或者通过自然语言交互方式生成可视化的结果呈现出来,用户需要对结果进行查看、分析得出最终的结论。对于一些复杂的数据及结果,用户需要花费较多的时间了解数据内容,各维度与指标之间的关系,才能得出结论。然而,当前没有出现通过自动对数据当中的关系进行分析挖掘,结合可视化呈现的结果,最终形成一定的分析结论,以便辅助用户理解数据的系统或者程序。因此,希望可以提出基于自然语言描述生成的数据分析方法等技术方案,用于解决上述的问题。
发明内容
本发明提供一种基于自然语言描述生成的数据分析方法、系统、存储介质及计算机设备,通过对数据中相关的维度、指标进行自动探索分析,发现数据中的规律以及存在异常情况,生成当前数据以及图表的自然语言描述信息,可以帮助用户快速了解数据分析结果,提升分析效率,以指导业务快速迭代。
根据本发明的基于自然语言描述生成的数据分析方法,包括以下步骤:
S1、基于当前分析任务的输入数据,进行数据自动探索,将数据的基本情况以及不同维度、不同指标下的异常情况均挖掘出来,并对自动探索结果进行封装;
S2、将分析任务按照输入数据的类型以及用途进行分类;
S3、根据分析任务的类型及分析特点,定制相应的分析程序及话术模板,当调用相应的分析任务时,同时调用相应的分析程序,对输入数据中隐藏的信息进行挖掘,同时结合对应的话术模板进行填充,生成相应的数据解释;
S4、基于数据自动探索的输出结果、所定制的分析任务相应的分析程序以及话术模板填充的结果,结合语言模型生成自然语言描述的数据结论。
根据本发明的基于自然语言描述生成的数据分析系统,包括:
数据自动探索模块,用于基于当前分析任务的输入数据,进行数据自动探索,将数据的基本情况以及不同维度、不同指标下的异常情况均挖掘出来,并对自动探索结果进行封装;
分析任务分类模块,用于将分析任务按照输入数据的类型以及用途进行分类;
话术模板定制模块,用于根据分析任务的类型及分析特点,定制相应的分析程序及话术模板,当调用相应的分析任务时,同时调用相应的分析程序,对输入数据中隐藏的信息进行挖掘,同时结合对应的话术模板进行填充,生成相应的数据解释;
分析结论生成模块,用于基于数据自动探索的输出结果、所定制的分析任务相应的分析程序以及话术模板填充的结果,结合语言模型生成自然语言描述的数据结论。
本发明的存储介质,其上存储有计算机指令,当计算机指令被处理器执行时,实现本发明数据分析方法的各步骤。
本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,当处理器运行所述计算机程序时,实现本发明的数据分析方法。
与现有技术相比,本发明的显著效果在于:能够基于数据和呈现的可视化分析结果,对数据中相关的指标、维度数据进行自动探索、统计分析,发现数据中的规律以及存在异常情况,并将分析结果转换为当前数据以及图表的自然语言描述信息,方便用户快速了解分析结果(例如数据的基本情况,以及隐藏在数据中的异常问题),减少用户读取图表数据的困难,提升用户分析效率,以指导业务快速迭代。
附图说明
图1是本发明数据分析方法的实现流程图;
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参阅图1,本实施例中基于自然语言描述生成的数据分析方法,包括以下步骤:
S1、基于当前分析任务的输入数据,进行数据自动探索,将数据的基本情况以及不同维度、不同指标下的异常情况均挖掘出来,并对自动探索结果进行封装。
基于当前分析任务的输入数据,对当前分析任务中使用到的指标和维度,集合当前分析任务本身的特点进行自动探索分析。自动探索分析时,从当前分析任务的分析维度、分析指标入手探查数据的分布情况,不同维度取值在指标上的差异情况;如果是多个维度变量或多个指标变量,则进行多维分析、交叉分析,通过遍历所有可能的情况对数据进行全方位的诊断,从而将数据的基本情况以及不同维度、不同指标下的异常情况均挖掘出来。
进一步地,步骤S1具体包括:
S11、自动探索:将常用的数据统计方法和分析方法封装集成,对当前分析任务的输入数据中的维度和指标展开多个角度的探索。
对于输入数据中离散的维度指标通过频数分布分析得到其各个取值的分布比例,然后降序排列,取出排在前面的若干取值,所述若干取值的占比总和超过50%,同时对于取值个数较多的情况统计占比最大的前50%的取值有哪些;对于占比超过平均占比的取值进行筛选,筛选时对比占比非常小(例如最小或接近最小)的取值进行;若是多个离散的维度指标,则根据数据实际情况使用卡方检验探索维度之间的关系。
对于输入数据中连续的分析指标计算其基本的统计量、分布形状分析(属于左偏分布还是右偏分布,属于尖峰分布还是平峰分布),以及进行正态分布检验。若有多个连续的分析指标,则进行相关性分析。
对离散的维度指标和连续的分析指标,根据输入数据的情况进行方差分析,判断不同维度取值下连续的分析指标之间是否有统计学差异,以及对连续的分析指标进行其他可能的多维交叉分析。
S12、探索结果封装:将自动探索得到的结果,包括每个维度指标的结果、每个分析指标的结果、多维交叉分析的结果、卡方检验结果、方差分析结果等,封装在JSON数据结构中,作为后续描述信息生成的输入数据。
S2、分析任务归类
将系统中现有的分析任务按照输入数据的类型以及用途进行分类,例如:分为钻取分析(动态钻取/固定钻取)、对比分析(指标对比、维度系列对比、分组对比)、动态预警、时序预测、统计特性(求和、平均、方差等)、同比/环比/定基比等分析功能;以及交叉报表、分组报表、多维图形分析、路径轨迹分析、进度分析、漏斗分析、聚类分析等。
S3、根据分析任务的类型及分析特点,定制相应的分析程序及话术模板。
除了基础的数据自动探索分析之外,对每一种类型的分析任务,根据其类型及分析特点单独定制一套分析程序以及话术模板,当系统调用相应的分析任务时,同时调用相应的分析程序,对输入数据中隐藏的信息进行挖掘,同时结合对应的话术模板进行填充,生成相应的数据解释。
进一步地,步骤S3具体包括:
S31、话术模板制定
对步骤S1自动探索的输出结果,根据不同的分析任务类型分别制定相应的话术模板,不同的话术模板对应不同的数据分析方法;同时对于不同的输出结果类型,主要是图形和表格,也需要分别定制相应的结果解释模板。例如对于分布分析的图形结果可制定如下模板:“[DataSource]数据中[CategoryVariableName]的共有[ValueCount]种,其中[MaxPercentValue]的占比最大为[MaxPercent],是平均占比[AveragePercnet]的[MaxVSAverageRate]倍;前[Top50ValueCount]个取值占比超过50%,分为别[Top50ValueList]”;对于相关性分析的结果,如果相关系数大于一定阈值,可以制定如下模板:“分析指标[AnalysisVariable1]和[AnalysisVariable2]之间存在高度相关性,其相关系数为[CorrelationValue]”。
S32、填充话术模板内容
将自动探索输出的封装结果进行解析,并填充至对应的话术模板的占位符中,生成相应的数据解释。以步骤S31制定的话术模板为例:客户数据中客户类型共有5种,其中普通用户的占比最大为48%,是平均占比23%的2倍;前2个取值占比超过50%,分别为普通用户、中级用户。
S4、分析结论生成
基于数据自动探索的输出结果、所定制的分析任务相应的分析程序以及话术模板填充的结果,结合语言模型(Language Model)生成自然语言描述的数据结论。
进一步地,步骤S4具体包括:
S41、构建语言模型
语言模型是一个词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率P(w_1,w_2,…,w_m)。语言模型其实就是想办法找到一个概率分布,它可以表示任意一个句子或序列出现的概率;通过给定的上文来预测句子的下一个词,如果所预测的词和下一个词是一致的,即该词在上文的前提下出现的概率比其它词概率要高,那么“上文+该词”出现的概率就会比“上文+其他词”的概率要更大,“上文+该词”出现在句子中更为合理。
本实施例中,语言模型的构建使用N-Gram模型,针对一个句子w1、w2、w3…wn的概率可表示为:
其中w1,w2,…wm表示一句话中的m个词语,P(w1,w2,…,wm)表示这句话出现的概率;P(wi|w1,…wi-1)表示词wi在w1,…wi-1下的条件概率。公式所表示的意思是当前词的概率与前面n-1个词相关,这称之为马尔可夫假设,在该假设下可以大大简化语言模型,减少需要参与计算的先验参数,同时能保持一定的模型效果。
S42、通过大量的语料对语言模型进行训练,使用语言模型优化话术模板生成的描述信息,使其更加符合人类自然语言的表达方式。
基于相同的发明构思,本发明还提出数据分析系统、存储介质及计算机设备。
本发明的数据分析系统,包括:
数据自动探索模块,用于实现上述步骤S1,基于当前分析任务的输入数据,进行数据自动探索,将数据的基本情况以及不同维度、不同指标下的异常情况均挖掘出来,并对自动探索结果进行封装;
分析任务分类模块,用于实现上述步骤S2,将分析任务按照输入数据的类型以及用途进行分类;
话术模板定制模块,用于实现上述步骤S3,根据分析任务的类型及分析特点,定制相应的分析程序及话术模板,当调用相应的分析任务时,同时调用相应的分析程序,对输入数据中隐藏的信息进行挖掘,同时结合对应的话术模板进行填充,生成相应的数据解释;
分析结论生成模块,用于实现上述步骤S4,基于数据自动探索的输出结果、所定制的分析任务相应的分析程序以及话术模板填充的结果,结合语言模型生成自然语言描述的数据结论。
本发明的存储介质上存储有计算机指令,当计算机指令被处理器执行时,实现本发明数据分析方法的步骤S1-S4。
本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,当处理器运行所述计算机程序时,实现本发明的数据分析方法。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 一种基于指针的对象获取方法,用于对计算机系统的信息进行有形处理,该方法基于一种自然语言,并且该机器人或机器人的人工智能系统对该计算机系统的接收信号作出反应,该计算机系统具有相应的关联机器人或机器人的人工智能,该机器人或机器人的人工智能计算机系统的相应思想得到证实
机译: 打印设置装置,计算机可读记录介质和图像形成系统,用于生成以包括在多种数据格式中的一种数据格式描述的打印设置信息,并将打印作业提交至能够基于打印设置执行打印作业的图像形成装置以多种数据格式描述的信息
机译: 用于合成双耳音频信号的方法和装置;一种合成立体声音频信号的方法;参数音频解码器;计算机程序上存储的计算机程序产品,可在数据处理设备中执行以执行用于处理音频信号参数编码ADO的数据处理设备,该信号至少包括多个音频通道的组合信号和一组或多组音频描述多声道声像的相应信息;产生编码音频信号参数的方法;音频编码器,用于生成参数音频信号。 Etricamente编码;计算机程序的产品。通过计算机存储在计算机中,并在数据处理设备中可执行以生成编码的音频信号参数