CN111506701B - 一种智能查询方法及相关装置 - Google Patents
一种智能查询方法及相关装置 Download PDFInfo
- Publication number
- CN111506701B CN111506701B CN202010217639.0A CN202010217639A CN111506701B CN 111506701 B CN111506701 B CN 111506701B CN 202010217639 A CN202010217639 A CN 202010217639A CN 111506701 B CN111506701 B CN 111506701B
- Authority
- CN
- China
- Prior art keywords
- query
- text information
- information
- voice
- text
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000013598 vector Substances 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims 1
- 238000012549 training Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 241000282813 Aepyceros melampus Species 0.000 description 4
- 241000251730 Chondrichthyes Species 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种智能查询方法,包括:接收第一查询请求,所述第一查询请求携带第一语音信息;对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。本申请实施例的技术方案,提高了数据查询的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种智能查询方法及相关装置。
背景技术
数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库可以通过数据库管理系统(例如MySQL)进行管理,MySQL所使用的结构化查询语言(structuredquery language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统。
目前,通过数据库管理系统查询数据库时,需要人为编写SQL语句进行查询。当需要查询的数据较多时,需要进行大量的程序开发,开发过程复杂,并且需要耗费大量时间,导致数据查询的效率低下。
发明内容
本申请提供一种智能查询方法及相关装置,提高了数据查询的效率。
本申请第一方面提供一种智能查询方法,包括:
接收第一查询请求,所述第一查询请求携带第一语音信息;
对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
本申请第二方面提供了一种智能查询装置,所述装置包括:
接收单元,用于接收第一查询请求,所述第一查询请求携带第一语音信息;
识别单元,用于对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
解析单元,用于将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
查询单元,用于根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
本申请第三方面提供了一种电子设备,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请第一方面任一方法中的步骤的指令。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现本申请第一方面任一方法中所描述的部分或全部步骤。
可以看到,通过本申请提出的智能查询方法及相关装置,接收第一查询请求,所述第一查询请求携带第一语音信息;对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。这样,在查询数据库时输入语音信息,输入的语音信息可以转换为对应的查询语句,根据查询语句在数据库中进行查询,得到查询结果并返回。通过上述方法,在查询数据库时只需要输入语音信息便可以得到查询结果,不需要人为大量编写查询语句,过程简单,并且节省了时间,从而提高了数据查询的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种智能查询系统的示意图;
图2为本申请实施例提供的一种智能查询方法的流程示意图;
图3为本申请实施例提供的另一种智能查询系统的示意图;
图4为本申请实施例提供的另一种智能查询方法的流程示意图;
图5为本申请实施例提供的另一种智能查询系统的示意图;
图6为本申请实施例提供的一种智能查询装置的示意图;
图7为本申请实施例涉及的硬件运行环境的电子设备结构示意图。
具体实施方式
本申请实施例提供的智能查询方法及相关装置,提高了数据查询的效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本申请实施例进行详细介绍。
首先参见图1,图1是本申请实施例提供的一种智能查询系统100的示意图。其中,如图1所示,智能查询系统100包括语音接收模块101、语音识别模块102、语义解析模块103、数据查询模块104和知识图谱105,并且,智能查询系统100可以访问数据库200。
语音接收模块101,用于接收第一查询请求,所述第一查询请求携带第一语音信息。语音接收模块101还用于将所述第一语音信息发给语音识别模块102。
语音识别模块102,用于对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息。语音识别模块102还用于将所述第一文字信息发给语义解析模块103。
语义解析模块103,用于将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句。语义解析模块103还用于将所述第一查询语句发给数据查询模块104。语义解析模块103包括语义解析模型,在构建语义解析模块的过程中,训练数据集从知识图谱105中获取。通过从知识图谱105中获取的文字信息集与查询语句集的对应关系对语义解析模型进行训练,从而构建语义解析模块103,对输入的文字信息输出对应的查询语句。
数据查询模块104,用于根据所述第一查询语句在数据库200中进行查询,以得到第一查询结果。数据查询模块104还用于返回所述第一查询结果。可选的,数据查询模块104包括数据库引擎,例如可以是Hive、Impala、Shark、Stinger、Presto等。
知识图谱105,用于为语义解析模块103提供训练数据集。训练数据集包括文字信息集与查询语句集的对应关系。知识图谱105中的数据主要从数据库200的元数据平台上存储的历史查询数据中获取。知识图谱105存储在图形数据库中,例如可以使用Neo4j图形数据库。
具体的,智能查询系统100运行在终端上,终端包括手机、平板电脑、掌上电脑、移动互联网设备或者其他类型的终端。在查询数据时,通过语音接收模块101接收用户输入的第一语音信息。其次,通过语音识别模块102对该第一语音信息进行处理,识别得到第一文字信息。其次,通过语义解析模块103对该第一文字信息进行处理,解析得到第一查询语句。其次,通过数据查询模块104在数据库200中进行数据查询,得到第一查询结果。最后,通过数据查询模块104返回该第一查询结果。
可选的,智能查询系统100还可以与用户管理系统对接,其中,用户管理系统用于用户的身份认证。具体的,用户在通过智能查询系统100查询数据之前,先输入该用户的用户名和密码,然后智能查询系统100将该用户的用户名和密码发送到用户管理系统进行认证,认证通过后,才允许用户通过智能查询系统100查询数据。
可以看到,通过本申请实施例提供的智能查询系统100,在查询数据库时输入语音信息,输入的语音信息可以转换为对应的查询语句,根据查询语句在数据库中进行查询,得到查询结果并返回。这样,在查询数据库时只需要输入语音信息便可以得到查询结果,不需要人为大量编写查询语句,过程简单,并且节省了时间,从而提高了数据查询的效率。
参见图2,图2为本申请实施例提供的一种智能查询方法的流程示意图。该智能查询方法应用于终端,终端包括手机、平板电脑、掌上电脑、移动互联网设备或者其他类型的终端。终端上可以运行如图1所示的智能查询系统,并且,智能查询系统可以访问终端的数据库。如图2所示,本申请实施例提供的一种智能查询方法可以包括:
201、接收第一查询请求,所述第一查询请求携带第一语音信息。
可选的,在接收第一查询请求之前,接收用户输入的用户名和密码,然后通过用户管理系统对该用户的用户名和密码进行认证。认证通过后,才允许该用户发送查询请求。
具体的,用户发起查询请求,通过终端的麦克风输入语音流。这样,运行在终端上的智能查询系统接收到携带第一语音信息的第一查询请求。
202、对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息。
具体的,获取第一查询请求携带的第一语音信息,通过预先训练得到的语音识别模型对该第一语音信息进行语音识别处理,得到该第一语音信息对应的第一文字信息。
可选的,语音识别模型包括声学模型和语言模型,语音识别模型可以采用高斯混合模型(gaussian mixture model,GMM)和隐马尔可夫模型(hidden markov model,HMM)。当语音识别模型采用GMM-HMM模型时,在模型训练过程中,首先,对每个单词建立一个HMM模型,建立HMM模型时需要用到该单词的训练样本,每个训练样本对应一段音频,该音频只包括该单词的读音。当有了多个训练样本后,就可以用这些样本结合Baum-Welch算法和EM算法来训练出GMM-HMM模型的参数,从而训练得到语音识别模型。
在一种可能的实施方式中,通过预先训练得到的语音识别模型对该第一语音信息进行语音识别处理,得到该第一语音信息对应的第一文字信息,包括:将该第一语音信息划分为至少一个语音帧;对该至少一个语音帧进行特征提取,以得到该至少一个语音帧的梅尔频率倒谱系数MFCC特征序列;将该至少一个语音帧的MFCC特征序列输入预先训练得到的语音识别模型,以得到该第一语音信息对应的第一文字信息。
具体的,得到第一语音信息后,首先要对该第一语音信息进行预处理,包括对第一语音信息进行分帧,得到至少一个语音帧,方便后续对语音帧进行处理。其次,对该至少一个语音帧进行特征提取,得到该至少一个语音帧的梅尔倒谱系数(mel-scale frequencycepstral coefficients,MFCC)特征序列。在语音识别方面,最常用到的语音特征是MFCC,MFCC是在Mel标度频率域提取出来的倒谱参数,其中,Mel标度描述了人耳频率的非线性特性。最后,将得到的MFCC特征序列输入预先训练得到的语音识别模型,识别得到该第一语音信息对应的第一文字信息。
可选的,得到第一文字信息之后,获取该第一文字信息中的至少一个关键词;判断该至少一个关键词中是否存在属于预设查询关键词范围的关键词;若该至少一个关键词中不存在属于该预设查询关键词范围的关键词,则生成查询失败信息,该查询失败信息用于提示用户重新发送携带第二语音信息的第二查询请求。
具体的,第一文字信息是根据用户输入的第一语音信息得到的,终端从用户输入麦克风的语音流中获取该第一语音信息。当用户输入的语音流与数据查询无关时,相应得到的第一文字信息也与数据查询无关。为了避免无效的数据查询,可以先对得到的第一文字信息进行验证。
对第一文字信息进行验证的具体过程包括,获取第一文字信息中的至少一个关键字,该至少一个关键字包括动词类型关键字和/或名词类型关键字。例如,第一文字信息为“查询员工信息表中的员工数量”,获取其中的动词类型关键字包括“查询”,其中的名词类型关键字包括“员工”、“信息表”和/或“数量”。
其次,判断该至少一个关键词中是否存在属于预设查询关键词范围的关键词,也就是说,判断该第一文字信息是否与数据查询有关。举例来说,第一文字信息为“查询员工信息表中的员工数量”,获取到的至少一个关键词包括“查询”,预设查询关键词范围包括“查询”。这样,该至少一个关键词中存在属于预设查询关键词范围的关键词。
若该至少一个关键词中不存在属于该预设查询关键词范围的关键词,则生成查询失败信息,该查询失败信息用于提示用户重新发送携带第二语音信息的第二查询请求。例如,终端生成弹窗或者界面,在生成的弹窗或者界面上显示查询失败信息。
203、将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句。
具体的,得到第一文字信息后,通过预先训练得到的语义解析模型对该第一文字信息进行处理,得到该第一文字信息对应的第一查询语句。
可选的,语义解析模型包括编码器和解码器,其中,编码器用于将第一文字信息分解成对应的第一词向量,解码器用于根据该第一词向量解析得到第一查询语句。
第一文字信息属于自然语言,自然语言中,词是表义的基本单元。但是自然语言不能直接被计算机理解,因此需要将第一文字信息分解成对应的第一词向量,然后对第一词向量进行处理。词向量是用来表示词的特征向量,通过将词映射到向量空间里,从而得到用向量表示的特征。词向量可以通过神经网络训练得到,经过训练之后的词向量,能够表征词之间的关系,并且可以被计算机理解。
第一查询语句属于结构化的查询语句,用于在数据库中进行查询。举例来说,数据库通过数据库管理系统MySQL进行管理,MySQL所使用的结构化查询语言(structuredquery language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统。在这种情况下,第一查询语句即为SQL语句。例如,第一查询语句为:select lastname,firstname from persons,即从名为“persons”的数据库表中查询名为“lastname”和“firstname”的列的内容。
举例来说,第一文字信息为“A公司有多少员工”,经过语义解析模型处理后,得到对应的SQL语句为:select count employee from sas_emp where company=‘A’。
在构建语义解析模型的过程中,训练数据集从知识图谱中获取。通过从知识图谱中获取的文字信息集与查询语句集的对应关系对语义解析模型进行训练,从而构建语义解析模块,对输入的文字信息输出对应的查询语句。需要说明的是,知识图谱用于为语义解析模块提供训练数据集,其中,训练数据集包括文字信息集与查询语句集的对应关系。知识图谱中的数据主要从数据库的元数据平台上存储的历史查询数据中获取。知识图谱存储在图形数据库中,例如可以使用Neo4j图形数据库。
本方案中的语义解析模型为在数据库中进行数据查询提供服务,属于在特定场景下的语义解析。训练语义解析模型的训练数据集从知识图谱中获取,包括文字信息集与查询语句集的对应关系。这样,可以减少训练成本,缩小预测范围,提高了语义解析模型的训练效率和语义解析。
可选的,将第一文字信息分解成第一文字信息对应的第一词向量,根据第一词向量解析得到第一文字信息对应的第一查询语句,包括:将第一文字信息输入编码器,以得到第一文字信息对应的第一词向量,其中,编码器由双向循环神经网络Bidirectional RNN组成;将第一词向量输入解码器,以得到第一文字信息对应的第一查询语句,其中,解码器包括状态判别单元和n个子序列,其中,n为正整数,n个子序列用于预测得到n个预测结果,n个子序列与n个预测结果一一对应,状态判别单元用于在每个节点选择n个子序列中的输出子序列,从n个预测结果中选择与输出子序列对应的预测结果,以得到第一查询语句。
具体的,语义解析模型包括编码器和解码器,其中,编码器用于将第一文字信息分解成对应的第一词向量,解码器用于根据该第一词向量解析得到第一查询语句。编码器由Bidirectional RNN组成,其中,Bidirectional RNN的第一个神经元和最后一个神经元相连后作为编码器的输出。Bidirectional RNN的输出结果同时作为解码器的输入。举例来说,以n等于3,使用SQL语句查询为例,解码器包括一个状态判别单元和3个子序列,3个子序列分别为列(Column)、值(value)和SQL序列。第一词向量输入解码器后,在每个子序列中分别预测相应的列、值和SQL保留字。状态判别单元在每个节点选择Column、value和SQL序列中的一个序列作为输出序列,从预测得到的列、值和SQL保留字中选择输出值,最终生成SQL语句,也即得到查询语句。
204、根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
具体的,智能查询系统可以访问数据库,得到第一查询语句后,根据该第一查询语句在数据库中进行查询,以得到第一查询结果。最后,返回该第一查询结果。
可选的,智能查询系统包括数据库引擎,数据库引擎用于在数据库中进行查询,数据库引擎例如可以是Hive、Impala、Shark、Stinger、Presto等,还可以是其他数据库引擎,在此不作限定。
可以看到,通过本申请提出的智能查询方法,接收第一查询请求,第一查询请求携带第一语音信息;对第一语音信息进行语音识别处理,以得到第一语音信息对应的第一文字信息;将第一文字信息分解成第一文字信息对应的第一词向量,根据第一词向量解析得到第一文字信息对应的第一查询语句;根据第一查询语句在数据库中进行查询,以得到第一查询结果。这样,在查询数据库时输入语音信息,输入的语音信息可以转换为对应的查询语句,根据查询语句在数据库中进行查询,得到查询结果并返回。通过上述方法,在查询数据库时只需要输入语音信息便可以得到查询结果,不需要人为大量编写查询语句,过程简单,并且节省了时间,从而提高了数据查询的效率。
参见图3,图3是本申请实施例提供的另一种智能查询系统300的示意图。其中,如图3所示,智能查询系统300包括语音接收模块301、语音识别模块302、语义扩展模块303、语义解析模块304、数据查询模块305和知识图谱306,并且,智能查询系统300可以访问数据库400。
语音接收模块301,用于接收第一查询请求,该第一查询请求携带第一语音信息。语音接收模块301还用于将该第一语音信息发给语音识别模块302。
语音识别模块302,用于对第一语音信息进行语音识别处理,以得到第一语音信息对应的第一文字信息。语音识别模块302还用于将第一文字信息发给语义扩展模块303和语义解析模块304。
语义扩展模块303,用于对第一文字信息进行扩展,以得到m条第二文字信息,其中,m为正整数。语义扩展模块303还用于将m条第二文字信息发给语义解析模块304。
语义解析模块304,用于将第一文字信息分解成第一文字信息对应的第一词向量,根据第一词向量解析得到第一文字信息对应的第一查询语句。语义解析模块304还用于将m条第二文字信息分解成m条第二文字信息对应的m个第二词向量,m条第二文字信息与m个第二词向量一一对应,根据m个第二词向量解析得到m条第二查询语句,m个第二词向量与m条第二查询语句一一对应。语义解析模块304还用于将第一查询语句和m条第二查询语句发给数据查询模块305。语义解析模块304包括语义解析模型,在构建语义解析模块的过程中,训练数据集从知识图谱306中获取。通过从知识图谱306中获取的文字信息集与查询语句集的对应关系对语义解析模型进行训练,从而构建语义解析模块304,对输入的文字信息输出对应的查询语句。
数据查询模块305,用于根据第一查询语句在数据库400中进行查询,以得到第一查询结果。数据查询模块305还用于根据m条第二查询语句在数据库400中进行查询,以得到m条第二查询结果,m条第二查询语句与m条第二查询结果一一对应。数据查询模块305还用于返回第一查询结果和m条第二查询结果。可选的,数据查询模块305包括数据库引擎,例如可以是Hive、Impala、Shark、Stinger、Presto等。
知识图谱306,用于为语义解析模块304提供训练数据集。训练数据集包括文字信息集与查询语句集的对应关系。知识图谱306中的数据主要从数据库400的元数据平台上存储的历史查询数据中获取。知识图谱306存储在图形数据库中,例如可以使用Neo4j图形数据库。
具体的,智能查询系统300运行在终端上,终端包括手机、平板电脑、掌上电脑、移动互联网设备或者其他类型的终端。在查询数据时,通过语音接收模块301接收用户输入的第一语音信息。其次,通过语音识别模块302对该第一语音信息进行处理,识别得到第一文字信息。其次,通过语义扩展模块303对第一文字信息进行扩展,得到m条第二文字信息。其次,通过语义解析模块304对该第一文字信息和m条第二文字信息进行处理,解析得到第一查询语句和m条第二查询语句。其次,通过数据查询模块305在数据库400中进行数据查询,得到第一查询结果和m条第二查询结果。最后,通过数据查询模块305返回该第一查询结果和该m条第二查询结果。
可选的,智能查询系统300还可以与用户管理系统对接,其中,用户管理系统用于用户的身份认证。具体的,用户在通过智能查询系统300查询数据之前,先输入该用户的用户名和密码,然后智能查询系统300将该用户的用户名和密码发送到用户管理系统进行认证,认证通过后,才允许用户通过智能查询系统300查询数据。
可以看到,通过本申请实施例提供的智能查询系统300,在查询数据库时输入语音信息,输入的语音信息可以转换为对应的查询语句以及扩展的查询语句,根据多条查询语句在数据库中进行查询,可以得到多条查询结果并返回。这样,在查询数据库时只需要输入语音信息便可以得到对应的查询结果以及扩展的查询结果,不需要人为大量编写查询语句,过程简单,节省了时间,并且可以同时返回扩展查询得到的查询结果,方便用户查看,提高了数据查询的效率。
参见图4,图4为本申请实施例提供的另一种智能查询方法的流程示意图。该智能查询方法应用于终端,终端包括手机、平板电脑、掌上电脑、移动互联网设备或者其他类型的终端。终端上可以运行如图3所示的智能查询系统,并且,智能查询系统可以访问终端的数据库。如图4所示,本申请实施例提供的一种智能查询方法可以包括:
401、接收第一查询请求,第一查询请求携带第一语音信息。
具体的,用户发起查询请求,通过终端的麦克风输入语音流。这样,运行在终端上的智能查询系统接收到携带第一语音信息的第一查询请求。
402、对第一语音信息进行语音识别处理,以得到第一语音信息对应的第一文字信息。
具体的,获取第一查询请求携带的第一语音信息,通过预先训练得到的语音识别模型对该第一语音信息进行语音识别处理,得到该第一语音信息对应的第一文字信息,其中,语音识别模型采用GMM-HMM模型。
得到第一语音信息后,首先要对该第一语音信息进行预处理,包括对第一语音信息进行分帧,得到至少一个语音帧,方便后续对语音帧进行处理。其次,对该至少一个语音帧进行特征提取,得到该至少一个语音帧的梅尔倒谱系数(mel-scale frequencycepstral coefficients,MFCC)特征序列。在语音识别方面,最常用到的语音特征是MFCC,MFCC是在Mel标度频率域提取出来的倒谱参数,其中,Mel标度描述了人耳频率的非线性特性。最后,将得到的MFCC特征序列输入预先训练得到的语音识别模型,识别得到该第一语音信息对应的第一文字信息。
403、将第一文字信息分解成第一文字信息对应的第一词向量,根据第一词向量解析得到第一文字信息对应的第一查询语句。
具体的,得到第一文字信息后,通过预先训练得到的语义解析模型对该第一文字信息进行处理,得到该第一文字信息对应的第一查询语句。
可选的,语义解析模型包括编码器和解码器,其中,编码器用于将第一文字信息分解成对应的第一词向量,解码器用于根据该第一词向量解析得到第一查询语句。
具体的,语义解析模型包括编码器和解码器,其中,编码器用于将第一文字信息分解成对应的第一词向量,解码器用于根据该第一词向量解析得到第一查询语句。编码器由Bidirectional RNN组成,其中,Bidirectional RNN的第一个神经元和最后一个神经元相连后作为编码器的输出。Bidirectional RNN的输出结果同时作为解码器的输入。具体的,解码器包括一个状态判别单元和3个子序列,3个子序列分别为列(Column)、值(value)和SQL序列。第一词向量输入解码器后,在每个子序列中分别预测相应的列、值和SQL保留字。状态判别单元在每个节点选择Column、value和SQL序列中的一个序列作为输出序列,从预测得到的列、值和SQL保留字中选择输出值,最终生成SQL语句,也即得到查询语句。
404、根据第一查询语句在数据库中进行查询,以得到第一查询结果。
具体的,智能查询系统可以访问数据库,得到第一查询语句后,根据该第一查询语句在数据库中进行查询,以得到第一查询结果。
405、对第一文字信息进行扩展,以得到m条第二文字信息,其中,m为正整数。
可选的,对第一文字信息进行扩展,以得到m条第二文字信息,包括:获取第一文字信息中的第一关键词;获取与第一关键词有关联关系的m个第二关键词;根据m个第二关键词对第一文字信息进行扩展,以得到m条第二文字信息,m个第二关键词与m条第二文字信息一一对应。
具体的,第一关键词为名词类型关键字。例如,第一文字信息为“查询员工信息表中的员工数量”,获取到的第一关键词可以是“员工”或者“数量”。
其次,获取与该第一关键词有关联关系的m个第二关键词,其中,该第一关键词与该m个第二关键词的关联关系可以是包含关系或者其他关联关系。例如,第一关键词为“员工”,则可以获取到两个第二关键词,分别为“男性员工”和“女性员工”。再例如,第一关键词为“数量”,则可以获取到三个第二关键词,分别为“年龄”、“部门”和“职位”。
最后,根据m个第二关键词对第一文字信息进行扩展,得到m条第二文字信息,其中,扩展的过程包括关键词替换。例如,第一文字信息为“查询员工信息表中的员工数量”,两个第二关键词分别为“男性员工”和“女性员工”,则扩展得到的两条第二文字信息分别为“查询员工信息表中的男性员工数量”和“查询员工信息表中的女性员工数量”。再例如,第一文字信息为“查询员工信息表中的员工数量”,三个第二关键词分别为“年龄”、“部门”和“职位”,则扩展得到的三条第二文字信息分别为“查询员工信息表中的员工年龄”、“查询员工信息表中的员工部门”和“查询员工信息表中的员工职位”。
406、将m条第二文字信息分解成m条第二文字信息对应的m个第二词向量,m条第二文字信息与m个第二词向量一一对应,根据m个第二词向量解析得到m条第二查询语句,m个第二词向量与m条第二查询语句一一对应。
具体的,得到m条第二文字信息后,通过预先训练得到的语义解析模型对该m条第二文字信息进行处理,得到该m条第二文字信息对应的m条第二查询语句。语义解析模型包括编码器和解码器,其中,编码器用于将m条第二文字信息分解成m条第二文字信息对应的m个第二词向量,m条第二文字信息与m个第二词向量一一对应,解码器用于根据m个第二词向量解析得到m条第二查询语句,m个第二词向量与m条第二查询语句一一对应。
407、根据m条第二查询语句在数据库中进行查询,以得到m条第二查询结果,m条第二查询语句与m条第二查询结果一一对应。
具体的,智能查询系统可以访问数据库,得到m条第二查询语句后,根据该m条第二查询语句在数据库中进行查询,以得到m条第二查询结果。
举例来说,扩展得到的两条第二文字信息分别为“查询员工信息表中的男性员工数量”和“查询员工信息表中的女性员工数量”,则扩展查询得到的两条查询结果分别为男性员工数量和女性员工数量。这样,用户在查询员工数量时,不仅可以查看到员工数量,还可以查看到其中的男性员工数量和女性员工数量,方便用户根据自己的需求查看关联的数据,提高了数据查询的智能性。再例如,扩展得到的三条第二文字信息分别为“查询员工信息表中的员工年龄”、“查询员工信息表中的员工部门”和“查询员工信息表中的员工职位”,则扩展查询得到的三条查询结果分别为员工年龄、员工部门和员工职位。这样,用户在查询员工数量时,不仅可以查看到员工数量,还可以查看到员工年龄、员工部门和员工职位,方便用户根据自己的需求查看关联的数据,同样提高了数据查询的智能性。
408、返回第一查询结果和m条第二查询结果。
可以看到,通过本申请实施例提供的智能查询方法,在查询数据库时输入语音信息,输入的语音信息可以转换为对应的查询语句以及扩展的查询语句,根据多条查询语句在数据库中进行查询,可以得到多条查询结果并返回。这样,在查询数据库时只需要输入语音信息便可以得到对应的查询结果以及扩展的查询结果,不需要人为大量编写查询语句,过程简单,节省了时间,并且可以同时返回扩展查询得到的查询结果,方便用户查看,提高了数据查询的效率和智能性。
在一种可能的实施方式中,用户可以直接输入文字信息进行数据查询。参见图5,图5是本申请实施例提供的另一种智能查询系统500的示意图。其中,如图5所示,智能查询系统500包括文字接收模块501、语义解析模块502、数据查询模块503和知识图谱504,并且,智能查询系统500可以访问数据库600。需要说明的是,智能查询系统500还可以包括其他模块,例如语音接收模块和语音识别模块,不限定于图5中示出的模块。
文字接收模块501,用于接收第三查询请求,所述第三查询请求携带第三文字信息。文字接收模块501还用于将第三文字信息发给语义解析模块502。
语义解析模块502,用于将所述第三文字信息分解成所述第三文字信息对应的第三词向量,根据所述第三词向量解析得到所述第三文字信息对应的第三查询语句。语义解析模块502还用于将第三查询语句发给数据查询模块503。语义解析模块502包括语义解析模型,在构建语义解析模块的过程中,训练数据集从知识图谱504中获取。通过从知识图谱504中获取的文字信息集与查询语句集的对应关系对语义解析模型进行训练,从而构建语义解析模块502,对输入的文字信息输出对应的查询语句。
数据查询模块503,用于根据所述第三查询语句在数据库中进行查询,以得到第三查询结果。数据查询模块503还用于返回所述第三查询结果。可选的,数据查询模块503包括数据库引擎,例如可以是Hive、Impala、Shark、Stinger、Presto等。
知识图谱504,用于为语义解析模块502提供训练数据集。训练数据集包括文字信息集与查询语句集的对应关系。知识图谱504中的数据主要从数据库600的元数据平台上存储的历史查询数据中获取。知识图谱504存储在图形数据库中,例如可以使用Neo4j图形数据库。
可以看到,通过本申请实施例提供的智能查询系统500,在查询数据库时输入文字信息,输入的文字信息可以转换为对应的查询语句,根据查询语句在数据库中进行查询,得到查询结果并返回。这样,在查询数据库时只需要输入文字信息便可以得到查询结果,不需要人为大量编写查询语句,过程简单,并且节省了时间,从而提高了数据查询的效率。
参见图6,图6为本申请实施例提供的一种智能查询装置的示意图。其中,如图6所示,本申请实施例提供的一种智能查询装置可以包括:
接收单元601,用于接收第一查询请求,所述第一查询请求携带第一语音信息;
识别单元602,用于对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
解析单元603,用于将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
查询单元604,用于根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
本申请智能查询装置的具体实施可参见上述智能查询方法的各实施例,在此不做赘述。
参见图7,图7为本申请的实施例涉及的硬件运行环境的电子设备结构示意图。其中,如图7所示,本申请的实施例涉及的硬件运行环境的电子设备可以包括:
处理器701,例如CPU。
存储器702,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
通信接口703,用于实现处理器701和存储器702之间的连接通信。
本领域技术人员可以理解,图7中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,存储器702中可以包括操作系统、网络通信模块以及智能查询程序。操作系统是管理和控制电子设备硬件和软件资源的程序,支持智能查询程序以及其他软件或程序的运行。网络通信模块用于实现存储器702内部各组件之间的通信,以及与电子设备中其他硬件和软件之间通信。
在图7所示的电子设备中,处理器701用于执行存储器702中存储的智能查询程序,实现以下步骤:
接收第一查询请求,所述第一查询请求携带第一语音信息;
对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
本申请电子设备的具体实施可参见上述智能查询方法的各实施例,在此不做赘述。
本申请的另一个实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行以实现以下步骤:
接收第一查询请求,所述第一查询请求携带第一语音信息;
对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
本申请计算机可读存储介质的具体实施可参见上述智能查询方法的各实施例,在此不做赘述。
还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种智能查询方法,其特征在于,包括:
接收第一查询请求,所述第一查询请求携带第一语音信息;
对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
将所述第一文字信息输入编码器,以得到所述第一文字信息对应的第一词向量,其中,所述编码器由双向循环神经网络Bidirectional RNN组成;
将所述第一词向量输入解码器,以得到所述第一文字信息对应的第一查询语句,其中,所述解码器包括状态判别单元和n个子序列,其中,n为正整数,所述n个子序列用于预测得到n个预测结果,所述n个子序列与所述n个预测结果一一对应,所述状态判别单元用于在每个节点选择所述n个子序列中的输出子序列,从所述n个预测结果中选择与所述输出子序列对应的预测结果,以得到所述第一查询语句;
根据所述第一查询语句在数据库中进行查询,以得到第一查询结果;
对所述第一文字信息进行扩展,以得到m条第二文字信息,其中,m为正整数;
将所述m条第二文字信息分解成所述m条第二文字信息对应的m个第二词向量,所述m条第二文字信息与所述m个第二词向量一一对应,根据所述m个第二词向量解析得到m条第二查询语句,所述m个第二词向量与所述m条第二查询语句一一对应;
根据所述m条第二查询语句在所述数据库中进行查询,以得到m条第二查询结果,所述m条第二查询语句与所述m条第二查询结果一一对应。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息之后,所述将所述第一文字信息分解成所述第一文字信息对应的第一词向量之前,所述方法还包括:
获取所述第一文字信息中的至少一个关键词;
判断所述至少一个关键词中是否存在属于预设查询关键词范围的关键词;
若所述至少一个关键词中不存在属于所述预设查询关键词范围的关键词,则生成查询失败信息,所述查询失败信息用于提示用户重新发送携带第二语音信息的第二查询请求。
3.根据权利要求1所述的方法,其特征在于,所述对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息,包括:
将所述第一语音信息划分为至少一个语音帧;
对所述至少一个语音帧进行特征提取,以得到所述至少一个语音帧的梅尔频率倒谱系数MFCC特征序列;
将所述至少一个语音帧的MFCC特征序列输入预先训练得到的语音识别模型,以得到所述第一语音信息对应的所述第一文字信息。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一文字信息进行扩展,以得到m条第二文字信息,包括:
获取所述第一文字信息中的第一关键词;
获取与所述第一关键词有关联关系的m个第二关键词;
根据所述m个第二关键词对所述第一文字信息进行扩展,以得到所述m条第二文字信息,所述m个第二关键词与所述m条第二文字信息一一对应。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第三查询请求,所述第三查询请求携带第三文字信息;
将所述第三文字信息分解成所述第三文字信息对应的第三词向量,根据所述第三词向量解析得到所述第三文字信息对应的第三查询语句;
根据所述第三查询语句在数据库中进行查询,以得到第三查询结果。
6.一种智能查询装置,其特征在于,所述智能查询装置用于执行如权利要求1-5中任一项所述的方法,所述装置包括:
接收单元,用于接收第一查询请求,所述第一查询请求携带第一语音信息;
识别单元,用于对所述第一语音信息进行语音识别处理,以得到所述第一语音信息对应的第一文字信息;
解析单元,用于将所述第一文字信息分解成所述第一文字信息对应的第一词向量,根据所述第一词向量解析得到所述第一文字信息对应的第一查询语句;
查询单元,用于根据所述第一查询语句在数据库中进行查询,以得到第一查询结果。
7.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1至5任一项方法中的步骤的指令。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217639.0A CN111506701B (zh) | 2020-03-25 | 2020-03-25 | 一种智能查询方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217639.0A CN111506701B (zh) | 2020-03-25 | 2020-03-25 | 一种智能查询方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506701A CN111506701A (zh) | 2020-08-07 |
CN111506701B true CN111506701B (zh) | 2024-07-09 |
Family
ID=71870756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010217639.0A Active CN111506701B (zh) | 2020-03-25 | 2020-03-25 | 一种智能查询方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506701B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447300B (zh) * | 2020-11-27 | 2024-02-09 | 平安科技(深圳)有限公司 | 基于图神经网络的医疗查询方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610972A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 查询改写方法及装置 |
CN109753658A (zh) * | 2018-12-29 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 交互方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376645B2 (en) * | 2004-11-29 | 2008-05-20 | The Intellection Group, Inc. | Multimodal natural language query system and architecture for processing voice and proximity-based queries |
US20160171050A1 (en) * | 2014-11-20 | 2016-06-16 | Subrata Das | Distributed Analytical Search Utilizing Semantic Analysis of Natural Language |
CN109408526B (zh) * | 2018-10-12 | 2023-10-31 | 平安科技(深圳)有限公司 | Sql语句生成方法、装置、计算机设备及存储介质 |
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和系统 |
CN110321417B (zh) * | 2019-05-30 | 2021-06-11 | 山东大学 | 一种对话生成方法、系统、可读存储介质及计算机设备 |
-
2020
- 2020-03-25 CN CN202010217639.0A patent/CN111506701B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610972A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 查询改写方法及装置 |
CN109753658A (zh) * | 2018-12-29 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 交互方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111506701A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740863B2 (en) | Search and knowledge base question answering for a voice user interface | |
US10978047B2 (en) | Method and apparatus for recognizing speech | |
US20190163691A1 (en) | Intent Based Dynamic Generation of Personalized Content from Dynamic Sources | |
CN109408526B (zh) | Sql语句生成方法、装置、计算机设备及存储介质 | |
WO2021042503A1 (zh) | 信息分类抽取方法、装置、计算机设备和存储介质 | |
KR102288249B1 (ko) | 정보 처리 방법, 단말기, 및 컴퓨터 저장 매체 | |
US9564122B2 (en) | Language model adaptation based on filtered data | |
US7966171B2 (en) | System and method for increasing accuracy of searches based on communities of interest | |
JP2022539138A (ja) | 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法 | |
JP2017505964A (ja) | 機械学習に基づく自動タスク分類 | |
CN109829052A (zh) | 一种基于人机交互的开放式对话方法和系统 | |
CN111710337B (zh) | 语音数据的处理方法、装置、计算机可读介质及电子设备 | |
EP3598436A1 (en) | Structuring and grouping of voice queries | |
CN108536807B (zh) | 一种信息处理方法及装置 | |
KR101677859B1 (ko) | 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN110808032A (zh) | 一种语音识别方法、装置、计算机设备及存储介质 | |
CN111159987A (zh) | 数据图表绘制方法、装置、设备和计算机可读存储介质 | |
CN112669842A (zh) | 人机对话控制方法、装置、计算机设备及存储介质 | |
CN113515616B (zh) | 一种基于自然语言的任务驱动系统 | |
CN112084752A (zh) | 基于自然语言的语句标注方法、装置、设备及存储介质 | |
CN110931002B (zh) | 人机交互方法、装置、计算机设备和存储介质 | |
CN112100339A (zh) | 用于智能语音机器人的用户意图识别方法、装置和电子设备 | |
US8407047B2 (en) | Guidance information display device, guidance information display method and recording medium | |
CN111506701B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |