大型数据库中语义搜索的方法和系统与流程

文档序号:20921652发布日期:2020-05-29 14:13阅读:330来源:国知局
大型数据库中语义搜索的方法和系统与流程

本公开一般地涉及自然语言处理,且更具体地,涉及通过使用语义搜索引擎在大型文档数据库中搜索内容。



背景技术:

对在电子文档或基于纸质的文档中查找特定内容的需求日益增长,并且由于引入了电子文档的生成、存储和分发,或使此类文档可用于有限或无限数量的用户,因此可以在万维网(“网络”或“互联网”)和其他内部网上以电子形式访问数量不断增加的文档。即使使用具有适当搜索工具的计算机,对于具有特定内容的文档,文档检索和搜索也可能是非常耗时的任务。

文档us7,249,121公开了用于从搜索查询中标识语义单元的各种方法和系统。用于搜索语料库的搜索引擎通过将搜索查询中的多个术语分类为单个语义单元来改进结果的相关性。搜索引擎的语义单元定位器(locator)基于查询中的各个术语来生成通常与查询相关的文档子集。然后,针对文档子集来评估定义来自查询的潜在语义单元的搜索术语组合,以确定哪些搜索术语组合应该被分类为语义单元。所得的语义单元用于改善搜索结果。尽管此解决方案提供了对与语义上有意义的(semanticallymeaningful)文本单元相对应的复合词(compound)的更准确的标识,但是它仍然具有缺点:相关文档的集合是以直截了当的方式、即基于查询关键词或关键文本的各个子集与语料库的索引的比较来确定的。

当前的搜索引擎无法有效地搜索大型文档数据库。在许多情况下,由于需要解析大量文本,因此文档数据库搜索麻烦、费时、且低效利用有限的处理器资源。另外,许多当前的搜索引擎无法以有意义或动态的顺序对结果进行排序。

由于跨多个平台和多种数字格式的数字数据的分散性增加,因此本领域需要提供更有效地利用处理器时间和资源的语义搜索技术,并进一步改进结果集合相对于由查询实体(queryingentity)搜索的基于文本的内容的相关性。通过结果的相关性的改进,相对于传统的语义搜索引擎,特定内容搜索需要更少数量的搜索查询,这因此减少了使用如互联网或内部网的服务数据通信网络来执行的搜索的带宽需求。



技术实现要素:

公开的实施方案提供了用于使用电子令牌和令牌化设备来管理电子事务(electronictransaction)的系统和方法。本发明尤其提供了根据权利要求1的计算机实施的方法、根据权利要求11的处理系统、根据权利要求14的计算机可读介质和根据权利要求15的系统。优选的实施方案在从属权利要求中列出。

由于源文档和查询文本的非常紧凑的表示,因此本语义搜索引擎解决方案的内存(memory)和存储(storage)需求明显低于已知语义搜索引擎的内存和存储需求。

本公开的一个方面指向一种在包含文档的源文档数据库中执行语义搜索的计算机实施的方法,各文档由唯一的文档标识符来标识,该方法包括由处理系统执行的以下步骤:读取包含文本的查询的文本组件(textcomponent);使用预定义的特征提取模型,从查询的文本组件中生成查询特征集合;基于多个查询特征生成训练特征集合;利用训练特征、和使用预定义特征提取模型从源文档的至少一部分中获取的文档特征集合,将可训练的分类器进行训练;根据预定义的选择方案选择用于分类的多个源文档;获取经选择文档的特征;通过经训练分类器(trainedclassifier),通过使用经选择文档的特征,将经选择源文档分类成不同的相关性类别,其中至少一个相关性值与各经选择文档相关联;基于至少一个相关联的相关性值,将经分类文档排序成有序列表(orderedlist);和将经排序文档的标识符的有序列表存储在计算机可读内存中。

本发明的另一方面指向一种用于在文档数据库中执行语义搜索的处理系统,该系统包括至少一个处理器设备,该处理器设备包括:查询接口,其配置为接收包含文本的查询,并从包含文本的查询中生成文本组件;令牌器组件(tokenizercomponent),其配置为从查询的文本组件生成查询特征集合;搜索引擎组件,其配置为产生语义相关文档(semanticallyrelevantdocument)的标识符的有序列表,该搜索引擎包括配置为评估经选择文档集合相对于查询的文本组件的相关性的分类器组件,以及配置为基于经分类文档的相关性产生经分类文档的标识符的有序列表;和计算机可读内存,其用于存储相关文档的标识符的有序列表。

本公开的又一方面指向一种计算机可读的、特别是非暂时性的介质,其具有与上述两个方面相关的特征。

本公开的一方面指向一种系统,其包括一个或多个处理器设备、和存储指令的一个或多个存储设备,当通过一个或多个处理器设备执行时,该指令为可操作的以使一个或多个处理器设备执行根据本公开的第一方面的方法的步骤。

与其他公开的实施方案一致,计算机可读存储介质、特别是非暂时性计算机可读存储介质可以存储程序指令,当通过至少一个处理器设备执行时,该程序指令执行本文描述的任何方法。

前面的一般描述和下面的详细描述仅仅是示例性和解释性的,而不是对权利要求的限制。

附图说明

附图示出了几种实施方案,并且与描述一起用于解释所公开的原理。在附图中:

图1a是示出预处理系统的组件的示意性框图,该预处理系统配置为构建用于由根据本公开的处理系统待执行的语义搜索的数据库。

图1b是示出根据本公开的处理系统的基本组件的示意性框图。

图1c是示出根据本公开的处理系统的基本组件和各种可选组件的示意性框图。

图2是示出根据本公开的在文本文档的数据库中执行语义搜索的计算机实施的方法的主要步骤的流程图。

