一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分析报告的生成方法、装置及电子设备与流程

2021-11-15 15:44:00 来源:中国专利 TAG:


1.本发明涉及交互式数据分析技术领域,具体涉及一种分析报告的生成方法、装置及电子设备。


背景技术:

2.利用程序自动写报道是很多公司在尝试的事。对于一部分结构化的信息,一方面需要进行一些图表的展示,另一方面,可以生成一些文字性的描述,从而帮助用户更好地理解内容。
3.底层所用到的文本生成技术一般有两种方案:基于模板和基于深度学习的方案。其中基于深度学习的模型主要依靠数据驱动,不需要太多人工干预,也很容易产生丰富又流畅的文字描述,但使用者往往无法直接操控内容生成,难以确保所输出的文本内容同输入数据中的信息吻合。而现阶段主流还是基于规则和模板的方法。这类方法具备明显的可解释性与可控制性,更容易确保所输出文本内容的正确性。当然基于模板的方法目前还有一定的局限性:优质模板的抽取还较为依赖人工特征工程或者规则干预。因此,如何高效地抽取模板是亟需要解决的问题。


技术实现要素:

4.本发明的一个目的是提供一种分析报告的生成方法,配合nl2sql技术以及洞察数据表交互式生成信息描述,利用槽位识别和领域规则学习细粒度的模板配置,并且利用历史数据自动学习全局粒度的模板方案,自动生成段落级别的专业信息描述。
5.为了达到上述目的,本发明的实施例提供了一种分析报告的生成方法,所述方法包括:
6.接收用户的询问信息;
7.解析所述询问信息中的用户意图;
8.根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,得到与所述询问信息相对应的描述信息;
9.根据所述描述信息生成所述询问信息的分析报告;
10.其中,所述nlg存储信息通过如下方式产生:利用nlg算法将洞察产生的结构化信息生成对应的文字描述并存储。
11.进一步地,所述解析所述询问信息中的用户意图,包括:将所述询问信息解析成多个结构化字段,所述多个结构化字段用于表示所述用户意图。
12.进一步地,所述方法还包括:根据所述多个结构化字段,利用所述nl2sql技术生成对应的sql语句;相应的,所述根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,包括:利用所述sql语句查询在预设的nlg存储信息中进行查询。
13.进一步地,所述根据所述描述信息生成所述询问信息的分析报告包括:对所述描述信息进行槽位识别,得到不同槽位的信息;按照领域规则库中的规则,将所述不同槽位的
信息进行组织,得到单句的描述信息;将多个单句的描述信息进行串联,生成所述询问信息的分析报告。
14.进一步地,所述将多个单句的描述信息进行串联,包括:识别一个单句中关注的槽位,根据所述关注的槽位将所述单句抽象成中间框架;对多个单句的中间框架进行聚类,得到每种中间框架的一个或多个特征;根据已构建的排序模型,为多个单句选择合适的中间框架作为模板;将单句中关注的槽位信息填入到模板中,并进行拼接。
15.进一步地,所述对多个单句的中间框架进行聚类包括:根据单句中的动词或者修饰词对所述中间框架进行聚类。
16.进一步地,所述方法还包括:为不同槽位的信息提供相应的同义词库,所述同义词库中的词用于:生成单句的描述信息时替换相应槽位的信息。
17.进一步地,所述方法还包括:接收所述用户对于所述分析报告的调整信息;根据所述调整信息生成高权重样本;利用所述高权重样本训练所述nlg存储信息。
18.本发明实施例还提供了一种分析报告的生成装置,所述装置包括:
19.接收模块,接收用户的询问信息;
20.解析模块,解析所述询问信息中的用户意图;
21.查询模块,根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,得到与所述询问信息相对应的描述信息;
22.生成模块,根据所述描述信息生成所述询问信息的分析报告;
23.其中,所述nlg存储信息通过如下方式产生:利用nlg算法将洞察产生的结构化信息生成对应的文字描述进行存储。
24.进一步地,所述解析模块中,所述询问信息中的用户意图,包括:将所述询问信息解析成多个结构化字段,所述多个结构化字段用于表示所述用户意图。
25.进一步地,所述解析模块还根据所述多个结构化字段,利用所述nl2sql技术生成对应的sql语句;相应的,所述根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,包括:利用所述sql语句查询在预设的nlg存储信息中进行查询。
26.进一步地,所述生成模块中,根据所述描述信息生成所述询问信息的分析报告包括:对所述描述信息进行槽位识别,得到不同槽位的信息;按照领域规则库中的规则,将所述不同槽位的信息进行组织,得到单句的描述信息;将多个单句的描述信息进行串联,生成所述询问信息的分析报告。
27.进一步地,所述将多个单句的描述信息进行串联,包括:识别一个单句中关注的槽位,根据所述关注的槽位将所述单句抽象成中间框架;对多个单句的中间框架进行聚类,得到每种中间框架的一个或多个特征;根据已构建的排序模型,为多个单句选择合适的中间框架作为模板;将单句中关注的槽位信息填入到模板中,并进行拼接。
28.进一步地,所述对多个单句的中间框架进行聚类包括:根据单句中的动词或者修饰词对所述中间框架进行聚类。
29.进一步地,所述生成模块还为不同槽位的信息提供相应的同义词库,所述同义词库中的词用于:生成单句的描述信息时替换相应槽位的信息。
30.进一步地,所述装置还包括调整模块,接收所述用户对于所述分析报告的调整信息;根据所述调整信息生成高权重样本;利用所述高权重样本训练所述nlg存储信息。
31.本发明实施例还提供了一种电子设备,所述设备包括:
32.存储装置;
33.一个或多个处理器;
34.其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的分析报告的生成方法。
35.本发明实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现前述的分析报告的生成方法。
36.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现前述的分析报告的生成方法。
37.本发明的有益效果是:本发明主要解决的就是如何利用历史数据高效地学习一套准确的nlg模板,并将其应用于自动报道生成领域。本发明提出一种通过结合nl2sql技术,解析用户意图,配合洞察数据表,进行选择性的文本生成,从而达到用户交互的数据分析报告生成方法。该方法采用槽位识别、领域知识规则、同义词库等方案,能够生成较为准确以及多样化的单句描述文案。通过单句框架聚类的方案,能将零散的单句描述有效地拼接成为一个段落整体,形成段落性的模板,从而给用户一个全局化的信息描述。在用户界面上,通过用户的交互式修改,修改部分样本可以作为高权重训练数据加入到历史数据中重新训练模型,从而不断完善生成模板。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
39.图1为本发明的实施例一的方法流程图。
40.图2为细粒度模板示例图。
41.图3为领域推理关系图谱和同义词库示意图。
42.图4为本发明实施例二的装置的框图。
具体实施方式
43.为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.自然语言生成(natural language generation,以下简称nlg)是研究使计算机具有人一样的表达和写作的功能,即能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。一般来说,nlg的处理步骤主要包含以下三步:篇章规划、微观规划以及表层实现。篇章规划涉及写什么的问题,主要通过用户交互、意图识别、内容选择来实现。微观规划涉及如何写的问题,主要通过领域知识规则、槽位识别等来实现。表层实现涉及写得好的问题,主要通过精准性、可读性、多样性来表
现。
45.nl2sql(natural language to sql)是一种通过意图识别等技术,将自然语言问句转化为sql查询语句的技术,在本专利申请中对nl2sql不做详细介绍。
46.实施例一
47.参阅图1,本发明实施例一提供一种交互式数据分析报告自动生成方法,所述方法包括:
48.s101、接收用户的询问信息。例如,用户通过交互界面输入“昨天天猫整体的gmv情况”的询问。
49.s102、解析所述询问信息中的用户意图。
50.所述解析所述询问信息中的用户意图,包括:将所述询问信息解析成多个结构化字段,所述多个结构化字段用于表示所述用户意图。具体地,根据所述多个结构化字段,利用所述nl2sql技术生成对应的sql语句。例如,当用户询问“昨天天猫整体的gmv情况”的时候,意图解析模型会将这个问题解析成隐表1的格式。隐表1有d1、d2、d3三个结构化的字段,然后nl2sql技术会还原成对应的sql语句:
51.select gmv from洞察表 where date=昨日 and domain=天猫。
52.s103、根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,得到与所述询问信息相对应的描述信息。在交互式查询报告场景,对于篇章规划阶段,可以根据以下逻辑进行生成。智能洞察平台在每天利用洞察算法产生一批领域内异常表、下钻表等。后台利用nlg算法定时地将洞察产生的结构化信息生成对应的文字描述进行存储。在顶层,通过一些nl2sql的方式解析出用户的意图,通过这些意图在nlg存储信息中进行查询,进而得到用户想要询问的信息。
53.利用上述sql语句去预先产生好的洞察表中去查询信息,从而得到对应的信息描述:昨日天猫整体gmv为**亿元,同比大幅增长20%,环比微增1%,整体呈上升趋势。
54.s104、根据所述描述信息生成所述询问信息的分析报告。
55.具体地,步骤s104包括:s1041、对所述描述信息进行槽位识别,得到不同槽位的信息;按照领域规则库中的规则,将所述不同槽位的信息进行组织,得到单句的描述信息。
56.微观规划阶段,本方案主要依赖槽位识别和领域推断规则等。利用槽位识别技术对需要表述的信息进行抽象,例如当前说的是什么维度的信息,我们想看这些维度的哪些指标,这些指标的表现如何等等。
57.对这些槽位进行抽象之后,就可以根据类似图2的一些模板来生成对应的描述。其中,对于一些修饰词,比如当前指标是十分明显还是异常显著这些,则是nlg步骤中的表层实现,即当前文案怎么写才算好的问题。具体到当前场景,可以采取一些较为简单的方案,例如设定一些领域规则库。如图3所示,对于一些特定的维度指标,设定不同描述的对应的阈值,同时设计好相应的同义词库,即可在一定程度上实现描述的多样性。这样就能生成类似以下每一行的文字描述:
58.本周消费电子gmv(7.83亿)同比暴涨27.8%。
59.3c数码(4.33亿)同比快速拉升38.2%,其中手机子类目同比涨幅超过40%,表现最为突出。
60.分行业来看,较为显著地受3c数码和生活家电影响。
61.s1042、将多个单句的描述信息进行串联,生成所述询问信息的分析报告。
62.上面提到的槽位识别和领域知识规则等都是用于在单句描述中,如何准确、专业以及多样化地描述信息。但是一个完整的数据分析报告应该是由多句信息串联而成。因此,本发明着重优化了从训练中自动抽取单句模板如何拼接成为一个段落整体的功能。具体步骤如下:
63.s1042a、识别每句话中关注的领域标签,包括谓词和实体词,并将训练语料进行抽象。
64.整理语料,整理重点关注的槽位,然后将原句子进行抽象成中间框架的形式,例如下面两句可以抽象成类似的框架:
65.分行业来看,较为显著地受3c数码和生活家电影响。
66.从地区来看,上海和北京地区涨幅最为明显。
67.可以抽象成:
68.分[维度]来看,[表现修饰词]地受[维度实体]和[维度实体]影响。
[0069]
从[维度]来看,[维度实体]和[维度实体]地区[表现修饰词]。
[0070]
这一步处理完,每个句子表示成中间框架templates的样式。
[0071]
s1042b、根据一些半经验的方法对上述中间框架进行聚类,如可以只根据模板中的动词或者修饰词进行聚类等。
[0072]
a.{cuid:001}

