CN112989010A - 数据查询方法、数据查询装置和电子设备 - Google Patents

数据查询方法、数据查询装置和电子设备 Download PDF

Info

Publication number
CN112989010A
CN112989010A CN202110450909.7A CN202110450909A CN112989010A CN 112989010 A CN112989010 A CN 112989010A CN 202110450909 A CN202110450909 A CN 202110450909A CN 112989010 A CN112989010 A CN 112989010A
Authority
CN
China
Prior art keywords
data
query
target
natural language
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110450909.7A
Other languages
English (en)
Inventor
秦彬
曹攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Smart Software Co ltd
Original Assignee
Guangzhou Smart Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Smart Software Co ltd filed Critical Guangzhou Smart Software Co ltd
Priority to CN202110450909.7A priority Critical patent/CN112989010A/zh
Publication of CN112989010A publication Critical patent/CN112989010A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据查询方法、数据查询装置和电子设备。该数据查询方法包括:接收用户通过用户终端输入的自然语言问句;基于自然语言问句确定查询语句片段集合,其中所述查询语句片段集合包括数据库查询语言的语句的片段;基于查询语句片段集合查找目标数据;根据目标数据从多个呈现方式中确定目标呈现方式,其中多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及向用户终端发送包括目标数据和目标呈现方式的查询结果,以便用户终端根据目标呈现方式对目标数据进行显示。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。

Description