图3是示出根据本公开的方法的可选步骤的流程图。

图4是示出根据本公开的方法的可选步骤的流程图。

图5是示出根据本公开的方法的可选步骤的流程图。

图6是示出根据本公开的方法的可选步骤的流程图。

图7是示出根据本公开的搜索方法的实施方案的步骤的流程图。

图8是示出根据本公开的搜索方法的另一实施方案的步骤的流程图。

图9是示出根据本公开的搜索方法的又一实施方案的步骤的流程图。

具体实施方式

本公开的以下详细描述参考附图。详细描述不限制本发明。相反,本发明的范围由所附权利要求和等同物来限定。

如本文所述,令牌器组件在语意上从查询文本中提取特有特征(characteristicfeature),使用查询文本的特有特征来选择相关文档集合,然后使用可训练的分类器组件以相对于其相关性来评估源文档的经选择集合,并且所评估的文档按照它们的相关性在列表中排序。

如本文所使用的,术语“特有特征”是指表示文本的语义内容的人工二进制代码集合,所述代码是通过对文本的二进制表示应用适当的变换操作而提供的。如稍后将更详细地描述的,从文本的二进制表示到特有特征的变换可以根据各种建模技术来进行。

此外,术语“内容特征”、“查询特征”和“训练特征”用作特定种类的特有特征。具体地,内容特征用于表示源文档的内容,查询特征用于表示查询文本的内容,而训练特征是从查询特征衍生的特有特征,用在根据一些实施方案的方法的分类步骤中。

由于上述特有特征的使用,相对于传统解决方案,源文档和查询文本可以以更紧凑的形式表示,这导致搜索引擎的内存和存储需求显著降低。

用于构建搜索数据库的预处理系统

图1a是示出预处理系统的组件的示意性框图,该预处理系统配置为构建用于由根据本公开的处理系统待执行的语义搜索的数据库,其中,基本组件由实线箭头链接,可选组件由虚线箭头链接。

图1a所示的预处理系统包括:格式转换器组件111,其可以配置为从源文档数据库110接收纸质文档和电子文档,并且可以配置为处理源文档以生成预定义数字形式的文本文档,例如,纯文本格式。这些文本文档在本文中将称为格式化文本文档。格式转换器组件111可以包括:光学扫描仪,用于将纸质文档数字化;文本标识程序、例如光学字符标识(opticalcharacterrecognition,ocr),用于从扫描的文档生成预定义文本格式的电子文档;音频文本标识应用,用于从音频文件生成预定义文本格式的电子文档;和/或其他合适的硬件和软件工具,其可以用于从任何类型的纸质或电子源文档生成格式化文本文档。

在本公开的上下文中,电子文档可以包括任何种类的包含文本的媒体文件,例如,可编辑或不可编辑的文本文件、具有文本内容的图像文件、具有显示的文本内容或音频文本内容的视频文件、和/或具有可听文本内容的音频文件。纸质文档可以包括,例如,包含文本信息的任何种类的印刷或手写文档。

由格式转换器组件111生成的格式化文本文档可以存储在文档存储器(documentstore)126中以供后续使用。在优选实施方案中,可从相关联的格式化文本文档的源文档的至少一个子集中产生和/或获取元数据,例如原始文件名、创建日期、作者相关信息、物理或访问位置、页码、文档标题等。这些元数据可以存储在元数据存储器128中。

文档存储器126还可以配置为存储格式化文本文档。存储格式化文本文档可以具有以下优点:这些文档可以再次被处理,例如,用于通过使用与先前应用的技术不同的技术从其中生成新的特有特征集合。在词袋(bag-of-words)模型中,特有特征可以定义为特定词在所分析文本中出现的可能性;在n元模型(n-grammodel)或跳过k个词的n元模型(k-skip-n-grammodel)中,特有特征可以定义为由“n”个词组成的各种词集合在所分析文本中出现的可能性,其中“n”的值可以为2、3或更大;在向量空间模型中,特有特征可以定义为从分配给所分析文本的词或更长部分的一个或多个权重向量中衍生的代码。

由格式转换器组件111以预定义形式生成的格式化文本文档被转发到令牌器112,该令牌器配置为从由格式转换器组件111提供的各数字化文本文档中生成特有特征集合。在一些实施方案中,如稍后将描述的,令牌器112还可以配置为在搜索过程期间从查询的搜索文本中生成特有特征集合。令牌器112还可以用于将格式化文本文档划分成块,例如,划分成句子、段落、部分和/或其他单元,并将各个文本块的划分信息存储在文档存储器126中。

根据预处理系统的优选实施方案,可以将数字化文本文档的特有特征从令牌器112转发到配置为与索引数据库146具有操作关系的索引构建器组件113。索引数据库146优选地包括两个卷,特别是正向索引数据库147和反向索引数据库148。在其他实施方案中,索引数据库146可以包括单个卷或多个卷。正向索引数据库147可以包含多个内容特征列表,其中各特征列表属于特定文档或特定文档部分(例如,文本块)。反向索引数据库148可以包含文档或文档部分(例如,文本块)的多个标识符列表,其中,各文档列表或块列表属于由特征_id(feature_id)标识的特定内容特征。在索引数据库中,各文档可以由唯一的标识符文档_id(doc_id)来标识,各文本块(当可用时)可以由唯一的标识符块_id(block_id)来标识,并且各内容特征可以由唯一的标识符特征_id(feature_id)来标识。这些数据库的使用和益处将在下面详细描述。

