法律状态公告日
法律状态信息
法律状态
2016-08-03
授权
授权
2013-05-08
实质审查的生效 IPC(主分类):G06F17/30 申请日:20110930
实质审查的生效
2013-04-10
公开
公开
技术领域
本发明涉及搜索引擎中生成扩展的搜索结果页面摘要的技术领域,特别 涉及生成表格式页面摘要的方法和系统。
背景技术
随着互联网业务的不断发展,各种现有的搜索引擎成为人们发现感兴趣 的网络资源(例如网页)所不可缺少的工具。
搜索引擎通常以下述方式工作:一旦用户通过客户端提交了查询,搜索 引擎将通过搜索结果页向用户返回搜索到的网页。搜索引擎的一个重要目标 是针对用户特定的搜索查询提供用户所期望的链接集,另外一个目标是需要 清楚并且快速地向用户通知与每个链接相关联的内容。因此,在返回搜索结 果页时,除了网页的标题和统一资源标识符(URL)之外,搜索结果页还包含与 网页相关的短文本描述。这种短文本描述通常被称为页面摘要(Snippet)。搜 索引擎通常通过提取和组合包含查询所涉及的关键词的文本段从网页中提取 页面摘要。在搜索结果页中,搜索引擎可以通过诸如高亮显示、加下划线、 不同字体等等的各种手段使页面摘要中的查询关键词的显示区别于其它文 本,以吸引用户的注意力并利于用户决定是否点击该网页。虽然现有技术中 的页面摘要可一定程度上反映网页与查询的相关性,但由于目前的页面摘要 由包含查询关键词的文本段构成,文本段的选择并未考虑文本段中除关键词 之外的内容,特别是考虑文本段的表格格式信息。
而表格是一种重要的数据源,下面列出一些适合用表格展现的已经大量 应用的数据类型:传统的Web Table类型数据,比如人员、公司、地点、商 品、电影、音乐等信息,既包括有边框的表格,也包括无边框的表格;商业 智能(BI)的应用使企业数据大量的以报表的形式生成(Web报表、PDF、 Excel、Word等格式),很多企业级的BI分析和展现工具如IBM Cognos等会 生成大量报表并进行发布,如此海量的数据在企业或互联网上有很强的搜索 需求,使该发明有很大的应用前景,而且基于文件解析工具,各家主流的搜 索引擎都已经把Excel Word等文档纳入检索。
为了提高用户的体验,现有技术中还提供有搜索结果预览功能,可以图 片的方式预览到网页的信息,在日渐成熟的搜索引擎技术领域,改动的空间 越来越小,也增加了对搜索引擎进行改进和创新的难度,因此,微小的改动 也可能意味着用户体验的极大提升。然而,摘要(snippet)与预览(preview)是有 区别的,预览并没有基于查询生成相关的片段供最终用户快速理解,而是简 单的输出了原网页的内容。而摘要是供用户快速判断与查询词的相关性的, 预览是在通过摘要判断完了之后,再进一步判断其相关性的。也就是说,二 者使用的阶段不同。特别是摘要的显示空间很狭小,而预览的显示空间很大。 摘要是默认显示的,而预览是默认不显示的,需要把鼠标移到特定位置(包 括题目、摘要、网址等)上触发后才会显示,并且其显示需要一定的时间(依 据显示内容和网络速度而定)。因此,对于所属领域技术人员来说,摘要和预 览是完全不同的技术方案。
因此,对于表格这种数据源,其表格格式信息也是便于用户通过网页摘 要快速理解搜索结果的极为重要的一部分,故需要进一步改进搜索技术,以 至少在某种程度上在页面摘要中展示表格的格式信息。
发明内容
根据本发明的第一个方面,提供一种用于在搜索引擎中生成扩展的页面 摘要的方法,包括:检索并返回具有与查询关键词相关的表格的关联表格网 页;获得所述关联表格网页中表格的解析结果,基于所述解析结果抽取列名 及各行实例;确定与所述查询关键词相关的行实例;根据所述列名及相关的 行实例生成表格式页面摘要。
根据本发明的第二个方面,提供一种用于在搜索引擎中生成扩展的页面 摘要的装置,包括:用于检索并返回具有与查询关键词相关的表格的关联表 格网页的部件;用于获得所述关联表格网页中表格的解析结果,基于所述解 析结果抽取列名及各行实例的部件;用于确定与所述查询关键词相关的行实 例的部件;用于根据所述列名及相关的行实例生成表格式页面摘要的部件。。
采用本申请的技术方案,提供了一种扩展的页面摘要生成方案,可在在 某种程度上在页面摘要中展示表格的格式信息。
附图说明
所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通 过参照附图阅读下面对说明性的实施例的详细说明可更好地理解发明本身以 及其优选使用模式、目标、特征以及优点,在附图中:
图1示出了用来实现本发明实施方式的示例性计算系统。
图2示出了本申请生成扩展的搜索结果摘要的方法流程图。
图3示出了本申请生成扩展的搜索结果摘要的装置示意图。
图4示出了在一个实施方式中网页1的示意图。
图5示出了在一个实施方式中网页2的示意图。
图6示出了在一个实施方式中网页3的示意图。
具体实施方式
所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机 程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、 完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、 “模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采 取体现在任何有形的表达介质(medium of expression)中的计算机程序产品 的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以 是计算机可读信号介质或计算机可读存储介质,计算机可读存储介质例如可 以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的 系统、装置、器件或传播介质、或前述各项的任何适当的组合。计算机可读 存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的 电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器 (ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘 只读存储器(CD-ROM)、光存储器件、磁存储器件、或前述各项的任何适当的 组合。在本文语境中,计算机可读存储介质可以是任何含有或存储供指令执 行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的 有形介质。
计算机可读信号介质可以包括例如在基带中或作为载波的一部分传播的 带有计算机可读程序代码的数据信号。这样一种传播信号可以采取任何适当 的形式,包括-但不限于-电磁的、光的或其任何适当的组合。计算机可读 信号介质可以是不同于计算机可读存储介质的、可以传达、传播或传输供指 令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程 序的任何一种计算机可读介质。
包含在计算机可读介质中的程序代码可以采用任何适当的介质传输,包 括-但不限于-无线、有线、光缆、射频等等、或上述各项的任何适当的组 合。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语 言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸 如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如”C” 程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执 行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用 户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上 执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域 网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特 网服务提供商来通过因特网)连接到外部计算机。
以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的 流程图和/或框图描述本发明。要明白的是,流程图和/或框图的每个方框以及 流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算 机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置 的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装 置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的 装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处 理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质 中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的 指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上, 使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计 算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现 流程图和/或框图中的方框中规定的功能/操作的过程。
现参看图1,示出了适于用来实现本发明实施方式的示例性计算系统100 的框图。如所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM (随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控 制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显 示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113 和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、 ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器 108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控 制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设 备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。 应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本 发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设 备。
参看图2,示出了在一个实施例中生成扩展的搜索结果摘要的方法流程 图,包括以下步骤:
步骤201,检索并返回具有与查询关键词相关的表格的关联表格网页。
在一个实施例中,可检索并返回与查询关键词相关的网页序列,所述网 页序列中至少包括一个具有与所述查询关键词相关的表格的关联表格网页。 查询关键词可以包括一个或多个关键词,其个数取决与用户输入。可采用现 有搜索引擎中的技术来确定与查询相关的网页序列。在所述关联表格网页中, 与所述查询关键词相关的表格是指在该表格中匹配所述查询关键词中的部分 或全部关键词。
表格通常是由行、列、单元格三个部分组成,其中第一行单元格是表头 信息,第一行中各个单元格的内容是各列的列名,表格中每一行单元格中的 数据是一行实例。表格通常采用HTML、Excel、Word、PDF等格式。
步骤202,获得所述关联表格网页中表格的解析结果,从中抽取列名及 各行实例。
现有的搜索引擎根据搜索结果来源可分为两类:一类拥有自己的网页抓 取、索引、检索系统(Indexer),有独立的“蜘蛛”(Spider)程序、或爬虫 (Crawler)、或“机器人”(Robot)程序(这三种称法意义相同),能自建网 页数据库,搜索结果直接从自身的数据库中调用。第二类则是租用其他搜索 引擎的数据库,并按自定的格式排列搜索结果。
因此,所述表格的解析结果也可通过多种途径获得。在以第一类搜索引 擎为背景的实施例中,可在所述检索步骤201之前,在用蜘蛛程序抓取网页 时解析所有网页中的表格并在自建网页数据库中存储该解析结果,然后在步 骤201中返回所述网页序列时返回所述表格解析结果。而对于第二类搜索引 擎为背景的实施例中,可采用实时的方式对关联表格网页中的表格进行解析 从而获得解析结果。
现有技术中提供了多种解析器可用于对各种格式的表格进行解析:
其中,Apache的办公文档解析器(POI)是Apache软件基金会的开放源 码函式库,提供API给Java程式对微软办公格式档案读和写的功能,Apache POI也是多种搜索软件中都有使用的开源软件,可用于对网页中各种Office 格式的表格进行解析。例如,对于Word格式的表格,通过POI中的Table, TableCell,TableRow,和TableIterator等类别,可对Word中的表格进行读取 解析,具体举例如下:
对于Excel格式的表格而言,可通过POI中的HSSFWorkbook,HSSFSheet, HSSFRow,HSSFCell等元素,可对Excel的内容进行解析,具体举例如下:
现有技术中还有用于HTML网页的解析器(HTML Parser),主要用于改 造或提取HTML,提供了接口,支持线性和嵌套HTML文本,相关介绍可参 见http://htmlparser.sourceforge.net。
在表格的解析结果中抽取出所述列名及实例也包括多种实施方式:在一 个实施例中,可根据列名标记抽取列名信息,根据实例标记抽取实例信息。 例如,对HTML的表格进行解析后,可通过<TH>标记抽取列名关系,通过 <TD>标记抽取各行的实例信息。而在另一个实施例中,例如,对于通过POI 获得的表格,可能并没有明确的表征列名的标记位,这可对表格的第一个非 空行进行校验,由于表头的数据格式通常不同于表格中各行内容的数据格式, 如果该行的元素格式明显有别于剩下的所有行,则该行可以作为列名行使用。
步骤203,确定与所述查询关键词相关的行实例。
根据查询关键词在表格中的位置确定出所覆盖的列,进而选择列名,根 据查询关键词的位置选择实例行。对于Snippet而言,可供显示空间有限,特 别是仅能显示有限的行数,如何选择出相关的实例行就显得特别重要。相对 而言,由于Snippet在宽度方面要求不严格,只要不超过屏幕显示的宽度即可, 故所覆盖的列名基本都可以进行显示。
作为可选的方式,还可考虑查询关键词的权重信息,据此可以辅助相关 实例与相关列名的选择,还可用于调整实例与列名显示的内容及顺序,使得 最相关的实例放在前面。查询词权重是用于确定Snippet显示顺序调整时需要 考虑的一个因素,通常是搜索引擎提供者跟据统计所提供的信息,例如,可 以根据查询词被搜索的频率赋予不同的权重,这属于已有的技术。
步骤204,根据所述列名及相关的行实例生成所述表格式页面摘要。
在一个实施例中,如果在步骤201中的查询关键词为多个,该步骤可以 包括:统计所述相关行实例中所述查询关键词的权重得到行实例的相关度; 根据所述列名以及至少一个相关度排在前列的相关行实例生成所述表格式页 面摘要。在摘要中可按照表格中原顺序呈现所选择的行实例,也可根据相关 度的高低顺序呈现相关实例以及对应的相关列名。此外,表格式页面摘要中 的表格形式既可显示边框,也可以不显示边框,但至少需要表格中的列名与 实例的位置相互对应。
现结合图2进一步说明跨页面表格式摘要生成的流程,在图2所示的步 骤201中返回多个关联表格网页。作为可选的步骤,在一个实施例中,根据 查询关键词以及搜索引擎返回的网页序列,通过网页聚类将有相似性的页面 聚合在一起,所述多个关联表格网页均在同一个聚类中。网页聚类可采用公 知的技术手段,在此不进行过多的陈述。在一个改进的实施例中,对所述网 页序列中来自同一网站域名下的网页进行聚类,在所述聚类结果中包括所述 多个关联表格网页。之所以对来自同一网站的网页进行网页聚合,是因为相 关性较大的表格通常出现在同一网站域名下的网页中,故可以提高聚合的相 关性。举例而言,公司网站中所公布的信息中,对于同一个员工,可能用多 个不同的表格公开该员的不同信息,通过对同属于该公司网站的网页聚合更 加准确的发现可进行跨页面摘要的网页。
进而,通过以下两种实施方式可生成跨页面的表格式页面摘要。所述跨 页面表格式页面摘要合并了所述多个关联表格网页中与所述查询关键词相关 联的列名与实例。
在第一个实施例中,在图2所示的步骤201中返回多个关联表格网页之 后,通过步骤202至步骤204为每个所述关联表格网页生成表格式摘要,之 后进一步包括:合并所述多个关联表格网页的表格式摘要得到合并后的摘要; 根据所述查询关键词在所述合并后的摘要中确定相关行实例与列名;根据所 述相关行实例以及列名输出跨页面的表格式页面摘要。参看表1,对该实施 例进行说明,表1中所示的页面P1和P3的表格式摘要匹配了全部查询关键 词KEY1、KEY2和KEY3,页面P2的表格式摘要匹配的是部分的查询关键 词KEY1。
表1
合并所述多个页面的表格摘要后生成合并的表格式摘要。在表格摘要的 合并中会出现列名与实例的融合与连接,即,对具有相同的列名及单元格数 据的部分可进行融合,对于不同的列名及单元格数据的部分可进行连接。如 表2所示,是合并后的表格式摘要:
表2
根据所述查询关键词在所述合并的表格式摘要中选择新相关实例与新相 关列名。对多个表格式摘要进行融合后,其大小可能不再适合作为Snippet 进行显示,故有必要进一步选择相关实例与相关列名。进而,根据所述新相 关实例以及所述新相关列名输出最终表格式的摘要,产生包含所述网页序列 和所述页面摘要的查询结果。
在另一个实施例中,在获得所述关联表格网页中表格的解析结果后,合 并所述多个关联表格网页的表格解析结果得到为合并的表格解析结果,在所 述合并的表格解析结果中抽取行实例与列名。之后,通过步骤202至步骤204 生成所述跨页面的表格式页面摘要。这种将所述多个关联表格网页的解析结 果合并为新的解析结果,进而选择与所述查询关键词相关的实例与列名,故 仅需要一次实例的选择即可。
通过在图1所示的计算机系统中实现图2前述公开的方法流程,本申请 还可体现为一种在搜索引擎中生成表格式页面摘要的装置,图3示出了该装 置的框架示意图,主要包括:用于检索并返回具有与查询关键词相关的表格 的关联表格网页的部件301;用于获得所述关联表格网页中表格的解析结果, 基于所述解析结果抽取列名及各行实例的部件302;用于确定与所述查询关 键词相关的行实例的部件303;用于根据所述列名及相关的行实例生成表格 式页面摘要的部件304。
在一个改进的实施例中,所述用于检索并返回具有与查询关键词相关的 表格的关联表格网页的部件返回多个所述关联表格网页。
进而,在一个实施例中,所述用于获得所述关联表格网页中表格的解析 结果,基于所述解析结果抽取列名及各行实例的部件包括:用于在获得所述 关联表格网页中表格的解析结果后,合并所述多个关联表格网页的表格解析 结果得到为合并的表格解析结果,基于所述合并的表格解析结果抽取列名及 各行实例的部件;所述用于根据所述列名及相关的行实例生成表格式页面摘 要的部件中生成的是跨页面的表格式页面摘要。
在一个实施例中可进一步包括,用于合并所述多个关联表格网页的表格 式页面摘要的部件;用于在所述合并的表格式页摘要中确定与所述查询关键 词相关的行实例的部件;用于根据所述列名及相关行实例生成跨页面的表格 式页面摘要的部件。
在令一个改进的实施例中,所述用于检索并返回具有与查询关键词相关 的表格的关联表格网页的部件是对来自同一网站域名下的网页进行聚类,并 在所述聚类中确定出所述多个关联表格网页。
在一个实施例中,在所述跨页面的表格式页面摘要中从视觉上区分来自 不同网页的列名与实例。
在一个实施例中,在所述用于检索并返回部件中的查询关键词为多个, 所述用于根据所述列名及相关的行实例生成所述表格式页面摘要的部件包 括:用于统计所述相关行实例中所述查询关键词的权重得到行实例的相关度 的部件;用于根据所述列名以及至少一个相关度排在前列的相关行实例生成 所述表格式页面摘要的部件。
在一个实施例中,所述表格的解析结果是在蜘蛛程序抓取网页时解析所 有网页中的表格所获得并保存的结果。
在一个实施例中,所述表格的解析结果是通过实时解析所述关联表格网 页中的表格获得的。
通过前述方案,在通过解各种格式文档中的表格信息的基础上理解查询, 进而生成保留表格格式信息的表格式页面摘要,因此不同于现有技术,改善 了现有技术中仅仅对搜索结果中的关键词进行提取,不保留表格格式信息的 缺陷。
接下来在一个完整的针对webpage的实施例对本申请的技术方案进行示 范性的说明:假设查询关键词为:a2,b2,b9,Page1是所返回的网页序列中的 一个网页,图4所示的页面1(Page1)包括与所述查询关键词相关的表格。
经过HTML Parser解析后结果为:
从上述解析后的结构中通过<Table>标记定位得到表格的位置,并通过 <TH>标记抽取列名信息如下:
同时,通过<TD>标记抽取各行实例信息:比如
通过关键词a2,b2,b9的匹配可以确定第2行和第9行的实例和查询存在 匹配。假设每个关键词都同样重要,可以得出第2行的相关度为:2/3,第9 行的相关度为1/3。同时可以确定第2行覆盖列a和列b,第9行覆盖列b。 据此,可以确定第2行实例和第9行实例为相关实例,HeaderA和HeaderB 为相关列名。参看表3,是最后生成表格摘要的示意。
表3
如果列空间的约束,在一个实施例中,还可以略去最后不相关的部分表 格列,表格摘要示范请参看表4。
表4
接下来给出跨页面摘要生成的示例:
图5、图6分别示出了在同一网站内具有包括如下表格信息网页2(Page2) 和网页3(Page3)。假设检索关键词为:a2,b2,b9,h2,j9,通过匹配可以确定: 网页1中具有匹配了部分关键词a2,b2,b9的表格;网页2中具有匹配了部分 关键词a2h2的表格;网页3中具有匹配了部分关键词b2,b9,j9的表格。其 中任何一个页面均没法满足查询关键词中所有的关键词匹配需求,参看表5, 示范出通过本申请提供方法得到的跨页面表格式摘要。
表5
如果列空间也受到约束,参看表6,是略去最后不相关的部分表格列的 示意。
表6
在一个实施例中,可在视觉上用不同的格式信息在生成的表格摘要中区 分来自不同网页的部分,用户可通过点击相应的部分,转到源网页进行信息 的浏览。
应指出的是,以上描述仅为示例,而不是对本发明的限制。附图中的流 程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品 的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方 框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代 码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当 注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图 中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地 执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注 意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组 合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可 以用专用硬件与计算机指令的组合来实现。
机译: 生成搜索结果扩展页面摘要的方法和设备
机译: 生成搜索结果的扩展页面片段的方法和装置
机译: 搜索结果摘要分析以进行查询扩展和结果过滤的方法和装置