基于自然语言识别及知识图谱的数据搜索方法和系统与流程

未命名 07-14 阅读:106 评论:0


1.本发明属于搜索技术领域,尤其涉及一种基于自然语言识别及知识图谱的数据搜索方法和系统。


背景技术:

2.目前金融行业内的数据搜索技术主要通过正则技术或nl2sql技术实现,正则技术和nl2sql技术各有各的优点,正则技术的优点是识别快速,对于公式匹配度高的语句识别效果很好;nl2sql技术的优点是对语句的兼容性更好,对逻辑不复杂的语句识别的效果很好。当然,两者都会存在一定的缺陷,正则技术的缺陷有两个:其一是需要管理庞大的正则公式库且随着公式库的扩大解决公式冲突的代价也会随之上升;其二是当句子与已有公式不匹配或者难以匹配时,整体的识别效果非常差。而对于nl2sql技术来讲,其缺点是对包含嵌套关系等复杂逻辑的句式识别差。
3.另外,这两者技术还存在相同的缺陷且此缺陷在实现搜索技术时是比较致命的,两者无法识别比较抽象的问题,比如“谁更好”“怎么样”;且这两者都不支持算子拓展,只能查询已经计算好的数据;另外,在对于跨表数据查询时准确率会明显降低。


技术实现要素:

4.本发明针对现有技术中的缺点,提供了一种基于自然语言识别及知识图谱的数据搜索方法和系统。
5.为了解决上述技术问题,本发明通过下述技术方案得以解决:
6.一种基于自然语言识别及知识图谱的数据搜索方法,包括以下步骤:
7.基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;
8.基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;
9.基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
10.将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;
11.将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
12.作为一种可实施方式,所述运算树包括一个根节点、多个子节点及多个叶节点,所述叶节点表示数据项,所述子节点表示算子信息,一个所述根节点连接多个子节点,一个所述子节点连接多个所述叶节点,所述根节点作为计算终点,所述子节点作为根节子节点的所有下一级点的输入,所述叶节点作为子节点的输入;
13.所述运算树的运算过程如下:
14.以叶节点的数据作为算子信息的输入并将得到结果,并将结果作为子节点的输入,一直重复;
15.将子节点的数据作为数据项的输入得到结果,并将所述结果作为根节点的输入;
16.当计算到根节点不再有上一级节点,将返回计算结果并完成所述运算树的运算过程。
17.作为一种可实施方式,所述改进自然语言模型的构建及训练过程包括以下步骤:
18.对自然语言模型进行微调,得到改进自然语言预训练模型;
19.对所述查询主体及所述逻辑关系进行标记,并将被标记的所述查询主体及所述逻辑关系作为改进自然语言预训练模型的微调训练数据库;
20.基于微调训练数据库对改进自然语言预训练模型进行训练及测试,得到改进自然语言模型。
21.作为一种可实施方式,所述基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型,包括以下步骤:
22.基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;
23.将所述向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;
24.选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。
25.作为一种可实施方式,在训练所述预设相似度模型时,训练样本集及测试样本集中至少包括错别字及简称。
26.作为一种可实施方式,所述将所述新运算树输入至数据库查询计算引擎中,得到计算结果,包括以下步骤:
27.所述数据库查询计算引擎从所述新运算树的所有叶节点开始遍历执行算子信息的计算任务并得到第一计算结果;
28.将所述第一计算结果输入所述新运算树的所有子节点开始遍历执行数据项的计算任务并得到第二计算结果;
29.将所述第二计算结果输入所述新运算树的根节点执行完成后得到运算结果,进而结束本次任务,将新运算树的计算结果返回。
30.作为一种可实施方式,还包括以下步骤:
31.根据所述计算结果匹配相应的图表模板,并将数据和计算结果呈现于搜索结果页面,其中,所述图表模板包括表格、柱状图、折线图、饼图及搜索结果页中的一种或多种组合。
32.一种基于自然语言识别及知识图谱的数据搜索系统,包括识别构建模块、解析模块、匹配模块、补充模块及结果输出模块;
33.所述识别构建模块,基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;
34.所述解析模块,基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;
35.所述匹配模块,基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
36.所述补充模块,用于将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;
37.所述结果输出模块,用于将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
38.作为一种可实施方式,所述匹配模块被设置为:
39.基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;
40.将所述向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;
41.选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。
42.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下所述的方法:
43.基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;
44.基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;
45.基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
46.将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;
47.将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
48.一种基于自然语言识别及知识图谱的数据搜索装置,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如下所述的方法:
49.基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;
50.基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;
51.基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
52.将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;
53.将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
54.本发明由于采用了以上技术方案,具有显著的技术效果:
55.本发明通过使用自然语言模型更好地识别自然语言中的主体和逻辑关系;
56.只需要通过维护通识知识图谱实现对抽象问题的解析和算子计算公式的存储,就可以实现对搜索系统支持的问题和算子的横向拓展;
57.使用机器学习算法可以加速对数据项在多个数据库中的位置识别。
附图说明
58.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1是本发明的整体流程示意图;
60.图2是本发明实施例提供的一种运算树构建方法;
61.图3是本发明实施例提供的一种知识图谱实例示意图;
62.图4是本发明实施例提供的一种预设相似度模型处理的流程示意图;
63.图5是本发明实施例提供的一种数据库查询计算引擎的运算流程示意图;
64.图6是本发明系统的整体结构示意图。
具体实施方式
65.下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
66.实施例1:
67.一种基于自然语言识别及知识图谱的数据搜索方法,如图1所示,包括以下步骤:
68.s100、基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;
69.s200、基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;
70.s300、基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
71.s400、将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;
72.s500、将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
73.为了解决现有搜索识别效果差不准确等问题,采用了本发明的技术方案,通过改进自然语言模型更好地识别自然语言中的主体和逻辑关系;并通过预设知识图谱实现对主体和逻辑关系解析和算子计算公式的存储,进而实现对搜索系统支持的问题和算子的横向拓展;另外基于预设相似度模型能加速对数据项在多个数据库中的位置识别,得到最佳匹配数据项的具体位置,并构造数据项查询模型,进而填充更新运算树得到新运算树,并基于新运算树形成新运算过程;将新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
74.具体地,可以结合附图2对运算树进行说明:
75.构建的运算树包括一个根节点、多个子节点及多个叶节点,叶节点表示数据项,子节点表示算子信息,一个根节点连接多个子节点,一个子节点连接多个叶节点,根节点作为计算终点,子节点作为根节子节点的所有下一级点的输入,叶节点作为子节点的输入;
76.运算树的运算过程:以叶节点的数据作为算子信息的输入并将得到结果,并将结果作为子节点的输入,一直重复;将子节点的数据作为数据项的输入得到结果,并将结果作为根节点的输入;当计算到根节点不再有上一级节点,将返回计算结果并完成运算树的运算过程。
77.图2的运算树表示的是“比较中国石油和中国石化净利润同比哪个更高”。运算树中的叶节点一般为具体的数据(如数据项目名称、年份、企业名称、股票代码等),子节点一般为算子信息(当然,数据获取也被视为一种算子信息);首先从运算树的叶节点开始计算并且作为上一级节点的输入;以子节点的所有下一级节点的数据作为算子的输入,然后计算得到的结果再次作为上一级子节点的输入,如此循环往复。最终根节点作为计算的终点,当计算在根节点完成后不再有上一级节点,将计算结果返回标志着一个运算树计算流程的完成,这就是整个运算过程,进而得到最终的计算结果。
78.在本发明中,改进自然语言模型的构建及训练过程与其他神经网络模型的构建及训练相似,为了能得到更适于金融语料的改进自然语言模型,仅此必须对自然语言模型进行微调得到改进自然语言模型,通过改进自然语言模型对获取的搜索语句进行识别,使得识别结果更加精准,改进自然语言模型的构建及训练过程包括以下步骤:
79.对自然语言模型进行微调,得到改进自然语言预训练模型;
80.对查询主体及逻辑关系进行标记,并将被标记的查询主体及逻辑关系作为改进自然语言预训练模型的微调训练数据库;
81.基于微调训练数据库对改进自然语言预训练模型进行训练及测试,得到改进自然语言模型。
82.如附图3所示,附图3为本发明实施例提供的一种预设知识图谱的实例图。此实例以企业的估值类指标为例,估值指标下有市现率、市净率、市销率、市盈率、股息率等,其中将市盈率展开,有动态、ttm、预测等算法,其中市盈率-ttm的计算方法为总市值除经过ttm算子处理的净利润,其中计算需要严格按照时间匹配。当然,知识图谱还可以是其他指标的知识图谱,在此不再列举。
83.在一个实施例中,步骤s300基于预设相似度模型,在数据库及数据表查询待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型,包括以下步骤:
84.s310、基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;
85.s320、将向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;
86.s330、选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。
87.另外,在训练预设相似度模型时,训练样本集及测试样本集中至少包括错别字及简称。
88.步骤s300的详细附图还可以参见附图4,附图4为本发明实施例基于预设相似度模
型对待查询数据项进行匹配的过程。数据项的名称可以理解为待定位目标数据项,另外,数据项的名称还可以是目标数据项名称的错别字、简称或英文缩写,这样的话,训练出来的相似度模型识别率更高。
89.整个过程必须要先进行向量化处理,向量化处理之后才可以被其他模型所识别。而相似度模型为机器学习模型或深度模型,主要计算两个词的相似性,在模型训练时会考虑到错别字、简称等样本,因此具备比较强的模糊匹配能力。进而逐对计算待查询数据项名称与全库数据项名称的相似度,得到相似度表格。选择相似度最高的数据项作为查找的目标数据项,返回该数据项在数据库中的路径作为匹配的结果。至此完成一次数据项名称查询流程。
90.在一个实施例中,步骤s400将数据项查询模型和算子信息填充至运算树中,得到新运算树,并基于所述新运算树形成新运算过程,其实就是对原始运算树进行填空,会得到更加完善的新运算树,新运算树其实可以继续结合附图2来解释,运算树中的叶节点一般为具体的数据项(如数据项目名称、年份、企业名称、股票代码等,另外还会添加其他数据项),子节点一般为算子信息(当然,数据获取也被视为一种算子信息,还会有其他更新的算子信息);首先从运算树的叶节点开始计算并且作为上一级节点的输入;以子节点的所有下一级节点的数据作为算子的输入,然后计算得到的结果再次作为上一级子节点的输入,如此循环往复。最终根节点作为计算的终点,当计算在根节点完成后不再有上一级节点,将计算结果返回标志着一个运算树计算流程的完成,这就是整个运算过程,进而得到最终的计算结果。
91.在步骤s500中,将新运算树输入至数据库查询计算引擎中,得到计算结果,包括以下步骤:
92.s510、数据库查询计算引擎从新运算树的所有叶节点开始遍历执行算子信息的计算任务并得到第一计算结果;
93.s520、将第一计算结果输入新运算树的所有子节点开始遍历执行数据项的计算任务并得到第二计算结果;
94.s530、将第二计算结果输入新运算树的根节点执行完成后得到运算结果,进而结束本次任务,将新运算树的计算结果返回。
95.最终,还包括以下步骤:
96.根据计算结果匹配相应的图表模板,并将数据和计算结果呈现于搜索结果页面,其中,图表模板包括表格、柱状图、折线图、饼图及搜索结果页中的一种或多种组合。
97.以下结合搜索实例对本发明的方法进行详细说明:
98.首先,使用改进自然语言模型识别出用户提交的搜索语句中的主体和主体之间的逻辑关系,一般情况下主体主要包括公司、指标、时间、计算式等,而主体之间的逻辑关系包括和、或等基础逻辑关系以及主体作为定语时的作用范围;另外,识别出主体及主体之间的逻辑关系会按照规则构造出运算树,此运算树的附图正如之前所述。
99.再者:使用预设知识图谱将查询主体具体化为数据项、指标或算子,其中,数据项为数据库中数据项目,如净利润、营业收入等;指标为市盈率、市净率、负债率等上市公司指标;算子为同比增长、环比增长等确定的计算公式。这些数据项、指标和算子均在知识图谱中存储和维护。
100.进一步:使用预设相似度模型查询数据项归属数据库和数据表,构造查询函数。主要为运算树提供运算的基础材料-数据,一般首先在运算树中得到执行,而数据库和数据表可以为多个数据库或者数据表。
101.第四步:向构造的运算树中填充数据项查询模型和算子信息,形成完整的从数据到运算的新运算过程。
102.第五步:将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。
103.最后,根据计算结果匹配图表模板,并将数据和计算结果呈现于搜索结果页面。图表模板包括表格、柱状图、折线图、饼图、搜索结果页,最终呈现页面为图表模板之一或若干个模板的组合。
104.实施例2:
105.一种基于自然语言识别及知识图谱的数据搜索系统,如图5所示,包括识别构建模块100、解析模块200、匹配模块300、补充模块400及结果输出模块500;
106.识别构建模块100,基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据查询主体及逻辑关系构建运算树;
107.解析模块200,基于预设知识图谱将运算树中的查询主体解析为相关信息,其中,相关信息至少包括待查询数据项、指标及算子信息;
108.匹配模块300,基于预设相似度模型,在数据库及数据表查询待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;
109.补充模块400,用于将数据项查询模型和算子信息填充至运算树中,得到新运算树,并基于新运算树形成新运算过程;
110.结果输出模块500,用于将新运算树输入至数据库查询计算引擎中,基于新运算过程得到计算结果。
111.具体地,匹配模块300被设置为:
112.基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;
113.将向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;
114.选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。
115.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同、相似的部分互相参见即可。
116.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
117.本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指
令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
118.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
119.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
120.需要说明的是:
121.说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
122.此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