索引数据库146可以在索引构建器组件113进行搜索之前、例如在开始执行语义搜索的处理系统的操作之前生成。在数据库生成阶段,索引构建器组件113处理文档的内容特征,并生成适当的特征列表、文档列表和/或块列表,所有这些都将存储在索引数据库146的相应卷中。在一些实施方案中,在数据库生成阶段,索引构建器组件113可以处理文档的标识的块。

索引数据库146的使用是有益的,因为它可以显著地改进搜索过程的速度。由于索引数据库的使用,可以避免在各搜索查询动作时源文档的重复预处理,并且可以节省大量的计算能力。

执行语义搜索的处理系统

图1b描绘了根据本公开的用于在源文档中执行语义搜索的处理系统的基本组件的示意性框图。处理系统可以集成到通信网络中,通过该通信网络,处理系统的搜索功能可以从其他处理系统或设备访问。通信网络可以是互联网、公司内部网、或与处理器设备上运行的应用程序进行交互的任何其他适当的通信网络,该处理器设备例如是计算机、笔记本电脑、平板电脑、智能电话、掌上电脑(pda)等。

该处理系统包括查询接口117,其配置为接收可变长度的文本作为搜索文本(也称为查询文本),并将该文本转发到上述令牌器112。查询接口117通过用户接口131直接从用户、或者通过应用编程接口(applicationprogramminginterface,api)132从检索计算机程序接收来自查询实体的搜索文本。用户接口131可以配置为允许用户以文本格式输入至少一个搜索查询,并且其可以进一步配置为提供其他可选功能以方便搜索工具的使用,以使搜索结果的呈现更有效,以允许用户接口的定制等。在优选实施方案中,用户接口131可以配置为允许用户指定包含文本的媒体文件,例如,包含音频文件、图像文件和/或视频文件的文本,可以以与预处理阶段中所进行的相同方式从该媒体文件中提取查询文本。

由查询接口117直接接收的、或从包含输入文本的媒体文件生成的查询文本转发到令牌器112,令牌器112使用源文档数据库110从查询文本生成特有特征集合。在一些实施方案中,可以使用预处理阶段中构建的索引数据库146从查询文本生成特有特征集合。

然后,从查询文本获取的特有特征(即,查询特征)转发到搜索引擎115。搜索引擎115可以包括:分类器组件151,其用于评估多个经选择文档相对于搜索词条的相关性;以及排序组件152,其用于通过经选择文档的相关性(例如,通过使用由分类器组件生成的相关性分数)对经选择文档进行排序。在一些实施方案中,搜索引擎115可以耦合到索引数据库146,从该索引数据库146,搜索引擎115至少检索文档标识符和内容特征以用于分类过程。

在此上下文中,“相关性”可以基于因素来定义,该因素包括但不限于查询文本的内容和/或返回文档的内容之间的内容相似性或其他种类的紧密语义关系。

如图1c所示,在一些实施方案中,当经分类文档的元数据旨在用于改进文档的排序质量或生成具有关于返回文档的用户可读信息(例如,电子文档的统一资源定位符(url)、纸质文档的发布者、文档标题等)的文档结果列表时,搜索引擎115可以耦合至元数据存储器128。

搜索引擎115还可以从特征扩展器组件114接收附加的特有特征,该特征扩展器组件114使用由令牌器112提供的特有特征来生成扩展的特有特征集合。在一些实施方案中,特征扩展器组件114可以耦合到索引数据库146。

搜索引擎115输出文档标识符的有序列表。在一些实施方案中,搜索引擎115可以输出相关文档的块标识符的有序列表,其包括相关文档的合并文档的标识。然后,返回的结果列表存储在内存160中,如图1b和1c所示。结果列表也可以转发至结果列表创作器(resultlistcomposer)170,其使用文档标识符、和/或块标识符以及元数据存储器中针对经排序文档而存储的元数据,来产生返回的相关文档或文档部分的上述经处理的、用户可读的列表(例如,书目数据、url等),从而允许用户或查询计算机程序按需访问或下载任何一个经排序文档。然后,该经处理文档列表可以转发到查询接口117,如图1c所示,查询接口117可以反过来将经处理列表通过用户接口131输出到查询用户,或者通过api132输出到查询计算机程序。用户接口131还可以在显示设备上向用户显示经处理列表。

尽管根据本公开的处理系统被描述为集成计算平台,该集成计算平台包括诸如处理器、数据库或内存的多个硬件组件,和诸如搜索引擎、接口组件的多个软件组件等,但是本领域技术人员将认识到,各种硬件组件或软件组件可以在超过一个的协同操作的处理设备中、和/或通过超过一个的协同操作的软件组件实施,它们一起提供了根据本公开的处理系统的所有上述基本功能。本领域技术人员将进一步认识到,处理系统的硬件组件或软件组件中的任何一个可以倍增、且并行操作,以便实现搜索工具的更快操作。

搜索过程

现在将参考图2至图6描述根据一些实施方案的语义搜索工具的操作,其中,图2是根据本公开的语义搜索方法的基本步骤的流程图,且图3至图6是示出本公开的方法的各种可选步骤的流程图。

构建文档存储器和元数据存储器

在一些实施方案中,搜索工具的操作假定存在至少一个文档存储器,该文档存储器包含多个格式化文本文档,在多个格式化文本文档中,可以使用搜索查询来寻找相关文档。文档存储器可以使用源文档数据库来构建,例如,公司文档存储器,特定内容的私人或公共数据库、和/或包含通过例如互联网的通信网络具有受限或不受限访问的任何类型文档的任何其他数据库。在一些实施方案中,源文档数据库可以为通过互联网可自由访问的预定义的电子文档集合。

在一些实施方案中,构建文档存储器(即,获取并预处理源文档,以及将格式化文本文档上传到文档存储器中)可以是用于建立搜索环境的单独的、可选的步骤。在图3的流程图中示出了建立搜索环境的优选实施方案的步骤。

