CN115495563A - 基于表格数据检索的智能会话方法及服务器 - Google Patents
基于表格数据检索的智能会话方法及服务器 Download PDFInfo
- Publication number
- CN115495563A CN115495563A CN202211130339.4A CN202211130339A CN115495563A CN 115495563 A CN115495563 A CN 115495563A CN 202211130339 A CN202211130339 A CN 202211130339A CN 115495563 A CN115495563 A CN 115495563A
- Authority
- CN
- China
- Prior art keywords
- entity
- result
- input
- word
- query
- 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/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/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
- 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- 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/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于表格数据检索的智能会话方法及服务器,其中,方法包括:基于输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果,并根据表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;基于SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为输入语料的答复。由此,解决了相关技术中编码层的复杂较高,导致算法的准确性较差和推理效率较低等问题。
Description
技术领域
本申请涉及自然语言处理技术领域,特别涉及一种基于表格数据检索的智能会话方法及服务器。
背景技术
在智能会话系统中,表格数据检索指针对自然语言(NaturalLanguage,NL)问题,基于自然语言技术根据数据表格的内容给出答案。在不涉及复杂系统建设的情况下,提供了较为理想的解决方案。
目前在文本型知识和少量表格型数据的语料基础上,在较多的汽车品牌的智慧助手服务中有广泛的应用。而针对海量实时车联网数据等类型的问答场景,基于表格数据检索的会话技术较为贫乏,尚未有有效的实施例。而基于文本型知识和少量表格型数据的智能会话技术难以适配复杂表格多字段多值的场景,难以适应多样化用户问题,无法实现准确对应,同时训练阶段对内存和算力的要求较高,亟待解决。
发明内容
本申请提供一种基于表格数据检索的智能会话方法及服务器,解决了相关技术中编码层的复杂较高,导致算法的准确性较差和推理效率较低等问题。
本申请第一方面实施例提供一种基于表格数据检索的智能会话方法,包括以下步骤:接收输入语料,调用语法纠错方法,获得纠错后的输入语料;基于所述纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于所述纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于所述输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果;基于实体抽取结果,查找表格实体词表,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息;基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;基于所述SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为所述输入语料的答复。
根据上述技术手段,本申请实施例为保障SQL语句与自然语言准确对应,将所述输入语料、所述句法分析结果、所述目标表与所述实体词间交互特征输入至查询语言转换模型进行SQL语句的构建,在查询语言转换模型的编码层中引入了目标表与实体词间交互特征、输入自然语言的句法信息。基于匹配得到的所述目标表作为输入,可以显著缩小特征网络,降低了编码层的复杂度,可以适配复杂表格多字段多值的场景;将字段值与用户问题的交互特征作为输入特征进行语句的分析组装,可以保证输入预料中只提及字段值时语料内容与表格字段的准确对应;提取输入语料的句法分析结果进行SQL语句的组装,可以保障语句组装中SQL语句与自然语言的准确对应。
可选地,所述基于编码后的特征,调用查询语言转换模型,生成SQL语句,包括:获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成所述SQL语句。
可选地,所述接收输入语料,调用语法纠错方法,获得纠错后的输入语料,包括:针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;针对所述分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
可选地,所述基于所述纠错后的输入语料,调用意图分类方法,包括:针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;若属于所述预设检索意图,则根据所述输入语料进行实体词提取;若不属于所述预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
可选地,所述根据所述输入语料进行实体词提取,包括:提取所述输入语料中的实体词,作为潜在实体词;对所述输入语料进行分词和词性提取,作为语言分词;将所述潜在实体词和所述语言分词,作为所述实体词。
可选地,所述提取所述输入语料中的实体词,作为潜在实体词,包括:对所述输入语料进行表示归一化处理,得到归一化语句;根据正则表达式对所述归一化语句进行时间和数值提取,调用预训练的NER模型对所述归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为所述潜在实体词。
可选地,所述表格实体召回和目标表格召回方法,包括:根据所述实体词,匹配表格实体映射表,获得表格实体的召回结果;基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
可选地,所述语言转换模型包括:模型主体采用ERINE预训练模型框架;编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
可选地,所述语言转换模型的训练方法包括:将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
可选地,在查找表格实体词库之前,还包括:确定数据检索表格;提取所述数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;从所述数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至所述映射关系表中;调用fasttext词向量模型对所述字段值进行向量化处理;将所述映射关系表作为所述表格实体词库。
本申请第二方面实施例提供一种基于表格数据检索的智能会话服务器,预处理模块,用于接收输入语料,调用语法纠错方法,获得纠错后的输入语料;分析模块,用于基于所述纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于所述纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于所述输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果;筛选模块,用于基于实体抽取结果,查找表格实体词表,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息;生成模块,用于基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;反馈模块,用于基于所述SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为所述输入语料的答复。
可选地,所述生成模块进一步用于获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成所述SQL语句。
可选地,所述预处理模块用于:针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;针对所述分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
可选地,所述分析模块用于:针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;若属于所述预设检索意图,则根据所述输入语料进行实体词提取;若不属于所述预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
可选地,所述分析模块进一步用于:提取所述输入语料中的实体词,作为潜在实体词;对所述输入语料进行分词和词性提取,作为语言分词;将所述潜在实体词和所述语言分词,作为所述实体词。
可选地,所述分析模块进一步用于:对所述输入语料进行表示归一化处理,得到归一化语句;根据正则表达式对所述归一化语句进行时间和数值提取,调用预训练的NER模型对所述归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为所述潜在实体词。
可选地,所述表格实体召回和目标表格召回方法,包括:根据所述实体词,匹配表格实体映射表,获得表格实体的召回结果;基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
可选地,所述语言转换模型包括:模型主体采用ERINE预训练模型框架;编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
可选地,所述语言转换模型的训练方法包括:将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
可选地,还包括:构建模块,用于在查找表格实体词库之前,确定数据检索表格;提取所述数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;从所述数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至所述映射关系表中;调用fasttext词向量模型对所述字段值进行向量化处理;将所述映射关系表作为所述表格实体词库。
由此,本申请至少具有如下有益效果:
本申请实施例通过对数据检索表格进行实体词库的构建,充分提取表格的先验信息,增强表格信息,提高了表格信息语义表达的准确性;接收到输入语料后,将输入语料与数据检索表格之间的匹配比对切换中输入语料的实体词与表格实体词库间的比对,提供了输入自然语言与多表关联查询的方案,缩短了比对的语句长度,可以实现快速匹配;为保障SQL语句与自然语言准确对应,将输入语料、句法分析结果、目标表与实体词间交互特征输入至查询语言转换模型进行SQL语句的构建,在查询语言转换模型的编码层中引入了目标表与实体词间交互特征、输入自然语言的句法信息。基于匹配得到的目标表作为输入,可以显著缩小特征网络,降低了编码层的复杂度,可以适配复杂表格多字段多值的场景;将字段值与用户问题的交互特征作为输入特征进行语句的分析组装,可以保证输入预料中只提及字段值时语料内容与表格字段的准确对应;提取输入语料的句法分析结果进行SQL语句的组装,可以保障语句组装中SQL语句与自然语言的准确对应。因此,本申请可以适应多样化用户问题,实现SQL语句与自然语言的准确对应,同时特征网络小,编码复杂度低,降低了实现难度,提升了计算效率。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于表格数据检索的智能会话方法的流程示意图;
图2为根据本申请一个实施例的车联网智能会话系统示意图;
图3为根据本申请一个实施例的智能会话整体实现流程示意图;
图4为根据本申请实施例的基于表格数据检索的智能会话服务器的示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于表格数据检索的智能会话方法及服务器。针对上述背景技术中心提到的相关技术中难以适配复杂表格多字段多值的场景,难以适应多样化用户问题,无法实现准确对应,同时训练阶段对内存和算力的要求较高的问题,本申请提供了一种基于表格数据检索的智能会话方法,在该方法中,通过对数据检索表格进行实体词库的构建,充分提取表格的先验信息,增强表格信息,提高了表格信息语义表达的准确性;接收到输入语料后,将输入语料与数据检索表格之间的匹配比对切换中输入语料的实体词与表格实体词库间的比对,提供了输入自然语言与多表关联查询的方案,缩短了比对的语句长度,可以实现快速匹配;为保障SQL(结构化查询语言,Structured QueryLanguage)语句与自然语言准确对应,将输入语料、句法分析结果、目标表与实体词间交互特征输入至查询语言转换模型进行SQL语句的构建,在查询语言转换模型的编码层中引入了目标表与实体词间交互特征、输入自然语言的句法信息。基于匹配得到的目标表作为输入,可以显著缩小特征网络,降低了编码层的复杂度,可以适配复杂表格多字段多值的场景;将字段值与用户问题的交互特征作为输入特征进行语句的分析组装,可以保证输入预料中只提及字段值时语料内容与表格字段的准确对应;提取输入语料的句法分析结果进行SQL语句的组装,可以保障语句组装中SQL语句与自然语言的准确对应。因此,本方法可以适应多样化用户问题,实现SQL语句与自然语言的准确对应,同时特征网络小,编码复杂度低,降低了实现难度,提升了计算效率。
具体而言,图1为本申请实施例所提供的一种基于表格数据检索的智能会话方法的流程示意图。
如图1所示,该基于表格数据检索的智能会话方法主要包括以下步骤:
步骤S101、接收输入语料,调用语法纠错方法,获得纠错后的输入语料。
在本申请实施例中,接收输入语料,调用语法纠错方法,获得纠错后的输入语料,包括:针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;针对分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
可以理解的是,调用预训练的语言模型对输入语料进行语法纠错调整。具体如下:
用户语音输入或文本输入的问题,可能存在语法错误,影响下游语义理解的准确性。本实施例中可以,采用预训练的kenlm模型对分词后ngram(大词汇连续语音识别中常用的一种语言模型)处理的列表进行评分,根据离均差的阈值,识别错误位点,结合预制的同音字和形近字、常见混淆词典,对错误位点的字和词进行替换,生成候选集。候选集的kenlm评分高于原句5%,则替换原句作为纠错后输出,否则保留原句输出。
需要说明的是,本申请实施例供了一种自然语言语义理解的方法,提高了系统对输入问题语法错误的容错能力。
步骤S102、基于纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果。
其中,预设高频问题SQL库可以根据实际情况建立,不作具体限定。
可以理解的是,本申请实施例可以接收输入语料,根据输入语料分别进行实体词提取和依存句法分析,得到实体词提取和句法分析结果,且根据输入语料进行实体词提取之前,可以首先执行以下步骤:识别输入语料是否属于检索意图;若属于检索意图,执行根据输入语料进行实体词提取的步骤;若不属于检索意图,提示非检索意图,表格数据检索服务无法应答。
在一些实施例中,本申请实施例可以收集用户侧历史输入的语料记录,建立高频问题SQL库。通过收录用户侧高频的自然语言问题,以及自然语言与数据查询语言的关联关系,建立高频FAQ(Frequently Asked Questions常见问题解答)问题库,以便于快速准确响应用户侧高频重点数据查询问题。
其中,用户侧高频的自然语言问题可以采集于历史咨询日志和取数需求,高频的数据查询语言可以采集于数据库的数据查询日志,比如可以提取查询频次3次及以上的SQL查询语句,并进行自然语言翻译,将查询语言转换为自然语言。自然语言与数据查询语言的对应关系,可以采用人工转译和标注。另外,还可以进一步对自然语言问题进行了泛化处理,采用句向量模型对泛化句子进行向量化,以句向量的形式存储在faiss句向量库,以实现输入问题的高效检索匹配。
因此,本申请实施例在执行接收输入语料之后,根据输入语料进行实体词提取之前,可以首先执行以下步骤:
步骤一、调用高频问题SQL库对自然语言进行相似性匹配,生成相似度;
步骤二、从高频问题SQL库中提取出相似度达到匹配阈值的SQL,作为SQL语句,并执行通过执行SQL语句,生成答复信息的步骤;
步骤三、若不存在相似度达到匹配阈值的SQL,执行根据输入语料进行实体词提取的步骤。
建立高频FAQ问题库后,在接收到用户的输入语料后,为提升效率,进行语料分析之前,首先匹配高频FAQ问题库,通过用户输入问题的句向量结果,在faiss句向量库,可以采用余弦相似度搜索最相似的目标,TOP1结果达到阈值则认为句子间接近等价,直接采用召回句子的SQL,作为输入语句的SQL生成结果,跳过了对输入语料进行语义分析的步骤,可以直接返回SQL语句。
需要说明的是,对用户输入问题是否属于检索意图进行判别,如非检索意图,则返回系统无法应答,进一步地,可以优先采用faq和知识图谱的应答结果,在此不做限定。
在一些实施例中,本申请实施例可以采用textcnn训练的文本二分类模型进行检索意图的判定,且还提供了一种自然语言语义理解的方法,提高了系统对不可应答问题类型的过滤能力;同时,还提供了一种高频FAQ问题库的生成和使用方法,保障了高频问题的应答及时性和准确性。
在本申请实施例中,基于纠错后的输入语料,调用意图分类方法,包括:针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;若属于预设检索意图,则根据输入语料进行实体词提取;若不属于预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
具体而言,输入语料指接收到用户侧发出的问题,以图2所示的车联网智能会话系统为例,手机或车机终端的麦克风设备采集到语音信号输入后,将语音二进制流信息通过语音助手传输到智能会话系统;系统中首先触发ASR(语音转文本服务)服务,完成语音转文本,将生成的文本作为输入语料,文本信息流转到对话管理服务模块,该模块负责管理问答接口的调用策略,在本实施例中问答接口为表格会话服务,即本方法实施例所展示的方法,在表格会话服务中会完成自然语言到查询语言的转化,生成的SQL查询语言在执行引擎完成答案的查询,再通过表格问答服务将查询结果以文本形式返回到对话管理服务模块,对其进行答复响应。
具体而言,答复响应需要对输入语料进行自然语言的语义理解,以明确其所要了解的问题对象。具体地,语义理解主要包括两部分,一是根据输入语料进行实体词提取,二是对输入语料进行依存句法分析,得到句法分析结果。
其中,实体提取,主要提取输入自然语言中的潜在实体词,以便于与表格实体词进行匹配,获得输入分词与表格实体词的词对。
依存句法分析主要针对输入语料分词得到的分词结果和词性信息,预测词间的关系,用于补充词间关系特征,具体可以采用Hanlp(大数据一体化平台)的依存句法分析工具,本实施例对此不做限定。一种依存关系的类别及通俗介绍如下表。
假定输入语料为“查一下2022年3月销量最高的车型”,一种针对性的依存关系如下表1所示:
表1
步骤S103、基于实体抽取结果,查找表格实体词库,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息。
可以理解的是,本申请实施例可以根据表格实体词库对实体词进行实体词匹配,得到表格匹配词,并提取表格匹配词对应的目标表。
在本申请实施例中,表格实体召回和目标表格召回方法,包括:根据实体词,匹配表格实体映射表,获得表格实体的召回结果;基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
具体而言,表格实体词库中包含若干实体词以及相关词语信息(包括但不限于实体词类型等实体词信息),将提取到的实体词与表格实体词库中各实体词逐一进行匹配比对,以确定数据检索表格中是否存在与当前输入语料匹配的语料对象。为提升比对效率,提升比对精准度,本实施例中对输入语料进行实体词提取,对数据检索表格进行表格实体词库的构建,将输入语料与数据检索表格之间的匹配比对切换中输入语料的实体词与表格实体词库间的比对,剔除无用的非实体词信息,缩短了比对的语句长度,从而可以提升比对效率;而且保留体现句意的关键实体词信息进行比对,可以保障匹配的精准度。
需要说明的是,表格实体词库与实体词间匹配比对的过程可以参照相关技术中词语或语句的匹配比对方式,本实施例中对此不做限定,比如可以将提取到的实体词,和对应的实体词类别,采用fasttext进行向量化,召回余弦相似度>0.9的表格实体词,获取表格实体词对应的字段名,作为表格匹配词。如果抽取的实体词中包含时间类型,则可以召回表格实体词库中与时间相关的所有字段,如包含数值类型,数值在区间内,且单位相符的,作为匹配对象,获取表格属性词字段名、分词、表格实体词、表格字段名,组合成词对集合。本实施例中仅以上述实现方式为例进行介绍,其他方式均可参照本实施例的介绍,在此不再赘述。
匹配得到表格匹配词后,从数据检索表格中提取与各表格匹配词归关联性最强的表,作为目标表。本实施例中对于目标表的确定方式不做限定,比如可以根据各表中包含的表格匹配词的个数进行确定,还可以根据表格匹配词在表中关联词数量以及关联关系的强弱进行确定。
为加深对于目标表确定方式的理解,在此提出一种基于图数据的目标表确定方式,具体如下:
在一些实施例中,在接收输入语料之前,可以进一步提取数据检索表格中数据对象(比如表格及字段)间的关联关系,存储于图数据;则提取表格匹配词对应的目标表具体可以:根据图数据提取表格匹配词对应的路径集合中最短路径,确定最短路径对应的目标表。
其中,以图数据的形式进行表格schema(数据库的组织和结构)的构建,将基于数据字典提供的表格间的关联关系和表格与字段的包含关系,生成三元组数据,存入图数据库,用于目标表的筛选和跨表格查询时的关联关系建立。则相应地,将匹配到的表格实体词链接到图数据后,可以采用路径搜索算法,获取子图的路径集合,本实施例中,优选命中全部配对分词,且包含表格数最少的最短路径。最短路径包含的表名,均为目标表,配对字段里的实体词映射到的字段名为目标字段。
上述目标表的确定方法中,基于召回的实体词的匹配信息,将匹配到的表格实体词链接到图数据的实体后,获取子图的路径集合,然后根据路径的数量和长度确定关联性最强的目标表,可以显著提升提取速度。
步骤S104、基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句。
可以理解的是,本实施例调用查询语言转换模型进行SQL语句的组装,其中,查询语言转换模型指用于将自然语言转换为查询语言(SQL)的模型,查询语言转换模型可以基于seq2sql(一种使用强化学习通过自然语言生成SQL的模型)框架进行模型构建,对此不做限定。
在本申请实施例中,基于编码后的特征,调用查询语言转换模型,生成SQL语句,包括:获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成SQL语句。
其中,在本申请实施例中,语言转换模型包括:模型主体采用ERINE预训练模型框架;编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
其中,语言转换模型的训练方法包括:将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
具体而言,为保障SQL语句与输入预料准确对应,本实施例中将输入语料、句法分析结果、目标表与实体词间交互特征输入至查询语言转换模型,在查询语言转换模型的编码层中引入了目标表与实体词间交互特征、输入自然语言的句法信息,根据输入语料的语言特征进行答复语言SQL的构建。其中,仅基于匹配得到的目标表,而非将关联表格的每个字段的字段值作为输入,可以显著缩小特征网络,适配复杂表格多字段多值的场景,提升分析的有效性以及精准性,同时可以提升训练阶段以及预测结算的效率,提升用户体验。另外,本实施例中将字段值与用户问题的交互特征作为输入特征进行语句的分析组装,可以解决用户问题中只提及字段值时问题与表格字段的准确对应问题。而且,本实施例中还进一步提取输入语料的句法分析结果进行SQL语句的组装,可以保障语句组装中各分词组装的逻辑通顺,语法合理。
本实施例中根据输入语料、句法分析结果、目标表与实体词间交互特征进行语句组装,保障了特征信息的全面性,提升预测精准度;同时整体信息量有限,有效控制了预测以及训练时间。
步骤S105、基于SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为输入语料的答复。
可以理解的是,SQL提交数据库执行,如果执行成功,则返回执行结果,将生成的信息作为答复信息;生成的SQL查询语言在数据库的执行引擎完成答案的查询后,可以通过表格问答服务将查询结果以文本形式返回到对话管理服务模块;查询结果文本再通过TTS(文本转语音)服务,转换成语音;语音信息以二进制流的形式回到终端的语音助手,并调用终端的扬声器进行语音的播报,实现信息的答复。
而如果执行失败,则表格问答服务可以提示无法准确应答,本实施例中对于该种情况下的处理方式不做限定,系统可以调用传统智能应答方法(比如知识图谱)进行答复查询,或根据预先配置的高频问答库进行查询等,具体可以根据实际使用需要进行相应设定,在此不再赘述。
上述实施例中对于根据输入语料进行实体词提取的具体提取方式不做限定,为保证实体词的全面提取,在一些实施例中根据输入语料进行实体词提取,包括:提取输入语料中的实体词,作为潜在实体词;对输入语料进行分词和词性提取,作为语言分词;将潜在实体词和语言分词,作为实体词。其中,提取输入语料中的实体词,作为潜在实体词,包括:对输入语料进行表示归一化处理,得到归一化语句;根据正则表达式对归一化语句进行时间和数值提取,调用预训练的NER模型对归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为潜在实体词。
具体而言,根据输入语料进行实体词提取具体可以按照以下子步骤执行:
S21、提取输入语料中的实体词,作为潜在实体词;
直接调用模型对输入语料进行自定义种类的实体词提取,将提取得到的实体词以及实体词信息(比如实体词类型)作为潜在实体词。
直接针对输入语料的实体词提取可以根据输入语料的类型、包含的实体词种类以及主要分析对象进行相应设定,在此不做限定。为保障直接提取的全面性,在一些实施例中,针对输入语料的直接实体词提取可以按照以下步骤执行:
S211、对输入语料进行表示归一化处理,得到归一化语句;
S212、根据正则表达式对归一化语句进行时间和数值提取,调用预训练的NER模型对归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为潜在实体词。
对输入的自然语言问题,进行汉字转数字,单位表示的归一化后,采用正则表达式进行时间和数值单位的模式抽取。本案例中采用的实体抽取模型主要用于提取输入问题中的人名、地名、机构名,模型可以为BiLSTM+CRF,基于人民日报标注数据集训练,不限定于此。
S22、对输入语料进行分词和词性提取,作为语言分词;
加入字段值、字段名和表名的实体到自定义词典后,对用户输入语料进行分词和词性标注,将分词和词性标注后生成的分词作为语言分词。
需要说明的是,本实施例中对于分词工具不做限定,比如可以借助Hanlp分词工具完成,具体可以参照相关技术,在此不再赘述。
S23、将潜在实体词和语言分词,作为实体词。
本实施例中将实体词的提取划分为基于语料的直接提取以及分词提取两部分,在实体词的直接提取之外进行语料分词进行词料补充,可以保障信息提取的全面性。
在一些实施例中,上述实施例中调用查询语言转换模型根据输入语料、句法分析结果、目标表与实体词间交互特征进行语句组装具体可以按照以下子步骤执行:
S51、将输入语料、句法分析结果、目标表和实体词进行编码后向量化,作为输入特征;
编码层中,将用户输入问题,表格信息,实体提取结果,依存句法分析结果,进行编码后向量化,特征间用[SEP]分隔。
其中,用户输入问题的编码,包含一系列字符的序列W=[w1,…,wi,…,wn],wi表示自然语言问句中的第i个字符;
表格信息包含列名,列名表示为C=[c1,…,ci,…,cn],ci表示关联表格中的第i列的列名,每一个列名由一个或多个字符组成,且每一个列名对应的单元值表示为ci=[ci_1,…,ci_i,…,ci_n],ci_i表示为第i列表名的第i个字符编码;
实体提取结果,包含问句中实体词,命中的表格实体词,表格实体词对应的字段名,类型名。WC=[[qw1,tw1,c1,t1],...,[qwi,tw1,ci,ti],...,[qwn,twn,cn,tn]],其中qwi=[q1,..qn],twi=[t1,..tn],Ci=[c1,..cm]。qwi和qi分别为S34和S35召回词对,第i组里的输入分词,和该分词的第i个字符;twi和ti分别是词对,第i组里的表格实体词和其第i个字符;Ci和ci分别是词对,第i组里的表格字段名和其第i个字符;ti为词对的类型,包括VALUE/COLUMN/TABLE三个类型。
依存句法分析结果,提取实体词和其他词的关系对,S=[[wi,wj,s_type],...],其中wi为第i个实体词,wj为某个和wi存在依存关系的词,s_type为依存关系类型。整体输入序列表示为X=“[XLS],W,[SEP],C,[SEP],WC,[SEP],S,[SEP]”;其中[XLS]表示起始标记符,W表示自然语言问句,[SEP]表示片段之间的分隔符,C表示关联表格的列名,WC表示自然语言问句中实体词、表格实体词、字段名的词对,S表示自然语言问句中实体词和存在依存关系的上下文词形成的词对和依存关系。
S52、对输入特征进行多任务联合预测,得到各子任务预测结果;其中,多任务联合预测包括:SELECT目标列预测、目标列的聚合方法预测、WHERE条件的目标列预测、WHERE连接条件间的逻辑操作预测、WHERE条件的数值预测以及WHERE条件的比较逻辑预测;
本实施例中将预测任务拆分成6个子任务,分别是sc(SELECT目标列),sca(目标列的聚合方法),wc(WHERE条件的目标列),wco(WHERE连接条件间的逻辑操作),wv(WHERE条件的数值),wo(WHERE条件的比较逻辑)。
其中,sc(SELECT目标列)子任务是对目标表的所有字段,进行是否属于SELECT目标列的二分类预测;sca(目标列的聚合方法)是对sc预测的目标列,进行聚类类型(”,'MAX','MIN','COUNT','SUM','AVG','ORDER BY','HAVING')八个二分类的预测,其中前六个操作的预测结果取最大预测值类别;wc(WHERE条件的目标列)是对对实体提取结果中type为value的词对中的字段进行是否为WHERE目标列的二分类;wv(WHERE条件的数值)指基于wc的预测结果,提取实体提取结果中type为value的词对中的问句实体词;wo(WHERE条件的比较逻辑)是对sc中类别为order的目标列和wc的目标列预测结果,进行比较类型('>','<','>=','<=','!=','asc','desc')的七分类预测;wco(WHERE连接条件间的逻辑操作)是对wc预测的目标列之间的连接逻辑的判断(”,'AND','OR')的三分类预测。
在训练过程中,将6个子任务的预测结果分别与目标值进行损失值计算,将损失值结果累加作为6个子任务联合训练的总的损失值。
S53、根据各子任务预测结果根据SQL语法拼接规则进行子句的组装,得到SQL语句。
在实际预测过程中,基于6个子任务的预测结果,结合sql语法进行子句的组装,得到SQL语句。
需要说明的是,若SELECT和WHERE中的目标列,分属于不同的表格,则可以优先基于表格schema信息,进行表格的拼接,引入JOIN语法结构。
本实施例提供了一种基于六任务训练预测的SQL拼接方法,该方法提高了算法的准确性和推理效率。
在一些实施例中,在查找表格实体词库之前,还包括:确定数据检索表格;提取数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;从数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至映射关系表中;调用fasttext词向量模型对字段值进行向量化处理;将映射关系表作为表格实体词库。
具体而言,数据检索表格通过结构化的数据存储和呈现方式存储智能会话系统中自然语言的相关信息,在表格问答服务中会完成自然语言到查询语言的转化,可以帮助会话答复信息的快速生成。数据检索表格中表头由一系列的字段名组成,表格的数据由各字段的字段值构成,表之间可以通过相同的一个或多个字段,进行关联。具体地基于智能会话系统的数据检索表格的具体格式以及存储形式可以参照相关技术的介绍,在此不再赘述。
为了充分提取表格的先验信息,保障后续对于输入预料的快速匹配比对,本实施例中通过统计数据检索表格中实体词以及词相关信息进行记录,构建表格实体库实现表格信息的增强。不同表格中包含的实体词类型不同,具体每种实体词类型下的表格实体词库的构建可以根据应用场景以及使用需要进行相应设定,在此不做限定。
在一些实施例中,统计数据检索表格中实体词具体可以针对表格中的枚举类型的字段,提取字段值,建立包含字段值、字段名和表名的映射关系表,字段类型可以标注为value类型。补充加入包含枚举和数值型字段的字段名和表名实体词记录,类型分别为column类型和table类型。然后对字段值列,采用fasttext(一种词向量与文本分类工具)预训练的词向量模型进行向量化,并采用faiss(Facebook AI Similarity Search,一种海量数据存储库)存储实体词的向量表示,其中,调用的fasttext词向量模型可以基于百科语料训练得到。
上述构建方法通过对字段的字段值,字段名和表名的枚举类型的汇总,建立字段值(VALUE),字段名(COLUMN),表名(TABLE)的实体层级的映射关系,用于与自然语言中的分词进行关联,可以适应大多数实体词类型,本实施例中仅以上述构建方法为例进行介绍,其他构建方法均可参照上述介绍,在此不再赘述。
在一些实施例中,数据库中的表名和字段名,通常为英文,为了便于中文问答场景的应用,进一步提取表格的先验信息,还可以通过增加(中文)注释等方式进行信息增强。具体地,数据库在构建时,通常会建立数据字典(指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述),对表和字段名进行注释。对表格信息增加注释具体可以采用数据字典的注释信息进行注释补充,在数据字典的基础上进一步完善,用中文词和短语更充分的阐释字段名和表名和含义与用途,并经过人工核验,以提高注释信息的质量。其中,人工核验主要对一些不完整、表述错误和缺失的信息进行修复和填充,要求表述和字段内实际信息保持一致,并尽可能简短。
进一步,在一些实施例中,还可以对数值型字段补充标注信息以实现信息增强的目的,数值型字段补充标注信息可以包括提取单位信息、最大值和最小值信息等信息的补充描述,作为字段的增强信息,生成表格属性词库,以便后续信息关联匹配的需要。
需要说明的是,在统计实体词外,本实施例中仅以完善中文注释、对数值型字段补充标注信息两种方式介绍信息增强的方式,其他可以实现数据检索表格数据增强的方式均可适用本申请,在此不再赘述。
为加深对于上述方法实施例的理解,本实施例中介绍一种包含上述主要方法的整体流程实现,如图3所示为本实施例提供的整体方法实现流程示意图。
(1)接收用户的输入语料;
(2)对输入语料进行语法纠错处理;
(3)调用预先建立的高频FAQ SQL库对语法纠错后的输入语料进行相似问题检索,识别高频FAQ SQL库中是否有相似度高于阈值的问题;若存在,从高频FAQ SQL库中直接提取相似问题对应的SQL回复进行系统回复的生成;若不存在,则执行步骤(4);
(4)对纠错后的输入语料进行检索意图识别;若非检索意图,可以根据知识图谱进行系统回复的生成;若为检索意图,则执行步骤(5);
(5)根据表格实体词库以及表格属性词库进行实体词提取以及分词处理,将生成的词整体作为实体词;
其中,表格实体词库以及表格属性词库为根据数据检索表格进行数据增强处理生成。
(6)根据实体词以及语法纠错后的输入语料进行句法分析,得到句法分析结果;
将句法分析结果、实体词以及语法纠错后的输入语料作为输入特征;
(7)根据表格schema图数据匹配实体词对应的目标表;
(8)根据目标表以及输入特征生成SQL查询语言。
需要说明的是,本实施例中仅介绍包含上述方法的一种流程,其他步骤先后执行顺序的设置下的执行情况均可参照本实施例的介绍,而针对各步骤所对应的具体原理及实现方式,均可参照上述方法实施例的介绍,在此不再赘述。
其次参照附图描述根据本申请实施例提出的基于表格数据检索的智能会话装置。
图4是本申请实施例的基于表格数据检索的智能会话服务器的方框示意图。
如图4所示,该基于表格数据检索的智能会话服务器10包括:预处理模块100、分析模块200、筛选模块300、生成模块400和反馈模块500。
其中,预处理模块100用于接收输入语料,调用语法纠错方法,获得纠错后的输入语料;分析模块200用于基于纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果;筛选模块300用于基于实体抽取结果,查找表格实体词表,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息;生成模块400用于基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;反馈模块500用于基于SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为输入语料的答复。
可选地,生成模块400进一步用于获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成SQL语句。
可选地,预处理模块100用于:针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;针对分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
可选地,分析模块200用于:针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;若属于预设检索意图,则根据输入语料进行实体词提取;若不属于预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
可选地,分析模块200进一步用于:提取输入语料中的实体词,作为潜在实体词;对输入语料进行分词和词性提取,作为语言分词;将潜在实体词和语言分词,作为实体词。
可选地,分析模块200进一步用于:对输入语料进行表示归一化处理,得到归一化语句;根据正则表达式对归一化语句进行时间和数值提取,调用预训练的NER模型对归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为潜在实体词。
可选地,表格实体召回和目标表格召回方法,包括:根据实体词,匹配表格实体映射表,获得表格实体的召回结果;基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
可选地,语言转换模型包括:模型主体采用ERINE预训练模型框架;编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
可选地,语言转换模型的训练方法包括:将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
可选地,还包括:构建模块,用于在查找表格实体词库之前,确定数据检索表格;提取数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;从数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至映射关系表中;调用fasttext词向量模型对字段值进行向量化处理;将映射关系表作为表格实体词库。
需要说明的是,前述对基于表格数据检索的智能会话方法实施例的解释说明也适用于该实施例的基于表格数据检索的智能会话装置,此处不再赘述。
根据本申请实施例提出的基于表格数据检索的智能会话装置,通过对数据检索表格进行实体词库的构建,充分提取表格的先验信息,增强表格信息,提高了表格信息语义表达的准确性;接收到输入语料后,将输入语料与数据检索表格之间的匹配比对切换中输入语料的实体词与表格实体词库间的比对,提供了输入自然语言与多表关联查询的方案,缩短了比对的语句长度,可以实现快速匹配;为保障SQL语句与自然语言准确对应,将输入语料、句法分析结果、目标表与实体词间交互特征输入至查询语言转换模型进行SQL语句的构建,在查询语言转换模型的编码层中引入了目标表与实体词间交互特征、输入自然语言的句法信息。基于匹配得到的目标表作为输入,可以显著缩小特征网络,降低了编码层的复杂度,可以适配复杂表格多字段多值的场景;将字段值与用户问题的交互特征作为输入特征进行语句的分析组装,可以保证输入预料中只提及字段值时语料内容与表格字段的准确对应;提取输入语料的句法分析结果进行SQL语句的组装,可以保障语句组装中SQL语句与自然语言的准确对应。因此,本装置可以适应多样化用户问题,实现SQL语句与自然语言的准确对应,同时特征网络小,编码复杂度低,降低了实现难度,提升了计算效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (20)
1.一种基于表格数据检索的智能会话方法,其特征在于,包括以下步骤:
接收输入语料,调用语法纠错方法,获得纠错后的输入语料;
基于所述纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于所述纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于所述输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果;
基于实体抽取结果,查找表格实体词库,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息;
基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;
基于所述SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为所述输入语料的答复。
2.根据权利要求1所述的方法,其特征在于,所述基于编码后的特征,调用查询语言转换模型,生成SQL语句,包括:
获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成所述SQL语句。
3.根据权利要求1所述的方法,其特征在于,所述接收输入语料,调用语法纠错方法,获得纠错后的输入语料,包括:
针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;
针对所述分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;
针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;
针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
4.根据权利要求1所述的方法,其特征在于,所述基于所述纠错后的输入语料,调用意图分类方法,包括:
针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;
若属于所述预设检索意图,则根据所述输入语料进行实体词提取;
若不属于所述预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
5.根据权利要求1所述的方法,其特征在于,所述根据所述输入语料进行实体词提取,包括:
提取所述输入语料中的实体词,作为潜在实体词;
对所述输入语料进行分词和词性提取,作为语言分词;
将所述潜在实体词和所述语言分词,作为所述实体词。
6.根据权利要求5所述的方法,其特征在于,所述提取所述输入语料中的实体词,作为潜在实体词,包括:
对所述输入语料进行表示归一化处理,得到归一化语句;
根据正则表达式对所述归一化语句进行时间和数值提取,调用预训练的NER模型对所述归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为所述潜在实体词。
7.根据权利要求5所述的方法,其特征在于,所述表格实体召回和目标表格召回方法,包括:
根据所述实体词,匹配表格实体映射表,获得表格实体的召回结果;
基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
8.根据权利要求1所述的方法,其特征在于,所述语言转换模型包括:
模型主体采用ERINE预训练模型框架;
编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;
推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
9.根据权利要求8所述的方法,其特征在于,所述语言转换模型的训练方法包括:
将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
10.根据权利要求7所述的方法,其特征在于,在查找表格实体词库之前,还包括:
确定数据检索表格;
提取所述数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;
从所述数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至所述映射关系表中;
调用fasttext词向量模型对所述字段值进行向量化处理;
将所述映射关系表作为所述表格实体词库。
11.一种基于表格数据检索的智能会话服务器,其特征在于,包括:
预处理模块,用于接收输入语料,调用语法纠错方法,获得纠错后的输入语料;
分析模块,用于基于所述纠错后的输入语料,查询预设高频问题SQL库,若命中则返回查得SQL结果,若未命中则基于所述纠错后的输入语料,调用意图分类方法,若未命中则返回无法回答的状态,若命中检索意图,则基于所述输入语料,调用实体抽取和句法分析方法,获得实体抽取和句法分析结果;
筛选模块,用于基于实体抽取结果,查找表格实体词表,获得表格实体的查询结果,并基于表格实体查询结果,调用表格召回方法,获得目标表格,并筛选对应的表格实体词信息;
生成模块,用于基于输入语料的实体抽取和句法分析结果,和表格实体词信息,进行特征拼接和特征编码,基于编码后的特征,调用查询语言转换模型,生成SQL语句;
反馈模块,用于基于所述SQL语句,提交数据库执行引擎,获得执行结果后,通过接口返回,作为所述输入语料的答复。
12.根据权利要求11所述的服务器,其特征在于,所述生成模块进一步用于获得查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑的分类预测结果,并结合预设SQL语法规范和表格间的关联关系,生成所述SQL语句。
13.根据权利要求11所述的服务器,其特征在于,所述预处理模块用于:
针对输入语料进行分词,结合窗口平移方法,获得有上下文特征的分词组合;
针对所述分词组合,采用预训练的语言统计学模型进行评分,将分值中离均差最大的位点,作为潜在错误位点;
针对潜在错误位点对应的字符,采用预设同音字和形近字、和预设常见混淆词典获得候选字符集;
针对候选字符替换错误位点字符的语句,再次评分,获得最优结果,作为纠错后结果。
14.根据权利要求11所述的服务器,其特征在于,所述分析模块用于:
针对输入语料,采用预训练的文本分类模型预测是否属于预设检索意图;
若属于所述预设检索意图,则根据所述输入语料进行实体词提取;
若不属于所述预设检索意图,则进行非检索意图提示,并执行表格数据检索服务无法应答的操作。
15.根据权利要求11所述的服务器,其特征在于,所述分析模块进一步用于:
提取所述输入语料中的实体词,作为潜在实体词;
对所述输入语料进行分词和词性提取,作为语言分词;
将所述潜在实体词和所述语言分词,作为所述实体词。
16.根据权利要求15所述的服务器,其特征在于,所述分析模块进一步用于:
对所述输入语料进行表示归一化处理,得到归一化语句;
根据正则表达式对所述归一化语句进行时间和数值提取,调用预训练的NER模型对所述归一化语句进行通用名称提取,将提取得到的实体词与对应的实体词类型作为所述潜在实体词。
17.根据权利要求15所述的服务器,其特征在于,所述表格实体召回和目标表格召回方法,包括:
根据所述实体词,匹配表格实体映射表,获得表格实体的召回结果;
基于表格实体的召回结果,查询表格关系图数据,结合路径搜索算法,获得最短路径的查询结果。
18.根据权利要求11所述的服务器,其特征在于,所述语言转换模型包括:
模型主体采用ERINE预训练模型框架;
编码层,采用输入语料的字符特征,表格列名的字符特征,语料实体和表格实体的配对特征,句法分析特征,分别进行编码化后的结果作为输入;
推理层,将查询的目标列,查询目标列的聚合操作方法,过滤条件目标列,过滤条件目标列对应的比较逻辑和比较值,过滤条件间的逻辑,作为预测目标。
19.根据权利要求18所述的服务器,其特征在于,所述语言转换模型的训练方法包括:
将推理层的任务预测结果和实际结果的差异作为损失值,最小损失值总和作为迭代目标,进行联合训练。
20.根据权利要求11所述的服务器,其特征在于,还包括:
构建模块,用于在查找表格实体词库之前,确定数据检索表格;提取所述数据检索表格中枚举字段,并提取字段信息,建立包含字段值、字段名和表名的映射关系表;从所述数据检索表格中提取包含枚举和数值型字段的字段名和表名实体词记录,并添加至所述映射关系表中;调用fasttext词向量模型对所述字段值进行向量化处理;将所述映射关系表作为所述表格实体词库。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130339.4A CN115495563A (zh) | 2022-09-16 | 2022-09-16 | 基于表格数据检索的智能会话方法及服务器 |
EP23158760.1A EP4339799A1 (en) | 2022-09-16 | 2023-02-27 | Intelligent session method and server based on table data retrieval |
MX2023003764A MX2023003764A (es) | 2022-09-16 | 2023-03-30 | Método y servidor para sesión inteligente basados en recuperación de datos de tablas. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130339.4A CN115495563A (zh) | 2022-09-16 | 2022-09-16 | 基于表格数据检索的智能会话方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495563A true CN115495563A (zh) | 2022-12-20 |
Family
ID=84468824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211130339.4A Pending CN115495563A (zh) | 2022-09-16 | 2022-09-16 | 基于表格数据检索的智能会话方法及服务器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4339799A1 (zh) |
CN (1) | CN115495563A (zh) |
MX (1) | MX2023003764A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049354A (zh) * | 2023-01-28 | 2023-05-02 | 北京原子回声智能科技有限公司 | 基于自然语言的多表格检索方法及装置 |
CN116049294A (zh) * | 2023-03-27 | 2023-05-02 | 北京大学深圳研究生院 | 一种Excel的操作方法、装置、设备及存储介质 |
CN116737909A (zh) * | 2023-07-28 | 2023-09-12 | 无锡容智技术有限公司 | 基于自然语言对话的表数据处理方法 |
Families Citing this family (5)
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组合的智能数据库语法解析方法 |
CN118069689B (zh) * | 2024-04-22 | 2024-07-12 | 广东电网有限责任公司佛山供电局 | 一种将自然语言转化为结构化查询语言的方法 |
CN118093795B (zh) * | 2024-04-28 | 2024-07-05 | 浪潮通用软件有限公司 | 一种面向aigc交互分析的数据准备方法、系统、设备及介质 |
CN118379992B (zh) * | 2024-06-21 | 2024-08-27 | 广州思正电子股份有限公司 | 一种基于人工智能的语音识别管理系统 |
-
2022
- 2022-09-16 CN CN202211130339.4A patent/CN115495563A/zh active Pending
-
2023
- 2023-02-27 EP EP23158760.1A patent/EP4339799A1/en active Pending
- 2023-03-30 MX MX2023003764A patent/MX2023003764A/es unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049354A (zh) * | 2023-01-28 | 2023-05-02 | 北京原子回声智能科技有限公司 | 基于自然语言的多表格检索方法及装置 |
CN116049294A (zh) * | 2023-03-27 | 2023-05-02 | 北京大学深圳研究生院 | 一种Excel的操作方法、装置、设备及存储介质 |
CN116049294B (zh) * | 2023-03-27 | 2023-06-27 | 北京大学深圳研究生院 | 一种Excel的操作方法、装置、设备及存储介质 |
CN116737909A (zh) * | 2023-07-28 | 2023-09-12 | 无锡容智技术有限公司 | 基于自然语言对话的表数据处理方法 |
CN116737909B (zh) * | 2023-07-28 | 2024-04-23 | 无锡容智技术有限公司 | 基于自然语言对话的表数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4339799A1 (en) | 2024-03-20 |
MX2023003764A (es) | 2024-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115495563A (zh) | 基于表格数据检索的智能会话方法及服务器 | |
CN112069298B (zh) | 基于语义网和意图识别的人机交互方法、设备及介质 | |
CN110704641B (zh) | 一种万级意图分类方法、装置、存储介质及电子设备 | |
CN114547329A (zh) | 建立预训练语言模型的方法、语义解析方法和装置 | |
CN114580382A (zh) | 文本纠错方法以及装置 | |
CN113704444B (zh) | 基于自然语言处理的问答方法、系统、设备及存储介质 | |
CN112100354A (zh) | 人机对话方法、装置、设备及存储介质 | |
CN117520523B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116628173B (zh) | 一种基于关键字提取的智能客服信息生成系统及生成方法 | |
CN117370378A (zh) | 自然语言转化为数据库语句的方法、装置、设备及介质 | |
CN113919366A (zh) | 一种面向电力变压器知识问答的语义匹配方法和装置 | |
CN115827819A (zh) | 一种智能问答处理方法、装置、电子设备及存储介质 | |
CN113779062A (zh) | Sql语句生成方法、装置、存储介质及电子设备 | |
CN114817465A (zh) | 一种用于多语言语义理解的实体纠错方法及智能设备 | |
CN115292461A (zh) | 基于语音识别的人机交互学习方法及系统 | |
CN115374258A (zh) | 语义理解和问句模板相结合的知识库查询方法与系统 | |
CN116432653A (zh) | 一种多语种数据库的构建方法、装置、存储介质及设备 | |
Potter | A survey of knowledge acquisition from natural language | |
CN115238705A (zh) | 语义解析结果重排序方法及系统 | |
CN114756655A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN114625759A (zh) | 模型训练方法、智能问答方法、设备、介质及程序产品 | |
CN114444609A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114153946A (zh) | 一种智能检索方法、装置、设备及存储介质 | |
CN114117069A (zh) | 一种用于知识图谱智能问答的语义理解方法及系统 | |
CN113744737B (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 |