分[维度]来看,[表现修饰词]地受[维度实体]和[维度实体]影响。
[0073]
b.{cuid:001}

从[维度]来看,[维度实体]和[维度实体]地区[表现修饰词]。
[0074]
c.{cuid:002}

[维度实体]同比也有[动词]。
[0075]
将每个模板打上一个类别标号cuid。可以看到,a和b这两个中间框架属于同一个聚类。
[0076]
s1042c、每个cuid类统计一些特征。
[0077]
比如每个位置的模板类分布(比如第1句话中出现过5次cuid1,2次cuid2,1次cuid3.那么第一句话最大概率选cuid1中的模板),以及平均动词数、平均实体数,ngram词频等等。
[0078]
s1042d、构建排序模型,为每一个位置挑选合适的模板。
[0079]
对于每一个训练文档的每一个位置上的句子都可以生成一个或多个训练样本,如果是point-wise的模型,直接拿当前句子和候选模板去匹配(编辑距离等方式),匹配上了就把当前位的该模板样本标1,否则为0。
[0080]
如果是listwise,每个模板具有若干特征,标签就是1~10的排序。拿当前的句子去和模板匹配(编辑距离等方式)(可以选top10进行简化)。当然我们也可以根据上面统计的指标生成一批新的指标,比如当前模板的cuid是否和当前位置出现次数最多的模板的cuid一致、当前模板和当前位置出现次数最多的模板的实体重合度等等