如图3所示,首先,将例如印刷的和/或手写的纸质文档和电子文档的多个源文档转换成预定义格式(例如,纯文本)的格式化文本文档。电子源文档可以包括可编辑的或不可编辑的文本文档,图像文档,组合的文本-图像文档,包含文本的音频、图像或视频文件等。在一些实施方案中,在步骤301中,可以通过光学扫描仪将纸质文档数字化,然后在步骤302中,可以使扫描文档的文本部分经受光学字符标识(opticalcharacterrecognition,ocr)以生成文本文档。纸质文档中的图像对象可以作为图像进行扫描,并且可以作为图像对象并入数字化的文本文档中,或者可以将图像对象的文本引用(textreference)插入到扫描的纸质文档的文本中来代替图像。类似地,在步骤303a中,在选择将原始图像对象保留在文本内、或者将文本引用插入到文本中来代替图像的情况下,可以数字化地将电子文档转换为格式化文本文档。如果输入包含文本的媒体文件作为查询,则可以在步骤303b中提取媒体文件的文本组件,并将其转换为预定义格式的文本文档。

然后,在步骤304中,可以将格式化文本文档用唯一的文档标识符doc_id存储在文档存储器中。如果格式化文本文档在步骤308中通过令牌器划分为文本块,则格式化文本文档的各个文本块中的每一个可以通过唯一的块标识符block_id来标识,并且这些块标识符与任何其他划分信息一起也可以在步骤309中存储在文档存储器中。划分信息可以包括源文档和给定文档的所标识文本块之间的分配关系。在一些实施方案中,源文档的所有块均设置有唯一的标识符。在其他实施方案中,仅可能包含有意义的语义搜索的有用信息的块被唯一地标识。例如,在一些实施方案中,内容表、图列表、发布细节等可以形成不必要被唯一标识的单独的文本块。

在一些实施方案中,在步骤305中,从源文档获取元数据是预处理阶段的可选步骤。元数据可以从源文档中提取,和/或元数据可以从基于纸张的源文档和/或电子源文档的物理属性或其他属性中生成。元数据可以包括例如原始文档名称(例如,文件名)、制作日期或最后修改日期、文档作者、文档的物理位置或url位置、页码、原始文档/文件格式、文档标题等。一旦获取元数据,就将元数据上传到元数据存储器中,并且元数据可以用于准备结果列表和用于微调由搜索引擎运行的排序算法。

元数据存储器可以与文档存储器的生成一起构建。在步骤306中,源文档的元数据可以与对由参数doc_id标识的相关联的格式化文本文档的引用一起存储在元数据存储器中。

如上所述,在优选实施方案中,在步骤307中,源文档可以以数字形式存储在文档存储器中。

从源文档提取特有特征

语义搜索可以基于从源文档获得的特定语义信息的使用(在预处理阶段),以及基于搜索查询的文本(在搜索阶段)。语义信息可以由特有特征集合表示。源文档或文档部分的特有特征被称为内容特征,而搜索查询文本的特有特征被称为查询特征。

特有特征可以由令牌器从格式化文本文档(参见内容特征)和文本查询(参见查询特征)生成。

首先,如图2的流程图所示,在步骤200中,格式化文本文档通过令牌器读取。然后,在步骤202中,这些文档的内容特征由令牌器生成。在搜索方法的优选实施方案中,在步骤204中,所生成的内容特征由索引构建组件来处理,该索引构建组件产生上述文档特征列表、块特征列表和/或块列表。然后,在步骤206中,这些列表可以存储在索引数据库中。前述步骤200至206在预处理阶段内执行。

源文档的特有特征(即,内容特征)通过处理算法从相关联的格式化文本文档的分析文本中而获取,并以二进制形式表示为二进制向量或二进制矩阵(二维或更多维的矩阵)。内容特征可以例如根据词袋模型、n元模型、跳过k个词的n元模型或向量空间模型来表示,这些模型是文本文档的众所周知的语义建模技术。

例如,在词袋模型中,特有特征可以定义为特定词在所分析文本中出现的可能性;在n元模型或跳过k个词的n元模型中,特有特征可以定义为由“n”个词组成的各种词集合在所分析文本中出现的可能性,其中“n”的值可以为2、3或更大;在向量空间模型中,特有特征可以定义为从分配给所分析文本的词或更长部分的一个或多个权重向量中衍生的代码。

当考虑内容特征的数量的限制时,可以使用各种已知技术来减少文本的特有特征的数量。除其它外,这些限制技术包括停用词过滤(stopwordfiltering)方法、消除不相关特有特征的词频-逆文档频率(termfrequency-inversedocumentfrequency,tf-idf)方法、或可用于从针对给定文本生成的整个特有特征列表中选择具有较高相关性的特有特征的卡方(chi-square)方法。

构建索引数据库

一旦令牌器读取了格式化文本文档并针对相关联的源文档生成了内容特征,就可以将与特定文档相关联的内容特征(所谓的文档特征)的列表转发到索引构建器组件,如上所述,索引构建器组件在步骤204中将这些特征处理成各种列表。在步骤206中,索引构建器组件可以将文档特征列表存储在索引数据库中,特别是存储在其正向索引数据库中。在一些实施方案中,当格式化文本文档通过令牌器被划分为块时,在步骤206中,索引构建器组件也可以针对所标识块(所谓的块特征)中的每一个,将内容特征列表存储在索引数据库的正向索引数据库中,内容特征列表也被称为块特征列表。