数据查询方法、数据查询装置和电子设备
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据查询方法、数据查询装置和电子设备。
背景技术
随着数据时代的来临,数据的高效应用变的愈加重要。数据通常存储来数据库中。当需要时,相关人员可以通过编写查询语句从数据库中查询数据。
然而,这种数据查询方式不够方便,尤其是对于不具备数据查询知识的业务人员来说,数据查询的难度较大。
发明内容
本申请提供一种数据查询方法、数据查询装置和电子设备。
第一方面,提供一种数据查询方法。该数据查询方法包括:接收用户通过用户终端输入的自然语言问句;基于所述自然语言问句确定查询语句片段集合,其中所述查询语句片段集合包括数据库查询语言的语句的片段;基于所述查询语句片段集合查找目标数据;根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及向所述用户终端发送包括所述目标数据和所述目标呈现方式的查询结果,以便所述用户终端根据所述目标呈现方式对所述目标数据进行显示结合第一方面,在一些实施例中,所述目标呈现方式包括图表、即席查询表以及数据透视表。
结合第一方面,在一些实施例中,所述根据所述目标数据从多个呈现方式中确定目标呈现方式,包括:确定所述目标数据所包含的字段的数量是否超过第一阈值;在确定所述目标数据的字段的数量未超过所述第一阈值的情况下,将所述目标呈现方式确定为图表形式;在确定所述目标数据所包含的字段的数量超过所述第一阈值的情况下,确定所述目标数据所包含的数据项的数量是否超过第二阈值;在确定所述目标数据所包含的数据项的数量未超过所述第二阈值的情况下,将所述目标呈现方式确定为即席查询表形式;在确定所述目标数据所包含的数据项的数量超过所述第二阈值的情况下,将所述目标呈现方式确定为数据透视表形式。
结合第一方面,在一些实施例中,所述基于所述自然语言问句确定查询语句片段集合,包括:基于所述自然语言问句,利用深度学习模型确定第一查询语句片段集合;基于所述自然语言问句,利用预设的句式模板确定第二查询语句片段集合;基于所述第一查询语句片段集合和所述第二查询语句片段集合确定所述查询语句片段集合。
结合第一方面,在一些实施例中,该数据查询方法还包括:基于所述自然语言问句确定所述目标数据集,其中所述基于所述自然语言问句确定所述目标数据集,包括:确定多个数据集中的每个数据集相对于所述自然语言问句的相似度;根据每个数据集相对于所述自然语言问句的相似度,从所述多个数据集中确定所述目标数据集。
结合第一方面,在一些实施例中,所述确定多个数据集中的每个数据集相对于所述自然语言问句的相似度,包括:从所述自然语言问句中确定多个关键词;将所述多个数据集中的每个数据集的字段名和字段成员与分别与所述多个关键词进行相似度比对,以获得每个数据集相对于所述多个关键词的多个相似度;针对每个数据集,将其相对于多个关键词的多个相似度加权平均,以获得每个数据集的加权平均相似度;将所述加权平均相似度作为每个数据集相对于所述自然语言问句的相似度。
第二方面,提供一种数据查询方法。该数据查询方法包括:向服务器端发送用户输入的自然语言问句,以便所述服务器端基于所述自然语言问句确定查询语句片段集合,基于所述查询语句片段集合查找目标数据,并根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述查询语句片段集合包括数据库查询语言的语句的片段,所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及接收来自所述服务器端的查询结果,所述查询结果包括所述目标数据和所述目标呈现方式;根据所述目标呈现方式,对所述目标数据进行显示。
第三方面,提供一种数据查询装置。该数据查询装置包括:接收模块,用于接收用户通过用户终端输入的自然语言问句;第一确定模块,用于基于所述自然语言问句确定查询语句片段集合,其中所述查询语句片段集合包括数据库查询语言的语句的片段;查询模块,用于基于所述查询语句片段集合查找目标数据;第二确定模块,用于根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及发送模块,用于向所述用户终端发送包括所述目标数据和所述目标呈现方式的查询结果,以便所述用户终端根据所述目标呈现方式对所述目标数据进行显示。
第四方面,提供一种数据查询装置。该数据查询装置包括:发送模块,用于向服务器端发送用户输入的自然语言问句,以便所述服务器端基于所述自然语言问句确定查询语句片段集合,基于所述查询语句片段集合查找目标数据,并根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述查询语句片段集合包括数据库查询语言的语句的片段,所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;接收模块,用于接收来自所述服务器端的查询结果,所述查询结果包括所述目标数据和所述目标呈现方式;以及显示模块,用于根据所述目标呈现方式,对所述目标数据进行显示。
第五方面,提供一种电子设备。该电子设备包括:与存储器耦合的处理器,被配置为基于所述存储器中存储的指令,执行如第一方面或第二方面所述的数据查询方法。
根据用户输入的自然语言进行数据查询,可使得数据查询更加方便。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。
附图说明
图1所示为根据本申请一实施例的数据查询方法的应用环境的示意图。
图2所示为根据本申请一实施例的数据查询方法的示意性流程图。
图3所示为根据本申请一实施例的确定目标数据的目标呈现方式的示意性流程图。
图4所示为根据本申请一实施例的确定目标数据集的方法的示意性流程图。
图5所示为根据本申请一实施例的确定数据集与自然语言问句的相似度的方法的示意性流程图。
图6所示为根据本申请一实施例的确定用户的意图的方法的流程示意图。
图7所示为根据本申请一示例的数据查询方法的示意性流程图。
图8所示为根据本申请另一实施例的数据查询方法的示意性流程图。
图9所示为根据本申请一实施例的数据查询装置的结构示意图。
图10所示为根据本申请另一实施例的数据查询装置的结构示意图。
图11所示为根据本申请一实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
本申请使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“根据”是“至少部分地根据”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其它术语的相关定义将在下文描述中给出。
图1所示为根据本申请一实施例的数据查询方法的应用环境的示意图。本申请提供的数据查询方法,可以应用于如图1所示的应用环境中。
如图1所示,本申请实施例提供的数据查询方法涉及用户终端100和服务器端200。用户终端100和服务器端200通信连接。
用户终端100例如可以但不限于是台式电脑、笔记本电脑、平板电脑和智能手机等用户终端设备。服务器端200例如可以由本地服务器设备或云端服务器来实现。
应当理解,图1所示出的应用环境仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。
图2所示为根据本申请一实施例的数据查询方法的示意性流程图。
如图2所示,数据查询方法S100例如可以包括步骤S110~S150。数据查询方法S100例如可以由服务器端实现。
在步骤S110中,接收用户通过用户终端输入的自然语言问句。
示例性地,用户终端可以显示交互界面,以供用户输入自然语言问句。用户输入自然语言问句后,用户终端可以将自然语言问句发送至服务器端。
用户输入的自然语言问句可以是文字形式,也可以是语音形式。若用户输入的自然语言问句为语音形式,则将其转换为文字形式。
在步骤S120中,基于该自然语言问句确定查询语句片段集合。
该查询语句片段集合可以包括数据库查询语言的语句的片段。
对于数据库查询语言,本申请实施例不做具体限定。在某些实施例中,其可以是结构化查询语言(Structured Query Language, SQL)。在某些实施例中,也可以是多维查表达式 (Multi-Dimensional Expressions, MDX),即多维数据库的查询语言。在某些实施例中,也可以是其它类型的数据库查询语言。
查询语句片段集合包括数据库查询语言的语句的片段,一个查询语句片段集合可以包括一个或多个片段。这些片段可以被拼接成完整的数据库查询语言的语句。或者可以说,这些片段是构成完整的数据库查询语言的语句的代码片段。
结构化查询语言为例,一条完整的SQL语句通常包括多个子句,例如,Select子句、where子句以及having子句等等。在某些实施例中,SQL语句中的一个子句便为的一个片段,一个查询语句片段集合可以包括一个或多个子句。
基于自然语言问句获得查询语句片段集合的方法有多种,对此,本申请实施例不作具体限定。例如,可以利用具有自然语言处理功能的深度学习模型对自然语言问句进行处理,从而获得查询语句片段集合。例如,也可以通过人工撰写句式模板(或称句式规则),建立句式模板库,然后利用句式模板库来对自然语言问句进行语义分析,从而获得查询语句片段集合。
在步骤S130中,基于该查询语句片段集合查找目标数据。
示例性地,服务器端可以对该查询语句片段集合进行拼接,以获得数据查询语句。然后,可以利用该数据查询语句从数据库中进行数据查询,查找到的数据即为目标数据。
在步骤S140中,根据该目标数据从多个呈现方式中确定目标呈现方式。
在现有的数据查询方式中,用户通过编写数据查询语句从数据库中查询数据,数据查询结果通常是以交叉表的形式进行呈现。然后,用户可以根据实际需求对查询结果进行处理,以得到符合需求的目标呈现方式。
用户输入自然语言问句后,若仅将查询结果以交叉表的形式呈现,则用户需要对查询结果进行处理,才能获得满足需求的目标呈现方式。考虑到基于自然语言的数据查询方式通常面向不具备数据处理技术的业务用户,对于这类业务用户来说,更改查询结果的目标呈现方式难度较大。
有鉴于此,服务器端在完成数据查询后,可以根据所述目标数据从多个呈现方式中确定目标呈现方式。多个呈现方式例如可以但不限于包括图表形式、即席查询表形式和数据透视表形式。
在步骤S150中,向用户终端发送查询结果。该查询结果包括目标数据和目标呈现方式,从而服务器端可以根据该目标呈现方式对该目标数据进行显示。
应当理解,将数据呈现为图表形式、即席查询表形式或数据透视表形式的方法可以参考现有技术,对此,本申请实施例不作具体限定。
根据用户输入的自然语言进行数据查询,可使得数据查询更加方便。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。
对于如何从多个呈现方式中确定目标呈现方式,本申请实施例不做具体限定。其实现方式可以有多种,例如可以根据目标数据所包含的字段的数据类型来确定目标呈现方式,例如也可以根据目标数据所在的数据表的表名来确定目标呈现方式。
下面,结合附图,给出一种示例性的实现方式。
图3所示为根据本申请一实施例的确定目标数据的目标呈现方式的示意性流程图。
参考图3,在步骤S141中,确定目标数据所包含的字段的数量是否超过第一阈值。
字段是指数据表中的列,一列数据可以称之为一个字段。
应当理解,对于第一阈值本申请实施例不做具体限定,本领域技术人员可以根据实际情况进行设定。第一阈值例如可以为2,例如也可以为3或更多。
若目标数据所包含的字段的数量未超过第一阈值,则执行步骤S142;若目标数据所包含的字段的数量超过第一阈值,则执行步骤S143。
应当理解,未超过可以是指小于或等于,超过可以是指大于。
在步骤S142中,将目标呈现方式确定为图表形式。
当数据所包含的字段较少时,可以将采用图表形式进行呈现。将目标数据呈现为图表形式,可使得数据更加直观,方便用户查看。
图表形式例如可以但不限于包括:柱状图、饼状图以及折线图等。对于图表形式本申请实施例不做具体限定,本领域技术人员可以根据实际需求进行设定。
在步骤S143中,确定目标数据所包含的数据项的数量是否超过第二阈值。
数据项是指数据表中的最小数据单元,一个字段通常包括多个数据项。
举例来说,若某一数据表具有两个字段,即字段名为“年份”的字段和字段名为“城市”的字段。字段名为“年份”的字段下具有“2018”、“2019”和“2020”这3个数据项。字段名为“城市”的字段下具有“北京”、“上海”和“深圳”这3个数据项。该数据表具有两个字段,六个数据项。
应当理解,对于第二阈值本申请实施例同样不做具体限定,本领域技术人员可以根据实际情况进行设定。第二阈值例如可以为100,例如也可以为200或更多。
若目标数据所包含的数据项的数量未超过第二阈值,则执行步骤S144;若目标数据所包含的数据项的数量超过第二阈值,则执行步骤S145。
在步骤S144中,将目标呈现方式确定为即席查询表形式。
当数据所包含的字段较多,并且所包含的数据量并非特别多时,即席查询表是较佳的数据目标呈现方式。
即席查询表通常包括自定义筛选区域和数据展示区域。用户可以在自定义筛选区域设置筛选条件从而快速获得所需数据。
在步骤S145中,将目标呈现方式确定为数据透视表形式。
当数据所包含字段较多,并且所包含的数据量特别多时,数据透视表是较佳的目标呈现方式。通过数据透视表,用户能够根据实际需求,快速地汇总、分析、浏览和显示数据。
通过这种方式来确定目标数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看,提高用户的体验。
基于自然语言问句确定查询语句片段集合的实现方式有多种,下面,进行举例说明。
在一些实施例中,可以基于自然语言问句,利用深度学习模型确定查询语句片段集合。
具体来说,服务器端接收到自然语言问句后,可以将自然语言问句和目标数据集的字段名进行拼接处理,以获得拼接结果,然后,将拼接结果输入到深度学习模型中,从而得到深度学习模型输出的查询语句片段集合。
数据集是指存储在数据库中的数据表。一个数据集可以仅包括一张数据表,也可以包括多张数据表。数据表可以是物理表,也可以是逻辑表。目标数据集是指与用户输入的自然语言问句对应的数据集。换句话说,用户输入自然语言问句的目的是查找目标数据,而目标数据存储在目标数据集中。
大多数情况下数据库中的数据表较多,此时,需要从数据库中确定出目标数据集。
目标数据集的确定方式有多种,对此,本申请实施例不作具体限定。
在某些实施例中,可以基于自然语言问句确定目标数据集。在某些实施例中,也可以也可以在用户终端上显示交互界面,显示可供选择的多个数据集,以便用户手动选择目标数据集。
应当理解,在某些实施例中,也可以不确定目标数据集。例如,数据库中可能仅有一张数据表,或仅有少量的几张数据表。这种情况下,无需确定目标数据集,仅需要将数据库中的全部的字段名与自然语言问句拼接,并将拼接结果输入到深度学习模型即可。
服务器端可以将自然语言问句与目标数据集的所有字段的字段名进行拼接。拼接结果的形式例如可以为:[CLS], Q, [SEP], C1, T1, [SEP], C2, T2,…, [SEP], Cn,Tn, [SEP]。
[CLS]为标志位,[SEP]为分隔符,Q为自然语言问句,Ci为目标数据集的各字段的字段名,Ti为目标数据集的各字段的数据类型,i∈(1,n),n为目标数据集所包含的字段的数量。数据集的字段的数据类型例如可以包括字符串类型(即text类型)和数值类型(即real类型)。
深度学习模型例如可以包括BERT模型和多个全连接层。多个全连接层例如可以包括第一全连接层、第二全连接层和第三全连接层。
BERT模型可以用于基于输入的拼接结果,得到拼接结果整体对应的向量
Figure 148205DEST_PATH_IMAGE002
、自然语言问句Q对应的向量
Figure 596504DEST_PATH_IMAGE004
、各字段的字段名和数据类型对应的向量
Figure 907399DEST_PATH_IMAGE006
,以及标志位[CLS]对应的向量
Figure 584500DEST_PATH_IMAGE008
。标志位[CLS]初始为随机数,在深度模型的学习过程中记录向量
Figure 930030DEST_PATH_IMAGE004
和向量
Figure 80389DEST_PATH_IMAGE006
之间的关系,以便BERT模型基于输入的拼接结果确定标志位[CLS]对应的向量
Figure 862269DEST_PATH_IMAGE008
将向量
Figure 592328DEST_PATH_IMAGE002
分别输入第一全连接层,第二全连接层,和第三全连接层,将向量
Figure 792365DEST_PATH_IMAGE008
输入第一全连接层,将向量
Figure 316887DEST_PATH_IMAGE006
输入第二和第三全连接层。取第一全连接层输出结果的向量
Figure 353107DEST_PATH_IMAGE008
,利用softmax函数预测Where子句中各条件之间的连接符。取第二全连接层输出结果的向量
Figure 621278DEST_PATH_IMAGE006
,利用softmax函数预测Select子句和聚合函数。取第三全连接层输出结果的向量
Figure 675821DEST_PATH_IMAGE006
,利用softmax函数预测Where子句。
以此方式,将拼接结果输入到深度学习模型后,便可以得到深度学习模型输出的Select子句、Where子句、Where子句中各条件之间的连接符以及聚合函数等输出结果。这些输出结果即为查询语句片段集合。将这些输出结果进行拼接,便可以得到一条能够进行数据查询的SQL语句。
深度学习模型的训练方法为现有技术,本申请实施例对此不做具体限定。示例性地,可以建立包括多个训练样本的训练集,利用训练集中的训练样本训练深度学习模型。每个训练样本可以包括输入数据和输出结果。输入数据可以为自然语言问句和目标数据集的字段名和字段的数据类型的拼接结果,输出结果可以为查询语句片段集合。
虽然,在该实施例中,在拼接自然语言问句和字段名时加入了字段的数据类型。但是,在本申请的其它实施例中,也可以仅拼接自然语言问句和字段名,而不拼接字段的数据类型。通过实践研究发现,在拼接自然语句和字段名时,加入字段的数据类型,能够显著地提高深度学习模型输出的查询语句元素的准确性。
基于自然语言问句确定查询语句片段集合的的方式,并不限于这一种。
在一些实施例中,可以基于自然语言问句,利用预设的句式模板确定查询语句片段集合。
句式模板可以由占位符和空位组成。举例来说,在句式模板“X年X”中,“年”为占位符,“年”前后的“X”表示空位。
这样的句式模板可以有很多,例如,还可以包括“X年X月X”或“X的X”等等。
这些句式模板例如可以通过人工编写的方式获得。通过充分分析用户的常见表达方式,可以归纳总结出很多句式模板,从而建立成句式模板库。
应当理解,以上句式模板仅仅是举例说明,句式模板库并非仅包含这些句式模板,也并非一定要包含这些模板。本领域技术人员可以根据这一规则,编写足够数量的句式模板,以满足实际需求。
接收到自然语言问句后,可以将其与句式模板进行匹配,以从多个句式模板中确定出匹配度最高的句式模板组合。该句式模板组合可以仅包含一个句式模板,也可以包含多个句式模板。
鉴于大多数语言,例如汉语、英语等,都满足投射性假设。因此,通过上述匹配过程,可以从句式模板库中找到匹配度最高的一个句式模板组合,其可以不重、不漏以及不交叉地覆盖自然语言问句中的每一个词,以使得该句式模板组合的概率对数之和最大(即信息量之和最小)。
示例性地,可以先将自然语言问句进行分词,得到分词结果。然后,将分词结果与句式模板进行匹配,具体而言,可以基于句式模板的占位符进行匹配。
例如,可以将句式模板库中的多个句式模板以单独对比的方式和组合在一起进行对比的方式,与自然语言问句进行匹配,以得到每个句式模板组合的匹配得分(或称为相似度得分)。可选地,这一匹配过程,可以通过递归算法来实现。
为了使匹配过程更加快速,在某些实施例中,可以将句式摸版读取到Trie树中,利用Trie扫描分词结果,从而快速地从句式模板库中确定出与自然语言问句匹配度最高的句式模板。
完成匹配后,可以基于匹配到的句式模板组合对分词结果进行分段处理。分段处理是指,将分词结果分成多个词块集合。每个词块集合里可以包括一个或多个词块。
然后,可以将每个词块集合分别与目标数据集的字段名称和字段成员进行相似度对比,以找到相似度大于预设阈值的字段名和字段成员。字段成员是指数据表中每一列所包含的数据项。
根据匹配到的字段名,可以确定所要查询的字段,基于此,可以得到Select子句。根据匹配到的字段成员,可以确定出筛选条件(即:某一字段下,哪些字段成员被查询),基于此,可以得到Where子句以及Where子句中各条件之间的连接符。以此方式,便可以得到第二查询语句片段集合。
出于清楚的目的,下面通过举例的方式,对上述方案进行详细描述。
例如,对于问句“2019年销量”,可以首先进行分词处理,得到分词结果:“2019”、“年”和“销量”。然后,可以对该分词结果与句式库中的模板进行匹配,匹配到模板“X年X”。根据该模板,可以将分词结果分段为:词块“2019年”和词块“销量”。将词块“2019年”和字块“销量”分别与目标数据集的字段名和字段成员进行匹配,可以匹配到字段名为“年份”的字段和该字段的字段成员“2019年”,以及字段名为“销量”的字段。这样,便可以得到Select子句和Where子句等查询语句片段。
例如,对于问句“2019年丰田汽车的销量”,可以首先进行分词处理,得到分词结果:“2019”、“年”、“丰田”、“汽车”“的”和“销量”。然后,可以对该分词结果与句式库中的模板进行匹配,匹配到模板“X年X”和模板“X的X”组合得到的模板“X年X的X”。根据该模板,可以将分词结果分段为:词块“2019年”、词块“丰田汽车”和词块“销量”。将这些字块分别与目标数据集的字段名和字段成员进行匹配,可以匹配到字段名为“年份”的字段和该字段的字段成员“2019年”,字段名为“销量”的字段,以及字段名为“汽车生产商”的字段和该字段下的字段成员“丰田”。这样,便可以得到相应的查询语句片段。
考虑到数据查询需求的复杂性,为了满足复杂的查询需求,在一些实施例中,句式模板可以包括第一类模板和第二类模板。若匹配到的句式摸版组合仅包含第一类模板,则可以按照上述的方案进行处理;若包含第二类模板,则需要根据预设的处理规则进行处理。
具体而言,可以设置多个处理规则,以使得每个第二类模板都有相对应的处理规则。这样,当匹配到第二类模板时,便可以根据对应的处理规则进行处理。
举例来说,第二类模板可以包括“近X个月X”、“X前X的X”等等。
例如,对于问句“近三个月的销量”,可以匹配到模板“近X个月X”。分段后可以得到词块“近三个月”和词块“销量”。此类句式模板对应的规则为替换规则,即将分段后的至少一个词块进行替换。具体来说,若本月为3月,则可以将词块“近三个月”替换为词块“1月”、“2月”和“3月”,然后,将替换后的词块与目标数据集的字段名称和字段成员进行匹配,从而得到相应的查询语句片段。
例如,对于问句“2019年销量前5的车企”,可以匹配到模板“X年X”与模板X前X的X”的组合,即“X年X前X的X”。分段后得到词块“2019年”、词块“销量前5”以及词块“车企”。对于词块“2019年”和“车企”可以直接与目标数据集的字段名称和字段成员进行匹配。具体来说,根据词块“2019年”可以确定出字段名为“年份”的字段,并确定出字段成员为“2019年”;根据词块“车企”可以确定出字段名为“车企”的字段,这样便可以得到与这两个字块对应的查询语句片段。对于词块“销量前5”,进行匹配后,可以确定出字段名为“销量”的字段,从而得到Select子句,然后,可以将改字段下排序前5的字段成员确定出来,从而得到Where子句,这样便可以得到相应的查询语句片段。
应当理解,对于第二类模板以及与之对应的处理规则,本申请实施例不做具体限定,本领域技术人员可以根据实际需求进行设置。
在一些实施例中,也可以分别利用深度学习模型和句式模板来获得两套查询语句片段集合,然后,再将两套查询语句片段集合进行合并,得到合并后的查询语句片段集合。然后,再利用合并后的查询语句片段集合进行数据查询。
结合深度学习模型和句式模板,能够提高查询语句片段集合的准确性和全面性,从而提高数据查询结果的准确性和有效性。
示例性地,可以利用深度学习模型获得第一查询语句片段集合,并利用句式模板获得第二查询语句片段集合。然后,对第一查询语句片段集合和第二查询语句片段集合进行合并。合并的方式例如可以是:对于第一查询语句片段集合或第二查询语句片段集合独有的部分,予以保留;对于第一查询语句片段集合和第二查询语句片段集合均具有且相同的部分,进行去重处理;对于第一查询语句片段集合和第二查询语句片段集合均具有且不同的部分,则可以以第一查询语句片段集合或第二查询条件中的一个为准,删除来自另外一个的该部分。
以结构化查询语言为例,若第一查询语句片段集合包括:Select子句(S1)、Where子句(W1),第二查询语句片段集合包括:Where子句(W2)、ORDER BY子句(O1)。这里,S1和O1分别为第一查询语句片段集合和第二查询语句片段集合独有的部分。若W1和W2的内容相同,则W1和W2为第一查询语句片段集合和第二查询语句片段集合均具有且相同的部分;若W1和W2的内容不同,则W1和W2为第一查询语句片段集合和第二查询语句片段集合均具有且不同的部分。
通过实践发现,相较于深度学习模型,利用句式模板获取的查询语句片段集合的准确性更高。因此,在某些优选的实施例中,在合并第一查询语句片段集合和第二查询语句片段集合时,对于第一查询语句片段集合和第二查询语句片段集合均具有且不同的部分,可以以第二查询语句片段集合为准,即:保留第二查询语句片段集合的该部分,删除第一查询语句片段集合的该部分。
考虑到在某些应用场景下,需要从数据库中的多个数据集中确定目标数据集。因此,在一些实施例中,前述实施例的数据查询方法还可以包括步骤:基于自然语言问句确定目标数据集。
图4所示为根据本申请一实施例的确定目标数据集的方法的示意性流程图。
如图4所示,确定目标数据集的方法S400可以包括步骤S410和S420。方法S400可以由服务器端实现。
在步骤S410中,确定多个数据集中的每个数据集相对于自然语言问句的相似度。
具体来说,服务器端可以将数据库中的多个数据集分别与自然语言问句进行相似度比对,从而确定每个数据集相对于自然语言问句的相似度。
确定每个数据集相对于自然语言问句的相似度的方法可以有多种,本申请实施例对此不作具体限定。下面结合附图,给出一种示例性的实现方式。
图5为根据本申请一实施例的确定数据集与自然语言问句的相似度的方法的示意性流程图。
如图5所示,该方法包括步骤S411~S414。该方法可以由服务器端实现。
在步骤S411中,从自然语言问句中确定多个关键词。
例如,若自然语言问句为“查看2020年上海的销售额”,则可以从中确定出关键词“2020年”、“上海”和“销售额”。
确定关键词的方式可以有多种,本申请实施例对此不做具体限定。示例性地,可以采用TF-IDF(Term Frequency-Inverse Document Frequency)算法从自然语言问句中提取关键词。
在步骤S412中,将多个数据集中的每个数据集的字段名和字段成员分别与多个关键词进行相似度比对,以获得每个数据集相对于多个关键词的多个相似度。
具体来说,可以将每个数据集所包含的所有字段名和所有字段成员与分别与多个关键字中的每个关键词进行相似度比对。字段名是指数据表中每一列的标识,或称为每一列的列名。字段成员是指数据表中每一列所包含的数据项。
举例来说,若某一数据集仅包含字段名为“年份”的字段和字段名为“城市”的字段。字段名为“年份”的字段下仅包含“2018”、“2019”和“2020”这3个字段成员。字段名为“城市”的字段下仅包含“北京”、“上海”和“深圳”这3个字段成员。
在将该数据集与某一关键词进行相似度比对时,可以将该关键词分别与字段名“年份”和“城市”进行相似度比对,并将该关键词分别与字段成员“2018”、“2019”、“2020”、“北京”、“上海”和“深圳”进行相似度比对。这样,可以获得该关键词相对于字段名“年份”和“城市”的相似度a1和a2,以及该关键词相对于字段成员“2018”、“2019”、“2020”、“北京”、“上海”和“深圳”的相似度b1、b2、b3、b4、b5和b6。最后将a1、a2、b1、b2、b3、b4、b5和b6相加,便可得到该数据集相对于该关键词的相似度Ri。通过这种方式可以获得该数据集相对于多个关键词的多个相速度R1、R2……Rn,其中n为多个关键词的数量。
在步骤S413中,针对每个数据集,将其相对于多个关键词的多个相似度进行加权平均,以获得每个数据集的加权平均相似度。
具体来说,若某一数据集相对于多个关键词中每个关键词的相似度分别为R1、R2……Rn,则可以对R1、R2……Rn加权平均,以得到该数据集的加权平均相似度R。
在步骤S414中,将加权平均相似度作为每个数据集相对于自然语言问句的相似度。
服务器端确定每个数据集的加权平均相似度后,可以将加权平均相似度作为每个数据集相对于自然语言问句的相似度。
可选地,在某些实施例中,步骤S412和S413可以通过SIM-BERT模型实现。具体来说,可以将每个数据集所包含的字段名称和字段成员之间的对应关系梳理成知识图谱,并将知识图谱输入到训练好的SIM-BERT模型,以得到每个数据集对应的向量。然后,可以将从自然语言问句中确定的多个关键词输入到该SIM-BERT模型中,以得到每个关键词对应的向量。然后,利用SIM-BERT模型对每个数据集的对应的向量和每个关键词对应的向量分别进行匹配,匹配规则可以为将每个关键词分别与每个数据集的字段名和字段成员进行相似度计算,从而将每个数据集相对于多个关键词的多个相似度进行加权平均,以得到每个数据集的加权平均相似度。
通过将每个数据集的所有字段名和所有字段成员与每个关键词进行相似度比对,能够准确地确定每个数据集与自然语言问句的相似度,进而能够提高确定目标数据集的准确性。
在步骤S420中,根据每个数据集相对于自然语言问句的相似度,从多个数据集中确定所述目标数据集。
在某些实施例中,可以将多个数据集中相对于自然语言问句的相似度最高的数据集确定为目标数据集。如此设置,可以确保目标数据集所包含数据的准确性。
在某些实施例中,也可以设置相似度阈值,将多个数据集中相对于自然语言问句的相似度大于阈值的一个或多个数据集确定为目标数据集。如此设置,可以确保目标数据集所包含数据的全面性。
通过确定多个数据集相对于自然语言问句的相似度,实现了从多个数据集中确定目标数据集。
考虑到在某些应用场景下,用户的意图并不是查询数据,此时如果直接将自然语言问句按照查询数据的方式进行处理,则很有可能无法得到数据查询结果。由于用户的意图并非查询数据,因此,即使侥幸得到某一数据查询结果,也仍旧无法满足用户的实际需求。
为了解决这一问题,在一些实施例中,前述实施例的数据查询方法还可以包括步骤:根据自然语言问句确定用户的意图。
用户的意图可能有多种,仔细研究发现,用户的意图可能包括:查询数据和/或打开已有报表和/或闲聊等。
可选地,在某些实施例中,方法S100的步骤S120可以包括:服务器端在确定用户的意图为查询数据的情况下,基于自然语言问句确定查询语句片段集合。
也就是说,在确定用户的意图为查询数据的情况下,可以执行方法S100中的步骤S120到S150,以实现数据查询。
可选地,在某些实施例中,方法S100还可以包括步骤:服务器端在确定用户的意图为查找已有报表的情况下,确定与自然语言问句对应的目标已有报表,并将目标已有报表发送至用户终端,以便在用户终端上进行显示。
已有报表是指当前用户或其他用户已经制作好的报表。不同于查询数据,确定目标已有报表仅需要从多个已有报表中找到目标报表已有报表即可,无需生成查询语句。
可选地,在某些实施例中,方法S100还可以包括步骤:服务器端在确定用户的意图为闲聊的情况下,确定与自然语言问句对应的答复,并将确定的答复发送至用户终端,以便在用户终端上进行显示。
闲聊是指常见问题解答,即FAQ(Frequently Asked Questions)。可以针对常见的问答问题建立知识库,然后可以基于自然语言问句从知识库中查找对应的答复。实现FAQ的方式可以参见现有技术,本申请实施例对此不作具体限定。
通过确定用户的意图,更好地满足了用户的实际需求,提高了用户体验。
确定用户的意图的方式可以有多种,本申请实施例对此不作具体限定。下面结合附图给出一种示例性的实现方式。
图6所示为根据本申请一实施例的确定用户的意图的方法的流程示意图。
如图6所示,方法S600包括步骤S610~S660。方法S600可以由服务器端实现。
在步骤S610中,确定自然语言问句中是否存在预设的指示词。
示例性地,服务器端可以从自然语言问句中抽取多个关键词,然后确定多个关键词中是否存在预设的指示词。
预设的指示词用于表示用户的意图为查找已有报表。
对于预设的指示词,本申请实施例不做具体限定。例如,预设的指示词可以包括“打开”。例如,预设的指示词也可以包括“报表”。
若自然语言问句中存在预设的指示词则执行步骤S620,若不存在,则执行步骤S640。
在步骤S620中,确定多个已有报表中是否存在目标已有报表。
示例性地,若自然语言问句中存在预设的指示词,则服务器端可以根据多个已有报表中的每个已有报表相对于自然语言问句的相似度,确定多个已有报表中是否存在目标已有报表。目标已有报表相对于自然语言问句的相似度大于预设的阈值
具体来说,服务器端可以先确定每个已有报表相对于自然语言问句的相似度,然后将每个已有报表相对于自然语言问句的相似度与该预设的阈值对比,从而确定出多个已有报表中是否存在目标已有报表。
确定每个已有报表相对于自然语言问句的相似度的方法可以参考图5所示的确定数据集与自然语言问句的相似度的方法。也就是说,可以将每个已有报表的字段名和字段成员分别与从多个关键词进行相似度比对,以确定每个已有报表相对于多个关键词的多个相似度。然后,对针对每个已有报表,将其相对于多个关键词的多个相似度加权平均,以获得每个已有报表的加权平均相似度。最终,将每个已有报表的加权平均相似度作为每个已有报表相对于自然语言问句的相似度。
若多个已有报表中存在目标已有报表,则执行步骤S630,若不存在,则执行步骤S640。
在步骤S630中,将用户的意图确定为查找已有报表。
示例性地,若多个报表中存在目标已有报表,则服务器端将用户的意图确定为查找已有报表。然后可以将目标已有报表发送至用户终端,以便在用户终端上显示该目标报表。
在步骤S640中,确定多个数据集中是否存在目标数据集。
具体来说,服务器端可以先确定每个数据集相对于自然语言问句的相似度,然后将每个数据集相对于自然语言问句的相似度与预设的阈值对比,从而确定出多个数据集中是否存在目标数据集。
确定每个数据集相对于自然语言问句的相似度的方法可以参考图5所示的确定数据集与自然语言问句的相似度的方法。也就是说,可以将每个数据集的字段名和字段成员分别与从多个关键词进行相似度比对,以确定每个数据集相对于多个关键词的多个相似度。然后,对针对每个数据集,将其相对于多个关键词的多个相似度加权平均,以获得每个数据集的加权平均相似度。最终,将每个数据集的加权平均相似度作为每个数据集相对于自然语言问句的相似度。
若多个数据集中存在目标数据集,则执行步骤S650,若不存在,则执行步骤S660。
在步骤S650中,将用户的意图确定为查询数据。
示例性地,若多个数据集中存在目标数据集,则服务器端可以将用户的意图确定为查询数据。然后,可以执行根据前述实施例的数据查询方法。
在步骤S660中,将用户的意图确定为闲聊。
示例性地,若多个数据集中不存在目标数据集,则服务器端可以将用户的意图确定为闲聊。然后,服务器端可以确定与自然语言问句对应的答复,并将答复发送至用户终端,以便在用户终端上显示该答复。
该实施例提供的确定用户意图的方法,能够准确地确定用户的意图,满足了实际使用需求,提高了用户体验。
图7所示为根据本申请一示例的数据查询方法的示意性流程图。
如图7所示,该示例S700包括步骤S710~S770。该示例可以由服务器端实现。
在步骤S710中,接收来自用户终端的自然语言问句。
在步骤S720中,确定自然语言问句中是否存在预设的指示词。若存在则执行步骤S730,若不存在则执行步骤S750。
确定自然语言问句中是否存在预设的指示词的方法可以参见前述实施例,为了简便,在此不做赘述。
在步骤S730中,确定多个已有报表中是否存在目标已有报表。若存在则执行步骤S740,若不存在则执行步骤S750。
确定多个已有报表中是否存在目标已有报表的方法可以参见前述实施例,为了简便,在此不做赘述。
在步骤S740中,向用户终端发送目标已有报表,以便用户终端对目标已有报表进行显示。
在步骤S750中,确定多个数据集中是否存在目标数据集。若存在则执行步骤S760,若不存在则执行步骤S770。
确定多个数据集中是否存在目标数据集的方法可以参见前述实施例,为了简便,在此不做赘述。
在步骤S760中,确定查询语句片段集合,进行数据查询,并将数据查询结果发送至用户终端。
生成查询语句的方法可以参见前述实施例,为了简便,在此不做赘述。
在步骤S770中,确定与自然语言问句对应的答复,并将确定的答复发送至用户终端。
确定与自然语言问句对应的答复的方法可以参见前述实施例,为了简便,在此不做赘述。
上文结合图2至图7,详细描述了本申请的服务器端侧的数据查询方法的实施例,下文结合图8,详细描述本申请的用户终端侧的数据查询方法的实施例。用户终端侧和服务器端侧的描述相互对应,为了简洁,适当省略重复的描述。
图8所示为根据本申请另一实施例的数据查询方法的示意性流程图。
如图8所示,数据查询方法S800包括步骤S810~S830。数据查询方法S800可以由用户终端实现。
在步骤S810中,向服务器端发送用户输入的自然语言问句。
在服务器端接收到该自然语言问句后,服务器端可以基于该自然语言问句确定查询语句片段集合。然后,服务器端可以基于该查询语句片段集合查找目标数据。然后,服务器端可以根据该目标数据从多个呈现方式中确定目标呈现方式。
在步骤S820中,接收来自服务器端的查询结果。
该查询结果例如可以包括服务器端确定的目标数据和目标呈现方式。
在步骤S830中,根据该目标呈现方式,对该目标数据进行显示。
根据用户输入的自然语言进行数据查询,可使得数据查询更加方便。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。
在一些实施例中,该目标呈现方式例如可以包括图表形式、即席查询表形式以及数据透视表形式。
上文结合图2至图7,详细描述了本申请的服务器端侧的方法实施例,下文结合图9,详细描述本申请的服务器端侧的装置实施例。方法实施例与装置实施例的描述相互对应,为了简洁,适当省略重复的描述。
图9所示为根据本申请一实施例的数据查询装置的结构示意图。
如图9所示,数据查询装置900包括:接收模块910、第一确定模块920、查询模块930、第二确定模块940以及发送模块950。
接收模块910用于接收用户通过用户终端输入的自然语言问句。
第一确定模块920用于基于自然语言问句确定查询语句片段集合。
查询模块930用于基于查询语句片段集合查找目标数据。
第二确定模块940用于根据该目标数据从多个呈现方式中确定目标呈现方式。
发送模块950用于向用户终端发送包括该目标数据和该目标呈现方式的查询结果,以便用户终端根据该目标呈现方式对该目标数据进行显示。
根据用户输入的自然语言进行数据查询,可使得数据查询更加方便。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。
在一些实施例中,多种呈现方式例如可以但不限于包括图表形式、即席查询表形式以及数据透视表形式。
在一些实施例中,第二确定模块940可以用于:确定目标数据所包含的字段的数量是否超过第一阈值;在确定目标数据的字段的数量未超过所述第一阈值的情况下,将目标呈现方式确定为图表形式;在确定目标数据所包含的字段的数量超过第一阈值的情况下,确定目标数据所包含的数据项的数量是否超过第二阈值;在确定目标数据所包含的数据项的数量未超过第二阈值的情况下,将目标呈现方式确定为即席查询表形式;在确定目标数据所包含的数据项的数量超过第二阈值的情况下,将目标呈现方式确定为数据透视表形式。
在一些实施例中,第一确定模块920可以用于:基于自然语言问句,利用深度学习模型确定第一查询语句片段集合;基于自然语言问句,利用预设的句式模板确定第二查询语句片段集合;基于该第一查询语句片段集合和该第二查询语句片段集合确定查询语句片段集合。
在一些实施例中数据查询装置900还可以包括目标数据集确定模块。目标数据集确定模块可以包括相似度确定单元和数据集确定单元。
相似度确定单元可以用于确定多个数据集中的每个数据集相对于自然语言问句的相似度。
具体地,相似度确定单元可以用于:从自然语言问句中确定多个关键词;将多个数据集中的每个数据集的字段名和字段成员与分别与多个关键词进行相似度比对,以获得每个数据集相对于多个关键词的多个相似度;针对每个数据集,将其相对于多个关键词的多个相似度加权平均,以获得每个数据集的加权平均相似度;将加权平均相似度作为每个数据集相对于自然语言问句的相似度。
数据集确定单元可以用于根据每个数据集相对于自然语言问句的相似度,从多个数据集中确定目标数据集。
上文结合图8,详细描述了本申请的用户终端侧的方法实施例,下文结合图10,详细描述本申请的用户终端侧的装置实施例。方法实施例与装置实施例的描述相互对应,为了简洁,适当省略重复的描述。
图10所示为根据本申请另一实施例的数据查询装置的结构示意图。
如图10所示,数据查询装置1000包括:发送模块1010、接收模块1020和显示模块1030。
发送模块1010用于向服务器端发送用户输入的自然语言问句。服务器端在接收到该自然语言问句后,可以基于该自然语言问句确定查询语句片段集合。然后,服务器端可以基于该查询语句片段集合查找目标数据。然后服务器端可以根据该目标数据从多个呈现方式中确定目标呈现方式。
服务器端可以确定该目标数据的目标呈现方式。
接收模块1020用于接收来自服务器端的查询结果。该查询结果例如可以包括目标数据和目标呈现方式
显示模块1030用于根据该目标呈现方式,对该目标数据进行显示。
根据用户输入的自然语言进行数据查询,可使得数据查询更加方便。根据查询到的数据确定数据的目标呈现方式,可使得数据的呈现更加合理,从而方便用户查看。以此方式进行数据查询,能够提高用户的体验。
在一些实施例中,多种呈现方式例如可以包括图表形式、即席查询表形式以及数据透视表形式。
图11所示为根据本申请一实施例的电子设备的结构示意图。
如图11所示,电子设备1100包括:与存储器1110耦合的处理器1120,被配置为基于存储器1110中存储的指令,执行前述实施例中的数据查询方法或查询语句生成方法。
本申请的其它实施例,还提供一种计算机可读可存储介质,其上存储有用于执行前述实施例中的数据查询方法或查询语句生成方法的指令。
本申请的其它实施例,还提供一种计算机程序产品。该计算机产品包括用于执行前述实施例中的数据查询方法或查询语句生成方法的代码。
应当理解,虽然术语“第一”或“第二”等可能在本申请中用来描述各种元素(如查询语句片段集合),但这些元素不被这些术语所限定,这些术语只是用来将一个元素与另一个元素区分开。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器端或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器端或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器端、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid statedisk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种数据查询方法,其特征在于,包括:
接收用户通过用户终端输入的自然语言问句;
基于所述自然语言问句确定查询语句片段集合,其中所述查询语句片段集合包括数据库查询语言的语句的片段;
基于所述查询语句片段集合查找目标数据;
根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及
向所述用户终端发送包括所述目标数据和所述目标呈现方式的查询结果,以便所述用户终端根据所述目标呈现方式对所述目标数据进行显示。
2.根据权利要求1所述的数据查询方法,其特征在于,所述根据所述目标数据从多个呈现方式中确定目标呈现方式,包括:
确定所述目标数据所包含的字段的数量是否超过第一阈值;
在确定所述目标数据的字段的数量未超过所述第一阈值的情况下,将所述目标呈现方式确定为图表形式;
在确定所述目标数据所包含的字段的数量超过所述第一阈值的情况下,确定所述目标数据所包含的数据项的数量是否超过第二阈值;
在确定所述目标数据所包含的数据项的数量未超过所述第二阈值的情况下,将所述目标呈现方式确定为即席查询表形式;
在确定所述目标数据所包含的数据项的数量超过所述第二阈值的情况下,将所述目标呈现方式确定为数据透视表形式。
3.根据权利要求1或2所述的数据查询方法,其特征在于,所述基于所述自然语言问句确定查询语句片段集合,包括:
基于所述自然语言问句,利用深度学习模型确定第一查询语句片段集合;
基于所述自然语言问句,利用预设的句式模板确定第二查询语句片段集合;
基于所述第一查询语句片段集合和所述第二查询语句片段集合确定所述查询语句片段集合。
4.根据权利要求3所述的数据查询方法,其特征在于,还包括:基于所述自然语言问句确定所述目标数据集,其中
所述基于所述自然语言问句确定所述目标数据集,包括:
确定多个数据集中的每个数据集相对于所述自然语言问句的相似度;
根据每个数据集相对于所述自然语言问句的相似度,从所述多个数据集中确定所述目标数据集。
5.根据权利要求4所述的数据查询方法,其特征在于,所述确定多个数据集中的每个数据集相对于所述自然语言问句的相似度,包括:
从所述自然语言问句中确定多个关键词;
将所述多个数据集中的每个数据集的字段名和字段成员与分别与所述多个关键词进行相似度比对,以获得每个数据集相对于所述多个关键词的多个相似度;
针对每个数据集,将其相对于多个关键词的多个相似度加权平均,以获得每个数据集的加权平均相似度;
将所述加权平均相似度作为每个数据集相对于所述自然语言问句的相似度。
6.一种数据查询方法,其特征在于,包括:
向服务器端发送用户输入的自然语言问句,以便所述服务器端基于所述自然语言问句确定查询语句片段集合,基于所述查询语句片段集合查找目标数据,并根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述查询语句片段集合包括数据库查询语言的语句的片段,所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及
接收来自所述服务器端的查询结果,所述查询结果包括所述目标数据和所述目标呈现方式;
根据所述目标呈现方式,对所述目标数据进行显示。
7.一种数据查询装置,其特征在于,包括:
接收模块,用于接收用户通过用户终端输入的自然语言问句;
第一确定模块,用于基于所述自然语言问句确定查询语句片段集合,所述查询语句片段集合包括数据库查询语言的语句的片段;
查询模块,用于基于所述查询语句片段集合查找目标数据;
第二确定模块,用于根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;以及
发送模块,用于向所述用户终端发送包括所述目标数据和所述目标呈现方式的查询结果,以便所述用户终端根据所述目标呈现方式对所述目标数据进行显示。
8.一种数据查询装置,其特征在于,包括:
发送模块,用于向服务器端发送用户输入的自然语言问句,以便所述服务器端基于所述自然语言问句确定查询语句片段集合,基于所述查询语句片段集合查找目标数据,并根据所述目标数据从多个呈现方式中确定目标呈现方式,其中所述查询语句片段集合包括数据库查询语言的语句的片段,所述多个呈现方式包括图表形式、即席查询表形式以及数据透视表形式;
接收模块,用于接收来自所述服务器端的查询结果,所述查询结果包括所述目标数据和所述目标呈现方式;以及
显示模块,用于根据所述目标呈现方式,对所述目标数据进行显示。
9.一种电子设备,其特征在于,包括:
与存储器耦合的处理器,被配置为基于所述存储器中存储的指令,执行与权利要求1至6中任一项所述的数据查询方法。
CN202110450909.7A 2021-04-26 2021-04-26 数据查询方法、数据查询装置和电子设备 Pending CN112989010A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110450909.7A CN112989010A (zh) 2021-04-26 2021-04-26 数据查询方法、数据查询装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110450909.7A CN112989010A (zh) 2021-04-26 2021-04-26 数据查询方法、数据查询装置和电子设备