[0081]
最后排序模型就可以根据上面的特征,训练一个svm排序模型。当然,从上面这些特征来看,这里其实也存在一个序列的关系,也就是说某个位置n的模板是依赖于当前位置前面若干个模板的情况。这样就可以利用lstm模型来训练。
[0082]
s1042e、基于模板的生成。
[0083]
在生成的时候,一句一句来,每次到一个位置,用特征打分和模型挑选一个最合适
的模板,然后根据输入数据进行填充。把生成的句子贴到新文章后面,然后生成下一句。
[0084]
最终能生成以下一个完整的段落描述:
[0085]
本周消费电子gmv(7.83亿)同比暴涨27.8%。
[0086]
分行业来看,较为显著地受3c数码和生活家电影响。
[0087]
3c数码(4.33亿)同比快速拉升38.2%,其中手机子类目同比涨幅超过40%,表现最为突出。
[0088]
分地区来看,上海和北京地区涨幅最为明显。
[0089]
可选地,所述方法还包括步骤s105、接收所述用户对于所述分析报告的调整信息;根据所述调整信息生成高权重样本;利用所述高权重样本训练所述nlg存储信息。
[0090]
通过用户交互界面,用户可以对不满意的单句粒度的信息进行调整,也可以对全局粒度模板中的单句顺序进行调整,调整后的结果可以作为高权重样本参与历史模板学习模型中去,重新训练模板,不断完善现有模板。
[0091]
实施例二
[0092]
参阅图4,本发明实施例二提供了一种交互式数据分析报告自动生成装置400,所述装置包括:
[0093]
接收模块401,接收用户的询问信息;
[0094]
解析模块402,解析所述询问信息中的用户意图;
[0095]
查询模块403,根据所述用户意图在预设的自然语言产生nlg存储信息中进行查询,得到与所述询问信息相对应的描述信息;
[0096]
生成模块404,根据所述描述信息生成所述询问信息的分析报告;
[0097]
其中,所述nlg存储信息通过如下方式产生:利用nlg算法将洞察产生的结构化信息生成对应的文字描述进行存储。
[0098]
优选地,所述调整模块405,用于接收所述用户对于所述分析报告的调整信息;根据所述调整信息生成高权重样本;利用所述高权重样本训练所述nlg存储信息。
[0099]
所属领域的技术人员可以清楚的了解到,为了描述的方便和简洁,上述描述的装置、模块和单元的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。
[0100]
另外,本发明实施例还公开了一种电子设备,其包括存储装置和一个或多个处理器,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如实施例一的方法。
[0101]
本发明实施例还公开了一种计算机程序产品,包括计算机程序指令,当指令由处理器执行时,用于实现如实施例一的方法。
[0102]
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如实施例一的方法。
[0103]
附图中的流程图和框图显示了根据本发明的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的
组合来实现。
[0104]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明,上述实施例仅是为说明所作的举例,而并非对实施方式的限定。对于本领域技术人员来说,在上述说明的基础上,还可以做出其它不同形式的变化或变动,而这些变化或变动将是显而易见的,处于本发明的保护范围之中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献