在步骤204中,索引构建器组件还可以从正向索引数据库中存储的文档特征列表中生成反向索引数据库。反向索引数据库可以包括多个文档列表,文档列表的各元素包含与特定文档特征相关联的那些文档的标识符。在步骤206中,反向文档列表可以由索引构建器组件存储在索引数据库的反向索引数据库中。

此外,索引构建器组件可以生成多个块列表,该列表的各元素包含与特定块特征相关联的那些(先前标识的)块的标识符。当块列表可用时,在步骤206中,块列表也可以由索引构建器组件存储在索引数据库的反向索引数据库中。

在一些实施方案中,可以省略上述索引构建的步骤。但是,构建索引数据库可以显著地改进搜索过程的速度,特别是在大型文档数据库中的语义搜索中。在没有索引构建步骤的情况下,并因此在不使用索引数据库的情况下,仍可以进行搜索过程,但是,根据搜索方法,每次搜索时都需要单次读取或重复读取整个源数据库,以获取确定待分类的文档集合所需的那些文档特征。

从查询文本提取特有特征

查询文本的特有特征(即,查询特征)以与上述相同的方式、与源文档的内容特征相结合地从查询文本中获得。查询特征可以例如根据词袋模型、n元模型或向量空间模型来表示,这些模型是文本的众所周知的语义建模技术。在一些实施方案中,特有特征的语义表示可以用于简单的查询词。在一些实施方案中,特有特征的语义表示在较长的查询文本中可能是有益的。

在一些实施方案中,为了将搜索查询的上述二进制特有特征的数量和大小保持在合理范围内,搜索查询的文本的允许长度可以限制为预定大小。

一旦基于源文档构建了文档存储器和包括正向索引数据库、反向索引数据库的索引数据库、和/或元数据存储器,搜索工具就可以使用输入文本查询进行语义搜索。搜索阶段的步骤也在图2中示出。

在步骤210中,在提示用户之后或在检索计算机程序提供了源文档中的需要进行语义搜索的文本或包含文本的媒体文件之后,根据查询输入的类型,查询文本通过查询接口读取或生成,并转发给令牌器,而令牌器反过来在步骤212中针对查询文本生成特有特征、即查询特征的集合。

在一个实施方案中,查询文本包括各个词(例如,“移动”、“电话”、“价格”)或特定的元数据(例如,“詹森·史密斯”、“牛津出版社”),其中这些词用于全文搜索。在一些实施方案中,元数据用于基于源文档的预分配属性来搜索文档。查询词可以从文档的元数据中获取,并且可以在统计的基础上生成,或者可以通过任何已知的文本分析技术从源文档的内容中提取。在一些实施方案,查询词可以在搜索查询中指定并由用户定义。

当输入词在特定的上下文中彼此具有语义关系(例如,“用于xy操作系统的移动电话应用”)时,查询文本也可以以连贯的词集合的形式表示,该连贯的词集合被称为查询短语。

在一个实施方案中,查询文本可以是可用文档的文本部分,并且可以以预定义文本格式(例如,以纯文本格式)从文档中复制,然后粘贴到用户界面的查询窗口中。

在一些实施方案中,查询输入可以是完整的媒体文件或包含显示的或可听的文本信息的媒体文件的一部分。

在一些实施方案中,有意义的文本是文档或音频、图像或视频文件内的可识别文本信息的某个部分(例如,一个或多个段落),为此在源文档数据库中寻找具有相似内容的其他文档。有意义的文本也可以是用户通过用户接口唯一输入的基本连贯的文本。

生成用于训练分类器的训练特征

在令牌器已经生成了查询特征之后,查询特征被转发到搜索引擎。在步骤220中,首先通过使用查询特征集合生成训练特征来准备分类器组件,以用于利用训练特征集合进行训练。训练特征集合可以由搜索引擎根据如下所述的各种方案来生成。

在第一示例性方案中,训练特征集合定义为与先前获取的查询特征集合一致。

在另一个示例性方案中,该方案假定了将格式化文本文档划分为块的在先过程,对于导致相当低数量的查询特征的查询,例如在针对搜索仅指定一些词或短的查询短语时,应增加查询特征的数量。如图4所示,该示例性方案可以包括由搜索引擎执行的以下步骤:在步骤402中,获取与至少一个查询特征相关联的所有块的标识符block_id;和在步骤406中,获取与每个经选择块相关联的特征。

当搜索工具使用具有正向索引数据库和反向索引数据库的索引数据库以使得搜索更快时,在上述步骤402中,可以从反向索引数据库中检索块标识符,并且在上述步骤406中,可以从正向索引数据库中检索块特征。然而,在没有索引数据库的情况下,所需的块标识符和块特征可以通过在搜索期间读取和处理整个文档数据库来获取。

然后,可以将与经选择块相关联的特征的结果集合定义为训练特征集合。在一些实施方案中,扩展的训练特征集合还可以包括查询特征,从而向现有查询特征添加特征(即,其他段落特征),其中附加特征可以与现有查询特征具有紧密的语义关系。

在一些实施方案中,即使具有一个或多个共同元素的多个列表被返回,通过从正向索引数据库或反向索引数据库检索而返回的列表也可以在单一实例中包括任何标识符或特征。

训练分类器

在步骤230中,可以使用训练特征集合在每次查询时训练搜索引擎的分类器组件。分类器组件具有与源文档的相关性相对应的至少一个输出类别,源文档的特征在排序文档中被呈现给分类器组件。在一个输出类别的情况下,分类器组件执行所谓的一类分类(one-classclassification)或一元分类(unaryclassification),其中仅训练特征用于训练分类器组件。通常,支持向量机(svm)或神经网络可以用于实施分类器。在优选实施方案中,分类器组件恰好具有两个类别,第一类别对应于相关特征(即,训练特征),第二类别对应于不相关特征(不同于训练特征的任何或所有特征)。适当的算法通常包括用于确定文档的相关性的通用二进制分类器,例如决策树、随机森林、朴素贝叶斯、神经网络、svm。文档的相关性值可以定义为与第一类别相关联的值。在其他实施方案中,分类器组件具有超过两个的类别。以下将描述假设分类器组件具有两个相关性类别、即第一类别和第二类别的训练程序。然而,技术人员可以类推这些技术以执行其他分类器的训练。