Publications (1)

Publication Number Publication Date
CN112989010A true CN112989010A (zh) 2021-06-18

Family

ID=76340132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110450909.7A Pending CN112989010A (zh) 2021-04-26 2021-04-26 数据查询方法、数据查询装置和电子设备

Country Status (1)

Country Link
CN (1) CN112989010A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535931A (zh) * 2021-09-17 2021-10-22 北京明略软件系统有限公司 一种信息处理方法、装置、电子设备及存储介质
CN113868252A (zh) * 2021-09-27 2021-12-31 中国人民银行清算总中心 数据库模式匹配方法及装置、sql查询语句生成方法
CN114372081A (zh) * 2022-03-22 2022-04-19 广州思迈特软件有限公司 数据准备方法、装置和设备
CN114661963A (zh) * 2022-05-25 2022-06-24 阿里巴巴达摩院(杭州)科技有限公司 模式链接处理方法、装置以及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245240A (zh) * 2019-05-31 2019-09-17 国网电子商务有限公司 一种问题数据答案的确定方法及装置
CN111274267A (zh) * 2019-12-31 2020-06-12 杭州量之智能科技有限公司 一种数据库查询方法、装置及计算机可读取存储介质
CN111324716A (zh) * 2020-02-18 2020-06-23 深圳壹账通智能科技有限公司 指标数据获取方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245240A (zh) * 2019-05-31 2019-09-17 国网电子商务有限公司 一种问题数据答案的确定方法及装置
CN111274267A (zh) * 2019-12-31 2020-06-12 杭州量之智能科技有限公司 一种数据库查询方法、装置及计算机可读取存储介质
CN111324716A (zh) * 2020-02-18 2020-06-23 深圳壹账通智能科技有限公司 指标数据获取方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨云等: "《SQL Server 2008数据库应用技术》", 28 February 2017 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535931A (zh) * 2021-09-17 2021-10-22 北京明略软件系统有限公司 一种信息处理方法、装置、电子设备及存储介质
CN113868252A (zh) * 2021-09-27 2021-12-31 中国人民银行清算总中心 数据库模式匹配方法及装置、sql查询语句生成方法
CN114372081A (zh) * 2022-03-22 2022-04-19 广州思迈特软件有限公司 数据准备方法、装置和设备
CN114661963A (zh) * 2022-05-25 2022-06-24 阿里巴巴达摩院(杭州)科技有限公司 模式链接处理方法、装置以及计算机可读存储介质
CN114661963B (zh) * 2022-05-25 2022-09-27 阿里巴巴达摩院(杭州)科技有限公司 模式链接处理方法、装置以及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11645317B2 (en) Recommending topic clusters for unstructured text documents
KR102310650B1 (ko) 검색 결과에서의 논리적인 질문 응답 기법
CN112989010A (zh) 数据查询方法、数据查询装置和电子设备
CN110929125B (zh) 搜索召回方法、装置、设备及其存储介质
US20130110839A1 (en) Constructing an analysis of a document
US20090043767A1 (en) Approach For Application-Specific Duplicate Detection
TW201220099A (en) Multi-modal approach to search query input
CN107590128B (zh) 一种基于高置信度特征属性分层聚类方法的论文同名作者消歧方法
US20170337638A1 (en) Entity page recommendation based on post content
US20220414137A1 (en) Automatic labeling of text data
JP2015525929A (ja) 検索品質を改善するための重みベースのステミング
US20180089335A1 (en) Indication of search result
CN112988784B (zh) 数据查询方法、查询语句生成方法及其装置
CN111444304A (zh) 搜索排序的方法和装置
US20140214428A1 (en) Voice input and output database search method and device
WO2023278070A1 (en) Automatic labeling of text data
US20120239657A1 (en) Category classification processing device and method
US20210271637A1 (en) Creating descriptors for business analytics applications
CN112989011B (zh) 数据查询方法、数据查询装置和电子设备
JP7172187B2 (ja) 情報表示方法、情報表示プログラムおよび情報表示装置
CN112052661A (zh) 文章解析方法、记录介质及文章解析系统
CN111143400A (zh) 一种全栈式检索方法、系统、引擎及电子设备
CN112883218A (zh) 一种图文联合表征的搜索方法、系统、服务器和存储介质
Lin et al. Opinion analysis for online reviews
CN113761213A (zh) 一种基于知识图谱的数据查询系统、方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination