一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

利用动态选择和分布式相关性进行联合搜索的系统和方法与流程

2022-04-27 08:32:36 来源:中国专利 TAG:

利用动态选择和分布式相关性进行联合搜索的系统和方法
1.相关申请的交叉引用
2.本技术要求于2020年3月20日提交的名称为“利用动态选择和分布式相关性进行联合搜索的系统和方法”的美国专利申请16/825,243的优先权,该申请要求于2019年6月12日提交的名称为“利用动态选择和分布式相关性进行联合搜索的系统和方法”的美国临时申请62/860,380的优先权,其内容通过引用整体并入本文。
技术领域
3.本说明书总体涉及信息检索,更具体地,涉及利用动态选择和分布式相关性进行联合搜索的系统和方法。


背景技术:

4.现有的信息检索或搜索应用程序通常涉及包括大量文档的语料库,该语料库被索引以允许通过搜索引擎轻松地搜索语料库。当搜索应用程序接收到搜索查询时,搜索引擎搜索语料库的索引以获得与该查询相关的文档。为了检查其他语料库,相同的搜索查询也可以被输入到其他应用程序以执行在那些语料库中的搜索。然而,使用不同的搜索应用程序执行对不同语料库的多种搜索可能不准确并且低效。最好输入一次搜索查询,然后使用该单个查询在多个搜索应用程序中执行搜索。这可以使用联合搜索技术来完成。
5.联合搜索允许基于单个搜索查询搜索多个语料库。然而,联合搜索可能需要用户指定将成为搜索的一部分的语料库或搜索引擎,并且用户可能对语料库不够熟悉,不知道哪些最适合搜索。因此,用户可能从联合搜索中省略重要的语料库,这会导致搜索结果中不包括重要的文档。可替代地,用户可以包括与搜索不是特别相关的语料库,这会引入不相关的结果并且可能不必要地降低搜索速度。另外,用户可能希望在包含在一个或多个语料库中的文档的一部分或子集上执行搜索。使用通常的联合搜索应用程序一般不可能实现这一点。
6.相应地,需要一种分析搜索查询并确定多个语料库中的哪些语料库适合使用该搜索查询进行搜索的系统和/或方法。另外,需要一种在语料库内的文档的子集上执行搜索的系统和/或方法。


技术实现要素:

