一种面向主数据的自然语言查询并智能生成报表的方法技术

技术编号:23084988 阅读:45 留言:0更新日期:2020-01-11 01:07
本发明专利技术提供一种面向主数据的自然语言查询并智能生成报表的方法,涉及自然语言理解和数据库技术领域。该面向主数据的自然语言查询并智能生成报表的方法,包括以下步骤:S1.基于结构化存储的主数据和业务数据,构建查询统计分析的基础库,包括语料库、知识库、规则库,其中规则库为可选;S2.用户使用自然语言,向系统输入查询请求;S3.基于步骤1建立的基础库,对用户查询进行抽取,获得其中包括但不限于涉及的主数据和业务数据的查询目标、查询条件和结果表现形式等查询意图要素。通过使用该方法,可以向用户提供了更丰富的查询方式,例如“趋势”,“对比”,“分布”,“同比”等图表查询,可以满足用户的更多数据分析需求。

A natural language query and intelligent report generation method for master data

【技术实现步骤摘要】
一种面向主数据的自然语言查询并智能生成报表的方法
本专利技术涉及自然语言理解和数据库
,具体为一种面向主数据的自然语言查询并智能生成报表的方法。
技术介绍
主数据指系统间共享数据(例如,客户、供应商、账户和组织部门相关数据),与记录业务活动,波动较大的交易数据相比,主数据(也称基准数据)变化缓慢,在正规的关系数据模型中,交易记录(例如,订单行项)可通过关键字(例如,订单头或发票编号和产品代码)调出主数据。主数据必须存在并加以正确维护,才能保证交易系统的参照完整性。主数据和业务数据存放在数据库中,对其进行数据分析前要对数据库进行有效的查询,传统的数据库查询需要专业人员深入理解数据库内部的结构,并构建出正确的SQL查询语句,这给非专业的销售人员或管理人员带来了巨大的困难。数据库自然语言查询是自然语言理解与数据库技术结合的产物。数据库自然语言接口允许用户通过自然语言对数据库进行各种操作,由系统自动的将其转换为数据库的操作语言,但是由于缺乏语料库,基于词性标注和语法分析对数据库的自然语言查询处理的效果无法达到实用的要求。东南大学的CQI系统是国内首次研制成功的基于E-R模型的数据库中文查询接口,在查询是只能实用祈使句型,并且词汇量有限,除此之外,现有的自然语言查询系统将查询结果返还给用户,缺乏对结果的分析处理和可视化的展现,用户需要借助其它的工具来进一步进行数据处理。
技术实现思路
(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种面向主数据的自然语言查询并智能生成报表的方法,解决了上述所提及的问题。(二)技术方案为实现以上目的,本专利技术通过以下技术方案予以实现:一种面向主数据的自然语言查询并智能生成报表的方法,包括以下步骤:S1.基于结构化存储的主数据和业务数据,构建查询统计分析的基础库,包括语料库、知识库、规则库,其中规则库为可选;S2.用户使用自然语言,向系统输入查询请求;S3.基于步骤1建立的基础库,对用户查询进行抽取,获得其中包括但不限于涉及的主数据和业务数据的查询目标、查询条件和结果表现形式等查询意图要素;S4.基于步骤3获得的查询目标和查询条件,生成对应的结构化查询语句,进一步获得查询统计分析结果列表;S5.基于步骤3获得的结果表现形式和步骤4获得的查询统计分析结果列表,生成报表并展示给用户。优选的,所述步骤1的具体步骤如下:1)建立查询统计分析的语料库,以用户上传、爬虫获取、系统API读入等多种方式,获得一组主数据,及其与它们关联的时间序列形式的业务数据,其中主数据和业务数据组织如下:a.一个主数据为一个数据表格,存储着一类目标的实例,表格的每一行存储的是一个目标,表格的每一列是目标的一个属性字段,表头对应着属性名;b.一个业务数据为由一组主数据形成关联,并随着时间持续产生和积累的数据;c.对主数据和业务数据进行预处理,包括文本提取等,形成语料库;开始时有少量人工整理的常见用户查询语句作为语料库,随着系统的使用,不断将用户的查询语句加入到语料库中;2)建立查询统计分析的知识库:a.通用实体获取,包括时间和地点等,时间包括年月日的组合等,采用枚举的方式定义;地点包括省、市、区、县的层次关系,使用网络爬虫程序在指定网站中自动获取;b.自动从主数据和业务数据中抽取实体和实体间的关系,其中实体来源有两类,一类是表头,另一类是某一个目标某一列的取值,实体的类型应该包括但不限于,公司名、部门名、机构名和商品名等,实体间的关系根据表关系建立;3)建立查询统计分析的规则库:将使用自然语言的查询定义为如下的查询表达:QueryRequest→QueryT+QueryCon+QueryS其中QueryRequest是自然语言查询问句,QueryT是查询目标要素,QueryCon是查询条件要素,QueryS是表现形式要素,在实现中,关注自然语言查询问句中的如下语言成分:(1)对象名;(2)属性值;(3)量词;(4)比较词;(5)聚集操作词;(6)连接词;(7)统计方式词;查询目标要素、查询条件要素和表现形式要素由以上语言成分和它们的组合构成,统计规则库基于语料库和知识库,用以从自然语言查询问句中标注查询目标、查询条件和表现形式,实际上完成对以上语言成分和它们的组合的标注,规则库中包括但不限于以下几类规则:(1)查询目标规则:查询目标规则用于对自然查询语句中的查询目标要素进行标注和汇集,包括对象名、量词和聚集操作词等,得到查询目标集合;可能的查询目标包括但不限于销量、销售额、时间、地区、公司、商务代表、上下游企业、上下游省份、城市、部门、上级部门、下级部门、部门类型、管辖区域、区县、等级、企业类型、别名、规格、型号、出厂价、单价、品类、规格、型号、批号、销售状态等;(2)查询条件规则:查询条件规则用于对自然查询语句中的查询条件进行标注和汇集,得到查询条件组合,主要对查询中的各类型条件进行标注,包括查询条件中的对象名、比较词和属性值,以及连接词等;(3)表现形式规则:表现形式规则实现对自然查询语句中的表现形式进行标注,主要包括统计方式词等的标注,标注的内容包括但不限于如下类别:i)具体数值查询;ii)统计计算结果查询;iii)列表查询;iiii)图表查询;其中规则库为可选。优选的,所述步骤2中用户输入的使用自然语言描述的查询请求,包含但不限于文字形式的自然语言描述,以及经OCR或ASR等技术处理后产生的文字。优选的,所述步骤3中在进行主数据和业务数据的查询目标、查询条件和结果表现形式等查询意图要素抽取时,具体地是对其中的各种目标概念和语义模式进行匹配识别。优选的,所述步骤3中使用机器学习方法对抽取的各种目标概念和语义模式进行优化和扩展,包括但不限于:1)自动识别同一个概念的其它定义形式;2)自动识别多个概念是否形成某个指定关系;3)自动识别某个词是否形成了一个概念。优选的,所述步骤3还包括以下内容:1)对于用户查询的查询目标和查询条件,如果没有抽取到匹配的目标,则根据语义相似度选择可能性最大的列名或属性值等作为替代;2)如果用户输入查询中缺少查询目标或查询条件的某些字段,则进行自动补充。优选的,所述步骤4中根据步骤3得到的查询目标要素和查询条件要素,生成结构化查询语句的方法如下:1)将抽取得到的查询目标要素,写入SQL语句中的Select子句;2)将抽取得到的查询条件要素,写入Where子句,包括过滤器的数量、类别、条件列名以及条件值;3)根据抽取得到查询条件要素和知识库中的实体关系,写入From子句。优选的,所述步骤5中的具体步骤如下:1)如果在查询语句中抽取到表现形式,则根据该表现方式生成报表,进行可视化;...

