基于查询的表格可视化的制作方法

文档序号:31994187发布日期:2022-11-02 00:59阅读:52来源:国知局
基于查询的表格可视化
背景技术
::1.随着计算机技术和网络技术的发展,人们越来越多地通过网络来获取所需要的信息。诸如搜索引擎之类的应用可以帮助用户便捷地获取网络上的信息。例如,用户可以在搜索引擎的搜索框中输入查询。搜索引擎可以基于该查询,从预先建立的索引数据库中检索出与该查询相关的文档,随后对这些文档进行后续处理,例如相关性过滤、排序等,最后通过搜索结果页面将排序最高的一系列文档呈现给用户。技术实现要素:2.提供本
发明内容以便介绍一组构思,这组构思将在以下的具体实施方式中做进一步描述。本
发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。3.本公开的实施例提出了用于基于查询的表格可视化的方法和装置。可以获得查询。可以获得针对所述查询的至少一个搜索结果。可以从所述至少一个搜索结果中提取表格。可以基于所述查询和所述表格来生成与所述表格相对应的至少一个图表。4.应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。附图说明5.以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。6.图1示出了根据本公开实施例的用于基于查询的表格可视化的示例性过程。7.图2示出了根据本公开实施例的从搜索结果中提取的示例性表格。8.图3示出了根据本公开实施例的与图2中的表格相对应的示例性图表。9.图4示出了根据本公开实施例的用于生成图表创建序列的示例性过程。10.图5示出了根据本公开实施例的用于生成创建图表所需的表格域的域表示的示例性过程。11.图6示出了根据本公开实施例的用于确定表格域的域类型的示例性过程。12.图7示出了根据本公开实施例的用于生成图表创建序列的另一示例性过程。13.图8示出了根据本公开实施例的用于生成图表创建序列的又一示例性过程。14.图9是根据本公开实施例的用于基于查询的表格可视化的示例性方法的流程图。15.图10示出了根据本公开实施例的用于基于查询的表格可视化的示例性装置。16.图11示出了根据本公开实施例的用于基于查询的表格可视化的示例性装置。具体实施方式17.现在将参考若干示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。18.与搜索引擎相关联的搜索结果页面通常可以包括各个文档的相关信息。用户可以通过查看特定文档的信息来快速了解该文档,并决定是否要点击相应链接以获得更深入了解。在搜索结果页面上呈现的信息可以包括标题、摘要、图片、链接等。另外,在文档包括表格的情况下,还可以在搜索结果页面上呈现表格。目前,在搜索结果页面上呈现的表格通常是从文档中直接提取的,其可能包括繁杂的数字而不易阅读和理解。19.本公开的实施例提出了用于基于查询的表格可视化的方法。例如,可以获得查询以及针对查询的至少一个搜索结果,从至少一个搜索结果中提取表格,并且基于查询和表格来生成与表格相对应的至少一个图表。在本文中,查询可以指由用户或其他实体提供给搜索引擎以发起针对特定信息的搜索的文本片段,其也可以被称为搜索查询。此外,可以将由搜索引擎检索出并提供给用户的文档称为搜索结果。基于从特定搜索结果中提取的表格而生成的图表可以连同该搜索结果的其他信息一起呈现在搜索结果页面中。通过将表格可视化为图表可以向用户直观地展示表格中的数字关联和趋势。因此,在搜索结果页面中呈现图表可以向用户提供更丰富的见解并有助于用户理解表格的内容。20.在一个方面,本公开的实施例提出了在生成与表格相对应的图表时将来自用户的查询考虑在内。例如,查询可以指示用户期望获取的信息。在生成图表时将查询考虑在内可以使得所生成的图表能够包括表格中的与用户期望获取的信息相对应的数据,以便向用户提供其感兴趣的图表。21.在另一个方面,本公开的实施例提出了生成与表格相对应的图表创建序列,并且基于图表创建序列来创建图表。在本文中,图表创建序列可以指用于创建图表的动作序列,其可以包括遵循预定模式语法的一系列的动作,例如从表格中选择哪些数据、如何可视化所选择的数据等等。可以通过多种方式来生成图表创建序列。例如,可以分别生成查询的查询表示和表格的表格表示,并且基于查询表示和表格表示来生成图表创建序列。替代地,可以基于查询和表格来生成表格的表格表示,该表格表示融合了查询的信息。然后,可以基于表格表示来生成图表创建序列。22.在又一个方面,本公开的实施例提出了对从搜索结果中提取的表格执行表格理解操作。表格可以由多行多列组成。在本文中,可以将表格中的一列称为一个表格域(tablefield),简称为域。表格理解可以包括对表格进行正规化操作,例如将以数量单位表示的数字转换为纯数字、统一数据格式等。表格理解还可以包括确定各个表格域的域类型。例如,可以基于表格域中的单元格的信息,通过预定义规则来确定该表格域的域类型。上述表格理解操作可以有助于获得更准确的表格表示,从而生成更准确的图表创建序列。23.在再一个方面,本公开的实施例提出了在对表格进行可视化时,确定查询是否包含可视化的意图,并且仅当查询包含可视化的意图时,才生成与表格相对应的图表。例如,当查询为“如何安装office”时,该查询是不包含可视化意图的。在这种情况下,即使从针对该查询的搜索结果中提取出了表格,也不会对该表格执行可视化过程。此外,本公开的实施例提出了在对表格进行可视化时,确定表格与查询是否相关,并且仅当表格与查询相关时才生成与表格相对应的图表。从搜索结果中提取的表格未必是与查询相关的。仅当表格与查询相关时才执行图表生成操作可以节省计算资源,从而实现更高效的表格可视化。可以通过多种方式确定表格与查询是否相关。在一种实施方式中,可以在从搜索结果中提取出表格之后,通过诸如支持向量机(supportvectormachine,svm)、深度学习模型等的分类器来确定表格与查询是否相关。在另一种实施方式中,可以在生成图表创建序列期间,基于分离的查询表示和表格表示来确定表格与查询是否相关,或者基于融合了查询的信息的表格表示来确定表格与查询是否相关。在又一种实施方式中,可以在生成了图表创建序列之后,基于与图表创建序列相对应的动作值(actionvalue)是否高于预定阈值来确定表格与查询是否相关。24.图1示出了根据本公开实施例的用于基于查询的表格可视化的示例性过程100。在过程100中,可以获得查询以及针对查询的搜索结果,从搜索结果中提取表格,并且基于查询和表格来生成与表格相对应的图表。25.在110处,可以获得查询。例如,可以从向用户提供搜索服务的搜索引擎处获得查询。该查询可以是由搜索引擎从用户处接收的。作为示例,查询可以是“totalmalestudentsandtotalfemalestudentsofeachmajor(各专业的男生总数和女生总数)”。26.在120处,可以获得针对查询的至少一个搜索结果。例如,可以从搜索引擎处获得针对查询的至少一个搜索结果。所述搜索结果可以是由搜索引擎通过执行针对查询的搜索、排序等操作而获得的。27.在130处,可以从所获得的至少一个搜索结果中提取表格。搜索结果可以是具有超文本标记语言(html)格式的网络文档。可以通过已知的表格提取技术,从搜索结果中提取表格。优选地,可以从所获得的至少一个搜索结果中的排序最高的一个或多个搜索结果中提取表格。排序越高的搜索结果可能是与查询越相关的,因而可能是用户较感兴趣的。因此,可以仅对搜索结果中的排序最高的一个或多个搜索结果执行表格提取操作。例如,可以仅从前10项搜索结果中提取表格。28.图2示出了根据本公开实施例的从搜索结果中提取的示例性表格200。表格200可以是关于学生统计信息的表格,并且可以由8行8列组成。可以将表格第一行中的单元格称为表头(header)。例如,表格200的表头可以包括位于第一行中的单元格“major(专业)”、“totalmalestudents(男生总数)”、“totalfemalestudents(女生总数)”、“genderratio(性别比例)”、“totalmalestudentspercentage(男生总数百分比)”、“totalfemalestudentspercentage(女生总数百分比)”、“totalstudents(学生总数)”和“totalmajorstudentspercentage(专业学生总数百分比)”。可以将位于表格第一行之外的行称为主体(body)行。例如,表格200的主体行可以包括表格200中的第二行至第八行。所有主体行可以组成表格的主体。可以将表格划分为多个域。例如,可以根据列将表格划分成多个域。例如,表格200可以包括根据8列划分而成的8个域。每个域的表头可以是位于该域第一行的单元格。例如,表格200的第一个域的表头是“major”。应该理解,根据实际应用需求,还可以通过其他方式来将划分表格。29.在140处,可以基于查询和表格来生成与表格相对应的至少一个图表创建序列。图表创建序列可以包括用于创建图表的一系列动作。各个动作可以通过相应的令牌(token)来表示。作为示例,基于查询“totalmalestudentsandtotalfemalestudentsofeachmajor”和图2中的表格200所生成的图表创建序列可以是“[bar](totalmalestudents)(totalfemalestudents)[sep](major)[stack]”,其中令牌“[bar]”指示图表类型,即“柱形图表”,令牌“(totalmalestudents)”和“(totalfemalestudents)”指示所选择的要呈现在图表中的域的名称,令牌“[sep]”是分隔符,令牌“(major)”是所选择的要呈现在图表中的另一域的名称,并且令牌“[stack]”指示聚合操作,即“堆叠”。可以通过根据本公开实施例的用于生成图表创建序列的多种过程中的一种来生成图表创建序列。后面将结合图4、图7和图8来说明根据本公开实施例的用于生成图表创建序列的示例性过程。[0030]在150处,可以基于至少一个图表创建序列来创建至少一个图表。图表创建序列可以包括用于创建图表的一系列动作。可以基于图表创建序列所包括的一系列动作来创建图表。图3示出了根据本公开实施例的与图2中的表格200相对应的示例性图表300。图表300可以是基于上述图表创建序列“[bar](totalmalestudents)(totalfemalestudents)[sep](major)[stack]”来创建的。在图表300中,水平方向显示了各个专业的名称,垂直方向显示了相应专业的男生总数(totalmalestudents)和女生总数(totalfemalestudents),并且女生总数被堆叠在男生总数之上。可以看出的是,根据本公开实施例生成的图表300所呈现的信息与查询“totalmalestudentsandtotalfemalestudentsofeachmajor”是相匹配的。优选地,在存在多个图表创建序列的情况下,可以基于预定准则对这多个图表创建序列进行排序,并仅基于排序最高的图表创建序列来创建图表。[0031]通过过程100,可以基于查询和从针对查询的搜索结果中提取的表格来生成与表格相对应的图表。优选地,在过程100中,可以确定查询是否包含可视化的意图,并且仅当查询包含可视化的意图时,才生成与表格相对应的图表。可以通过诸如svm、深度学习模型等的分类器来确定查询是否包含可视化的意图。例如,当查询为“如何安装office”时,该查询是不包含可视化意图的。在这种情况下,即使从针对该查询的搜索结果中提取出了表格,也不会对该表格执行可视化过程。此外,在过程100中,可以确定表格与查询是否相关,并且仅当表格与查询相关时才生成与表格相对应的图表,而当表格与查询不相关时则不生成与表格相对应的图表。可以通过多种方式确定表格与查询是否相关。在一种实施方式中,可以在执行了130处的表格提取操作之后,确定表格与查询是否相关。例如,可以通过诸如svm、深度学习模型等的分类器来确定表格与查询是否相关。仅当表格与查询相关时才执行140处的图表创建序列生成步骤,而当表格与查询不相关时则不执行140处的图表创建序列生成步骤。在另一种实施方式中,可以在生成图表创建序列期间,基于分离的查询表示和表格表示来确定表格与查询是否相关,或者基于融合了查询的信息的表格表示来确定表格与查询是否相关。仅当表格与查询相关时才生成与表格相对应的图表创建序列,而当表格与查询不相关时则不生成与表格相对应的图表创建序列。在又一种实施方式中,可以在生成了图表创建序列之后,基于与图表创建序列相对应的动作值是否高于预定阈值来确定表格与查询是否相关。仅当表格与查询相关时才基于图表创建序列来创建图表,而当表格与查询不相关时则不基于图表创建序列来创建图表。后面将结合图4、图7和图8来说明后两种实施方式的示例性过程。[0032]应当理解,尽管前述讨论和以下讨论可能涉及生成与英语表格相对应的图表的示例,但本公开的实施例并不局限于此,而是可以以类似的方式生成与其他语言的表格相对应的图表。此外,应当理解,图1中的过程100仅仅是用于基于查询的表格可视化的过程的示例。根据实际应用需求,用于基于查询的表格可视化的过程可以包括任意其他步骤,并且可以包括更多或更少的步骤。[0033]图4示出了根据本公开实施例的用于生成图表创建序列的示例性过程400。在过程400中,可以基于表格402和查询404来生成与表格402相对应的至少一个图表创建序列442。例如,可以生成表格402的表格表示422以及查询404的查询表示412,并且基于表格表示422和查询表示412来生成至少一个图表创建序列442。图表创建序列442可以是迭代地生成的。例如,可以基于表格表示422、查询表示412和前缀动作序列(prefixactionsequence)406中的动作406-1至动作406-n的动作表示414-1至动作表示414-n来确定下一动作,并将所确定的下一动作附加到前缀动作序列406中,其中n≥1是前缀动作序列406所包括的动作的数量。动作406-1至动作406-n可以是已经确定的动作。上述操作可以迭代执行,直到生成包含完整动作序列的至少一个图表创建序列442为止。[0034]表格402可以包括多个表格域,例如域402-1至域402-m,其中m≥1是域的数量。可以生成与域402-1至域402-m分别对应的域表示408-1至域表示408-m。例如,可以基于域402-m(m∈[1,m])的语义特征、类别特征和数据特征中的一项或多项来生成域402-m的域表示408-m。图5示出了根据本公开实施例的用于生成创建图表所需的表格域的域表示的示例性过程500。域502可以对应于图4中的域402-1至域402-m中的任一个。可以基于域502的语义特征504、类别特征506和数据特征508中的一项或多项来生成域502的域表示532。[0035]语义特征504可以指与域502的语义信息有关的特征。可以从例如快速文本(fasttext)模型、来自转换器的双向编码器表示(bidirectionalencoderrepresentationsfromtransformers,bert)模型等的预训练自然语言处理(nlp)模型处获得语义特征504。在一种实施方式中,预训练nlp模型可以基于域502的表头来生成域502的语义特征504。例如,当域502是图2的表格200中的第一列时,预训练nlp模型可以基于该列的表头“major”来生成语义特征504。在表头包括多个词的情况下,语义特征504可以是通过对这多个词的语义特征执行平均操作而获得的。[0036]类别特征506可以包括与域502的类别信息有关的特征,例如指示令牌的类型的令牌类型、指示令牌属于哪个片段的片段类型、指示域的类型的域类型、指示域是否位于表格中的计数器表头区域(counterheaderarea)中的域角色、聚合操作等。可以至少基于域502中的单元格的信息,通过预定义规则来确定类别特征506。例如,可以通过根据本公开实施例的表格理解操作,基于域502中的单元格的信息,通过预定义规则来确定域类型。后面将结合图6来说明确定域类型的示例性过程。[0037]数据特征508可以包括与域502的数据统计信息有关的特征,例如指示域502的数值范围的特征、指示域502所包括的行数的特征、指示域502所包括的整数值的比例的特征等。可以通过已知的数据特征获取技术来获取数据特征508。数据特征508可以针对表格中的可以计算统计信息的域。对于表格中的不能计算统计信息的域,可以预定义其数据特征,或者将其置为空值。例如,对于图2中的表格200,数据特征508可以针对表格200中的第2列至第8列;而对于第1列,由于其包含的是不能计算统计信息的文本信息,因此可以预定义其数据特征,或者将其置为空值。[0038]可以将语义特征504提供给线性层510以获得语义特征504的进一步表示。可以将类别特征506提供给查找表520以获得类别特征506的进一步表示。级联单元530可以将语义特征504的进一步表示、类别特征506的进一步表示以及数据特征508级联成域表示532。[0039]返回参考图4,域表示408-1至域表示408-m可以被提供给表格编码器420。表格编码器420可以是已知的序列编码器,例如基于注意力机制的转换器(transformer)模型、双向门控循环单元(gatedrecurrentunit,gru)模型等。表格编码器420可以基于域表示408-1至域表示408-m来生成表格402的表格表示422。如前所述,每个域表示可以是基于该域的与表头相关联的语义特征、类别特征和数据特征中的一项或多项来生成的。相应地,表格表示422可以是基于表格402的表头集合、类别特征集合和数据特征集合来生成的。可以确定表格402的多个域中的每个域的类别特征,以获得与这多个域分别对应的多个类别特征,并且将这多个类别特征组合成表格402的类别特征集合。类似地,可以确定表格402的多个域中的每个域的数据特征,以获得与这多个域分别对应的多个数据特征,并且将这多个数据特征组合成表格402的数据特征集合。[0040]可以通过查询编码器410生成查询404的查询表示412。查询编码器410可以是诸如fasttext模型、bert模型之类的预训练自然语言处理模型。查询404可以包括一个或多个词。在查询404包括多个词的情况下,查询表示412可以是通过对这多个词的表示执行平均操作而获得的。[0041]可以通过与图5中的过程500相类似的过程来生成与动作406-1至动作406-n相对应的动作表示414-1至动作表示414-n。例如,可以获得各个动作的语义特征、类别特征、数据特征中的一项或多项,并基于这一项或多项来生成该动作的动作表示。特别地,当动作为域引用动作时,例如序列“[bar](totalmalestudents)(totalfemalestudents)[sep](major)[stack]”中的“(totalmalestudents)”、“(totalfemalestudents)”和“(major)”,该动作的语义特征、类别特征和数据特征可以分别与其所引用的域的语义特征、类别特征和数据特征相一致。当动作为命令动作时,例如上述序列中的“[bar]”、“[sep]”和“[stack]”,可以预定义该动作的语义特征、类别特征和数据特征,或者将其置为空值。[0042]解码器430可以是已知的序列生成器,例如单向gru模型等。解码器430可以基于表格402的表格表示422、查询404的查询表示412以及前缀动作序列406的动作表示414-1至动作表示414-n来计算针对与前缀动作序列406相对应的有效动作空间中的所有动作的动作值集合432。上述计算可以采用已知的动作值计算方法来执行。前缀动作序列可以具有相应的模式语法。可以定义针对前缀动作序列的有效动作空间。例如,针对特定前缀动作序列的有效动作空间可以被定义为包括遵循该前缀动作序列的模式语法的动作的动作空间。[0043]动作值集合432可以被提供给启发式集束搜索(heuristicbeamsearching)单元440。启发式集束搜索单元440可以利用已知的启发式集束搜索技术来生成至少一个图表创建序列442。例如,启发式集束搜索单元440可以基于动作值集合432来确定至少一个下一动作,并将所确定的至少一个下一动作分别附加到前缀动作序列406中,以获得至少一个经更新的前缀动作序列。上述操作可以迭代执行,直到生成包含完整动作序列的至少一个图表创建序列442为止。所生成的至少一个图表创建序列442可以是针对多种图表类型的。图表类型可以包括例如柱形(bar)图表、面积(area)图表、散点(scatter)图表、饼(pie)图表、折线(line)图表、雷达(radar)图表等。前缀动作序列406或者图表创建序列442中的第一动作可以是指示图表类型的命令动作。该第一动作可以是由启发式集束搜索单元440确定的,或者是基于期望生成的图表类型而预先指定的。[0044]应当理解,尽管前述讨论和以下讨论可能涉及存在单个前缀动作序列的示例,例如图4中仅示出了前缀动作序列406,但本公开的实施例并不局限于此。根据实际应用需求,可以同时存在多个前缀动作序列,并且针对每个前缀动作序列来计算动作值集合,并相应地生成图表创建序列。此外,应当理解,尽管前述讨论和以下讨论可能涉及存在单个解码器的示例,例如图4中仅示出了解码器430,但本公开的实施例并不局限于此。例如,在存在针对多种图表类型的多个解码器的情况下,可以将这多个解码器并行连接至表格编码器,以生成针对多种图表类型的图表创建序列。[0045]为了获得更准确的表格表示以生成更准确的图表创建序列,本公开实施例提出了对表格执行表格理解操作。表格理解可以包括对表格进行正规化操作,例如将以数量单位表示的数字转换为纯数字、统一数据格式等。表格理解还可以包括确定各个表格域的域类型。图6示出了根据本公开实施例的用于确定表格域的域类型的示例性过程600。域类型可以包括例如描述日期时间信息的日期时间(datetime)、描述序列信息的序列号码(sequencenumber)、描述序数信息的序数(ordinalnumber)、描述包含单位的数字的带单位的数字(numericwithunit)、描述不包含单位的数字的数字(numeric)、描述文本信息的文本(text)。可以至少基于域中的单元格的信息,通过预定义规则来确定该域的域类型。[0046]在602处,可以获得表格域中的所有单元格的信息。每个单元格的信息可以包括例如该单元格的实体类型。实体类型可以包括例如数字、日期时间、百分比等。可以通过已知的实体类型识别技术来识别单元格的实体类型。[0047]在604处,可以确定具有超过预定百分比的文本字符串的单元格的比例是否大于第一阈值。当该比例大于第一阈值时,过程可以进行至630。在630处,可以将该表格域的域类型确定为“文本”。当该比例小于或等于第一阈值时,过程可以进行至606。[0048]在606处,可以确定具有数字字符串的单元格的比例是否大于第二阈值。当该比例小于或者等于第二阈值时,过程可以进行至630。在630处,可以将该表格域的域类型确定为“文本”。当该比例大于第二阈值时,过程可以进行至608。[0049]在608处,可以确定具有日期时间字符串的单元格的比例是否大于第三阈值。当该比例大于第三阈值时,过程可以进行至620。在620处,可以将该表格域的域类型确定为“日期时间”。当该比例小于或等于第三阈值时,过程可以进行至610。[0050]在610处,可以确定具有共同前缀/后缀的单元格的比例是否大于第四阈值。当该比例小于或等于第四阈值时,过程可以进行至630。在630处,可以将该表格域的域类型确定为“文本”。当该比例大于第四阈值时,过程可以进行至612。[0051]在612处,可以确定单元格的共同前缀/后缀是否在预先定义的单位词典中。当共同前缀/后缀在预先定义的单位词典中时,过程可以进行至622。在622处,可以将该表格域的域类型确定为“带单位的数字”。当共同前缀/后缀不在预先定义的单位词典中时,过程可以进行至614。[0052]在614处,可以确定单元格中的数值是否具有相同步调(step)。当单元格中的数值具有相同步调时,过程可以进行至624。在624处,可以将该表格域的域类型确定为“序数”。当单元格中的数值不具有相同步调时,过程可以进行至616。[0053]在616处,可以确定单元格中的数值是否具有相同序列模式。当单元格中的数值具有相同序列模式时,过程可以进行至626。在626处,可以将该表格域的域类型确定为“序列号码”。当单元格中的数值不具有相同序列模式时,过程可以进行至618。[0054]在618处,可以确定单元格中的数值的标准差(standarddeviation,std)是否大于第五阈值。当该标准差大于第五阈值时,过程可以进行至628。在628处,可以将该表格域的域类型确定为“数字”。当该标准差小于或等于第五阈值时,过程可以进行至630。在630处,可以将该表格域的域类型确定为“文本”。[0055]应当理解,图6中的过程600仅仅是用于确定域类型的过程的示例。根据实际应用需求,用于确定域类型的过程可以包括任意其他步骤,并且可以包括更多或更少的步骤。例如,上述用于确定域类型的规则仅是示例性的,还可以通过其他规则来确定域类型。另外,通过过程600,还可以获得关于表格的一些附加信息,例如表格域中的数字的单位、类型等。这些附加信息可以在生成图表时提供辅助,例如添加到图表中的相应坐标轴处以使图表内容更加丰富准确。此外,过程600中的步骤的具体顺序或层级仅是示例性的,可以按照与所描述顺序不同的顺序来执行用于确定域类型的过程。[0056]图7示出了根据本公开实施例的用于生成图表创建序列的另一示例性过程700。在过程700中,可以基于查询702和表格704来生成与表格704相对应的至少一个图表创建序列762。例如,可以基于查询702和表格704来生成表格704的表格表示742,并且至少基于表格表示742来生成至少一个图表创建序列762。图表创建序列762可以是迭代地生成的。例如,可以基于表格表示742和前缀动作序列706中的动作706-1至动作706-n的动作表示734-1至动作表示734-n来确定下一动作,并将所确定的下一动作附加到前缀动作序列706中。动作706-1至动作706-n可以是已经确定的动作。上述操作可以迭代执行,直到生成包含完整动作序列的至少一个图表创建序列762为止。[0057]可以基于查询702以及表格704的表头集合708、类别特征集合710和数据特征集合712来生成表格表示742。[0058]查询702可以被提供给嵌入层714。例如,可以将与查询702相对应的词序列提供给嵌入层714。与查询702相对应的词序列可以包括分隔符令牌“[sep]”以及查询702中的一个或多个词。嵌入层714可以生成查询702的初始表示。[0059]表头集合708可以被提供给嵌入层716。例如,可以将与表头集合708相对应的词序列提供给嵌入层716。与表头集合708相对应的词序列可以包括与表头集合708中的多个表头相对应的多个词序列,其中,与每个表头相对应的词序列可以包括分隔符令牌“[sep]”以及该表头中的一个或多个词。嵌入层716可以生成表头集合708的初始表示。[0060]随后,可以基于查询702的初始表示和表头集合708的初始表示,通过一组联合编码器来生成表格704的表头表示728。该组联合编码器可以包括例如具有相同结构的l(l≥1)个联合编码器720。[0061]联合编码器720中的查询编码器722可以是深度神经网络模型,其可以对查询702的初始表示进行进一步编码,以生成查询702的中间表示。类似地,表头编码器724可以是深度神经网络模型,其可以对表头集合708的初始表示进行进一步编码,以生成表头集合708的中间表示。查询702的中间表示和表头集合708的中间表示可以被提供给基于注意力机制的多头注意力编码器726,其中,查询702的中间表示可以作为多头注意力编码器726的三项输入中的两项输入。多头注意力编码器726可以基于查询702的中间表示和表头集合708的中间表示来生成表头集合708的当前表示。通过联合编码器720的操作,可以获知表头集合708中的哪些表头和/或哪些词与查询702中的词是相关的,该信息可以被包括在表头集合708的当前表示中。应当理解,查询编码器722和表头编码器724可以是可选的,即,联合编码器720也可以不包括查询编码器722和表头编码器724。在联合编码器720不包括查询编码器722和表头编码器724的情况下,可以将由嵌入层714输出的查询702的初始表示和由嵌入层716输出的表头集合708的初始表示直接提供给多头注意力编码器726。相应地,多头注意力编码器726可以基于查询702的初始表示和表头集合708的初始表示来生成表头集合708的当前表示。可以通过l个联合编码器720来迭代地执行l次上述操作,以获得表头集合708的表头表示728。[0062]表格704的类别特征集合710和数据特征集合712可以是分别由表格704的各个域的类别特征和数据特征组成的。可以将类别特征集合710提供给查找表730以获得类别特征集合710的进一步表示。级联单元732可以对表头表示728、类别特征集合710的进一步表示以及数据特征集合进行级联,以获得级联表示。在级联时,可以将相同域的信息整合在一起。级联表示可以被提供给表格编码器740。表格编码器740可以是已知的序列编码器,例如基于注意力机制的转换器模型、双向gru模型等。表格编码器740可以对级联表示进行进一步编码,以生成表格704的表格表示742。[0063]可以通过与图5中的过程500相类似的过程来生成与动作706-1至动作706-n相对应的动作表示734-1至动作表示734-n。[0064]解码器750的处理可以与图4中的解码器430的处理相类似。例如,解码器750可以基于表格表示742和动作表示734-1至动作表示734-n来计算针对与前缀动作序列706相对应的有效动作空间中的所有动作的动作值集合752。[0065]动作值集合752可以被提供给启发式集束搜索单元760。启发式集束搜索单元760的处理可以与图4中的启发式集束搜索单元440的处理相类似。例如,启发式集束搜索单元760可以基于动作值集合752来确定至少一个下一动作,并将所确定的至少一个下一动作分别附加到前缀动作序列706中,以获得至少一个经更新的前缀动作序列。上述操作可以迭代执行,直到生成包含完整动作序列的至少一个图表创建序列762为止。[0066]在过程700中,采用了包括基于注意力机制的多头注意力编码器726的一组联合编码器720来生成与表格704中的表头集合708相对应的表头表示728。表头表示728可以包括关于表头集合708中的哪些表头和/或哪些词与查询702中的词是相关的信息。表头表示728可以被进一步用于生成表格表示742。这样的表格表示742可以有助于解码器750和启发式集束搜索单元760生成与查询702更为匹配的图表创建序列。[0067]图8示出了根据本公开实施例的用于生成图表创建序列的又一示例性过程800。在过程800中,可以基于查询802和表格804来生成与表格804相对应的至少一个图表创建序列842。例如,可以基于查询802和表格804来生成表格804的表格表示826,并且至少基于表格表示826来生成至少一个图表创建序列842。图表创建序列842可以是迭代地生成的。例如,可以基于表格表示826和前缀动作序列806中的动作806-1至动作806-n的动作表示828-1至动作表示828-n来确定下一动作,并将所确定的下一动作附加到前缀动作序列806中。动作806-1至动作806-n可以是已经确定的动作。上述操作可以迭代执行,直到生成包含完整动作序列的图表创建序列842为止。[0068]基于查询802以及表格804的表头集合808、主体行集合和数据特征集合812来生成表格表示826。主体行集合可以包括主体行810-1至主体行810-k,其中k≥1是主体行集合810所包括的主体行的数量。主体行集合可以是通过从表格804的主体中采样出预定数量的行而形成的。可以基于表格804的列数来确定该预定数量。例如,当表格804的列数较小时,可以设置较大的预定数量;而当表格804的列数较大时,可以设置较小的预定数量。可以通过多种方式从表格804的主体中采样出预定数量的行。在一种实施方式中,可以选定一列,并将包括该列中出现次数最多的值的行作为所采样的行。在另一种实施方式中,可以选定一列,并将包括该列中的最大值或者最小值的行作为所采样的行。[0069]可以通过表头编码器814,基于查询802和表头集合808来生成表格804的表头表示。例如,可以将与查询802相对应的词序列和与表头集合808相对应的词序列拼接成单个词序列,并将该单个词序列提供给表头编码器814。与查询802相对应的词序列可以包括分隔符令牌“[sep]”以及查询802中的一个或多个词。与表头集合808相对应的词序列可以包括与表头集合808中的多个表头相对应的多个词序列,其中,与每个表头相对应的词序列可以包括分隔符令牌“[sep]”以及该表头中的一个或多个词。表头编码器814可以例如是基于注意力机制的转换器模型,其可以生成表格804的表头表示。[0070]可以通过主体行编码器集合,基于查询802和主体行集合810来生成表格804的主体表示。主体行编码器集合可以包括主体行编码器816-1至主体行编码器816-k。主体行编码器816-k(k∈[1,k])可以基于查询802和主体行810-k来生成主体行810-k的表示。例如,可以将与查询802相对应的词序列和与主体行810-k相对应的词序列拼接成单个词序列,并将该单个词序列提供给主体行编码器816-k。与查询802相对应的词序列可以包括分隔符令牌“[sep]”以及查询802中的一个或多个词。与主体行810-k相对应的词序列可以包括与主体行810-k中的多个单元格相对应的多个词序列,与每个单元格相对应的词序列可以包括分隔符令牌“[sep]”以及该单元格中的一个或多个词。主体行编码器816-k可以例如是基于注意力机制的转换器模型,其可以生成主体行810-k的表示。可以将与主体行810-1至主体行810-k相对应的多个表示组合成表格804的主体表示。[0071]可以通过数据特征编码器820,基于查询802和数据特征集合812来生成表格804的数据特征表示。数据特征集合812可以经过修正线性单元(rectifiedlinearunit,relu)818的处理之后,与查询802一起提供给数据特征编码器820。可以将与查询802相对应的词序列和经处理的数据特征集合拼接成单个序列,并将该单个序列提供给数据特征编码器820。数据特征编码器820可以例如是基于注意力机制的转换器模型,其可以生成数据特征集合812的数据特征表示。[0072]表头表示、主体表示和数据特征表示都包括了查询802的信息。可以基于表格804的表头表示、主体表示和数据特征表示来生成表格804的表格表示826。例如,可以将表格804的表头表示、主体表示和数据特征表示提供给垂直编码器822。垂直编码器822可以将相同域的信息整合在一起以获得与多个域相对应的多个中间域表示,然后分别对多个中间域表示进行编码以获得与多个域相对应的多个域表示。每个域表示可以包括与该域的表头相对应的表示、与该域的主体行集合相对应的表示和与该域的数据特征相对应的表示。可以将这多个域表示提供给池化层824。池化层824可以对这多个域表示执行池化操作,以获得与多个域分别对应的多个表示向量。这多个表示向量可以作为表格804的表格表示826。[0073]可以通过与图5中的过程500相类似的过程来生成与动作806-1至动作806-n相对应的动作表示828-1至动作表示828-n。[0074]表格表示826可以被提供给解码器830。解码器830的处理可以与图4中的解码器430的处理相类似。例如,解码器830可以基于表格表示826和动作表示828-1至动作表示828-n来计算针对与前缀动作序列806相对应的有效动作空间中的所有动作的动作值集合832。[0075]动作值集合832可以被提供给启发式集束搜索单元840。启发式集束搜索单元840的处理可以与图4中的启发式集束搜索单元440的处理相类似。例如,启发式集束搜索单元840可以基于动作值集合832来确定至少一个下一动作,并将所确定的至少一个下一动作分别附加到前缀动作序列806中,以获得至少一个经更新的前缀动作序列。上述操作可以迭代执行,直到生成包含完整动作序列的至少一个图表创建序列842为止。[0076]在过程800中,分别通过基于注意力机制的表头编码器814、主体行编码器集合和数据特征编码器820生成了表格804的表头表示、主体表示和数据特征表示。这些表示可以包括关于表头集合中的哪些表头和/或哪些词、主体行集合中的哪些主体行和/或哪些词、或者数据特征集合中的哪些数据特征与查询802中的词相关的信息。这些表示可以被进一步用于生成表格表示826。这样的表格表示826可以有助于解码器830和启发式集束搜索单元840生成与查询802更为匹配的图表创建序列。[0077]根据本公开的实施例,可以在生成图表创建序列期间,基于分离的查询表示和表格表示来确定表格与查询是否相关,或者基于融合了查询的信息的表格表示来确定表格与查询是否相关。仅当表格与查询相关时才生成与表格相对应的图表创建序列,而当表格与查询不相关时则不生成与表格相对应的图表创建序列。作为示例,在过程400中,在获得了查询表示412和表格表示422之后,可以基于查询表示412和表格表示422来确定表格402与查询404是否相关。在一种实施方式中,可以将查询表示412和表格表示422提供给诸如深度学习模型之类的分类器。该分类器可以基于查询表示412和表格表示422来确定表格402与查询404是否相关。仅当表格402与查询404相关时,才将查询表示412和表格表示422提供给解码器430,并相应地执行后续的图表创建序列生成过程。作为另一示例,在过程700中,在获得了融合了查询702的信息的表格表示742之后,可以基于表格表示742来确定表格704与查询702是否相关。在一种实施方式中,可以将表格表示742提供给诸如深度学习模型之类的分类器。该分类器可以基于表格表示742来确定表格704与查询702是否相关。仅当表格704与查询702相关时,才将表格表示742提供给解码器750,并相应地执行后续的图表创建序列生成过程。[0078]根据本公开的实施例,还可以在生成了图表创建序列之后,基于与图表创建序列相对应的动作值是否高于预定阈值来确定表格与查询是否相关。在一种实施方式中,可以将图表创建序列中的最后一个动作的动作值视为与该图表创建序列相对应的动作值。仅当表格与查询相关时才基于图表创建序列来创建图表,而当表格与查询不相关时则不基于图表创建序列来创建图表。例如,在过程800中,在生成了图表创建序列842之后,可以基于与图表创建序列842相对应的动作值是否高于预定阈值来确定表格804与查询802是否相关。当该动作值高于预定阈值时,可以确定表格804与查询802是相关的,并且可以基于图表创建序列842来创建与表格804相对应的图表;而当该动作值低于或等于预定阈值时,可以确定表格804与查询802是不相关的,则不基于图表创建序列842来创建与表格804相对应的图表。[0079]应当理解,上述用于确定表格与查询是否相关的准则仅是示例性的。根据实际应用需求,还可以采用其他准则来确定表格与查询是否相关。[0080]图9是根据本公开实施例的用于基于查询的表格可视化的示例性方法900的流程图。[0081]在910处,可以获得查询。[0082]在920处,可以获得针对所述查询的至少一个搜索结果。[0083]在930处,可以从所述至少一个搜索结果中提取表格。[0084]在940处,可以基于所述查询和所述表格来生成与所述表格相对应的至少一个图表。[0085]在一种实施方式中,所述提取表格可以包括:从所述至少一个搜索结果中的排序最高的一个或多个搜索结果中提取所述表格。[0086]在一种实施方式中,方法900还可以包括:确定所述表格与所述查询是否相关。所述生成至少一个图表可以包括:响应于确定所述表格与所述查询相关,基于所述查询和所述表格来生成所述至少一个图表。[0087]在一种实施方式中,所述生成至少一个图表可以包括:基于所述查询和所述表格来生成与所述表格相对应的至少一个图表创建序列;以及基于所述至少一个图表创建序列来创建所述至少一个图表。[0088]方法900还可以包括:确定与所述至少一个图表创建序列相对应的动作值是否高于预定阈值。所述创建所述至少一个图表可以包括:响应于确定所述动作值高于所述预定阈值,基于所述至少一个图表创建序列来创建所述至少一个图表。[0089]所述生成至少一个图表创建序列可以包括:生成所述查询的查询表示;生成所述表格的表格表示;以及基于所述查询表示和所述表格表示来生成所述至少一个图表创建序列。[0090]方法900还可以包括:基于所述查询表示和所述表格表示来确定所述表格与所述查询是否相关。所述生成所述至少一个图表创建序列可以包括:响应于确定所述表格与所述查询相关,基于所述查询表示和所述表格表示来生成所述至少一个图表创建序列。[0091]所述生成表格表示可以包括:基于所述表格的表头集合、类别特征集合和数据特征集合来生成所述表格表示。[0092]所述生成至少一个图表创建序列可以包括:基于所述查询和所述表格来生成所述表格的表格表示;以及基于所述表格表示来生成所述至少一个图表创建序列。[0093]方法900还可以包括:基于所述表格表示来确定所述表格与所述查询是否相关。所述生成所述至少一个图表创建序列可以包括:响应于确定所述表格与所述查询相关,基于所述表格表示来生成所述至少一个图表创建序列。[0094]所述生成表格表示可以包括:基于所述查询以及所述表格的表头集合、类别特征集合和数据特征集合来生成所述表格表示。[0095]所述生成所述表格表示可以包括:基于所述查询和所述表头集合来生成所述表格的表头表示;以及至少基于所述表头表示来生成所述表格表示。[0096]方法900还可以包括:确定所述表格的多个域中的每个域的类别特征,以获得与所述多个域分别对应的多个类别特征;以及将所述多个类别特征组合成所述类别特征集合。[0097]所述确定每个域的类别特征可以包括:至少基于所述域中的单元格的信息,通过预定义规则来确定所述类别特征。[0098]所述生成表格表示可以包括:基于所述查询以及所述表格的表头集合、主体行集合和数据特征集合来生成所述表格表示。[0099]所述生成所述表格表示可以包括:基于所述查询和所述表头集合来生成所述表格的表头表示;基于所述查询和所述主体行集合来生成所述表格的主体表示;基于所述查询和所述数据特征集合来生成所述表格的数据特征表示;以及基于所述表头表示、所述主体表示和所述数据特征表示来生成所述表格表示。[0100]方法900还可以包括:从所述表格的主体中采样出预定数量的行以形成所述主体行集合。[0101]应当理解,方法900还可以包括根据上述本公开的实施例的用于基于查询的表格可视化的任何步骤/过程。[0102]图10示出了根据本公开实施例的用于基于查询的表格可视化的示例性装置1000。[0103]装置1000可以包括:查询获得模块1010,用于获得查询;搜索结果获得模块1020,用于获得针对所述查询的至少一个搜索结果;表格提取模块1030,用于从所述至少一个搜索结果中提取表格;以及图表生成模块1040,用于基于所述查询和所述表格来生成与所述表格相对应的至少一个图表。此外,装置1000还可以包括根据上述本公开的实施例的被配置用于基于查询的表格可视化的任何其他模块。[0104]图11示出了根据本公开实施例的用于基于查询的表格可视化的示例性装置1100。[0105]装置1100可以包括:至少一个处理器1110;以及存储计算机可执行指令的存储器1120。所述计算机可执行指令在被执行时可以使得所述至少一个处理器1110:获得查询,获得针对所述查询的至少一个搜索结果,从所述至少一个搜索结果中提取表格,以及基于所述查询和所述表格来生成与所述表格相对应的至少一个图表。[0106]在一种实施方式中,所述生成至少一个图表可以包括:基于所述查询和所述表格来生成与所述表格相对应的至少一个图表创建序列;以及基于所述至少一个图表创建序列来创建所述至少一个图表。[0107]应当理解,处理器1110还可以执行根据上述本公开实施例的用于基于查询的表格可视化的方法的任何其他步骤/过程。[0108]本公开的实施例提出了用于基于查询的表格可视化的计算机程序产品,包括计算机程序,所述计算机程序被至少一个处理器执行用于:获得查询;获得针对所述查询的至少一个搜索结果;从所述至少一个搜索结果中提取表格;以及基于所述查询和所述表格来生成与所述表格相对应的至少一个图表。此外,所述计算机程序还可以被执行用于实现根据上述本公开实施例的用于基于查询的表格可视化的方法的任何其他步骤/过程。[0109]本公开的实施例可以体现在非暂时性计算机可读介质中。所述非暂时性计算机可读介质可以包括指令,所述指令当被执行时,使得一个或多个处理器执行根据如上所述的本公开的实施例的用于基于查询的表格可视化的方法的任何操作。[0110]应当领会,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其他等同变换。另外,除非另有规定或者从上下文能清楚得知针对单数形式,否则如本说明书和所附权利要求书中所使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个”或者“一个或多个”。[0111]还应当领会,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。[0112]已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以利用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑单元、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其他适合的处理组件来实现。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以利用由微处理器、微控制器、dsp或其他适合的平台所执行的软件来实现。[0113]软件应当被广泛地视为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(例如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部,例如高速缓存器或寄存器。[0114]以上描述被提供用于使得本领域任何技术人员能够实践本文所描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文限定的一般性原理可以应用于其他方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域普通技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换都被明确并入本文并且由权利要求所覆盖。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1