7.在一个实施例中,一种方法可以包括在计算设备处接收搜索查询;执行该搜索查询的语义分析以识别包含在该查询内的一个或多个语义概念;基于该一个或多个识别的语义概念,选择一个或多个语料库;以及基于该搜索查询,执行对一个或多个语料库的搜索。
8.在另一个实施例中,一种用于执行联合搜索的系统可包括处理设备和非暂时性处理器可读存储介质,该存储介质包括存储于其上的一个或多个程序指令。当被执行时,该程序指令可以使处理设备从用户接收搜索查询;执行该搜索查询的语义分析并识别包含在搜索查询内的一个或多个语义概念;存储和多个联合搜索端点相关联的数据和访问每一个联
合搜索端点所需的句法;基于由语义查询解析器识别的语义概念,从端点定位器服务中选择一个或多个联合搜索端点;以及基于搜索查询和访问存储在该端点定位器服务中的每一个联合搜索端点所需的句法,创建针对由概念映射服务选择的一个或多个联合搜索端点中的每一个联合搜索端点的格式化的搜索查询。每一个联合搜索端点可以和文档语料库相关联。
9.在另一个实施例中,一种用于执行联合搜索的系统可包括一个或多个端点的联盟;处理设备;和非暂时性处理器可读存储介质,该存储介质包括存储于其上的一个或多个程序指令。当被执行时,该处理设备可以使处理器接收搜索查询并且通过将格式化的搜索查询提交到一个或多个端点中的每一个端点来将搜索查询与联盟的端点中的一个或多个端点联合。联盟的端点中的每一个端点可以和文档语料库相关联。联盟的端点中的每一个端点可以被配置为接收格式化的搜索查询;执行对和端点相关联的语料库的搜索;以及将搜索结果和与搜索结果的相关性相关联的统计一起返回。
10.鉴于以下具体实施方式并结合附图,将更充分地理解由在此描述的实施例提供的这些特征和附加特征。
附图说明
11.附图中阐述的实施例本质上是说明性和示例性的,并不旨在限制由权利要求书限定的主题。当结合以下附图阅读时,可以理解示例性实施例的以下具体实施方式,其中相同的结构用相同的附图标记表示并且其中:
12.图1根据本文所示或所述的一个或多个实施例示意性地描述了示例联合搜索架构;
13.图2根据本文所示或所述的一个或多个实施例示意性地描述了示例索引语料库;
14.图3根据本文所示或所述的一个或多个实施例示意性地描述了用于执行联合搜索的系统的示例性计算网络;
15.图4根据本文所示或所述的一个或多个实施例示意性地描述了图3的进一步说明可用于执行联合搜索的硬件和软件的服务器计算设备;
16.图5根据本文所示或所述的一个或多个实施例示意性地描述了包括图3的服务器计算设备和搜索端点联盟的系统;
17.图6根据本文所示或所述的一个或多个实施例示意性地描述了具有单独搜索应用程序接口和联合接口的示例索引语料库;和
18.图7根据本文所示或所述的一个或多个实施例描述了用于执行联合搜索的示例方法的流程图。
具体实施方式
19.本文所述的实施例涉及用于执行联合搜索的系统和方法。联合搜索涉及将搜索查询发送到多个可搜索内容仓库或端点。如本文所用,端点是能够访问可搜索内容的搜索应用程序,该搜索应用程序可以接收搜索查询并基于该查询返回合适的搜索结果。对应的搜索引擎可以执行对和端点相关联的可搜索内容的搜索。每一个端点可以包括可以由搜索引擎基于接收到的查询进行搜索的文档(例如,文章、书籍、小册子、教程、图像、综述等)的语
料库。一个端点可以包括包含单个类型的文档(例如,书籍)的语料库或者可以包括包含多个类型的文档(例如,书籍和新闻文章)的语料库。
20.另外,每一个端点通常具有从相关联的文档语料库创建的搜索索引。当建立搜索应用程序时,通常集合文档语料库。对于一些搜索应用程序,可以组合多个现有语料库以形成统一的复合语料库。每一个此类语料库可以包含不同类型的文档。在集合文档语料库之后,可以创建描述语料库中的文档的每一部分的模式。当执行对语料库的搜索时,此模式可以由搜索引擎使用。在创建该模式之后,软件可以用于读取语料库的每一个文档、根据该模式从每一个文档中选择感兴趣的部分、以及将每一个文档添加到索引。得到的索引将包括语料库中的文档和与每一个文档相关的多个词语、短语和概念之间的关联。
21.要执行搜索,用户向搜索应用程序提供搜索查询。搜索应用程序可以格式化该查询以匹配搜索引擎的索引模式并且可以随后将格式化的查询提交到搜索引擎。然后搜索引擎可以将该查询与索引匹配并且返回匹配结果列表。由于搜索索引的大小一般比语料库本身的大小小得多,通过搜索一个索引而不是语料库的实际文档,可以显著更快地执行搜索。
22.除了返回与搜索查询匹配的文档列表,搜索引擎还可以基于与搜索查询的相关性对文档评分并且基于此相关性评分将文档按排名顺序呈现。搜索引擎可以使用多种算法对文档排名。在一些应用程序中,最新发表的文档可以被认为更相关。在其他示例中,地理上接近搜索查询的文档可以被认为更相关(例如,用于本地业务的搜索)。在另一示例中,包含更匹配查询的短语的文档可以被认为更相关。搜索应用程序可以合并许多不同的因素以计算相关性排名。
23.文档相关性排名的一种方式是基于查询中的单词与语料库中的文档的文本相似度或形态相似度。特别地,可以使用两种统计:词频(tf)和逆向文档频率(idf)。查询词的tf值是与查询词出现在特定文档中的次数成比例的值。因此,针对语料库中的每一个文档,查询词可具有不同的tf值。期望的是和查询词有更多匹配的文档将比包含更少匹配的文档更相关。
24.同时,idf值是查询词在整个文档语料库上的稀缺性的量度。词语在语料库中出现地越少,idf评分将越高。因此,普通单词诸如“所述(the)”和“是(is)”将具有低idf评分,而仅出现在较少文档中的单词将具有高idf评分。
25.然后查询词的tf值和idf值可以通过相乘组合或通过组合词语的tf值和idf值的其他方式组合,以计算该词语的词频-逆向文档频率(tf-idf)评分。因此,如果查询词频繁出现在特定文档中但是不跨整个语料库频繁出现,则该文档将具有针对该查询词的高tf-idf评分,并且将可能与包含该词语的搜索查询特别相关。
26.当搜索一个或多个文档时,用户可以利用该用户认为最有可能包含该用户正在搜索的期望文档的搜索应用程序。然而,用户也可以期望使用多个搜索应用程序来搜索多个语料库并且提高所搜索文档的广度。这可以通过以下方式实现:通过将相同或相似的搜索查询输入到多个搜索应用程序,用户手动搜索多个端点。然而,这样可能耗费时间并且可能引入不相关结果。
27.搜索多个搜索应用程序的更高效的方式可能是利用元搜索应用程序。现有元搜索应用程序可以接收单个搜索查询作为输入并且可以随后将该搜索查询发送到多个搜索应用程序或端点。然后元搜索应用程序可以从每一个端点接收结果并且将单个组合搜索结果
列表呈现给用户。虽然这可以提高执行搜索的效率,但是元搜索应用程序不可能对比从每一个端点返回的搜索结果的质量。每一个端点相对于元搜索应用程序来说通常是黑匣子并且一般返回没有关于搜索结果相关性的附加信息的搜索结果列表。此外,元搜索应用程序通常将查询发送到所有搜索端点而不考虑端点与查询的相关性或适合性。
28.个别端点可能根据与搜索查询的相关性来提供排序列表中的搜索结果。然而,元搜索应用程序和用户可能难以对比由不同搜索应用程序返回的搜索结果的相关性。当每一个应用程序返回不同类型的文档时尤其如此。另外,每一个搜索应用程序可以使用不同的评分算法来对搜索结果排名,而且所用的算法可能是专有的和非公开的。要解决这些限制,可以执行联合搜索,如下所述。
29.联合搜索包括同时搜索联盟的一部分的多个端点、组合来自每一个端点的搜索结果、以及返回单个搜索结果列表。联合搜索应用程序可以接收搜索查询并且可以将单个查询发送到或联合到多个联合端点。每一个端点可以独立地执行对一个或多个相关联的语料库的搜索并且将搜索结果返回到联合搜索应用程序。然后联合搜索应用程序可以组合来自每一个端点的结果并且呈现组合搜索结果。
30.图1示出了示例联合搜索架构100的示意图。图1的联合搜索架构100包括由荷兰阿姆斯特丹的爱思唯尔公司(elsevier b.v.)提供的可用于搜索多个工程相关语料库的示例性搜索应用程序102。在其他示例中,可以使用与其他语料库相关联的其他搜索应用程序。
31.搜索应用程序102包括联合器104,该联合器接收搜索查询并且将该查询联合到多个端点106-122。每一个联合端点106-122执行对特定语料库的搜索并且将搜索结果返回到联合器104。作为非限制性示例,端点110搜索摘要数据库,端点112搜索生物医学数据库,端点114搜索专利数据库,端点116搜索工程研究数据库,以及端点118搜索第二工程数据库。其他联合端点也可以被包括在联盟中。
32.在联合搜索应用程序中,每一个端点独立地执行对相关联的语料库的搜索并且利用其自身的排名算法对找到的文档的相关性排名。联合端点中的每一个端点使用的排名算法经常互不兼容。另外,端点的排名算法经常是保密的并且端点仅返回搜索结果的排名列表而没有关于如何编译排名的任何信息。因此,联合搜索应用程序可能难以对不同端点返回的文档进行组合和排名。相应地,来自所有联合端点的组合搜索结果可能用途有限。
33.可替代地,联盟可以包含均共享用于对搜索结果排名的统计或其他信息的端点。相应地,联合搜索应用程序将搜索查询联合到此类联盟中的多个端点之后,每一个端点可以返回搜索结果以及用于对搜索结果的相关性排名的与搜索结果相关联的本地统计。然后,从每一个端点接收搜索结果和本地统计之后,联合搜索应用程序可以使用与搜索结果相关联的本地统计来为每一个端点识别的所有文档编译全局统计并且使用该全局统计来对每一个文档排名。这样可以形成联合端点返回的每一个文档的更准确的相关性排名。
34.在一个示例中,联盟的联合端点可以均返回识别为与搜索查询相关的每一个文档的词频-逆向文档频率(tf-idf)统计。然后联合搜索应用程序可以将tf-idf统计用于所有返回的文档以编译每一个此类文档的相关性排名(例如,通过其tf-idf评分对所有返回的文档排名)。在其他示例中,可以使用其他统计或评分算法代替tf-idf。在一些示例中,联盟的端点可以使用elasticsearch搜索引擎来返回搜索结果以及tf-idf或其他统计。
35.对于一些联合搜索应用程序,用户可以指定端点和对应的将成为搜索的一部分的
语料库。然而,用户可能不知道哪些端点最适合搜索特定查询。因此,用户可能选择过度包容或不够包容的用于搜索的端点。相应地,本公开提供了用于分析搜索查询并且基于该查询确定联盟的哪些端点最适合用于执行联合搜索的系统和方法。
36.另外,对于特定查询的搜索最好通过搜索与一个或多个端点相关联的一个或多个语料库的子集来执行。当端点与包括多个文档类型的语料库相关联时尤其如此。例如,示例性科学搜索应用程序可以包含包括科学期刊、教科书和其他类型的文档的语料库。当用户将查询输入到示例性科学搜索应用程序时,搜索相关联的语料库内的所有文档。然而,用户可能希望仅搜索期刊文章或仅搜索教科书章节。在典型的搜索应用程序中,这将需要创建包含所期望的内容(例如,仅期刊文章)的新语料库并且随后重新索引该新语料库。然而,使用本文所述的技术,可以搜索语料库的子集,如下进一步说明。
37.当语料库包含多个文档类型时,有多种方式可以索引语料库,如图2所示。图2示出了包含书籍和期刊的文档语料库200的示意图。在一个示例中,语料库200可以被设置为合并或单层语料库,如合并视图202所示,其中整个语料库被视为单个的同类体,不同的文档类型之间不区分索引。当搜索合并语料库时,搜索应用程序可以搜索整个语料库但可以不区别对待每一个文档类型。
38.在另一个示例中,语料库200可以被设置为复合语料库,如复合视图204所示,不同的文档类型存储在语料库的不同逻辑分区中。当搜索复合语料库时,搜索应用程序可以搜索整个语料库并且可以区别对待每一个文档类型(例如,对一个文档类型的加权大于另一个)。
39.在另一个示例中,语料库200可以被设置为分解语料库,如分解视图206所示,其中每一个文档类型存储在不同逻辑分区中并且一次仅可以搜索一个分区。因此,当搜索分解语料库时,搜索应用程序必须选择要搜索哪个分区(例如,要搜索哪个文档类型)。
40.在本公开中,和本文公开的系统一起使用的将成为联盟的一部分的端点包括其索引中识别语料库中的每一个文档的类型的字段。当创建搜索索引时(在索引时间),可以创建此字段。因此,联盟的端点可以作为合并语料库、复合语料库或分解语料库进行搜索。这也允许联合搜索跨与一个或多个联合端点相关联的语料库部分或子集执行。具体地,如果要搜索仅包含某个文档类型的语料库的子集,那么可以搜索索引中识别该文档类型的字段以确保仅合适类型的文档包括在搜索结果中。
41.这实质上允许搜索索引的逻辑分解。在上文讨论的示例中,使用搜索索引中识别语料库中的文档的类型的字段允许搜索索引被分解成期刊文章的索引和教科书的索引。这允许以相似方式仅针对期刊文章或仅针对教科书搜索该索引,就好像创建了两个单独的索引一样,而不需要真的创建两个单独的索引。此外,搜索索引的每一个逻辑分解可以被视为单独的端点。也就是说,语料库中的期刊文章可以被视为一个端点,并且语料库中的教科书可以被视为不同端点。
42.除了上文使用索引中的字段识别文档类型的示例之外,还可以使用索引中的其他字段识别语料库中的文档的其他特征,这些特征可用于形成搜索索引的逻辑分解。例如,在医学期刊文章的语料库中,某些文章可能与癌症相关并且可能期望具有仅与癌症相关的期刊文章的单独索引。在传统搜索应用程序中,这可能通过主题专家审查语料库中的所有文章、识别与癌症相关的文章并将与癌症相关的文章添加到新索引中来完成。然而,这可能是
时间和资源密集型的。
43.可替代地,使用本文所述的技术,语料库的索引可以具有识别文档的主题的字段。然后,在索引时间,如果文档是与癌症相关的,那么此字段可以被设置为癌症。因此,在完成索引之后,可以针对语料库中的所有文档或仅针对语料库中的与癌症相关的文档搜索该索引。这可以与数据库中的视图相似,其中可以参照该视图轻松访问该数据库的子集。类似地,在本公开中,使用搜索索引的一个或多个字段允许搜索一个索引的不同子集及其相关联的语料库,而无需重新索引该语料库。
44.现在参照图3,根据本文所示和所述的实施例,描述了示例性计算网络,示出了用于执行本文所述的功能的系统组件。如图3所示,计算机网络300可以包括诸如因特网的广域网、局域网(lan)、移动通信网络、公用电话网(pstn)和/或其他网络,并且可以被配置为电子地连接用户计算设备302a、服务器计算设备302b和管理员计算设备302c。
45.用户计算设备302a可用于使联合搜索更方便、显示和接收来自图形用户界面的用于执行此类联合搜索的输入、以及显示文档结果集和关于该文档结果集的信息。用户计算设备302a还可以用于执行其他用户功能。
46.除了别的以外,管理员计算设备302c可以执行针对服务器计算设备302b的管理功能。在服务器计算设备302b需要监督、更新或校正的情况下,管理员计算设备302c可以被配置为提供期望的监督、更新和/或校正。
47.服务器计算设备302b可以从用户计算设备302a接收搜索查询并且可以使用本文所述的技术执行联合搜索,从而起到联合搜索应用程序的作用。在执行联合搜索并且识别文档结果集之后,服务器计算设备302b可以将文档结果集发送到用户计算设备302a以便用户计算设备302a可以显示该文档结果集。服务器计算设备302b的组件和功能将在下文详细陈述。
48.应当理解,虽然用户计算设备302a和管理员计算设备302c被描述为个人计算机并且服务器计算设备302b被描述为服务器,但是这些是非限制性示例。更具体地,在一些实施例中,任何类型的计算设备(例如,移动计算设备、个人计算机、服务器等)都可以用于任何这些组件。另外,虽然这些计算设备中的每一个计算设备在图3中被示为单个硬件,但是这也仅仅是示例。更具体地,用户计算设备302a、服务器计算设备302b和管理员计算设备302c中的每一个可以表示多个计算机、服务器、数据库等。
49.图4描述了关于图3的服务器计算设备302b的附加细节。虽然在一些实施例中,服务器计算设备302b可以被配置为带有必备硬件、软件和/或固件的通用计算机,但在一些实施例中,该服务器计算设备302b可以被配置为协作计算设备的集合或甚至是为执行本文所述功能而专门设计的专用计算机。
50.还如图4所示,服务器计算设备302b可以包括处理器430、输入/输出硬件432、网络接口硬件434、数据存储组件436以及非暂时性内存和服务组件440。内存和服务组件440可以被配置为易失性和/或非易失性计算机可读介质并且同样可以包括随机存取存储器(包括sram、dram和/或其他类型的随机存取存储器)、闪存、寄存器、光盘(cd)、数字多功能光盘(dvd)和/或其他类型的存储组件。另外,内存和服务组件440可以被配置为存储运行逻辑402、联盟服务管理器404、语义查询解析器406、概念映射服务408、模式映射服务410和端点定位器服务412(作为示例,其中每一个可以被体现为计算机程序、固件或硬件)。图4还包括
网络接口450,并且该网络接口可以被实现为总线或其他接口以便于服务器计算设备302b的组件之间的通信。
51.处理器430可以包括被配置为接收并执行指令(诸如从数据存储组件436和/或内存和服务组件440)的任何处理组件。输入/输出硬件432可以包括监视器、键盘、鼠标、打印机、相机、麦克风、扬声器、触摸屏和/或用于接收、发送和/或呈现数据的其他设备。网络接口硬件434可以包括任何有线或无线网络硬件,诸如调制解调器、lan端口、无线保真(wi-fi)卡、wimax卡、移动通信硬件和/或用于与其他网络和/或设备通信的其他硬件。
52.应当理解,数据存储组件436可以位于服务器计算设备302b的本地和/或远程并且可以被配置为存储用于由服务器计算设备302b和/或其他组件访问的一个或多个数据。数据可以存储在数据存储组件436中以为本文所述功能提供支持。
53.包括在内存和服务组件440中的是运行逻辑402、联盟服务管理器404、语义查询解析器406、概念映射服务408、模式映射服务410和端点定位器服务412。运行逻辑402可以包括操作系统和/或用于管理服务器计算设备302b的组件的其他软件。类似地,联盟服务管理器404可以控制本文所述的联合搜索功能的操作。语义查询解析器406可以分析查询并且识别该查询内的可搜索语义概念。概念映射服务408可以将语义概念映射到具体的联合端点。模式映射服务410可以将接收到的查询映射到具有用于特定端点的合适句法的查询。端点定位器服务412可以定位联合端点。联盟服务管理器404、语义查询解析器406、概念映射服务408、模式映射服务410和端点定位器服务412的功能将在下文进一步详细描述。
54.应当理解,图4所示的组件仅仅是说明性的并且不意在限制本公开的范围。更具体地,虽然图4的组件被示为位于服务器计算设备302b内,但这是非限制性示例。在一些实施例中,该组件中的一个或多个组件可以位于服务器计算设备302b之外。类似地,虽然图4针对的是服务器计算设备302b,但是诸如用户计算设备302a和管理员计算设备302c的其他组件可以包括相似的硬件、软件和/或固件。
55.如上所述,相对于图4所述的各个组件可以用于实施一个或多个过程和/或提供用于执行联合搜索的功能。相对于图7描述了各个过程的说明性示例。尽管与图7的框相关联的步骤将被描述为单独的任务,但在其他实施例中,可以合并或省略框。进一步,虽然与图7的框相关联的步骤将被描述为以特定次序执行,但在其他实施例中,能够以不同次序执行步骤。
56.现在参照图5,根据本公开示出了用于执行联合搜索的系统500。系统500包括服务器计算设备302b和包括多个联合端点514、516、518、520、522的联盟501。为了便于说明,用户计算设备302a和管理员计算设备302c未示出,但是也可以包括在系统500中。在图5的示例中,五个联合端点被示为联盟501的一部分。然而,应当理解,系统500的联盟501可以包括任意数量的联合搜索端点。联盟501的每一个端点514、516、518、520、522可以作为与服务器计算设备302b结合的联合端点操作以执行联合搜索。另外,每一个端点514、516、518、520、522可以作为独立搜索应用程序操作,如在下文结合图6进一步详细讨论。服务器计算设备302b可以访问联盟501的端点以执行本文进一步详细描述的联合搜索(例如,经由网络接口硬件434)。在一些示例中,联盟501的端点可以位于服务器计算设备302b本地(例如,在数据存储组件436中)。
57.图6示出了与端点(图5的端点514)相关联的索引文档语料库600的示意图。语料库
600具有单独搜索应用程序接口602和联合接口604。单独搜索应用程序接口602可以为单独搜索应用程序606(例如,独立搜索应用程序)提供接口。另外,联合接口604可以为一个或多个联合搜索应用程序(例如,联合搜索应用程序608、610、612、614、616或图3的服务器计算设备302b)提供接口。同样地,索引语料库600可以用作独立搜索应用程序或与联合搜索应用程序结合。
58.当作为独立搜索应用程序操作时,诸如与单独搜索应用程序606,通过单独搜索应用程序接口602从用户接收搜索查询。然后基于接收到的搜索查询搜索语料库600并且通过单独搜索应用程序接口602将搜索结果返回到单独搜索应用程序606。可替代地,当结合联合搜索应用程序操作时,诸如联合搜索应用程序608,通过联合接口604从联合搜索应用程序608接收搜索查询。然后搜索语料库600并且通过联合接口604将搜索结果返回到联合搜索应用程序608。实际上,语料库600可以同时将搜索结果供应给单独搜索应用程序并且将结果贡献给联合搜索应用程序。此外,每一个联合搜索应用程序608、610、612、614、616可以利用多个端点,诸如语料库600。
59.返回参照图5,每一个端点514、516、518、520、522被配置为使用一个或多个相关性统计基于与搜索查询的相关性对搜索结果排序并将相关性统计与服务器计算设备302b共享。在所示示例中,端点514、516、518、520、522使用td-idf统计对搜索结果的相关性排序。然而,在其他示例中,可以使用其他相关性统计。端点514、516、518、520、522均与服务器计算设备302b共享其局部相关性统计以使服务器计算设备302b提供全局相关性统计。
60.返回参照图4,将描述服务器计算设备302b的内存和服务组件440的组件。端点定位器服务412包括可以被访问以执行搜索的可用联合端点(例如,端点514、516、518、520、522)的目录。另外,端点定位器服务412可以维护在每一个联合端点处可用的内容子集的索引或目录以及访问每一个内容子集所需的句法。端点定位器服务412维护的目录可以包括联盟501的每一个联合端点的位置以便每一个端点可以在需要时被访问。可以动态地维护每一个端点的位置以提高系统500对于非硬连线到特定位置的端点的灵活性。
61.端点定位器服务412可以为合并索引以及复合索引内的逻辑文档集合维护联合搜索端点的电子目录。联合端点的内容子集可以包括来自合并索引的内容、从复合索引分解的子集、或复合索引内的内容的集合(例如,所有生物学期刊或所有物理教科书)。
62.端点定位器服务412可以包括关于访问联盟501的每一个联合端点的每一个可用内容子集所需的查询句法的维护信息。因此,如果不同的端点和端点内的不同内容子集需要不同的句法以访问并搜索它们,那么端点定位器服务412能够确保服务器计算设备302b利用合适的句法搜索每一个端点或其内容。具体地,当服务器计算设备302b接收到特定查询时,端点定位器服务412可以将接收到的查询映射到具有用于要搜索的每一个端点或其子集的合适句法的查询。这可以使用模式映射服务410来完成,如下所述。
63.联盟501内的每一个端点可以具有特定模式,其描述了用于端点的索引内的可搜索字段。当特定索引对于与该索引相关联的语料库的不同部分具有用于相同字段的不同名称时,模式可以提供不同的字段名称之间的映射。例如,端点可以与具有书籍和小册子的语料库相关联。书籍可以具有标题字段“书籍_标题”,并且小册子可以具有标题字段“小册子_标题”。相应地,针对语料库中的标题的查询可以搜索两个标题字段以搜索整个语料库。因此,联盟501中的每一个端点可以将此模式信息提供给服务器计算设备302b,并且此信息可
以由模式映射服务510管理。
64.模式映射服务410可以为联盟501中的每一个端点和联盟501中的每一个端点内的可用内容子集维护模式列表。因此,当服务器计算设备302b接收查询和联盟501的要搜索的某些端点时,联盟服务管理器404可以访问模式映射服务410以确定用于搜索每一个期望端点并且用于将接收到的查询映射到合适的查询以发送到每一个此类端点的合适模式。
65.当执行联合搜索时,用户可以拥有他们希望通过搜索查询搜索的一组具体的端点。在此情况下,用户可以指定要搜索的特定端点,并且搜索查询可以被联合到指定的端点。然而,在许多情况下,用户可能不知道哪些端点最适合搜索特定搜索查询。相应地,服务器计算设备302b可以确定联盟的哪些端点最适合搜索特定查询,如下所说明。
66.语义查询解析器406可以分析服务器计算设备302b接收到的查询并且可以识别该查询内的语义概念。这可以通过执行该查询的语义分析来完成。在一些示例中,语义查询解析器406使用自然语言处理软件(诸如,非限制性地,spacy或natural language toolkit)来识别该查询内的语义概念。在其他示例中,其他方法可以用于识别该查询内的概念。例如,如果服务器计算设备302b接收到了查询“心脏瓣膜材料”,则语义查询解析器406可以将“心脏瓣膜”识别为查询中包含的一个语义概念并且将“材料”识别为查询中的另一个语义概念。在另一示例中,如果服务器计算设备302b接收到了查询“心脏瓣膜材料专利”,则语义查询解析器306可以将“心脏瓣膜”识别一个语义概念,将“材料”识别为一个语义概念并且还将“专利”识别为第三语义概念。
67.一旦语义查询解析器406识别了查询内的语义概念,概念映射服务408可以将识别的语义概念映射到具体的联合端点。每一个端点可以具有广泛识别包含在语料库或与端点相关联的语料库中的主题的类型的高阶表示或元索引。例如,用于特定端点的元索引可以包括诸如“医学”或“专利”的主题。因此,概念映射服务408可以搜索每一个端点的元索引以将语义查询解析器406识别的语义概念映射到要搜索的具体端点。在其他示例中,概念映射服务408可以搜索端点的索引而不是元索引以将语义概念映射到特定端点。
68.在上述关于查询“心脏瓣膜材料专利”的示例中,其中语义查询解析器406识别了语义概念“心脏瓣膜”、“材料”和“专利”,概念映射服务408可以访问联盟501的每一个端点的索引或元索引并且仅选择具有其索引中列出的这些主题中的一个或多个主题的端点作为要搜索的端点。在此示例中,概念映射服务408可以识别与医学、工程和专利语料库相关联的端点作为应该被搜索的端点。例如,概念映射服务408可以识别具有包含医学期刊、工程期刊和专利数据库的语料库的端点。
69.另外,概念映射服务408可以识别与要搜索的联盟的一个或多个端点相关联的一个或多个语料库子集。例如,端点518可以具有包括专利和其他类型的文档的语料库。对于“心脏瓣膜材料专利”查询,概念映射服务408可以确定与专利相关的语料库的一部分应该被搜索但是该语料库的剩余部分不应该被搜索。一旦概念映射服务408识别了其要搜索的子集的一个或多个端点,该查询可以被联合到所识别的端点。
70.图7描述了用于由系统500执行联合搜索的示例方法的流程图。在步骤702,搜索查询由服务器计算设备302b接收。然后联盟服务管理器404调用语义查询解析器406以执行对接收到的查询的语义分析。
71.在步骤704,语义查询解析器406分析该查询以识别该查询内包含的一个或多个语
义概念。语义查询解析器406也可以识别可能包含合适的搜索结果的一个或多个类型的语料库。然后联盟服务管理器404将语义查询解析器406识别的语义概念传递给概念映射服务408。
72.在步骤706,概念映射服务408访问端点定位器访问412以定位联盟501的可能包含与该搜索查询相关的搜索结果的端点。端点定位器服务412维护联盟501的所有可用端点的列表及其可搜索子集。同样地,通过访问端点定位器服务412,概念映射服务408可以基于语义查询解析器406识别的概念确定联盟501的哪些端点适合用于搜索。
73.在一些示例中,概念映射服务408可以识别联盟501的具有类似于语义查询解析器406识别的语料库的类型(例如,上文所讨论的示例中的医学、工程和专利相关语料库)的相关联语料库的端点。在一些示例中,概念映射服务408可以识别联盟501的具有类似于语义查询解析器406识别的语料库的类型的语料库(例如,复合或分解语料库)的子集的端点。概念映射服务408也可以基于端点的当前服务负载、端点的位置、或与端点的性能相关的其他因素识别端点。联盟服务管理器404可以缓存概念映射服务408识别的端点以用于后续使用。
74.在步骤708,联盟服务管理器404调用模式映射服务410以将搜索查询映射到用于由概念映射服务408识别的每一个端点的合适的模式。模式映射服务410可以调用端点定位器服务412以识别用于识别的端点中的每一个端点的合适的查询句法。然后,对于识别的端点中的每一个端点,模式映射服务410创建适当格式化的查询以基于存储在端点定位器服务412中的查询句法以及接收到的搜索查询搜索该端点。在概念映射服务408识别与要搜索的端点相关联的内容的子集的示例中,模式映射服务410可以创建将使只有合适的子集被搜索的查询。
75.在步骤710,联盟服务管理器404将搜索查询联合到由概念映射服务408识别的端点中的每一个端点。这涉及使用由模式映射服务410创建的查询句法将查询发送到每一个识别的端点。联盟服务管理器404可以调用端点定位器服务412以识别每一个识别的端点的位置。然后每一个识别的端点接收搜索查询和合适的句法并且基于接收到的查询执行对与该端点相关联的合适的内容的搜索。在识别的端点执行其搜索之后,每一个端点将搜索结果与局部相关性统计(例如,tf-idf统计)一起返回到联盟服务管理器404,其中该局部相关性统计可以由联盟服务管理器404用于为所有返回的搜索结果创建全局相关性排名。
76.在步骤714,在从识别的端点中的每一个端点接收搜索结果和局部相关性统计之后,联盟服务管理器404使用所有的局部相关性统计来为所有的搜索结果创建全局相关性排名。例如,如果每一个端点返回用于每一个搜索结果的tf-idf统计,则联盟服务管理器404可以对由所有识别的端点返回的每一个搜索结果按照其tf-idf评分排序。然后联盟服务管理器404将搜索结果和相关性排名返回到用户(例如,通过将搜索结果和相关性排名发送到可以将其显示给用户的用户计算设备302a)。
77.现在应当理解,本文所述的实施例是针对用于执行联合搜索的系统、装置和方法。联合搜索应用程序可以接收搜索查询并且可以分析该查询以识别该查询内包含的一个或多个语义概念。然后联合搜索应用程序可以基于识别的语义概念确定一个或多个端点来执行搜索并且可以将搜索联合到识别的端点。然后识别的端点可以执行对其相关联的语料库(可以包括复合或分解语料库)的搜索,并且将搜索结果和用于搜索结果的局部相关性统计
一起返回到联合搜索应用程序。
78.联合搜索应用程序可以从识别的端点中的每一个端点接收搜索结果连同局部相关性统计,并且可以组合搜索结果和局部相关性统计以获得带有全局相关性统计的组合搜索结果。联合搜索端点可以基于全局相关性统计对组合搜索结果排序并且将排序后的搜索结果呈现给用户。
79.注意,本文中术语“实质上”和“关于”可用于表示可归因于任何定量比较、值、测量或其他表示的固有不确定度。本文还使用这些术语来表示定量表示可能与所述参考不同的程度,而不会导致所讨论主题的基本功能的变化。
80.虽然本文已经说明和描述了特定实施例,但是应当理解,可以在不脱离所要求保护的主题的精神和范围的情况下进行各种其他改变和修改。此外,尽管本文已经描述了所要求保护的主题的各个方面,但不需要组合使用这些方面。因此,所附权利要求旨在涵盖在所要求保护的主题范围内的所有此类改变和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献