【技术保护点】
1.一种面向主数据的自然语言查询并智能生成报表的方法,其特征在于:包括以下步骤:/nS1.基于结构化存储的主数据和业务数据,构建查询统计分析的基础库,包括语料库、知识库、规则库,其中规则库为可选;/nS2.用户使用自然语言,向系统输入查询请求;/nS3.基于步骤1建立的基础库,对用户查询进行抽取,获得其中包括但不限于涉及的主数据和业务数据的查询目标、查询条件和结果表现形式等查询意图要素;/nS4.基于步骤3获得的查询目标和查询条件,生成对应的结构化查询语句,进一步获得查询统计分析结果列表;/nS5.基于步骤3获得的结果表现形式和步骤4获得的查询统计分析结果列表,生成报表并展示给用户。/n

【技术特征摘要】
1.一种面向主数据的自然语言查询并智能生成报表的方法,其特征在于:包括以下步骤:
S1.基于结构化存储的主数据和业务数据,构建查询统计分析的基础库,包括语料库、知识库、规则库,其中规则库为可选;
S2.用户使用自然语言,向系统输入查询请求;
S3.基于步骤1建立的基础库,对用户查询进行抽取,获得其中包括但不限于涉及的主数据和业务数据的查询目标、查询条件和结果表现形式等查询意图要素;
S4.基于步骤3获得的查询目标和查询条件,生成对应的结构化查询语句,进一步获得查询统计分析结果列表;
S5.基于步骤3获得的结果表现形式和步骤4获得的查询统计分析结果列表,生成报表并展示给用户。


