CN115576975A - 一种数据查询方法、装置、设备和介质 - Google Patents
一种数据查询方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115576975A CN115576975A CN202211223652.2A CN202211223652A CN115576975A CN 115576975 A CN115576975 A CN 115576975A CN 202211223652 A CN202211223652 A CN 202211223652A CN 115576975 A CN115576975 A CN 115576975A
- Authority
- CN
- China
- Prior art keywords
- query
- standard
- text
- sentence
- user
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种数据查询方法、装置、设备和介质,所述方法包括:响应于用户输入的查询指令,确定相应的查询文本;判断所述查询文本是否具有规范语句结构;若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。通过上述方法,提高用户在数据库中进行数据查询的便利性。
Description
技术领域
本说明书涉及数据库存储技术领域,尤其涉及一种数据查询方法、装置、设备和介质。
背景技术
随着存储技术的发展,衍生出越来越多具有不同优缺点的数据库,例如支持复杂查询的关系型数据库、便于表示多元关系的属性图数据库等。
现有技术中,需要设置不同的数据库查询代码对数据库中的数据进行查询,从而得到查询结果。例如使用SQL语句查询关系数据库,使用SPARQL语句查询RDF数据库,使用Cypher语句(或者是Gremlin语句)查询属性图数据库等。
然而,这种用数据库语言在数据库查询的方式对用户来说比较麻烦,因此需要提供一种更简便的数据库查询方法。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种数据查询方法、装置、设备和介质。
根据本说明书实施例的第一方面,提供一种数据查询方法,所述方法包括:
响应于用户输入的查询指令,确定相应的查询文本;
判断所述查询文本是否具有规范语句结构;
若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件;
根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
根据本说明书实施例的第二方面,提供一种数据查询装置,所述装置包括:
响应模块,用于响应于用户输入的查询指令,确定相应的查询文本;
第一判断模块,用于判断所述查询文本是否具有规范语句结构;
第一确定模块,用于若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件;
第二确定模块,用于根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面提供的实施例中任一所述数据查询方法的步骤。
根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;其中,所述处理器被配置为执行如第一方面提供的实施例中任一所述数据查询方法的步骤。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,在获取用户的查询文本之后,在判断查询文本具有规范语句结构时,认为查询文本表述的内容比较丰富,能够确定出用户想要查询的内容,因此在正常情况下,可以将查询文本转换为针对待操作数据库的查询代码。
然而,由于不同的用户有不同的表达习惯,因此不同的用户描述相同的想法的时候,在文本上会呈现出一些区别,例如省略主语、谓语等,或者是使用缩写词汇、方言词汇等,使得根据用户的查询文本确定的查询代码查询到的结果不准确。
为了提高查询精度,预先在标准查询语句库中设置多个标准查询语句,先将查询文本与标准查询语句库中的标准查询语句进行相似度比对,能够为查询文本匹配最相似的标准查询语句,从而能够根据最相似的标准查询语句关联的数据对象和该数据对象需满足的限定条件,确定出满足待操作数据库的查询代码语法的查询代码,进而通过查询代码对待操作数据库进行查询操作。通过上述方法,能够将用户的查询文本确定为查询代码,方便用户进行查询,同时还通过设置关联有数据对象和该数据对象需满足的限定条件的标准查询语句库,提高查询精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1示出了本说明书实施例提供的一种数据查询方法的流程图。
图2示出了本说明书实施例提供的另一种数据查询方法的流程图。
图3示出了本说明书实施例提供的另一种数据查询方法的流程图。
图4示出了本说明书实施例提供的一种数据查询装置的结构示意图。
图5示出了本说明书实施例提供的一种数据查询装置所在计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
图1示出了本说明书实施例提供的一种数据查询方法的流程图,如图1所示,所述方法包括以下步骤:
步骤101,响应于用户输入的查询指令,确定相应的查询文本。
具体的,查询指令可以是用户语音输入的,也可以是用户打字输入的,本说明书实施例不限制具体的输入方式。若查询指令为用户语音输入的(例如在开车过程中,通过语音唤醒车辆控制器,并通过语音表述输入查询文本),则可以先将语音转换成文本,从而将转换得到的文本确定为查询文本。若查询指令是用户输入的文本,则将用户输入的文本直接确定为查询文本。
步骤102,判断所述查询文本是否具有规范语句结构。
具体的,句子中的成分有多种,具体为:主语、谓语、宾语、定语、状语、补语。当一个句子中包含的成分越多,这个句子能够表述出的内容就越丰富。因此,为了保证查询文本中内容能够表达用户的想法,需要判断查询文本的语句结构是否能够表达出足够的内容。
预设的规范语句结构为:主语+谓语+宾语;还可以是:主语+宾语(省略了谓语)。在具体判断时,只要查询文本中的成分多于或等于规范语句结构中的成分,即可认为查询文本具有规范语句结构。
例如:当规范语句结构为“主语+谓语+宾语”时,若查询文本一为:“空调在哪里”,其中,通过分析,“空调”是主语、“在”是谓语、“哪里”是宾语,则判断查询文本一具有规范语句结构。
当规范语句结构为“定语+主语+谓语+宾语”时,若查询文本二为:“空调的制冷开关在哪里”,“空调”是定语、“制冷开关”是主语、“在”是谓语、“哪里”是宾语,则判断查询文本二具有规范语句结构。
进一步的,若将“制冷开关”进一步分析为“制冷的开关”,那么“空调”和“制冷”均为定语,“开关”为主语,“在”是谓语、“哪里”是宾语,则判断查询文本二具有规范语句结构。
步骤103,若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件。
具体的,由于不同的用户有不同的表达方式,因此根据各用户表达的不同形式的查询文本,可能由于表达顺序不同、使用词不同、省略词不同导致相同含义的两个查询文本匹配到不同的查询结果。因此,为了提高为查询文本匹配的查询结果的准确度,可以预先设置标准查询语句库,从而通过计算查询文本与标准查询语句库中的标准查询语句的相似度,确定出与查询文本最相似的标准查询语句。
标准查询语句库可以设置有多个句子,每个句子作为一个标准查询语句,每个句子预先设置有关联的“数据对象”和“限定条件”。或者,标准查询语句库可以仅设置有“数据对象”和“限定条件”,不同的“数据对象”和“限定条件”的搭配构成不同的标准查询语句。
例如,以标准查询语句库中设置有多个句子,每个句子作为一个标准查询语句为例进行介绍:
设置的标准查询语句为“小红的性别是什么”,用户A确定的查询文本为“小红男的女的?”,需要注意的是,这里用户其实省略了谓语,查询文本实际表达的是“小红是男的还是女的?”,那么通过相似度能够确定出与用户A的查询语句相似度最高的是“小红的性别是什么”。因此,将标准查询语句库中的标准查询语句“小红的性别是什么”确定为目标标准查询语句。其中,目标标准查询语句中:“小红”是针对“性别”的定语,“性别”是主语,“是”为谓语、“什么”是宾语。该目标标准查询语句关联的数据对象是“性别”,该数据对象需满足的限定条件为“小红”,即通过对“性别”进行限定,使得最终的查询结果是针对“小红的性别”的结果,而不是其他人的性别。
再例如,以标准查询语句库可以仅设置有“数据对象”和“限定条件”,不同的“数据对象”和“限定条件”的搭配构成不同的标准查询语句进行介绍:
标准查询语句一:数据对象:性别;限定条件:小红(姓名)、20岁(年龄)。(实际表达的是:1992年出生的小红性别是什么?)。
标准查询语句二:数据对象:年龄;限定条件:小红、女。(实际表达的是:性别为女的小红的年龄是多少?)。
标准查询语句三:数据对象:性别;限定条件:小红(姓名)。(实际表达的是:小红的性别是什么)。
那么通过相似度能够确定与查询文本相似度最高的标准查询语句为标准查询语句三,将标准查询语句三确定为目标标准查询语句。
步骤104,根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
具体的,在根据步骤103确定出目标标准查询语句后,通过确定目标查询语句中关联的数据对象和限定条件,能够将目标标准查询语句转化为待操作数据库支持的查询代码,查询代码包括至少一个代码从句,当目标查询语句关联有数据对象和限定条件时,将数据对象转换为其中一个从句,将限定条件转换为另一个从句,两个从句共同构成查询代码,即可生成用于在待操作数据库中查询该目标标准查询语句的查询代码,调用查询代码在待操作数据库中执行查询操作即可完成用户的查询操作。
本说明书实施例中,在获取用户的查询文本之后,在判断查询文本具有规范语句结构时,认为查询文本表述的内容比较丰富,能够确定出用户想要查询的内容,因此在正常情况下,可以将查询文本转换为针对待操作数据库的查询代码。
然而,由于不同的用户有不同的表达习惯,因此不同的用户描述相同的想法的时候,在文本上会呈现出一些区别,例如省略主语、谓语等,或者是使用缩写词汇、方言词汇等,使得根据用户的查询文本确定的查询代码查询到的结果不准确。
为了提高查询精度,预先在标准查询语句库中设置多个标准查询语句,先将查询文本与标准查询语句库中的标准查询语句进行相似度比对,能够为查询文本匹配最相似的标准查询语句,从而能够根据最相似的标准查询语句关联的数据对象和该数据对象需满足的限定条件,确定出满足待操作数据库的查询代码语法的查询代码,进而通过查询代码对待操作数据库进行查询操作。通过上述方法,能够将用户的查询文本确定为查询代码,方便用户进行查询,同时还通过设置关联有数据对象和该数据对象需满足的限定条件的标准查询语句库,提高查询精度。
在一个可行的实施方案中,当数据库为多个不同类型的数据库时,所述待操作数据库为多个不同类型的数据库中的每一个数据库;或者,所述待操作数据库为多个不同类型的数据库中的其中一个数据库,所述待操作数据库中包含所述目标标准查询语句的查询结果。
具体的,当数据库为多个不同类型的数据库时,由于不同类型的数据库支持的查询代码语法是不同的,因此当待操作数据库为多个不同类型的数据库中的每一个数据库时,需要将目标标准查询语句对应转换为满足每个待操作数据库的查询代码语法的查询代码,以便通过使用不同查询代码在不同类型的数据库中进行查询操作。
当待操作数据库为多个不同类型的数据库中的其中一个数据库时,只需要将目标标准查询语句转化为这个待操作数据库支持的查询代码,只在这个待操作数据库中执行查询操作即可,由于待操作数据库中预先为这个目标标准查询语句设置了查询结果,因此可以直接将包含查询结果的数据库确定为待操作数据库,以便能够快速查询到查询结果。
在一个可行的实施方案中,图2示出了本说明书实施例提供的另一种数据查询方法的流程图,如图2所示,在执行步骤103从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句时,所述方法具体包括以下步骤:
步骤201,通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件。
具体的,关键词提取模型是通过将大量的句子作为训练样本训练之后得到的,关键词提取模型能够提取出用户描述的数据对象和/或用户描述的限定条件。
例如,确定用户描述的查询文本为:空调开关在哪?
那么“空调开关”是主语、“在”是谓语、“哪”是宾语,关键词提取模型能够提取到的关键词为“空调”“开关”“哪”,其中“开关”是用户描述的数据对象、“空调”是用户描述的限定条件、“哪”也是用户描述的限定条件,也即在查询时“开关”需要满足的限定条件为“空调”,不能是别的开关(例如车门的开关、音视频的开关等),需要满足的限定条件是“哪(可以理解为对位置的限定)”,而不是开关怎么使用的限定。
同理,若用户描述的查询文本为:“开关在哪?”,那么提取出的关键词为:“开关”、“哪”。
需要注意的是,用户描述的数据对象、限定条件与标准查询语句关联的数据对象、限定条件的用词可能是相同的,也可能是不同的。用户描述的越接近标准查询语句库中标准查询语句的设置标准,那么用户描述的数据对象(限定条件)就越接近标准查询语句关联的数据对象(限定条件)。
步骤202,从所述标准查询语句库中确定匹配于所述关键词的至少一个标准查询语句。
具体的,标准查询语句匹配于关键词,包括:标准查询语句包含有关键词、标准查询语句中包含与关键词含义相近的词、标准查询语句能够包含关键词所表征的含义。
步骤203,针对所述至少一个标准查询语句中的每个标准查询语句,计算该标准查询语句与所述查询文本的相似度,并将相似度最高的标准查询语句确定为所述目标标准查询语句。
具体的,在根据步骤202获取到至少一个标准查询语句之后,通过计算每个标准查询语句与查询文本的相似度,能够确定出相似度最高的标准查询语句,并将相似度最高的标准查询语句确定为目标标准查询语句。
当关键词有多个时,可以依据标准查询语句匹配的关键词的数量对至少一个标准查询语句进行排序,然后优先计算排序靠前(匹配的关键词数量较多)的标准查询语句与查询文本的相似度。本说明书实施例不限定相似度的计算方法,例如可以根据余弦相似度计算公式进行计算,或者直接向模型中输入查询文本和标准查询语句,得到相似度结果。
通过提取查询文本中的关键词,能够通过关键词在标准查询语句库中确定出至少一个标准查询语句,从而不需要将标准查询语句库中的每个标准查询语句与查询文本进行相似度计算,大大减少了相似度运算量。
在一个可行的实施方案中,在根据步骤201通过关键词提取模型提取所述查询文本中的关键词之后,当所述关键词为所述用户描述的限定条件时,在计算该标准查询语句与所述查询文本的相似度之后,所述方法还包括:
若所述用户描述的限定条件与该标准查询语句关联的限定条件不匹配,则调低所述相似度。
具体的,由于根据步骤201提取出了用户描述的限定条件,因此在计算相似度时,可以根据用户描述的限定条件与标准查询语句关联的限定条件的匹配程度,调整相似度结果。
以通过余弦相似度计算公式计算相似度为例进行介绍:
score(q,d)=cos(θ);
其中,q指代当前选取的标准查询语句、d指代用户输入的查询文本,score(q,d)表示该标准查询语句与查询文本的相似度数值,用cos(θ)指代以标准查询语句q和查询文本d作为两个向量带入得到的余弦相似度公式(余弦相似度计算公式的详细公式可参考现有技术,θ为标准查询语句q和查询文本d两个向量之间的夹角)。
用户描述的限定条件与该标准查询语句关联的限定条件不匹配,例如:用户的查询文本d为:小红的年龄是多大?标准查询语句q为:小白的年龄是多大?
那么用户描述的限定条件为“小红”、“多大”;标准查询语句的限定条件为“小白”、“多大”。可知,存在“小红”和“小白”不匹配的情况,因此,在根据相似度计算公式得到了score(q,d)后,可以通过设置限定条件匹配系数query_boost(q),调低标准查询语句q和查询文本d的相似度数值。
此时,上述公式可以表征为:
scoee(q,d)=cos(θ)×query_boost(q);
其中,query_boost(q)小于等于1,当query_boost(q)=1时,说明标准查询语句q与查询文本d的限定条件完全匹配,当query_boost(q)<1时,说明标准查询语句q与查询文本d的限定条件存在不匹配的情况,若query_boost(q)=0,说明标准查询语句q与查询文本d的限定条件完全不同。
通过进一步降低这些不匹配的标准查询语句的相似度,提高查询精度。
在一个可行的实施方案中,在通过步骤203计算该标准查询语句与所述查询文本的相似度之前,所述方法还包括:
判断所述查询文本的长度是否大于该标准查询语句的长度。若大于,则删除所述查询文本中的冗余词汇,以基于删除冗余词汇之后的查询文本计算所述相似度。
具体的,若查询文本的长度过长,认为查询文本中可能包含了很多没有实际含义的冗余词汇,例如语气词等,因此可以对这些冗余词汇进行删除。通过上述方法,能够基于删除了冗余词汇的查询文本进行相似度计算,提高了相似度计算精度。
在一个可行的实施方案中,当所述关键词中存在至少两个含义矛盾的关键词时,在通过步骤203计算该标准查询语句与所述查询文本的相似度之前,所述方法还包括:
获取用户的历史查询文本;基于所述历史查询文本中所述关键词的出现频率,设置所述至少两个含义矛盾的关键词中每个关键词的权重,以基于所述权重计算所述相似度。
具体的,矛盾的关键词例如:“制冷开关”和“制热开关”;“打开”和“关闭”。出现这种情况的原因是,当查询文本是用户通过语音输入的,有两个人同时说话,那么识别出的用户的查询文本为:制冷开关制热开关在哪里?
由于存在两个矛盾的关键词,不能判断用户到底想知道的是制冷开关的位置,还是制热开关的位置,因此会降低查询精度。此时,通过获取用户的历史查询文本,获取到用户对每个关键词的查询频率,例如用户以前查询的都是“制冷开关在哪里”,那么分析用户还是想知道制冷开关的位置,因此,设置制冷开关的权重为1,设置制热开关的权重为0(或者设置制冷开关的权重为0.6,设置制热开关的权重为0.4)。
具体公式为:
score(q,d)=cos(θ)×wboost(d);
其中,wboost(d)表征为查询文本中的关键词设置的权重,以设置制冷开关的权重为1,设置制热开关的权重为0为例,当关键词为制冷开关时,wboost(d)=1,当关键词为制热开关时,wboost(d)=0。
例如,假设标准查询语句q1为:制冷开关的位置在哪里;标准查询语句q2为:制热开关的位置在哪里。
因此,计算标准查询语句q1与查询文本d的相似度score(q1,d)时,由于标准查询语句q1中匹配到的关键词为“制冷开关”,因此公式中的wboost(d)=1。
计算标准查询语句q2与查询文本d的相似度score(q2,d)时,由于标准查询语句q2中匹配到的关键词为“制热开关”,因此公式中的wboost(d)=0。通过上述方法能够使得相似度计算结果更加准确。本申请实施例不对权重设置方法进行具体限定,可以根据需求更改权重设置方法。
可以理解的是,当既存在至少两个含义矛盾的关键词的情况,又存在用户描述的限定条件与该标准查询语句关联的限定条件不匹配的情况时,计算公式可以是:
score(q,d)=cos(θ)×wboost(d)×query_boost(q);
另外,若用户的查询文本无法匹配到合适的标准查询语句时,可能是因为预设的标准查询语句库中的标准查询语句较少(或者不够丰富),因此根据关键词匹配到标准查询语句与查询文本均不太相似,此时可以少选取几个标准查询语句进行相似度计算,从而减少运算压力。例如,可以设置一个协调因子参数,通过设置协调因子参数为一个具体的数值(例如为3),则从匹配于关键词的至少一个查询语句中选中前3个标准查询语句计算相似度。也可以设置协调因子参数为30等其他数值,或者设置为百分比(10%),选取前10%的标准查询语句。
在一个可行的实施方案中,图3示出了本说明书实施例提供的另一种数据查询方法的流程图,如图3所示,在通过步骤102判断所述查询文本是否具有规范语句结构之后,所述方法还包括以下步骤:
步骤301,若判断结果为否,则通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件。
具体的,若判断结果为否,说明查询文本描述的内容过少,只描述了数据对象、只描述了限定条件等。
例如,查询文本为:开关。则数据对象为“开关”,但是缺少谓语,和/或宾语,导致无法判断用户想查询什么。
再例如,查询文本为“空调开关”,也缺少谓语,和/或宾语,无法判断用户想查询什么。
此时,需要通过提取关键词来猜测用户想查询的内容,以便进行后续查询操作。
步骤302,从所述标准查询语句库中确定出匹配于所述关键词的标准查询语句。若确定出匹配于所述关键词的至少一个标准查询语句,则将所述至少一个标准查询语句推荐给所述用户。
具体的,若能够匹配到至少一个标准查询语句,那么说明至少一个标准查询语句可能是用户想要查询的内容,因此向用户推荐至少一个标准查询语句。在推荐时,也可以设置推荐数量(例如可以设置为5个),防止推荐内容过多过杂。
需要注意的是,推荐时还可以通过参考用户之前的历史查询文本,根据历史查询文本与关键词的匹配程序,调整推荐的标准查询语句的顺序。
步骤303,获取用户选中的标准查询语句,并将用户选中的标准查询语句确定为新的查询文本。
具体的,根据步骤302进行推荐之后,持续获取用户选中的标准查询语句,从而将用户选中的确定为新的查询文本,通过执行步骤101-104将这个新的查询文本转化为查询代码。
通过上述方法,能够在查询文本描述的内容过少无法查询时,猜测用户想要查询的内容并进行相关推荐,减少用户的输入量,方便用户查找。
在一个可行的实施方案中,在根据步骤301通过关键词提取模型提取所述查询文本中的关键词之后,所述方法还包括以下步骤:
若未确定出匹配于所述关键词的至少一个标准查询语句,则获取所述查询文本的前一个查询文本;将所述查询文本与所述前一个查询文本拼凑成的文本确定为新的查询文本。
具体的,如果没匹配到任何的标准查询语句,那么无法对用户进行推荐,可以获取这个查询文本的前一个查询文本,将两个查询文本拼凑成一个新的查询文本,并重新执行步骤101-104将这个拼凑出的新的查询文本转化为查询代码。
在一个可行的实施方案中,在根据步骤301通过关键词提取模型提取所述查询文本中的关键词之后,所述方法还包括以下步骤:
步骤3021,在满足预设的提醒条件时,生成用于提醒用户继续补充所述查询文本的提醒信息;所述提醒条件包括:未确定出匹配于所述关键词的至少一个标准查询语句;和/或,未获取到用户选中的标准查询语句。
具体的,如果根据关键词未匹配到标准查询语句,那么认为查询文本的内容不够丰富,需要用户继续补充,因此生成提示信息。如果未获取到用户选中的标准查询语句(可能是没匹配到至少一个标准查询语句,也可能是匹配到之后已经给用户推荐了至少一个标准查询语句),那么说明用户不方便选择,或者不满意这些推荐内容,因此需要生成提醒信息,提醒用户继续补全。
步骤3022,响应于用户的补充操作,将补充后的查询文本确定为新的查询文本。
具体的,用户的补充操作可以是手动输入,也可以是语音输入,将获取到的补充文本与查询文本组成的补充后的查询文本确定为新的查询文本,并通过步骤101-104将新的查询文本转化为查询代码。
通过上述方法,在查询文本不完整时,可以提示用户继续补全查询文本,有利于提高查询精度。
图4示出了本说明书实施例提供的一种数据查询装置的结构示意图,如图4所示,所述装置包括:
响应模块401,用于响应于用户输入的查询指令,确定相应的查询文本。
第一判断模块402,用于判断所述查询文本是否具有规范语句结构。
第一确定模块403,用于若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件。
第二确定模块404,用于根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
在一个可行的实施方案中,当数据库为多个不同类型的数据库时,所述待操作数据库为多个不同类型的数据库中的每一个数据库。
或者,所述待操作数据库为多个不同类型的数据库中的其中一个数据库,所述待操作数据库中包含所述目标标准查询语句的查询结果。
在一个可行的实施方案中,所述第一确定模块用于从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句时,包括:
通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件。
从所述标准查询语句库中确定匹配于所述关键词的至少一个标准查询语句。
针对所述至少一个标准查询语句中的每个标准查询语句,计算该标准查询语句与所述查询文本的相似度,并将相似度最高的标准查询语句确定为所述目标标准查询语句。
在一个可行的实施方案中,所述装置还包括:
调整模块,用于当所述关键词为所述用户描述的限定条件时,在计算该标准查询语句与所述查询文本的相似度之后,若所述用户描述的限定条件与该标准查询语句关联的限定条件不匹配,则调低所述相似度。
在一个可行的实施方案中,所述装置还包括:
第二判断模块,用于在计算该标准查询语句与所述查询文本的相似度之前,判断所述查询文本的长度是否大于该标准查询语句的长度。
若大于,则删除所述查询文本中的冗余词汇,以基于删除冗余词汇之后的查询文本计算所述相似度。
在一个可行的实施方案中,所述装置还包括:
第一获取模块,用于当所述关键词中存在至少两个含义矛盾的关键词时,在计算该标准查询语句与所述查询文本的相似度之前,获取用户的历史查询文本。
设置模块,用于基于所述历史查询文本中所述关键词的出现频率,设置所述至少两个含义矛盾的关键词中每个关键词的权重,以基于所述权重计算所述相似度。
在一个可行的实施方案中,所述装置还包括:
提取模块,用于在判断所述查询文本是否具有规范语句结构之后,若判断结果为否,则通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件。
第三确定模块,用于从所述标准查询语句库中确定出匹配于所述关键词的标准查询语句。
第四确定模块,用于若确定出匹配于所述关键词的至少一个标准查询语句,则将所述至少一个标准查询语句推荐给所述用户。
第五确定模块,用于获取用户选中的标准查询语句,并将用户选中的标准查询语句确定为新的查询文本。
在一个可行的实施方案中,所述装置还包括:
第二获取模块,用于在通过关键词提取模型提取所述查询文本中的关键词之后,若未确定出匹配于所述关键词的至少一个标准查询语句,则获取所述查询文本的前一个查询文本。
第六确定模块,用于将所述查询文本与所述前一个查询文本拼凑成的文本确定为新的查询文本。
在一个可行的实施方案中,所述装置还包括:
提醒模块,用于在通过关键词提取模型提取所述查询文本中的关键词之后,在满足预设的提醒条件时,生成用于提醒用户继续补充所述查询文本的提醒信息;所述提醒条件包括:未确定出匹配于所述关键词的至少一个标准查询语句;和/或,未获取到用户选中的标准查询语句。
第七确定模块,用于响应于用户的补充操作,将补充后的查询文本确定为新的查询文本。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图5示出了本说明书实施例提供的一种数据查询装置所在计算机设备的结构示意图,该设备可以包括:处理器501、存储器502、输入/输出接口503、通信接口504和总线505。其中处理器501、存储器502、输入/输出接口503和通信接口504通过总线505实现彼此之间在设备内部的通信连接。
处理器501可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的数据查询方法。
存储器502可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器502可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器502中,并由处理器501来调用执行。
输入/输出接口503用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口504用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线505包括一通路,在设备的各个组件(例如处理器501、存储器502、输入/输出接口503和通信接口504)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器501、存储器502、输入/输出接口503、通信接口504以及总线505,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例提供的任一所述的数据查询方法的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (12)
1.一种数据查询方法,其特征在于,所述方法包括:
响应于用户输入的查询指令,确定相应的查询文本;
判断所述查询文本是否具有规范语句结构;
若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件;
根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
2.根据权利要求1所述的方法,其特征在于,当数据库为多个不同类型的数据库时,所述待操作数据库为多个不同类型的数据库中的每一个数据库;
或者,所述待操作数据库为多个不同类型的数据库中的其中一个数据库,所述待操作数据库中包含所述目标标准查询语句的查询结果。
3.根据权利要求1所述的方法,其特征在于,从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句,包括:
通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件;
从所述标准查询语句库中确定匹配于所述关键词的至少一个标准查询语句;
针对所述至少一个标准查询语句中的每个标准查询语句,计算该标准查询语句与所述查询文本的相似度,并将相似度最高的标准查询语句确定为所述目标标准查询语句。
4.根据权利要求3所述的方法,其特征在于,当所述关键词为所述用户描述的限定条件时,在计算该标准查询语句与所述查询文本的相似度之后,所述方法还包括:
若所述用户描述的限定条件与该标准查询语句关联的限定条件不匹配,则调低所述相似度。
5.根据权利要求3所述的方法,其特征在于,在计算该标准查询语句与所述查询文本的相似度之前,所述方法还包括:
判断所述查询文本的长度是否大于该标准查询语句的长度;
若大于,则删除所述查询文本中的冗余词汇,以基于删除冗余词汇之后的查询文本计算所述相似度。
6.根据权利要求3所述的方法,其特征在于,当所述关键词中存在至少两个含义矛盾的关键词时,在计算该标准查询语句与所述查询文本的相似度之前,所述方法还包括:
获取用户的历史查询文本;
基于所述历史查询文本中所述关键词的出现频率,设置所述至少两个含义矛盾的关键词中每个关键词的权重,以基于所述权重计算所述相似度。
7.根据权利要求1所述的方法,其特征在于,在判断所述查询文本是否具有规范语句结构之后,所述方法还包括:
若判断结果为否,则通过关键词提取模型提取所述查询文本中的关键词;所述关键词表征所述用户描述的数据对象,和/或,所述用户描述的限定条件;
从所述标准查询语句库中确定出匹配于所述关键词的标准查询语句;
若确定出匹配于所述关键词的至少一个标准查询语句,则将所述至少一个标准查询语句推荐给所述用户;
获取用户选中的标准查询语句,并将用户选中的标准查询语句确定为新的查询文本。
8.根据权利要求7所述的方法,其特征在于,在通过关键词提取模型提取所述查询文本中的关键词之后,所述方法还包括:
若未确定出匹配于所述关键词的至少一个标准查询语句,则获取所述查询文本的前一个查询文本;
将所述查询文本与所述前一个查询文本拼凑成的文本确定为新的查询文本。
9.根据权利要求7所述的方法,其特征在于,在通过关键词提取模型提取所述查询文本中的关键词之后,所述方法还包括:
在满足预设的提醒条件时,生成用于提醒用户继续补充所述查询文本的提醒信息;所述提醒条件包括:未确定出匹配于所述关键词的至少一个标准查询语句;和/或,未获取到用户选中的标准查询语句;
响应于用户的补充操作,将补充后的查询文本确定为新的查询文本。
10.一种数据查询装置,其特征在于,所述装置包括:
响应模块,用于响应于用户输入的查询指令,确定相应的查询文本;
第一判断模块,用于判断所述查询文本是否具有规范语句结构;
第一确定模块,用于若判断结果为是,则从预设的标准查询语句库中,确定出与所述查询文本最相似的标准查询语句,作为目标标准查询语句;其中,所述标准查询语句库中的标准查询语句关联有查询所针对的数据对象与该数据对象需满足的限定条件;
第二确定模块,用于根据所述目标标准查询语句所关联的数据对象与限定条件,确定满足待操作数据库的查询代码语法的查询代码,并基于所述查询代码对所述待操作数据库执行查询操作。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-9任一所述数据查询方法的步骤。
12.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-9任一所述数据查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211223652.2A CN115576975A (zh) | 2022-10-08 | 2022-10-08 | 一种数据查询方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211223652.2A CN115576975A (zh) | 2022-10-08 | 2022-10-08 | 一种数据查询方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576975A true CN115576975A (zh) | 2023-01-06 |
Family
ID=84585517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211223652.2A Pending CN115576975A (zh) | 2022-10-08 | 2022-10-08 | 一种数据查询方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576975A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108163A (zh) * | 2023-04-04 | 2023-05-12 | 之江实验室 | 一种文本的匹配方法、装置、设备及存储介质 |
-
2022
- 2022-10-08 CN CN202211223652.2A patent/CN115576975A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108163A (zh) * | 2023-04-04 | 2023-05-12 | 之江实验室 | 一种文本的匹配方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107993724B (zh) | 一种医学智能问答数据处理的方法及装置 | |
US11256868B2 (en) | Architecture for resolving ambiguous user utterance | |
US11302330B2 (en) | Clarifying questions for rewriting ambiguous user utterance | |
US10922371B2 (en) | Query selection method and system | |
US20200334008A1 (en) | Search and knowledge base question answering for a voice user interface | |
US10037758B2 (en) | Device and method for understanding user intent | |
US10431214B2 (en) | System and method of determining a domain and/or an action related to a natural language input | |
KR101913191B1 (ko) | 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법 | |
KR101662450B1 (ko) | 다중 소스 하이브리드 질의응답 방법 및 시스템 | |
US9483459B1 (en) | Natural language correction for speech input | |
JP6310150B2 (ja) | 意図理解装置、方法およびプログラム | |
CN106503239A (zh) | 一种法律信息查询的方法和装置 | |
US20040167875A1 (en) | Information processing method and system | |
EP3799640A1 (en) | Semantic parsing of natural language query | |
CN111274267A (zh) | 一种数据库查询方法、装置及计算机可读取存储介质 | |
US20230205996A1 (en) | Automatic Synonyms Using Word Embedding and Word Similarity Models | |
WO2016178337A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
CN115576975A (zh) | 一种数据查询方法、装置、设备和介质 | |
US9785633B2 (en) | Foreign language service assisting apparatus, method and program | |
US11487795B2 (en) | Template-based automatic software bug question and answer method | |
CN113515616B (zh) | 一种基于自然语言的任务驱动*** | |
TW201409462A (zh) | 語意辨識方法 | |
CN117076636A (zh) | 一种智能客服的信息查询方法、***和设备 | |
US11775758B2 (en) | Computing system for entity disambiguation and not-in-list entity detection in a knowledge graph | |
WO2013035670A1 (ja) | 物体検索システムおよび物体検索方法 |
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 |