CN101501688B - 搜索内容的方法和装置 - Google Patents
搜索内容的方法和装置 Download PDFInfo
- Publication number
- CN101501688B CN101501688B CN2007800300860A CN200780030086A CN101501688B CN 101501688 B CN101501688 B CN 101501688B CN 2007800300860 A CN2007800300860 A CN 2007800300860A CN 200780030086 A CN200780030086 A CN 200780030086A CN 101501688 B CN101501688 B CN 101501688B
- Authority
- CN
- China
- Prior art keywords
- document
- search
- minor
- mark
- subclass
- 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.)
- Expired - Fee Related
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/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明描述了用于搜索内容(包括结构化搜索)的方法和装置的实施方式。本发明的实施方式利用树结构(或者更一般地,图结构)、布局结构以及内容类别信息在搜索结果内获取有可能以其他方式遗漏的相关内容,以减少搜索结果内误测情况的发生,并提高搜索结果内分级的准确度。本发明的实施方式还利用树结构(或者更一般地,图结构)、布局结构以及内容类别信息将搜索结果扩展为包括子文档要素。本发明的实施方式还支持利用分布特性作为对搜索结果进行分级的标准。本发明的实施方式支持基于结构邻近的搜索、带有递归嵌入的算符、谓语和/或量词的搜索式以及选择广告的应用。
Description
技术领域
本发明的实施方式涉及数据处理领域,具体地说,涉及搜索电子文档的方法和装置。
背景技术
尽管在过去几十年里取得了显著的进步,但是电子文档技术还是受困于妨碍用户全面实现计算及相关技术的进步所带来的好处的许多缺点。例如,满足给定搜索式的Web页面通常包括不满足该搜索式的要素。在许多情况下,页面的全部内容中的一小部分会与该搜索相关。如果用户的目标是与该搜索式相对应的信息,则将整个Web页面递送给用户是对下载带宽的浪费和屏幕实际使用面积的浪费,并且还使得用户承担了在该Web页面中查找相关要素的任务。在页面上高亮显示搜索词只能使该任务稍有减轻。在移动设备上呈现搜索结果的问题尤其尖锐。
标准Web搜索引擎返回的是到Web页面的链接。各种搜索引擎都能处理对子文档要素的类别或者实例进行指定的搜索请求。这些可以称为“子文档”搜索引擎。一些子文档搜索引擎局限于返回文本要素。另一些子文档搜索引擎返回属于非文本类别的要素,但局限于可以通过非常简单的标记(markup)特性来表征的非文本类别。一些子文档搜索引擎使用基于字符串的算法来确定要提取的要素。另一些子文档搜索引擎使用对非常简单的标记树特性进行检查的基于树的算法。还有一些子文档搜索引擎支持用于指定要素的极富表现力的语言。这些子文档搜索引擎都未能有效地利用子文档要素的内部关系,而这些内部关系反映在文档树结构(或者其他文档图形结构)和文档布局结构中。
各种搜索引擎都处理对近似关系进行指定的搜索请求。一些搜索引擎基本上局限于基于字符串的近似关系。另一些搜索引擎识别要素边界以便忽略这些边界。另一些搜索引擎识别搜索词何时出现在同一要素内。这些搜索引擎都未能有效利用基于文档的树结构(或者其他图形结构)和布局结构的结构近似关系。搜索词在文档内的共同出现是这些搜索词彼此相关的证据。此外,相关度是有传递性的。当前的系统使用调节这些原理的学习算法来实现对搜索请求的应答,其中在某些情况下,该应答不包括该请求中所包含的任何词语(word)。这些系统需要一个学习过程。
与移动设备相关的非常有限的下载带宽和屏幕实际使用面积促成了WAP(无线接入协议)网络的产生。因为建造WAP站是劳动密集型的工作,WAP网络与万维网(World Wide Web)相比仍然极小,相应地其提供给用户的内容也较少。对于搜索而言,万维网是比WAP网络强大得多的资源。
有限的下载带宽和有限的屏幕实际使用面积还促成了对HTML文件进行格式转换以使之呈现在移动设备上的浏览器的产生。这些移动浏览器对内容进行格式转换以减小水平滚动。它们可以将分页符引入长页面。它们可以消除或者替代对大文件的引用。它们可以更换字体。它们可以提供有特色的用户界面。侦听用户的HTML文件请求的服务器变码器也提供了类似的功能。这种服务器变码器可以用于对满足搜索条件的Web页面进行格式转换。目前的移动浏览器和服务器变码器只能基于简单条件的有限范围来提供非常基本的内容提取手段。
当前技术的另一局限性涉及对于复合搜索式的错误命中(false hit)。假设给定Web页面含有包含词haydn的单次出现但不包含词boccherini的要素N1。进一步假设该页面含有包含词boccherini的单次出现但不包含词haydn的要素N2。并假设该页面包含haydn的仅这一次出现和boccherini的仅这一次出现。现在假设用户为了查找同时与haydn和boccherini有关的信息而搜索该Web。尽管该Web页面包含了haydn和boccherini两者的出现,但是该页面可能满足或者可能不满足用户的搜索请求。是否满足部分地取决于N1和N2的特性以及这些要素在该Web页面内的关系。目前的技术不能利用搜索式与子页面要素的对应关系来减少错误命中的发生。
类似地,目前的技术也不能利用搜索式与子页面要素的对应关系来产生对于不可约非(irreducible negation)搜索式的正确子页面命中。假设将搜索式“haydn and not boccherini”应用于前段中描述的Web页面。要素N1满足该式,但该页面作为整体并不满足。假设用户的请求可以用子页面要素来满足,则局限于返回整个页面的系统将不会提供最优的应答。
附图说明
将通过附图中例示的示例性而非限制性实施方式来描述本发明的实施方式,图中相同标号表示相同元件,并且其中:
图1例示了根据各个实施方式的本发明的方法和装置的概图;
图2到图4例示了根据各个实施方式的图1的结构化内容搜索引擎的选定操作;
图5例示了根据各个实施方式的适于实施本发明的示例性计算机系统。
具体实施方式
本发明的例示实施方式包括但不限于内容搜索方法和装置,具体地说,包括但不限于检查内容结构的内容搜索方法和装置。
下面将使用本领域技术人员通常采用的术语来描述这些例示实施方式的各个方面,以便将他们成果的精髓传达给本领域的其他人员。然而,本领域技术人员可以想到的是,可以仅使用所述方面中的某些来实践另选的实施方式。出于解释的目的,阐述了特定的数字、材料和配置以便提供对这些例示实施方式的透彻理解。然而,本领域技术人员可以想到的是,可以不使用这些特定细节来实施另选实施方式。在其他实例中,为了不混淆这些例示实施方式,公知特征被省略或简化。
此外,各个操作将以最有助于理解这些例示实施方式的方式依次被描述成多个独立的操作;然而,说明的顺序不应被解释为暗示着这些操作必须是依赖于次序的。具体而言,这些操作不需要按照给出的顺序来进行。短语“在一个实施方式中”被反复地使用。该短语通常并不是指同一实施方式;然而,它也可以指同一实施方式。除非上下文有其他规定,措辞“包含”、“具有”以及“包括”是同义词。短语“A/B”意思是“A或B”。短语“A和/或B”意思是“(A)、(B)或(A和B)”。短语“A、B和C中至少一个”意思是“(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)”。短语“(A)B”意思是“(B)或(AB)”,即,A是可选的。
本发明使得对多组Web页面或者其他内容执行的搜索结果能够更准确地符合用户的请求。在各个实施方式中,搜索返回的都是相关文档要素而不是整个文档。在各个实施方式中,文档的要素都可以合并于单个显示中。本发明由此能够将搜索结果显示在移动设备和其他设备上而不会将下载带宽和屏幕实际使用面积浪费在无关的Web页面要素上。本发明对于基于搜索词组合的搜索还能够实现更准确的结果,并提供通过分析搜索匹配分布来提高搜索结果准确度的机制。此外,本发明支持除指定要匹配的搜索式之外还指定内容类别的内容请求。本发明的方法和装置可以在内容请求时间之前应用于对内容进行注释,然后可以利用其注释来缓存该内容,以便在内容请求时进行更快速的处理。
现在参照图1,其中示出了一框图,该框图例示了根据各个实施方式的本发明的内容搜索方法和装置。如图所示,对于这些实施方式,内容请求引擎111(结合本发明的教导)控制用户内容请求的处理。内容请求引擎111指示一个或多个搜索引擎108识别来自各种源101的内容106,内容106包括但不限于应用102、Web 103以及内容数据库和缓存104。文档搜索引擎108表示包括但不限于Web搜索引擎、内容管理系统以及数据库管理系统在内的类别广泛的应用。识别出包含所需内容的文档后,内容请求引擎111指示一个或多个文档获取引擎107来获取文档。在某些情况下,文档搜索和文档获取功能可以组合在单个引擎中。内容请求引擎111将获取的文档引导至一个或多个文档解析器112,文档解析器112提供与获取的文档相关联的树或其他图形结构。然后内容请求引擎111(结合本发明的教导)将解析后的文档引导至内容搜索引擎114。在另选实施方式中,Web搜索引擎等可以返回经过预解析或等同预备处理的文档。对于这些实施方式而言,内容请求引擎111可以把预解析后的文档直接引导至内容搜索引擎114。内容搜索引擎114可以直接调用(call)字符串搜索引擎109和测量引擎113,或者可以通过作为中介的内容请求引擎111来访问这些引擎的功能,如图1所示。内容搜索引擎114可以直接访问类别库(category repository)110,或者可以通过作为中介的内容请求引擎111来访问类别库110,如图1所示。可以将以下一个或多个装置的功能组合在单个引擎中:文档获取引擎107、文档搜索引擎108、字符串搜索引擎109、文档解析器112、测量引擎113。测量引擎113提供与预期布局以及呈现所获取的文档和它们的要素相关的信息。在本发明的各个实施方式中,内容搜索引擎114的输出被作为内容要素目录115提供。在本发明的各个实施方式中,内容要素目录被导向内容选择引擎116,该内容选择引擎116与布局引擎117一起工作来构建显示呈现118。内容搜索引擎114可以直接或通过作为中介的内容请求引擎111与内容选择引擎116进行通信,如图1所示。尽管为了便于理解,将内容请求引擎111和内容搜索引擎114所执行的功能例示为不同的组件,但是实际上,它们的功能可以被分割且分配到不同的更小模块和/或任务。另选的是,它们可以组合在单个模块中。各种模块和/或任务可以作为单个线程来执行,或在适当时作为多个线程来执行。在各个实施方式中,文档获取引擎107、文档搜索引擎108、字符串搜索引擎109、内容请求引擎111、文档解析器112、测量引擎113、内容搜索引擎114、内容选择引擎116和布局引擎118的执行以及类别库110的存储可以在同一系统中进行,而在其他实施方式中,它们可以在不同的系统中进行,例如,107、109、111、112、113、114、116和117在一个服务器上,而文档搜索引擎108在不同的服务器上。对于后面的实施方式,内容请求引擎111和内容文档搜索引擎108之间的通信可以遵从诸多通信协议中的任何一个,包括但不限于HTTP和/或HTTPS,需要或无需通过一个或多个通信模块/层(其中HTTP=超文本传输协议,HTTPS=安全超文本传输协议)。
在各个实施方式中,类别库110、内容请求引擎111、内容搜索引擎114、内容选择引擎116和布局引擎117,连同文档获取引擎107、字符串搜索引擎109、文档解析器112和测量引擎113一起,可以实现为“更大的”供应品的一部分。例如,在各个实施方式中,所有9个组件107、109、110、111、112、113、114、116和117都可以实现为Web搜索业务的一部分。在另一些实施方式中,107、108、109、110、111、112、113和114可以是Web搜索业务的一部分,而内容选择引擎116和布局引擎117可以是改进的Web浏览器或发布工具的一部分。在另一些实施方式中,也可以有其他的实现配置。
I.概述及总论
标记文件和其他内容源被视为树、图形或者其他形式的结构化内容。人们希望通过布局引擎的具体类型来布置内容源的重要类别。例如,HTML文件通常要由布局引擎符合W3C标准的浏览器来进行布置。为了便于理解,本发明将主要用标记文件及其他结构化为树的内容源来描述,并且内容搜索引擎114也将被称为结构化的内容搜索引擎114,然而这种描述不应当理解为是对本发明的限制。本发明的实施方式利用树结构(或者更一般地,图形结构)、布局结构以及内容类别信息在搜索结果内获取有可能以其他方式遗漏的相关内容,以减少搜索结果内误测情况的发生,并提高搜索结果内分级的准确度。本发明的实施方式还利用树结构(或者更一般地,图形结构)、布局结构以及内容类别信息将搜索结果扩展为包括子文档要素。本发明的实施方式还支持利用分布特性作为对搜索结果进行分级的标准。并且本发明的实施方式支持基于结构近似的搜索。
下文中,将互换地使用“结构化内容搜索”、“结构化搜索”和“结构搜索”来指代本发明的实施方式。
下文中,“基本搜索词”是所引用的字符串或者是不包含指定分隔符(例如空格、句号和引号)的字符串。下文中,基本搜索词和搜索式更一般地用斜体表示。“Franz Joseph Haydn”和Haydn是基本搜索词的例子。基本搜索词可以包括通配符。“搜索式”可以由带有各种算符(例如标准与、或和非算符)的基本搜索词构成。下文中,AND表示标准与算符、OR表示标准或算符,而NOT表示标准非算符。利用括号进行组合,(haydn ANDNOT mozart)OR(boccherini AND pleyel)是搜索式的例子。
在一般情况下,本发明的实施方式利用调用另一递归过程的递归过程,如图2-3所示。在各种实施方式中,外部过程都从底到顶来巡查(walk)与标记或其他内容相关联的解析树。在各个实施方式中,这些解析树可以利用从布局结构得到的信息而得到增强。在各种实施方式中,内部过程也从底到顶来巡查与搜索式相关联的简单解析树。在各个实施方式中,图2中例示的子例程是图1中例示的结构化内容请求搜索引擎114的一部分。在各种实施方式中,图2中所示的子例程“针对E的全部子式来计算N的密度和相关度中心(r-center)”206对应于图3中例示的子例程。在各种实施方式中,子例程“计算E对于N的节点偏差”207对应于图4中例示的子例程。
为了支持对搜索结果分级,本发明的实施方式将匹配定义为考虑内容要素和搜索式并返回0与1之间(包含0和1)的实数的函数,其中1对应于最可能匹配,而0对应于不匹配。取0与1之间的值是为了计算方便。这不涉及建模功耗。内容要素可以是下级(lower)内容要素的集合(aggregate)。
当其他事项相同时,平均分布更有利于搜索匹配。当基本搜索词出现在字符串中时,该字符串当然有可能与该词无关。标准搜索算法按照合理的假设进行,即,假设该字符串与该词有关。按照相关度随密度增大的假设进行也是合理的。假设字符串大小固定,因为基本搜索词在字符中出现的次数增加,所以假设的该词与字符串的相关度也增大。假设基本搜索词出现的次数是固定的,则因为包含该出现的字符串的长度增加,所以假设的该词与字符串的相关度减小。
这反应了稍微深奥的原理。按照“随着与基本搜索词的出现的距离增大,与搜索词的相关度降低”的假设进行是合乎情理的。相关度不对应于使命中取最大值而其他地方取0值的函数。相反,它显示一种准连续性。
假设两个字符串S1和S2各包含1000个字,并且这两个字符串各包含基本搜索词haydn的9次出现。在S1中,haydn的这9次出现都包含在开始于字位置807且结束于字位置883的子字符串S1,1中。在S2中,haydn的这9次出现位于字位置99、202、301、397、499、601、706、798和899处。按照S1,1与haydn非常相关,而S2作为整体比S1作为整体与haydn更相关的假设进行是合理的。haydn在S2内的均匀分布确保了S2中的任何部分与haydn的出现的距离都不超过105个字,而S1的整个前半部分与haydn的任何出现的距离均大于300个字。按照S1的大部分与haydn无关的假设来进行是合理的。尽管搜索的主要目的是交付相关内容,但避免交付不相关内容也是一个重要的次要目的。这些目标在S1的情况下有些不对称。S1无疑是haydn的有效搜索结果,但假设其包含无关材料则降低了其等级。
这些结论是从字符串到内容要素,并从基本搜索词到搜索式概括而来的。在内容要素中,搜索式的相关度随着直接匹配的距离而减小。内容要素与搜索式的总体相关度随着匹配密度而增加。内容要素与搜索式的总体相关度随着匹配分布变得更加均匀而增加。
尽管术语“结构邻近”是指利用树结构和布局结构,但是相关方法也适用于字符串。
各种公知的算法都支持基于字符串的邻近作为搜索条件。然而,现有算法并没有足够地遵循相关度随着距离增加而降低的原则。例如,如果用户请求在出现boccherini的5个字内包含haydn的出现的文本,则现有技术的应答将排除包含在字位置5、20、41、59、79和93处出现haydn并且包含在字位置12、30、51和72处出现boccherini的100字长的文本。然而,很可能该文本既与haydn相关也与boccherini相关。此外,很可能该文本使haydn与boccherini相关联。如果用户搜索使haydn与boccherini相关联的信息,则遗漏该文本的搜索是不适当的。该文本可以被包括在对于包含在出现boccherini的7个字内出现haydn的文本的请求的应答中,但是这种请求会遗漏具有haydn和boccherini的出现距离更远的类似分布模式的文本。除了与固定的邻近阈值相关的问题之外,现有算法也没有充分考虑字符串内的密度和分布,并且没有利用树结构(或者更一般地,图形结构)、布局结构和内容类别信息。下文中,“##”是指结构邻近算符,haydn##boccherini是带有结构邻近算符的搜索式的例子。
假设结构邻近算符是可用的,则再提供典型逻辑算符是有意义的。因此内容要素当且仅当它既与haydn匹配又与boccherini匹配时才与haydn AND boccherini匹配。“非”以及“或”可以同样以严格的经典意义来解释。可以利用结构邻近及其他算符来递归地构建搜索式。例如,(haydn AND NOT pleyel)##(mozart OR boccherini)请求的是与haydn匹配但不与pleyel匹配的子要素(不必是子要素)与至少匹配mozart和boccherini之一的子要素(不必是子要素)结构邻近的要素。结构邻近(##)是标量值(scalar-valued),而经典的与(NOT)、或(OR)以及非(NOT)是布尔值(boolean-valued)。
可以引入结构邻近的非算符的类似物。这将被称为“结构邻近补”算符并在下文中表示为“~”。还可以引入结构邻近的或算符的类似物。这将被称为“结构邻近或”算符并在下文中表示为“%%”。结构邻近算符##可以替代地称为“结构邻近与”算符,以强调其与结构邻近补算符和结构邻近或算符的区别。
根据本发明各种实施方式,对于直接嵌入在搜索式中的标量值算符(##,%%,~)之下的经典布尔值算符(AND,OR,NOT)的实例,真值被转换为标量值1,而假值被转换为标量值0。根据各种实施方式,对于直接嵌入在搜索式中的布尔值算符之下的标量值算符的实例,大于0的值被转换为真,而0值被转换为假。搜索请求还可以包括各种标量值(模糊)逻辑算符。例如,搜索请求可以包括这里将表示为&&、||以及!的算符。如果E1和E2在内容要素N上的分数分别为s1和s2,则E1&&E2在N上的分数是s1和s2中的最小值,E1||E2在N上的分数是s1和s2中的最大值,而!E在N上的分数是(1~s1)。如果布尔值表达式E嵌入标量值算符之下,则E的真值被转换为标量值1,而E的假值被转换为标量值0。
在从经典搜索到结构邻近搜索,以及从对字符串搜索到对树和布局结构进行搜索的概括中,搜索匹配的概念发生了改变。本发明的各种实施方式提供了备选的修订搜索匹配概念。结果,该修订概念为字符串搜索结果的改善提供了基础。经典的搜索概念只关注在内容要素中找到的直接匹配。但字符串内的任何字都不会与诸如haydn##boccherini的表达式直接匹配。并且包括多个段落的要素内的任何段落都不会是haydn的完美匹配(除有些段落完全由haydn的出现所构成的不可能情况外)。根据本发明的各种实施方式,内容要素N的所有子要素在关于N的搜索式的评估之中都要考虑。根据本发明的其他实施方式,在关于内容要素N的搜索式的评估中,直接搜索匹配在某些情况下对应于N的子要素的结构。
II.字符串内的基本搜索
A.对字赋予相关度值
给定基本搜索词E并给定字符串S,本发明的实施方式根据以下条件对每个字赋予“相关度值”(“r值”或者简称为“值”):(i)如果S不包含E的出现,则对该字符串中的每个字(对应于该字符串中的位置)都赋予为0的r值;(ii)如果S至少包含E的一次出现,则对S中的任何字W,赋予W的r值都为∑1≤i≤k(1/(1+di)x),其中,k是E在S中的出现次数,x(“距离衰减指数”)是正实数,而di是W与E的第i次出现之间的字间距离,一对相邻字之间的距离取为1,以此类推。字W与包含多于一个字的基本搜索词E的出现之间的距离为W与E中的字之间的距离的最大值。
本发明的实施方式对赋予字的r值进行归一化,使得这些r值介于0和1之间(包括0和1),根据上述0038段赋予W的r值除以∑1≤i≤n(1/(1+di)x),其中,n为S中字的数量,x为衰减指数,而di为W与S中的第i个字之间的距离。注意,现有技术包括以封闭形式(closed form)来计算或估计这些归一化因子的方法。
本发明的各种实施方式利用了各种距离衰减指数。距离衰减指数为1时得出了合理的结果。本发明的另选实施方式测量字符串内的字符而不是字的距离。
根据本发明的另选实施方式,字W与包含多于一个字的基本搜索词E的出现之间的距离为W与E中的字之间的距离的最小值。根据本发明的其他另选实施方式,字W与包含多于一个字的基本搜索词E的出现之间的距离为W与E中的字之间的距离的算术平均值。
根据本发明的另选实施方式,给定基本搜索词E并给定字符串S,根据以下条件对S中的每个字赋予r值:(i)如果S不包含E的出现,则对该字符串中的每个字赋予为0的r值;(ii)如果S至少包含E的一次出现,则对S中的任何字W,赋予W的r值都为1/(Lx),其中,L是S中既包含W又包含E的出现的最短字符串的字长,x是正实数。
根据本发明的另选实施方式,根据段落0038计算出的距离或者根据段落0042计算出的距离是以字符而不是以字来计算的。
B.密度
本发明的实施方式获取字符串S中基本搜索式E的匹配密度作为赋予S中的字的r值的算术平均值。本发明的另选实施方式获取字符串S中基本搜索式E的匹配密度作为赋予S中的字的r值的中值或者几何平均值。
C.分布
假设D为针对搜索式E赋予S中的字的r值的算术平均值,本发明的实施方式按照与赋予S中的字的r值的D的绝对平均偏差(“AAD”:)来获取E的分布。对于与字符串对应的内容节点,节点的“节点偏差”是该绝对平均偏差。因为赋予字的r值是非负的,所以比值AAD/A不能超过2。本发明的实施方式将“分布分数”函数Δ定义为,如果D=0则Δ=1,如果D≠0则Δ=1-AAD/(2*D)。Δ取0和1之间的值。高Δ值表示E在S中的均匀分布。低Δ值表示E在S中的非均匀分布。在本发明的另选实施方式中,如果D=0则Δ=0。
在本发明的另选实施方式中,可以使用中值绝对偏差或者标准偏差或者方差代替平均绝对偏差来评价分布的均匀性。分布的特性可以用更高阶矩来定义。
D.相关度中心
本发明的实施方式根据下述公式来获取S中E的出现的“相关度中心”(“r中心”):(∑1≤i≤n(v1*i))/(∑1≤i≤nvi),其中,n是S中的字数,而vi是赋予第i个字的r值,将字符串中头一个字计为第1个字而不是第0个字,以此类推。
在本发明的另选实施方式中,为了计算相差度中心而赋予字的r值可以使用与为了计算密度和分布而向字赋予r值所使用的距离衰减指数不同的距离衰减指数。
本发明的另选实施方式根据下述公式来获取S中E的出现的相关度中心:(∑1≤i≤kpi)/k,其中,k是S中E出现的次数,而pi是E的第i次出现的位置,将S中头一个字的位置计算为1,以此类推。
E.总分
本发明的实施方式根据下述公式来赋予S匹配于E的总分:c1*D+c2*Δ,其中,D为段落0044中定义的密度,Δ如段落0046中所定义,而c1和c2为使得c1+c2≤1的正实数。注意到0≤D≤1并且0≤Δ≤1,所以0≤(c1*D+c2*Δ)≤1。可以按照需要调整c1和c2的值,以便在判断S对于E的相关度时调节密度和分布的相对重要性。注意,在对搜索结果分级时,除了D和Δ以外,还可以考虑例诸如字符串长度的特性。可以按照需要通过确保各特性P都在0和1之间取值并利用∑1≤i≤m(ci*Pi)形式的公式调整这些附加特性的相对重要性来计算总分,其中,总共有m个特性并且∑1≤i≤mci≤1。
III.针对字符串的结构邻近搜索
A.对字赋予r值
注意,不能从密度和r中心推导出邻近。假设在字符串S1中,haydn的出现集中在字符串的开头和结尾处,而boccherini的出现集中在字符串的中间。在字符串S2中,haydn和boccherini两者的出现都集中在字符串的中间。S1和S2对于haydn可能具有几乎相同的密度和r中心,并且对于boccherini可能具有几乎相同的密度和r中心,而相比S1来讲,haydn和boccherini的邻近对于S2更大。
给定搜索式E1##E2##...##Em,其中E1...Em为搜索式,并给定字符串S,本发明的实施方式根据以下条件对S中的每个字赋予r值:(i)如果对于某个i,1≤i≤m,Ei的r值为0,则针对E1##E2##...##Em,为该字符串中的每个字赋予为0的r值;(ii)如果S至少包含每个E1,...,Em的一次出现,则对S中的任何字W,赋予W的r值为针对E1,...,Em赋予W的r值的几何平均值。
在本发明的另选实施方式中,根据段落0053对于情况(ii)赋予W的r值为针对E1,...,Em赋予W的r值的算术平均值。在本发明的其他另选实施方式中,赋予W的r值为针对E1,...,Em赋予W的r值的最小值。在下面的讨论中,除非另有指明,都假设赋予W的r值为针对E1,...,Em赋予W的r值的几何平均值。
在本发明的另选实施方式中,略去根据段落0053的条件(i),而条件(ii)采用不同于几何平均值的其他函数。根据这些实施方式,即使S不匹配haydn,它也可以匹配haydn##boccherini。
给定搜索式E1%%E2%%...%%Em,其中E1...Em为搜索式,并给定字符串S,本发明的实施方式根据以下条件对S中的每个字赋予r值:赋予W的r值为针对E1,...,Em赋予W的r值的最大值。
给定搜索式~E,其中E为搜索式,并给定字符串S,本发明的实施方式根据以下条件对S中的每个字赋予r值:赋予W的r值为1减去针对E赋予W的r值。
注意,##和%%都不是结合算符(associative operator)。因此一般来讲,E1##(E2##E3)和(E1##E2)##E3将会对字赋予不同的r值。此外,一般来讲,E1##E2##E3会对字赋予与E1##(E2##E3)和(E1##E2)##E3都不同的r值。
还应该注意,通过这些定义,针对复合搜索式对字赋予r值是在该搜索式的要素上从下到上递归进行的。
B.结构邻近搜索的虚匹配
假设E1和E2是基本搜索词。如果E1在S中有k1次出现,而E2在S中有k2次出现,则考虑k1*k2的相异对(distinct pairs)这种相异对是通过将E1的出现作为该对的第一项并且将E2的出现作为该对的第二项而形成的。在本发明的另选实施方式中,这些对中的每一对都被视为E1##E2的虚匹配。类似地,E1##E2##...##Em(其中,E1,...,Em为基本搜索词)的虚匹配被视为出现的m元组(m-tuple),其中,该m元组的第i项为Ei的出现。
对于E1##(E2##E3),其中E1,E2和E3为基本搜索词,考虑这样的相异对,该相异对是通过将E1的出现作为该对的第一项并且将如前段中定义的E1##E2的虚匹配作为该对的第二项而形成的。在本发明的实施方式中,这些对中的每一对都被视为E1##(E2##E3)的虚匹配。以类似形式定义了通过应用##而由基本搜索词建立的任意复合搜索式的虚匹配。
本发明的实施方式利用虚匹配的相关度中心来识别其位置。本发明的实施方式还对虚匹配赋予了“权重”。将赋予虚匹配的权重与赋予基本搜索词的出现的权重1进行比较。
本发明的实施方式根据公式(∑1≤i≤m pi)/m对作为E1##E2##...##Em(其中,E1,...,Em为基本搜索词)的虚匹配的元组赋予相关度中心(“r中心”),其中,pi是虚匹配的第i项的位置,将S中头一个字的位置计为1,以此类推。
本发明的实施方式对作为E1##E2##...##Em(其中,E1,...,Em为基本搜索词)的虚匹配的元组赋予权重∑1≤i≤m(1/(1+di)x),其中x(“距离衰减指数”)是正实数,而di是虚匹配的第i项到虚匹配的r中心的距离。
对于E1##E2##...##Em(其中,E1,...,Em是通过应用##由基本搜索词建立的搜索式),本发明的实施方式将作为E1##E2##...##Em的虚匹配的元组的相关度中心赋予为(∑1≤i≤m(wi*pi))/(∑1≤i≤m(wi)),其中,wi是赋予虚匹配的第i项的权重,pi是虚匹配的第i项的r中心,将S中头一个字的位置计为1,以此类推。
本发明的实施方式将对作为E1##E2##...##Em的虚匹配的元组的权重赋予为∑1≤i≤m(wi/(1+di)x),其中x是距离衰减指数,wi是赋予虚匹配的第i项的权重,而di是从虚匹配的第i项到该虚匹配的r中心的距离。注意,通过这些定义,对搜索式的虚匹配赋予r中心和权重是在该搜索式的要素上从下到上递归进行的。对于给定的搜索式要素和该搜索式的给定虚匹配,首先基于其直接子要素的r中心和权重来计算其r中心。然后基于其直接子要素的r中心和权重来计算给定搜索式要素的权重。
本发明的实施方式使基本搜索词的虚匹配和出现相似。可以利用本发明的应用于基本搜索词的出现的方法来处理虚匹配。也可以根据应用于基本搜索词的现有技术方法来处理它们。
本发明的实施方式基于虚匹配来计算密度、相关度中心、分布以及总分。在下面描述的本发明的实施方式中,基于r值的赋予来计算密度、相关度中心、分布以及总分,如上面的段落0052~0059和下面的段落0085~0098中所述。
本发明的另选实施方式通过将字符串S评定为匹配于E##E来将S评定为匹配于基本搜索词E。其他另选实施方式通过将字符串S评定为匹配于由E和##组合成的其他搜索式来将S评定为匹配于基本搜索词E。
C.密度、相关度中心、分布以及总分
一旦为通过基本搜索词与结构邻近算符构建的搜索式的字指定了r值,本发明的实施方式就能按段落0044~0051中所述的那样来计算密度、分布、相关度中心以及总分。
IV.上级内容要素中的搜索
如段落0025中所述,本发明的实施方式从下到上巡查与标记或其他内容相关联的解析树。另选实施方式根据树要素的其他排序来巡查树。可应用的内容包括但不限于Web页面、XML文档、文本文档以及数据库记录和其他数据库结构。在下文中,这些解析树的要素将被称为“内容要素”。
A.来自布局结构的信息
本发明的实施方式使用从布局结构得出的信息来补充与内容相关联的解析树。具体而言,本发明的实施方式使用测量信息来对解析树的节点进行注释。图1中的测量引擎113是提供测量信息的模块。Web浏览器布局模块提供测量引擎功能。测量信息包括但不限于字符的宽度和高度、水平和垂直位置、长度(对于文本而言)以及引用文件的大小(对于图像、视频等)。某些测量信息是已知的。文本长度在树本身中是明显的。宽度和高度可以按像素或其他单位指定为节点属性。文件的大小可以通过下载该文件而获得。然而,其他潜在的有用测量信息需要并不简单的计算。对于HTML文件而言,浏览器呈现引擎计算要素的大小和位置。尽管浏览器呈现引擎大多都引入了相同的标准,但它们在某些情况下会得出不同的测量结果。并且某些测量结果依赖于客户机的属性(例如屏幕分辨率、窗口宽度、窗口高度以及浏览器文本尺寸设置)。当要素宽度被(可能是间接地)指定为窗口宽度的某一百分比时,这些依赖性可能是明显的。脚本会影响要素测量。尽管有这些难题,但是得出有用的测量结果范围仍然是可行的。如果存在浏览器呈现引擎的相关模块,则可以在需要时调用这些模块。交叉浏览器的不一致对于内容搜索来说无足轻重。在缺少完全引入DHTML呈现标准的引擎时,轻量(lightweight)模块能够评估要素测量。例如,可以基于字体和文本长度粗略地估算文本组件的面积。对于内容提取而言最有用的测量信息往往涉及低级的要素。在很大程度上,当客户机显示参数改变时,这些要素的测量是不变的,或变化相对很小。
另外,本发明的实施方式在解析树中插入了“虚要素”。某些文档包括在文档的解析结构中远离但是当该文档呈现时在窗口(或打印页)中彼此靠近的要素。例如,HTML Web页面可能在表格单元中包含文章文本,而与该文章相关的带说明图像却在属于不同表格的表格单元中,且这两个表格在体要素之下没有共同的祖先,这两个表格中的每一个都具有介于它和体要素之间的多个级别的祖先。然而在本例中,带说明图像呈现在文章文本的最右边。本发明的实施方式假设了虚拟要素,这些虚拟要素包含作为子要素的解析树的要素。对于刚才描述的文章示例,假设了包括文章文本和带说明图像二者的文章要素。在解析树的根节点下或其他地方,本发明的实施方式将虚要素插入到解析树中。然后在解析树中将虚要素的子要素从它们的原始位置删除。在另选实施方式中,虚要素的紧靠子要素在解析树中保留它们的原始父节点。在这些实施方式中,虚要素被插入到变成(如果它还不是)不是树的有向无环路图中,且某些节点具有多个父节点。在其他另选实施方式中,创建“语义推导(deduced)树”作为与标记解析树明显不同的数据结构。语义推导树的节点相当于内容类别的实例,其中,文章、带说明图像和说明是内容类别的示例。在这些实施方式中,尽管标记解析树和语义推导树截然不同,但语义推导树的节点可以用标记解析树的指针进行注释,反之亦然。
B.相关度的几何结构
打算通过特定类型的布局引擎来布置的标记文件通常具有字符串结构、树结构和布局结构。其他基于树的内容源至少具有字符串结构和树结构。在确定内容要素N与搜索式E的匹配程度时,本发明的实施方式为N的子节点赋予了相对大小,赋予了N的子节点之间的相对距离,并使N的子节点内的距离与N的子节点之间的距离产生关联。这些大小和距离的赋予获取了所谓的“相关度的几何结构”。N的子节点的相对大小影响了子节点匹配于E对于N匹配于E的相对影响程度。N的子节点之间的相对距离影响了结构邻近的匹配,并影响了匹配分布的均匀性。在以下的讨论中,为确定相关度而赋予的大小将被称为“相关度大小”或者“r大小”,而为确定相关度而赋予的距离将被称为“相关度距离”或者“r距离”。为了清楚起见,下面的讨论将把r距离的确定与相关度如何随着r距离衰减的处理分开。因此,没有将衰减函数构建在r距离的定义中。例如,字符串内字间的距离可以计作r距离,而可以认为彼此相关度随着r距离反向变化。字符串结构、树结构和布局结构在具体情况下可以给出要素的显著不同的相对大小,并且在具体情况下可以给出要素之间的显著不同的相对距离。例如,对于以列布置的文本,字符串结构中最左列的最后一个字与下一列的第一个字相邻,而这两个字在布局中是远离的。又例如,在布局中占据了很大面积的图像可能对应于标记文件的终结字符串(terminal string)的非常小的子字符串(无论该图像节点是否具有与HTML ALT相似的属性,都存在符合字符串搜索的值)。又例如,通过HTML文件的终结字符串中的20个字(其中这些字中的10个对应于结束标签而另10对应于简单起始标签)而被分开的两个字在树结构中比带有普通TEXT(文本)父节点的被20个字分开的两个字距离远得多。
本发明的实施方式按照由下到上遍历解析树方式来赋予r大小和r距离,其中已经用测量信息注释了解析树,并且可能已经如上述段落0074所讨论的那样插入了虚要素。另选实施方式按照由下到上遍历语义推导树的方式赋予r大小和r距离,其中已经如上述段落0074所讨论的那样构造了语义推导树。本发明的实施方式按照由下到上单次遍历增强解析树的方式或者由下到上单次遍历语义推导树的方式来赋予r大小和r距离,并且还计算匹配密度、匹配r中心、匹配分布和匹配分数。另选实施方式根据树要素的其他排序来巡查树。
在理想的简单情形下,增强解析树的终结节点是文本和图形。所有文本都使用了相同的字体。文本的大小对应于其字数。文本和图形的相对大小由固定转换因子c来决定,因此有n个字的文本与呈现面积为c*n个正方形像素的图形被计算为相同的r大小。非终结节点的大小是其子节点的r大小的总和。将图形看作具有单个内部位置。将字符串的每个字都看作是该字符串内的位置。给定优于某些文本节点和某些图形节点的终结前(pre-terminal)节点N,为了计算子节点的位置之间的r距离,将子节点看作是从左到右连在一起,而图形具有相当于与A/c个字相同的距离的面积A。例如,假设N的子节点(从左到右的顺序)为具有500个字的文本节点、面积为20,000个正方形像素的图形以及具有1000个字的文本节点。为了计算r大小和r距离,进一步假设20,000像素数等于100个字。于是N具有等于1600个字的r大小。第一个子节点中的字位置200与最后一个子节点中的字位置700之间的r距离是(500-200)+100+700=1100字单位当量。第一个子节点中的字位置200与图形的唯一位置(soleposition)之间的r距离是(500-200)=300字单位当量。最后一个子节点中的字位置700与图形的唯一位置之间的r距离是700字单位当量。该处理以明显方式一般化到上级节点。
该理想简单情况通常不能应用于真实内容。考虑内容要素N对应于百科全书文章的情况。N具有从左到右顺序的子节点N1,...,N6。N1是包括文章标题的页眉(header)要素。N2,N3和N5是文章的节。N4是照片,而N6是视频。给定搜索式E,页眉N1内的匹配在确定N与E的相关度方面比任何其他子节点内的匹配更重要。因此,尽管N1包含(例如)比N2少得多的字,但是其r大小要大得多。这说明了下面所讨论的“推进(boosting)”。类似地,视频被呈现在比照片更小的面积上,但是因为它是视频,所以在这种情况下认为其r大小比照片的r大小要大。节N2和N3涉及文章主题的在某种程度上不同的子主题。因此,为了计算r距离,N2和N3之间存在一类鸿沟(gulf),N2的最后一个字被认为距离N3的第一个字远大于一个字。这说明了下面所讨论的“弯折(warping)”。此外,对于N2中的任何两个位置p2,1和p2,2以及N3中的任何两个位置p3,1和p3,2,p2,1和p3,1之间的r距离都等于p2,2和p3,2之间的r距离。这说明了下面所讨论的“距离分支(distance branching)”。出现距离分支时,无法应用三角等式(d(p1,p3)=d(p1,p2)+d(p2,p3))。由于其取决于赋予距离的方式,三角不等式(d(p1,p3)≤d(p1,p2)+d(p2,p3))可能也无法应用。在这种情况下选择的其他距离分支示例如下:N2和N3之间的r距离等于N2和N5之间的r距离等于N3和N5之间的r距离。N1和N2之间r距离(小于N2和N3之间的r距离)等于N1和N3之间的r距离等于N1和N4之间的r距离等于N1和N5之间的r距离等于N1和N6之间的r距离。增强解析树或者语义推导树的相关度几何结构的全面规范指定了(i)节点的相关度中心(“r中心”)和(ii)与子节点相对应的空间如何嵌入与父节点相对应的空间内。(ii)揭示了任意兄弟节点的任意位置之间的r距离的规范。在某些情况下,节点的相关度几何结构可以建模为Rn的子集,其中对应于子节点的空间可能先被变换然后被嵌入对应于父节点的空间中。在某些情况下,越抽象的几何结构将会越自然。
推进、弯折、距离分支及其他变形可以利用来自所掌握的标记或者其他内容创作语言(例如,HTML H1节点下的文本被推进的程度比H2节点下的文本更大)的或多或少的信心来进行推断,或者可以利用来自布局结构(例如,随着插入白色空间而增加,或者随着插入边界处理而变得更为突出,相邻要素之间的弯折距离增大)的或多或少地的信心来进行推断,或者可以利用来自所掌握的内容类别(例如,在包括多个产品说明书的要素内,任何两个产品说明书之间的r距离都相同)的或多或少地的信心来进行推断。另选的是,可以通过补充创作来提供关于r大小和r距离的指导。这种补充创作可以在内容源本身中得到反映,或者被独立存储而用于特定内容源(例如用于来自具体网站的所有新闻文章)。
C.内容源的递归评估
本发明的实施方式评估与文档的子要素有关的搜索式,由此支持响应于搜索请求而返回文档子要素的应用。
给定搜索式E和文档U,本发明的实施方式从上到下巡查与U相关联的树。另选实施方式根据树要素的其他排序来巡查树。在各节点处,首先确定节点是否是用于评估E的候选。如果是,则计算由该节点的子节点呈现的相关度几何结构。然后针对该节点来评估E,从E的终结子式开始,并且从下到上进行。注意,节点可以是评估E的候选,即使它不是搜索请求的候选应答也是如此-评估该节点可以是评估作为候选应答的上级要素的必要步骤。
评估结果是将总分作为E的匹配赋予U的要素。在遍历U的过程中,本发明的各实施方式针对可用于计算上级节点的数据结构的下级节点来计算各种数据结构。本发明的一些实施方式将针对下级节点已经计算出的所有数据结构都存储在这些下级节点上,从而在计算上级节点的数据结构时,可以重新遍历这些下级节点以获取相关数据结构。本发明的其他实施方式通过向上传递针对下级节点上已经计算出的数据结构的封装来消除重新遍历。这些封装在本发明的各实施方式中采取多种形式。在一个极端情况下,可以在与U相关的树上向上传递E的要素基本搜索式的出现的全面详细记录,以及与E的子式的评估相关的全部计算。为了提高效率,可能希望限制访问U的节点时可用的数据。在一个极端情况下,当访问与U相关的树的节点N时,从在遍历N的子要素期间所执行的计算可以得到的仅有数据是已经被赋予N的子节点的E的任何总体评估分数。本发明的其他实施方式在针对N评估E时可以针对N的后代来计算以下数据:针对N的各子节点N′,E对于N′的节点偏离;以及针对E的各子式E′,E′对于N′的密度和E′对于N′的相关度中心。本发明的另外一些其他实施方式利用关于E在N’内的匹配分布的更详细信息来补充E对于N’的节点偏离,这将在下面进行讨论。本发明的另外一些其他实施方式利用E的匹配的另选封装和E在下级节点中的子式。
假设已经计算出了文档U的节点N的相关度几何结构,已经针对N的后代评估了搜索式E,并且以下数据可用作评估E在N处的基础:针对N的各子节点N’,E对于N’的节点偏离;以及针对E的各子式E′,E′对于N′的密度和E′对于N′的相关度中心。目前的问题是计算E对于N的节点偏离,以及针对E的E′的各子式,计算E′对于N的密度和E′对于N的r中心。然后可以将这些计算的结果向上传递给N的父节点。
D.对子节点赋予相关度值
本发明的实施方式通过将E的各子式E’的r值赋予N的各子节点N’来进行。在本发明的实施方式中,r值的赋予开始于作为E的终结子式的基本搜索词,并且从下到上进行。
给定E的基本子式E’,并给定N的子节点N’,本发明的实施方式根据以下条件向N’赋予预归一化的r值:(ii)如果对于N的全部子节点来讲E’的密度都为0,则针对E’赋予N’为0的预归一化r值;(ii)如果对于E’而言N至少有一个子节点有非零密度,则针对E’赋予N’的预归一化r值为∑1≤i≤k(Ai*Di/(1+di)x),其中,k是N的子节点数,x(“距离衰减指数”)是正实数,Ai是N的第i个子节点的r大小,Di是N的第i个子节点中E′的密度,而di是N’的r中心与N的第i个子节点中E′的r中心之间的r距离。
本发明的实施方式根据针对N’预归一化了的E’的r值v将N的子节点N’的针对基本式E’的r值计算为v/(∑1≤i≤k(Ai/(1+di)x)),其中,k是N的子节点数,x是距离衰减指数,Ai是N的第i个子节点的r大小,而di是N’的要素与N的第i个子节点的要素之间的r距离。
给定E的子式E1##E2...##Em,简单()的“间接”方法根据先前计算出的N的子节点的E1##E2...##Em的密度和r中心,如下来计算N的子节点的E1##E2...##Em的预归一化r值:(i)如果对于N的全部子节点而言E1##E2...##Em的密度都为_0,则针对E1##E2...##Em向子节点N’赋予为0的预归一化r值;(ii)如果对于E1##E2...##Em而言N至少有一个子节点具有非零密度,则针对E1##E2...##Em赋予N’的预归一化r值为∑1≤i≤k(Ai*Di/(1+di)x),其中,k是N的子节点数,x(“距离衰减指数”)是正实数,Ai是N的第i个子节点的r大小,Di是N的第i个子节点中E1##E2...##Em的密度,而di是N’的r中心与N的第i个子节点中E1##E2...##Em的r中心之间的r距离。根据该简单的间接方法计算出的E1##E2...##Em的预归一化r值下面将被称为“间接”预归一化r值。给定E的子式E1##E2...##Em,其中已经针对N的子节点计算了E1,...,Em的预归一化r值,这种简单的“直接”方法针对N的子节点如下来计算E1##E2...##Em的预归一化r值:赋予子节点N’的预归一化r值是针对E1,...,Em赋予N’的预归一化r值的几何平均值。根据该简单的直接方法计算出的E1##E2...##Em的预归一化r值下面将被称为“直接”预归一化r值。
假设E是haydn##boccherini,并且N有两个子节点,其中第一个子节点N1对于haydn的密度为0.1,对于boccherini的密度为0,且对于haydn##boccherini的密度为0,并且其中第二个子节点N2对于haydn的密度为0,对于boccherini的密度为0.1,且对于haydn##boccherini的密度为0。通过所述间接方法,N的两个子节点都接收到对于haydn##boccherini为0的预归一化r值。假设归一化不影响预归一化r值0,并且假设haydn##boccherini对于N的密度将根据赋予N的子节点的haydn##boccherini的r值来计算,则N将被赋予对于haydn##boccherini为0的密度。但是N的特征在于haydn(在N1内)的出现与boccherini(在N2内)的出现是邻近的,因此所述简单的间接方法显然是不充分的。
下面假设E是haydn##boccherini,并且N有r大小相同的两个子节点,其中第一个子节点N1对于haydn的密度为0.1,对于boccherini的密度为0.05,且对于haydn##boccherini的密度为0.06,并且其中第二个子节点N2对于haydn的密度为0.05,对于boccherini的密度为0.1,且对于haydn##boccherini的密度为0.06。在N1中,boccherini的出现相对稀疏,而这些出现并不与相对丰富的haydn的出现相邻近。在N2中,haydn的出现相对稀疏,而这些出现并不与相对丰富的boccherini的出现相邻近。为了进行对比,我们令haydn和boccherini的密度对于N1和N2保持相同,并且令haydn##boccherini的密度对于N1和N2同为0.08。在第二种情况下,与第一种情况相比,haydn和boccherini在N中更为邻近。这种简单的直接方法不能区分这些对比情形,因此是不充分的。
本发明的实施方式通过所述直接方法来计算E1##E2...##Em的预归一化r值,并根据所述间接方法应用了修正,由此结合了两种方法的优点而不承担它们各自的缺点。更精确地说,给定E的子式E1##E2...##Em,本发明的实施方式根据先前计算出的针对N的子节点的E1##E2...##Em的密度和r中心并根据先前计算出的针对N的子节点的E1,...,Em的预归一化r值,如下来计算针对N的子节点N′的E1##E2...##Em的预归一化r值:(i)令Wi为Ai*Di/(1+di)x,其中,x是距离衰减指数,Ai是N的第i个子节点的r大小,Di是N的第i个子节点中E1##E2...##Em的密度,而di是N’的r中心与N的第i个子节点中E1##E2...##Em的r中心之间的r距离;(ii)令wi,j为Ai*Di,j/(1+di,j)x,其中,x是距离衰减指数,Ai是N的第i个子节点的r大小,Di,j是N的第i个子节点中Ej的密度,而di,j是N’的r中心与N的第i个子节点中Ej的r中心之间的r距离;(iii)令P为针对N’的E1,...,Em的预归一化r值的积;(iv)针对E1##E2...##Em赋予N’的预归一化r值为(P+∑1≤i≤kWi-∑1≤i≤k(∏1≤j≤mwi,j))1/m,其中,k是N的子节点数。注意,当展开P时,∏1≤j≤mWi,j所对应的并不是E1##E2...##Em在N的第i个子节点处的权重的最准确获取,因为该权重是在N’处被感测到的;(iv)在段落0092中,用更准确的Wi来替换该获取。
本发明的实施方式根据N’的针对E1##E2...##Em的预归一化r值v将针对N的子节点N’的E1##E2...##Em的r值计算为v/(∑1≤i≤k(Ai/(1+di)x)),其中,k是N的子节点数,x是距离衰减指数,Ai是N的第i个子节点的r大小,而di是N的要素与N的第i个子节点的要素之间的最小r距离。
给定N的子节点N’并给定搜索式E1,...,Em,其中,已经计算出了针对N’的E1##E2...##Em的r值,本发明的实施方式将针对N’的E1%%E2%%...%%Em的r值设定为针对E1,...,Em赋予N’的r值中的最大值。
给定N的子节点N’并给定搜索式E,其中,已经计算出了针对N’的E的r值,本发明的实施方式将针对N’的~E的r值设定为1减去针对E赋予N’的r值。
将如上所述的r值的计算递归地应用在搜索式的子式上,并递归地应用在内容要素的子要素上,如图2和图3所示。注意,在不同实施方式中可以将字(和/或字符)考虑为文本的子要素。其他实施方式省略了段落0092和0094中的计算中的选择步骤,和/或用更简单的封闭形式来替换段落0092和0094中的封闭形式。然而要注意,段落0092和0094中的实施方式与有效搜索是完全兼容的。
注意,N的子节点可以接收搜索式的非零r值,即使其本身的密度对于搜索式为零,并且即使其本身的密度对于搜索式的所有子式均为零也是如此。假设N是呈现了与古典乐期(classical period)的作曲家有关的信息的Web页面。中心框包含了这种古典风格的音乐特征的描述,而未提及任何作曲家。该页面的外围包含了多个古典作曲家(包括Haydn和Boccherini)的简要传记。作曲家的传记都未提及任何其他作曲家。中心框与任何作曲家传记之间的r距离都远小于任何两个作曲家传记之间的r距离。中心框包含了针对haydn以及针对boccherini的非零r值,因此包含了针对haydn##boccherini的非零r值。因此该要素是搜索请求haydn##boccherini的候选应答。应当强调,在这些实施方式中,音乐描述对于搜索请求的相关度完全是通过包含该音乐描述的Web页面得来的。并不涉及对文本库的学习过程。向用户或者信息工作者提供了明确地用公式表达影响(leverage)搜索词的出现的搜索请求的手段。(假设本例中的中心框被不是搜索请求haydn##boccherini的有效应答的广告所替换)。Web页面中的大多数广告都可以通过HTML代码中的公知标志来标识。可以计算Web页面的相关度几何结构,从而将广告放置在距离作曲家传记适当大的r距离处。另选的是,正交机制能够排除广告,作为对搜索请求的应答。同样的另选机制也适用于其相关度判断与内容在树或者布局结构中如何放置无关的其他内容。
E.父内容节点的相关度中心
假设为相关度几何结构的目的,父内容节点对应于R2的区域,且其子节点对应于子区域。然后本发明的实施方式根据下述两式来获取针对内容节点N的搜索式E的匹配的“相关度中心”(“r中心”):x=(∑1≤i≤n(Ai*vi*xi))/(∑1≤i≤n(Ai*vi)),和y=(∑1≤i≤n(Ai*vi*yi))/(∑1≤i≤n(Ai*vi)),其中,n是N的子节点数,Ai是N的第i个子节点的r大小,vi是针对E赋予N的第i个子节点的r值,x是针对N的E的r中心的x坐标,y是针对N的E的r中心的y坐标,xi是针对N的第i个子节点的E的r中心的x坐标,而yi是针对N的第i个子节点的E的r中心的y坐标。注意,父节点的r中心可能不在与子节点相对应的任何子区域内。
更一般地来讲,给定关于对应于子节点的空间如何嵌入对应于父节点的空间内的规范,针对内容节点N的搜索式E的匹配的r中心是(∑1≤i≤n(Ai*vi*pi))/(∑1≤i≤n(Ai*vi)),其中,n是N的子节点数,Ai是N的第i个子节点的r大小,vi是针对E赋予N的第i个子节点的r值,pi是对应于N的空间中针对N的第i个子节点的E的r中心的位置。父节点的相关度几何结构可以为各子节点提供这样的函数(“位移”函数):其输入为匹配值和对应于子节点的区域内的位置,其输出为作用于与父节点相对应的区域内的位置的位移矢量。子节点内的位置可以指定为作用于该子节点本身的r中心的位移矢量。此外,父节点的相关度几何结构可以是这样的:位移矢量的作用可结合且可交换(commutative)。然后本发明的实施方式通过计算位移矢量fi(vi,pi)来获取针对内容节点N的搜索式E的匹配的“相关度中心”(“r中心”),其中,fi是对应于N的第i个子节点的位移函数,vi是针对E赋予N的第i个子节点的r值,而pi是E的r中心在N的第i个子节点中的位置,然后持续应用这些位移矢量,应用第一矢量到父节点自身的r中心。
F.父内容节点的密度
本发明的实施方式将针对内容节点N的搜索式E的匹配的密度获取为(∑1≤i≤n(Ai*vi))/(∑1≤i≤n Ai),其中,n是N的子节点数,Ai是N的第i个子节点的r大小,vi是针对E赋予N的第i个子节点的r值。
G.父内容节点的分布
假设内容节点N针对搜索式E的密度为D,假设N的文本子节点N’针对E的密度为D’,并假设B’是作为E的匹配而赋予N’的字的r值与D’的平均绝对偏差,如果没有关于E的匹配的r值如何分布在N’的字之中的附加信息,则无法根据D、D’以及B’推导出作为E的匹配而赋予N’的子节点的r值与D的平均绝对偏差。例如,考虑D<D’的情况。假设N中的n1个字具有小于等于D的r值。再假设n2个字具有大于D且小于等于D′的r值,并且这n2个字的r值为x1,...,xn2。并且假设n3个字具有大于D′的r值。于是,赋予N′的子节点的r值与D的平均绝对差为B′+n3/n(D′-D)~n1/n(D′-D)+2/n*∑1≤i≤n2xi-n2/n(D′+D)。
本发明的各种实施方式将涉及搜索匹配的r值的分布的细节的变化程度沿树(其可能是解析树、增强解析树或者语义推导树)向上传递,或者将涉及r值的分布的细节的变化程度存储在树中的下级节点上,其中在计算上级节点的分布时可以通过重新遍历下级节点来访问该信息。在一种极端情况下,在评估节点的平均绝对偏差时,仅可使用文本的子节点的平均绝对偏差的评估。在一种相反的极端情况下,可以获得下级节点的分布的全部细节。在这两种极端情况之间,关于节点的分布带的信息可以传递给节点的父节点。分布带可以或多或少地精细纹理化。例如,分布带可以如下:小于.5*父节点的密度的r值、大于等于.5*父节点的密度且小于父节点的密度的r值、大于等于父节点的密度且小于2*父节点的密度的r值、大于等于2*父节点的密度的r值。对于各分布带,可以将以下内容从文本节点N’向上传递用于处理N(N’的父节点):具有带中r值的N’的字数。结合段落00102中讨论的其他数据,将能够评估作为E的匹配而赋予N’的字的r值与N中E的匹配的r值的密度的平均绝对偏差。
利用标准偏差或者方差或者高阶矩来表征分布的本发明的另选实施方式能够类似地将涉及下级节点中的分布的细节的变化程度向上传递。
假设终结前内容节点N针对搜索式E的密度为D,假设N的子节点N’针对E的密度为D’,并给定作为E的匹配而赋予N’的字的r值与D’的平均绝对偏差,本发明的实施方式提供了赋予N’的字的r值与D的精确的或者估计的“修正平均绝对偏差”,如段落00102~00103中所述。本发明的实施方式将针对终结前内容节点N的搜索式E的匹配的“加权修正绝对平均偏差”计算为(∑1≤i≤n(Ai*Ci))/(∑1≤i≤n Ai),其中,n是N的子节点数,Ai是N的第i个子节点的r大小,而Ci是N的第i个子节点与D的修正平均绝对偏差。终结前内容节点N对于搜索式E的“节点偏差”是N对于E的加权修正绝对平均偏差。回想一下,文本节点N的节点偏差是N的字的r值与N的字的r值的算术平均值的绝对平均偏差。
本发明的实施方式提供了这样的节点的准确或者估计的修正节点偏差,所述节点的子节点包括如段落00102、00103和00105中所述的比文本节点更高级的节点,例外情况是:对于比文本节点更高级的子节点N’,利用N’的节点偏差而非平均绝对偏差。因此,在一般情况下,假设搜索式E的匹配对于节点N的密度为D,本发明的实施方式将针对N的E的匹配的“加权修正节点偏差”计算为(∑1≤i≤n(Ai*Ci))/(∑1≤i≤n Ai),其中,n是N的子节点数,Ai是N的第i个子节点的r大小,而Ci是N的第i个子节点与D的修正节点偏差。如图4所示,本发明的实施方式将N的“节点偏差”(被定义为该加权修正节点偏差)向上传递,用于计算N的父节点的节点偏差。
给定内容节点N和搜索式E,使得E在N上的密度为D,并且E在N上的节点偏差为B,本发明的实施方式将“分布分数”函数Δ定义为:如果D=0则Δ=1,如果D≠0则Δ=1-B/(2*D)。高Δ值表示E在N中分布均匀。低Δ值表示E在S中分布不均匀。在本发明的另选实施方式中,如果D=0则Δ=0。
H.总分
本发明的实施方式根据下述公式将作为搜索式E的匹配的总分赋予内容节点N:c1*D+c2*Δ,其中,D为E在N上的密度,Δ为E在N上的分布分数,而c1和c2是使得c1+c2≤1的正实数。注意到0≤D≤1且0≤Δ≤1,所以0≤(c1*D+c2*Δ)≤1。可以按照需要调整c1和c2的值,以便在判断N对于E的相关度时调节分布和密度的相对重要性。注意,在对搜索结果分级时,可以考虑除D和Δ以外的属性,例如字布局大小。可以按照需要通过确保各属性P均在0和1之间取值并利用∑1≤i≤m(ci*Pi)形式的公式调整这些附加属性的相对重要性来计算总分,其中,总共有m个属性且∑1≤i≤mci≤1。
V.计算相关度值之前的实施方式
本发明的另选实施方式除了以下区别以外,均按照上述那样工作:在计算基本搜索词对于字符串中的字的r值之前进行,和/或在计算邻近搜索式对于字符串中的字的r值之前进行,和/或在针对内容节点的子节点计算搜索式的r值之前进行。例如,对于基本搜索词和字符串而言,这些实施方式除了以下区别之外,均按照上述段落0038~0051那样工作:匹配于基本搜索词的字被视为赋予了值1,而所有其他字都被视为赋予了值0。这些另选实施方式在概念上更简单一些。它们跳过了计算步骤,稍稍节省了计算时间。然而,这些另选实施方式自身并未获得匹配分布的均匀性。这些另选实施方式不能使要素通过其对于包含搜索式E的基本子式的要素的邻近来严格地成为搜索式E的候选应答。对于像haydn##boccherini这样的搜索式,这些另选实施方式不能区分以下情况:haydn的出现的相关度中心碰巧与boccherini的出现的相关度中心重合,而haydn的出现都不靠近boccherini的出现;以及haydn的每个出现都靠近boccherini的出现,或者boccherini的每个出现都靠近haydn的出现。
给定字符串S以及基本搜索式E,S对于E的“最大未命中子字符串”是S的(i)不包含E的出现且(ii)未适当包含在S的不包含E的出现的子字符串中的子字符串。本发明的其他另选实施方式根据最大未命中子字符串的长度来获取匹配分布在字符串内的均匀性。这些另选实施方式合并了段落0046~0047和段落00102~00107中所述的实施方式所能够区分的分布。
VI.文档集的应用
本发明的实施方式将上述方法扩展到了文档集。文档集的示例包括以下方面:(1)文件目录内的文档集,(2)Web站内或者Web站的精确限定的子站内的Web页面集,(3)通过从Web页面开始,添加该Web页面所链接到的Web页面(可能仅跟随属于特定类别链接的那些链接),添加那些页面所链接到的Web页面等等而获得的文档集,且对文档集的大小设定了界限,或者对将该集的成员连接到初始页面的链接链的长度设定了界限。
一旦在树(或者更一般地讲,在有向无环路图)中组织了文档集,就可以利用关联的相关度几何结构来直接应用上述方法。
简单的缺省树组织和简单的缺省相关度几何结构容易获得。例如,文件目录中的文档树组织可以相当于目录的树组织。通过跟随链接而获取的Web页面集的树组织可以被设置为直接链接到作为直接链接文档的子节点的文档。为了得到相关度几何结构,可以认为存在这样的固定距离d,即,对于任何Web页面中的任何位置p,并且对于该第一Web页面的任何兄弟页面中的任何位置p’,p和p’之间的距离都为d。或者可以认为,相关度几何结构是从结合了兄弟Web页面的特定二维布局获得的。
VII.识别要应用结构搜索的内容
对随机选定的文档和其他内容应用结构搜索是浪费的。给定搜索式E形式的搜索请求,本发明的实施方式调用外部引擎来识别和供应要应用结构化搜索的内容,如图1所示。更具体地说,E中的结构邻近与的发生可以由标准与的发生来替代,而结构邻近或的发生可以由标准或的发生来替代。删除落入结构邻近补算符的范围内的子式。然后向外部搜索引擎提交结果查询E’,该外部搜索引擎可能与整个Web相连接,或者与加注释的缓存文档的数据库相连接,或者与某些其他内容源相连接。然后将基于原始搜索式E的结构化搜索应用于该外部搜索引擎所返回的结果,关注该外部搜索引擎所建议的任何排序。注意,在向外部搜索引擎提交之前删除落入结构邻近补算符的范围内的E的子式,使得外部搜索引擎不会遗漏包括与删除的子式相匹配的子要素并且也包括匹配E的子要素的内容。
VIII.补充内容选择标准
对用户搜索请求的应答会受到搜索匹配的质量以外的标准的影响。呈现在较小区域上的内容要素可能优于呈现在较大区域上的内容要素,特别是在目标设备较小时。在对比的情况下,内容要素可能因为太小而受到冷遇。例如,仅由字haydn组成的文本要素是对搜索请求haydn的弱候选应答。
本发明的实施方式支持对从特定源或者源集(包括对应于在前内容请求的结果的源集)获得的内容的明确用户请求。本发明的实施方式还支持对属于特定类别的内容的明确用户请求。例如,用户可以请求匹配boccherini的产品说明书。可以根据树和/或布局结构来表征内容的类别。这种表征可以是一般性的,或者可以是具体内容源所特有的。例如,可以根据解析的和/或呈现的HTML来一般性地表征Web产品说明书。产品说明书可以是类似的但对于具体Web站要窄得多地表征。
内容类别的表征可以存储在类别库中,如图1所示。可以对缓存的内容进行注释以反映出哪个子要素属于哪个类别。本发明的实施方式还在类别库中存储了与要素的相关度几何结构有关的信息。
搜索请求可以包括附加的谓语(predicate)。例如,搜索请求可以包括指定基于字符串的关系(例如固定距离邻近关系)的谓语。搜索请求还可以包括指定基于树的关系的谓语(例如指定节点属性的谓语)和指定内部节点关系的属性。基于树的关系可以是指标记解析树、从字符串、标记、布局和类别信息得到的树或者其他树。搜索请求还可以包括更广泛地指定基于图的关系的谓语。本发明的实施方式利用&&算符来解释指定内容类别的搜索请求,并解释包括各种谓语的搜索请求。例如,“匹配‘counterpoint’的文章”被解释为这样的对于N的请求,即(N是文章)&&(N匹配counterpoint)。假设内容类别中的隶属关系被评估为真或假(尽管这些实施方式在一定程度上与评估内容类别中的隶属关系是兼容的)。然后根据这些实施方式,文章作为对于匹配搜索请求“counterpoint”的应答的分数与该文章作为counterpoint的匹配的分数是相同的。
搜索请求还可以包括明确的量词,比如“包含至少一个带说明图像的文章”和“正好包含三个带说明图像的文章”。
搜索请求还可以包括对应于特定搜索算法(例如上述段落0038~00111中所述的算法)的谓语。例如,可以将“包含带说明图像的文章”类似地解释为“匹配‘counterpoint’的文章”。随着文章内counterpoint的出现次数增加、出现的分布变得更加均匀,等等,该文章作为counterpoint的匹配的分数也会增加。类似地,根据所述解释,随着文章内带说明图像的数量增加、文章内带说明图像的分布变得更加均匀,等等,该文章包含带说明图像的分数也会增加。
可以递归地嵌入带有布尔和标量值逻辑算符、带有量词、带有指定了基于字符串、基于树、基于图关系的谓语、带有指定了类别隶属关系和带有对应于特定算法的谓语的搜索请求。本发明的实施方式对所得复合搜索请求应用段落0052~00111的算法。例如,考虑“匹配‘counterpoint’的包含匹配‘thaydn’的带说明图像的文章”,其中,“包含”被解释为如以上段落0012那样,并且&&用来解释关系从句。遵从上述段落0052~00111中的算法,在标记树或者语义推导树的各节点处评估该搜索请求的各要素(可以解释为匹配(N2,“haydn”)、带说明图像(N2)、匹配(N2,“haydn”)&&带说明图像(N2)、文章(N1)、匹配(N1,“counterpoint”)、包含(N1,(N2|匹配(N2,“haydn”)&&带说明图像(N2))、文章(N1)&&匹配(N1,“counterpoint”)&&包含(N1,(N2|(N2,“haydn”)&&带说明图像(N2)))。本发明的实施方式利用类别信息来优化评估。例如,在评估搜索请求“匹配‘counterpoint’的包含匹配‘thaydn’的带说明图像的文章”时,如果已知某一要素不是文章的可能子要素,则无需将该要素评估为counterpoint的匹配。又例如,如果已知某一要素不是带说明图像的可能超要素,则无需评估该要素是否包含匹配haydn的带说明图像。应当注意,可以在结构邻近算符##下嵌入复合搜索请求,例如(匹配“suit”的产品说明书)##(匹配“tie”的产品说明书)。
复合搜索请求可以利用将返回何种要素的指示来加以注释。例如,(返回匹配“suit”的产品说明书)##(匹配“tie”的产品说明书)将返回匹配“suit”且与匹配“tie”的产品说明书相邻近的产品说明书,但不会返回匹配“tie”且与匹配“suit”的产品说明书相邻近的产品说明书。
本发明的实施方式支持将所谓“要素完整性”作为选择内容要素的标准。“完整要素”不仅仅是其各部分的总和。在完整要素中,子要素的并置增加了单独子要素所传达的含义。举个十分简单的例子,即:在一个表格单元中包括产品名称而在另一表格单元中包括产品价格的产品说明书。这两个单元的并置传达了该产品具有该价格的信息。诸如新闻文章和短文或者小说和诗歌之类的文本是完整要素的基本示例。连环图也是。完整要素可以是其他完整要素的子要素。例如,带说明图像是作为新闻文章的子要素的完整要素,其中所述新闻文章也是完整要素。
要素完整性可以是程度上而最终是个体感知方面的事情。不过在这一方面要素之间存在鲜明的对照。例如,单个新闻文章容易被认为是完整要素,即使它分割在多个Web页面上。与此对照,由不相关的较小要素组装或由勉强相关的较小要素组合的要素很难被认为是完整的。例如,包括新闻文章、与其他文章的链接列表以及广告的HMTL表格在包含它的页面被呈现时,可能在视觉上很明显,但是却很难被认为是完整要素。一些完整要素在它们的某些子要素被删除时,保留了它们全部或大多数的已被感知的完整性。(因而,术语“要素完整性”基于不完美的暗喻。)例如,新闻文章的文本可以包括嵌入的广告,所述广告能够被删除并且与新闻文章分离发送而不会减少传达的总信息。
对于某些简单指定的要素类别,涉及要素完整性的特性是相当直接的。例如,段落容易组合而形成上级完整要素。在缺少关于要素完整性的充分信息的情况下,某些一般性原则可用于以或多或少的信心来推断哪些要素是完整的。例如,满足下面两个可调节条件之一(两个更好)的标题要素的最下级祖先要素有可能是完整的:(1)包含在上级要素中的文本的总数远大于包含在标题中的文本的总数;(2)上级要素的呈现区域远大于标题的呈现区域。如果标题要素呈现在上级元素的顶端,则上级要素完整的可能性会增大。举另外一个推断要素完整性的例子,如果某一要素包含大量的类似复杂完整要素,那么它不太可能是完整的,其中不知道所包含的这些要素是否可能为上级完整要素的子要素。关于要删除的候选,本发明的实施方式使得类别库能够包括关于哪些特殊要素类别的成分可以从哪些其他特殊要素类别的成分中删除的注释。
IX.呈现结构搜索结果
本发明的实施方式将结构化搜索的输出组织为内容要素的加注释目录,如图1所示(“内容要素目录”115)。注释可以包括搜索匹配的质量的指示、呈现的大小、要素完整性以及要素对应于用户指定要素类别的程度。注释还可以包括由结构化搜索返回的要素中的哪些子要素是删除候选的指示。本发明的实施方式向内容选择引擎引入了内容要素目录,所述内容选择引擎在各个内容选择标准之间进行权衡以确定响应于用户搜索请求而呈现哪些内容要素,并确定将要呈现内容要素的顺序。在这些实施方式的某一些中,内容选择引擎与布局引擎进行通信,如图1所示。因为布局引擎根据布局标准来放置内容要素,所以它可以产生能与内容选择引擎进行通信的极其特定的要求。例如,进行中的布局可以具有针对特定大小的要素的空间。布局引擎能够向内容选择引擎请求这种大小的要素,然后内容选择引擎有效地提供最能满足该选择标准的所需大小的要素。
X.子例程示例
现在参照图2,其中示出了一框图,该框图例示了根据本发明各种实施方式的针对内容要素N来评估搜索式E的处理。注意,内容节点可以用它所管辖(dominate)的要素来标识。因此“内容节点”和“内容要素”可互换地使用。如图所示,对于这些实施方式,如果N是终结节点202,则针对E的全部子式来计算N的密度和相关度中心(206)。图3更详细地例示了密度和相关度中心的这些计算。如果N不是终结节点(202),并且如果还没有针对N的所有子节点调用了与图2相对应的子例程(203),则必须首先针对N的所有子节点来调用该子例程(204)。因此,在这些实施方式中,对N的子要素从下到上递归地进行计算。如果已经针对N的所有子节点调用了与图2相对应的子例程(203),则确定N的相关度几何结构(205)。在各种实施方式中,这种相关度几何结构的确定都是如以上段落0075~0080所述进行的。然后针对E的全部子式来计算N的密度和相关度中心(206)。图3更详细地例示了密度和相关度中心的这些计算。然后计算根搜索式E对于N的节点偏差(207)。图4更详细地例示了E对于N的节点偏差的这种计算。然后计算E对于N的分数(208)。在各种实施方式中,这种分数计算都是如以上段落0051和00108所述进行的。
现在参照图3,其中示出了一框图,该框图例示了根据本发明各种实施方式的计算搜索式E对于内容节点N的子节点的r值的处理,并例示了根据这些r值计算E对于N的密度和相关度中心的处理。如图所示,对于各实施方式,如果还没有针对E的所有直接子式调用了与图3相对应的子例程(302),则必须首先针对E的所有直接子式来调用该子例程(303)。因此,在这些实施方式中,对于E的子式从下到上递归地进行计算。如果已经针对E的所有直接子式调用了与图3相对应的子例程(302),则针对N的子节点来计算r值(304、305、307、308、309、310、311)。如果N是文本节点(304)并且如果E是基本搜索词(305),则根据E的出现来计算E的字的r值(307)。在各种实施方式中,这些r值计算都是如以上段落0038~0043所述进行。如果N是文本节点(304)并且E不是基本搜索词(305),则根据E的直接子式的r值来计算E的字的r值(308)。在各种实施方式中,这些r值计算都是如以上段落0052~0059所述进行的。如果N不是文本节点(304)并且E是基本搜索词(309),则根据E对于N的子节点的密度和相关度中心来计算E对于N的子节点的r值(310)。在各种实施方式中,这些r值计算都是如以上段落0085~0098所述进行的。如果N不是文本节点(304)并且E不是基本搜索词(309),则根据E对于N的子节点的密度和相关度中心来计算E对于N的子节点的r值(311)。在各种实施方式中,这些r值计算都是如以上段落0085~0098所述进行的。注意,根据这些实施方式,如果N是文本节点,则N的子节点是N的字。在针对N的子节点计算了E的r值之后,根据这些r值来计算E对于N的密度和相关度中心(312)。在各种实施方式中,密度和相关度中心的计算都是如以上段落0044~0045、段落0048~0050和段落0099~00101所述进行的。
现在参照图4,其中示出了一框图,该框图例示了根据本发明各种实施方式的计算搜索式E对于内容节点N的节点偏差的处理。如果N是文本节点(402),则根据赋予N的字的r值来计算E对于N的节点偏差(403)。在各种实施方式中,这种节点偏差计算都是如以上段落0046~0047和0071所述进行的。如果N不是文本节点(402),则修正N的子节点的节点偏差,使之反映出与N的密度的偏差(404)。然后将N的节点偏差计算为N的子节点的修正节点偏差的加权平均值(405)。在各种实施方式中,N的子节点的修正节点偏差的计算以及E对于N的节点偏差的后续计算都是如以上段落00102~00107所述进行的。
XI.利用位置灵敏度对搜索进行评分
“基本搜索评分函数”以基本搜索式和结构作为输入,而输出与该结构与该搜索式匹配的程度相对应的分数。结构的示例包括字串、标记串、对应于解析标记的树、如以上段落0074中所述的增强标记树、如以上段落0074中所述的语义推导树、数据库记录以及其他数据库对象。可以根据下级结构来递归地创建结构(根据下级标记要素来递归地创建标记要素、根据标记文档来递归地创建Web站、根据文本文档来递归地创建文本库、根据XML文档来递归地创建XML库、根据记录来递归地创建数据库,等等)。
结构的“距离函数”以结构的两个子结构作为输入(每个子结构都能够至少容纳一个基本搜索式),而输出一距离。(例如,对于对应于字串的结构而言,字本身作为子结构,字间距离对应于距离函数。)
如果子结构能够完全被基本搜索式占用,则它是“基本的”。
如果S的两个子结构S0和S1与S的其他子结构之间的距离集相同,则称S0和S1“类似地定位”于S中。(例如,在以字间距离作为距离函数的四字串中,第一个字位置和第四个字位置是类似定位的,并且第二个字位置和第三个字位置是类似定位的。又例如,假设S包括n个基本子结构,除这些基本子结构之外,S没有其他子结构,并且可以通过如下操作来获得S的距离函数:将这n个基本子结构等间隔地围成一个圆,使两个基本结构之间的距离对应于该圆上相应点之间的欧几里德距离。然后类似地定位S的所有基本结构。)
给定具有距离函数的结构S,其中,(i)基本子结构S0和S1不是类似定位的,(ii)基本搜索式E的出现占据了基本子结构S0,以及(iii)S1不包含E,S中E的“有效移动”交换了S0和S1的内容。S中一组基本式E1,...,En的“有效移动”是某些Ei(其中1≤i≤n)的有效移动,该有效移动并未交换Ei的出现与某些Ej(其中j≠i且1≤j≤n)的出现。S中一组基本式E1,...,En的“有效串列(tandem)移动”是S中E1,...,En的有效移动的序列,其中,不连贯或者非连贯的移动子序列将某些Ei(其中1≤i≤n)的出现与某些Ej(其中j≠i且1≤j≤n)的出现进行了交换。S中E1,...,En的有效移动被认为是S中基本式E1,...,En的有效串列移动的特殊情况。(例如,假设S为以字间距离作为距离函数的字符串“haydnboccherini mozart pleyel clementi”,则S中haydn、boccherini的串列有效移动可以产生“mozart haydn boccherini pleyel clementi”。)
给定具有距离函数的结构S,对于该结构的基本搜索评分函数只有在保证基本搜索式E在该结构内的有效移动可以改变E在S上的分数的情况下才具有“位置灵敏度”。
“基本邻近搜索评分函数”以两个或者更多个基本搜索式和结构作为输入,而输出与该搜索式在该结构内的近似程度相对应的分数。给定具有距离函数的结构S,基本邻近搜索评分函数只有在保证S中基本搜索式E1,...,En的有效串列移动可以改变E1,...,En在S上的分数的情况下才具有“位置灵敏度”。
不包括邻近算符的搜索式语言的评分函数在该评分函数在该语言内对于基本搜索式具有位置灵敏度时具有“位置灵敏度”。包括二进制或n进制邻近算符的搜索式语言的评分函数在以下条件下具有“位置灵敏度”:(i)该评分函数在该语言内对于基本搜索式具有位置灵敏度,以及(ii)该评分函数在对基本搜索式应用了邻近算符的语言内对于搜索式具有位置灵敏度。
XII.对目标广告(targeted advertising)的应用
本发明的各种实施方式使搜索式与广告产生关联。如以上段落00118~00122中所述,与广告相关联的搜索式可以包括结构邻近算符,或者附加算符和谓语。给定内容要素,并且给定一组广告,每个广告都具有一个或更多个相关联的搜索式,可以根据以上段落0038~00113中所述的方法针对这些搜索式中的每个搜索式对内容要素进行评分。然后可以根据哪些广告具有最佳的单个关联搜索式分数,或者根据哪些广告具有最佳的平均关联搜索式分数,对这些广告进行分级。然后可以与最高级别的广告一起,按照空间、大小或者其他限制来交付内容要素。
本发明的各种实施方式利用邻近关系,针对给定用户搜索请求Eu和给定内容要素N对广告进行分级。假设广告与搜索式Ea,1,...,Ea,n相关联。假设prox是邻近算符。则各种实施方式将广告针对Eu和N的分数识别为(Ea,i prox Eu)对N在1≤i≤n上的分数的最大值,或者(Ea,i proxEu)对N在1≤i≤n上的分数的平均值。具体来讲,各种实施方式将广告针对Eu和N的分数识别为(Ea,i##Eu)对N在1≤i≤n上的分数的最大值,或者(Ea,i##Eu)对N在1≤i≤n上的分数的平均值,其中##是如以上段落0052~00111中所述的结构邻近算符。在Ea,i是基本搜索式,并且Eu包括一列或一组基本搜索式Eu,1,...,Eu,m的情况下,另选实施方式将Eu和N的广告分数识别为通过应用邻近算符由Ea,1,...,Ea,n和Eu,1,...,Eu,m组成的其他搜索式对于N的分数。
VIII.计算设备构架
图5例示了适于根据一个实施方式来实践本发明的计算设备700(例如台式计算机或者PDA)的构架图。计算设备700可以是服务器或客户机。无论作为服务器还是客户机,计算设备700都可以通过一个或更多个私网和/或公网(包括著名的公网“互联网”)经由无线或有线互连而连接到客户机或服务器。
如图所示,对于该实施方式,计算设备700包括常规计算设备中存在的元件,诸如经由总线714彼此连接的微控制器/处理器702、数字信号处理器(DSP)704、非易失性存储器706、显示器708、输入键710(例如键区、选择按钮、D-单元)以及发射/接收(TX/RX)712,所述总线可以是单个总线或分级的桥接总线。此外,非易失性存储器706包括适于实现早先描述的内容请求引擎111、结构化内容搜索引擎114、内容选择引擎116和/或布局引擎117的选定或所有方面(它/它们自身,或者作为一个或者更多个更大部件的部分而实现)的运算逻辑720。换句话说,各种引擎可以在一个或更多个计算系统中实现。对于后者的实现,该计算系统可以通过局域网和/或广域网直接连接。所述实现可以经由数字编程语言、汇编、C等中的任何一个来进行。在另选实施方式中,运算逻辑720的全部或部分可以实现为硬件、固件或其组合。硬件实现的形式可以是专用集成电路(ASIC)、重配置的可重配置电路(诸如现场可编程门阵列(FPGA))等。
尽管这里已经例示和描述了具体实施方式,但本领域的普通技术人员可以理解,大量的替换和/或等同实现可以替代所示出并描述的特定实施方式,而不偏离本发明的范围。本领域的技术人员可以容易地理解,本发明可以以各种各样的实施方式来实现。本申请旨在涵盖这里讨论的实施方式的任何修改或变形。因此,本发明显然仅由权利要求及其等同内容来限定。
本申请是2006年6月12日提交的临时申请60/813,246的正式申请,并要求所述临时申请的优先权。在此通过引用将临时申请60/813,246的说明书全部并入,使其与本说明书一致并支持本说明书。
Claims (49)
1.一种由机器实施的用于有条件地提供文档或者该文档的访问信息的方法,该方法包括以下步骤:
由搜索引擎从内容搜索或消费应用接收基本搜索词,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或相同的计算设备上;
由所述搜索引擎接收在名称上与所述基本搜索词相关联的文档,或者该文档的访问信息;
作为响应,由所述搜索引擎生成针对该文档的一个或更多个结构的一个或更多个表示该文档或者该文档的一个或更多个部分与所述基本搜索词的相对相关度的分数,其中,结构包括子结构,其中,生成结构的分数的步骤至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定所述基本搜索词在要评分的结构的子结构内的出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于所述基本搜索词在要评分的结构的子结构中的至少某些不同出现位置产生不同的分数;以及
由所述搜索引擎至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息。
2.根据权利要求1所述的方法,其中,所述基本搜索词包括多个字,并且其中,结构包括所述文档的字串、所述文档的标记字符串、与所述文档的经解析标记部分相对应的树,或者与所述文档的一部分相对应的语义推导树。
3.根据权利要求1所述的方法,其中,所述结构包括与所述文档的经解析标记部分相对应的树,以及与所述文档的一部分相对应的语义推导树,其中,与经解析标记部分相对应的树的节点利用指向所述语义推导树的节点的指示符进行了注释,并且其中,所述语义推导树的节点对应于内容类别的实例,并利用指向与经解析标记部分相对应的树的节点的指示符进行了注释。
4.根据权利要求1所述的方法,其中,所述文档包括Web应用的Web页面、XML库中的XML文档、文档库中的文档,或者数据库中的数据库对象。
5.根据权利要求1所述的方法,其中,所述结构包括与所述文档的经解析标记相对应的树,其中,所述经解析标记被利用从与所述文档相关联的布局结构得到的测量信息进行了注释。
6.根据权利要求5所述的方法,该方法还包括以下步骤:得到所述测量信息并注释所述树。
7.根据权利要求1所述的方法,其中,所述文档包括多个要素,并且该方法还包括以下步骤:通过根据所述文档的要素的下级子结构递归地形成上级子结构来建立结构。
8.根据权利要求1所述的方法,其中,所述文档包括多个要素,并且生成结构的分数的步骤包括:针对所述要素的一个或更多个基本要素、所述基本要素的一个或更多个集合来生成一个或更多个分数。
9.根据权利要求8所述的方法,其中,所述针对具有集合的结构来生成分数的步骤包括:通过计算c1*D+c2*Δ来计算所述集合作为所述基本搜索词的匹配的总分,其中,D为所述基本搜索词在所述集合上的密度,Δ为所述基本搜索词在所述集合上的分布分数,且c1和c2为使得c1+c2≤1的正实数。
10.根据权利要求9所述的方法,其中所述生成结构的分数的步骤还包括:至少部分基于赋予所述集合的子集的相关度值来计算D、Δ中的任意一个或者两者。
11.根据权利要求8所述的方法,其中所述生成结构的分数的步骤还包括通过以下方式为所述集合的子集赋予相关度值:(i)如果所述集合不包含所述基本搜索词的出现,则将相关度值0赋予所述子集;(ii)如果所述集合包含所述基本搜索词的至少一次出现,则将相关度值∑1≤i≤k(1/(1+di)x)赋予所述子集,其中,k是所述基本搜索词在所述集合中的出现次数,x是“距离衰减指数”,为正实数,而di是子集或者子要素与所述基本搜索词的第i次出现之间的距离。
12.根据权利要求11所述的方法,其中,子集与所述基本搜索词的出现之间的距离是所述子集与所述基本搜索词的子部之间距离的最大值、最小值或者算术平均值中选定的一个。
13.根据权利要求9所述的方法,其中,所述生成结构的分数的步骤还包括:通过计算赋予所述集合的子集的相关度值的算术平均值、中值或几何平均值中选定的一个来计算D。
14.根据权利要求13所述的方法,其中,所述生成结构的分数的步骤都还包括:通过设定如果D=0则Δ=1,如果D≠0则Δ=1-AAD/(2*D)来计算Δ,其中,AAD是赋予所述集合的子集的相关度值与D的绝对平均偏差。
15.根据权利要求14所述的方法,该方法还包括选择要与有条件地提供的文档或者文档的一部分一起提供的一个或更多个广告,所述选择广告的步骤包括确定所述广告与所述有条件地提供的文档或者所述有条件地提供的文档的一部分的相对相关度,并且所述确定步骤包括针对所述有条件地提供的文档或者所述有条件地提供的文档的一部分对于与所述广告相关联的一个或更多个搜索式的相对相关度,来对所述广告进行评分。
16.一种由机器实施的用于有条件地提供文档或者该文档的访问信息的方法,该方法包括以下步骤:
由搜索引擎从内容搜索或消费应用接收具有第一和第二邻近相关的基本子式的搜索式,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或者相同的计算设备上;
由所述搜索引擎接收在名称上与所述搜索式相关联的文档,或者该文档的访问信息;
作为响应,由所述搜索引擎生成针对该文档的一个或更多个结构的一个或更多个表示文档或者该文档的一个或更多个部分与所述搜索式的相对相关度的分数,其中,结构包括子结构,其中,生成结构的分数的步骤至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定第一和第二邻近相关的基本子式的出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于第一和第二邻近相关的基本子式的至少一些不同出现位置产生不同的分数;以及
由所述搜索引擎至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息。
17.根据权利要求16所述的方法,其中,第一和第二基本子式中的任意一个或者两者包括多个字,其中,结构包括所述文档的字串、所述文档的标记字符串、与所述文档的经解析标记部分相对应的树,或者与所述文档的一部分相对应的语义推导树。
18.根据权利要求16所述的方法,其中,第一和第二基本子式通过邻近算符而显式地邻近关联。
19.根据权利要求18所述的方法,其中,所述邻近算符包括##、%%或~中选定的一个,其中##表示邻近地定位,%%表示近似地分离,而~表示邻近地互补。
20.根据权利要求16所述的方法,其中,所述文档包括Web应用的Web页面、XML库中的XML文档、文档库中的文档,或者数据库中的数据库对象。
21.根据权利要求16所述的方法,其中,所述结构包括与所述文档的经解析标记部分相对应的树,以及与所述文档的一部分相对应的语义推导树,其中,与经解析标记部分相对应的树的节点利用指向所述语义推导树的节点的指示符进行了注释,并且其中,所述语义推导树的节点对应于内容类别的实例,并利用指向与经解析标记部分相对应的树的节点的指示符进行了注释。
22.根据权利要求21所述的方法,其中,所述结构包括与所述文档的经解析标记相对应的树,其中,所述经解析标记被利用从与所述文档相关联的布局结构得到的测量信息进行了注释。
23.根据权利要求16所述的方法,其中,所述搜索式还包括与所述邻近关联的第一和第二基本子式邻近关联的第三基本子式,并且所述生成步骤是关联敏感的,对于所述邻近关联的第一、第二和第三基本子式的不同关联产生不同的分数。
24.根据权利要求16所述的方法,其中,所述文档包括多个要素,并且生成结构的分数的步骤包括:针对所述要素的一个或更多个基本要素、所述基本要素的一个或更多个集合来生成一个或更多个分数。
25.根据权利要求24所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括以下计算步骤:(a)计算所述搜索式的偏差分数以及(b)针对所述搜索式的每个子式,计算该子式对于所述集合的密度和相关度中心,计算步骤(a)和(b)是至少利用所述集合的相关度几何结构、所述集合的每个子集的搜索式的一个或更多个偏差分数,以及所述搜索式的每个子式对于所述集合的每个子集的密度来执行的。
26.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤还包括:通过计算c1*D+c2*Δ来计算所述集合作为所述基本搜索词的匹配的总分,其中,D为所述基本搜索词在所述集合上的密度,Δ为所述基本搜索词在所述集合上的分布分数,且c1和c2为使得c1+c2≤1的正实数。
27.根据权利要求25所述的方法,该方法还包括以下步骤:向所述集合赋予相关度几何结构,包括向所述集合的子集赋予相对大小,赋予所述集合的两个子集之间的相对距离,或者利用所述集合的子集之间的距离使所述集合的子集内的距离产生关联。
28.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括将所述密度计算为(∑1≤i≤n(Ai*vi))/(∑1≤i≤nAi),其中,n是所述集合的子集数,Ai是所述集合的第i个子集的相关度大小,而vi是赋予所述集合的第i个子集的对于所述搜索式的相关度值。
29.根据权利要求28所述的方法,该方法还包括以下步骤:针对所述集合的每个子集向所述搜索式的子式赋予相关度值,并至少部分地基于针对所述集合的子集而赋予所述搜索式的子式的相关度值来计算所述搜索式对于所述集合的一个或更多个子集的一个或更多个偏差分数,以及所述搜索式的每个子式对于所述集合的每个子集的密度。
30.根据权利要求29所述的方法,其中,向所述搜索式的子式赋予对于所述集合的子集的相关度值的步骤包括基于赋予所述集合的子集的针对所述子式预归一化的相关度值,根据以下公式来计算所述相关度值:
v/(∑1≤i≤k(Ai/(1+di)x)),
其中,v为赋予所述子集的针对所述子式预归一化的相关度值,
k是所述集合的子集数,
x是距离衰减指数,
Ai是所述集合的第i个子集的相关度大小,而
di是所述子集的要素与所述集合的第i个子集的要素之间的最小相关度距离。
31.根据权利要求30所述的方法,其中,向子集赋予针对子式预归一化的相关度值的步骤包括(i)如果所述子式的密度对于所述集合的所有子集都是零,则将针对所述子式预归一化的相关度值赋为0;(ii)如果所述集合的至少一个子集对于所述子式具有非零的密度,则将预归一化相关度值赋为∑1≤i≤k(Ai*Di/(1+di)x),其中,k是所述集合的子集数,x是距离衰减指数,为正实数,Ai是所述集合的第i个子集的相关度大小,Di是所述子式在所述集合的第i个子集中的密度,而di是所述子集的相关度中心与所述子式在所述集合的第i个子集中的相关度中心之间的相关度距离。
32.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括:通过计算(∑1≤i≤n(Ai*vi*pi))/(∑1≤i≤n(Ai*vi))来计算所述搜索式的匹配对于所述集合的相关度中心,其中,n是所述集合的子集数,Ai是所述集合的第i个子集的相关度大小,vi是赋予所述集合的第i个子集的所述搜索式的相关度值,pi是在对应于所述集合的空间中所述搜索式对于所述集合的第i个子集的相关度中心的位置。
33.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括:根据先前计算出的所述邻近关联的子式对于所述集合的子集的密度和相关度中心,并根据先前计算出的各个子集对于所述集合的子集的预归一化相关度值,来计算所述搜索式的搜索子式的针对所述集合的子集的预归一化相关度值,所述搜索子式具有多个邻近关联子式。
34.根据权利要求33所述的方法,其中,所述计算所述搜索式的搜索子式针对所述集合的子集的预归一化相关度值的步骤包括计算:
(P+∑l≤i≤kWi-∑1≤i≤k(Π1≤i≤mWi,j))1/m,
其中,k是所述集合的子集数,
P是各个子式对于所述子集的预归一化相关度值的乘积,
Wi为Ai*Di/(1+di)x,
其中,x是距离衰减指数,
Ai是所述集合的第i个子集的相关度大小,
Di是所述邻近关联子式在所述集合的第i个子集中的密度,而di是所述子集的相关度中心与所述邻近关联子式在所述集合的第i个子集中的相关度中心之间的相关度距离;并且
wi,j为Ai*Di,j/(1+di,j)x,
其中,x是距离衰减指数,
Ai是所述集合的第i个子集的相关度大小,
Di,j是第j个子式在所述集合的第i个子集中的密度,而
di,j是所述子集的相关度中心与第j个子式在所述集合的第i个子集中的相关度中心之间的相关度距离。
35.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括:根据所述邻近关联子式的针对子集的预归一化相关度值v,通过计算下式来计算所述搜索式的搜索子式对于所述集合的子集的相关度值,所述搜索子式具有多个邻近关联子式:
v/(∑1≤i≤k(Ai/(1+di)x)),
其中,k是所述集合的子集数,
x是距离衰减指数,
Ai是所述集合的第i个子集的相关度大小,而
di是所述子集的要素与所述集合的第i个子集的要素之间的最小相关度距离。
36.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括:将所述集合的子集对于所述搜索式的多个分离的子式的相关度值赋为,针对所述子式先前计算出的或者赋予所述集合的子集的多个相关度值中的最大值。
37.根据权利要求25所述的方法,其中,所述针对具有集合的结构生成分数的步骤包括:将所述集合的子集对于所述搜索式的子式的补式的相关度值赋为1减去针对所述子式先前计算出的或者赋予所述集合的子集的相关度值。
38.根据权利要求25所述的方法,其中,对于与区域相对应的集合和该集合的与所述区域的子区域相对应的子集而言,所述针对具有所述集合的结构生成分数的步骤包括:通过计算下式来计算所述搜索式的匹配对于所述集合的相关度中心:
(a)x=(∑1≤i≤n(Ai*vi*xi))/(∑1≤i≤n(Ai*vi)),和
(b)y=(∑1≤i≤n(Ai*vi*yi))/(∑1≤i≤n(Ai*vi)),
其中,n是所述集合的子集数,
Ai是所述集合的第i个子集的相关度大小,
vi是赋予所述集合的第i个子集的对于所述搜索式的相关度值,
x是所述搜索式对于所述集合的相关度中心的x坐标,
y是所述搜索式对于所述集合的相关度中心的y坐标,
xi是所述搜索式对于所述集合的第i个子集的相关度中心的x坐标,而
yi是所述搜索式对于所述集合的第i个子集的相关度中心的y坐标。
39.根据权利要求16所述的方法,该方法还包括选择要与有条件地提供的文档或者文档的一部分一起提供的一个或更多个广告,所述选择广告的步骤包括确定所述广告与所述有条件地提供的文档或者所述有条件地提供的文档的一部分的相对相关度,并且所述确定步骤包括针对所述有条件地提供的文档或者所述有条件地提供的文档的一部分对于与所述广告相关联的一个或更多个搜索式的相对相关度,来对所述广告进行评分。
40.一种由机器实施的用于有条件地提供文档或者该文档的访问信息的方法,该方法包括以下步骤:
由搜索引擎从内容搜索或消费应用接收具有多个递归嵌入的子式的搜索式,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或者相同的计算设备上;
由所述搜索引擎接收在名称上与所述搜索式相关联的文档,或者该文档的访问信息;
作为响应,由所述搜索引擎生成一个或更多个表示文档或者该文档的一个或更多个部分与所述搜索式的相对相关度的分数,其中由所述搜索引擎执行的生成步骤包括递归地生成针对一个或更多个结构的一个或更多个表示所述文档或所述文档的一个或更多个部分对于每个递归嵌入的子式的相对相关度的分数,其中,结构包括子结构,其中,所述递归生成中的至少一个至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定所述搜索子式在要评分的结构的子结构内的出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于搜索子式在要评分的结构的子结构中的至少一些不同出现位置产生不同的分数;以及
由所述搜索引擎至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息。
41.根据权利要求40所述的方法,其中,所述递归嵌入的子式中的一个或更多个包括一个或更多个谓语的应用,所述谓语是利用一个或更多个布尔逻辑算符、一个或更多个标量值逻辑算符或者一个或更多个量词递归嵌入的,所述谓语指定了一个或更多个基于字符串的关系、一个或更多个基于树的关系、一个或更多个基于图的关系、一个或更多个类别隶属关系或者一个或更多个搜索算法。
42.根据权利要求40所述的方法,其中,所述多个递归嵌入的子式包括指定了内容类别的匹配标准的第一子式和指定了匹配内容类别的文档的匹配标准的第二子式。
43.根据权利要求40所述的方法,其中,所述多个递归嵌入的子式包括分别指定了第一和第二文档的第一和第二匹配标准的第一和第二子式,并且所述搜索式还包括指示返回或不返回第一或第二匹配文档的指示。
44.根据权利要求43所述的方法,其中,所述搜索式包括当第一文档也与第二文档相关联时指示返回第一文档的显式指示。
45.根据权利要求43所述的方法,其中,所述搜索式包括当第二文档也与第一文档相关联时指示不返回第二文档的隐式指示。
46.根据权利要求40所述的方法,该方法还包括选择要与有条件地提供的文档或者文档的一部分一起提供的一个或更多个广告,所述选择广告的步骤包括确定所述广告与所述有条件地提供的文档或者所述有条件地提供的文档的一部分的相对相关度,并且所述确定步骤包括针对所述有条件地提供的文档或者所述有条件地提供的文档的一部分对于一个或更多个复合搜索式的相对相关度,来对所述广告进行评分,其中所述复合搜索式是通过相应地使所述搜索式与一个或多个关联于所述广告的搜索式产生关联而形成的。
47.一种用于有条件地提供文档或者该文档的访问信息的装置,该装置包括:
用于从内容搜索或消费应用接收基本搜索词的单元,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或相同的计算设备上;
用于接收在名称上与所述基本搜索词相关联的文档,或者该文档的访问信息的单元;
用于作为响应,生成针对该文档的一个或更多个结构的一个或更多个表示该文档或者该文档的一个或更多个部分与所述基本搜索词的相对相关度的分数的单元,其中,结构包括子结构,其中,结构的分数的生成至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定所述基本搜索词在要评分的结构的子结构中的出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于所述基本搜索词在要评分的结构的子结构中的至少某些不同出现位置产生不同的分数;以及
用于至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息的单元。
48.一种用于有条件地提供文档或者该文档的访问信息的装置,该装置包括:
用于从内容搜索或消费应用接收具有第一和第二邻近相关的基本子式的搜索式的单元,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或者相同的计算设备上;
用于接收在名称上与所述搜索式相关联的文档,或者该文档的访问信息的单元;
用于作为响应,生成针对该文档的一个或更多个结构的一个或更多个表示文档或者该文档的一个或更多个部分与所述搜索式的相对相关度的分数的单元,其中,结构包括子结构,其中,结构的分数的生成至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定第一和第二邻近相关的基本子式的出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于第一和第二邻近相关的基本子式的至少一些不同出现位置产生不同的分数;以及
用于至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息的单元。
49.一种用于有条件地提供文档或者该文档的访问信息的装置,该装置包括:
用于从内容搜索或消费应用接收具有多个递归嵌入的子式的搜索式的单元,所述搜索引擎和所述内容搜索或消费应用运行在一个或更多个不同或者相同的计算设备上;
用于接收在名称上与所述搜索式相关联的文档,或者该文档的访问信息的单元;
用于作为响应,生成一个或更多个表示文档或者该文档的一个或更多个部分与所述搜索式的相对相关度的分数的单元,其中,所述生成包括递归地生成针对一个或更多个结构的一个或更多个表示所述文档或所述文档的一个或更多个部分对于每个递归嵌入的子式的相对相关度的分数,其中,结构包括子结构,其中,所述递归生成中的至少一个至少部分地基于距离函数和评分函数,其中,所述距离函数测量要评分的结构内的子结构之间的距离以便确定出现位置的互相关度,并且其中,所述评分函数是位置敏感的,对于搜索子式在要评分的结构的子结构中的至少一些不同出现位置产生不同的分数;以及
用于至少部分地基于所生成的一个或更多个分数,有条件地向所述内容搜索或消费应用提供或者不提供所述文档或所述文档的一个或更多个部分,或者所述文档或所述文档的一个或更多个部分的访问信息的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81324606P | 2006-06-12 | 2006-06-12 | |
US60/813,246 | 2006-06-12 | ||
PCT/US2007/071026 WO2007146951A2 (en) | 2006-06-12 | 2007-06-12 | Methods and apparatus for searching content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101501688A CN101501688A (zh) | 2009-08-05 |
CN101501688B true CN101501688B (zh) | 2013-07-24 |
Family
ID=38832793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800300860A Expired - Fee Related CN101501688B (zh) | 2006-06-12 | 2007-06-12 | 搜索内容的方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2035972A4 (zh) |
CN (1) | CN101501688B (zh) |
WO (1) | WO2007146951A2 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332365B2 (en) | 2009-03-31 | 2012-12-11 | Amazon Technologies, Inc. | Cloning and recovery of data volumes |
US9207984B2 (en) | 2009-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Monitoring and automatic scaling of data volumes |
US9705888B2 (en) | 2009-03-31 | 2017-07-11 | Amazon Technologies, Inc. | Managing security groups for data instances |
US8713060B2 (en) | 2009-03-31 | 2014-04-29 | Amazon Technologies, Inc. | Control service for relational data management |
US8074107B2 (en) | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US8676753B2 (en) | 2009-10-26 | 2014-03-18 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
US9471693B2 (en) * | 2013-05-29 | 2016-10-18 | Microsoft Technology Licensing, Llc | Location awareness using local semantic scoring |
CN109101503A (zh) * | 2017-06-20 | 2018-12-28 | 北京微影时代科技有限公司 | 一种创建组织结构层级关系树的方法及装置 |
CN110209663B (zh) * | 2018-02-14 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 搜索范围确定的方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
CN1755682A (zh) * | 2004-09-30 | 2006-04-05 | 微软公司 | 使用点击距离对搜索结果分级的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1462952B1 (en) * | 2003-03-27 | 2007-08-29 | Exalead | Method for indexing and searching a collection of internet documents |
US7827181B2 (en) * | 2004-09-30 | 2010-11-02 | Microsoft Corporation | Click distance determination |
-
2007
- 2007-06-12 WO PCT/US2007/071026 patent/WO2007146951A2/en active Application Filing
- 2007-06-12 EP EP07798456A patent/EP2035972A4/en not_active Withdrawn
- 2007-06-12 CN CN2007800300860A patent/CN101501688B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285999B1 (en) * | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
CN1755682A (zh) * | 2004-09-30 | 2006-04-05 | 微软公司 | 使用点击距离对搜索结果分级的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2035972A4 (en) | 2011-06-15 |
WO2007146951A2 (en) | 2007-12-21 |
WO2007146951A3 (en) | 2008-10-30 |
CN101501688A (zh) | 2009-08-05 |
EP2035972A2 (en) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101501688B (zh) | 搜索内容的方法和装置 | |
US8843490B2 (en) | Method and system for automatically extracting data from web sites | |
US20200081908A1 (en) | Internet text mining-based method and apparatus for judging validity of point of interest | |
CN105378764B (zh) | 计算机-人交互式学习中的交互式概念编辑 | |
WO2020061578A1 (en) | Method and apparatus for collecting, detecting and visualizing fake news | |
US8484015B1 (en) | Entity pages | |
CN109871428A (zh) | 用于确定文本相关度的方法、装置、设备和介质 | |
CN107220386A (zh) | 信息推送方法和装置 | |
US20210240749A1 (en) | Methods and apparatuses for content preparation and/or selection | |
KR101105173B1 (ko) | 카테고리화를 통해 호스트 투 게스트 콘텐츠를 자동으로 매칭하기 위한 메커니즘 | |
EP3891624A1 (en) | Embedding-based retrieval for image search | |
US8984414B2 (en) | Function extension for browsers or documents | |
CN102122295A (zh) | 包括确信结果的突出显示的文档搜索引擎 | |
US9600587B2 (en) | Methods and apparatuses for generating search expressions from content, for applying search expressions to content collections, and/or for analyzing corresponding search results | |
Sun et al. | Deep learning-based methods for natural hazard named entity recognition | |
US7421416B2 (en) | Method of managing web sites registered in search engine and a system thereof | |
CN107526718A (zh) | 用于生成文本的方法和装置 | |
Yoo et al. | Ontology-based economics knowledge sharing system | |
CN114595344A (zh) | 面向农作物品种管理的知识图谱构建方法及装置 | |
CN115659008B (zh) | 大数据信息反馈的信息推送系统、方法、电子设备及介质 | |
US11120362B2 (en) | Identifying a product in a document | |
Challenger | The ontology and architecture for an academic social network | |
US20170235835A1 (en) | Information identification and extraction | |
Ayala et al. | A neural network for semantic labelling of structured information | |
CN116719915A (zh) | 智能问答方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130724 Termination date: 20200612 |
|
CF01 | Termination of patent right due to non-payment of annual fee |