2.根据权利要求1所述的一种面向主数据的自然语言查询并智能生成报表的方法,其特征在于:所述步骤1的具体步骤如下:
1)建立查询统计分析的语料库,以用户上传、爬虫获取、系统API读入等多种方式,获得一组主数据,及其与它们关联的时间序列形式的业务数据,其中主数据和业务数据组织如下:
a.一个主数据为一个数据表格,存储着一类目标的实例,表格的每一行存储的是一个目标,表格的每一列是目标的一个属性字段,表头对应着属性名;
b.一个业务数据为由一组主数据形成关联,并随着时间持续产生和积累的数据;
c.对主数据和业务数据进行预处理,包括文本提取等,形成语料库;开始时有少量人工整理的常见用户查询语句作为语料库,随着系统的使用,不断将用户的查询语句加入到语料库中;
2)建立查询统计分析的知识库:
a.通用实体获取,包括时间和地点等,时间包括年月日的组合等,采用枚举的方式定义;地点包括省、市、区、县的层次关系,使用网络爬虫程序在指定网站中自动获取;
b.自动从主数据和业务数据中抽取实体和实体间的关系,其中实体来源有两类,一类是表头,另一类是某一个目标某一列的取值,实体的类型应该包括但不限于,公司名、部门名、机构名和商品名等,实体间的关系根据表关系建立;
3)建立查询统计分析的规则库:
将使用自然语言的查询定义为如下的查询表达:
QueryRequest→QueryT+QueryCon+QueryS
其中QueryRequest是自然语言查询问句,QueryT是查询目标要素,QueryCon是查询条件要素,QueryS是表现形式要素,在实现中,关注自然语言查询问句中的如下语言成分:
(1)对象名;
(2)属性值;
(3)量词;
(4)比较词;
(5)聚集操作词;
(6)连接词;
(7)统计方式词;
查询目标要素、查询条件要素和表现形式要素由以上语言成分和它们的组合构成,统计规则库基于语料库和知识库,用以从自然语言查询问句中标注查询目标、查询条件和表现形式,实际上完成对以上语言成分和它们的组合的标注,规则库中包括但不限于以下几类规则:
(1)查询目标规则:查询目标规则用于对自然查询语句中的查询目标要素进行标注和汇集,包括对象名、量词和聚集操作词等,得到查询目标集合;
可...

【专利技术属性】
技术研发人员:孟涛李佳静
申请(专利权)人:南京网感至察信息科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1