CN116910086A - 一种基于自注意力句法感知的数据库查询方法和*** - Google Patents
一种基于自注意力句法感知的数据库查询方法和*** Download PDFInfo
- Publication number
- CN116910086A CN116910086A CN202311179624.XA CN202311179624A CN116910086A CN 116910086 A CN116910086 A CN 116910086A CN 202311179624 A CN202311179624 A CN 202311179624A CN 116910086 A CN116910086 A CN 116910086A
- Authority
- CN
- China
- Prior art keywords
- word
- semantic
- database
- query
- words
- 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 31
- 230000011218 segmentation Effects 0.000 claims abstract description 32
- 238000004458 analytical method Methods 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 15
- 230000008447 perception Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims description 3
- 238000000547 structure data Methods 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims description 2
- 230000000873 masking effect Effects 0.000 claims description 2
- 238000000926 separation method Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 230000002776 aggregation Effects 0.000 claims 1
- 238000004220 aggregation Methods 0.000 claims 1
- 150000001875 compounds Chemical class 0.000 claims 1
- 230000017105 transposition Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000013507 mapping Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012800 visualization 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/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/243—Natural language query formulation
-
- 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/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- 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/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于自注意力句法感知的数据库查询方法,属于计算机数据库技术领域。本发明对现有的分词***进行了二次开发。为了给查询语句中的每个词语标注关系数据的语义信息,实现语义覆盖,采用统计与字典相结合的N‑最短路分词技术,依据知识库的优先级为有向无环图中的边赋予权重,以优化切分结果并更好地转换为数据库查询语句,引入隐马尔科夫模型对切分结果进行词性标注,充分利用词语信息和数据语义标签,建立词语与数据库对象之间的关联,输出一个具有数据语义的标准化词语序列。本发明能够有效提高转换模型将自然语言映射为高维语义的能力,提高数据库自然语言查询的精确度和通用能力,为用户提供更准确、更智能的查询体验。
Description
技术领域
本发明涉及一种基于自然语言实现数据库查询的方法和***,属于计算机数据库技术领域。
背景技术
随着互联网井喷式发展,行业广泛的数据化以及信息量的急速增加,数据已经成为当今世界最有价值的资源之一,数据库成为存储和检索信息的关键工具。然而,数据库并不是那么直观易懂。在传统的关系型数据库中,要求使用正式的数据库语言——结构化查询语言(Structured Query Language,简称SQL)来访问和管理数据。在进行数据库查询操作时,用户需要具备SQL和底层数据库的知识,包括数据表结构、属性关联关系等,或使用预先构建可视化的检索程序。这无疑给非用户带来了相当大的困扰。
在计算机问世之前,自然语言一直是人类社会主要的信息交流媒介,用于描述现实世界中的事物和关系。然而,与用于表达逻辑、关系模型、XML的机器查询语言相比,自然语言并非最优方式来表示实体和关系。尽管如此,绝大部分的知识和信息仍以自然语言形式编写和传播,并且随着互联网的蓬勃发展,几乎所有用户都能轻松获得大量自然语言信息。因此,为了提升用户的数据库查询体验,迫切需要克服自然语言障碍,构建能够支持自然语言的数据库查询接口。
自然语言处理是当前最受关注的研究领域之一。从词性标注、语法分析到语义标注等,已经涌现出越来越多的工具和模型,为处理自然语言提供了极大的帮助。随着IBM的“Watson”在Jeopardy比赛中取得的成功,以及自然语言对话***的崛起,如Apple的Siri,Google的Home,Amazon的Alexa和微软的Cortana,人们对使用自然语言接口进行数据库查询的兴趣与日俱增。
数据库自然语言接口(Natural Language Interface to Database,简称NLIDB)技术,涉及人工智能、数据库***和人机接口等多个领域的交叉研究,其目标是将自然语言查询(Natural Language Query,简称NLQ)“翻译”成正式的数据库语言。数据库自然语言接口***的理想状态是能提供一个完整的基于自然语言 的人机接口,包括数据库设计、定义和操作等方面。
通常,数据库自然语言接口是指将自然语言转换为结构化查询命令,仅用于数据库查询操作。理想的自然语言接口应当具备能力支持用户对底层数据库进行任意查询,并以最低的代价获取准确的信息。
然而,由于自然语言处理技术的限制,现有的数据库自然语言接口技术在将自然语言与数据库的数据结构相关联的过程中,语言模型所提取的语义特征不具有足够的深度,导致查询接口无法理解结构化的深层语义信息、查询效果降低。
发明内容
本发明的目的是针对现有技术存在的缺点和不足,创造性地提出一种基于自注意力句法感知的数据库查询方法和***。本发明对现有的分词***进行了二次开发。为了给查询语句中的每个词语标注关系数据的语义信息,实现语义覆盖,采用统计与字典相结合的N-最短路分词技术,依据知识库的优先级为有向无环图中的边赋予权重,以优化切分结果并更好地转换为数据库查询语句,以关系数据语义模型作为概念模型,以集合和链表为中间结构,利用自注意力机制实现对自然语言的多尺度深层高维特征提取。理论和实验结果表明,本发明能够有效提高转换模型将自然语言映射为高维语义的能力,提高数据库自然语言查询的精确度和通用能力。
本发明所采取的技术方案如下。
一种基于自注意力句法感知的数据库查询方法,包括以下步骤:
步骤1:对自然查询语言进行词法分析,得到标准化的词语序列。
进行词语级别的前期处理,具体包括分词、词性标注和命名实体识别。对自然语言进行抽象化建模,得到具有数据语义的标准化词语序列。
步骤2:对词语序列进行句法分析,经语义信息编码,得到高维语义空间中的信息。
步骤3:对高维空间语义信息进行语义信息解码,得到集合和链表结构的语义信息。该中间结构数据采用自底向上的方式,按照关系数据规则将数据划分为若干可独立表示数据库信息的子树,以消除数据中的语义歧义;
步骤4:将中间结构的语义信息重组为查询目标和查询条件,最后生成完整的SQL语句。
优选地,利用知识库提高词法分析的准确性和完整性,其中通用知识库不受应用领域的影响,由分词词典、通用数据库词典与同义词词林组成;专用知识库将关注重点放在数据库对象上,由专用分词库、同义词词库、实体知识库、域名知识库、复合概念知识库和枚举值知识库组成。
优选地,在分词过程中考虑关系数据的语义,确保词语与数据库对象建立正确的关联关系,分词的输出是一个具有关系数据语义的标准化词语序列。
优选地,在句法分析过程中,本发明采用了基于自注意力机制的依存句法感知模块,使用决策式的分析方法获取词语的依存关系。句法感知模块将语义信息从自然语言映射到高维语义空间中,实现语义特征的深层高维表示,然后将高维语义空间中的语义信息映射为结构化查询语句所需要的识别信息。
优选地,在结构化查询语句生成过程中,本发明根据SQL的语法规则,对查询目标和查询条件进行分类解析,并提出相应的合理性校验方案,更可能保证转换的正确性。查询生成模块将以一条完整的SQL查询命令作为输出。
另一方面,本发明还提出了一种基于自注意力句法感知的数据库查询***,包括语义信息编码模块和语言解析模型。
其中,语义信息编码模块用于对经过词嵌入和位置编码后的词语序列进行多层高维度语音信息提取,得到数据库查询模式信息的抽象表示;获取查询信息内部的重要性权重参数,并根据不同内容的重要程度提取数据特征。
语言解析模型包括编码器和解码器,其中,编码器将语义信息从自然语言映射到高维语义空间中,解码器将高维语义空间中的语义信息映射为结构化查询语句所需要的识别信息。
在模型中引入自注意力机制和句法感知,将用户输入的自然语言更加准确地转换为数据库可理解的结构化语言,实现更深入的查询意图理解。其中,自注意力机制允许接口专注于输入语句中不同部分之间的关联性,从而将重点放在最重要的信息上;接口能够更好地抓住关键词汇和短语,理解用户的查询意图,并在转换为结构化语言时,更精准地表达用户的需求。
句法感知的内容融合使接口在处理语句结构时更具智能性;它考虑到语句中的句法结构和语法规则,确保在转换为结构化查询语言时,查询的逻辑和语义保持一致。这有助于减少误解和歧义,从而提供更可靠的查询结果。可以应用残差结构和自注意力的句法感知模型进行语义特征提取,以增强查询接口理解深层语义特征的能力。
通过引入自注意力机制和句法感知的内容融合,自然语言查询接口得以更加全面、准确地理解用户查询需求,并以最高效的方式与底层数据库进行交互,为用户提供更智能、精准的数据库查询体验。
有益效果
本发明,与现有技术相比,具有以下优点:
1.本发明创新性地采用多模块融合的注意力架构,将多个模块的输出融合在一起,使用注意力机制对不同模块的特征进行加权融合。例如,将句法分析、语义理解、预训练模型等多个模块的输出通过注意力机制进行融合,从而综合利用不同模块的信息,提高整体***的性能和查询准确度。
2.本发明将注意力机制应用于数据库查询的流程,能够更加准确地理解自然语言查询中的语法结构和关系,从而更好地解析用户的意图。通过注意力机制,查询接口能够在各个环节进行特征的权重调整和重要信息的强化。通过注意力机制的反馈机制,可以动态地调整句法分析和语义理解的过程,使得每一步的处理更加精准和智能化。传统的句法分析方法可能对长句子或复杂句子存在一定的局限性,但通过注意力机制,可以通过计算不同词语之间的注意力权重来自动关注句子中更重要的部分,提高了特征提取的层次和丰富度。这样,生成的结构化查询语言将更加精准地反映用户的查询意图。
3.本发明利用预训练语言模型(例如BERT)来优化自然语言查询的处理过程。通过在自然语言查询中引入预训练模型,可以更好地捕捉上下文信息和语义关联,从而提高句法分析和语义理解的准确性。这样的优化能够有效地提升数据库查询的精确度,并为用户提供更准确、更智能的查询体验。
附图说明
图1为本发明所述的一种数据库自然语言查询接口***总体流程图;
图2为本发明所述的词法分析流程图;
图3为本发明所述句法分析中的分词算法流程图;
图4为本发明所述的基于注意力机制的句法感知模块总体框架图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进行清楚、完整地描述,所举实施例只用于解释本发明,并非用于限定本发明的范围,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护的范围。
实施例
如图1所示,一种基于自注意力句法感知的数据库查询方法,引入自注意力机制和句法感知,对输入的自然语言进行多尺度深层高维特征提取,并基于提取到的查询信息高维语义表示,生成最终的数据库查询语言。
一种基于自注意力句法感知的数据库查询方法,包括:
步骤1:对自然查询语言进行词法分析,包括分词、词性标注和命名实体识别。对自然语言进行抽象化建模,得到具有数据语义的标准化词语序列。
本发明提出了一种关系数据语义模型,通过扩展现有的关系模型,构建自然语言词汇与数据库对象之间的密切联系,充实数据的语义信息。
该关系数据语义模型为:,/>代表应用领域/>中给定的自然语言词汇集合,/>表示数据库对象,/>用于表示这些概念之间的关联,/>用于描述数据库对象的数据类型。词法分析流程如图2所示。
进一步地,为优化分词和词性标注的处理过程,采用一组专门针对关系数据的语义标签,以表达不同的语义类型。通过语义标签能够获取完整的数据语义信息。根据数据库对象的类型和专业知识库,数据语义类型被分为9个独特的类别,这些类别的语义标签如表1所示:
表1
其中,操作词、函数词、逻辑词和量词对应到通用数据库词典,这类词语在任意领域的查询中均会出现。其余类型词语与数据模型相关,对应专用知识库。
该关系数据语义模型能够显著提升自然语言与数据库对象之间的相互理解,进一步增强了数据的语义信息。对于在各个领域处理大量数据的实际应用,这一模型具有重要的实用价值。
在进行词语切分时,本发明采用统计与词典相结合的N-最短路径分词算法,并在现有的ICTCLAS***上进行了二次开发。下面结合图3,以“查询学生的联系电话”为示例,说明分词操作的主要步骤:
第一步:将输入的语句“查询学生的联系电话”切分为单个字符,得到“B/查/询/学/生/的/联/系/电/话/E”。
第二步:根据预先构建的知识库,针对每个字符原子之间,查找所有可能的组词方案。例如,对于包含“联系电话”这一字串,根据知识库的信息,将其标记为“PROPERTY”作为数据语义标签。得到组词结果为:“B/查/查询/询/学/学生/生/的/联/联系/联系电话/系/电/电话/话/E”。
第三步:计算每个组词方案中词边的长度,以便后续生成二叉分词图表。
例如,在此过程中,发现“查询电话”作为一个词边被切分为两个词,由于其在知识库中作为“查询电话”整体的可能性较大,对该词边长度进行修正,将其设置为0。
.第四步:完成词边长度计算后,进行排序并选择前两种可达路径作为最短路径初分结果。
例如,最短路径计算结果如表2所示:
表2
第五步:对初分结果进行特殊词合并和未登录词识别,然后再次生成二叉分词图表,并求取最短路径。
例如,将特殊词(如“联系电话”)保留为整体,同时对未登录词进行识别,以充分利用知识库中的信息。然后再次生成二叉分词图表,并求取最短路径。
第六步:得到完整的分词结果。例如,得到“查询,学生,的,联系电话”。这样的分词处理过程充分考虑了知识库中的语义信息,减少了切分的歧义,提高了分词的准确性和效率,适用于自然语言查询的处理。
步骤2:对词语序列进行句法分析,经语义信息编码,得到高维语义空间中的信息。
利用图4所示基于自注意力机制的编码器-解码器架构,完成句法分析,实现多层次深层高维特征提取,得到结构化查询语句所需的识别信息。
将词语级别的文本特征表示为,/>,/>表示/>维实数空间,/>和/>分别表示token的数量和单个token的特征维度;token表示词语级特征表示的一个基本单元,用于将一个词或短语转换为计算机可理解和处理的实数向量。
在基于自注意力机制的句法分析模型中,自注意力机制实现为多头自注意力网络MSA,其计算时间复杂度为,/>在计算机科学中表示计算复杂度。多头注意力网络计算过程如下所示:计算过程如下所示:
,
其中,、/>、/>,分别表示多头注意力机制中的第/>个头的网络的查询Query、键Key、值Value的特征;/>为/>、/>、/>的同源输入特征,/>分别表示从/>获得/>、/>、/>的线性变换层,/>、/>、/>的维度为/>; />表示注意力权重矩阵;/>表示矩阵的共轭转置操作;/>表示多头自注意力的第/>个自注意力分支;/>、/>分别表示多头自注意力的总分支数;/>表示张量在通道维度的拼接;/>表示归一化指数函数,用于将任意一组实数转换为0到1的概率分布。
经过多头自注意力操作,模型将更加关注到更加重要的特征,从而提取到更为丰富和有效的多层次高维句法特征。
第一步:获取每个单词的表示向量,表示向量由单词特征和位置编码相加得到。
第二步:将得到的单词表示成向量矩阵并传入编码器中,经过个编码模块后,得到所有单词的编码信息矩阵。
第三步:将编码器输出的编码信息矩阵传入解码器中,解码器依次根据当前的数据库查询信息(集合和链表)生成下一个查询信息。
在训练过程中,要通过掩码操作遮盖住尚未被预测的查询信息。
步骤3:对高维空间语义信息进行语义信息解码,得到集合和链表结构的语义信息。该中间结构数据采用自底向上的方式,按照关系数据规则将数据划分为若干可独立表示数据库信息的子树,以消除数据中的语义歧义。
步骤4:将中间结构的语义信息重组为查询目标和查询条件,最后生成完整的SQL语句。
对于数据库查询而言,最重要的是要从自然语言查询中获取查询的目标和查询的条件,按照SQL的语法格式生成合法查询语句。在数据库自然语言接口中,所有的预处理工作(包括词法分析和句法分析)都是为了将语言概念转换为中间结构。
本发明中,以集合与链表作为中间结构,将查询目标和查询条件分别存入集合和链表,最后生成完整的SQL语句,从完整的受限汉语查询语句中抽取出表示查询目的词语或词组。实现步骤如下:
第一步:动态获取规则集中的最大规则长度MAX和最小规则长度MIN,并令Len等于MAX。Len是一个变量,表示截取词语对象的最大长度。
第二步:从句尾开始逆序截取MAX个词语对象,如果扫描到“的”字,则指针向前移动一位(规则中不考虑“的”的修饰关系),并将逆序词性组成字符串tryWord。
第三步:将tryWord与目标规则集中的规则进行匹配。tryWord表示从完整的受限汉语查询语句中抽取出来的逆序词性组成的字符串,用于与目标规则集中的规则进行匹配。
如果匹配成功,则认为构成了一个目标短语,将指针向前移动Len个对象,并将这个词语对象集合作为一个对象存入目标短语集合T’。
如果匹配不成功,则将Len减1,再次进行匹配,直至Len等于MIN为止。
第四步:如果整句词语序列中,逆序Len+1位置为连词或标点符号,说明存在多个查询目标,重复以上的匹配过程直至结束;若Len+1位置为其他词,则结束识别过程。
本发明还提出了一种基于自注意力句法感知的数据库查询***,包括语义信息编码模块和语言解析模型。
其中,语义信息编码模块用于对经过词嵌入和位置编码后的词语序列进行多层高维度语音信息提取,得到数据库查询模式信息的抽象表示;获取查询信息内部的重要性权重参数,并根据不同内容的重要程度提取数据特征。
语言解析模型包括编码器和解码器,其中,编码器将语义信息从自然语言映射到高维语义空间中,解码器将高维语义空间中的语义信息映射为结构化查询语句所需要的识别信息。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
Claims (8)
1.一种基于自注意力句法感知的数据库查询方法,其特征在于,引入自注意力机制和句法感知,对输入的自然语言进行多尺度深层高维特征提取,基于提取到的查询信息高维语义表示,生成最终的数据库查询语言;
该一种基于自注意力句法感知的数据库查询方法,包括以下步骤:
步骤1:对自然查询语言进行词法分析,包括分词、词性标注和命名实体识别;对自然语言进行抽象化建模,得到具有数据语义的标准化词语序列;
步骤2:对词语序列进行句法分析,经语义信息编码,得到高维语义空间中的信息;
步骤3:对高维空间语义信息进行语义信息解码,得到中间结构——集合和链表结构的语义信息,该中间结构数据采用自底向上的方式,按照关系数据规则将数据划分为若干独立表示数据库信息的子树,以消除数据中的语义歧义;
步骤4:将中间结构的语义信息重组为查询目标和查询条件,最后生成完整的SQL语句。
2.如权利要求1所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,所述步骤1中,构建关系数据语义模型,建立自然语言词汇与数据库对象之间的密切联系,充实数据的语义信息;
关系数据语义模型为:,/>代表应用领域/>中给定的自然语言词汇集合,/>表示数据库对象,/>用于表示这些概念之间的关联,/>用于描述数据库对象的数据类型。
3.如权利要求1所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,所述步骤1中,采用一组专门针对关系数据的语义标签,以表达不同的语义类型,通过语义标签获取完整的数据语义信息;
数据语义类型包括操作词、函数词、逻辑词、量词、实体词、域名词、复合概念词和域值;
操作词对应的语义标签为OPERATION,SQL语义为比较操作关系;
函数词对应的语义标签为FUNCTION,SQL语义为聚集函数;
逻辑词对应的语义标签为LOGIC,SQL语义为逻辑关系;
量词对应的语义标签为QUANTIFIER,SQL语义为量词;
实体词对应的语义标签为ENTITY,SQL语义为数据库中表名;
域名词对应的语义标签为PROPERTY,SQL语义为数据库中属性列名;
复合概念词对应的语义标签为COMPOUND,SQL语义为数据库隐含知识;
域值对应的语义标签为VALUE,SQL语义为属性的具体值;
其中,操作词、函数词、逻辑词和量词对应到通用数据库词典,这类词语在任意领域的查询中均会出现,其余类型词语与数据模型相关,对应专用知识库;
利用知识库提高词法分析的准确性和完整性,其中通用知识库不受应用领域影响,由分词词典、通用数据库词典与同义词词林组成;
专用知识库将关注重点放在数据库对象上,由专用分词库、同义词词库、实体知识库、域名知识库、复合概念知识库和枚举值知识库组成。
4.如权利要求1所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,在分词过程中考虑关系数据的语义,确保词语与数据库对象建立正确的关联关系,分词的输出为一个具有关系数据语义的标准化词语序列;
分词包括以下步骤:
第一步:将输入的语句切分为单个字符;
第二步:根据预先构建的知识库,针对每个字符原子之间,查找所有可能的组词方案;
第三步:计算每个组词方案中词边的长度;
第四步:进行排序并选择前两种可达路径,作为最短路径初分结果;
第五步:对初分结果进行特殊词合并和未登录词识别,然后再次生成二叉分词图表,并求取最短路径;
第六步:得到完整的分词结果。
5.如权利要求1所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,所述步骤2中,利用基于自注意力机制的编码器-解码器架构完成句法分析,实现多层次深层高维特征提取,得到结构化查询语句所需的识别信息;
将词语级别的文本特征表示为,/>,/>表示/>维实数空间,/>和/>分别表示token的数量和单个token的特征维度;token表示词语级特征表示的一个基本单元,用于将一个词或短语转换为计算机可理解和处理的实数向量;
在基于自注意力机制的句法分析模型中,自注意力机制实现为多头自注意力网络MSA,计算过程如下所示:
,
其中,、/>、/>,分别表示多头注意力机制中的第/>个头的网络的查询Query、键Key、值Value的特征;/>为/>、/>、/>的同源输入特征;分别表示从/>获得/>、/>、/>的线性变换层,/>、/>、/>的维度为;/>表示多头自注意力的第/>个自注意力分支;/>、/>分别表示多头自注意力的总分支数;/>表示矩阵转置操作;多头自注意力的计算复杂度为/>,/>在计算机科学中表示计算复杂度;/>和/>分别表示在词语级别的文本特征表示中token的数量和单个token的特征维度。
6.如权利要求5所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,包括以下步骤:
第一步:获取每个单词的表示向量,表示向量由单词特征和位置编码相加得到;
第二步:将得到的单词表示成向量矩阵并传入编码器中,经过个编码模块后,得到所有单词的编码信息矩阵;
第三步:将编码器输出的编码信息矩阵传入解码器中,解码器依次根据当前的数据库查询信息生成下一个查询信息;
在训练过程中,通过掩码操作遮盖住尚未被预测的查询信息。
7.如权利要求1所述的一种基于自注意力句法感知的数据库查询方法,其特征在于,步骤4包括以下步骤:
第一步:动态获取规则集中的最大规则长度MAX和最小规则长度MIN,并令Len等于MAX;Len是一个变量,表示截取词语对象的最大长度;
第二步:从句尾开始逆序截取MAX个词语对象,如果扫描到“的”字,则指针向前移动一位,并将逆序词性组成字符串tryWord;
第三步:将tryWord与目标规则集中的规则进行匹配;tryWord表示从完整的受限汉语查询语句中抽取出来的逆序词性组成的字符串,用于与目标规则集中的规则进行匹配;
如果匹配成功,则认为构成了一个目标短语,将指针向前移动Len个对象,并将这个词语对象集合作为一个对象存入目标短语集合T’;
如果匹配不成功,则将Len减1,再次进行匹配,直至Len等于MIN为止;
第四步:如果整句词语序列中,逆序Len+1位置为连词或标点符号,说明存在多个查询目标,重复以上的匹配过程直至结束;若Len+1位置为其他词,则结束识别过程。
8.一种基于自注意力句法感知的数据库查询***,其特征在于,包括语义信息编码模块和语言解析模型;
语义信息编码模块用于对经过词嵌入和位置编码后的词语序列进行多层高维度语音信息提取,得到数据库查询模式信息的抽象表示;获取查询信息内部的重要性权重参数,并根据不同内容的重要程度提取数据特征;
语言解析模型包括编码器和解码器,其中,编码器将语义信息从自然语言映射到高维语义空间中,解码器将高维语义空间中的语义信息映射为结构化查询语句所需要的识别信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179624.XA CN116910086B (zh) | 2023-09-13 | 2023-09-13 | 一种基于自注意力句法感知的数据库查询方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311179624.XA CN116910086B (zh) | 2023-09-13 | 2023-09-13 | 一种基于自注意力句法感知的数据库查询方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910086A true CN116910086A (zh) | 2023-10-20 |
CN116910086B CN116910086B (zh) | 2023-12-01 |
Family
ID=88351574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311179624.XA Active CN116910086B (zh) | 2023-09-13 | 2023-09-13 | 一种基于自注意力句法感知的数据库查询方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910086B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992068A (zh) * | 2024-04-02 | 2024-05-07 | 天津南大通用数据技术股份有限公司 | Lstm和trm组合的智能数据库语法解析方法 |
CN117931898B (zh) * | 2024-03-25 | 2024-06-07 | 成都同步新创科技股份有限公司 | 一种基于大模型的多维数据库统计分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052871A1 (en) * | 2000-11-02 | 2002-05-02 | Simpleact Incorporated | Chinese natural language query system and method |
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
RU2013132622A (ru) * | 2013-07-15 | 2015-01-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Система и метод семантического поиска |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114896275A (zh) * | 2022-04-15 | 2022-08-12 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种将自然语言文本转为sql语句的方法及*** |
CN115048447A (zh) * | 2022-06-27 | 2022-09-13 | 华中科技大学 | 一种基于智能语义补全的数据库自然语言接口*** |
-
2023
- 2023-09-13 CN CN202311179624.XA patent/CN116910086B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052871A1 (en) * | 2000-11-02 | 2002-05-02 | Simpleact Incorporated | Chinese natural language query system and method |
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
RU2013132622A (ru) * | 2013-07-15 | 2015-01-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Система и метод семантического поиска |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114896275A (zh) * | 2022-04-15 | 2022-08-12 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种将自然语言文本转为sql语句的方法及*** |
CN115048447A (zh) * | 2022-06-27 | 2022-09-13 | 华中科技大学 | 一种基于智能语义补全的数据库自然语言接口*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931898B (zh) * | 2024-03-25 | 2024-06-07 | 成都同步新创科技股份有限公司 | 一种基于大模型的多维数据库统计分析方法 |
CN117992068A (zh) * | 2024-04-02 | 2024-05-07 | 天津南大通用数据技术股份有限公司 | Lstm和trm组合的智能数据库语法解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116910086B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988785B (zh) | 基于语言模型编码和多任务解码的sql转换方法及*** | |
CN116910086B (zh) | 一种基于自注意力句法感知的数据库查询方法和*** | |
CN111737496A (zh) | 一种电力设备故障知识图谱构建方法 | |
CN111522910B (zh) | 一种基于文物知识图谱的智能语义检索方法 | |
CN114020768A (zh) | 中文自然语言的sql语句生成模型的构建方法及应用 | |
CN113377897B (zh) | 基于深度对抗学习的多语言医疗术语规范标准化***及方法 | |
CN110442880B (zh) | 一种机器翻译译文的翻译方法、装置及存储介质 | |
CN116737759B (zh) | 一种基于关系感知注意力的中文查询生成sql语句方法 | |
CN112364132A (zh) | 基于依存句法的相似度计算模型和***及搭建***的方法 | |
CN112632250A (zh) | 一种多文档场景下问答方法及*** | |
CN114757184B (zh) | 实现航空领域知识问答的方法和*** | |
CN115658846A (zh) | 一种适用于开源软件供应链的智能搜索方法及装置 | |
CN116561251A (zh) | 一种自然语言处理方法 | |
CN117010387A (zh) | 融合注意力机制的RoBERTa-BiLSTM-CRF语音对话文本命名实体识别*** | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
CN114492796A (zh) | 一种基于语法树的多任务学习手语翻译方法 | |
CN117454898A (zh) | 一种根据输入文本实现法人实体标准化输出的方法及装置 | |
CN113095082A (zh) | 一种基于多任务模型进行文本处理的方法、装置、计算机装置及计算机可读取存储介质 | |
CN114880994B (zh) | 一种直白文本到反讽文本的文本风格转换方法及装置 | |
Ma et al. | Joint pre-trained Chinese named entity recognition based on bi-directional language model | |
CN116483314A (zh) | 一种自动化智能活动图生成方法 | |
CN115238705A (zh) | 语义解析结果重排序方法及*** | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
Sangeeth et al. | An intelligent system for information extraction from relational database using HMM | |
CN114238595A (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 |