CN114072788B - 从搜索引擎进行随机采样的方法和系统 - Google Patents
从搜索引擎进行随机采样的方法和系统 Download PDFInfo
- Publication number
- CN114072788B CN114072788B CN202080049008.0A CN202080049008A CN114072788B CN 114072788 B CN114072788 B CN 114072788B CN 202080049008 A CN202080049008 A CN 202080049008A CN 114072788 B CN114072788 B CN 114072788B
- Authority
- CN
- China
- Prior art keywords
- time
- documents
- search
- corpus
- time window
- 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/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/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- 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/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Abstract
本发明涉及一种用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的方法。提供随机样本文档中的每个包括从基于时间的桶的集合中随机地选择基于时间的桶。搜索查询被发送到搜索引擎接口,其定义对语料库的文档的搜索,该文档具有由随机选择的基于时间的桶定义的时间窗口内的时间戳。响应于搜索查询的发送,搜索结果从搜索引擎接口接收。搜索结果包括语料库的具有在由随机选择的基于时间的桶定义的时间窗口内的时间戳的所有文档的集合。此外,随机地选择由所接收的文档集合包括的一个文档。
Description
技术领域
本公开涉及电子数据处理领域,并且更具体地涉及来自搜索引擎的随机采样。
背景技术
在Z.Bar-Yossef和M.Gurevich于Journal of the ACM,vol.55,issue 5,articleno.24,2008中的文章“Random sampling from a search engine’s index”中,其引用了K.Bharat和A.Broder于Proceedings of the 7th International World Wide WebConference(WWW7),pages 379-388,1998中的文章“A technique for measuring therelative size and overlap of public Web search engines”,该文章描述了仅使用搜索引擎的公共接口从由搜索引擎索引的文档语料库中采样随机文档的方法。制定随机查询并将其提交给搜索引擎。从返回的结果集中挑选统一选择的文档。为了构建随机查询,需要出现在搜索的语料库的文档中的项的词典。词典中的每个术语伴随有其频率的估计。通过基于项的估计频率从词典中随机选择项作为搜索项并且取其结合或析取来制定随机查询。在预处理步骤中通过爬取文档语料库来构建词典。
Bharat和Broder的技术具有有利于长文档的缺点,因为这样的文档由于它们的更丰富的内容一般比更短的文档匹配更多的随机查询。另一问题是公共搜索引擎通常不允许访问查询的结果的完整列表,而是仅允许访问预定义最大数目的结果,即前N个结果。由此,对于具有多于N个可能的结果的随机查询,Bharat-Broder方法偏向于在前N个搜索结果内具有高静态排名的文档。对于具有随机搜索项的析取组合的查询,这尤其可以是这种情况。为了缓解这个问题,Bharat和Broder方法使用估计的项频率来选择不太可能返回多于N个结果的查询。然而,随着由搜索引擎索引的文档语料库的文档数量的数量级增加,虽然N通常保持恒定,但是用于查询选择的该解决方案变得无效。可能几乎不可能找到随机项,从而使得包括这些随机项的析取查询返回少于N个结果。如果发现具有小于N个结果的析取查询,则使用这些查询可能具有仅实际采样语料库的小子集的缺点。即使通过增加由查询包括的随机项的数量更容易构造具有小于N个结果的联合查询,使用更随机项也增加了朝向较长文档增加的偏向,特别是朝向具有大量项的文档,如字典和词语列表。
即使在修改Bharat-Broader方法以避免这种偏向的情况下,如由Z.Bar-Yossef和M.Gurevich于Journal of the ACM,vol.55,issue 5,article no.24,2008中的文章“Random sampling from a search engine’s index”所描述的那种,依然存在Bharat-Broader的缺点:尤其从多语种的大型语料库中产生真实随机样本很昂贵。这可能需要搜索接口的数百万次调用来获得随机样本。
发明内容
不同实施例提供了用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的方法,以及用于执行如独立权利要求的主题所述的方法的计算机程序产品和计算机系统。在从属权利要求中描述了有利的实施例。如果本发明的实施例不相互排斥,则它们可以彼此自由组合。
在一个方面,本发明涉及一种用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的方法。搜索引擎包括索引文档语料库的搜索索引。语料库的每个文档被分配有时间戳。
所述方法包括确定感兴趣的时间帧(timeframe)。提供一个或多个随机样本文档。每个随机样本文档的时间戳在感兴趣的时间帧内。
提供随机样本文档中的每个包括从基于时间的桶的集合中随机地选择基于时间的桶。该基于时间的桶的集合将感兴趣的时间帧分割成多个时间窗口。每一个基于时间的桶定义时间窗口之一。对于每个时间窗口,具有在相应时间窗口内的时间戳的、语料库所包括的文档的数量满足第一预定义标准。搜索查询被发送至搜索引擎接口以供搜索引擎使用搜索索引来执行。搜索查询定义对具有由随机选择的基于时间的桶定义的时间窗口内的时间戳的语料库的文档的搜索。响应于搜索查询的发送,从搜索引擎接口接收搜索结果。搜索结果包括语料库的具有在由随机选择的基于时间的桶定义的时间窗口内的时间戳的所有文档的集合。随机地选择由所接收的文档集合包括的文档之一。
根据实施例,对于基于时间的桶的随机选择,该方法进一步包括使用第一搜索查询确定基于时间的桶集合的第一子集的第一基于时间的桶。确定第一基于时间的桶中的每个包括选择具有预定宽度的感兴趣的时间帧内的第一时间窗口。生成第一搜索查询,该第一搜索查询定义了对具有第一时间窗口内的时间戳的语料库的文档的搜索。第一搜索查询被发送至搜索引擎接口以供搜索引擎使用搜索索引来执行。响应于第一搜索查询的发送,从搜索引擎接口接收第一搜索结果。第一搜索结果包括语料库的具有在由第一搜索查询定义的第一时间窗口内的时间戳的文档集。如果接收的第一搜索结果满足关于将由基于时间的桶包括的文档的数量的第一预定义标准,则生成包括由第一搜索查询使用的第一时间窗口的定义的第一基于时间的桶。否则,调整第一时间窗口,并且使用具有调整的第一时间窗口的调整的第一搜索查询执行进一步搜索。
根据实施例,针对基于时间的桶的随机选择,该方法进一步包括预测基于时间的桶集合的第二子集的第二基于时间的桶。第二基于时间的桶使用第一基于时间的桶定义预定义的时间帧内的第二时间窗口,使得所有预测的第二时间窗口满足第一预定义标准。
根据实施例,该方法还包括检查所接收的搜索结果是否满足关于搜索结果所包括的文档的数量的第二预定义标准。如果不满足第二预定义标准,则调整由随机选择的基于时间的桶定义的时间窗口的宽度。
根据实施例,该方法还包括使用所提供的一个或多个随机样本文档来执行统计分析。
在另一方面,本发明涉及一种包括非易失性计算机可读存储介质的计算机程序产品,该非易失性计算机可读存储介质具有随其体现的机器可执行程序指令,用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档。搜索引擎包括索引文档语料库的搜索索引。语料库的每个文档被分配有时间戳。
通过计算机的处理器执行程序指令,使处理器控制计算机系统以确定感兴趣的时间帧。提供一个或多个随机样本文档。每个随机样本文档的时间戳在感兴趣的时间帧内。
提供随机样本文档中的每个包括从基于时间的桶的集合中随机地选择基于时间的桶。该基于时间的桶的集合将感兴趣的时间帧分割成多个时间窗口。每一个基于时间的桶定义时间窗口之一。对于每个时间窗口,具有在相应时间窗口内的时间戳的、语料库所包括的文档的数量满足第一预定义标准。搜索查询被发送至搜索引擎接口以供搜索引擎使用搜索索引来执行。搜索查询定义对具有由随机选择的基于时间的桶定义的时间窗口内的时间戳的语料库的文档的搜索。响应于搜索查询的发送,从搜索引擎接口接收搜索结果。搜索结果包括语料库的具有在由随机选择的基于时间的桶定义的时间窗口内的时间戳的所有文档的集合。随机地选择由所接收的文档集合包括的文档之一。
在另一方面,本发明涉及一种用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的计算机系统。搜索引擎包括索引文档语料库的搜索索引。语料库的每个文档被分配有时间戳。该计算机系统包括处理器和存储机器可执行程序指令的存储器。
处理器对程序指令的执行使处理器控制计算机系统以确定感兴趣的时间帧。提供一个或多个随机样本文档。每个随机样本文档的时间戳在感兴趣的时间帧内。
提供随机样本文档中的每个包括从基于时间的桶的集合中随机地选择基于时间的桶。该基于时间的桶的集合将感兴趣的时间帧分割成多个时间窗口。每一个基于时间的桶定义时间窗口之一。对于每个时间窗口,具有在相应时间窗口内的时间戳的、语料库所包括的文档的数量满足第一预定义标准。搜索查询被发送至搜索引擎接口以供搜索引擎使用搜索索引来执行。搜索查询定义对具有由随机选择的基于时间的桶定义的时间窗口内的时间戳的语料库的文档的搜索。响应于搜索查询的发送,从搜索引擎接口接收搜索结果。搜索结果包括语料库的具有在由随机选择的基于时间的桶定义的时间窗口内的时间戳的所有文档的集合。随机地选择由所接收的文档集合包括的文档之一。
附图说明
在下文中,参照附图仅通过示例的方式更详细地解释本发明的实施例,在附图中:
图1描绘了根据实施例的示例性计算机系统的示意图,
图2描绘了根据实施例的示例性搜索基础设施的示意图,
图3描绘了根据实施例的示例文档装桶的示意图,
图4描绘了根据实施例的用于提供随机样本文档的示例性方法的示意性流程图;
图5描绘了根据实施例的用于确定基于时间的桶的示例性方法的示意性流程图,以及
图6描绘了根据实施例的用于确定基于时间的桶的示例性方法的示意性流程图。
具体实施方式
本发明的各种实施例的描述是为了说明的目的而给出的,但并不旨在是穷尽性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
实施例可以具有提供用于从经由搜索引擎访问的文档语料库中提供随机样本文档的高效方法的有益效果。与已知办法不同,各实施例不依赖于用于检索文档的基于内容的搜索项,而是依赖于基于时间的搜索项。根据实施例的搜索查询的结果以及因此的采样独立于文档的内容以及长度。换言之,提供了一种用于获取文档的方法,该方法独立于文档内容以及文档大小。由此,不需要额外的努力或额外的测量来确保采样关于文档的内容或大小是无偏向的。在文档和/或文档的内容包括不同类型(如不同语言或格式的文档或类似多语言文档)的情况下,实施例可能是特别有利的。
实施例可以具有以下有益效果:在不需要直接访问或拥有搜索索引和/或文档语料库的情况下实现随机采样。然而,实施例可以独立于搜索引擎对搜索结果的文档强加的任何排名。
文档可以是任何类型的电子文件,例如数据文件、文本文件、音频文件、图像文件或视频文件。随机样本文档可以用于对文档语料库的统计分析。采样可以用于估计语料库的文档的特征和/或由文档提供的数据所描述的特征或实体的特征。使用采样可以具有提供比分析语料库的每个文档更加成本有效和更快的数据收集的优点。随机地并且完全偶然地选择每个单独的样本文档,使得语料库的每个文档可以具有在采样过程期间的任何阶段被选择的相同概率。
搜索引擎是被设计为对文档语料库以系统性方式针对搜索查询中指定的特定信息执行搜索(例如web搜索)的软件系统。搜索结果可以以识别满足由所使用的搜索查询定义的搜索标准的文档的列表的形式来呈现。该列表可以包括指向语料库的相应文档的指针,例如链接。搜索引擎还可以被配置用于爬取和/或索引文档语料库。索引可包括收集、解析和存储索引形式的数据,以促进快速和精确的信息检索。索引可以包括指向语料库的每个文档的指针。
实施例可以用于为文档语料库(如大云数据源)提供关于某种数据(例如,敏感数据)存在于该语料库中的风险有多大的风险评估。在文档是数据文件的情况下,可以执行统计数据分析。因此,可以确定特定事件的发生或系统(如生产设施或计算机系统)的状态。这种统计分析的结果可以用于确定要采取以防止风险和/或解决问题的行动。结果可以用于维护,即,服务、修理或更换必要的装置、设备、机械、建筑基础设施和支持公用设施。结果可以特别用于预测性维护。
根据实施例,搜索引擎接口经由诸如内联网或互联网的网络来访问。类似于经由万维网(也被称为万维网)提供的数据,非结构化数据正在快速增长,并且管理该数据变得越来越挑战。为了能够有效地执行对非结构化数据的查询,使用了搜索索引。然而,在大量的非结构化数据集合上,特别是在快速增长的数据集合上生成和维护搜索索引可能变得复杂、耗时且昂贵。存在类似共享点或云数据源的应用,例如,Google等,其提供开箱即用的能力。然而,可能无法及时地分析索引的所有文档,尤其是当索引包含数百万个文档并且对索引可执行的操作具有时间限制时,例如,由于通用数据保护调节(GDPR)。为了能够做出更快和/或更有效的决定,使用统计方法仅检查大数据集的代表性的小部分来得出关于整个数据集(即,文档语料库)的合理结论可能就足够了。然而,为了能够检索随机文档以用于统计分析,通常,要求对整个数据集的非受限访问能够提供真实随机样本。在使用搜索索引访问数据集的情况下,需要对搜索索引的不受限访问。然而,对搜索索引的这种不受限的访问通常被预留给搜索索引的所有者。实施例可具有使得能够使用现有(例如,公共)搜索引擎接口产生真实随机样本的有益效果,即使在受限访问的情况下。
实施例可以具有提供随机样本从而使得例如客户端设备上提供的应用能够使用随机样本来执行统计分析的有益效果。可能需要用于统计分析的随机样本的应用类型可以例如包括在GDPR或敏感数据评估的背景下工作的应用。随机样本可以例如用于检查大型文档语料库是否没有敏感数据,如信用卡号、出生日期、社会保障号等。其他类型的应用是风险评估应用,其使用小的随机样本(即,数据的子集)针对任何种类的风险检查大数据集的内容。
桶(bucket)定义用于选择文档的参数集合或参数范围,所述文档包括所定义范围内的参数值。基于时间的桶(time-based bucket)定义用来选择包括所定义范围(即时间窗口)内的时间规范的文档的基于时间的参数的范围(即时间规范)。因此,基于时间的桶的集合可以将语料库的时间帧划分为多个时间窗口,每个时间窗口包括具有在相应时间窗口内的时间规范的语料库的文档的子集。
根据实施例,基于时间的桶的定义基于指派给每个文档的时间规范,例如文档创建时间、发布时间或最后修改时间。相反,基于术语的桶的定义基于文档所包括的词汇项和/或词汇项的组合,即文档的内容。实施例可以具有以下有益效果:一旦例如基于文档创建时间或发布时间确定桶,桶可以随时间稳定并且可以持续到搜索引擎外部。假设文档被添加到语料库并且在创建或发布时由搜索引擎索引,则语料库的修改可以被限制为最近的时间段。较旧文档的库存可以保持恒定,并且因此那些文档的桶的任何定义可以保持有效。此外,可能需要少得多的查询来获得随机样本,这可以减少搜索引擎的负载,并且因此保证更快地确定随机样本。
根据实施例,给定文档语料库可被装桶,即,语料库被划分为多个桶。对于随机采样,可以从这多个桶中随机挑选桶,并且可以从随机挑选的桶中随机选择文档。
根据实施例,桶可满足以下要求:每个桶的文档数量(即,桶的大小)可小于搜索引擎对搜索结果施加的结果数量限制。如果相应时间窗口内的文档密度彼此不同,那么相同大小的基于时间的桶可以定义不同大小的时间窗口。所有桶可以具有相同的大小,使得文档语料库中的每个文档具有相同的被随机选择的机会。在桶具有不同大小的情况下,可以执行附加处理以确保每个桶具有被随机挑选的相同机会。当随机选择桶的文档之一时,可执行附加的拒绝采样以确保采样过程的数学正确性。
对于难以直接采样的目标分布d1,拒绝采样可以使用容易采样的试验分布d2,其中来自d2的样本用于模拟来自d1的采样。从试验分布d2重复产生样本,直到样本被接受。为了决定是否接受样本X,应用接受-拒绝过程。接受-拒绝以接受概率pRS接受样本X(称为接受函数)。拒绝采样使用接受-截留过程来桥接d2与d1之间的间隙。当d1是均匀分布并且d2是某种非均匀分布时,接受拒绝过程将高接受概率分配给在d2中具有低概率的实例并且将低接受概率分配给在d2中具有高概率的实例。由此,接受-拒绝过程使分布d2平滑,使得对于任何d1和d2,所接受样本的分布恰好为目标分布d1。
实施例可以具有确定具有少量查询的桶的有益效果。优选地,通过尽可能少的查询确定桶,因为每个查询意味着搜索引擎的负载并且一些搜索引擎具有查询速率限制。这意味着每个预定义时间间隔所允许的查询数目是有限的。
实施例可以具有以下有益效果:第一基于时间的桶(即,使用搜索查询确定的基于时间的桶)可以用于预测另外的基于时间的桶(即,第二基于时间的桶)。并非必须使用搜索查询来确定划分感兴趣的时间帧的基于时间的桶的集合中的所有基于时间的桶。使用搜索查询仅确定第一基于时间的桶,即,基于时间的桶的集合的子集。由此,要被发送到搜索引擎的搜索查询的数量可以被最小化。第一基于时间的桶可以(例如,均匀地或随机地)分布在感兴趣的时间帧上。根据实施例,可以使用所预测的基于时间的桶(例如,在已经为了准确性被成功测试之后)来预测更多基于时间的桶。根据实施例,所预测的基于时间的桶可能必须满足第二预定义标准以用于进一步的预测。
实施例可以具有以下有益效果:通过在随机采样期间检查所接收的搜索结果是否满足第二预定义标准,可以改善基于时间的桶的确定。例如,可以改善基于时间的桶。因此,必要时,可以检查并且提高第二基于时间的桶的预测的质量。例如,可以改进用于预测第二基于时间的桶的模型,如机器学习模型。在机器学习模型的情况下,可以使用改进的基于时间的桶作为附加的训练数据来重新训练机器学习模型。根据实施例,第一和第二预定义标准可以是相同的。根据实施例,第一和第二预定义标准可以是不同的。
根据实施例,用于创建装桶的算法在初始装桶阶段中被优化,以便使用尽可能少的查询。优化可以包括在采样期间确定第一基于时间的桶和/或检查搜索结果。根据实施例,在从搜索引擎检索随机样本文档时,可例如通过检查搜索结果来随时间进一步优化基于时间的桶以获得更好的分布。实施例可以具有能够改进由从中检索随机文档的基于时间的桶提供的时间窗口的定义的有益效果。实施例可以具有确保更好的性能和针对搜索基础设施的更少的查询负载的有益效果。
根据实施例,第二预定义标准定义待被搜索结果包括的文档的数量匹配的文档的数量。实施例可以具有确保用于随机采样的所有基于时间的桶提供包括相同数量的文档的搜索结果的有益效果。
根据实施例,第二预定义标准定义要包括搜索结果的文档的数量的数字范围。实施例可以具有确保用于随机采样的所有基于时间的桶提供具有相同范围内的文档数量的搜索结果的有益效果。
根据实施例,调整时间窗口包括调整时间窗口的宽度。如果具有在时间窗口内的时间戳的语料库的文档的数量太大而不能满足第二预定义标准,则时间窗口的宽度减小,而如果具有在时间窗口内的时间戳的语料库的数量太小而不能满足第二预定义标准,则时间窗口的宽度增加。实施例可具有提供根据基于时间的桶调整由搜索结果提供的文档的数量使得每个搜索结果满足第二预定义搜索标准的有效方式的有益效果。
根据实施例,该方法还包括:根据对由随机选择的基于时间的桶定义的时间窗口的调整,至少调整由与随机选择的基于时间的桶相邻的基于时间的桶定义的时间窗口。实施例可具有进一步调整邻近于随机选择的基于时间的桶的基于时间的桶的有益效果。因此,调整不限于单个基于时间的桶,而是可以作用于另外的基于时间的桶。在随机选择的基于时间的桶的时间窗口的宽度减小的情况下,一个或多个相邻的基于时间的桶的时间窗口的宽度可能也必须调整以确保感兴趣的整个时间帧被基于时间的桶定义的时间窗口覆盖和/或确保基于相邻的基于时间的桶的搜索结果仍满足第二预定义标准。在随机选择的基于时间的桶的时间窗口的宽度增加的情况下,一个或多个相邻的基于时间的桶的时间窗口的宽度可能必须减小以避免重叠的时间窗口。在随机选择的基于时间的桶的时间窗口的宽度减小的情况下,一个或多个相邻的基于时间的桶的时间窗口的宽度可能必须增加以确保感兴趣的时间帧的完全覆盖。此外,相邻的基于时间的桶的减少或增加可能需要进一步的补偿,即,增加或减少,以便确保第二预定义标准仍被满足。
高效创建基于时间的桶的不同算法实现方式可以是可能的。这里描述的算法仅是示例性算法,而本发明不限于这些算法。
根据实施例,可以获取由搜索引擎索引的文档语料库的以下关键特征中的一个或多个:语料库包括的文档的总数、分配给语料库包括的文档中的一个的最早时间规范、分配给语料库的文档中的一个的最近时间规范。文档的总数可以以当前被语料库危害的文档的实际数量的形式或以估计的数量的形式来提供。识别最老的时间规范可以包括检索语料库包括的最老的文档,例如,被指派有最老的创建日期和/或最老的发布日期的文档。识别最近时间规范可以包括检索语料库包括的最近文档,例如,分配有最近创建日期和/或最近公布日期的文档。为了获取前述关键特征,如检索最早和最近的文档,可以使用取决于搜索引擎能力的适当查询。
示例性地由机器学习支持的样本伪算法可以包括以下各项:
设置desired_accuracy=N1(desired_accuracy是当达到时允许过程终止的阈值)。在此上下文中,精度可视为ML模型的质量量度。在可用的带标签的数据集(例如,基于时间的桶的第一子集和由第一基于时间的桶包括的文档的数量)的训练/测试拆分之后,使用从拆分得到的训练集合来训练ML模型,并且请求ML模型提供对从拆分得到的测试集合的基于时间的桶中的文档的数量的预测。可以对由正确预测包括的文档的数量进行计数(给定对于标准偏差的某个容差或其他类型的误差测量)并且除以测试集中的文档的总数。例如,N1=90);
设置max_iterations=N2(在使用所提取的桶执行机器学习之前,定义用于提取桶所执行的最大迭代次数,例如,N2=50);
设置max_queries=N3(定义用于提取桶的每次迭代执行的查询的最大数量,例如,N3=100);
设置bucket_size=N4(定义每个桶的预期文档数量,例如,N4=20);
设置bucket_widths={}(初始化桶宽度的空词典,其中桶宽度的词典的关键是时间戳,并且值是时间间隔(即,时间窗口),包括如果相应时间间隔用作用于从语料库中选择文档的搜索查询的搜索参数,则为其检索‘bucket_size’个文档的相应时间戳);
在给定时间戳校准桶宽度{
bucket_width(例如,以分钟计)=T,如果bucket_width是空的,例如,T=60;否则,确定从bucket_width中分配给最接近的时间戳的bucket_width的每个值;
}
而max_iterations未超过{
而max_queries未超过{
在预定义的时间帧内生成随机时间戳(时间帧可以由分配给由语料库包括的文档的最早和最近的时间戳限制);
利用所述时间戳和使用所述随机时间戳的时间窗口=calibrate()构造查询;
执行所述查询,并且使用所述随机时间戳来找到在所述给定的时间窗口中的文档数目=calibrate();
确定包括所述随机时间戳的时间间隔,对于所述随机时间戳,检索‘bucket_size’个文档;
}
利用所述随机时间戳和所述确定的时间间隔更新所述bucket_widths词典;
}
例如使用LSTM或多项式回归算法,使用诸如偏移、一年中的天、一周中的天、一天中的时间的特征,计算模型的精度;
如果精度>desired_accuracy,则停止。
根据实施例,对于每个文档,相应文档的时间戳指定相应文档的生成时间、发布时间或最近修改的时间。根据实施例,每个文档包括分配给相应文档的时间戳。
根据实施例,基于时间的桶对时间窗口的定义包括时间窗口内的时间规范,例如。时间点和时间窗口的宽度。时间规范可以是单个时间点,如由包括数字日期和时间信息的时间戳所提供的。时间信息可以包括小时、分钟和/或秒。根据实施例,时间规范可以以一年中的一天、一周中的一天、一天中的时间的形式提供。根据实施例,时间规范可以以与当前时间和/或日期的偏移的形式提供。
根据实施例,时间规范定义时间窗口的起始点。根据实施例,时间规范定义时间窗口的终点。根据实施例,时间规范定义时间窗口的中心点。
根据实施例,第一预定义标准提供待匹配的预定义数量的文档。实施例可以具有确保语料库针对每个时间窗口包括相同数量的文档的有益效果,所述文档具有在相应时间窗口内的时间戳。根据实施例,第一预定义标准提供要被匹配的文档的预定义数量范围。实施例可以具有如下有益效果:确保语料库针对每个时间窗口包括具有在相应时间窗口内的时间戳的多个文档,使得所有数量的文档在相同的范围内。换言之,对于不同的基于时间的桶,关于文档数量的差异是有限的。
根据实施例,该方法进一步包括确定该语料库所包括的文档的总数。根据实施例,从搜索引擎接口请求语料库包括的文档的总数。根据实施例,使用包括语料库的文档所包括的随机搜索项的组合的搜索查询来估计语料库所包括的文档的总数。实施例可以具有以下有益效果:语料库所包括的文档的总数可以用于选择需要确定以便实现另外的基于时间的桶的适当先验预测的第一基于时间的桶的数量(即,迭代)。总数量越大,可能需要越多的第一基于时间的桶以确保第二基于时间的桶的适当精确预测。总数量越小,可需要较少的第一基于时间的桶来确保第二基于时间的桶的适当精确预测。
被索引的文档语料库包括的文档的总数例如可以经由搜索引擎的API提供,或者基于样本查询来估计,例如Z.Bar-Yossef and M.Gurevich于Journal of the ACM,vol.55,issue 5,article no.24,2008中的“Random sampling from asearch engine’sindex”、Z.Bar-Yossef and M.Gurevich于Proceedings of the 16th InternationalWorld Wide Web Conference(WWW),pages 401-410,2007中的“Efficient search enginemeasurements”或A.Broder,M.Fontoura,V.Josifovski,R.Kumar,R.Motwani,S.Nabar,R.Panigrahy,A.Tomkins,和Y.Xu于Proceedings of CIKM,2006,pages 594-630中的“Estimating corpus size via queries,”中描述的。
根据实施例,感兴趣时间帧的确定包括确定指派给语料库的文档的最早时间戳。此外,确定分配给语料库的文档的最近时间戳。从由最早和最近的时间戳跨越的时间间隔中选择感兴趣的时间帧。实施例可具有提供用于确定感兴趣的时间帧(即,由最早和最近的时间戳跨越的时间间隔)的最大大小的方法的有益效果。
为了识别由语料库包括的最老的文档并且因此识别分配给文档之一的最老的时间规范,可以使用样本查询。此外,可以使用探测时间帧、时间排序和/或结果调查。可以使用样本查询来标识最近的文档以及因此识别被指派给文档之一的最近的时间规范。此外,可以使用探测时间帧、时间排序和/或结果调查。
根据实施例,感兴趣的时间帧可以等于由最早和最近的时间戳跨越的时间间隔。实施例可具有使用对感兴趣的时间帧的可能的最大大小的有益效果。根据实施例,感兴趣的时间帧比最早和最近的时间戳所跨越的时间间隔更短。实施例可以具有使得能够使用从由最早和最近的时间戳跨越的时间间隔中选择的感兴趣的时间帧的有益效果。这种较短的感兴趣的时间帧可能需要较少的计算工作量来进行装桶。文档语料库的装桶可以被限制到感兴趣的特定时间帧,即,为了装桶,可能必须仅考虑语料库的分配有在相应时间帧内时间戳的文档子集。例如,可以仅考虑过去10年的文档。感兴趣的时间帧可以由执行统计分析的应用定义。感兴趣的时间帧可以取决于要进行的统计分析。
根据实施例,重复调整第一时间窗口并且利用调整后的第一时间窗口执行利用调整后的第一搜索查询的进一步搜索,直至进一步搜索的第一搜索结果满足第一预定义标准或者达到预定义的最大重复次数。实施例可以具有确保针对满足第一预定义标准的第一基于时间的桶确定第一时间窗口同时避免多次重复(即,搜索查询)的有益效果。如果达到了预定义的最大重复次数,则可以拒绝不满足第一预定义标准的第一时间窗口,并且可以选择另一个第一时间窗口。
根据实施例,可以随机选择第一时间窗口。根据实施例,所选的第一时间窗口可在感兴趣的时间帧上均匀地分布。
根据实施例,搜索结果包括的文档的最大数量受到搜索引擎定义的结果数量限制的限制。由此,搜索引擎结果可以受到限制针对搜索查询返回的文档的最大数目的限制。搜索引擎提供的答复搜索查询的结果可以仅包括实际满足为查询定义的搜索参数的所有文档的小子集。
根据实施例,该方法可以包括确定搜索引擎的结果数量限制。第一预定义标准可以被定义为使得需要搜索结果包括的文档的数量小于结果数量限制,以便能够满足第一预定义标准。根据实施例,从搜索引擎接口请求搜索引擎定义的结果数量限制。根据实施例,使用测试搜索查询来确定由搜索引擎定义的结果数量限制。结果数量限制可以是100个文档的量级(例如,250、500、750个)或更多个文档(例如,1000个文档)。
实施例可以具有确保使用基于时间的桶生成的搜索查询提供包括具有在所使用的基于时间的桶的时间窗口内的时间戳的语料库的所有文档的搜索结果的有益效果。
根据实施例,调整第一时间窗口包括调整第一时间窗口的宽度。如果在第一时间窗口内分配有时间戳的语料库的文档的数量对于搜索结果来说太大而不能满足第一预定义标准,则第一时间窗口的宽度减小,而如果分配有在第一时间窗口内的时间戳的语料库的文档的数量太小而不能满足第一预定义标准,则第一时间窗口的宽度增大。
实施例可以具有提供用于调整第一时间窗口以使得第一预定义标准被满足的有效方法的有益效果。
根据实施例,基于时间的桶的第一子集所包括的第一基于时间的桶的数量小于基于时间的桶的集合所包括的基于时间的桶的数量。实施例可以具有如下有益效果:使用搜索查询确定基于时间的桶(即,第一基于时间的桶)的工作量可以仅必须针对覆盖整个感兴趣的时间帧所需的基于时间的桶的一小部分执行。在不需要由搜索引擎执行进一步的搜索查询的情况下,可以预测所需的其余的基于时间的桶。
根据实施例,所述方法进一步包括存储基于时间的桶的第一子集。实施例可以具有如下有益效果:所存储的基于时间的桶的第一子集可以用于在采样期间随机选择基于时间的桶和/或用于与当前感兴趣的时间帧至少部分重叠的另一感兴趣的时间帧的装桶和/或用于稍后采样。
根据实施例,预测包括内插和外插中的至少一个。实施例可具有提供用于预测第二基于时间的桶的有效方法的有益效果。例如,可以使用基于回归分析的回归模型来进行预测。例如,可以使用时间序列分析。根据实施例,基于时间的桶的随机选择可以包括例如使用随机数生成器或伪随机数生成器随机选择感兴趣的时间帧内的时间点,以及使用时间窗口宽度的分布的预测来确定随机选择的时间点的时间窗口。
根据实施例,预测可以包括生成用于预测第二基于时间的桶而训练的机器学习模型。机器学习模型的生成可以包括使用第一基于时间的桶来提供训练集。每个训练集合包括分配给由第一基于时间的桶定义的第一时间窗口的时间规范作为训练输入数据以及相应第一时间窗口的宽度作为训练输出数据。此外,可以在训练集合上执行学习算法,用于生成机器学习模型。
实施例可具有提供为有效且高效地预测第二基于时间的桶而训练的机器学习模型的有益效果。因此,不需要搜索查询来确定第二基于时间的桶。
术语机器学习是指用于通过以自动方式构建概率模型(称为机器学习模型)来从训练数据集提取有用信息的计算机算法。机器学习可以使用诸如线性回归、K均值、分类算法、增强算法等的一个或多个学习算法来执行。例如,模型可以是使得可能从其他已知值预测未测量的值的等式或规则集合。根据一个实施例,机器学习模型是多项式回归模型或深度学习模型,例如,像长短期记忆(LSTM)的人工递归神经网络(RNN)。
多项式回归是一种回归分析的形式,其中自变量x和因变量y之间的关系被建模为x中的n次多项式。多项式回归拟合x的值与y的对应条件均值(即,E(y|x))之间的非线性关系。
根据实施例,使用机器学习模型的预测还包括向机器学习模型提供包括时间规范的第一输入数据。所提供的时间规范在感兴趣的时间帧内,而相应的时间规范在由第一基于时间的桶定义的第一时间窗口之外。响应于提供第一输入数据,从机器学习模型接收包括第二基于时间的桶的预测的第一输出数据,所述机器学习模型定义具有由第一输入数据提供的时间规范的第二时间窗口。预测的第二基于时间的桶的第二时间窗口满足第一预定义标准。
实施例可具有预测第二基于时间的桶以补充第一基于时间的桶的有益效果,使得可确定划分整个感兴趣的时间帧的基于时间的桶的集合。
根据实施例,所述方法进一步包括存储基于时间的桶的第二子集。实施例可具有以下有益效果:可提供第二基于时间的桶用于随机选择基于时间的桶。
根据实施例,从所述基于时间的桶的集合中随机选择所述基于时间的桶包括向所述机器学习模型提供包括在感兴趣的所述时间帧内的随机选择的时间规范的第二输入数据。响应于提供所述第二输入数据,从所述机器学习模型接收包括来自所述基于时间的桶的集合的所述基于时间的桶的第二输出数据,所述机器学习模型定义包括所述随机选择的时间规范并且满足所述第一预定义标准的所述时间窗口。
实施例可以具有以下有益效果:只要生成机器学习模型,就可以不再需要第一基于时间的桶。机器学习模型可以用于预测感兴趣的时间帧内的任何随机选择的时间规范的基于时间的桶。因此,基于时间的桶的随机选择可以包括例如使用随机数生成器或伪随机数生成器随机选择感兴趣的时间帧内的时间点,并且使用机器学习模型来在采样期间预测合适的基于时间的桶。
根据实施例,针对基于时间的桶的随机选择,该方法进一步包括确定基于时间的桶集合的第三子集的第三基于时间的桶。确定所述第三基于时间的桶包括获取一个或多个所存储的基于时间的桶的第三子集。实施例可以具有存储的基于时间的桶(即,在例如另一个至少部分重叠的感兴趣的时间帧之前确定的基于时间的桶)的有益效果。因此,不必使用搜索查询确定相应的基于时间的桶,也不必再次预测它们。相反,可以从本地、可移动或远程存储介质检索相应的基于时间的桶。根据实施例,一个或多个基于时间的桶的第三子集包括的第三基于时间的桶的数量小于基于时间的桶的集合包括的基于时间的桶的数量。根据实施例,第三基于时间的桶可以与第一基于时间的桶一起使用以预测第二基于时间的桶。根据实施例,第三基于时间的桶可以用于补充第一基于时间的桶,使得必须预测更少的第二基于时间的桶。根据实施例,由基于时间的桶的第三子集包括的第三基于时间的桶的数量等于由该基于时间的桶的集合包括的基于时间的桶的数量。因此,来自基于时间的桶的集合的所有基于时间的桶可以由存储的第三基于时间的桶提供。
根据实施例,基于时间的桶的第三子集各自可以将感兴趣的时间帧的连续子区段分成由基于时间的桶的第三子集中的第三基于时间的桶定义的多个第三时间窗口。
根据实施例,该计算机程序产品进一步包括机器可执行程序指令,该机器可执行程序指令被配置成实现本文描述的用于从文档语料库提供一个或多个随机样本文档的方法的任何实施例。
根据实施例,计算机系统还被配置为执行用于从在此描述的文档语料库提供一个或多个随机样本文档的方法的任何实施例。
图1示出了被配置用于使用由服务器200提供的搜索引擎的搜索引擎接口提供来自文档的语料库212的一个或多个随机样本文档的示例性计算机系统100。计算机系统100和服务器200可以经由网络210(例如,内联网或互联网)进行通信。文档的语料库212可以存储在经由网络210可访问的存储介质上,例如在由网络210包括的服务器上。可替代地,文档的语料库212可以被存储在服务器200可访问的一个或多个存储介质上,如本地和/或远程存储介质上。将了解,本文中所描述的计算机系统100可为包含多个处理器芯片、多个存储器缓冲器芯片和存储器的任何类型的计算机化系统。计算机系统100可以例如以诸如个人计算机、工作站或小型计算机的通用数字计算机的形式来实现。
在示例性实施例中,在硬件架构方面,如图1所示,计算机系统100包括处理器105、耦接至存储器控制器115的存储器(主存储器)110、以及经由本地输入/输出控制器135通信地耦接的一个或多个输入和/或输出(I/O)设备(或外围设备)10、145。输入/输出控制器135可以是但不限于如本领域中已知的一个或多个总线或其他有线或无线连接。输入/输出控制器135可具有为简单起见而省略的额外元件,诸如控制器、缓冲器(高速缓冲存储器)、驱动器、中继器和接收器,以实现通信。进一步,本地接口可以包括地址、控制和/或数据连接,以实现上述组件之间的适当通信。
处理器105是用于执行软件(尤其是存储在存储器110中的软件)的硬件装置。处理器105可以是任何定制或商业可获得的处理器、中央处理单元(CPU)、与计算机系统100相关联的若干处理器之中的辅助处理器、基于半导体的微处理器(呈微芯片或芯片组的形式)、宏处理器、或通常用于执行软件指令的任何装置。
存储器110可以包括易失性存储器模块(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储器模块(例如,ROM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或可编程只读存储器(PROM))中的任何一个或其组合。要注意的是,存储器110可具有分布式架构,其中,额外的模块定位成远离彼此,但是可由处理器105访问。
存储器110中的软件可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能(尤其是在本发明的实施例中涉及的功能)的可执行指令的有序列表。例如,可执行指令可以被配置为经由网络210生成并向服务器200发送搜索查询并且接收搜索结果。可执行指令还可以被配置用于使用由服务器200上的搜索引擎提供的搜索引擎接口来确定基于时间的桶和/或提供来自文档的语料库212的一个或多个随机样本文档。存储器110中的软件可以进一步包括合适的操作系统(OS)111。OS 111实质上控制其他计算机程序(诸如可能的软件112)的执行。
如果计算机系统100是PC、工作站、智能设备等,则存储器110中的软件还可以包括基本输入输出系统(BIOS)122。BIOS是在启动时初始化和测试硬件、启动OS 111、并且支持在硬件设备之间的数据传送的基本软件例程的集合。BIOS存储在ROM中,使得当计算机系统100被激活时可以执行BIOS。
当计算机系统100在操作中时,处理器105被配置成用于执行存储器110内存储的软件112、将数据传达至存储器110和从存储器110传达数据、并且总体上根据该软件来控制计算机系统100的操作。本文所描述的方法和OS 111(全部或部分,但通常为后者)由处理器105读取,可能在处理器105内缓冲,并且随后执行。
软件112还可被提供存储在任何计算机可读介质(诸如存储装置120)上,以供任何计算机相关系统或方法使用或结合任何计算机相关系统或方法使用。存储器120可包括盘存储装置,诸如HDD存储装置。
在示例性实施例中,常规键盘150和鼠标155可以耦合到输入/输出控制器135。诸如I/O设备145的其他输出设备可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,I/O设备10、145还可以包括传送输入和输出两者的设备,例如但不限于,网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、网桥、路由器等。I/O设备10、145可以是本领域已知的任何通用密码卡或智能卡。计算机系统100还可以包括耦合到显示器130的显示器控制器125。在示例性实施例中,计算机系统100可以进一步包括用于耦合到网络210(像内联网或互联网)的网络接口。网络可以是用于计算机系统100和任何外部服务器(如服务器200、其他客户端等)之间经由宽带连接的通信的基于IP的网络。网络210在计算机系统100和提供服务目录的服务器200之间传输和接收数据。在示例性实施例中,网络210可以是由服务提供商管理的受管理IP网络。网络210可以无线方式实现,例如,使用无线协议和技术,诸如Wi-Fi、WiMAX等。网络210也可以是分组交换网络,诸如局域网、广域网、城域网、互联网网络或其他类似类型的网络环境。网络可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个人区域网(PAN)、虚拟专用网(VPN)、内联网或其他合适的网络系统,并且包括用于接收和传送信号的设备。
服务器200可以为搜索引擎提供搜索引擎接口,该搜索引擎接口被配置用于经由网络210与计算机系统100通信。搜索引擎可以包括索引文档的语料库212的搜索索引206。搜索索引206可以被存储在服务器200上。或者,搜索索引206可存储在服务器200可访问的本地或远程存储介质上。搜索引擎可以被配置用于爬取经由网络210提供的文档,索引文档以生成和更新搜索索引206和/或使用搜索索引206搜索语料库212的索引文档。
图2示出了包括被配置为经由数字远程通信网络210(例如,万维网)与服务器200(例如网络服务器)通信的计算机系统100的示例性搜索基础设施。计算机系统100可以使用网络接口将搜索查询发送到服务器200提供的搜索引擎202的搜索引擎接口204。搜索引擎接口204可以例如是公共接口。搜索引擎202可以使用对文档的语料库212进行索引的搜索索引206来执行搜索查询。文档的语料库212可以在网络210上提供,即,由网络210的节点提供。搜索引擎202可以识别语料库212所包括的满足搜索查询所定义的基于时间的搜索参数的文档。可以使用经由网络210从服务器200接收的搜索结果将所识别的文档提供给计算机系统100。搜索结果可以包括链接到网络210上的文档的相应文档的列表。计算机系统100可以使用链接从网络210检索搜索结果的相应文档。
图3示出了根据创建日期的文档的示例性装桶。文档语料库中的每个文档可以被分配时间戳,例如标识创建相应文档的日期和/或时间。使用搜索查询获得基于时间的桶300的第一集合。例如,使用这些基于时间的桶300的宽度和大小(即,搜索查询所定义的时间窗口的宽度和用于获得第一基于时间的桶的搜索结果所包括的文档的数量),在感兴趣的时间帧内(例如,在从21.02.2010到7.01.2019的时间内)例如每天创建的文档302的数量可以预测。作为该预测的一部分,可以预测基于时间的桶304的第二集合覆盖整个感兴趣的时间帧。从查询中获得的基于时间的桶300以及预测的基于时间的桶304可以被限制为Nmax个文档的最大桶大小(max_size),例如,Nmax=20。换句话说,可能需要每个基于时间的桶300、304满足预定义的标准,该标准限制由相应的桶包括的文档的最大数目。如果文档分布太稀疏,则使用相邻时间窗口310作为搜索参数的查询结果可以合并到单个基于时间的桶中。换句话说,可以增加基于时间的桶的宽度以覆盖相邻的时间窗口310。如果文档分布太密集,则可以通过分割由相应搜索查询用作搜索参数的时间窗口312、314来将查询结果分割成单独的基于时间的桶。在用作搜索查询的搜索参数的时间窗口312所包括的文档的数量变得等于或大于搜索引擎所施加的结果数量限制的情况下,时间窗口312的宽度可以通过分割时间窗口312来减小,使得所得到的较窄时间窗口所包括的文档的数量各自小于每个搜索查询的结果数量限制。在用作搜索查询的搜索参数的时间窗口314所包括的文档的数目大于预定义最大桶大小的情况下,时间窗口314可以拆分,使得由所得的较窄时间窗口所包括的文档的数目各自小于或等于预定义最大桶大小。调整的第一基于时间的桶300可以用于预测随时间(即,在感兴趣的时间帧内)创建的文档302的速率。基于调整的第一基于时间的桶300,可预测第二基于时间的桶304,使得它们满足预定义的最大桶大小,即,不超过预定义的最大桶大小。
图4示出了根据实施例的用于提供随机样本文档的示例性方法的示意性流程图。在步骤400中,从基于时间的桶的集合中随机选择基于时间的桶。例如,从所存储的基于时间的桶中选择随机桶号,或者选择随机时间规范,并且例如使用预测模型确定包括随机时间规范的基于时间的桶。在步骤402中,使用搜索引擎在搜索索引上查询随机选择的基于时间的桶,以接收例如包括基于时间的桶的结果列表的搜索结果,其中由基于时间的桶定义的时间窗口包括语料库的所有文档。在步骤404中,随机选择来自搜索结果的文档作为样本文档。在步骤406,例如,使用由搜索结果提供的链接从语料库提取样本文档。在步骤408中,如果所选择的基于时间的桶太小,可以可选地用左或右相邻的基于时间的桶来调整在步骤400中选择的基于时间的桶,或者如果所选择的基于时间的桶太大,则可以分割相应的基于时间的桶。因此,可以在采样期间即时执行基于时间的桶的检查和调整。在需要更多样本文档的情况下,可以重复步骤400至408,直到已经获取了合适数量的随机样本文档。在步骤410中,样本文档例如用于统计分析,如风险评估、风险管理、错误检测、错误预测、错误分析、维护和/或预测性维护。根据实施例,文档的随机选择可以包括针对采样过程的数学正确性使用附加的拒绝采样。
图5示出了用于确定基于时间的桶的示例性方法的示意性流程图。在步骤500中,可以导出搜索引擎的元数据。元数据可以例如包括由语料库包括的多个文档、在感兴趣的时间帧内的语料库中的最旧的文档、在感兴趣的时间帧内的语料库的最近的文档、和/或由搜索引擎对搜索查询结果施加的结果数量限制。在步骤502中,确定基于时间的桶的集合。可以使用具有时间窗口作为搜索参数的搜索查询,其产生小于所使用的搜索引擎的结果数量限制的结果列表。图5中示出了步骤502的进一步细节。在步骤504中,整个感兴趣的时间帧的基于时间的桶可以是可用的并且可选地存储在搜索引擎外部,以由应用使用,例如,用于文档的随机采样。
图6示出了用于提供图5的步骤502的细节的用于确定基于时间的桶的示例性方法的示意性流程图。在步骤600中,选择具有感兴趣的时间帧的随机时间规范。在步骤602中,为所选择的时间规范构建时间窗口。时间规范可以例如定义时间窗口的开始点、结束点或中心点。为了构建时间窗口,可以使用预定义的宽度或一个或多个相邻的基于时间的桶的宽度。在步骤604中,使用步骤602的时间窗口作为搜索参数来生成搜索查询,并且由搜索引擎对照搜索索引来执行搜索查询。在步骤606中,提取搜索查询结果计数,即,确定由查询结果包括的文档的数量。在步骤608中,如果必要,调整用于搜索的时间窗口以适合查询结果大小限制,即满足关于文档数量的预定义标准。时间窗口的宽度可以扩大、缩小或保持。在步骤610中,存储由步骤608的调整产生的最终时间窗口(即,基于时间的桶)。根据实施例,最终时间窗口桶可与查询结果的一些元数据一起被存储。步骤604至608可以用调整的时间窗口重复,直到调整的时间窗口满足预定义的标准。可以重复步骤600至610,直到已经使用搜索查询确定了合适数量的基于时间的桶。使用搜索查询确定的所需的基于时间的桶数量可以取决于感兴趣的时间帧内语料库的文档的总数。
当达到预定义的重复限制和/或基于时间的桶的适当数量时,可以使用利用搜索查询确定的基于时间的桶开始预测另外的基于时间的桶的预测阶段。预测可以包括使用机器学习(ML)模块,该ML模块是通过在步骤612中使用利用搜索查询确定的基于时间的桶作为用于ML模块的训练集来生成和训练的。在步骤614中,使用训练集训练ML模块。在步骤616中,经训练的ML模块用于预测基于时间的桶,以便提供整个感兴趣的时间帧的基于时间的桶。
根据实施例,利用搜索查询确定基于时间的桶和预测基于时间的桶可以是后续阶段。根据备选实施例,可以使用迭代方法。可以检查预测的基于时间的桶。在所预测的基于时间的桶满足预定义标准(例如,第一或第二预定义标准)的情况下,可以继续预测。在预测的基于时间的桶不满足预定义的标准的情况下,可以调整基于时间的桶的宽度并且可以将具有调整的基于时间的桶的预测的基于时间的桶用作用于ML模块的进一步训练的附加训练集以便改进预测。
应当理解,只要组合的实施例不是互相排斥的,则可以组合本发明的上述实施例中的一个或多个。序数,例如像‘第一’、‘第二’和‘第三’在本文中用于指示分配有相同名称的不同元件,但不一定建立相应元件的任何顺序。就技术上和/或物理上可能且合理的而言,根据实施例,分配有不同序数的元件可以是相同的元件。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储媒体可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构)以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任何组合编写的源代码或者目标代码,包括面向对象的编程语言(诸如Smalltalk、C++等)以及常规的过程编程语言(诸如‘C’编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机系统的计算机上执行、部分在用户计算机系统的计算机上执行、作为独立软件包执行、部分在用户计算机系统的计算机上执行、部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机系统的计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
以上描述的特征的可能组合可以如下:
1、一种用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的方法,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,所述方法包括:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,提供所述随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
2、如项1所述的方法,由所述基于时间的桶对所述时间窗口的定义包括所述时间窗口内的时间规范和所述时间窗口的宽度。
3、如前述项中任一项所述的方法,所述第一预定义标准提供待匹配的文档的预定义数量。
4、如项1或2中任一项所述的方法,所述第一预定义标准提供待匹配的文档的预定义数量范围。
5、如前述项中任一项所述的方法,所述选择所述感兴趣的时间帧包括:
确定分配给所述语料库的所述文档的最早时间戳,
确定分配给所述语料库的所述文档的最近时间戳,
所述感兴趣的时间帧是从由最早时间戳和最近时间戳跨越的时间间隔中选择的。
6、如项5所述的方法,所述感兴趣的时间帧等于由所述最早时间戳和所述最近时间戳跨越的时间间隔。
7、如项5所述的方法,所述感兴趣的时间帧比由所述最早时间戳和所述最近时间戳跨越的时间间隔更短。
8、如前述项中任一项所述的方法,对于所述基于时间的桶的随机选择,所述方法进一步包括使用第一搜索查询确定所述基于时间的桶的集合的第一子集的第一基于时间的桶,确定所述第一基于时间的桶中的每一个包括:
选择具有预定义宽度的所述感兴趣的时间帧内的第一时间窗口,
生成第一搜索查询,所述第一搜索查询定义对所述语料库的具有在所述第一时间窗口内的时间戳的文档的搜索,
向所述搜索引擎接口发送所述第一搜索查询以供所述搜索引擎使用所述搜索索引来执行,
响应于所述第一搜索查询的发送,从所述搜索引擎接口接收第一搜索结果,所述第一搜索结果包括所述语料库的具有在由所述第一搜索查询定义的所述第一时间窗口内的时间戳的文档的集合,
如果所接收的第一搜索结果满足关于要由所述基于时间的桶包括的文档数量的所述第一预定义标准,则生成包括由所述第一搜索查询使用的所述第一时间窗口的定义的第一基于时间的桶,
否则,调整所述第一时间窗口并且使用具有调整后的第一时间窗口的调整后的第一搜索查询执行进一步的搜索。
9、如项8所述的方法,重复调整所述第一时间窗口并且使用具有调整后的第一时间窗口的调整后的第一搜索查询执行进一步的搜索,直到所述进一步搜索的第一搜索结果满足所述第一预定义标准或达到预定义的最大重复次数为止。
10、如项8至9中任一项所述的方法,调整所述第一时间窗口包括对所述第一时间窗口的宽度进行调整,如果所述语料库的分配有在所述第一时间窗口内的时间戳的文档的数量太大以至于所述搜索结果不能满足所述第一预定义标准,则所述第一时间窗口的宽度被减小,以及如果所述语料库的分配有在所述第一时间窗口内的时间戳的文档的数量太小以至于不能满足所述第一预定义标准,则所述第一时间窗口的宽度被增加。
11、如项8至10中任一项所述的方法,所述方法进一步包括存储基于时间的桶的第一子集。
12、如前述项中任一项所述的方法,对于所述基于时间的桶的所述随机选择,所述方法进一步包括预测所述基于时间的桶的集合的第二子集的第二基于时间的桶,所述第二基于时间的桶使用所述第一基于时间的桶定义所述预定义时间帧内的第二时间窗口,使得所有所预测的第二时间窗口满足所述第一预定义标准。
13、如项12所述的方法,所述预测包括生成为预测所述第二基于时间的桶训练的机器学习模型,所述生成所述机器学习模型包括:
使用所述第一基于时间的桶提供训练集,每个训练集包括分配给由所述第一基于时间的桶定义的第一时间窗口作为训练输入数据的时间规范以及使用所述相应第一时间窗口的宽度作为训练输出数据,
对所述训练集执行学习算法以生成所述机器学习模型。
14、如项13所述的方法,使用所述机器学习模型进行预测进一步包括:
将包括时间规范的第一输入数据提供给所述机器学习模型,所提供的时间规范在所述感兴趣的时间帧内,但是所述相应的时间规范在由所述第一基于时间的桶定义的所述第一时间窗口外,
响应于所述第一输入数据的提供,从机器学习模型接收第一输出数据,所述第一输出数据包括利用由第一输入数据提供的时间规范对定义第二时间窗口的第二基于时间的桶的预测,所预测的第二基于时间的桶的第二时间窗口满足所述第一预定义标准。
15、如项12至14中任一项所述的方法,所述方法进一步包括存储基于时间的桶的第二子集。
16、如项12至14中任一项所述的方法,从所述基于时间的桶的集合中随机选择所述基于时间的桶包括:
向所述机器学习模型提供包括在感兴趣的时间帧内随机选择的时间规范的第二输入数据,
响应于提供所述第二输入数据,从所述机器学习模型接收第二输出数据,所述第二输出数据包括所述基于时间的桶的集合的定义包括所述随机选择的时间规范并且满足所述第一预定义标准的所述时间窗口的基于时间的桶。
17、如前述项中任一项所述的方法,对于所述基于时间的桶的所述随机选择,所述方法进一步包括确定所述基于时间的桶的集合的第三子集的第三基于时间的桶,确定所述第三基于时间的桶包括获取一个或多个所存储的基于时间的桶的第三子集。
18、如前述项中任一项所述的方法,所述方法进一步包括检查所接收的搜索结果是否满足关于由所述搜索结果包括的文档的数量的第二预定义标准,如果不满足所述第二预定义标准,则调整由所述随机选择的基于时间的桶定义的时间窗口的宽度。
19、如项18所述的方法,所述第二预定义标准定义将匹配所述搜索结果包括的文档数量的文档数量。
20、如项18所述的方法,所述第二预定义标准定义要包括所述搜索结果的文档数量的数量范围。
21、如项18至20中任一项的方法,调整所述时间窗口包括调整所述时间窗口的宽度,如果所述语料库的具有在所述时间窗口内的时间戳的文档数量太大而不能满足所述第二预定义标准,则所述时间窗口的宽度被减小,并且如果所述语料库的具有在所述时间窗口内的时间戳的数量太小而不能满足所述第二预定义标准,则所述时间窗口的宽度被增加。
22、如项18至21中任一项所述的方法,所述方法还包括:根据由所述随机选择的基于时间的桶定义的所述时间窗口的所述调整至少调整由与所述随机选择的基于时间的桶相邻的基于时间的桶定义的时间窗口。
23、如前述项中任一项所述的方法,所述方法还包括使用所提供的一个或多个随机样本文档来执行统计分析。
24、一种计算机程序产品,包括非易失性计算机可读存储介质,所述非易失性计算机可读存储介质具有随其体现的机器可执行程序指令,所述程序指令用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,计算机的处理器执行所述程序指令使得所述处理器控制所述计算机系统来:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,提供所述随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
25、一种计算机系统,用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,所述计算机系统包括处理器和存储机器可执行程序指令的存储器,所述处理器执行所述程序指令使得所述处理器控制所述计算机系统来:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,提供所述随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
Claims (25)
1.一种用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档的方法,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,所述方法包括:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,所述提供所述一个或多个随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
2.如权利要求1所述的方法,由所述基于时间的桶对所述时间窗口的定义包括所述时间窗口内的时间规范和所述时间窗口的宽度。
3.如权利要求1所述的方法,所述第一预定义标准提供待匹配的文档的预定义数量。
4.如权利要求1所述的方法,所述第一预定义标准提供待匹配的文档的预定义数量范围。
5.如前述权利要求中任一项所述的方法,所述确定感兴趣的时间帧包括:
确定分配给所述语料库的所述文档的最早时间戳,
确定分配给所述语料库的所述文档的最近时间戳,
所述感兴趣的时间帧是从由最早时间戳和最近时间戳跨越的时间间隔中选择的。
6.如权利要求5所述的方法,所述感兴趣的时间帧等于由所述最早时间戳和所述最近时间戳跨越的时间间隔。
7.如权利要求5所述的方法,所述感兴趣的时间帧比由所述最早时间戳和所述最近时间戳跨越的时间间隔更短。
8.如权利要求1至4中任一项所述的方法,对于所述基于时间的桶的随机选择,所述方法进一步包括使用第一搜索查询确定所述基于时间的桶的集合的第一子集的第一基于时间的桶,确定所述第一基于时间的桶中的每一个包括:
选择具有预定义宽度的所述感兴趣的时间帧内的第一时间窗口,
生成第一搜索查询,所述第一搜索查询定义对所述语料库的具有在所述第一时间窗口内的时间戳的文档的搜索,
向所述搜索引擎接口发送所述第一搜索查询以供所述搜索引擎使用所述搜索索引来执行,
响应于所述第一搜索查询的发送,从所述搜索引擎接口接收第一搜索结果,所述第一搜索结果包括所述语料库的具有在由所述第一搜索查询定义的所述第一时间窗口内的时间戳的文档的集合,
如果所接收的第一搜索结果满足关于要由所述基于时间的桶包括的文档数量的所述第一预定义标准,则生成包括由所述第一搜索查询使用的所述第一时间窗口的定义的第一基于时间的桶,
否则,调整所述第一时间窗口并且使用具有调整后的第一时间窗口的调整后的第一搜索查询执行进一步的搜索。
9.如权利要求8所述的方法,重复调整所述第一时间窗口并且使用具有调整后的第一时间窗口的调整后的第一搜索查询执行进一步的搜索,直到所述进一步搜索的第一搜索结果满足所述第一预定义标准或达到预定义的最大重复次数为止。
10.如权利要求8所述的方法,调整所述第一时间窗口包括对所述第一时间窗口的宽度进行调整,如果所述语料库的分配有在所述第一时间窗口内的时间戳的文档的数量太大以至于所述搜索结果不能满足所述第一预定义标准,则所述第一时间窗口的宽度被减小,以及如果所述语料库的分配有在所述第一时间窗口内的时间戳的文档的数量太小以至于不能满足所述第一预定义标准,则所述第一时间窗口的宽度被增加。
11.如权利要求8所述的方法,所述方法进一步包括存储基于时间的桶的第一子集。
12.如权利要求8所述的方法,对于所述基于时间的桶的所述随机选择,所述方法进一步包括预测所述基于时间的桶的集合的第二子集的第二基于时间的桶,其中,所述预测包括使用使得所有所预测的第二时间窗口满足所述第一预定义标准的所述第一时间窗口。
13.如权利要求12所述的方法,所述预测包括生成用于预测所述第二基于时间的桶的机器学习模型,所述生成所述机器学习模型包括:
使用所述第一基于时间的桶提供训练集,其中,每个训练集包括分配给由所述第一基于时间的桶定义的第一时间窗口作为训练输入数据的时间规范以及使用相应第一时间窗口的宽度作为训练输出数据,
对所述训练集执行学习算法以生成所述机器学习模型。
14.如权利要求13所述的方法,使用所述机器学习模型进行预测进一步包括:
将包括时间规范的第一输入数据提供给所述机器学习模型,所提供的时间规范在所述感兴趣的时间帧内,但是相应的时间规范在由所述第一基于时间的桶定义的所述第一时间窗口外,
响应于所述第一输入数据的提供,从机器学习模型接收第一输出数据,所述第一输出数据包括利用由第一输入数据提供的时间规范对定义第二时间窗口的第二基于时间的桶的预测,所预测的第二基于时间的桶的第二时间窗口满足所述第一预定义标准。
15.如权利要求12所述的方法,所述方法进一步包括存储基于时间的桶的第二子集。
16.如权利要求14所述的方法,从所述基于时间的桶的集合中随机选择所述基于时间的桶包括:
向所述机器学习模型提供包括在感兴趣的时间帧内随机选择的时间规范的第二输入数据,
响应于提供所述第二输入数据,从所述机器学习模型接收第二输出数据,所述第二输出数据包括来自所述基于时间的桶的集合的定义包括所述随机选择的时间规范并且满足所述第一预定义标准的所述时间窗口的基于时间的桶。
17.如权利要求1至4中任一项所述的方法,对于所述基于时间的桶的所述随机选择,所述方法进一步包括确定所述基于时间的桶的集合的第三子集的第三基于时间的桶,确定所述第三基于时间的桶包括获取一个或多个所存储的基于时间的桶的第三子集。
18.如权利要求1至4中任一项所述的方法,所述方法进一步包括检查所接收的搜索结果是否满足关于由所述搜索结果包括的文档的数量的第二预定义标准,如果不满足所述第二预定义标准,则调整由所述随机选择的基于时间的桶定义的时间窗口的宽度。
19.如权利要求18所述的方法,所述第二预定义标准定义将匹配所述搜索结果包括的文档数量的文档数量。
20.如权利要求18所述的方法,所述第二预定义标准定义要包括所述搜索结果的文档数量的数量范围。
21.如权利要求18所述的方法,调整所述时间窗口包括调整所述时间窗口的宽度,如果所述语料库的具有在所述时间窗口内的时间戳的文档数量太大而不能满足所述第二预定义标准,则所述时间窗口的宽度被减小,并且如果所述语料库的具有在所述时间窗口内的时间戳的数量太小而不能满足所述第二预定义标准,则所述时间窗口的宽度被增加。
22.如权利要求18所述的方法,所述方法还包括:根据由所述随机选择的基于时间的桶定义的所述时间窗口的所述调整至少调整由与所述随机选择的基于时间的桶相邻的基于时间的桶定义的时间窗口。
23.如前述权利要求1至4中任一项所述的方法,所述方法还包括使用所提供的一个或多个随机样本文档来执行统计分析。
24.一种计算机可读存储介质,具有随其体现的机器可执行程序指令,所述程序指令用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,计算机的处理器执行所述程序指令使得所述处理器控制计算机系统来:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,提供所述随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
25.一种计算机系统,用于使用搜索引擎的搜索引擎接口从文档语料库提供一个或多个随机样本文档,所述搜索引擎包括索引所述文档语料库的搜索索引,所述语料库的每个所述文档被指派有时间戳,所述计算机系统包括处理器和存储机器可执行程序指令的存储器,所述处理器执行所述程序指令使得所述处理器控制所述计算机系统来:
确定感兴趣的时间帧,
提供所述一个或多个随机样本文档,所述随机样本文档中每一个的所述时间戳在所述感兴趣的时间帧内,提供所述随机样本文档中的每一个包括:
从基于时间的桶的集合中随机选择基于时间的桶,所述基于时间的桶的集合将所述感兴趣的时间帧划分为多个时间窗口,每个所述基于时间的桶定义所述时间窗口中的一个,对于所述时间窗口中的每一个,由所述语料库包括的具有在相应时间窗口内的时间戳的文档的数量满足第一预定义标准,
向所述搜索引擎接口发送要由所述搜索引擎使用所述搜索索引执行的搜索查询,所述搜索查询定义对所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的文档的搜索,
响应于所述搜索查询的发送,从所述搜索引擎接口接收搜索结果,所述搜索结果包括所述语料库的具有在由所述随机选择的基于时间的桶定义的所述时间窗口内的时间戳的所有文档的集合,以及
随机选择由所接收的文档集合包括的文档中的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19183755.8 | 2019-07-02 | ||
EP19183755 | 2019-07-02 | ||
PCT/IB2020/056210 WO2021001761A1 (en) | 2019-07-02 | 2020-07-01 | Random sampling from a search engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114072788A CN114072788A (zh) | 2022-02-18 |
CN114072788B true CN114072788B (zh) | 2023-02-03 |
Family
ID=67139655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080049008.0A Active CN114072788B (zh) | 2019-07-02 | 2020-07-01 | 从搜索引擎进行随机采样的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11797615B2 (zh) |
JP (1) | JP2022538657A (zh) |
CN (1) | CN114072788B (zh) |
DE (1) | DE112020002465T5 (zh) |
WO (1) | WO2021001761A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797615B2 (en) | 2019-07-02 | 2023-10-24 | International Business Machines Corporation | Random sampling from a search engine |
US20230128589A1 (en) * | 2021-10-22 | 2023-04-27 | International Business Machines Corporation | Predicting policy violations in a document with an enterprise data source |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102687137A (zh) * | 2009-11-18 | 2012-09-19 | 微软公司 | 搜索日志中的概念发现 |
CN106682024A (zh) * | 2015-11-09 | 2017-05-17 | 百度在线网络技术(北京)有限公司 | 一种用于呈现查询结果信息的方法、装置和系统 |
US9785634B2 (en) * | 2011-06-04 | 2017-10-10 | Recommind, Inc. | Integration and combination of random sampling and document batching |
US10552468B2 (en) * | 2016-11-01 | 2020-02-04 | Quid, Inc. | Topic predictions based on natural language processing of large corpora |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8136025B1 (en) | 2003-07-03 | 2012-03-13 | Google Inc. | Assigning document identification tags |
US8095419B1 (en) | 2005-10-17 | 2012-01-10 | Yahoo! Inc. | Search score for the determination of search quality |
US7707005B2 (en) | 2006-09-02 | 2010-04-27 | Microsoft Corporation | Generating histograms of population data by scaling from sample data |
WO2008043082A2 (en) | 2006-10-05 | 2008-04-10 | Splunk Inc. | Time series search engine |
FR2930659B1 (fr) * | 2008-04-25 | 2010-05-28 | Inst Nat Rech Inf Automat | Dispositif informatique de gestion temporelle de documents numeriques |
US8166203B1 (en) | 2009-05-29 | 2012-04-24 | Google Inc. | Server selection based upon time and query dependent hashing |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
CN102750386A (zh) | 2012-06-29 | 2012-10-24 | 电子科技大学 | 适用于大规模实时数据流的查询处理方法 |
US20140317334A1 (en) | 2013-04-22 | 2014-10-23 | Lsi Corporation | Storage of gate training parameters for devices utilizing random access memory |
CN104424327B (zh) | 2013-09-10 | 2018-09-14 | 重庆新媒农信科技有限公司 | 应用于搜索引擎中的搜索时间范围确定方法及装置 |
CN104484627B (zh) | 2014-12-31 | 2017-04-26 | 清华大学无锡应用技术研究院 | 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 |
US9836623B2 (en) | 2015-01-30 | 2017-12-05 | Splunk Inc. | Anonymizing machine data events |
US20160328432A1 (en) * | 2015-05-06 | 2016-11-10 | Squigglee LLC | System and method for management of time series data sets |
SG10201504703QA (en) | 2015-06-15 | 2017-01-27 | Mastercard Asia Pacific Pte Ltd | Method and system for determining a preference index |
CN106407190B (zh) | 2015-07-27 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN107291719A (zh) | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据检索方法和装置、一种数据存储方法和装置 |
CN106295793A (zh) | 2016-08-30 | 2017-01-04 | 吉林大学 | 基于生物觅食行为的群机器人混合搜索方法 |
CN107748766B (zh) | 2017-09-28 | 2021-08-24 | 南威软件股份有限公司 | 一种基于Presto和Elasticsearch的大数据快速查询方法 |
CN109039428B (zh) | 2018-08-17 | 2020-08-21 | 中南大学 | 基于冲突消解的中继卫星单址天线调度随机搜索方法 |
US10761813B1 (en) * | 2018-10-01 | 2020-09-01 | Splunk Inc. | Assisted visual programming for iterative publish-subscribe message processing system |
US11797615B2 (en) | 2019-07-02 | 2023-10-24 | International Business Machines Corporation | Random sampling from a search engine |
-
2020
- 2020-01-07 US US16/736,124 patent/US11797615B2/en active Active
- 2020-07-01 DE DE112020002465.2T patent/DE112020002465T5/de active Pending
- 2020-07-01 WO PCT/IB2020/056210 patent/WO2021001761A1/en active Application Filing
- 2020-07-01 CN CN202080049008.0A patent/CN114072788B/zh active Active
- 2020-07-01 JP JP2021578048A patent/JP2022538657A/ja active Pending
-
2023
- 2023-09-19 US US18/469,820 patent/US20240004939A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102687137A (zh) * | 2009-11-18 | 2012-09-19 | 微软公司 | 搜索日志中的概念发现 |
US9785634B2 (en) * | 2011-06-04 | 2017-10-10 | Recommind, Inc. | Integration and combination of random sampling and document batching |
CN106682024A (zh) * | 2015-11-09 | 2017-05-17 | 百度在线网络技术(北京)有限公司 | 一种用于呈现查询结果信息的方法、装置和系统 |
US10552468B2 (en) * | 2016-11-01 | 2020-02-04 | Quid, Inc. | Topic predictions based on natural language processing of large corpora |
Non-Patent Citations (2)
Title |
---|
Triple storage for random-access versioned querying of RDF archives;RubenTaelman 等;《Journal of Web Semantics》;20190131;4-28 * |
电能质量在线监测系统海量数据的双列族存储设计;屈志坚 等;《电力系统保护与控制》;20190118;154-160 * |
Also Published As
Publication number | Publication date |
---|---|
CN114072788A (zh) | 2022-02-18 |
US20210004417A1 (en) | 2021-01-07 |
US11797615B2 (en) | 2023-10-24 |
DE112020002465T5 (de) | 2022-02-17 |
JP2022538657A (ja) | 2022-09-05 |
US20240004939A1 (en) | 2024-01-04 |
WO2021001761A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621493B2 (en) | Multiple record linkage algorithm selector | |
US20200057958A1 (en) | Identification and application of hyperparameters for machine learning | |
US20240004939A1 (en) | Random sampling from a search engine | |
US9374375B2 (en) | Systems and methods for publishing datasets | |
US11403303B2 (en) | Method and device for generating ranking model | |
US10776354B2 (en) | Efficient processing of data extents | |
Li et al. | Voting with their feet: Inferring user preferences from app management activities | |
US8832126B2 (en) | Custodian suggestion for efficient legal e-discovery | |
US9733906B2 (en) | User interface area coverage | |
CN111597449B (zh) | 用于搜索的候选词构建方法、装置、电子设备及可读介质 | |
CN114169401A (zh) | 数据处理、预测模型训练方法和设备 | |
US20200142870A1 (en) | Data sampling in a storage system | |
RU2640637C2 (ru) | Способ и сервер проведения контролируемого эксперимента с использованием прогнозирования будущего пользовательского поведения | |
CN114175007A (zh) | 用于数据匹配的主动学习 | |
CN116029544A (zh) | 使用企业数据源预测文档中的策略违规 | |
US11176312B2 (en) | Managing content of an online information system | |
WO2018177293A1 (en) | Sample-based multidimensional data cloning | |
CN117688124A (zh) | 数据查询索引创建方法、装置、存储介质及电子设备 | |
Kungurtsev et al. | Prediction of a relational database’s operation in the information system |
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 |