CN107025261B - 主题网络语料库 - Google Patents
主题网络语料库 Download PDFInfo
- Publication number
- CN107025261B CN107025261B CN201611233014.3A CN201611233014A CN107025261B CN 107025261 B CN107025261 B CN 107025261B CN 201611233014 A CN201611233014 A CN 201611233014A CN 107025261 B CN107025261 B CN 107025261B
- Authority
- CN
- China
- Prior art keywords
- urls
- server
- client
- topic
- computer
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明尤其涉及计算机实现的方法,该方法由存储搜索引擎的索引的服务器来执行,以用于向客户端发送与主题有关的网络语料库的页面的URL。该方法包括从客户端接收对应于主题的结构化的查询,该结构化的查询由至少一个关键词的析取组成;在索引中确定由与查询匹配的所有页面的URL组成的组;并且将该组的URL作为流发送至客户端。这种方法改善了主题网络语料库的构建。
Description
技术领域
本发明涉及用于网络爬取(crawl)的计算机程序和系统领域,更具体地为用于构建一个与该主题相关的网络语料库的方法,系统和程序。
背景技术
市面上提供了用于网络爬取的许多系统和程序,以便例如构建任何类型的文档的语料库(通常称作关于文件是从网络中取回的事实的“网络语料库”)。然后语料库用来做后续的搜索、分析和/或任何其他应用。通常可利用的技术不允许构建专用的网络语料库,诸如关于主题的语料库(或“主题网络语料库”),或带有不完美的精度和/或查全率。
标准网络爬取(如图1所示,其表示从上到下的时序图,例如在Taubes,Gary——Indexing the internet——Science 269.5229,1995中描述的)包含从种子URL开始,在这些URL处下载页面,并且解析每个页面以收集更多的URL以访问。这种方式对于收集主题语料库是低效的,因为可能在多重链接后,与话题无关的页面可能链接至与话题相关的页面(即与主题相关的页面)。一种极端的选项是不跟随(follow)来自话题无关的页面的链接。这带来低的查全率(即,在构建的语料库中最终与话题相关的页面的数量相对于网络中最初呈现的总数)。另一种极端的选项在于爬取整个网络。这有一个非常低的精度(即,在构建的语料库中与话题相关的页面数目相对于爬取的页面的总数目,它们包含或不包含在语料库中)。
因此,发明了聚焦网络爬取(如图2所示,其表示从上到下的时序图,例如在Novak,Blaz——A survey of focused Web crawling algorithms——SIKDD学报5558,2004中描述的)以减轻标准网络爬取的缺点,相似的方法。聚焦爬取器使用额外的步骤,该步骤包括对网页给出分数,该分数应当关于该网页链接至最终将链接至与话题相关页面的另一页面的可能性。通常期望该方法发现在以上描述的极端选项之间的折衷。然而,这仍没有产生足够高的精确度或查全率。它仅提高了关于爬取整个网络的精确率,这是因为它降低了所爬取的与话题无关的页面的数量。它提高了关于在与话题无关页面处停止的查全率,这是因为它容许了具有最终链接至与话题相关的页面的高估计概率的某些页面。
在这些内容中,仍然存在对于高效地构建主题网络语料库的改进技术方案的需要,即具有合理的计算费用、精确率和查全率。
发明内容
本发明提供了一种计算机实现的方法,其由存储搜索引擎索引的服务器执行,以向客户端发送与主题相关的网络语料库的页面的URL。该方法包括从客户端接收与主题相对应的结构化的查询,该结构化的查询由至少一个关键词的析取组成。该方法还包括确定索引中的组,该组由与查询相匹配的所有页面的URL组成。该确定包括在索引上读取该查询的析取的关键词,从而从索引中取回URL的至少一个集合,然后针对取回的URL的至少一个集合而执行与该查询的析取相对应的集合操作的方案,从而产生URL的组。并且该方法包括将该组的URL作为流而发送至客户端。
在示例中,该组的URL作为流而发送至客户端可以包括与客户端建立网络连接(例如,HTTP连接),在网络连接上将该组的URL流式传输,然后关闭该网络连接。
本发明进一步提供一种用于构建涉与主题有关的网络语料库的、计算机实现的方法。该方法包括又客户端向存储搜索引擎的索引的服务器发送与主题相对应的结构化的查询,该结构化的查询由至少一个关键词的析取组成;然后,基于该结构化的查询和根据用于由服务器执行的发送方法,由服务器将网络语料库的页面的URL作为流而发送至客户端。
在示例中,涉及客户端和服务器的该方法进一步包括,由客户端将作为流从服务器接收的URL本地地存储。在示例中,涉及客户端和服务器的该方法进一步包括,由客户端爬取从服务器接收的URL的页面或将从服务器接收的URL传输至网络爬取器。
本发明进一步提供由客户端执行的计算机实现的方法,以构建与主题有关的网络语料库,其中该方法包括向服务器发送与该主题相对应的结构化的查询,该结构化的查询由至少一个关键词的析取组成;然后作为流而从服务器接收该网络语料库的页面的URL。
在示例中,由客户端执行的方法进一步包含将作为流而从服务器接收的URL本地地存储。
本发明进一步提供包含执行该方法中的任何或组合的指令的计算机程序。
本发明进一步提供具有记录在其上的计算机程序的计算机可读介质。
本发明进一步提供包含处理器的系统,该处理器耦合至具有记录在其上的该计算机程序的存储器。
附图说明
将利用非限制性的示例以及参考附图来描述本发明的示例现,其中:
—图1-2示出了现有爬取技术中的时序图;
—图3示出了该方法的示例的流程图;
—图4示出了服务器—客户端网络的示例,
—图5示出了系统的示例;和
—图6示出了用于构建网络语料库的方法的示例时序图。
具体实施方式
图3的流程图示出了该计算机实现的方法的示例,该方法用于构建与主题有关的网络语料库,由客户端—服务器系统执行。该示例的方法包括由客户端向存储搜索引擎的索引的服务器发送S10结构化的查询。该结构化的查询对应于该主题且由至少一个关键词的析取组成。然后,该方法包括基于该结构化的查询,由服务器向客户端作为流而发送S20该网络语料库的页面的URL。该发送S20包括,在由服务器从客户端接收S22该结构化的查询之后,在索引中确定S24由与查询相匹配的所有页面的URL组成的组(即术语“组”仅仅指集合)。确定S24包括针对在索引上读取S242该查询的析取的关键词(即,将关键词与索引的条目进行比较),从而从该索引中取回URL的至少一个集合(即,输出该索引的数据的片段中与关键词相匹配的条目——这精确地或大概地取决于与搜索引擎结合使用的松弛能力,若有的话,就其本身而言是总所周知),然后,针对取回的URL的(多个)集合而执行S244(至少一)集合运算的方案,该方案对应于该查询的析取,从而产生URL的组(即,待返回的该查询的“结果”)。并且发送S20还包括向客户端作为流而发送S26该组的URL。该发送S26包括与客户端建立HTTP连接(该建立S262很可能但不是必须对应于这样的连接的开启,因为在之前,如发送S10之前,该HTTP连接可能已经被第一次开启,并且因此建立S262对应于该连接的取回/继续)。该发送S26还包括在HTTP连接上流式传输S264该组的URL(即,通过HTTP连接)。然后在示例中,该发送S26包括关闭S266该HTTP连接。该示例中的该方法进一步包含,由客户端本地地存储S30(例如在如接收URL的客户端的相同机器的永久存储器上)作为流从服务器接收的URL。然后该方法进一步包含,由客户端爬取S40从服务器接收的URL的页面(如,由客户端的相同机器,或由另一机器,从而该方法在这种情况下包括向网络爬取器传送从服务器接收的URL)。
这样的方法改善了主题网络语料库的构建。
尤其是,因为该爬取S40针对该组的URL的页面执行的(该组由与该结构化的查询相匹配的所有页面的URL组成,该结构化的查询对应于该主题),所以关于该主题的该方法的精确度和查全率相对较高。事实上,该领域众所周知的是,主题网络语料库是与特定主题/题目有关的(如任何类型的)网络文档/页面的集合。另外,就其本身众所周知的是,搜索引擎索引(例如倒排索引)是(或至少包括)经组织的数据片段的集合,该数据片段能够经由输入到所连接的搜索引擎的结构化的查询而容易地(即直接地或以相对快速的方式)取回(结构化的查询为,如该技术中传统的,至少一个关键词的任何析取,如根据——也就是说,关于——由搜索引擎提供的预定语法和/或句法规则写成,如果有的话)。图3所述的方法利用该上下文以构建/创建该主题语料库,这是因为这是经由与该主题相对应的结构化的查询完成的(即,给定搜索引擎和其索引,该结构化的查询的结果是该主题内的文档,例如并且所有这样文档的至少大部分)。针对该目的,该结构化的查询可被预先设计成图3所述的方法,以任何方式,例如通过用户/或一批用户,给定待构建的网络语料库的规格(例如构想的主题的描述),应当注意的是设计该结构化的查询的特定方式不在当前讨论的范围之内(尽管随后在算法的步骤1和2提供了示例)。在某种意义上,在这种上下文中该主题网络语料库可以仅仅被定义为与在S30处储存(因此在S40处潜在地进行爬取)的URL相对应的页面/文档,并且因此与该结构化的查询的结果相对应(从图3所示方法的视角,其可被视作预先确定的——以任何方式)的语料库。得益于此,爬取S40可有资格成为“聚焦”,这是由于它可以至少大部分地(如超过爬取页面的90%,如果不是100%)针对该组中的URL(在S26发送的那些)来执行,这些URL自身至少大部分(如果不是全部)指向关于主题的页面。
得益于在S264处由服务器将URL发送至客户端的事实,该方法不必使服务器担负存储所有URL和/或执行最终的聚焦爬取。在示例中,该方法可排除服务器永久存储该组(至少在发送S10之后,即S20之内)。“存储该组”意指所存储的信息不仅包括该组的URL,也包括URL形成组或URL是组的一部分的信息。换句话说,在服务器处,该组对多被记录在易失存储器上,例如在发送S26之前,或者甚至从不被存储为组(例如,该组的URL极少被记录——例如在易失存储器上——且随着它们被记录而被流式传输),并且在任何情况下该组可能从不被存储(为组)在非易失性存储器上。相反,在S30处,客户端可以存储URL,特别是作为组,和/或存储在非易失性(即,永久性)存储器上。该方法可类似的排除服务器执行针对URL的聚焦爬取(再一次至少在发送S10之后,即S20之内,由于服务器可在该方法之前已经爬取了URL,如当构建该搜索引擎时,但在这种情况下在非聚焦爬取内)。相反,在S40处该客户端执行这样的聚焦爬取(应当注意到,取决于所构想的应用,客户端可等价地发送相关信息——如URL的组——至第三方——或者可替代地甚至发送回服务器,随后——可以执行这样的爬取,在这方面图3所述的方法仅是个示例)。
得益于对查询的结果(即,索引中的由与查询相匹配的所有页面的URL组成的组)的确定S24包括(即,正好,例如没有额外的——后续或交叉的——URL的排序)在索引上读取S242查询的析取的多个关键词的事实,从而从索引中取回URL的至少一个集合(即读取S242的输出),并且接着针对所取回的URL的至少一个集合而上执行S244与查询的析取相对应的集合操作的方案,从而产生URL的组(即方案S244的输出),因此从服务器视角而言相对较快的执行图3所述的方法。实际上,在搜索引擎领域众所周知的是,搜索引擎索引总是实施S242和S244的形式,该形式因此可被传统地执行且不需要详细描述。然而,在将结果返回给已经发送了结构化的查询的客户端之前,传统的搜索引擎进一步对该结果进行排序。这样的排序耗时也消耗硬件资源(文档存储在包括RAM的存储器以供排序算法获取它们),但是没有被该方法执行,本方法出于经由后续的爬取S40而构建主体网络语料库的目的,聪明地将其标识为非必须的。因此,S24被限于S242处从与查询的不同关键词(如,每个相应的关键词)相匹配的(URL的)集合的(例如,所有)索引进行提取(应当注意,当索引被存储在几个不同的服务器上时,通常都是如此,针对同一关键词而相对应地取回不同的集合,正如技术人员所知),并且在S244处根据结构化的查询而执行集合操作的最终方案(即,使集合作为输入的数学操作)(在标识没有详细讨论从析取中得到方案的方式,这是因为它是传统的且是本领域众所周知的)。进一步地,在它们执行排序时,传统搜索引擎通常不穷尽地实施S242。事实上,传统地,不一定需要针对所有URL而执行查询。在足以填充第一结果页面的大多数情况下,首先针对较小的子索引来执行。事实上,排序考虑一些参数,包括流行度和内容的质量,这不取决于查询,且对大多数查询来说,最高流行的页面或最高内容质量的页面足够填满结果的第一页面。例如,用户可以首先接收最高排序结果的第一页面,然后对较低排序的结果逐页查询,搜索引擎索引计算集合且在用户要求进一步结果时执行集合操作。相反,在图3的方法中,可连续地/不间断地执行S242直到确定了所有候选集和/或URL为止,因此方法在S242处不受用户与计算的交互(例如,以请求进一步的结果)的中断而确定查询的结果,或者独立于用户与计算的该交互间而确定查询的结果。
得益于由服务器将URL作为流发送的事实,图3所述的方法不仅不需要服务器在任何时候立即存储所有结果(甚至在非易失性存储器上),其因此可被该方法排除在外,而且从客户端视角而且它也被快速执行。流的概念在计算机科学领域被广泛周知。一旦URL作为结构化的查询的结果而确定,就立刻将量流式传输S26以供由务器发送该URL(与执行在先排序并成批地发送数据的传统搜索引擎不同)。典型地,流式传输方法包括会话开启、流、和会话关闭。图1所述的方法实现了通过HTTP连接的这种流式传输S26的具体示例。HTTP连接尤其适用,但是该方法可实施其他协议(诸如例如FTP连接),以及更加概括而言任何网络连接。
该方法是计算机实施的。这意味着该方法中的每一步骤(或实质上所有步骤)由至少一台计算机完成,或者相似的任何系统,也就是说,系统包含至少一个处理器,该处理器与具有记录在其上的计算机程序的存储器相耦合,该程序包含执行该方法的指令。该存储器还可存储数据库。该存储器是适合这样的存储的任何硬件,其可以包含几个物理上不同的部分(例如一个是用于程序,而可能一个用于数据库)。具体地,该方法是由与服务器系统通信的客户端系统执行的,两个系统可以是不同的机器,也可以是地理上远离的(例如,至少在不同的房间、建筑物、城市或甚至国家中)。这就意味着客户端和服务器包含适用于使他们典型地通过网络(如因特网)而通信地耦合的硬件和/或软件。图4示出了这样的网络的示例,其中的任何客户端可以与根据图3之一的方法中的服务器有关联。
因此,该方法中的步骤可以全部自动或半自动执行。在示例中,该方法中至少部分步骤的触发可通过用户—计算机交互而执行。所要求的用户—计算机交互的水平依赖于自动预测的水平并且与实施用户期望的需求达成平衡。在示例中,该水平可是用户定义的和/或预定义的。在示例中,在S10之前,该方法包括用户或团队设计该结构化的查询,输入该设计的结构化的查询至客户端,然后触发S10。然后,S20可被自动执行,可以在自动地或由用户提供的授权之后(例如,在接收S22之后以预定义的方式或手动的方式)。S30可被自动执行,可以在用户确认之后。并且S40可被预定义为自动执行或在需要时启动。下文提供示例。
图3示出了计算机系统的示例,其可以代表该客户端和/或该服务器。该示例中的计算机包含连接至内部通信BUS 1000的中央处理单元(CPU)1010,也连接至BUS的随机存储器(RAM)1070。大容量存储装置控制器1020管理对大容量存储装置的存取,例如硬盘驱动1030。适合有形地实施计算机程序指令和数据的大容量存储器包括非易失性存储器的所有形式,举例来说包括半导体存储装置,例如EPROM、EEPROM、和闪存器;诸如内置硬盘和可移动硬盘的磁盘;磁光盘;和CD-ROM磁盘1040。前面所述的任何一个可通过专门设计的ASIC(专用集成电路)补充,或并入专门设计的ASIC。网络适配器1050管理对网络1060的存取。该示例的计算机进一步配备有图形处理单元(GPU)1110,其与连接至BUS的视频随机存取存储器1100相连接。该视频随机存取存储器1100在本领域也被称为帧缓冲器。该计算机也包括触觉设备1090如光标控制设备,键盘或类似设备。光标控制设备被用于计算机中以准许用户在显示器1080上的任何期望位置选择性地放置光标。另外,该光标控制设备允许用户选择各种命令,并输入控制信号。该光标控制设备包括许多信号产生设备以输入控制信号至系统。典型地,光标控制装置可以是鼠标,该鼠标的按钮用于产生信号。可替代地或额外地,计算机系统可包含感应板,和/或感应屏幕。
计算机程序可包含由可以由计算机执行的指令,该指令包含用于使上述系统执行该方法的单元。该程序可记录于任何数据存储媒介上,包括该系统的存储器。例如该程序可在数字电子电路、或在计算机硬件、固件、软件中、或在它们的组合中被实施。该程序可作为装置被实施,例如有形地实施在机器可读存储装置中以供由可编程处理器执行的产品。方法步骤可由执行指令程序的可编程处理器执行以通过操作输入数据和产生输出而执行该方法的功能。因此,该处理器可为可编程的并被耦合以从数据存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,且传递数据和指令给该数据存储系统、至少一个输入装置、和至少一个输出装置。该应用程序可以以高级程序式和面向对象的程序语言实施,或者如果需要的话以汇编语言或者机器语言实施。在任何情况下,该语言可以是编译的或解译的语言。该程序可以是完整的安装程序或更新程序。该程序在系统上的应用在任何情况下导致指令执行该方法。
术语“存储器”可指任何存储器设备或一系列连接的存储器设备。构建网络索引指的是对网络语料库进行索引。如前面所述,语料库是文档的集合(如公共网络/私营企业)。搜索引擎的索引可指选择和排序文档以提供对查询的响应的系统,该查询是通过使用搜索引擎的接口或基于搜索的应用(SBA)而制定的。语料库可以是可供索引来对选择和排序的文档的集合。网络语料库是在该网络上最初找到的文档的语料库:包括通过网页上的URL找到的网页,并且还包括诸如PDF、图像或者类似的东西的文档。网络索引是基于网络语料库的索引。主题索引可以是搜索引擎的索引或专用于与特定题目有关的查询的基于搜索的应用。这些包括所有专业的(B2B)搜索引擎或SBA,其至少专攻涉及用户行业的主题。通常将专业的搜索引擎或SBA构建为支持预定义的使用场景,其为在索引上预期的查询设置有限的范围。语料库是文档的集合,例如网页(如在该方法的情况下构想的),主题网络语料库是主题网络索引的语料库,也就是说,响应于查询,文档(诸如网页)可供索引来进行选择索引。
例如,专业的搜索引擎或SBA可专用于提供关于主题的信息,如关于金融资产,以供投资者使用。查询典型地含有用户档案中的资产。在一个可能的实现中,投资者不会手动键入查询。该查询是基于他们当前的投资档案而产生的。响应于该查询,将对他们档案具有最高潜在影响的所选择的新闻返回,最相关的优先。开发商和专门的搜索引擎或者SBA的用户通常理解的是,不支持所有的查询。如果该搜索引擎或SBA界面显示查询框,在该查询框中用户可以提供自由的查询,技术上来说用户可以输入不支持的查询。例如,投资者可能突然想起他/她的祖母且尝试使用该查询框来查问她的健康,尽管他/她的搜索引擎是专业于金融资产的。该查询可能看起来是[祖母健康状态]。然而,因为它是专业于金融资产,索引该搜索引擎可能不会以相关页面来响应这个查询。这不是搜索引擎的缺点,仅仅是对它的不正确使用。
图3所述的方法具体地允许构建主题网络语料库,例如针对这样的目的。特别地,该方法不涉及筛选或排序文档,其是索引的任务。该方法不关心搜索引擎或SBA两者之中任一个的界面。当构建主题网络语料库时,图3所述的方法使得能够收集可以响应于针对主题网络索引的查询而返回的网页的精确集合。没有更多的内容:响应于针对该索引的查询而从不被返回的任何页面是没有用的,且不必要占用存储设备和RAM空间。没有更少的内容:与查询相关的网页应当在语料库中以使得用户响应于该查询而接收它(否则索引的查全率将被影响)。正如上面广泛讨论的,除了提供特定类型的搜索引擎(URL流详尽搜索引擎,又叫做流搜索)之外,图3所述的方法与在搜索引擎的帮助下的爬取类似。网络搜索引擎典型地以机器可读的格式(例如HTML,XML或JSON)的网页来对查询进行响应,该机器可读的格式的网页用于显示与少量该查询的结果相关的链接和摘要。在网络搜索引擎帮助下的爬取,诸如图3所述的方法,能够因此包括查询多个这样的页面以提取这些页面中的每一个上的链接且抓取这些链接。该流式传输S24和S26搜索减轻了传统搜索引擎在用于语料库收集时的缺陷。它没有对网页进行排序,也没有以结果的页面而进行响应。相反,它以URL的流进行响应,URL的流的顺序为它们在索引中被发现的顺序。然后在S40处爬取器联系网站以取回由这些URL标识的页面。精度是高的:语料库能够精确的由与查询匹配的网页组成,假设查询精确地描述了主题且用于查询的索引是新近的(在索引中储存的页面与当前网络中提供的相同页面之间几乎不存在差异,使得索引响应是精确的)。查全率是高的:语料库可包括与查询相匹配的全部网页,假设针对查询而使用的索引是完整的和新近的。成本是低的:不需要进行任何不必的操作。主要总成本是构建最初的索引的花费。相比于使用相同索引构建的主题语料库的数量是高的,每个主题语料库的全局成本是低的。
通用型网络搜索引擎典型地提供搜索栏和搜索结果列表。专用搜索引擎和SBA典型地也提供高级的导航和图表。导航选项可包括按照分类来浏览资产。例如,最高等级可包括“股票”、“衍生产品”、“货币”、“原料”等。单击“股票”可从用户的档案中展开股票列表,其是在最近的新闻中找到的。单击股票可以筛选新闻以只显示与所选择的股票相关的那些新闻。图表可以包括每日最高资产条形图,较高的条形代表在今天的新闻中最常被引用的资产。这些导航选项和图示依赖于对每个文档中的每一项资产的检测。当在文档中找到对资产的引用时,索引可以将其在RAM中,这是因为RAM比磁盘更具响应性,并显示导航选项和图标需要快速迭代通过这些引用。这些引用被称为分面(facet)。用于导航和图表的分面占用RAM空间,其随着索引中文档的数量而增加。RAM空间是昂贵的且经常在专用搜索引擎或SBA的硬件基础设施中是瓶颈。界面越丰富,从每一个文档中潜在提取的分面就越多,并且分配给语料库中每个文档的RAM空间就越多。在专用搜索引擎或SBA中,因为用户的典型关注是已知的,可提供包括导航选项和图表的更丰富的界面,该导航选项和图表可有意地与该题目相关。因此,需要更多的分面,并且在语料库的大小上必须花费更多的注意力。最好是该语料库不含有不必要的文档。因此,真正需要一种提供包含全部且仅对通过专用搜索引擎或SBA进行的查询而进行响应的索引的必要文档的语料库的方式。并且图3所述的方法响应这样一种需要。
现讨论根据图3的示例构建主题网络语料库的示例方法,参考(从上到下)示出了下文讨论的时序图的图6。
更多主题索引所支持的所有可能的查询的集合Q,针对这个索引的理想主题语料库C是与查询匹配的文档的集合q=OR(q’,对于q’在Q中):索引所支持的所有查询的析取。主题语料库由易出现在查询Q的结果中的所有文档组成(即,所有该文档并且没有更多内容)。下面的算法描述了如何使用图3所述的方法构建C:
0.创建空列表L。
1.收集被索引支持的查询q’。这可以基于询问预期的用户或者基于搜索引擎或SBA的规范来完成。
2.以析取范式d中找到的1来写出查询。q’是布尔表示,因此d存在且是唯一的。
3.对于d中每一个合取子句(clause)c,如果c不含有L中的元素(以它的项的合取子句替代c中的精确表达式,例如如果[a]在L中,则[‘a b c’AND d]被排除):
3.1发现c的项的替代以使得带有替代的层c仍将被支持。(例如,在股票交易中以每个其它的公司代码来代替一公司代码。对于大量的替代,这一步骤应当典型地被脚本化(scripted)。)
3.2产生具有可能的替代的所有组合的合取子式c1,…,cn。
3.3利用根据本发明的系统执行每一个查询c1,…,cn,且将结果加入至语料库。
3.4将c1,…,cn存储至L。
4.重复步骤1直到(a)没有发现更多的支持的查询或者(b)没有发现更多的通过3.0的支持的查询。
理论上,因为项的数量是有限的该方法终止。实际上,以没有或具有很少AND的查询的开始,这允许在4.b快速停止。该方法仅仅收集有用的页面。基于爬取的方法还收集没有用的页面,这是因为在收集它之前不可能知道该页面是否有用。与该方法相比,现有的爬取技术(包括聚焦爬取)具有相对低的精确度。在示例中,该方法的精度是100%。该方法的查全率仅受限于参考网络索引的大小。如果参考网络索引包括所有的网页,则该方法的查全率可以是100%。实际中参考网络索引不是详尽的。在实现中,该方法可使用320亿页的网络索引。在参考索引中缺少的页面降低了该方法的查全率。由于构建参考网络索引的成本,当参考网络索引已经可用或者基于它而要构建多个主题索引时,该方法是尤其成本高效的。爬取引发网络服务器的延迟。在每一步,爬取器需要加载网页以收集新页面的URL来爬取。该方法响应于每一次查询而典型地一次收集大量网页。
现在讨论实现示例特征的图3所述方法的示例。
在这个示例中的第一步中,用户可选择查询。例如,用户选择查询“史密斯”因为目标是最终取回关于史密斯的网络文档。该查询可以更复杂,例如“史密斯和‘总统竞选’并且-爱丽丝”的文档涉及史密斯和总统竞选,但不是关于爱丽丝史密斯的(其中,在本文中史密斯代表一总统的姓,并且爱丽丝代表该总统的夫人的名)。用户可配置界面中呈现的文本框中插入查询。用户也可选择它是否是一次性查询或者它是否应当被定期执行。在后一种情况中,用户选择执行查询的间隔时间。用户也可选择应当取回的文档的最大数量。匹配的文档的总数量可达数亿的量级,并且用户典型地将基于查询而收集的文档的总数量限制在几百万。由于没有涉及排序步骤,因此这几百万的文档可以是从匹配的文档的总数量中任意收集的。更精确地,他们可以是在与查询匹配的索引中发现的第一文档。当用户点击或单击在管理员界面上的“运行”按钮时、或者当调度时间结束时,可以执行该查询。然后,在S10处通过HTTP(或多个HTTP)请求发送该查询至索引以用以执行。该请求典型地通过外部网络,从顾客的服务器(应当在该处收集主题语料库)开始至流索引(典型地位于远程服务的服务器上),在S22处,该流索引接收查询。
流索引典型地使用以下两步来解决查询。在第一步S242中,它在称作查询表/倒排表/字典的结构中查找查询的关键词。该结构是关键词的分类集合,其指向包含这些关键词的文档的标识符。关键词被分类以使得查找它们是很快速的。为了在这个结构中显现惟一的标识符,网络文档在一分离的过程中被爬取、存储和索引。爬取的意思是从它们各自的网站服务器中收集它们(通过向包含文档的URL的服务器发出HTTP查询)。存储的意思是在本地高速缓存上复制(为了避免多次请求文档)。索引涉及提取文档中的词(可以在对它们进行选择和标准化之前),并且在倒排表中每一个所得到的词前面添加文档的ID(如果有必要,可以在倒排表中添加词)。在第二步S244中,索引解译查询的逻辑公式并针对第一步中找到的文档而应用集合操作。例如,索引返回与包含“总统竞选”的文档集交叉且排除“爱丽丝”的文档集的包含“史密斯”的文档集。这些操作典型第由标准搜索引擎执行。在标准搜索引擎中,这一步之后是用于按照最相关到最不相关的顺序对文档进行排序的其他步骤。图3所述的方法没有实施这些步骤。
实际上,以上所述的这两步不是按顺序执行的。例如,可以首先列出包含“史密斯”的文档的子集,并且在包含史密斯的另一文档的集合被处理之前,基于它们是否还包括“总统竞选”和“爱丽丝”而进行筛选。通常,可以由对应于它们被发现时所位于的分布式存储服务器批(batch)来处理结果,并且用于根据处理它们的处理服务器上可用的RAM而进一步分解。另外,可以存在倒排表的层级,其中层级中的第一列表被首先查找,这是因为它们往往给出更相关的结果。顶级倒排表典型地仅存储在网页较佳位置处发现的关键词,诸如题目,或者其他网页上发现的并且指向其他网页的链接。这些内部结构和算法中的所有旨在优化索引的性能,可以对取回与查询相匹配的文档的顺序产生影响。
当取回文档时,索引使用由查询所打开的HTTP连接来对查询进行响应(因此在该示例中在S10后执行S262),并且在文档的URL被取回时将URL(而非文档本身)流式传输S264。发起连接并且发布该查询的客户端上的过程从流索引接收URL。在优选的实现中,该客户端过程将URL传输至爬取器。爬取器可以是典型地在同一系统上执行的另一过程。爬取器负责在S40处从它们各自的网站取回对应于URL的文档。在另一实现中,接收URL的过程在S30处进行本地地存储(如在磁盘上)且爬取器从它们的本地存储器读取URL以进行执行S40。
作为传统,爬取器可以通过使用每一个取回的URL发出HTTP请求而进行操作。该请求使用互联网基础设施而定向到网站服务器,包括将URL转换为IP地址的名称服务器和根据目的IP地址传输分组的路由器。每一个网站服务器以请求中给出的URL相对应的文档来进行响应(或不进行响应)。在示例中,爬取器实施规程并行于多个网站而请求文档,而同时遵守对这些网站上的负载的限制。典型地,从同一网站每2.5秒不会请求超过一个页面。爬取器典型地是并行运行的过程的集合,每一个负责网站的子集。例如,过程负责查询其名字以“A”开始的网站,等等。在示例中,在语料库对于构建文档索引而言有用的情况下,则爬取器可以做两件事情。(1)在接收文档时将他们存储至本地高速缓存,该本地高速缓存简单地是本地储存设备,其中的文档由它们各自的URL标识并且可以通过URL来查找。(2)在接收文档时将它们推送至负责处理文档并对它们进行索引的另一过程。
Claims (11)
1.一种计算机实现的方法,其由存储搜索引擎的索引的服务器执行,以用于向客户端发送与主题有关的网络语料库中的页面的URL,其中所述方法包括:
从所述客户端接收与所述主题相对应的结构化的查询,所述结构化的查询由至少一个关键词的析取组成;
在所述索引中确定由与所述查询相匹配的所有页面的URL组成的组,其中,所述确定包括:
在所述索引上读取所述查询的所述析取的所述关键词,从而从所述索引中取回URL的至少一个集合,以及
针对所取回的所述URL的至少一个集合执行与所述查询的所述析取相对应的集合操作的方案,从而产生URL的组作为结果;以及
将所述组中的URL作为流而发送至所述客户端,其中,URL在其被确定为结果后被发送,使得所述服务器不需要存储所述组中的所有URL,其中,所述组中的URL不经排序而被发送。
2.根据权利要求1所述的计算机实现的方法,其中,将所述组中的URL作为流而发送至所述客户端包括:
与所述客户端建立网络连接;
在所述网络连接上流式传输所述组中的URL;以及
关闭所述网络连接。
3.根据权利要求2所述的计算机实现的方法,其中,所述网络连接是HTTP连接。
4.一种计算机实现的用于构建与主题有关的网络语料库的方法,其中所述方法包括:
由客户端向存储搜索引擎的索引的服务器发送与所述主题相对应的结构化的查询,所述结构化的查询由至少一个关键词的析取组成;以及
基于所述结构化的查询并且根据权利要求1、2或3所述的方法,由所述服务器将所述网络语料库中的页面的URL作为流而发送至所述客户端。
5.根据权利要求4所述的计算机实现的方法,其中,所述方法进一步包括,由所述客户端将作为流而从所述服务器接收的所述URL本地地存储。
6.根据权利要求4或5所述的计算机实现的方法,其中,所述方法进一步包括,由所述客户端爬取从所述服务器接收的所述URL的页面或将从所述服务器接收的所述URL传输至网络爬取器。
7.一种计算机实现的方法,其由客户端执行,所述方法用于构建与主题有关的网络语料库,其中,所述方法包括:
向服务器发送对应于所述主题的结构化的查询,所述结构化的查询由至少一个关键词的析取组成;
作为流而从所述服务器接收所述网络语料库中的页面的URL,其中,所述URL未被排序;以及
爬取从所述服务器接收的所述URL的页面,或者将从所述服务器接收的所述URL传输至网络爬取器。
8.根据权利要求7所述的计算机实现的方法,进一步包括将作为流而从所述服务器接收的所述URL本地地存储。
9.一种包括用于执行权利要求1-8中的任何一项所述的计算机实现的方法的单元的装置。
10.一种具有记录在其上的指令的计算机可读介质,所述指令在被处理器执行时,使得所述处理器执行如权利要求1-8中的任何一项所述的计算机实现的方法。
11.一种包括处理器的系统,所述处理器耦合至具有记录在其上的指令的存储器,所述指令在被所述处理器执行时,使得所述处理器执行如权利要求1-8中的任何一项所述的计算机实现的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15306826.7 | 2015-11-17 | ||
EP15306826.7A EP3171281A1 (en) | 2015-11-17 | 2015-11-17 | Thematic web corpus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107025261A CN107025261A (zh) | 2017-08-08 |
CN107025261B true CN107025261B (zh) | 2022-06-14 |
Family
ID=55068923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611233014.3A Active CN107025261B (zh) | 2015-11-17 | 2016-11-17 | 主题网络语料库 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10783196B2 (zh) |
EP (1) | EP3171281A1 (zh) |
JP (1) | JP6917138B2 (zh) |
CN (1) | CN107025261B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271477B (zh) * | 2018-09-05 | 2020-07-24 | 杭州数湾信息科技有限公司 | 一种借助互联网构建分类语料库的方法及系统 |
US11269879B2 (en) * | 2020-01-13 | 2022-03-08 | Google Llc | Optimal query scheduling according to data freshness requirements |
US11687710B2 (en) * | 2020-04-03 | 2023-06-27 | Braincat, Inc. | Systems and methods for cloud-based productivity tools |
US11394799B2 (en) | 2020-05-07 | 2022-07-19 | Freeman Augustus Jackson | Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958457B1 (en) * | 1999-12-20 | 2011-06-07 | Wireless Agents, Llc | Method and apparatus for scheduling presentation of digital content on a personal communication device |
US20060064411A1 (en) * | 2004-09-22 | 2006-03-23 | William Gross | Search engine using user intent |
US8099405B2 (en) * | 2004-12-28 | 2012-01-17 | Sap Ag | Search engine social proxy |
US8281037B2 (en) * | 2005-01-03 | 2012-10-02 | Orb Networks, Inc. | System and method for delivering content to users on a network |
CA2750026C (en) * | 2005-10-14 | 2014-07-22 | Research In Motion Limited | Url document viewing through a plug-in application for a mobile browser on a wireless device |
JP2007129500A (ja) * | 2005-11-03 | 2007-05-24 | Usen Corp | Cm付コンテンツ視聴システム |
JP2007304895A (ja) * | 2006-05-12 | 2007-11-22 | Nobuhiko Ido | 検索エンジンを利用した例文作成システムと言語に関する練習問題をコンテンツとするwebサイト構築方法 |
CN101114284B (zh) * | 2006-07-27 | 2010-11-24 | 阿里巴巴集团控股有限公司 | 一种显示网页内容相关信息的方法及系统 |
CN101145153B (zh) * | 2006-09-13 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种搜索信息的方法及系统 |
US20080098300A1 (en) * | 2006-10-24 | 2008-04-24 | Brilliant Shopper, Inc. | Method and system for extracting information from web pages |
US20090164418A1 (en) * | 2007-12-19 | 2009-06-25 | Valentina Pulnikova | Retrieval system and method of searching information in the Internet |
US8364664B2 (en) * | 2008-05-12 | 2013-01-29 | Enpulz, L.L.C. | Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison |
US20090287684A1 (en) | 2008-05-14 | 2009-11-19 | Bennett James D | Historical internet |
US8306969B2 (en) * | 2008-09-23 | 2012-11-06 | Microsoft Corporation | Linking search queries to rich media themes |
IL195323A0 (en) * | 2008-11-16 | 2011-08-01 | Clip In Touch Internat Ltd | A device, system and method for creating and transmitting multimedia messages |
JP5349032B2 (ja) * | 2008-12-19 | 2013-11-20 | Kddi株式会社 | 情報選別装置 |
US8214380B1 (en) * | 2009-02-09 | 2012-07-03 | Repio, Inc. | System and method for managing search results |
US7831609B1 (en) * | 2009-08-25 | 2010-11-09 | Vizibility Inc. | System and method for searching, formulating, distributing and monitoring usage of predefined internet search queries |
US8386455B2 (en) * | 2009-09-20 | 2013-02-26 | Yahoo! Inc. | Systems and methods for providing advanced search result page content |
JP5585047B2 (ja) * | 2009-10-28 | 2014-09-10 | ソニー株式会社 | ストリーム受信装置、ストリーム受信方法、ストリーム送信装置、ストリーム送信方法及びコンピュータプログラム |
CN101727485B (zh) * | 2009-12-10 | 2012-11-07 | 湖南科技大学 | 一种基于聚焦搜索的wsdl搜集方法 |
US8626768B2 (en) * | 2010-01-06 | 2014-01-07 | Microsoft Corporation | Automated discovery aggregation and organization of subject area discussions |
US20110178868A1 (en) * | 2010-01-21 | 2011-07-21 | Priyank Shanker Garg | Enhancing search result pages using content licensed from content providers |
US8346755B1 (en) | 2010-05-04 | 2013-01-01 | Google Inc. | Iterative off-line rendering process |
JP5725812B2 (ja) * | 2010-11-25 | 2015-05-27 | キヤノン株式会社 | 文書処理装置、文書処理方法、及びプログラム |
US20140081954A1 (en) * | 2010-11-30 | 2014-03-20 | Kirill Elizarov | Media information system and method |
US9646100B2 (en) * | 2011-03-14 | 2017-05-09 | Verisign, Inc. | Methods and systems for providing content provider-specified URL keyword navigation |
WO2012166581A2 (en) * | 2011-05-27 | 2012-12-06 | Ctc Tech Corp. | Creation, use and training of computer-based discovery avatars |
US8849812B1 (en) * | 2011-08-31 | 2014-09-30 | BloomReach Inc. | Generating content for topics based on user demand |
CN105868290B (zh) * | 2012-03-29 | 2020-03-10 | 北京奇虎科技有限公司 | 一种展现搜索结果的方法及装置 |
US20140089090A1 (en) * | 2012-09-21 | 2014-03-27 | Steven Thrasher | Searching data storage systems and devices by theme |
US9436918B2 (en) * | 2013-10-07 | 2016-09-06 | Microsoft Technology Licensing, Llc | Smart selection of text spans |
US9646047B2 (en) * | 2014-09-04 | 2017-05-09 | International Business Machines Corporation | Efficient extraction of intelligence from web data |
CN105022827B (zh) * | 2015-07-23 | 2016-06-15 | 合肥工业大学 | 一种面向领域主题的Web新闻动态聚合方法 |
-
2015
- 2015-11-17 EP EP15306826.7A patent/EP3171281A1/en not_active Ceased
-
2016
- 2016-11-16 JP JP2016223173A patent/JP6917138B2/ja active Active
- 2016-11-17 US US15/354,870 patent/US10783196B2/en active Active
- 2016-11-17 CN CN201611233014.3A patent/CN107025261B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017138958A (ja) | 2017-08-10 |
US20170140055A1 (en) | 2017-05-18 |
EP3171281A1 (en) | 2017-05-24 |
CN107025261A (zh) | 2017-08-08 |
US10783196B2 (en) | 2020-09-22 |
JP6917138B2 (ja) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7644101B2 (en) | System for generating and managing context information | |
RU2501078C2 (ru) | Ранжирование результатов поиска с использованием расстояния редактирования и информации о документе | |
US8352396B2 (en) | Systems and methods for improving web site user experience | |
US7917840B2 (en) | Dynamic aggregation and display of contextually relevant content | |
US7860878B2 (en) | Prioritizing media assets for publication | |
JP5247475B2 (ja) | ウェブ検索の適合性を高めるためにウェブ検索のユーザの振舞いをマイニングすること | |
US7747612B2 (en) | Indication of exclusive items in a result set | |
US7747614B2 (en) | Difference control for generating and displaying a difference result set from the result sets of a plurality of search engines | |
US20070088690A1 (en) | System and method for performing file searches and ranking results | |
JP6538277B2 (ja) | 検索クエリ間におけるクエリパターンおよび関連する総統計の特定 | |
US7853583B2 (en) | System and method for generating expertise based search results | |
US7840548B2 (en) | System and method for adding identity to web rank | |
CN107025261B (zh) | 主题网络语料库 | |
KR20110050478A (ko) | 검색 질의에 응답하여 디스커션 스레드에 대한 포스트를 제공하는 방법 및 시스템 | |
US10282358B2 (en) | Methods of furnishing search results to a plurality of client devices via a search engine system | |
US20100125781A1 (en) | Page generation by keyword | |
KR20100112512A (ko) | 검색 장치 및 검색 방법 | |
US20070100821A1 (en) | Presentation of differences between multiple searches | |
US10311114B2 (en) | Displaying stylized text snippets with search engine results | |
US20140280174A1 (en) | Interactive user-controlled search direction for retrieved information in an information search system | |
US7788284B2 (en) | System and method for knowledge based search system | |
JP2010140200A (ja) | クリックログを用いた検索結果分類装置及び方法 | |
KR101122737B1 (ko) | 지식노드 연결구조를 생성하기 위한 검색 데이터베이스 구축 장치 및 방법 | |
JP5349032B2 (ja) | 情報選別装置 | |
KR101180371B1 (ko) | 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템 |
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 |