在一些实施方案中,训练程序包括两个阶段。在第一阶段中,可以训练分类器组件以学习相关特征。先前从查询特征生成的训练特征集合可以被呈现给指定训练特征所属的第一类别的分类器组件。

在第二阶段中,可以通过将多个文档特征呈现给指定不相关特征所属的第二类别的分类器组件,训练分类器组件以学习不相关特征。所呈现的文档特征集合可以包括存储在索引数据库中的所有不同文档特征,或者文档特征集合可以仅包括存储在索引数据库中的文档特征的预定义子集。例如,在训练的第二阶段中使用的文档特征集合可以包括索引数据库的除了在训练的第一阶段中使用的训练特征集合的文档特征之外的所有文档特征。

根据搜索引擎使用的分类器的类型,训练分类器组件的上述两个阶段可以以任何顺序或甚至并行地进行。

选择用于分类的文档

一旦使用基于查询特征和从索引数据库中选择的文档特征集合而生成的训练特征来训练分类器组件,搜索引擎便可以对文档存储器中任意数量的文档进行分类。为了分类,在步骤240中,从文档存储器中选择格式化文本文档集合。在分类过程中,分类器组件评估经选择文档的文档特征,以针对各经选择文档关于它们所属的各相关性类别生成相关性值。待分类的文档集合可以以各种方式选择。

在第一示例性方法中,将所有源文档分类。在具有数百万个文档的大型文档存储器中,所有源文档的分类可能会非常耗时。然而,所有源文档的分类将导致最准确的搜索。

在另一示例性方法中,将缩减的源文档集合分类,这允许更快的分类。可以通过各种方案来选择文档以进行分类,下面从中引入两个方案作为实施例。

在选择方案的一个实施方案中,选择包含至少一个训练特征的文档。在优选实施方案中,被选择的文档包含最可能的训练特征。训练特征可以包括:i)查询特征本身(例如,当可以获取大量特征以训练分类器组件时),和/或ii)扩展的查询特征集合(例如,当从查询文本中获取的特征不足以训练分类器组件时)。选择方案的该实施方案包括在步骤502中获取与至少一个查询特征相关联的文档的标识符doc_id,在该实施方案中,经选择文档彼此具有紧密的语义关系。

在搜索方法的优选实施方案中,在上述步骤502中,仅获取单独与最可能的查询特征相关联的那些文档的标识符。可替代地,也可以选择与所有查询特征相关联的那些文档,然而这种方法产生了相当有限的源文档集合,从而改进了搜索速度,但是可能会降低搜索精度。

当搜索工具使用具有正向索引数据库和反向索引数据库的索引数据库以使搜索更快时,在上述步骤502中,可以从反向索引数据库中检索文档标识符。然而,在没有索引数据库的情况下,所需的文档标识符可以仅通过在搜索期间读取和处理整个源文档数据库来获取。

在选择方案的另一实施方案中,所选择的用于分类的文档包含至少一个特征,但是优选地包含扩展的查询特征集合的最可能特征。与上述选择方法相比,选择方案的该实施方案产生了大的文档集合,从而经选择文档覆盖了语义上更广的域。如图6所示,第二选择方案的后续步骤可以由搜索引擎在步骤602中进行,该搜索引擎获取与扩展的查询特征集合中的至少一个特征相关联的文档的标识符doc_id。

当搜索工具使用具有正向索引数据库和反向索引数据库的索引数据库以使搜索更快时,在上述步骤602和610中,可以从反向索引数据库中分别检索文档标识符和块标识符,而在上述步骤606中,可以从正向索引数据库中检索块特征。然而,在没有索引数据库的情况下,所需的标识符和特征可以仅通过在搜索期间读取和处理整个源文档数据库来获取。

如上所述,在分类的后续步骤中,选择所有文档,或者优选地仅选择缩减数量的文档,用于相关性评估。

分类文档

在分类文档时,各先前选择的文档的所有文档特征都会呈现给分类器组件,以关于其相关性评估给定文档。为此,在步骤245中,可以通过从源文档数据库中读取所有文档来获取经选择文档的文档特征,或者优选地,可以从正向索引数据库中检索源文档的文档特征。然后在步骤250中,将由此获取的文档特征呈现给先前经训练的分类器组件,以用于评估文档。

作为分类的结果,分类器组件针对各经分类文档输出一个或多个相关性值,例如分数、概率、逻辑值等,其中分配给特定文档的至少一个相关性值表示该文档属于不同相关性类别的程度。例如,当在分类器组件中定义了两个相关性类别(即,针对语义相关文档的第一类别和针对语义不相关文档的第二类别)时,文档将在特定程度上分类为两个类别。这意味着,当针对特定文档将第一类别的相关性值定义为比第二类别的相关性值更高的相关性时,给定文档被视为与查询文本相关,否则其被视为不相关。由分类器组件产生的相关性值可以以整数、浮点值(例如,分值)、逻辑值(例如,真和假)或其向量或矩阵的形式表示,其中相关性值的类型和范围取决于搜索引擎中使用的分类器的类型。

