CN115497477A - 语音交互方法、语音交互装置、电子设备、存储介质 - Google Patents
语音交互方法、语音交互装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115497477A CN115497477A CN202211101801.8A CN202211101801A CN115497477A CN 115497477 A CN115497477 A CN 115497477A CN 202211101801 A CN202211101801 A CN 202211101801A CN 115497477 A CN115497477 A CN 115497477A
- Authority
- CN
- China
- Prior art keywords
- target
- query
- database
- node
- word vector
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000003993 interaction Effects 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 129
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 230000009471 action Effects 0.000 claims description 95
- 238000000605 extraction Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 5
- 238000013518 transcription Methods 0.000 claims description 3
- 230000035897 transcription Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 description 16
- 238000012549 training Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000003058 natural language processing Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/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/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/54—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种语音交互方法、语音交互装置、电子设备、存储介质,属于人工智能技术领域。该方法包括:获取目标对象的查询语音;对查询语音进行转录,得到查询语音对应的文本数据;获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据;对联合数据进行语义解析,得到目标词向量序列;对目标词向量序列中的每个词向量进行语法解析,生成语法树;深度优先遍历语法树得到查询语句;执行查询语句,以从数据库中查询得到查询语音对应的查询结果。本申请实施例通过联合编码能够得到语义更为精确的词向量,并通过语法树使查询语句在语法结构上具有层次性,能够提高语音查询的准确率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语音交互方法、语音交互装置、电子设备、存储介质。
背景技术
相关技术中,语音查询通过将查询语音转换为问题文本,利用自然语言处理技术将问题文本与数据库中预先存储的问题进行匹配,得到查询语音对应的答案,但是这种问题匹配模式会导致查询结果与用户的问题不匹配,语音查询的准确率低。
发明内容
本申请实施例的主要目的在于提出一种语音交互方法、语音交互装置、电子设备、存储介质,旨在提高语音查询的准确率。
为实现上述目的,本申请实施例的第一方面提出了一种语音交互方法,所述方法包括:
获取目标对象的查询语音;
对所述查询语音进行转录,得到所述查询语音对应的文本数据;
获取预设数据库的数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据;
对联合数据进行语义解析,得到目标词向量序列;
对所述目标词向量序列中的每个词向量进行语法解析,生成语法树;
深度优先遍历所述语法树得到查询语句;
执行所述查询语句,以从所述数据库中查询得到所述查询语音对应的查询结果。
在一些实施例,所述数据库模式信息包括数据库表信息和数据库列信息,所述获取数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据,包括:
提取所述数据库中每张表的表名,得到所述数据库表信息;
提取所述数据库中每张表对应列的列名,得到所述数据库列信息;
对所述文本数据、所述数据库表信息和所述数据库列信息进行联合编码,得到联合数据。
在一些实施例,所述对联合数据进行语义解析,得到目标词向量序列,包括:
将所述联合数据输入至预设的语义解析模型,基于所述语义解析模型对所述联合数据进行语义解析,得到初始词向量序列;
将所述初始词向量序列输入至预设的第一特征提取模型,基于所述第一特征提取模型对所述初始词向量序列进行特征提取,得到目标词向量序列。
在一些实施例,对所述目标词向量序列中的每个词向量进行语法解析,生成语法树,包括:
根据预设的语法规则对所述目标词向量序列中的词向量进行语法解析,得到节点候选集合,所述节点候选集合包括头节点;
从所述节点候选集合中选取所述头节点,作为所述语法树的根节点;
获取目标执行动作;
根据所述目标执行动作从所述节点候选集合中选取目标节点,直至所述节点候选集合中的节点均被选取,以从所述根节点生成所述语法树。
在一些实施例,所述获取目标执行动作,包括:
获取初始执行动作的概率分布,所述概率分布用于表征所述初始执行动作能够被执行的概率;
若所述概率分布满足预设条件,则确定所述初始执行动作为目标执行动作。在一些实施例,所述节点候选集合还包括非叶子节点和叶子节点,所述叶子节点包括表节点、列节点和值节点,所述根据所述目标执行动作从所述节点候选集合中选取目标节点,包括:
若所述目标执行动作为第一执行动作,根据所述第一执行动作从所述语法规则中选择目标语法规则,根据所述目标语法规则从所述节点候选集合中选取所述目标语法规则对应的所述非叶子节点作为所述目标节点;
若所述目标执行动作为第二执行动作,根据所述第二执行动作从所述目标词向量序列中选取目标表名词向量,根据所述目标表名词向量从所述节点候选集合中选取所述目标表名词向量对应的所述表节点作为所述目标节点;
若所述目标执行动作为第三执行动作,根据所述第三执行动作从所述目标词向量序列中选取目标列名词向量,根据所述目标列名词向量从所述节点候选集合中选取所述目标列名词向量对应的所述列节点作为所述目标节点;
若所述目标执行动作为第四执行动作,根据所述第四执行动作从所述目标词向量序列中选取目标值词向量,根据所述目标值词向量从所述节点候选集合中选取所述目标值词向量对应的所述值节点作为所述目标节点。
在一些实施例,所述深度优先遍历所述语法树得到查询语句,包括:
深度优先遍历所述语法树,根据所述语法规则对语法树中的节点按照层数顺序进行映射,得到节点路径序列;
将所述节点路径序列输入至预设的第二特征提取模型,基于所述第二特征提取模型对所述节点路径序列进行特征提取,得到所述第二特征提取模型目标隐藏层输出的查询语句。
为实现上述目的,本申请实施例的第二方面提出了一种语音交互装置,所述装置包括:
获取模块,用于获取目标对象的查询语音;
转录模块,用于对所述查询语音进行转录,得到所述查询语音对应的文本数据;
联合编码模块,用于获取预设数据库的数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据;
语义解析模块,用于对联合数据进行语义解析,得到目标词向量序列;
语法解析模块,用于对所述目标词向量序列中的每个词向量进行语法解析,生成语法树;
遍历模块,用于深度优先遍历所述语法树得到查询语句;
查询模块,用于执行所述查询语句,以从所述数据库中查询得到所述查询语音对应的查询结果。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面所述的方法。
本申请实施例提出的语音交互方法、语音交互装置、电子设备、存储介质,其通过获取目标对象的查询语音,对查询语音进行转录,得到查询语音对应的文本数据,获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据,对联合数据进行语义解析,得到目标词向量序列,对目标词向量序列中的每个词向量进行语法解析,生成语法树,深度优先遍历语法树得到查询语句,执行查询语句,以从数据库中查询得到查询语音对应的查询结果,本申请实施例通过添加数据库模式信息进行联合编码,能够增强文本数据,得到语义更为精确的词向量,并通过词向量构建语法树,由于语法树是语法结构的图形表示,其能清楚描述代码逻辑之间的联系,因此通过语法树生成的查询语句在语法结构上具有层次性,使查询语句更具有语义特征,并根据查询语句得到对应于查询语音的查询结果,避免查询结果与查询语音不匹配导致答非所问,能够提高语音查询的准确率。
附图说明
图1是本申请实施例提供的语音交互方法的流程图;
图2是图1中的步骤S130的流程图;
图3是图1中的步骤S140的流程图;
图4是图1中的步骤S150的流程图;
图5是图4中的步骤S430的流程图;
图6是图4中的步骤S440的流程图;
图7是图1中的步骤S160的流程图;
图8是本申请实施例提供的语音交互方法的语法树示意图;
图9是本申请实施例提供的语音交互装置的结构示意图;
图10是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
自然语言处理(natural language processing,NLP):NLP用计算机来处理、理解以及运用人类语言(如中文、英文等),NLP属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
语音交互:包括人机语音交互,人机语音交互是人与设备之间通过自然语言进行信息传递的过程,用户通过语音的方式向设备下达交互指令,设备接收到交互指令后,对交互指令进行解析,得到与交互指令相匹配的反馈结果,并向用户返回该反馈结果。
自动语音识别(Automatic Speech Recognition,ASR):是将待识别语音转换为文本,通过对待识别语音进行声学参数分析,得到语音特征参数,将语音特征参数与语音库中的模板进行比较,得到与语音特征参数最为相似的模板,将该模板作为待识别语音的识别结果。
结构化查询语言(Structured Query Language,SQL):是关系型数据库的标准语言,用于对关系型数据库中存储的数据进行修改、查询等操作。
抽象语法树(Abstract Syntax Tree,AST):是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构。
表语义分析的语法增强预训练(Grammar-Augmented Pre-training for TableSemantic Parsing,GRAPPA):是一种表语义分析预训练模型,利用同步上下文无关语法规则在表上合成问题-SQL对,将合成的问题-SQL对作为合成数据,在该合成数据上进行预训练,以将表语义解析中的重要结构属性引入预训练模型。
自注意力机制(Attention Mechanism):注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力,选择特定的输入,可以应用于任何类型的输入而不管其形状如何。在计算能力有限情况下,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。
编码(encoder):将输入序列转化成一个固定长度的向量。
解码(decoder):将之前生成的固定向量再转化成输出序列;其中,输入序列可以是文字、语音、图像、视频;输出序列可以是文字、图像。
transformer网络:是一种基于自注意力机制的编码-解码结构,用于建模列表,生成列表的上下文表示。
基于变压器的双向编码器表示(Bidirectional Encoder Representation fromTransformers,BERT):是一个深度双向表示预训练模型,能够更深层次地提取文本的语义信息,利用遮蔽词识别能够获取句子中单词的上下文表示,得到单词级别表示,利用下一句预测能够获取两个句子之间的联系,得到句子级别表示。
长短期记忆网络(Long Short-Term Memory,LSTM):是一种循环神经网络,通过遗忘门、输入门和输出门控制网络当前时刻的输出,其中遗忘门用于确定上一时刻的单元状态有多少保存到当前时刻的单元状态中,输入门用于确定当前时刻的网络输入有多少保存到当前时刻的单元状态中,输出门用于确定当前时刻的单元状态有多少作为网络当前时刻的输出。
语音查询***通过将用户的查询语音转换为问题文本,利用自然语音处理技术对问题文本进行匹配,得到查询语音对应的答案,但是查询匹配模式需要用户提出的问题必须预先存储于数据库中,不能够满足用户的个性化提问,会造成答非所问的现象,导致语音查询的准确率降低。
基于此,本申请实施例提供了一种语音交互方法、语音交互装置、电子设备、存储介质,旨在提高语音查询的准确率。
本申请实施例提供的语音交互方法、语音交互装置、电子设备、存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的语音交互方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的语音交互方法,涉及人工智能技术领域。本申请实施例提供的语音交互方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式***,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现语音交互方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请实施例提供的语音交互方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S110至步骤S170。
步骤S110,获取目标对象的查询语音;
步骤S120,对查询语音进行转录,得到查询语音对应的文本数据;
步骤S130,获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据;
步骤S140,对联合数据进行语义解析,得到目标词向量序列;
步骤S150,对目标词向量序列中的每个词向量进行语法解析,生成语法树;
步骤S160,深度优先遍历语法树得到查询语句;
步骤S170,执行查询语句,以从数据库中查询得到查询语音对应的查询结果。
本申请实施例所示意的步骤S110至步骤S170,通过获取目标对象的查询语音,对查询语音进行转录,得到查询语音对应的文本数据,获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据,对联合数据进行语义解析,得到目标词向量序列,对目标词向量序列中的每个词向量进行语法解析,生成语法树,深度优先遍历语法树得到查询语句,执行查询语句,以从数据库中查询得到查询语音对应的查询结果,本申请实施例通过添加数据库模式信息进行联合编码,能够增强文本数据,得到语义更为精确的词向量,并通过词向量构建语法树,由于语法树是语法结构的图形表示,其能清楚描述代码逻辑之间的联系,因此通过语法树生成的查询语句在语法结构上具有层次性,使查询语句更具有语义特征,并根据查询语句得到对应于查询语音的查询结果,避免查询结果与查询语音不匹配导致答非所问,能够提高语音查询的准确率。
在一些实施例的步骤S110中,在语音查询页面,用户以语音输入方式进行提问,获取用户进行提问的查询语音。
在一些实施例的步骤S120中,通过ASR技术对查询语音进行语音识别,将查询语音转录成文本形式,得到文本数据,该文本数据为查询语音对应的问题文本。
在一些实施例的步骤S130中,通过数据增强的方式提高语音查询的准确率,将文本数据与数据库模式信息进行联合编码,以引入自然语言和数据库模式之间的关系特征,实现对文本数据的增强,得到联合数据,其中数据库模式信息为表格数据,联合数据为文本数据和表格数据的联合表示。通过将非结构化的文本数据和结构化的表格数据联合编码,使语音查询模型能够学习到更多鲁棒性的特征,例如文本语义特征、表语义特征、文本语义特征与表语义特征之间的关系,以提高查询语句生成的准确率,进而提高语音查询的准确率。
在一些实施例的步骤S140中,为了获取用户的查询意图,便于后续根据查询意图实时生成查询结果,对联合数据进行语义解析,得到目标词向量序列,其中目标词向量序列包括多个词向量,词向量为联合数据的上下文表示。
在一些实施例的步骤S150至步骤S160中,查询语句为SQL语句,直接对目标词向量序列进行解码得到查询语句,会导致查询语句与查询问题不匹配,即查询问题中不包括SQL语句中的信息,该信息在查询问题中不能体现,因此本申请实施例通过语法树构建问题与数据库模式信息之间的联系,深度优先遍历语法树以对语法树进行解析生成查询语句,优化查询语句生成过程中的信息不匹配问题。可以理解的是,查询语句与用户的查询问题匹配,使得查询语句能够很好反映用户的查询意图,根据查询语句能够实时生成符合用户查询意图的查询结果,使用户可以进行个性化提问,提高了对不同问题的扩展能力,解决了问题匹配模式下对查询问题扩展性差的问题。进行问题匹配的过程中需要维护一个庞大的知识库,且问题必须预先存储于知识库中,本申请实施例无需将问题预先存储于知识库中,解决了问题匹配模式下对知识库的人工维护频率高、维护成本高的问题。
在一些实施例的步骤S170中,执行查询语句与数据库进行交互,以从数据库中查询得到查询语音对应的查询结果,查询结果即为查询问题的答案,将查询结果发送至语音查询页面,以使语音查询页面根据查询结果更新显示数据,实现语音交互。
请参阅图2,在一些实施例中,数据库模式信息包括数据库表信息和数据库列信息,步骤S130可以包括但不限于包括步骤S210至步骤S230:
步骤S210,提取数据库中每张表的表名,得到数据库表信息;
步骤S220,提取数据库中每张表对应列的列名,得到数据库列信息;
步骤S230,对文本数据、数据库表信息和数据库列信息进行联合编码,得到联合数据。
在一些实施例的步骤S210至步骤S220中,数据库的表名和列名通常是由带下划线分词符的英文组成的,可以根据下划线进行分词,得到分词处理后的表名和列名,以根据表名得到数据库表信息,根据列名得到数据库列信息。
在一些实施例的步骤S230中,为了获取问题文本、数据库表信息和数据库列信息之间隐含的链接关系,对问题文本、数据库表信息和数据库列信息进行联合编码,将文本数据和数据库模式信息展开为一个序列,该序列的全部数据为联合数据。具体地,问题文本为多个词构成的集合,若问题文本Q中包括n个词,则Q可以表示为:Q={q1,q2,…,qn},数据库表信息为数据库中所有表的表名构成的集合,若数据库中有x个表,则数据库表信息表示为T={t1,t2,…,tx},数据库列信息为数据库中每个表所包含列的列名构成的集合,集合中同一个表的所有列名被聚集在一起,若表tx的列名表示为则数据库列信息表示为其中m为第t1个表第m列的列名,y为第tn个表第y列的列名,对问题文本Q、数据库表信息T和数据库列信息C进行联合编码,得到联合数据,联合数据表示为
请参阅图3,在一些实施例中,步骤S140可以包括但不限于包括步骤S310至步骤S320:
步骤S310,将联合数据输入至预设的语义解析模型,基于语义解析模型对联合数据进行语义解析,得到初始词向量序列;
步骤S320,将初始词向量序列输入至预设的第一特征提取模型,基于第一特征提取模型对初始词向量序列进行特征提取,得到目标词向量序列。
在一些实施例的步骤S310中,语义解析模型为GRAPPA预训练模型,基于GRAPPA预训练模型对联合数据进行语义解析,得到初始词向量序列。需要说明的是,GRAPPA预训练模型是根据大规模结构化的表格数据和非结构化的自然语言句子训练得来的,用于表语义解析任务,该预训练模型基于SQL语义损失和MLM损失进行预训练,在预训练过程中采用控制变量法对该预训练模型进行微调,以加快模型训练和数据拟合。GRAPPA预训练模型基于SQL语义损失进行训练,可以使预训练模型学习到数据库的某一列是否出现在SQL查询中,以及该列触发的操作,而BERT预训练模型仅基于MLM损失进行预训练,得到单词级别向量和句子级别向量,无法得到数据库的表语义信息,与BERT预训练模型相比,本申请实施例采用的GRAPPA预训练模型能够得到语义更为精准的词向量表示。可以理解的是,数据库模式信息能够被解析为SQL中的相应字段。
在一些实施例的步骤S320中,第一特征提取模型为transformer模型,基于transformer模型对初始词向量序列进行特征提取,得到目标词向量序列,其中目标词向量序列为初始词向量序列中词向量关键信息的表示,且与初始词向量序列的维度相同。通过transformer模型使初始词向量序列中的每个词向量学习到上下文语义信息,并通过多轮多头的自注意力机制来突出不同位置词向量的重要性,使模型能够关注局部重点信息,例如问题文本与数据库模型信息之间的关系特征等,从而得到目标词向量序列。
Transformer模型根据注意力机制计算Q、K、V的相似度,将相似度进行归一化得到对齐概率即权重系数,将对齐概率与相应的V进行加权求和,以得到问题文本中所有单词的向量表示Q、数据库中表的向量表示T和数据库中列的向量表示C,即目标词向量序列中包括[Q;T;C]。
请参阅图4,在一些实施例中,步骤S150可以包括但不限于包括步骤S410至步骤S440:
步骤S410,根据预设的语法规则对目标词向量序列中的词向量进行语法解析,得到语法树的节点候选集合,节点候选集合包括头节点;
步骤S420,从节点候选集合中选取头节点,作为语法树的根节点;
步骤S430,获取目标执行动作;
步骤S440,根据目标执行动作从节点候选集合中选取目标节点,直至节点候选集合中的节点均被选取,以从根节点生成语法树。
在一些实施例的步骤S410中,根据预设的词法规则对目标词向量序列中的每个词向量进行词法解析生成token表,根据预设的语法规则对token表进行语法解析,将一维无结构的token表转化为多个语法树上的多个节点,得到节点候选集合,其中节点候选集合包括头节点和子节点,子节点包括叶子节点和非叶子节点,其中头节点为该语法树的根节点,叶子节点用于表示SQL查询语句的内容,非叶子节点用于表示SQL查询语句依次流转的顺序结构。
在一些实施例的步骤S420至步骤S440中,从节点候选集合中选取头节点作为语法树的根节点,从头节点开始生成语法树,确定目标执行动作,根据目标执行动作从节点候选集合中选取对应于目标执行动作的目标节点,当节点候选集合中所有节点均被选取,得到最终的语法树。
请参阅图5,在一些实施例中,步骤S430包括但不限于包括步骤S510至步骤S520:
步骤S510,获取初始执行动作的概率分布,概率分布用于表征初始执行动作能够被执行的概率;
步骤S520,若所述概率分布满足预设条件,则确定初始执行动作为目标执行动作。
在一些实施例的步骤S510至步骤S520中,初始执行动作包括四个类型的执行动作,分别获取每一类型执行动作的概率分布,选取概率分布最大的一类型执行动作作为目标执行动作。
对于一个给定的问题q,生成语法树s的过程中,目标执行动作的确定方法如公式(1)所示。
其中,rt表示在t时间步中采取的执行动作,r0<t表示0时间步到t时间步所有的执行动作。
若当前时刻为t时间步,为了获取t时间步的目标执行动作,从四种类型的初始执行动作中选取概率最大的一类型初始执行动作作为t时间步的动作,以使从0时间步到t时间步所有执行动作概率分布的乘积最大。
请参阅图6,在一些实施例,节点候选集合包括非叶子节点和叶子节点,叶子节点包括表节点、列节点和值节点,步骤S440包括但不限于包括步骤S610至步骤S640:
步骤S610,若目标执行动作为第一执行动作,根据第一执行动作从语法规则中选择目标语法规则,根据目标语法规则从节点候选集合中选取目标语法规则对应的非叶子节点作为目标节点;
步骤S620,若目标执行动作为第二执行动作,根据第二执行动作从目标词向量序列中选取目标表名词向量,根据目标表名词向量从节点候选集合中选取目标表名词向量对应的表节点作为目标节点;
步骤S630,若目标执行动作为第三执行动作,根据第三执行动作从目标词向量序列中选取目标列名词向量,根据目标列名词向量从节点候选集合中选取目标列名词向量对应的列节点作为目标节点;
步骤S640,若目标执行动作为第四执行动作,根据第四执行动作从目标词向量序列中选取目标值词向量,根据目标值词向量从节点候选集合中选取目标值词向量对应的值节点作为目标节点。
在一些实施例的步骤S610至步骤S640中,执行动作包括四个类型动作,包括第一执行动作、第二执行动作、第三执行动作和第四执行动作,通过这四个类型的执行动作的交替执行从节点候选集合中选取对应的目标节点,以深度优先搜索的方式按照从左至右的顺序生成语法树。若目标执行动作为第一执行动作APPLYRULE[r],根据第一执行动作从语法规则中选择语法规则r作为目标语法规则,根据目标语法规则从节点候选集合中选取对应的非叶子节点应用于当前语法树,以更新当前语法树。若目标执行动作为第二执行动作SELECTTABLE[t],根据第二执行动作从目标词向量序列中选取t作为目标表名词向量,从节点候选集合中选取表名t对应的表节点作为目标节点。若目标执行动作为第三执行动作SELECTCLOUMN[c],根据第三执行动作从目标词向量序列中选取列名c作为目标列名词向量,从节点候选集合中选取列名c对应的列节点作为目标节点。若目标执行动作为第四执行动作SELECTVALUE[v],根据第四执行动作从目标词向量序列中选取对应的值v作为目标值词向量,从节点候选集合中选取v对应的值节点作为目标节点。
请参阅图7,在一些实施例中,步骤S160可以包括但不限于包括步骤S710至步骤S720:
步骤S710,深度优先遍历语法树,根据语法规则对语法树中的节点按照层数顺序进行映射,得到节点路径序列;
步骤S720,将节点路径序列输入至预设的第二特征提取模型,基于第二特征提取模型对节点路径序列进行特征提取,得到第二特征提取模型目标隐藏层输出的查询语句。
在一些实施例的步骤S710中,以深度优先搜索的方式遍历语法树,根据节点对应的语法规则对节点进行映射,得到节点对应的节点路径序列,其中每个节点路径序列对应一个SQL查询语句。例如,一个七层的语法树,如图8所示,深度优先遍历语法树,首先遍历到语法树第一层的根节点,其值为“Z”,根据语法规则该根节点进行映射,得到节点“Z”的节点路径序列为“R”,然后遍历到第二层的节点为“R”,利用语法规则按照第三层从左至右的顺序对节点“R”进行映射,得到节点路径序列为“Select Filter”,继续深度优先遍历到第三层的节点“A”,利用语法规则按照第四层从左至右的顺序对节点“A”进行映射,得到节点路径序列为“none C T”,依此类推,直至遍历完语法树中所有的节点,得到所有节点对应的节点路径序列。通过深度优先遍历语法树,对语法树进行解析,能够保证节点词在映射以及关系结构上具有较高的准确性和完整性,提高SQL语句生成的准确率。可以理解的是,语法规则可以根据具体情况自行定义,本申请实施例不对语法规则进行具体限定。
在一些实施例的步骤S720中,第二特征提取模型为LSTM模型,将节点路径序列输入至LSTM模型,基于LSTM模型对节点路径序列进行解码,得到LSTM模型最后隐藏层输出的查询语句。具体地,LSTM模型包括遗忘门、输入门和输出门,获取上一时刻的输出参数和当前时刻的输入参数,将输出参数和输入参数这两个参数输入至遗忘门、输入门和输出门进行加权计算,得到遗忘门输出的第一参数、输入门输出的第二参数和输出门输出的第三参数,将输出参数和输入参数进行加权计算得到当前细胞的暂时状态,获取上一细胞的状态,将第一参数与上一细胞的状态相乘,得到第四参数,将第二参数与当前细胞的暂时状态相乘,得到第五参数,将第四参数和第五参数进行相加,得到当前细胞的第一目标状态,根据激活函数tanh对当前细胞的第一目标状态进行数据处理,得到第二目标状态,将第三状态和第二目标状态相乘得到当前时刻的输出参数,再次根据遗忘门、输入门和输出门对当前时刻的输出参数进行计算,直至最后隐藏层输出查询语句。
下面以一个具体的实施例详细描述本发明实施例的语音交互方法,值得理解的是,下述描述仅是示例性说明,而不是对发明的具体限制。
获取用户的查询语音,根据ASR技术对查询语音进行转录,得到查询语音对应的问题文本,获取数据库表信息、数据库列信息,对问题文本、数据库表信息、数据库列信息进行联合编码,得到联合数据,将联合数据输入至GRAPPA模型,基于GRAPPA模型对联合数据进行语义解析,得到初始词向量序列,将初始词向量序列输入至transformer模型,基于transformer模型对初始词向量序列进行特征提取,得到目标词向量序列,根据词法规则对目标词向量序列中的词向量进行词法解析,生成token表,根据语法规则对token表进行语法解析,得到候选节点集合,确定执行动作,根据执行动作从候选节点集合中选取目标节点以生成语法树,深度优先遍历语法树,根据语法规则对语法树的每个节点进行映射,得到节点对应的节点路径序列,将节点路径序列输入至LSTM模型进行特征提取,得到LSTM模型最后隐藏层输出的SQL查询语句,执行SQL查询语句从数据库中查询得到查询语音对应的查询结果。
请参阅图9,本申请实施例还提供一种语音交互装置,可以实现上述语音交互方法,该装置包括:
获取模块910,用于获取目标对象的查询语音;
转录模块920,用于对查询语音进行转录,得到查询语音对应的文本数据;
联合编码模块930,用于获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据;
语义解析模块940,用于对联合数据进行语义解析,得到目标词向量序列;
语法解析模块950,用于对目标词向量序列中的每个词向量进行语法解析,生成语法树;
遍历模块960,用于深度优先遍历语法树得到查询语句;
查询模块970,用于执行查询语句,以从数据库中查询得到查询语音对应的查询结果。
该语音交互装置的具体实施方式与上述语音交互方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述语音交互方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1010,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1020,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行本申请实施例的语音交互方法;
输入/输出接口1030,用于实现信息输入及输出;
通信接口1040,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1050,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息;
其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述语音交互方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的语音交互方法、语音交互装置、电子设备、存储介质,其通过获取目标对象的查询语音,对查询语音进行转录,得到查询语音对应的文本数据,获取预设数据库的数据库模式信息,将文本数据与数据库模式信息进行联合编码,得到联合数据,对联合数据进行语义解析,得到目标词向量序列,对目标词向量序列中的每个词向量进行语法解析,生成语法树,深度优先遍历语法树得到查询语句,执行查询语句,以从数据库中查询得到查询语音对应的查询结果,本申请实施例通过添加数据库模式信息进行联合编码,能够增强文本数据,得到语义更为精确的词向量,并通过词向量构建语法树,由于语法树是语法结构的图形表示,其能清楚描述代码逻辑之间的联系,因此通过语法树生成的查询语句在语法结构上具有层次性,使查询语句更具有语义特征,并根据查询语句得到对应于查询语音的查询结果,避免查询结果与查询语音不匹配导致答非所问,能够提高语音查询的准确率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1-8中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.语音交互方法,其特征在于,所述方法包括:
获取目标对象的查询语音;
对所述查询语音进行转录,得到所述查询语音对应的文本数据;
获取预设数据库的数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据;
对联合数据进行语义解析,得到目标词向量序列;
对所述目标词向量序列中的每个词向量进行语法解析,生成语法树;
深度优先遍历所述语法树得到查询语句;
执行所述查询语句,以从所述数据库中查询得到所述查询语音对应的查询结果。
2.根据权利要求1所述的语音交互方法,其特征在于,所述数据库模式信息包括数据库表信息和数据库列信息,所述获取预设数据库的数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据,包括:
提取所述数据库中每张表的表名,得到所述数据库表信息;
提取所述数据库中每张表对应列的列名,得到所述数据库列信息;
对所述文本数据、所述数据库表信息和所述数据库列信息进行联合编码,得到联合数据。
3.根据权利要求1所述的语音交互方法,其特征在于,所述对联合数据进行语义解析,得到目标词向量序列,包括:
将所述联合数据输入至预设的语义解析模型,基于所述语义解析模型对所述联合数据进行语义解析,得到初始词向量序列;
将所述初始词向量序列输入至预设的第一特征提取模型,基于所述第一特征提取模型对所述初始词向量序列进行特征提取,得到目标词向量序列。
4.根据权利要求1所述的语音交互方法,其特征在于,对所述目标词向量序列中的每个词向量进行语法解析,生成语法树,包括:
根据预设的语法规则对所述目标词向量序列中的词向量进行语法解析,得到节点候选集合,所述节点候选集合包括头节点;
从所述节点候选集合中选取所述头节点,作为所述语法树的根节点;
获取目标执行动作;
根据所述目标执行动作从所述节点候选集合中选取目标节点,直至所述节点候选集合中的节点均被选取,以从所述根节点生成所述语法树。
5.根据权利要求4所述的语音交互方法,其特征在于,所述获取目标执行动作,包括:
获取初始执行动作的概率分布,所述概率分布用于表征所述初始执行动作能够被执行的概率;
若所述概率分布满足预设条件,则确定所述初始执行动作为目标执行动作。
6.根据权利要求4所述的语音交互方法,其特征在于,所述节点候选集合还包括非叶子节点和叶子节点,所述叶子节点包括表节点、列节点和值节点,所述根据所述目标执行动作从所述节点候选集合中选取目标节点,包括:
若所述目标执行动作为第一执行动作,根据所述第一执行动作从所述语法规则中选择目标语法规则,根据所述目标语法规则从所述节点候选集合中选取所述目标语法规则对应的所述非叶子节点作为所述目标节点;
若所述目标执行动作为第二执行动作,根据所述第二执行动作从所述目标词向量序列中选取目标表名词向量,根据所述目标表名词向量从所述节点候选集合中选取所述目标表名词向量对应的所述表节点作为所述目标节点;
若所述目标执行动作为第三执行动作,根据所述第三执行动作从所述目标词向量序列中选取目标列名词向量,根据所述目标列名词向量从所述节点候选集合中选取所述目标列名词向量对应的所述列节点作为所述目标节点;
若所述目标执行动作为第四执行动作,根据所述第四执行动作从所述目标词向量序列中选取目标值词向量,根据所述目标值词向量从所述节点候选集合中选取所述目标值词向量对应的所述值节点作为所述目标节点。
7.根据权利要求1至6任一项所述的语音交互方法,其特征在于,所述深度优先遍历所述语法树得到查询语句,包括:
深度优先遍历所述语法树,根据所述语法规则对语法树中的节点按照层数顺序进行映射,得到节点路径序列;
将所述节点路径序列输入至预设的第二特征提取模型,基于所述第二特征提取模型对所述节点路径序列进行特征提取,得到所述第二特征提取模型目标隐藏层输出的查询语句。
8.语音交互装置,其特征在于,所述装置包括:
获取模块,用于获取目标对象的查询语音;
转录模块,用于对所述查询语音进行转录,得到所述查询语音对应的文本数据;
联合编码模块,用于获取预设数据库的数据库模式信息,将所述文本数据与所述数据库模式信息进行联合编码,得到联合数据;
语义解析模块,用于对联合数据进行语义解析,得到目标词向量序列;
语法解析模块,用于对所述目标词向量序列中的每个词向量进行语法解析,生成语法树;
遍历模块,用于深度优先遍历所述语法树得到查询语句;
查询模块,用于执行所述查询语句,以从所述数据库中查询得到所述查询语音对应的查询结果。
9.电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在所述存储器中,处理器执行所述至少一个程序以实现:
如权利要求1至7任一项所述的语音交互方法。
10.存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如权利要求1至7任一项所述的语音交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211101801.8A CN115497477B (zh) | 2022-09-09 | 语音交互方法、语音交互装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211101801.8A CN115497477B (zh) | 2022-09-09 | 语音交互方法、语音交互装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115497477A true CN115497477A (zh) | 2022-12-20 |
CN115497477B CN115497477B (zh) | 2024-07-16 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737759A (zh) * | 2023-08-14 | 2023-09-12 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN116975654A (zh) * | 2023-08-22 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 对象互动方法、装置、电子设备、存储介质及程序产品 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046492A1 (en) * | 2013-08-09 | 2015-02-12 | Vmware, Inc. | Query-by-example in large-scale code repositories |
US20160350084A1 (en) * | 2015-05-29 | 2016-12-01 | Intentional Software Corporation | System and method for combining text editing and tree encoding for computer programs |
US20170103106A1 (en) * | 2015-10-07 | 2017-04-13 | International Business Machines Corporation | Processing sql statement in alternating modes |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
US20210141863A1 (en) * | 2019-11-08 | 2021-05-13 | International Business Machines Corporation | Multi-perspective, multi-task neural network model for matching text to program code |
CN112988785A (zh) * | 2021-05-10 | 2021-06-18 | 浙江大学 | 基于语言模型编码和多任务解码的sql转换方法及*** |
CN113141341A (zh) * | 2020-11-19 | 2021-07-20 | 北京航空航天大学 | 一种可编程的软件定义网络安全策略*** |
CN113468873A (zh) * | 2021-07-09 | 2021-10-01 | 北京东方国信科技股份有限公司 | Pl/sql语言的语法解析方法及装置 |
CN113553411A (zh) * | 2021-06-30 | 2021-10-26 | 北京百度网讯科技有限公司 | 查询语句的生成方法、装置、电子设备和存储介质 |
CN113760962A (zh) * | 2021-09-01 | 2021-12-07 | 中国人民银行清算总中心 | 单领域至跨领域数据集数据处理方法及装置 |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114281968A (zh) * | 2021-12-20 | 2022-04-05 | 北京百度网讯科技有限公司 | 一种模型训练及语料生成方法、装置、设备和存储介质 |
US20220129450A1 (en) * | 2020-10-23 | 2022-04-28 | Royal Bank Of Canada | System and method for transferable natural language interface |
CN114490709A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 文本生成方法、装置、电子设备及存储介质 |
CN114547329A (zh) * | 2022-01-25 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 建立预训练语言模型的方法、语义解析方法和装置 |
CN114610747A (zh) * | 2022-03-15 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据查询方法、装置、设备及存储介质 |
CN114897163A (zh) * | 2022-05-23 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN115062052A (zh) * | 2022-05-10 | 2022-09-16 | 电子科技大学 | 一种基于图谱的从自然语言问题到sql的翻译方法 |
CN115238143A (zh) * | 2022-07-29 | 2022-10-25 | 平安科技(深圳)有限公司 | 查询语句生成方法及装置、模型训练方法、设备、介质 |
US20220358125A1 (en) * | 2021-05-10 | 2022-11-10 | Servicenow, Inc. | Systems and methods for translating natural language queries into a constrained domain-specific language |
CN116108053A (zh) * | 2023-01-18 | 2023-05-12 | 阿里巴巴(中国)有限公司 | 基于表格的问答处理方法及装置 |
CN116414961A (zh) * | 2023-03-17 | 2023-07-11 | 浙江建木智能***有限公司 | 基于军事领域知识图谱的问答方法和*** |
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046492A1 (en) * | 2013-08-09 | 2015-02-12 | Vmware, Inc. | Query-by-example in large-scale code repositories |
US20160350084A1 (en) * | 2015-05-29 | 2016-12-01 | Intentional Software Corporation | System and method for combining text editing and tree encoding for computer programs |
US20170103106A1 (en) * | 2015-10-07 | 2017-04-13 | International Business Machines Corporation | Processing sql statement in alternating modes |
US20210141863A1 (en) * | 2019-11-08 | 2021-05-13 | International Business Machines Corporation | Multi-perspective, multi-task neural network model for matching text to program code |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
US20220129450A1 (en) * | 2020-10-23 | 2022-04-28 | Royal Bank Of Canada | System and method for transferable natural language interface |
CN113141341A (zh) * | 2020-11-19 | 2021-07-20 | 北京航空航天大学 | 一种可编程的软件定义网络安全策略*** |
CN112988785A (zh) * | 2021-05-10 | 2021-06-18 | 浙江大学 | 基于语言模型编码和多任务解码的sql转换方法及*** |
US20220358125A1 (en) * | 2021-05-10 | 2022-11-10 | Servicenow, Inc. | Systems and methods for translating natural language queries into a constrained domain-specific language |
CN113553411A (zh) * | 2021-06-30 | 2021-10-26 | 北京百度网讯科技有限公司 | 查询语句的生成方法、装置、电子设备和存储介质 |
CN113468873A (zh) * | 2021-07-09 | 2021-10-01 | 北京东方国信科技股份有限公司 | Pl/sql语言的语法解析方法及装置 |
CN113760962A (zh) * | 2021-09-01 | 2021-12-07 | 中国人民银行清算总中心 | 单领域至跨领域数据集数据处理方法及装置 |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114281968A (zh) * | 2021-12-20 | 2022-04-05 | 北京百度网讯科技有限公司 | 一种模型训练及语料生成方法、装置、设备和存储介质 |
CN114490709A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 文本生成方法、装置、电子设备及存储介质 |
CN114547329A (zh) * | 2022-01-25 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 建立预训练语言模型的方法、语义解析方法和装置 |
CN114610747A (zh) * | 2022-03-15 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据查询方法、装置、设备及存储介质 |
CN115062052A (zh) * | 2022-05-10 | 2022-09-16 | 电子科技大学 | 一种基于图谱的从自然语言问题到sql的翻译方法 |
CN114897163A (zh) * | 2022-05-23 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN115238143A (zh) * | 2022-07-29 | 2022-10-25 | 平安科技(深圳)有限公司 | 查询语句生成方法及装置、模型训练方法、设备、介质 |
CN116108053A (zh) * | 2023-01-18 | 2023-05-12 | 阿里巴巴(中国)有限公司 | 基于表格的问答处理方法及装置 |
CN116414961A (zh) * | 2023-03-17 | 2023-07-11 | 浙江建木智能***有限公司 | 基于军事领域知识图谱的问答方法和*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737759A (zh) * | 2023-08-14 | 2023-09-12 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN116737759B (zh) * | 2023-08-14 | 2023-12-08 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN116975654A (zh) * | 2023-08-22 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 对象互动方法、装置、电子设备、存储介质及程序产品 |
CN116975654B (zh) * | 2023-08-22 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 对象互动方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113792818B (zh) | 意图分类方法、装置、电子设备及计算机可读存储介质 | |
CN107798140B (zh) | 一种对话***构建方法、语义受控应答方法及装置 | |
CN111931517B (zh) | 文本翻译方法、装置、电子设备以及存储介质 | |
CN111914568A (zh) | 文本修辞句的生成方法、装置、设备及可读存储介质 | |
CN114116994A (zh) | 一种迎宾机器人对话方法 | |
CN112100332A (zh) | 词嵌入表示学习方法及装置、文本召回方法及装置 | |
CN116561538A (zh) | 问答评分方法、问答评分装置、电子设备及存储介质 | |
CN114722069A (zh) | 语言转换方法和装置、电子设备及存储介质 | |
CN116578688A (zh) | 基于多轮问答的文本处理方法、装置、设备及存储介质 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
CN114757184B (zh) | 实现航空领域知识问答的方法和*** | |
CN117271736A (zh) | 一种问答对的生成方法和***、电子设备及存储介质 | |
CN115238143A (zh) | 查询语句生成方法及装置、模型训练方法、设备、介质 | |
CN114492661A (zh) | 文本数据分类方法和装置、计算机设备、存储介质 | |
CN112633007B (zh) | 一种语义理解模型构建方法及装置、语义理解方法及装置 | |
CN117932022A (zh) | 一种智能问答方法、装置、电子设备及存储介质 | |
CN114611529B (zh) | 意图识别方法和装置、电子设备及存储介质 | |
CN116364054A (zh) | 基于diffusion的语音合成方法、装置、设备、存储介质 | |
CN116595970A (zh) | 语句同义改写方法、装置和电子设备 | |
CN114398903B (zh) | 意图识别方法、装置、电子设备及存储介质 | |
CN115906818A (zh) | 语法知识预测方法、装置、电子设备和存储介质 | |
CN115730051A (zh) | 一种文本处理方法和装置、电子设备及存储介质 | |
CN115497477B (zh) | 语音交互方法、语音交互装置、电子设备、存储介质 | |
CN115017886A (zh) | 文本匹配方法、文本匹配装置、电子设备及存储介质 | |
CN114722774A (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 |