技术特征:
1.一种基于自然语言识别及知识图谱的数据搜索方法,其特征在于,包括以下步骤:基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。2.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,所述运算树包括一个根节点、多个子节点及多个叶节点,所述叶节点表示数据项,所述子节点表示算子信息,一个所述根节点连接多个子节点,一个所述子节点连接多个所述叶节点,所述根节点作为计算终点,所述子节点作为根节子节点的所有下一级点的输入,所述叶节点作为子节点的输入;所述运算树的运算过程如下:以叶节点的数据作为算子信息的输入并将得到结果,并将结果作为子节点的输入,一直重复;将子节点的数据作为数据项的输入得到结果,并将所述结果作为根节点的输入;当计算到根节点不再有上一级节点,将返回计算结果并完成所述运算树的运算过程。3.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,所述改进自然语言模型的构建及训练过程包括以下步骤:对自然语言模型进行微调,得到改进自然语言预训练模型;对所述查询主体及所述逻辑关系进行标记,并将被标记的所述查询主体及所述逻辑关系作为改进自然语言预训练模型的微调训练数据库;基于微调训练数据库对改进自然语言预训练模型进行训练及测试,得到改进自然语言模型。4.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,所述基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型,包括以下步骤:基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;将所述向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。5.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,在训练所述预设相似度模型时,训练样本集及测试样本集中至少包括错别字及简称。6.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,所述将所述新运算树输入至数据库查询计算引擎中,得到计算结果,包括以下步骤:
所述数据库查询计算引擎从所述新运算树的所有叶节点开始遍历执行算子信息的计算任务并得到第一计算结果;将所述第一计算结果输入所述新运算树的所有子节点开始遍历执行数据项的计算任务并得到第二计算结果;将所述第二计算结果输入所述新运算树的根节点执行完成后得到运算结果,进而结束本次任务,将新运算树的计算结果返回。7.根据权利要求1所述的基于自然语言识别及知识图谱的数据搜索方法,其特征在于,还包括以下步骤:根据所述计算结果匹配相应的图表模板,并将数据和计算结果呈现于搜索结果页面,其中,所述图表模板包括表格、柱状图、折线图、饼图及搜索结果页中的一种或多种组合。8.一种基于自然语言识别及知识图谱的数据搜索系统,其特征在于,包括识别构建模块、解析模块、匹配模块、补充模块及结果输出模块;所述识别构建模块,基于改进自然语言模型对获取的搜索语句进行识别,得到至少两个查询主体及主体之间的逻辑关系,根据所述查询主体及所述逻辑关系构建运算树;所述解析模块,基于预设知识图谱将所述运算树中的查询主体解析为相关信息,其中,所述相关信息至少包括待查询数据项、指标及算子信息;所述匹配模块,基于预设相似度模型,在数据库及数据表查询所述待查询数据项的最佳匹配数据项位置,找到最佳匹配数据项的具体位置,并构造数据项查询模型;所述补充模块,用于将所述数据项查询模型和算子信息填充至所述运算树中,得到新运算树,并基于所述新运算树形成新运算过程;所述结果输出模块,用于将所述新运算树输入至数据库查询计算引擎中,基于所述新运算过程得到计算结果。9.根据权利要求8所述的基于自然语言识别及知识图谱的数据搜索系统,其特征在于,所述匹配模块被设置为:基于预设词向量模型将待查询数据项名称做向量化处理,得到向量化结果;将所述向量化结果和数据库的数据项名称逐对输入预设相似度模型中,得到待查询数据项名称与全库数据项名称的相似度;选择相似度最高的数据项作为查询目标数据项,返回数据项在数据库中的路径作为匹配的结果,以完成数据项名称查询流程,形成数据项查询模型。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的方法。11.一种基于自然语言识别及知识图谱的数据搜索装置,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的方法。

技术总结
本发明公开一种基于自然语言识别及知识图谱的数据搜索方法及系统,方法包括:基于改进自然语言模型进行识别,得到至少两个查询主体及主体之间的逻辑关系并构建运算树;基于预设知识图谱将查询主体解析为相关信息;基于预设相似度模型查询待查询数据项的最佳匹配数据项位置并构造数据项查询模型;将数据项查询模型和算子信息填充至运算树中,得到新运算树并形成新运算过程;将新运算树输入至数据库查询计算引擎中得到计算结果。本发明通过使用自然语言模型识别自然语言中的主体和逻辑关系;通过维护通识知识图谱实现对抽象问题的解析和算子计算公式的存储,实现对搜索系统支持的问题和算子的横向拓展;并加速对数据项在多个数据库中的位置识别。数据库中的位置识别。数据库中的位置识别。


技术研发人员:黄玉锋 冯杰 刘士毅 姜超 王治强
受保护的技术使用者:浙商证券股份有限公司
技术研发日:2023.04.11
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