在分类器组件内,除其它之外,可以使用以下类型的可训练分类器:朴素贝叶斯分类器(naivebayesclassifier)、支持向量机(svm)分类器、多项式逻辑回归分类器、隐马尔可夫模型(hiddenmarkovmodel)分类器、神经网络分类器或k最近邻分类器等。

通过特有特征表示的源文档和查询文本(即,分别通过内容特征和查询特征)允许对经选择源文档进行非常有效的分类,因为不需要像在传统语义搜索引擎中那样在词的基础上分析经选择文档的整个文本,而是仅将其特有特征用于内容分析。在一些实施方案中,该属性使搜索更快并且显著降低了其内存需求。此外,源文档不需要为了分类的目的(如传统语义搜索引擎中所需要的)而被永久存储,因此也可以节省大量的存储容量。

排序经分类文档

在分类器组件完成对经选择文档的分类之后,在步骤260中,使用搜索引擎的排序组件将经分类文档通过相关性排序。为了通过相关性将文档排序,可以根据特定搜索工具的类型而使用各种方案。

在一种示例性方案中,对于待排序的文档,考虑各类别的相关性值。对于各经分类文档,可以根据预定算法对相关联的不同相关性类别的值进行加权,以产生语义相关文档的有序列表。

在优选示例性方案中,仅属于相关性类别之一的相关性值用于将文档排序。例如,当定义了两个相关性类别时,排序组件仅考虑定义高相关性的类别的相关性值。

因此,搜索过程的最终结果是指定了分类过的源文档的文档标识符的有序列表,分类过的源文档通过它们的相对于搜索查询的相关性来排序。在步骤270中,将该列表存储在计算机可读内存中。

相关文档的标识符的有序列表可以进一步通过结果列表创作器组件来处理,以生成可以被查询用户或查询计算机程序理解的格式的文档列表。可以通过结果列表创作器组件使用文档标识符(或块标识符)和元数据存储器中存储的元数据来生成经处理文档列表。经处理列表可以包含关于返回的文档或文档部分的访问信息和其他有用信息,例如特定的书目数据、电子文档的url、文档标题等。由于该经处理列表,查询用户或查询计算机程序可以按需访问或下载任何一个或多个经排序文档。该经处理文档列表可以转发到查询接口,查询接口反过来通过用户接口将该列表转发给用户,或者通过api转发给查询计算机程序。

在一些实施方案中,当文档的元数据可用时,排序组件还可以使用文档的元数据,用于根据语义提供相关文档的更准确的排序。例如,考虑到查询文本的内容,文档的作者姓名或从文档的元数据中获取的科学或技术领域可以进一步增加(或甚至减少)它们的相关性。

搜索操作的实施例

在第一实施例中,参考图7描述所谓的相似性搜索的步骤。针对基于较长的连贯的文本(例如,会议论文、书籍、正式文件的经选择部分等)的语义搜索,将搜索优化。

作为该示例性搜索的第一步骤,在步骤700中,从查询接口接收查询文本。然后在步骤712中,通过令牌器中构建的预定方案或模型,从查询文本中生成查询特征。在步骤720中,将查询特征定义为训练特征,并且在步骤730中,利用这些特征来训练分类器组件。

为了分类,选择包含至少一个查询特征的文档,但优选地选择包含最可能的查询特征的文档,以用于分类。首先,在步骤742中,例如通过在索引数据库可用时从索引数据库的反向索引数据库中检索文档标识符,来获取这些文档的标识符doc_id。在该实施例中,步骤742对应于以上可选步骤502。在步骤745中,例如通过从正向索引数据库中检索文档特征,来获取经选择文档的文档特征。

在步骤750中,使用先前经训练的分类器组件,以通过使用经选择文档的文档特征的相关性将经选择文档分类。然后,在步骤760中,基于由分类器组件产生的相关性值,将经分类文档排序,分类器组件使用预定排序算法,可选地也考虑与经分类文档相关联的元数据。在步骤770中,将排序过的相关文档的标识符列表存储在计算机可读内存中。

在第二实施例中,参考图8描述所谓的关键词搜索的步骤。当旨在仅搜索源文档数据库的受限部分时,该搜索针对基于有限数量的关键词、通常是用户猜测的几个词的语义搜索进行优化。

在第一步骤中,在步骤800中,从查询接口接收查询的关键词。接下来,在步骤810中,从特定关键词生成查询特征。所得的查询特征可以是关键词本身(不使用任何转换),或者查询特征可以通过使用上述预定方案或模型中的任何一种从关键词中获得。由于在该实施例中,查询特征的数量可能不足以对分类器组件进行适当的训练,因此进行对查询特征集合的扩展,以生成扩展的查询特征集合,该扩展的查询特征集合将用作训练特征集合。特征扩展的步骤812和816对应于以上参考图4描述的步骤402和406。因此,首先在步骤812中获取与至少一个查询特征相关联的块的标识符block_id;然后在步骤816中获取与每个经选择块相关联的所有块特征。与经选择块相关联的该块特征集合被定义为扩展的查询特征集合,并被用作训练特征集合。

再次在该实施例中,当索引数据库可用时,在步骤812中通过从反向索引数据库中检索块标识符来获取经选择块的块标识符,并且在步骤816中通过从正向索引数据库中检索块特征来获取块特征。

然后,在步骤830中利用扩展的训练特征来训练分类器组件。

为了分类,在步骤842中,选择包含至少一个查询特征的文档,但优选地选择包含最可能的查询特征的文档。可选地,可以选择包含扩展的查询特征集合中的至少一个特征的文档,从而导致了源文档的更大的选择域。当索引数据库可用时,文档选择可以通过从索引数据库的反向索引数据库中检索适当文档的标识符doc_id来完成。然后,在步骤845中,获取经选择文档的文档特征,用于训练分类器。例如,当索引数据库可用时,可以从正向索引数据库中检索文档特征。

