一种基于NLP算法实现数据资产精准搜索方法技术

技术编号:34994840 阅读:19 留言:0更新日期:2022-09-21 14:42
本发明专利技术公开了一种基于NLP算法实现数据资产精准搜索方法,对数据资产的自然语言进行检索,将数据作为一种资产,进行关系的自动维护、模型生成、智能检索等。针对大数据产生的资产目录和资产目录中的字段血缘关系、标签、指标等都有高效的检索和命中率。同时对于一些查询较热的TopN数据也能有效地进行建立。使用reids缓存,快速的响应同类关键词查询的结果,大大的缩短了查询链路的长度和对关系数据库的压力。的压力。

【技术实现步骤摘要】
一种基于NLP算法实现数据资产精准搜索方法


[0001]本专利技术涉及数据处理
,具体涉及一种基于NLP算法实现数据资产精准搜索方法。

技术介绍

[0002]在现有的数据资产搜索方法中,资产检索的种类固化到了实物资产的维护和检索,例如建筑物资的数据检索,查询链路较长,而且需要手动维护接口和调用关系。对于一些元数据资产标签和跨资产的血缘关系,现有技术无法有效的检索。另外,还存在命中率和召回率较低的问题。

技术实现思路

[0003]针对现有技术的不足,本专利技术旨在提供一种基于NLP算法实现数据资产精准搜索方法。
[0004]为了实现上述目的,本专利技术采用如下技术方案:一种基于NLP算法实现数据资产精准搜索方法,具体过程为:一、资产元数据的生成:二、索引的构建:(1)元数据索引的构建:采集模块根据定时的采集任务对资产元数据进行拉取,拉取方式分为全量拉取和增量拉取,对于新增的表采用全量拉取,对于已存在的表采用增量拉取,然后对于每个字段内容均进行去空值和去数值,保留关键字,作为元数据的索引;(2)数据的索引构建:1)对于已存在的表,同步/构建服务进行数据的增量拉取;以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引;2)对于新增的表,然后同步/构建服务进行全量拉取,以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引;三、数据资产检索NLP2SQL服务从输入入口接收到要检索的内容,然后通过映射码表后生成查询的sql语句;NLP2SQL服务通过词法分析解析自然语言,生成机器可执行的sql语句;NLP服务检索先查找redis缓存,如果缓存中存在要检索的历史数据,缓存命中,NLP服务得到命中的数据结果返回;如果全部命中,则直接结束检索;返回的数据结果包含:资产数据所在的库、表以及关键字所在的字段的位置,字段与其它库、表中的映射血缘关系,字段与标签的映射关系,字段与指标的映射关系;如果reids缓存结果没有全部命中,还需要继续从es库中按照索引获取数据结果;如果索引未命中,表示该关键字不存在es库中,
检索完毕,如果索引命中,则返回数据结果;返回的数据结果整理后返回到NLP2SQL的前端进行列表展示;用户在进行列表的详细信息查询时,涉及到资产数据详情的查询时需要从数据中台再次申请资产数据,按照资产数据所在的库、表、行位置使用presto对hive进行查询;查询的结果形成topN热点数据被缓存到redis中,每隔设定的时间段同步到es库中。
[0005]进一步地,步骤一的具体过程为:资产管理模块定时生成资产元数据,并产生相应的资产血缘关系、码表映射关系和标签数据;资产元数据存入资产元数据库中,资产血缘关系保存到血缘关系库中;血缘关系库、资产元数据库和码表/术语库的新增数据先缓存到redis中,redis每隔固定的时间周期将缓存的数据写入es库中,最终形成资产目录。
[0006]本专利技术的有益效果在于:本专利技术对数据资产的自然语言进行检索,将数据作为一种资产,进行关系的自动维护、模型生成、智能检索等。针对大数据产生的资产目录和资产目录中的字段血缘关系、标签、指标等都有高效的检索和命中率。同时对于一些查询较热的TopN数据也能有效地进行建立。使用reids缓存,快速的响应同类关键词查询的结果,大大的缩短了查询链路的长度和对关系数据库的压力。
附图说明
[0007]图1为本专利技术实施例中索引的构建的流程示意图;图2为本专利技术实施例中数据检索的流程示意图。
具体实施方式
[0008]以下将结合附图对本专利技术作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围并不限于本实施例。
[0009]本实施例提供一种基于NLP算法实现数据资产精准搜索方法,如图1所示,具体过程为:一、资产元数据的生成:资产管理模块定时生成资产元数据,并产生相应的资产血缘关系、码表映射关系和标签数据;资产元数据存入资产元数据库中,资产血缘关系保存到血缘关系库中;收集行业术语保存在码表/术语库中;如血缘关系库、资产元数据库和码表/术语库有新增数据,先缓存到redis中,redis每隔固定的时间周期将缓存的数据写入es中,最终形成资产目录。
[0010]二、索引的构建:(1)元数据索引的构建:采集模块根据定时的采集任务对资产元数据进行拉取,拉取方式分为全量拉取和增量拉取,对于新增的表采用全量拉取,对于已存在的表采用增量拉取,然后对于每个字段内容均进行去空值和去数值,保留关键字,作为元数据的索引;(2)数据的索引构建:1)对于已存在的表,同步/构建服务进行数据的增量拉取;以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引;
2)对于新增的表,然后同步/构建服务进行全量拉取,以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引。
[0011]三、数据资产检索如图2所示,NLP2SQL服务从输入入口接收到要检索的内容(自然语言),然后通过映射码表后生成查询的sql语句。这里的SQL包含结构化和非结构化的查询语言(结构化主要从映射的码表库(mysql)中进行查询。非结构化主要从es索引库中进行查询)。NLP2SQL服务通过词法分析解析自然语言,生成机器可执行的sql语句。
[0012]NLP服务检索先查找redis缓存,如果缓存中存在要检索的历史数据,缓存命中,NLP服务得到命中的数据结果返回;如果全部命中,则直接结束检索;返回的数据结果包含:资产数据所在的库、表以及关键字所在的字段的位置(例如:石油在字段form_postion第100行内),字段与其它库、表中的映射血缘关系,字段与标签的映射关系,字段与指标的映射关系;如果reids缓存结果没有全部命中,还需要继续从es库中按照索引获取数据结果;如果索引未命中,表示该关键字(索引)不存在es库中,检索完毕,如果索引命中,则返回数据结果。
[0013]返回的数据结果整理后返回到NLP2SQL的前端进行列表展示;用户在进行列表的详细信息查询时,涉及到资产数据详情的查询时需要从数据中台再次申请资产数据,按照资产数据所在的库、表、行位置使用presto对hive进行查询;查询的结果形成topN热点数据被缓存到redis中,每隔设定的时间段同步到es库中。
[0014]对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本专利技术权利要求的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于NLP算法实现数据资产精准搜索方法,其特征在于,具体过程为:一、资产元数据的生成:二、索引的构建:(1)元数据索引的构建:采集模块根据定时的采集任务对资产元数据进行拉取,拉取方式分为全量拉取和增量拉取,对于新增的表采用全量拉取,对于已存在的表采用增量拉取,然后对于每个字段内容均进行去空值和去数值,保留关键字,作为元数据的索引;(2)数据的索引构建:1)对于已存在的表,同步/构建服务进行数据的增量拉取;以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引;2)对于新增的表,然后同步/构建服务进行全量拉取,以码表/术语库以及访问次数最多的关键字作为关键字库,对字段进行关键字的提取;提取完成后,对所有关键字进行去重,生成字典,通过同步/构建服务写入到es,作为数据的索引;三、数据资产检索NLP2SQL服务从输入入口接收到要检索的内容,然后通过映射码表后生成查询的sql语句;NLP2SQL服务通过词法分析解析自然语言,生成机器可执行的sql语句;NLP服务检索先查找redis缓存,如果缓存中存在要检索的历史数据,缓...

【专利技术属性】
技术研发人员:于洋高经郡谢晋
申请(专利权)人:北京科杰科技有限公司
类型:发明
国别省市:

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

1