CN113553414B - 智能对话方法、装置、电子设备和存储介质 - Google Patents
智能对话方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113553414B CN113553414B CN202110738818.3A CN202110738818A CN113553414B CN 113553414 B CN113553414 B CN 113553414B CN 202110738818 A CN202110738818 A CN 202110738818A CN 113553414 B CN113553414 B CN 113553414B
- Authority
- CN
- China
- Prior art keywords
- column
- attribute
- feature vector
- matching
- prediction result
- 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
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/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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive 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/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
Abstract
本公开提供了一种智能对话方法以及装置,涉及人工智能领域,尤其涉及自然语言处理及深度学习等领域,具体实现方案为:将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;目标表格包括多个列属性和每个列属性的属性值,预匹配结果包括每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值;从问题信息中抽取出与属性值匹配度最高的词片段;从每个列属性的属性值中确定出与词片段语义关联的目标属性值,根据问题信息、每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值,生成与问题信息对应的SQL查询语句;根据SQL查询语句进行查库以生成对应的回复话术。
Description
技术领域
本公开涉及人工智能领域,尤其涉及自然语言处理及深度学习等领域,特别的涉及一种智能对话方法、装置、电子设备及存储介质,具体可应用于智能对话场景。
背景技术
表格问答是一种基于表格内容进行提问,得到问题答案的技术。其中,该技术可包含4个步骤:将表格数据导入数据库、将自然语言解析成SQL语句(该过程可称为NL2SQL)、使用SQL语句进行查库、根据查库结果生成回复话术。其中,最核心的步骤是NL2SQL。
NL2SQL面临的最大挑战之一是对列名和属性值的泛化。在实际业务场景中,由于许多用户对表格的信息不了解,使得用户提出的问题信息很难和表格中的列名或属性值完全匹配,导致SQL解析失败,从而导致查库结果不理想,导致智能对话效果变差。
发明内容
本公开提供了一种可用于智能对话场景的智能对话方法、装置、电子设备以及存储介质。
根据本公开的第一方面,提供了一种智能对话方法,包括:
将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;其中,所述目标表格包括多个列属性和每个列属性的属性值;所述预匹配结果包括所述每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与所述问题信息匹配度最高的属性值;
根据与所述问题信息匹配度最高的属性值,从所述问题信息中抽取出与所述属性值匹配度最高的词片段;
从所述每个列属性的属性值中,确定出与所述词片段语义关联的目标属性值;
根据所述问题信息、所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成与所述问题信息对应的SQL查询语句;
根据所述SQL查询语句进行查库,并根据查库结果生成回复话术。
根据本公开的第二方面,提供了一种智能对话装置,包括:
预匹配模块,用于将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;其中,所述目标表格包括多个列属性和每个列属性的属性值;所述预匹配结果包括所述每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与所述问题信息匹配度最高的属性值;
提取模块,用于根据与所述问题信息匹配度最高的属性值,从所述问题信息中抽取出与所述属性值匹配度最高的词片段;
确定模块,用于从所述每个列属性的属性值中,确定出与所述词片段语义关联的目标属性值;
第一生成模块,用于根据所述问题信息、所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成与所述问题信息对应的SQL查询语句;
第二生成模块,用于根据所述SQL查询语句进行查库,并根据查库结果生成回复话术。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据前述第一方面所述的方法。
根据本公开的技术方案,可以使得NL2SQL技术具有列名和属性值名的泛化能力,从而可以使得用户的问题信息与表格中的列名或属性值名完全匹配,提高了SQL解析的成功率,从而可以提高查库结果的准确率,提升智能对话效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的一种智能对话方法的流程图;
图2是本公开实施例的语义匹配模型的结构示意图;
图3是本公开实施例提供的预匹配处理的流程图;
图4是本公开实施例的字典树的结构示例图;
图5是本公开实施例提供的预匹配结果的示例图;
图6是本公开实施例提供的一种SQL查询语句生成方式的流程图;
图7是本公开实施例提供的另一种SQL查询语句生成方式的流程图;
图8是根据本公开实施例的生成SQL查询语句的示意图;
图9是本公开实施例提供的一种智能对话装置的结构框图;
图10是本公开实施例提供的另一种智能对话装置的结构框图;
图11是本公开实施例提供的另一种智能对话装置的结构框图;
图12是本公开实施例提供的一种用于实现智能对话的方法的电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,NL2SQL面临的最大挑战之一是对column(列名)和value(属性值)的泛化。在实际业务场景中,由于许多用户对表格的信息不了解,他们提出的问题信息(query)很难和表格中的column或value完全匹配,导致SQL解析失败。例如,用户的问题信息(query)为“体检结果为合格的候选人有哪些”,而表格中“体检结果”这个column的value是“达标”或“不达标”。在语义上,“合格”和“达标”意义是相同的,但是字面上完全不匹配,所以无法根据字面进行解析。这是因为现有技术中的SQL语句生成模型的效果非常依赖column命名的好坏,当column名称不能充分体现该列的意思时,模型将无法做出正确预测,导致SQL解析失败,从而导致查库结果不理想,导致智能对话效果变差。
基于以上问题,本公开提出了一种智能对话方法、装置、电子设备和存储介质。本公开可以使得NL2SQL技术具有column和value的泛化能力,从而可以使得用户的问题信息与表格中的column或value完全匹配,提高了SQL解析的成功率,从而可以提高查库结果的准确率,提升智能对话效果。具体地,下面参考附图描述本公开实施例的智能对话方法、装置、电子设备和存储介质。
图1为本公开实施例提供的一种智能对话方法的流程图。如图1所示,该智能对话方法包括以下步骤:
步骤101,将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果。
举例而言,假设本公开实施例智能对话方法可为用户提供问题输入接口,可通过该接口获得用户输入的问题信息,并将该用户输入的问题信息作为该待处理的问题信息。需要说明的是,用户输入的问题信息的形式可以是语音形式或者是文本形式。当用户输入的问题信息是语音形式时,可先将该用户输入的语音进行语音识别,转化成对应的文本信息。
其中,在本实施例中,目标表格包括多个列属性和每个列属性的属性值。需要说明的是,该目标表格与该问题信息对应;该目标表格可以是位于后续查库时所用到的数据库中的表格。也就是说,该问题信息所对应的答案信息可以是基于该目标表格中的表格内容获得的。
在本步骤中,可将待处理的问题信息与目标表格对应的字典树进行预匹配,获得预匹配结果。其中,预匹配结果可包括每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值。
也就是说,利用目标表格对应的字典树与该问题信息进行匹配,从该目标表格中的列属性名称和属性值中,匹配出与列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值。
需要说明的是,该字典树可以是基于目标表格的表格内容进行建立的。字典树的特点是检索长度为m的字符串的时间复杂度为O(m),其查询性能与集合中的字符串数量无关,可以在表格内容较多的时候做到高效的检索匹配。
步骤102,根据与问题信息匹配度最高的属性值,从问题信息中抽取出与属性值匹配度最高的词片段。
例如,假设问题信息为“品牌名称为AAAA的车型有哪些”,目标表格中列名为“品牌名称”的属性值分别有“AAAAA”、“AABBCC”等,根据问题信息与目标表格的字典树进行预匹配,得到与问题信息匹配度最高的属性值“AAAAA”,根据该与问题信息匹配度最高的属性值“AAAAA”,可从该问题信息中抽取出与该属性值匹配度最高的词片段为“AAAA”。
步骤103,从每个列属性的属性值中,确定出与词片段语义关联的目标属性值。
可选地,在解析表格信息时,提前将表格中所有的属性值value都通过语义匹配模型计算出向量表示,存在向量库中。在从问题信息抽取出该词片段时,可通过该语义匹配模型计算出该词片段的向量表示,并利用该词片段的向量表示在向量库中索引出最相似的向量及其对应的属性值value,将检索到的属性值作为与词片段语义关联的目标属性值。由此,根据语义信息将问题信息中的片段映射到实际的value上,可以解决字面匹配不够准确的问题。
需要说明的是,在本公开实施例中,该语义匹配模型可以是预先训练的。为了将抽取出的词片段根据语义映射到目标表格中实际的属性值value,本公开基于Sentence-BERT(一种能快速计算句子相似度的孪生网络)结构构建该语义匹配模型。例如,如图2所示,为该语义匹配模型的结构示意图。其中,该语义匹配模型的输入是两个序列,每个序列的表示都为“[CLS]value[SEP]”。两个序列分别输入两个权重共享的Ernie模型中,得到value表示。将两个序列的value token做平均池(average pooling)处理后,得到两个维度相同的向量u、v,计算出向量u、v的余弦距离即为两个value的语义相似度。
还需要说明的是,用于训练该语义匹配模型的训练样本可包含正样本和负样本。其中,正样本为语义相同但字面有偏差的两个词语,负样本为语义不同的两个词语。正样本可以通过同义词典或词语改写进行构造。负样本的构造分为两个阶段。第一阶段中,负样本通过随机选取进行构造。本公开使用正样本和第一阶段构造的负样本可以训练出初版语义匹配模型。第二阶段中,本公开使用初版语义匹配模型筛选出相似度高的负样本,即困难负样本。本公开使用正样本和困难负样本可以训练出最终的语义匹配模型。
步骤104,根据问题信息、每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值,生成与问题信息对应的SQL查询语句。
在本公开实施例中,可利用经过训练的SQL语句生成模型来生成与问题信息对应的SQL查询语句。例如,可将根据问题信息、每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值进行拼接以作为输入,并将该输入序列进行对应的向量表达,将该输入序列对应的向量表达输入到该经过训练的SQL语句生成模型,以得到生成与问题信息对应的SQL查询语句。
步骤105,根据SQL查询语句进行查库,并根据查库结果生成回复话术。
可选地,在得到与问题信息对应的SQL查询语句时,可根据该SQL查询语句查找数据库,获得查库结果,并利用该查库结果和对应的回复话术模板生成对应的回复话术。可选地,将该回复话术通过语音播报、文本显示等至少一种展现形式提供给用户。
本公开实施例的智能对话方法,通过将问题信息与目标表格的表格内容进行预匹配,利用预匹配结果中的与问题信息匹配度最高的属性值从该问题信息中抽取出词片段,利用该词片段确定出与该词片段语义关联的真实属性值名称,并利用预匹配结果中每个列属性的列属性名称最高匹配等级、属性值最高匹配等级、问题信息和真实属性值名称,来生成与该问题信息对应的SQL查询语句,可以大大提高SQL解析的成功率,从而可以提高查库结果的准确率,提升智能对话效果。
需要说明的是,为了提高检索匹配效率,提高表格中列属性的命中率,进一步提高SQL解析的成功率,可利用目标表格对应的字典树与问题信息进行预匹配。可选地,如图3所示,所述将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果的实现方式可包括以下步骤:
步骤301,根据目标表格之中的多个列属性和每个列属性的属性值,建立与目标表格对应的字典树。
其中,在本公开实施例中,该字典树中每个节点可包括匹配类型、匹配等级和每个节点所对应的完整字符串。作为一种示例,在预处理阶段可使用目标表格的全部列属性和每个列属性的属性值建立字典树,其中每一个列属性和列属性的属性值均为独立的字典树,对于目标表格的全部列属性和每个列属性的属性值每一个字符串,将从不同起始位置到末尾的子字符串提取出来,将这些子字符串均插入到对应字典树当中,并求出字典树每一个节点的匹配等级和配合类型。
例如,如图4所示,以列属性“品牌名称”的子字符串包括“品牌名称”、“牌名称”、“名称”、“称”,不同子字符串与原字符串的匹配程度不一样(如“品牌名称”与原字符串完全匹配,而“称”仅有一个字符匹配)。将这些子字符串都插入到“品牌名称”对应的字典树当中,并求出字典树每一个节点的匹配等级和匹配类型(列属性名称或属性值)。其中,根据不同的字符串与原字符串的匹配程度可将匹配等级分成6挡,0表示不匹配,5表示完全匹配,从1到4匹配程度依次递增。其中,如图4所示,该字典树中每个节点可包括匹配类型、匹配等级和每个节点所对应的完整字符串。
步骤302,根据字典树对问题信息进行预匹配,获得预匹配结果。
在一种实现方式中,以问题信息中的一个字符作为起点,按照字典树向后进行匹配操作,直至无法继续匹配为止,得到以字符为起点的最大匹配字符串区间和对应的匹配等级;在对问题信息中的每一个字符完成匹配操作后,得到有重叠的字符串区间列表和对应的匹配等级列表;按照由高到低的顺序,对每一个匹配等级的字符串区间进行去重叠,得到每一个匹配等级的无重叠最大覆盖区间列表;根据每一个匹配等级的无重叠最大覆盖区间列表,获得预匹配结果。
举例而言,使用字典树对问题信息query进行最大匹配。以query中的一个字符作为起点,依照字典树向后进行匹配,直到无法继续匹配为止,可以得到以该字符为起点的最大匹配字符串区间和对应的匹配等级。当对query中的每一个字符都完成了如上匹配操作后,可以得到有重叠的字符串区间列表和对应的匹配等级列表。由高到低,对每一个匹配等级的字符串区间进行去重叠,可以得到该匹配等级的无重叠最大覆盖区间列表。对于高匹配等级已占用的区间,低匹配等级将无法占用。最后,可以得到一个无重叠的字符串区间列表和对应的匹配等级列表。例如,如图5所示,以问题信息为“AAA的价钱和品牌名”为例,将该问题信息与对应的目标表格的字典树进行预匹配后,得到的预匹配结果,其中,该预匹配结果可包括每一列的最高column匹配等级、最高value匹配等级、与query匹配度最高的value。
由此可见,利用目标表格的表格内容建立对应的字典树,字典树的特点是检索长度为m的字符串的时间复杂度为O(m),其查询性能与集合中的字符串数量无关,可以在表格内容较多的时候做到高效的检索匹配。利用该字典树与问题先进性进行预匹配,可以提高检索匹配效率,提高表格中列属性的命中率,进一步提高SQL解析的成功率。
需要说明的是,可利用经过训练的SQL语句生成模型来生成与问题信息对应的SQL查询语句。例如,可将问题信息和表格信息的匹配特征融入进了模型当中,以增强模型的表达能力;又如,将每列匹配度最高的value加入到模型中,使得模型不再只能依赖于column的命名来预测每列的SQL操作,也能参考value中的信息,甚至在column名称缺失的情况下也能保证一定的准确率。可选地,如图6所示,所述根据问题信息、每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值,生成与问题信息对应的SQL查询语句的实现方式可包括如下:
步骤601,根据每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值,生成每个列属性的特征向量。
可选地,针对每个列属性,将该列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值进行拼接,并利用Ernie模型将拼接后得到的序列进行向量表示的转化,即将拼接后得到的每个列属性序列输入到该Ernie模型,得到该拼接后得到的每个列属性序列对应的特征向量表示,该特征向量表示即为每个列属性的特征向量。
步骤602,根据问题信息生成问题信息的特征向量和问题信息之中每个字的特征向量。
可选地,将问题信息输入至Ernie模型,以得到问题信息的特征向量和问题信息之中每个字的特征向量。
步骤603,基于注意力机制,根据问题信息的特征向量和每个字的特征向量,生成问题信息的全局特征向量。
可选地,基于注意力机制,根据问题信息的特征向量和每个字的特征向量,生成对应的注意力特征向量,并根据问题信息的特征向量和注意力特征向量,生成问题信息的全局特征向量。
步骤604,将每个字的特征向量分别与每个列属性的特征向量进行拼接,获得对应的拼接特征向量。
步骤605,将每个列属性的特征向量、全局特征向量和拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与问题信息对应的SQL查询语句。
在本公开一些实施例中,SQL语句生成模型可包括查询字段子任务、查询字段判断条件子任务、查询字段判断条件符子任务、查询字段判断条件数量子任务、查询字段聚合函数子任务、查询数量子任务、问题判断条件数量子任务、序列标注子任务和判断条件间逻辑连接符子任务。作为一种示例,该查询字段子任务可为S-COL子任务,该S-COL子任务的作用是:该column是否为select column。
该查询字段判断条件子任务可为W-COL子任务,该W-COL子任务的作用是:该column是否为where column。
该查询字段判断条件符子任务可为W-OP子任务,该W-OP子任务的作用是:wherecolumn的条件符。
该查询字段判断条件数量子任务可为W-NUM-col子任务,该W-NUM-col子任务的作用是:where column对应的where条件数量。
该查询字段聚合函数子任务可为W-AGG子任务,该W-AGG子任务的作用是:selectcolumn的聚合函数。
该查询数量子任务可为S-NUM子任务,该S-NUM子任务的作用是:select数量。
该问题判断条件数量子任务可为W-NUM-all子任务,该W-NUM-all子任务的作用是:查询数量子任务where条件数量。
该序列标注子任务可为W-VAL-tag子任务,该W-VAL-tag子任务的作用是:该querytoken是否为where column的value。
该判断条件间逻辑连接符子任务可为CONN子任务,该CONN子任务的作用是:where条件间的逻辑连接符。
在本实施例中,可将每个列属性的特征向量、全局特征向量和拼接特征向量,输入至经过训练的SQL语句生成模型中。SQL语句生成模型中各个子任务利用对应的特征向量进行预测,以得到每个子任务对应的预测结果,基于每个子任务对应的预测结果可生成与问题信息对应的SQL查询语句。
在一种实现方式中,如图7所示,所述将每个列属性的特征向量、全局特征向量和拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与问题信息对应的SQL查询语句的实现方式可包括以下步骤:
步骤701,根据查询字段子任务对每个列属性的特征向量进行预测,获得每个列属性的第一预测结果。
步骤702,根据查询字段判断条件子任务对每个列属性的特征向量进行预测,获得每个列属性的第二预测结果。
步骤703,根据查询字段判断条件符子任务对每个列属性的特征向量进行预测,获得每个列属性的第三预测结果。
步骤704,根据查询字段判断条件数量子任务对每个列属性的特征向量进行预测,获得每个列属性的第四预测结果。
步骤705,根据查询字段聚合函数子任务对每个列属性的特征向量进行预测,获得每个列属性的第五预测结果。
步骤706,根据查询数量子任务对全局特征向量进行预测,获得第六预测结果。
步骤707,根据问题判断条件数量子任务对全局特征向量进行预测,获得第七预测结果。
步骤708,根据判断条件间逻辑连接符子任务对全局特征向量进行预测,获得第八预测结果。
其中,从第八预测结果中,可以得到query token相对于每一列的标注概率,可将标注概率大于0.5的连续字符串抽取出来作为该列的候选属性值,并用平均概率作为属性值的得分。
需要说明的是,在本公开实施例中,可从第三预测结果中可以得到每一列不同value个数对应的概率。可根据如下公式来确定每一列的value个数:
其中,n代表该列的列属性个数,为第i大的列属性得分,为该列列属性个数为n的概率,为保证公式合法的很小的正数,公式实际上是选取判断条件间逻辑连接符子任务与查询字段判断条件符子任务两个子任务联合概率最大的列属性个数。得到每列列属性个数n后,从每列的候选列属性列表中取出得分最大的n个列属性即为该列的列属性。
步骤709,根据序列标注子任务对拼接特征向量进行预测,获得第九预测结果。
步骤710,根据第一预测结果、第二预测结果、第三预测结果、第四预测结果、第五预测结果、第六预测结果、第七预测结果、第八预测结果和第九预测结果,生成与问题信息对应的SQL查询语句。
可选地,根据第九预测结果,确定每列属性的候选查询属性值,并根据第四预测结果和第九预测结果,确定每列属性的属性值个数;根据属性值个数和每列属性的候选查询属性值,确定每列属性的目标查询属性值;根据第一预测结果和第六预测结果,确定select数量和对应的select column列表;根据第二预测结果和第七预测结果,确定where数量和对应的where column列表;根据第三预测结果,确定where column条件符;根据第五预测结果确定select column聚合函数;根据第八预测结果确定where column之间的逻辑连接符;根据每列属性的目标查询属性值、select数量及对应的select column列表、where数量及对应的where column列表、where column条件符、select column聚合函数和where column之间的逻辑连接符,生成与问题信息对应的SQL查询语句。
举例而言,如图8所示,本公开基于Ernie建模,将query(即上述的问题信息)和每一列的column(即上述的列属性名称)、最高column匹配等级(即上述的列属性名称最高匹配等级)、最高value匹配等级(即上述的属性值最高匹配等级)、匹配度最高的value(即上述的目标属性值)进行拼接作为输入。具体的输入序列如下:
[CLS]query[SEP][C],,...[V],,...[CM][VM][SEP][C],,...[V],,...[CM][VM][SEP]...[SEP]。
其中,[C]为第i列column特殊符号,...为第i列的column token,[V]为第i列value特殊符号,...为第i列与query匹配度最高的value token,[CM]为第i列最高column匹配等级转化成的特殊符号,[VM]为第i列最高value匹配等级转化成的特殊符号。Query与column之间、column与column之间都使用特殊符号[SEP]进行分隔。
输入序列中的不同部分使用不同的类型嵌入(type embedding)做区分,其中query为类别0,字符串型column为类别1,数字型column为类别2,value为类别3,特殊符号[CM]、[VM]为类别4,特殊符号[SEP]、[PAD]为类别5。不同的type embedding可以帮助模型区分输入序列中的不同成分。
将query token(即上述的问题信息之中每个字)对[CLS](即上述的全局特征向量)的资源集中拼接(attentive pooling)与[CLS]拼接作为query表示。将每一列的列属性名称([C])、目标属性值([V])、列属性名称最高匹配等级([CM])、属性值最高匹配等级([VM])进行拼接作为该列的表示。将query token和每一列的[C]、[V]、[CM]、[VM]进行拼接作为token对于该列的value表示。
需要说明的是,在本公开实施例中,Query表示用于预测W-NUM-all、S_NUM、CONN三个子任务,这三个子任务都是多分类任务,使用交叉熵损失进行训练。每列的表示预测S-COL、W-COL、W-OP、W-AGG、W-NUM-col五个子任务,其中W-OP、W-AGG、W-NUM-col是多分类任务,使用交叉熵损失,S-COL、W-COL定义为排序任务,使用KL散度(相对熵)作为损失,这样可以同时优化所有列。每列的value表示预测W-VAL-tag子任务,其中,可将这个子任务定义为0/1二分类序列标注任务,使用交叉熵损失。
由此可见,本公开可以充分地将query和表格信息的匹配特征融入进了模型当中,增强了模型的表达能力;将每列匹配度最高的value加入到模型中,使得模型不再只能依赖于column的命名来预测每列的SQL操作,也能参考value中的信息,甚至在column名称缺失的情况下也能保证一定的准确率。另外,本公开改进了value的抽取方式,可以对单个column的多个value进行同时抽取。此外,本公开具有语义检索能力,可以根据语义信息将query片段映射到实际的value上,解决了字面匹配不够准确的问题。
为了实现上述实施例,本公开还提出了一种智能对话装置。
图9为本公开实施例提供的一种智能对话装置的结构框图。如图9所示,该智能对话装置可以包括:预匹配模块910、提取模块920、确定模块930、第一生成模块940和第二生成模块950。
其中,预匹配模块910将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;其中,目标表格包括多个列属性和每个列属性的属性值;预匹配结果包括每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值。
提取模块920根据与问题信息匹配度最高的属性值,从问题信息中抽取出与属性值匹配度最高的词片段。
确定模块930用于从每个列属性的属性值中,确定出与词片段语义关联的目标属性值。
第一生成模块940用于根据问题信息、每个列属性的列属性名称、列属性名称最高匹配等级、属性值最高匹配等级和目标属性值,生成与问题信息对应的SQL查询语句。
第二生成模块950用于根据SQL查询语句进行查库,并根据查库结果生成回复话术。
在本申请一些实施例中,如图10所示,图10是根据本公开另一个实施例的智能对话装置的结构框图,该智能对话装置中预匹配模块1010包括,建立单元1011、匹配单元1012。
其中,建立单元1011,用于根据所述目标表格之中的所述多个列属性和所述每个列属性的属性值,建立与所述目标表格对应的字典树;其中,所述字典树中每个节点包括匹配类型、匹配等级和所述每个节点所对应的完整字符串。
匹配单元1012,用于根据所述字典树对所述问题信息进行预匹配,获得预匹配结果。在一种实现方式中,匹配单元1012以所述问题信息中的一个字符作为起点,按照所述字典树向后进行匹配操作,直至无法继续匹配为止,得到以所述字符为起点的最大匹配字符串区间和对应的匹配等级;在对所述问题信息中的每一个字符完成所述匹配操作后,得到有重叠的字符串区间列表和对应的匹配等级列表;按照由高到低的顺序,对每一个匹配等级的字符串区间进行去重叠,得到所述每一个匹配等级的无重叠最大覆盖区间列表;根据所述每一个匹配等级的无重叠最大覆盖区间列表,获得所述预匹配结果。
其中,图10中1020-1050和图9中920-950具有相同功能和结构。
在本申请一些实施例中,如图11所示,图11是根据本公开另一个实施例的智能对话装置的结构框图,该智能对话装置中,第一生成模块1140包括:第一生成单元1141、第二生成单元1142、第三生成单元1143、拼接单元1144、第四生成单元1145。
其中,第一生成单元1141,用于根据所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成所述每个列属性的特征向量。
第二生成单元1142,用于根据所述问题信息生成所述问题信息的特征向量和所述问题信息之中每个字的特征向量。
第三生成单元1143,用于基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成所述问题信息的全局特征向量。在一种实现方式中,第三生成单元1143具体用于:基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成对应的注意力特征向量;根据所述问题信息的特征向量和所述注意力特征向量,生成所述问题信息的全局特征向量。
拼接单元1144,用于将所述每个字的特征向量分别与每个列属性的特征向量进行拼接,获得对应的拼接特征向量。
第四生成单元1145,用于将所述每个列属性的特征向量、所述全局特征向量和所述拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与所述问题信息对应的SQL查询语句。其中,SQL语句生成模型包括查询字段子任务、查询字段判断条件子任务、查询字段判断条件符子任务、查询字段判断条件数量子任务、查询字段聚合函数子任务、查询数量子任务、问题判断条件数量子任务、序列标注子任务和判断条件间逻辑连接符子任务。
在一种实现方式中,第四生成单元1145具体用于:根据查询字段子任务对每个列属性的特征向量进行预测,获得每个列属性的第一预测结果;根据查询字段判断条件子任务对每个列属性的特征向量进行预测,获得每个列属性的第二预测结果;根据查询字段判断条件符子任务对每个列属性的特征向量进行预测,获得每个列属性的第三预测结果;根据查询字段判断条件数量子任务对每个列属性的特征向量进行预测,获得每个列属性的第四预测结果;根据查询字段聚合函数子任务对每个列属性的特征向量进行预测,获得每个列属性的第五预测结果;根据查询数量子任务对全局特征向量进行预测,获得第六预测结果;根据问题判断条件数量子任务对全局特征向量进行预测,获得第七预测结果;根据判断条件间逻辑连接符子任务对全局特征向量进行预测,获得第八预测结果;根据序列标注子任务对拼接特征向量进行预测,获得第九预测结果;根据第一预测结果、第二预测结果、第三预测结果、第四预测结果、第五预测结果、第六预测结果、第七预测结果、第八预测结果和第九预测结果,生成与问题信息对应的SQL查询语句。
可选地,在本公开实施例中,第四生成单元1145根据第一预测结果、第二预测结果、第三预测结果、第四预测结果、第五预测结果、第六预测结果、第七预测结果、第八预测结果和第九预测结果,生成与问题信息对应的SQL查询语句的实现方式可如下:根据第九预测结果,确定每列属性的候选查询属性值;根据第四预测结果和第九预测结果,确定每列属性的属性值个数;根据属性值个数和每列属性的候选查询属性值,确定每列属性的目标查询属性值;根据第一预测结果和第六预测结果,确定select数量和对应的select column列表;根据第二预测结果和第七预测结果,确定where数量和对应的where column列表;根据第三预测结果,确定where column条件符;根据第五预测结果确定select column聚合函数;根据第八预测结果确定where column之间的逻辑连接符;根据每列属性的目标查询属性值、select数量及对应的select column列表、where数量及对应的where column列表、where column条件符、select column聚合函数和where column之间的逻辑连接符,生成与问题信息对应的SQL查询语句。
其中,图11中1110-1150和图10中1010-1050具有相同功能和结构。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
如图12所示,是根据本公开实施例的用于实现智能对话的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,该电子设备包括:一个或多个处理器1201、存储器1202,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中以一个处理器1201为例。
存储器1202即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的智能对话的方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的智能对话的方法。
存储器1202作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的智能对话的方法对应的程序指令/模块(例如,附图9所示的预匹配模块901、提取模块902和确定模块903)。处理器1201通过运行存储在存储器1202中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的智能对话的方法。
存储器1202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于实现智能对话方法的电子设备的使用所创建的数据等。此外,存储器1202可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1202可选包括相对于处理器1201远程设置的存储器,这些远程存储器可以通过网络连接至智能对话的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现智能对话的方法的电子设备还可以包括:输入装置1203和输出装置1204。处理器1201、存储器1202、输入装置1203和输出装置1204可以通过总线或者其他方式连接,图12中以通过总线连接为例。
输入装置1203可接收输入的数字或字符信息,以及产生与智能对话的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1204可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例的技术方案,可以使得NL2SQL技术具有列名和属性值名的泛化能力,从而可以使得用户的问题信息与表格中的列名或属性值名完全匹配,提高了SQL解析的成功率,从而可以提高查库结果的准确率,提升智能对话效果。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种智能对话方法,包括:
将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;其中,所述目标表格包括多个列属性和每个列属性的属性值;所述预匹配结果包括所述每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值;
根据与所述问题信息匹配度最高的属性值,从所述问题信息中抽取出与所述属性值匹配度最高的词片段;
从所述每个列属性的属性值中,确定出与所述词片段语义关联的目标属性值;
根据所述问题信息、所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成与所述问题信息对应的SQL查询语句;
根据所述SQL查询语句进行查库,并根据查库结果生成回复话术;
其中,所述将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果,包括:
根据所述目标表格之中的所述多个列属性和所述每个列属性的属性值,建立与所述目标表格对应的字典树;其中,所述字典树中每个节点包括匹配类型、匹配等级和所述每个节点所对应的完整字符串;
根据所述字典树对所述问题信息进行预匹配,获得预匹配结果。
2.根据权利要求1所述的智能对话方法,其中,所述根据所述字典树对所述问题信息进行预匹配,获得预匹配结果,包括:
以所述问题信息中的一个字符作为起点,按照所述字典树向后进行匹配操作,直至无法继续匹配为止,得到以所述字符为起点的最大匹配字符串区间和对应的匹配等级;
在对所述问题信息中的每一个字符完成所述匹配操作后,得到有重叠的字符串区间列表和对应的匹配等级列表;
按照由高到低的顺序,对每一个匹配等级的字符串区间进行去重叠,得到所述每一个匹配等级的无重叠最大覆盖区间列表;
根据所述每一个匹配等级的无重叠最大覆盖区间列表,获得所述预匹配结果。
3.根据权利要求1所述的智能对话方法,其中,所述根据所述问题信息、所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成与所述问题信息对应的SQL查询语句,包括:
根据所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成所述每个列属性的特征向量;
根据所述问题信息生成所述问题信息的特征向量和所述问题信息之中每个字的特征向量;
基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成所述问题信息的全局特征向量;
将所述每个字的特征向量分别与每个列属性的特征向量进行拼接,获得对应的拼接特征向量;
将所述每个列属性的特征向量、所述全局特征向量和所述拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与所述问题信息对应的SQL查询语句。
4.根据权利要求3所述的智能对话方法,其中,所述基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成所述问题信息的全局特征向量,包括:
基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成对应的注意力特征向量;
根据所述问题信息的特征向量和所述注意力特征向量,生成所述问题信息的全局特征向量。
5.根据权利要求3或4所述的智能对话方法,其中,所述SQL语句生成模型包括查询字段子任务、查询字段判断条件子任务、查询字段判断条件符子任务、查询字段判断条件数量子任务、查询字段聚合函数子任务、查询数量子任务、问题判断条件数量子任务、序列标注子任务和判断条件间逻辑连接符子任务。
6.根据权利要求5所述的智能对话方法,其中,所述将所述每个列属性的特征向量、所述全局特征向量和所述拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与所述问题信息对应的SQL查询语句,包括:
根据所述查询字段子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第一预测结果;
根据所述查询字段判断条件子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第二预测结果;
根据所述查询字段判断条件符子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第三预测结果;
根据所述查询字段判断条件数量子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第四预测结果;
根据所述查询字段聚合函数子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第五预测结果;
根据所述查询数量子任务对所述全局特征向量进行预测,获得第六预测结果;
根据所述问题判断条件数量子任务对所述全局特征向量进行预测,获得第七预测结果;
根据所述判断条件间逻辑连接符子任务对所述全局特征向量进行预测,获得第八预测结果;
根据所述序列标注子任务对所述拼接特征向量进行预测,获得第九预测结果;
根据所述第一预测结果、所述第二预测结果、所述第三预测结果、所述第四预测结果、所述第五预测结果、所述第六预测结果、所述第七预测结果、所述第八预测结果和所述第九预测结果,生成与所述问题信息对应的SQL查询语句。
7.根据权利要求6所述的智能对话方法,其中,所述根据所述第一预测结果、所述第二预测结果、所述第三预测结果、所述第四预测结果、所述第五预测结果、所述第六预测结果、所述第七预测结果、所述第八预测结果和所述第九预测结果,生成与所述问题信息对应的SQL查询语句,包括:
根据所述第九预测结果,确定每列属性的候选查询属性值;
根据所述第四预测结果和所述第九预测结果,确定所述每列属性的属性值个数;
根据所述属性值个数和所述每列属性的候选查询属性值,确定所述每列属性的目标查询属性值;
根据所述第一预测结果和所述第六预测结果,确定select数量和对应的selectcolumn列表;
根据所述第二预测结果和所述第七预测结果,确定where数量和对应的where column列表;
根据所述第三预测结果,确定where column条件符;
根据所述第五预测结果确定select column聚合函数;
根据所述第八预测结果确定where column之间的逻辑连接符;
根据所述每列属性的目标查询属性值、所述select数量及对应的select column列表、所述where数量及对应的where column列表、所述where column条件符、所述selectcolumn聚合函数和所述where column之间的逻辑连接符,生成与所述问题信息对应的SQL查询语句。
8.一种智能对话装置,包括:
预匹配模块,用于将待处理的问题信息与目标表格的表格内容进行预匹配,获得预匹配结果;其中,所述目标表格包括多个列属性和每个列属性的属性值;所述预匹配结果包括所述每个列属性的列属性名称最高匹配等级、属性值最高匹配等级和与问题信息匹配度最高的属性值;
提取模块,用于根据与所述问题信息匹配度最高的属性值,从所述问题信息中抽取出与所述属性值匹配度最高的词片段;
确定模块,用于从所述每个列属性的属性值中,确定出与所述词片段语义关联的目标属性值;
第一生成模块,用于根据所述问题信息、所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成与所述问题信息对应的SQL查询语句;
第二生成模块,用于根据所述SQL查询语句进行查库,并根据查库结果生成回复话术;
其中,所述预匹配模块,包括;
建立单元,用于根据所述目标表格之中的所述多个列属性和所述每个列属性的属性值,建立与所述目标表格对应的字典树;其中,所述字典树中每个节点包括匹配类型、匹配等级和所述每个节点所对应的完整字符串;
匹配单元,用于根据所述字典树对所述问题信息进行预匹配,获得预匹配结果。
9.根据权利要求8所述的智能对话装置,其中,所述匹配单元具体用于:
以所述问题信息中的一个字符作为起点,按照所述字典树向后进行匹配操作,直至无法继续匹配为止,得到以所述字符为起点的最大匹配字符串区间和对应的匹配等级;
在对所述问题信息中的每一个字符完成所述匹配操作后,得到有重叠的字符串区间列表和对应的匹配等级列表;
按照由高到低的顺序,对每一个匹配等级的字符串区间进行去重叠,得到所述每一个匹配等级的无重叠最大覆盖区间列表;
根据所述每一个匹配等级的无重叠最大覆盖区间列表,获得所述预匹配结果。
10.根据权利要求8所述的智能对话装置,其中,所述第一生成模块包括:
第一生成单元,用于根据所述每个列属性的列属性名称、所述列属性名称最高匹配等级、所述属性值最高匹配等级和所述目标属性值,生成所述每个列属性的特征向量;
第二生成单元,用于根据所述问题信息生成所述问题信息的特征向量和所述问题信息之中每个字的特征向量;
第三生成单元,用于基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成所述问题信息的全局特征向量;
拼接单元,用于将所述每个字的特征向量分别与每个列属性的特征向量进行拼接,获得对应的拼接特征向量;
第四生成单元,用于将所述每个列属性的特征向量、所述全局特征向量和所述拼接特征向量,输入至经过训练的SQL语句生成模型中,获得与所述问题信息对应的SQL查询语句。
11.根据权利要求10所述的智能对话装置,其中,所述第三生成单元具体用于:
基于注意力机制,根据所述问题信息的特征向量和所述每个字的特征向量,生成对应的注意力特征向量;
根据所述问题信息的特征向量和所述注意力特征向量,生成所述问题信息的全局特征向量。
12.根据权利要求10或11所述的智能对话装置,其中,所述SQL语句生成模型包括查询字段子任务、查询字段判断条件子任务、查询字段判断条件符子任务、查询字段判断条件数量子任务、查询字段聚合函数子任务、查询数量子任务、问题判断条件数量子任务、序列标注子任务和判断条件间逻辑连接符子任务。
13.根据权利要求12所述的智能对话装置,其中,所述第四生成单元具体用于:
根据所述查询字段子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第一预测结果;
根据所述查询字段判断条件子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第二预测结果;
根据所述查询字段判断条件符子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第三预测结果;
根据所述查询字段判断条件数量子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第四预测结果;
根据所述查询字段聚合函数子任务对所述每个列属性的特征向量进行预测,获得所述每个列属性的第五预测结果;
根据所述查询数量子任务对所述全局特征向量进行预测,获得第六预测结果;
根据所述问题判断条件数量子任务对所述全局特征向量进行预测,获得第七预测结果;
根据所述判断条件间逻辑连接符子任务对所述全局特征向量进行预测,获得第八预测结果;
根据所述序列标注子任务对所述拼接特征向量进行预测,获得第九预测结果;
根据所述第一预测结果、所述第二预测结果、所述第三预测结果、所述第四预测结果、所述第五预测结果、所述第六预测结果、所述第七预测结果、所述第八预测结果和所述第九预测结果,生成与所述问题信息对应的SQL查询语句。
14.根据权利要求13所述的智能对话装置,其中,所述第四生成单元具体用于:
根据所述第九预测结果,确定每列属性的候选查询属性值;
根据所述第四预测结果和所述第九预测结果,确定所述每列属性的属性值个数;
根据所述属性值个数和所述每列属性的候选查询属性值,确定所述每列属性的目标查询属性值;
根据所述第一预测结果和所述第六预测结果,确定select数量和对应的selectcolumn列表;
根据所述第二预测结果和所述第七预测结果,确定where数量和对应的where column列表;
根据所述第三预测结果,确定where column条件符;
根据所述第五预测结果确定select column聚合函数;
根据所述第八预测结果确定where column之间的逻辑连接符;
根据所述每列属性的目标查询属性值、所述select数量及对应的select column列表、所述where数量及对应的where column列表、所述where column条件符、所述selectcolumn聚合函数和所述where column之间的逻辑连接符,生成与所述问题信息对应的SQL查询语句。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1至7中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110738818.3A CN113553414B (zh) | 2021-06-30 | 2021-06-30 | 智能对话方法、装置、电子设备和存储介质 |
US17/647,265 US20220129448A1 (en) | 2021-06-30 | 2022-01-06 | Intelligent dialogue method and apparatus, and storage medium |
JP2022064003A JP7397903B2 (ja) | 2021-06-30 | 2022-04-07 | インテリジェント対話方法、装置、電子機器及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110738818.3A CN113553414B (zh) | 2021-06-30 | 2021-06-30 | 智能对话方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553414A CN113553414A (zh) | 2021-10-26 |
CN113553414B true CN113553414B (zh) | 2023-08-25 |
Family
ID=78131157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110738818.3A Active CN113553414B (zh) | 2021-06-30 | 2021-06-30 | 智能对话方法、装置、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220129448A1 (zh) |
JP (1) | JP7397903B2 (zh) |
CN (1) | CN113553414B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490969B (zh) * | 2021-12-29 | 2023-03-07 | 北京百度网讯科技有限公司 | 基于表格的问答方法、装置以及电子设备 |
CN114090721B (zh) * | 2022-01-19 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于自然语言数据进行查询、数据更新的方法及装置 |
CN114579606B (zh) * | 2022-05-05 | 2022-07-29 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN115878659B (zh) * | 2023-02-01 | 2023-06-02 | 云账户技术(天津)有限公司 | 一种生成sql语句的方法、装置、设备及可读存储介质 |
CN117094383B (zh) * | 2023-10-19 | 2024-02-02 | 成都数之联科技股份有限公司 | 一种语言模型的联合训练方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902087A (zh) * | 2019-02-02 | 2019-06-18 | 上海奔影网络科技有限公司 | 用于问答的数据处理方法及装置、服务器 |
CN111177355A (zh) * | 2019-12-30 | 2020-05-19 | 北京百度网讯科技有限公司 | 基于搜索数据的人机对话交互方法、装置和电子设备 |
CN111625635A (zh) * | 2020-05-27 | 2020-09-04 | 北京百度网讯科技有限公司 | 问答处理、语言模型的训练方法、装置、设备及存储介质 |
CN112507098A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 问题处理方法、装置、电子设备、存储介质及程序产品 |
CN113032418A (zh) * | 2021-02-08 | 2021-06-25 | 浙江大学 | 一种基于树状模型的复杂自然语言查询转sql方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725307B2 (en) * | 1999-11-12 | 2010-05-25 | Phoenix Solutions, Inc. | Query engine for processing voice based queries including semantic decoding |
US7392185B2 (en) * | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
JP2002342361A (ja) | 2001-05-15 | 2002-11-29 | Mitsubishi Electric Corp | 情報検索装置 |
US20110106836A1 (en) * | 2009-10-30 | 2011-05-05 | International Business Machines Corporation | Semantic Link Discovery |
US9514124B2 (en) * | 2015-02-05 | 2016-12-06 | International Business Machines Corporation | Extracting and recommending business processes from evidence in natural language systems |
US10747761B2 (en) | 2017-05-18 | 2020-08-18 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
CN112437917B (zh) * | 2018-07-25 | 2022-04-12 | 甲骨文国际公司 | 使用自主代理和词库的数据库的自然语言接口 |
JP7169125B2 (ja) | 2018-08-29 | 2022-11-10 | 株式会社日立製作所 | 質問回答システム、質問回答処理方法、及び質問回答統合システム |
US10866996B2 (en) * | 2019-01-29 | 2020-12-15 | Saleforce.com, inc. | Automated method and system for clustering enriched company seeds into a cluster and selecting best values for each attribute within the cluster to generate a company profile |
US11693855B2 (en) | 2019-12-20 | 2023-07-04 | International Business Machines Corporation | Automatic creation of schema annotation files for converting natural language queries to structured query language |
-
2021
- 2021-06-30 CN CN202110738818.3A patent/CN113553414B/zh active Active
-
2022
- 2022-01-06 US US17/647,265 patent/US20220129448A1/en not_active Abandoned
- 2022-04-07 JP JP2022064003A patent/JP7397903B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902087A (zh) * | 2019-02-02 | 2019-06-18 | 上海奔影网络科技有限公司 | 用于问答的数据处理方法及装置、服务器 |
CN111177355A (zh) * | 2019-12-30 | 2020-05-19 | 北京百度网讯科技有限公司 | 基于搜索数据的人机对话交互方法、装置和电子设备 |
CN111625635A (zh) * | 2020-05-27 | 2020-09-04 | 北京百度网讯科技有限公司 | 问答处理、语言模型的训练方法、装置、设备及存储介质 |
CN112507098A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 问题处理方法、装置、电子设备、存储介质及程序产品 |
CN113032418A (zh) * | 2021-02-08 | 2021-06-25 | 浙江大学 | 一种基于树状模型的复杂自然语言查询转sql方法 |
Non-Patent Citations (1)
Title |
---|
杜媛媛.NL2SQL:"智能对话"数据库初探.《金融电子化》.2020,第2020年卷(第06期),第74-75页. * |
Also Published As
Publication number | Publication date |
---|---|
JP2022091986A (ja) | 2022-06-21 |
US20220129448A1 (en) | 2022-04-28 |
CN113553414A (zh) | 2021-10-26 |
JP7397903B2 (ja) | 2023-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113553414B (zh) | 智能对话方法、装置、电子设备和存储介质 | |
CN111967262B (zh) | 实体标签的确定方法和装置 | |
CN111522994B (zh) | 用于生成信息的方法和装置 | |
KR102532396B1 (ko) | 데이터 세트 처리 방법, 장치, 전자 기기 및 저장 매체 | |
JP2021114291A (ja) | 時系列ナレッジグラフ生成方法、装置、デバイス及び媒体 | |
US11907671B2 (en) | Role labeling method, electronic device and storage medium | |
CN111078865B (zh) | 文本标题生成方法和装置 | |
CN112560479B (zh) | 摘要抽取模型训练方法、摘要抽取方法、装置和电子设备 | |
CN112507715A (zh) | 确定实体之间关联关系的方法、装置、设备和存储介质 | |
KR102431568B1 (ko) | 엔티티 단어 인식 방법 및 장치 | |
CN112528001B (zh) | 一种信息查询方法、装置及电子设备 | |
JP7234483B2 (ja) | エンティティリンキング方法、装置、電子デバイス、記憶媒体及びプログラム | |
KR102475235B1 (ko) | 리소스 정렬 방법, 정렬 모델을 트레이닝하는 방법 및 대응하는 장치 | |
JP2021111334A (ja) | 検索データに基づくヒューマンコンピュータ対話型インタラクションの方法、装置及び電子機器 | |
US11704326B2 (en) | Generalization processing method, apparatus, device and computer storage medium | |
CN112507702B (zh) | 文本信息的抽取方法、装置、电子设备及存储介质 | |
CN112507091A (zh) | 检索信息的方法、装置、设备以及存储介质 | |
CN111274407A (zh) | 知识图谱中三元组置信度计算方法和装置 | |
CN111797216B (zh) | 检索项改写方法、装置、设备以及存储介质 | |
CN111984774B (zh) | 搜索方法、装置、设备以及存储介质 | |
CN112163405A (zh) | 问题的生成方法和装置 | |
CN111966781B (zh) | 数据查询的交互方法及装置、电子设备和存储介质 | |
US20230094730A1 (en) | Model training method and method for human-machine interaction | |
KR20210088463A (ko) | 다중 라운드 대화 검색 방법, 장치, 저장매체 및 전자기기 | |
CN112948573B (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 |