在步骤850中,使用先前经训练的分类器组件,以通过使用经选择文档的文档特征的相关性将经选择文档分类。然后,在步骤860中,经分类文档基于由分类器组件产生的相关性值排序,该分类器组件使用预定的排序算法,可选地也考虑与经分类文档相关联的元数据。在步骤870中,排序过的相关文档的标识符列表存储在计算机可读内存中。

在第三实施例中,参考图9描述所谓的相关联搜索的步骤。当旨在寻找源文档数据库的较大部分时,该搜索针对基于有限数量的关键词、通常是用户猜测的几个词的语义搜索进行优化。

在第一步骤中,在步骤900中从查询接口接收查询文本。然后在步骤910中,从接收的查询词中生成查询特征。查询特征可以是输入文本的词本身(不使用任何转换),或者查询特征可以通过使用上述预定方案或模型中的任何一种从查询文本中获得。再次由于在该实施例中,查询特征的数量可能不足以对分类器组件进行适当的训练,因此进行对查询特征集合的扩展,以生成扩展的查询特征集合,该扩展的查询特征集合被定义为训练特征集合。因此,该方法的步骤912和916分别对应于以上参考图4描述的步骤402和406。因此,首先在步骤912中,例如通过在索引数据库可用时从索引数据库的反向索引数据库中检索查询特征,获取与至少一个查询特征相关联的所有块的标识符block_id。因此,产生了经选择块的列表。接下来,在步骤916中,例如通过在索引数据库可用时从索引数据库的正向索引数据库中检索块特征,获取与每个经选择块相关联的所有块特征。与经选择块相关联的块特征集合被定义为扩展的训练特征集合,并将被用作训练特征集合。

然后,在步骤930中利用扩展的训练特征来训练分类器组件。

为了分类,从源文档数据库中选择所有源文档或缩减的源文档集合。在后一种情况下,在步骤932中选择待分类的文档,步骤932对应于以上参考图6描述的步骤602。

当具有针对分类而选择的文档集合时,在步骤945中,例如通过在索引数据库可用时从正向索引数据库中检索文档特征,获取经选择文档的文档特征。

使用在步骤932至942中选择的文档来进行分类。在步骤950中,使用先前经训练的分类器组件,以使用经选择文档的文档特征作为输入的相关性将经选择文档分类。然后,在步骤960中,基于由分类器组件产生的相关性值将经分类文档排序,该分类器组件使用预定的排序算法,可选地也考虑与经分类文档相关联的元数据。在步骤970中,排序过的相关文档的标识符列表存储在计算机可读内存中。

本文描述的系统和方法提供了语义搜索技术,该语义搜索技术使处理器时间和资源的使用更为有效,并进一步改进了结果集合相对于由查询实体搜索的基于文本的内容的相关性。在一些实施方案中,通过采用使用了文档的双向索引的高级文档分类技术,该语义搜索技术对现有技术的语义搜索引擎进行了改进。由于这些改进,本发明的搜索引擎显著地降低了通过例如互联网或内部网的服务通信网络的搜索的带宽需求,并且还降低了搜索引擎的存储和内存需求。语义搜索引擎的实施方案对于全文搜索特别有益。

本发明的优选实施方案的前述描述提供了说明和描述,但并不旨在是穷举的或将本发明限制为所公开的精确形式。鉴于以上教导,修改和变型是可能的,或者可以从本公开的实践中获得。特别地,尽管本发明的示例性方法被描述为一系列动作,但是在与本发明一致的其他实施方式中,动作的顺序可以变化。特别地,非依赖性动作可以以任何顺序或并行地执行。

本发明的范围由权利要求和其等同物来限定。

实施例

现在将通过具体实施例来说明根据本发明的搜索引擎的操作。在该实施例中,假定搜索引擎使用一元分类器。特有特征被定义为特定词在源文档的文本中出现的概率。分类器组件的输出被定义为文档特征集合属于单个类别的百分数值。进一步假设搜索引擎使用先前填充有多个源文档的索引数据库。

让由用户针对搜索指定的查询文本为词条“电动汽车”。搜索引擎的令牌器组件在查询文本的单独的词的基础上获取以下查询特征:

由于查询特征的数量比较少,为了更高的准确性,需要附加的特有特征,因此搜索引擎的特征扩展器组件使用包含查询文本的词的源文档中的那些部分来生成较大的训练特征集合。处理这些文档部分以获取扩展的查询特征集合作为训练特征。在本实施例中,处理以下文档部分:

“保时捷的电动汽车,将“比特斯拉更好,...”

“特斯拉交付了略超过10万辆-这是电动汽车公司的记录。”

“...这也使特斯拉电源组(powerpack)蓄电池...”

“...该车设计成单次电池充电即可行驶40英里。”

“...大众汽车上升。在法国,这可能会使其电动汽车的销量增至三倍...”由此获取的特有特征一起形成了训练特征集合:

接下来,搜索引擎从索引数据库中选择包含任何以上训练特征的那些文档。这些文档被它们的标题标识如下:

雷诺(renault)kangooze将于11月上市

戴姆勒(daimler)将在辛德尔芬根建造电池工厂

保时捷(porsche)的时尚充电器(sleekcharger)将在短短15分钟内为电动汽车供电

大众汽车集团计划在第一波中制造1000万辆电动汽车

介绍阿斯顿·马丁的第一款电动跑车rapidee

现在,搜索引擎通过分类器组件执行对上述文档的分类,然后在分类器组件的输出值的基础上将文档排序。因此,文档相对于其与查询文本的相关性的假定顺序可以如下:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1