CN101692223B - 响应于用户输入精炼搜索空间 - Google Patents
响应于用户输入精炼搜索空间 Download PDFInfo
- Publication number
- CN101692223B CN101692223B CN200810166176.9A CN200810166176A CN101692223B CN 101692223 B CN101692223 B CN 101692223B CN 200810166176 A CN200810166176 A CN 200810166176A CN 101692223 B CN101692223 B CN 101692223B
- Authority
- CN
- China
- Prior art keywords
- keyword
- word
- affinity
- keywords
- theme
- 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
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Abstract
响应于用户输入精炼搜索空间。在一个实施方式中,对语料库的搜索空间进行搜索以得到结果。所述语料库包括与多个关键词相关联的多个文档,其中各个文档与至少一个指示该文档的至少一个主题的关键词相关联。将一个或更多个关键词确定为不相关关键词。根据所述不相关关键词精炼所述搜索空间。
Description
技术领域
本发明大体涉及词法分析,更具体地说,涉及响应于用户输入精炼搜索空间。
背景技术
本申请要求2007年10月5日提交的、发明人为David Marvit等、发明名称为“Techniques for Reduction of a Search Space”的美国临时专利申请No.60/977,800的优先权。
数据的语料库(corpus)可以保持大量信息,然而,找寻相关信息可能很难。可以对文档加标签,以便于搜索相关信息。然而,在特定情况下,用于对文档加标签的已知技术对于信息定位不是很有效。
附图说明
图1例示了精炼搜索空间的系统的一个实施方式;
图2例示了可与图1的系统一起使用的亲和度(affinity)模块的一个实施方式;
图3例示了记录基本亲和度的亲和度矩阵的一个示例;
图4例示了记录有向亲和度的亲和度矩阵的一个示例;
图5例示了记录平均亲和度的亲和度矩阵的一个示例;
图6例示了亲和度图的一个示例;
图7例示了可与图1的系统一起使用的聚类模块的一个实施方式;
图8例示了可与图1的系统一起使用的本体(ontology)特征模块的一个实施方式;
图9例示了可与图1的系统一起使用的搜索模块的一个实施方式;以及
图10例示了用于精炼搜索空间的方法的一个示例。
具体实施方式
概述
在一个实施方式中,搜索语料库的搜索空间,以生成结果。所述语料库包括与关键词相关联的文档,其中各个文档都与指示该文档的至少一个主题的至少一个关键词相关联。将一个或更多个关键词确定为不相关关键词。根据所述不相关关键词精炼所述搜索空间。
示例性实施方式
在特定实施方式中,生成并查询领域本体(domain ontology)可以包括下列步骤:
1、收集领域中的文档。在特定实施方式中,文档(document)是词条(term)的集合。文档可以包括可读文本,例如,新约全书。文档不需要包括采用叙述形式的文本,例如,文档可以包括单独和共同地描述图像内容的一组用户键入的标签。文档的集合可以被称为“领域语料库(domain corpus)”。
2、识别该领域中所关注的词条(“词典词条”)。词条的示例包括:词(诸如“树”)、短语(诸如“图解算法”)、命名实体(诸如“纽约”)等。词条(或概念)可以具有不同形式。在特定情况下,不同的词被用于同一概念,例如,“kidney stones(肾结石)”和“kidney calculi(肾结石)”指同一概念,即“肾结石”。在其他情况下,词干可以具有许多词形变化,例如,词干“tree”具有词形变化“tree”和“trees”。在特定实施方式中,可以把同一词条的各种形式映射为同一词条进行处理。在文档中可以出现词典词条的任何适当形式,但特定词典词条不必出现在任意文档中。
识别词典词条的方法的示例包括使用针对特定领域的人类生成的词典,例如,医学词典。在特定实施方式中,可以由语料库中的文本串集合自动生成一系列词典词条。可以根据频度对文本串进行索引和排序,并且可以选择频度超过阈值的文本串。可以使用其他适当的统计方法来确定词条。在特定实施方式中,“词”可以与“词条”和“词典词条”互换。
3、计算给定的共现语境(co-occurrence context)中的词典词条的共现次数。如果两个词条在同一共现语境内各自出现至少一次,则它们共现。共现语境的示例包括文档和段落。
4、生成包括领域本体的有向加权图(directed weighted graph)。有向加权图包括作为节点(node)的词典词条和作为边(edge)的权重的亲和度。“有向加权图”可以被用作可由任何适当的数据结构(例如,矩阵、二值判决图,或二值判决图的集合)表示的同一信息的实际表示。
5、应用查询有向加权图的过程。指定一个或更多个词典词条作为输入,该过程输出与输入的词典词条有关的一个或更多个词典词条。例如,该过程可以输出针对一个或更多个输入词条具有最高的差分有向亲和度(将在下面描述)的一个或更多个词条的有序列表。在这种情况下,该输出包括与本体涉及的领域有关的、与输入词条更加密切相关的词条。
可以使用亲和度的任何适当定义。在特定实施方式中,可以使用下列定义:
1、基本亲和度
a、可以将词条A与B之间的基本亲和度(A)定义为包括词条A和B两者的共现语境的数量与包括词条A或B中的任一者的共现语境的数量的比:
A(A,B)=|AB|/|A或B|
b、可以将词条A和B之间的基本亲和度(A)定义为包括词条A和B两者的共现语境的数量与包括A的共现语境的数量或者包括B的共现语境的数量中的最大值的比:
A(A,B)=|AB|/max(|A|,|B|)
2、有向亲和度
可以将词条A和B之间的有向亲和度(DAff)定义为在共现语境中观察到A的情况下,观察到B的条件概率:
DAff(A,B)=|AB|/|A|
即,有向亲和度可以是包括词条A和B两者的共现语境的数量与包括词条A的共现语境的数量的比。一般而言,DAff(A,B)不同于DAff(B,A)。
3、差分有向亲和度
可以将词条A与B之间的差分有向亲和度(DiffDAff)定义为词条A与B之间的有向亲和度减去一个表示词条B在语料库中的普遍性的系数。词条B在语料库中的普遍性可以是词条B对于语料库中的其他词条的基本亲和度或有向亲和度值的统计值。在特定实施方式中,词条B在语料库中的普遍性可以是词条B的平均亲和度(AA),这导致了如下的差分有向亲和度定义:
DiffDAff(A,B)=DA(A,B)-AA(B)
可以将词条B的平均亲和度(AA)、或平均有向亲和度定义为:
AA(B)=AVERAGE_xDAff(x,B)
即,平均亲和度可以是词条B对于共现语境中的其他词条的有向亲和度的平均值。
图1例示了精炼搜索空间的系统10的一个实施方式。在特定实施方式中,系统10搜索语料库的搜索空间,并且向用户呈现结果及其相关联的关键词,其中,结果的关键词可以指示该结果的主题。用户可以选择不相关的关键词。系统10可以接收不相关关键词的选择并且根据该不相关关键词精炼搜索空间。
在具体实施方式中,可以针对给定的词子集和词典D来对特定反向索引II计算有向亲和度,其中,索引II例如包括针对字wi和wj的条目I(wi)和I(wj)。一般来说,反向索引是存储从词条到其位置的映射(即,词条所出现的共现语境)的索引数据结构。对于D中的每一词对wi和wj,DA(i,j)可以被定义为II中的条目I(wi)和I(wj)的合取(conjunction)中的值除以I(wi)中的值的数量。一般来说,DA(i,j)不必等于DA(j,i)。该结果可以按任何适当方式存储,例如,按行存储,其中,存储D(1,i),接着存储D(2,j),等等等。对于每一行i,可以存储|I(wi)|,继之以与wj的合取的基数(cardinality)。
在具体实施方式中,可以按三个阶段计算有向亲和度。在该实施方式中,各个词典词条都被指定有唯一的整数标识符。反向索引的条目对应于该整数标识符。在阶段0中,读取对应于D的II条目。对于参数(s,o),仅保持ks+o形式的元素标识符。值ks+o定义了待检查的II条目的子集。按这种方式,可以并行计算有向亲和度。作为一示例,由参数s得到的结果o(1,0)等同于由参数(3,0)、(3,1)(3,2)的计算的合并所得到的结果。这个步骤允许针对非常大的反向索引计算DA表。
在阶段1中,仅针对DA(i,j)按行计算合取。在阶段2中,读取计算出的上三角UT DA矩阵。由此,作为UT的转置得到下三角部分。在特定实施方式中,可以将相同维的多个DA矩阵归并成一个矩阵。较大II上的DA矩阵可以利用参数(s,j)被计算为sumi=0...(s-1)Da。可以与计算出的合取一起存储附加信息,以使可以计算有向亲和度。在特定情况下,可以存储II条目的基数。
在特定实施方式中,可以按行存储DA,这样AA条目的计算可以与DA条目的计算并行进行。具体来说,可以通过对从磁盘读出的DA的行进行累加并最后通过字典条目的数量对累加结果进行归一化来生成AA。
在例示的实施方式中,系统10包括:客户端20,服务器22以及存储器24。客户端20使用户能够与服务器22通信,以生成语言的本体。客户端20可以向服务器22发送用户输入,并且可以向用户提供(例如,显示或打印)服务器输出。服务器系统22管理用于生成语言的本体的应用。存储器24存储服务器系统22所使用的数据。
在例示的实施方式中,存储器24存储页面50和记录54。页面50(或文档或共现语境)可以指词的集合。页面50的示例包括:文档的一页或更多页、一个或更多个文档、一本或更多本书、一个或更多个网页、信件(例如,电子邮件或即时消息),和/或其他的词集合。页面50可以由页面标识符进行识别。页面50可以以电子方式存储在一种或更多种实体计算机可读介质中。页面50可以与任何适当内容相关联,例如,文本(如字符、词,和/或数字)、图像(如图形、照片,或视频)、音频(如录音或计算机生成的声音),和/或软件程序。在具体实施方式中,一组页面50可以属于一个语料库。语料库可以与特定主题、集合、组织或其他实体相关联。
记录54描述页面50。在该实施方式中,记录54包括:索引58、反向索引62、本体66,以及群集(cluster)67。索引58包括索引列表,其中,页面50的索引列表指示页面50的词。反向索引62包括反向索引列表,其中,词(或词集)的反向索引列表指示包括该词(或词集)的页面50。在一个示例中,列表Wi包括含有词wi的页面50的页面标识符。列表Wi&Wj包括含有词wi和wj两者的合取页面50的页面标识符。列表Wi+Wj包括含有词wi和wj中之一的析取页面50的页面标识符。P(Wi)是wi的页面50的数量,即,包括词wi的页面50的数量。
在一个实施方式中,可以将列表(如索引列表或反向索引列表)存储为二进制判决图(BDD:Binary decision diagram)。在一个示例中,集合Wi的二进制判决图BDD(Wi)表示具有词wi的页面50。BDD(Wi)的满足指配计数Satisf(BDD(Wi))生成具有词wi的页面50的数量P(Wi):
P(Wi)=Satisf(BDD(Wi))
相应地,
P(Wi&Wj)=Satisf(BDD(Wi)AND BDD(Wj))
P(Wi+Wj)=Satisf(BDD(Wi)OR BDD(Wj))
本体66表示语言的词和这些词之间的关系。在一个实施方式中,本体66表示词之间的亲和度。在所示实施例中,本体66包括亲和度矩阵和亲和度图。参照图3到图5,对亲和度矩阵的一个示例进行描述。参照图6,对亲和度图的一个示例进行描述。群集67记录了彼此相关的词的群集。参照图7,对群集进行更详细描述。
在所示实施方式中,服务器22包括:亲和度模块30、聚类模块31、本体特征模块32、以及搜索模块37。亲和度模块30可以计算词对的亲和度,在亲和度矩阵中记录该亲和度,和/或报告该亲和度矩阵。亲和度模块30也可以生成亲和度图。参照图2,对亲和度模块30进行更详细描述。
在具体实施方式中,聚类模块31可以通过识别数据集中的相关元素的群集来发现该数据集中的模式(pattern)。在具体实施方式中,聚类模块31可以识别一组词的群集(例如,一种语言或一组页面50)。一般来说,群集的词彼此高度相关,但与该群集以外的词不相关。词的群集可以指定该组词的主题(或话题)。在具体实施方式中,聚类模块31根据词之间的亲和度来识别相关词的群集。在实施方式中,群集的词彼此高度亲和,但与该群集以外的词不亲和。参照图7,对聚类模块31进行更详细的描述。
在具体实施方式中,本体特征模块32可以确定一个或更多个词的集合(例如,特定词或包括词的文档)的一个或更多个本体特征,并接着可以在多种情形中的任一种中应用该本体特征。本体特征是可以将词集放置在语言本体空间中的词集特征。本体特征的示例包括深度和专度。在具体实施方式中,深度可以指示词集的文本复杂性(sophistication)。越深的词集可能越技术化并且专业化,而更浅的词集可能更通用。在具体实施方式中,词集的专度与词集的主题的数量相关。更专的词集可能具有更少的主题,而不太专的词集可能具有更多的主题。
本体特征模块32可以在任何适当的情形下应用本体特征。适当情形的示例包括根据本体特征搜索、排序或选择文档;报告文档的本体特征;以及确定一个或更多个用户的文档的本体特征。参照图8对本体特征模块32进行更详细的描述。
在特定实施方式中,搜索模块37搜索语料库的搜索空间并且向用户呈现该结果及其相关联的关键词,其中,结果的关键词可以指示该结果的主题。用户可以选择不相关的关键词。搜索模块37可以接收不相关关键词的选择,识别与该不相关关键词有关的关键词,并且通过去除该不相关关键词和相关的关键词来精炼搜索空间。参照图9,对搜索模块37进行更详细描述。
系统10的组件可以包括:接口、逻辑、存储器,和/或其他适当部件。接口接收输入、发送输出、处理该输入和/或输出、和/或执行其他适当操作。接口可以包括硬件和/或软件。
逻辑执行对组件的操作,例如,执行指令以根据输入来生成输出。逻辑可以包括硬件、软件和/或其他逻辑。逻辑可以编码在一种或更多种实体介质中,并且可以在由计算机执行时执行操作。诸如处理器的特定逻辑可以管理组件的操作。处理器的示例包括一个或更多个计算机、一个或更多个微处理器、一个或更多个应用程序,和/或其他逻辑。
存储器存储信息。存储器可以包括一个或更多个实体的、计算机可读和/或计算机可执行的存储介质。存储器的示例包括计算机存储器(例如,随机存取存储器(RAM)或只读存储器(ROM))、大容量存储介质(例如,硬盘)、可移除存储介质(例如,光盘(CD)或数字视频盘(DVD))、数据库和/或网络存储器(例如,服务器)、和/或其他计算机可读介质。
在不脱离本发明的范围的情况下,可以对系统10进行改进、添加或省略。系统10的组件可以是集成或分离的。此外,可以通过更多、更少或其他组件来执行系统10的操作。例如,可以通过一个组件执行生成器42和生成器46的操作,或者可以通过一个以上的组件来执行亲和度计算器34的操作。另外,可以使用包括软件、硬件的任何适当逻辑和/或其他逻辑来执行系统10的操作。如本说明书中所使用的,“各个”指集合中各成员,或集合的子集中的各成员。
在不脱离本发明的范围的情况下,可以对矩阵的示例进行改进、添加或省略。矩阵可以包括更多、更少或其他值。另外,可以以任何适当的顺序来排列矩阵的值。
图2示出了可以与图1的系统10一起使用的亲和度模块30的一个实施例。亲和度模块30可以计算词对的亲和度、将该亲和度记录在亲和度矩阵中、和/或报告该亲和度矩阵。亲和度模块30还可以生成亲和度图。
在所示的实施方式中,亲和度模块30包括亲和度计算器34、本体生成器38以及词推荐器48。亲和度计算器34计算词wi或包括第一词wi和第二词wj的词对的任何适当类型的亲和度。亲和度的示例包括基本亲和度、有向亲和度、平均亲和度、差分亲和度和/或其他亲和度。
这一个实施方式中,词推荐器48接收种子词(seed word),并且识别与种子词之间具有比阈值亲和度大的亲和度的词。阈值亲和度可以具有任何适当值,例如大于或等于0.25、0.5、0.75或0.95。阈值亲和度可以是预先编程的或者由用户指定。
可以根据包括词wi和/或wj的页面50的量(例如,数量)来计算基本亲和度。合取页面量是指既包括词wi又包括词wj的页面50的量,而析取页面量是指包括词wi或词wj中的一个的页面50的量。可以由合取页面量除以析取页面量而给出基本亲和度。在一个示例中,合取页面数量指包括词wi和词wj的页面的数量,而析取页面数量指包括词wi或词wj的页面的数量。可以由合取页面数量除以析取页面数量而给出基本亲和度。
Affinity(wi,wj)=P(Wi&Wj)/P(Wi+Wj)
图3示出了记录基本亲和度的亲和度矩阵110的一个示例。在所示的示例中,亲和度矩阵110记录词w1......w5的逐对亲和度。根据亲和度矩阵110,词w0和w1之间的亲和度为0.003,词w0和w2之间的亲和度为0.005,等等。
返回参照图1,亲和度组包括彼此具有高亲和度的词对,并且可以被用来针对页面内容来捕捉词w1和w2之间的关系。高亲和度可以被指定为高于亲和度组阈值的亲和度。阈值可以被设置为任何适当的值(例如,大于或等于0.50、0.60、0.75、0.90或0.95)。词可以属于一个以上的亲和度组。在一个实施方式中,亲和度组可以表示为BDD。BDD的指针与该组的各个词一起被存储在反向索引62中。
有向亲和度可以被用来测量词wi对于词wj的重要性。亲和度计算器34根据包括词wi和wj的页面50的量(例如,数量)来计算在给定词wj的情况下词wi的有向亲和度。词wj页面量是指包括词wi的页面50的量。可以由合取页面量除以词wj页面量来给出给定词wj的情况下的词wi的有向亲和度。例如,词wj页面数量指包括词wi的页面50的数量。可以由合取页面50的数量除以词wi页面50的数量来提供给定词wj的情况下的词wi的有向亲和度:
DAffinity(wi,wj)=P(Wi&Wj)/P(Wi)
DAffinity(wi,wj)和DAffinity(wj,wi)不同。词wi和wj之间的较高有向亲和度DAffinity(wi,wj)表示在页面50包括词wj的情况下、页面50包括词wi的概率较高。在一个示例中,页面[1 2 3 4 5 6]包括词wi,而页面[4 2]包括词wj。包括词wj的页面也包括词wi,因此从词wj的观点来看,词wi具有高重要性。仅三分之一的包括wi的页面还包括词wj,所以从词wi的观点来看,词wj具有低重要性。
图4示出了记录针对词w0,...,w5的有向亲和度的亲和度矩阵120的一个示例。在该示例中,词124是A词,而词128是B词。矩阵120的行记录了在给定A词的情况下B词的亲和度,而亲和度矩阵120的列记录了在给定B词的情况下A词的亲和度。
返回参照图1,针对其他词wj计算词wi的平均亲和度。在一个实施方式中,平均亲和度可以是词wi和每个其他词wj之间的亲和度的平均值。词wi在N个词中的平均亲和度可以通过下式给出:
图5示出了记录平均亲和度的亲和度矩阵140的一个示例。行142记录了词1到词50,000的基本亲和度。行144记录了词1到词50,000的平均亲和度。
返回参照图1,词的平均亲和度可以指示词的深度。具有较低平均亲和度的词可以被认为是较深的词,而具有较高平均亲和度的词可以被认为是较浅的词。较深的词倾向于更技术化、具体并且准确。具有较高比例的较深词的页面50可以被认为是较深页面,而具有较低比例的较深词的页面50可以被认为是较浅页面。在一个实施方式中,用户可以指定要检索的词和/或页面50的深度。
页面50的较深词可以形成高度相关词的一个或更多个群集。群集可以表示共同的观点或主题。页面50的主题的数量可以指示页面50的专度。具有较少主题的页面50可以被认为更专,而具有较多主题的页面50可以被认为不太专。
词wi对于词wj的差分亲和度是词wi和wj之间的有向亲和度减去词wj对于所有其他词的平均亲和度。差分亲和度可以被表达为:
DiffAff(wi,wj)=DAffinity(wi,wj)-AveAff(wj)
差分亲和度消除了由词wj在页面50中出现的总体倾向性而导致的偏置。在具体环境中,差分亲和度可以提供在页面包括词wj的情况下还包括词wi的概率的更准确的指示。
差分亲和度可以被用于各种应用中。在一个示例中,人名之间的差分亲和度可以被用来研究社会网络。在另一示例中,语素之间的差分亲和度可以被用来研究自然语言处理。在另一示例中,产品之间的差分亲和度可以被用来研究市场策略。
亲和度计算器34可以使用任何适当的技术来搜索反向索引列表以计算亲和度。例如,为了识别既包括词wi又包括wj的页面,亲和度计算器34可以针对公共元素(即,公共页面标识符)搜索词wj的列表Wi和词wj的列表Wj。
在具体实施方式中,本体生成器38生成语言的本体66(例如,亲和度矩阵或亲和度图)。可以根据诸如基本亲和度、有向亲和度、平均亲和度、差分亲和度和/或其他亲和度中的任何适当亲和度来生成本体。可以根据以任何适当的方式从语言中选择的词来生成本体66。例如,可以选择来自语言的公用部分的词或者与一个或更多个特定主题区域相关的词。
在所示的实施方式中,本体生成器38包括亲和度矩阵生成器42和亲和度图生成器46。亲和度矩阵生成器42生成记录词之间的亲和度的亲和度矩阵。亲和度图生成器46生成表示词之间的亲和度的亲和度图。在亲和度图中,节点表示词,而节点之间的有向边的权重表示由节点所表示的词之间的亲和度。亲和度图可以具有任何适当的维数。
图6示出了亲和度图150的一个示例。亲和度图150包括节点154和链路158。节点154表示词。在本示例中,节点154a表示词“binary(二进制)”。节点154之间的有向边的权重表示由节点154表示的词之间的亲和度。例如,更大的权重表示更大的亲和度。节点之间的链路158指示由节点154表示的词之间的亲和度高于亲和度阈值。亲和度阈值可以具有任何适当的值(例如,大于或等于0.25、0.5、0.75或0.95)。
图7示出了可以与图1的系统10一起使用的聚类模块31的一个实施例。在具体实施方式中,聚类模块31通过识别数据集中的相关元素的群集来发现数据集中的模式。在具体实施方式中,聚类模块31可以识别词集(例如,语言或页面50的集合)的群集。一般来说,群集的词彼此高度相关,而与群集以外的词不高度相关。词的群集可以指定词集的主题(或话题)。
在具体实施方式中,聚类模块31根据词之间的亲和度来识别相关词的群集。在这些实施方式中,群集的词彼此高度亲和,但是与群集以外的词不高度亲和。在一个实施方式中,如果词足够亲和,则可以认为它们高度亲和。如果词满足一个或更多个亲和度标准(例如,阈值),则词足够亲和,下面提供了一些例子。
可以使用任何适当的亲和度来识别群集。在具体实施方式中,聚类模块31使用有向亲和度。一个词相对于其他词的有向亲和度表征了该词的共现(co-occurrence)。群集包括具有类似共现的词。在特定实施方式中,聚类模块31使用差分亲和度。差分亲和度倾向于消除由词在页面50中出现的总体倾向性而导致的偏置。
在所示的实施方式中,聚类模块31包括聚类引擎210和聚类分析器214。聚类引擎210根据亲和度来识别词的群集,并且聚类分析器214应用亲和度聚类以分析各种情形。
聚类引擎210可以根据亲和度以任何适当的方式来识别词的群集。提出了识别群集的方法的三个例子:根据词集构建群集、将词分类成群集,以及比较词的亲和度矢量。在一个实施方式中,聚类引擎210根据词集构建群集。在一个示例中,聚类引擎210根据具有亲和度*Aff(wi,wj)的词(wi)的集合W来构建群集S。亲和度值*Aff(wi,wj)表示词wi相对于词wj的任何适当类型的亲和度(例如,有向亲和度DAffinity(wi,wj)或差分亲和度DiffAff(wi,wj))。这里提供的亲和度值的特定示例可以被认为是归一化值。在本例中,Afffor(wi,wj)表示前向亲和度,而Affback(wj,wi)表示后向亲和度。
在本例中,群集S以种子词Wq开始。当前词wx表示在当前迭代中群集S中的正与来自集合W的词进行比较的词。最初,将当前词wx设为种子词wq。
在迭代期间,把当前词wx设为群集S的词。根据集合W的词wi与当前词wx的前向亲和度Afffor(wi,wx)来对它们进行排序。从有序集合W的起点开始,识别满足亲和度标准的候选词wG。亲和度标准可以包括对于当前词wx的前向亲和度标准:
Afffor(wc,wx)>Thcf
和对于种子词wq的后向亲和度标准:
Affback(wq,wc)>Thcb
其中,Thcf表示候选词的前向阈值,而Thcb表示候选词的后向阈值。候选词{wC}的有序集合的第一词被添加到群集S,添加的词的数量由参数Sizec给出。阈值Thcf和Thcb可以是具有从最小值到最大值的任何适当值的浮点参数。在特定实施例中,可以根据实际亲和度的有序列表来确定Thcf和Thcb的适当值。例如,可以使用列表中第200个值。参数Sizec可以是具有任何适当值的整数参数。适当值的示例包括默认值1、2、3或4。在具体实施方式中,这些参数在具体迭代中可以不同。
可以执行任何适当次数的迭代。在一个示例中,可以在开始执行该方法之前指定迭代次数。在另一示例中,可以在方法执行期间计算该次数。例如,可以根据群集S的大小增长率来计算该次数。
在另一实施方式中,聚类引擎210通过将词集的词归类成群集来识别群集。在一个示例中,根据亲和度*Aff(wi,wj)(例如,差分亲和度或有向亲和度)来对集合W的词(wi)进行归类。在另一例中,根据词wi与不同词集Q的各成员的亲和度的累积函数(例如,求和)来对词{wi}进行归类。可以以任何适当方式选择集合W。例如,集合W可以是与查询最相关的X个词,其中X可以具有任何适当值(例如,从10到100、100到200或者200以上范围中的值)。
在本例中,群集初始为空。把来自集合W的第一词wi置入群集中。在每次迭代中,从集合W选择当前词wx。如果*Aff(wx,wf)满足亲和度阈值Th给出的亲和度标准,则把当前词wx置入群集中,其中wf表示该群集中置入的第一词。阈值Th可以具有任何适当值(例如,对于最小值0.0和最大值1.0来说,具有范围在0.1到0.5的值)。如果*Aff(wx,wf)不满足阈值Th,则把当前词wx置入空群集中。针对集合W的各词重复这些迭代。
在处理了集合W的词之后,可以消除小群集。例如,可以消除具有少于Y个词的群集。Y可以是任何适当值(例如范围在3到5、5到10、10到25、25到50或者50以上的值)。
如果群集的数量不在满意范围内,则可以利用导致更严格或更宽松的群集置入标准的不同阈值Th来重复该处理。可以通过具有任何适当值的群集数量最小值和群集数量最大值给出该满意范围。适当值的示例包括最小值在1到5、5到10或者10以上范围中的值,以及最大值在10到15、15到20或者20以上范围中的值。可以增加阈值Th的值,以增加群集的数量,并且可以减小阈值Th的值以减小群集的数量。
在另一实施方式中,聚类引擎210通过比较词的亲和度矢量来识别群集。在具体实施方式中,亲和度矩阵的行和列可以产生亲和度矢量<wi,*Aff(wi,w1),...,*Aff(wi,wj),...,*Aff(wi,wn)>,该亲和度矢量表示词wi相对于词wj(j=1,...,n)的亲和度。亲和度值*Aff(wi,wj)表示词wi相对于词wj的任何适当类型的亲和度(例如,有向亲和度或差分亲和度)。
在具体实施方式中,具有相似亲和度值的亲和度矢量可以表示一个群集。仅出于描述性目的,可以将亲和度矢量看作是词的亲和度在亲和度空间中的坐标。即,每个亲和度值*Aff(wi,wj)可以被认为是特定维的坐标。具有相似亲和度值的亲和度矢量表示与这些矢量相关联的词在亲和度空间中彼此接近。即,这些矢量指示这些词具有与其他词相似的亲和度关系,并因此适于作为同一群集中的成员。
如果通过适当的距离函数确定一个亲和度矢量近似于另一亲和度矢量,则这些亲和度矢量相似。可以把亲和度矢量的距离函数定义为例如给定大小的矢量的标准欧几里得距离,或者定义为给定大小的矢量的余弦。该距离函数还可以由聚类引擎210或者由用户指定。
在具体实施方式中,聚类引擎210应用聚类算法来识别具有彼此近似的值的亲和度矢量。群集算法的示例包括直接、重复二分(bisection)、凝聚(agglomerative)、偏置凝聚(biased agglomerative)、和/或其它适当算法。在一个示例中,聚类引擎210可以包括诸如CLUTO的聚类软件。聚类分析器214可以在任何适当的应用中使用亲和度聚类来进行分析。在一个实施方式中,聚类分析器214可以使用亲和度聚类来对页面50进行分类。类别可以与群集标识符或者群集的一个或更多个成员相关联。在一个示例中,可以识别页面50的群集,并且接着可以根据该群集对页面50进行归类。在另一例中,可以选择页面50的重要词,并且接着确定包括这些词的群集。接着可以根据所确定的群集对页面50归类。
在一个实施方式中,聚类分析器214可以使用亲和度聚类来分析页面50的语料库。语料库可以与特定主题、一个或更多个个体的集合(community)、组织或其他实体相关联。在一个示例中,聚类分析器214可以识别语料库的群集,并根据该群集确定语料库的库属性。库属性可以指示与和该语料库相关联的实体相关的词。如果一个或更多个页面50具有库属性的群集,则页面50与该实体相关。
在一个实施方式中,聚类分析器214可以使用亲和度聚类来搜索查询解疑和查询扩展。在本实施方式中,聚类分析器214识别包括给定搜索查询的搜索词条的群集。群集提供与给定搜索查询相关的可替换词和/或类别。在一个示例中,来自群集的词可以被报告给搜索者,以帮助下一搜索查询。在另一例中,聚类分析器214可以从群集中选择词,并自动形成一个或更多个新的搜索查询。聚类分析器214可以串行或并行运行新的查询。
在一个实施方式中,聚类分析器214可以使用亲和度聚类来研究社会网络。在一个示例中,页面50可以让人看到社会网络。这些页面的示例包括信件(例如信函、电子邮件以及即时消息)、便笺、文章以及会议记录。这些页面50可以包括含有社会网络的人员的用户标识符(例如,姓名)的词。可以识别姓名的群集,以分析网络的人员之间的关系。在一个示例中,差分亲和度聚类可以被用来在不提供诸如系统管理员的姓名的信息的情况下滤除页面50中出现最多的名称。
在具体实施方式中,聚类分析器214可以通过组合和/或比较数据集的群集来分析数据集。在一个实施方式中,对重叠的数据集的群集进行比较。来自一个数据集的群集可以被映射到另一数据集的群集上,这样可以看出这些数据集之间的关系。例如,该数据集可以来自对一组同事的文档的分析和来自对该组的社会网络研究。可以将社会网络群集映射至文档主题群集,来分析社会网络与该主题之间的关系。
图8示出了本体特征模块32的一个实施例。本体特征模块32可以确定一个或更多个词(例如,特定的词或包括词的文档)的集合的一个或更多个本体特征,并且接着可以在任何不同情形中应用该本体特征。一个或更多个词的集合可以包括文档的关键词条。如果与词条t相关的前k个词条中的至少一个也呈现在该文档中,则词条t可以是关键词条。否则,该词条对于该文档可能不是必不可少的。
本体特征是沿一个或更多个特征轴表征文档的可量化度量,所述特征轴可以在给定区域中从语义上对该文档与其他文档进行区分。例如,文档的深度可以针对它的可理解性来区分文档、文档的专度可以针对它的关注点来区分文档,而文档的主题可以针对其关注的主题范围来区分文档。可以以任何适当方式定义本体特征。例如,计算机语言中的独立算法可以被用来表征文档的可读性或深度。
在所示的实施方式中,本体特征模块32包括深度引擎230、主题引擎240、专度引擎244以及本体特征(OF:ontology feature)应用引擎250。深度引擎230可以确定一个或更多个词(例如,特定的词或包括词的文档)的深度。一般来说,深度可以指示词的文本复杂性。越深的词可以是更加技术化的并且更专业的,而越浅的词可以是更通用的。在具体实施方式中,深度模块32可以计算文档的词的深度,并接着根据词的深度来计算文档的深度。在具体实施方式中,深度引擎230可以为文档和/或词指配深度值和/或深度级别。越深的文档或词可以被指配越高的深度值或级别,而越浅的文档或词可以被指配越低的深度值或级别。
深度引擎230可以以任何适当的方式计算词深度。在具体实施方式中,深度引擎230根据平均亲和度来计算词深度。在这些实施方式中,词的深度是词的平均亲和度的函数。越深的词可以具有越低的平均亲和度,而越浅的词可以具有越高的平均亲和度。在具体实施例中,深度引擎230可以通过根据词的平均亲和度对它们进行排位,从而计算词的深度。对具有较低平均亲和度的词给予高的深度排位,而对具有较高平均亲和度的词给予低的深度排位。
在具体实施方式中,深度引擎230可以使用聚类分析来计算词深度。在这些实施方式中,群集的词相互高度亲和,而与群集以外的词不高度亲和。可以根据能够作为深度指示的亲和度来测量群集空间中的距离。在具体实施方式中,属于更少数群集或者属于更小群集和/或离其他群集更远的群集的词可以被认为更深,而属于更多数群集或者属于更大群集和/或离其他群集更近的群集的词被认为更浅。
在其他具体实施方式中,深度引擎230可以通过对亲和度图150应用链路分析来计算词深度。可以通过任何适当的链路分析算法(例如,PAGERANK)来执行该链路分析。仅出于描述性目的,图6的亲和度图150可以被用来计算词深度。亲和度图150包括节点154和链路158。节点154表示词。节点154之间的链路158指示由节点154表示的词之间的亲和度高于亲和度阈值,即,这些词令人满意地亲和。
在具体实施方式中,深度引擎230计算节点154的通用性。越通用的节点154可以表示较浅的词,而不太通用的节点154可以表示较深的词。从第一节点154到第二节点154的链路136被认为是第一节点154对第二节点154的通用性投票。另外,来自更通用节点154的投票可以比来自不太通用节点154的投票具有更大的权重。此外,第一节点154到第二节点154的亲和度对投票进行加权。深度引擎230根据节点154的加权投票来计算节点154的通用性。不太通用的词被认为是深词,而更通用的词可以被认为是浅词。
深度引擎230可以以任何适当方式来计算文档深度。在具体实施方式中,深度引擎230根据文档中的至少一个、一些或所有词的深度来计算文档的深度。在具体实施方式中,由平均亲和度给出词深度,因此可以根据文档的词的平均亲和度来计算文档深度。例如,文档的浅度可以是文档的词的平均亲和度的平均值(即,文档中各词的平均亲和度的和除以文档中的词的总数)。接着,文档的深度可以被计算为文档的浅度的倒数。
在具体实施方式中,可以根据文档的所选词集的平均深度来计算深度。所选的词集可以包括文档的关键的词(例如,前(最深)X%的词,其中X可以小于10、10到20、20到30、30到40、40到50、50到60、60到70,或者大于100)。所选的集合可以排除P%的标准语法词和/或Q%的结束词,其中P和Q具有任何适当值(例如小于10、10到20、20到30、30到40、40到50、50到60、60到70,或者大于100)。
在具体实施方式中,深度引擎230根据文档中词深度的分布来计算文档的深度。在具体实施方式中,越深的文档可以具有越高比例的深词。
在具体实施方式中,深度引擎230根据文档亲和度来计算文档的深度。文档之间的亲和度描述文档之间的关系。在具体实施方式中,平均文档亲和度可以按与平均词亲和度可以指示词深度的方式相似的方式来指示文档深度。可以以任何适当方式来定义文档亲和度。在一个示例中,公共词数量P(D1&D2)指示既存在于文档D1中又存在于文档D2中的词的数量,而不同词数量P(D1+D2)指示存在于文档D1或D2中词的数量。文档D1和D2之间的文档亲和度DocAff可以被定义为:
DocAff(D1,D2)=P(D1&D2)/P(D1+D2)
深度引擎230可以以与计算平均词亲和度相似的方式来计算平均文档亲和度。具有较低平均亲和度的文档被认为较深,而具有较高平均亲和度的文档被认为较浅。
在具体实施方式中,深度引擎230可以通过对文档亲和度图应用链路分析来计算文档深度。除文档亲和度图的节点表示文档而不是词之外,文档亲和度图可以与亲和度图150类似。深度引擎230利用给定第一文档的情况下第二文档的文档亲和度来对从表示第一文档的第一节点到表示第二文档的第二节点的链路进行加权。接着,可以对外向链路的权重进行归一化。
在具体实施方式中,可以在用户接口上显示深度图以示出文档的深度。也可以显示可以用来选择深度等级的深度滑块。在具体实施方式中,如果文档包括较大文档的多个部分,则深度图可以指示各部分的深度。
在具体实施方式中,深度引擎230可以以任何其他适当方式来计算文档深度(例如,处理文档的亲和度直方图,和/或基于深度截短不同词的比例,接着处理直方图)。其他方法包括Gunning-Fog、Flesch或Fry方法。
在具体实施方式中,深度引擎230可以通过将深度值映射为特定深度等级来标定深度。在具体实施方式中,范围Ri中的深度值可以被映射到等级Li。例如,R0={r0:r0<c0}可以被映射到等级L0、R1={r1:c0<r1<c1}可以被映射到等级L1,...,以及Rn={rn:cn<rn}可以被映射到等级Ln。该范围可以包括任何适当深度值并且不需要具有相同大小。可以存在任何适当数量的等级(例如小于5、5到7、7或8、8到10、10到20、20到50、50到100,或者大于100)。
主题引擎240可以确定文档的主题(或话题)。在具体实施方式中,主题引擎240根据由聚类模块31识别的、文档中词的群集来确定主题。如上面所讨论的,词的群集可以指定词集的主题(或话题)。文档的主题可以提供关于文档的内容的有用信息。例如,包括群集(肾脏的(renal)、肾(kidney)、蛋白质、问题)的文档可能关于由于肾功能衰退而导致的蛋白质流失,而不是芸豆的蛋白质含量。
在具体实施方式中,主题引擎240根据主题图(theme map)来确定主题。在这些实施方式中,使用任何适当技术(例如,词条频度-逆文档频度(TF-IDF:term frequency-inverse document frequency)技术)从文档中提取关键词。关键词被用来从主题图中选择候选主题。候选主题与文档进行比较,以确定该主题多大程度上与文档匹配。在具体实施例中,候选主题的直方图可以与文档的直方图进行比较。如果候选主题与文档匹配,则这些主题可以提供文档的主题的类型估计和数量估计。
专度引擎240可以计算文档的专度。在具体实施方式中,专度引擎240可以对文档指配专度值和/或专度等级。更专的文档可以被指配更高的专度值或等级,而不太专的文档可以被指配更低的专度值或等级。
在具体实施方式中,专度引擎240根据文档的主题数量来计算专度。在具体实施例中,更专的文档可以具有更少的主题,而不太专的文档可以具有更多主题。在具体实施方式中,专度引擎240根据文档的主题数量和这些主题之间的亲和度来计算专度。在具体实施例中,更专的文档可以具有更少的主题,且这些主题之间具有更高的亲和度,而不太专的文档可以具有更多的主题,且这些主题之间具有更低的亲和度。
在具体实施方式中,主题数量可以取决于深度(或等级)。例如,较浅深度处的单个主题可以表示较大深度处的多个主题。在具体实施方式中,可以通过用户使用深度滑块来选择深度,或者深度可以是预先确定的。在具体实施方式中,等级可以由用户选择或者可以被预先确定。例如,可以定义任何适当数量的等级,并且可以针对该等级计算深度。例如,等级可以基于领域(例如,工程、医学、新闻、体育或金融领域);基于专业(例如、心脏病学、眼科学或者肾脏专业);基于主题(例如,高血压、胆固醇、搭桥手术或动脉阻塞主题);基于细节(例如,体位性低血压、慢性高血压或者急性高血压);基于解决方案(例如,老年人病理、药物或者遗传学解决方案);基于人(例如,用户查询等级)。
本体特征应用引擎250可以应用本体特征(例如深度、主题或专度),来在任何适当情形中执行本体特征分析。适当情形的示例包括:根据本体特征来搜索、排序、推荐或选择文档;报告文档的本体特征;以及确定一个或更多个用户的文档(或文档集)的本体特征。在具体实施方式中,本体特征应用引擎250可以使用包括关于本体特征的信息的索引。在一个示例中,本体特征应用引擎250使用根据深度等级生成和/或维护的文档深度(DD:document depth)反向索引62。DD反向索引62包括DD反向索引列表,其中词的DD反向索引列表列出了包括该词的文档(或页面50)的文档标识符。文档的文档标识符可以指示文档的深度。例如,用来编码文档标识符的二进制编码可以指示深度。在一些情况下,DD反向索引列表可以仅列出具有令人满意的深度的文档。在另一例中,除反向索引62之外,本体特征应用引擎250还使用等级表和深度表。该深度表可以指示文档的深度。
在具体实施方式中,本体特征应用引擎250搜索具有本体特征的指定值(例如,文档深度或专度的指定值)的文档。该指定值可以由用户预先确定、计算或者选择。在具体实施方式中,可以使用深度滑块和/或专度滑块来选择这些值。
在具体实施方式中,本体特征应用引擎250可以将本体特征用作排序标准来对文档进行排序。例如,本体特征应用引擎250可以针对主题以及其它排序标准,根据文档深度和/或专度来对文档进行排序。在具体实施例中,本体特征应用引擎250搜索DD反向索引62以获得根据文档深度排序的文档。在一些实施例中,本体特征应用引擎250使用非DD反向索引62来搜索文档,并接着根据深度对这些文档排序。
在具体实施方式中,本体特征应用引擎250可以向客户端20以图形方式显示本体特征的值。可以为一些或所有文档(例如,为来自搜索结果的前X%的文档)提供图形显示。该本体特征值可以以任何适当方式呈现。在一些实施例中,图形指示符(例如,数量、词或图标)可以指示该值。例如,图形指示符可以例如位于搜索结果列表中的项目、在线报纸的标题或者文档图标的旁边。在一些实施例中,对已有插图的修改可以指示该值。例如,文本的尺寸、字体、风格、颜色或图形指示符可以指示值。在另一例中,图形可以指示这些值。本体特征直方图可以包括文档量轴和本体特征轴,并且可以指示具体本体特征值的文档量。例如,包括文档量轴和文档深度轴的文档深度直方图可以指示特定文档深度的文档量。
在具体实施方式中,本体特征应用引擎250可以允许用户请求搜索具有特定本体特征值的文档。用户可以被允许为查询的不同词指定值。在具体实施例中,本体特征应用引擎250可以为用户提供选项来选择深度,并接着用户可以输入该选择的深度。这些选项可以以任何适当方式呈现,例如:(i)绝对项(例如,表示深度的数量或者数量范围);(ii)相对项(例如,针对深度的一部分搜索结果,例如“最深的X%”);(iii)语义项(例如,“介绍”、“浅”、“深”、“非常深”和/或“高技术的”);(iv)图形项(例如,滑块、按钮和/或其他图形元素);或者(v)任何适当的组合项(例如,具有语义标签的滑块)。在一些情况下,滑块可以包括浅端和深端。用户可以将滑块移向一端或另一端,以指示选择的深度。当提供搜索结果时,可以通过该滑块显现文档深度直方图,并且可以将该滑块用作文档深度轴。
在具体实施方式中,本体特征应用引擎250可以计算一个或更多个用户的集合的本体特征属性。本体特征属性可以包括主题上下文中的用户深度和用户专度。本体特征属性描述了文档的与用户集相关联的本体特征。例如,科学家可以使用比三年级学生更深的文档。可以针对一个或更多个主题给出本体特征属性。例如,遗传学家可以在遗传学领域中使用比他在诗歌领域中使用的文档更深的文档。本体特征属性可以被用来确定用户的专长、为用户自动构建简历,以及分析用户的社会网络。
可以分析与用户相关联的任何适当的文档,以估计本体特征属性,例如,信件(例如,电子邮件和即时消息)、网页、以及搜索历史(例如搜索查询和选择的页面)。在具体实施方式中,本体特征应用引擎250可以随着时间跟踪本体特征属性,并且可以使用过去的属性来预测未来的属性。在具体实施例中,本体特征应用引擎250可以假设用户深度和/或专度总体上随时间和/或区域中的活动而增加。
在具体实施方式中,本体特征应用引擎250可以组合某些操作。例如,本体特征应用引擎250可以监控用户的深度,并且接着根据该用户深度来搜索文档。在一个示例中,监控用户深度,并且接着根据该深度向用户提供新闻。预测未来的用户深度,并且提供适合该预测用户深度的新闻。
图9例示了可以精炼搜索空间的搜索模块37的一个实施方式。搜索空间可以是从其中选择搜索结果的空间。例如,语料库(如万维网)可以包括页面(如网页或文档)。语料库的搜索空间可以是从中选择搜索结果的语料库的子集。
在例示的实施方式中,搜索模块37包括搜索引擎360和可以根据Neti Neti方法工作的搜索空间管理器364。在特定实施方式中,搜索引擎360搜索语料库的搜索空间,并且向用户呈现多个结果及其相关联的关键词,其中,结果的关键词可以指示该结果的主题。用户可以选择与该搜索不相关的关键词。搜索空间管理器364可以根据不相关关键词接收不相关关键词的选择。
在特定实施方式中,搜索模块37可以根据网摘(Web feeds)(如RSS(真正简易联合、资源描述框架(RDF)站点摘要、或丰富站点摘要)摘要)来过滤结果。在该实施方式中,用户可以提供或选择不相关关键词来过滤该摘要,并且搜索模块37可以提供可能也被视为不相关的相关词。
搜索引擎360和搜索空间管理器364可以使用任何适当的方法来精炼搜索空间。例如,可以将搜索查询映射至本体空间的相关部分,并接着可以消除从语义的观点来看不可能的候选主题。参照图10,对方法的示例进行描述。
图10例示了精炼搜索空间的方法的示例。该方法在步骤550开始,其中,搜索模块37从用户接收搜索参数和搜索查询。例如,该搜索查询可以包括搜索词条“树”。搜索引擎360根据搜索参数在步骤554进行对搜索空间的搜索。例如,该搜索可以生成表示“树”的多种意思的结果,如计算机科学、家族、或植物学意义上的“树”。
在步骤558,搜索引擎360向该用户呈现该搜索的结果和描述该结果的关键词。在特定实施方式中,搜索结果(如网页)可以具有描述该结果的一个或更多个关键词(如文档的主题)。该结果可以按任何适当的方式呈现。例如,该结果可以被呈现为结果的列表和/或它们的关联关键词。作为另一示例,该结果和/或它们的关联关键词可以被呈现为亲和度图(图6例示了其示例)。作为另一示例,如果在特定结果上移动光标,则可以在该结果边上显示关键词的弹出窗口。作为另一示例,结果可以在其边上具有当点击时扩展并显示关键词的栏目。结果的关键词可以在视觉上接近于该结果。
在已经呈现了结果的一个或更多个迭代之后,用户可以选择与该搜索不相关的关键词。例如,用户可以选择词条“植物”作为不相关关键词。可以按任何适当的方式来选择不相关关键词。例如,该用户可以在该关键词上或附近放置标记,或者可以点击关键词。
在步骤562,搜索空间管理器364接收不相关关键词的选择。例如,接收词条“植物”。在步骤574,可以扩展该不相关关键词。如果要扩展该不相关关键词,则该方法进行至步骤566。如果不扩展该不相关关键词,则该方法直接进行至步骤570。
在步骤566,搜索空间管理器364通过将与该不相关关键词有关的关键词添加至不相关关键词的集合来扩展该不相关关键词。例如,可以将“森林”识别为与“植物”有关。由此,可以将它视为不相关关键词。
可以按任何适当的方式来定义关键词之间的相关性。在特定实施方式中,相关关键词(或由关键词指示的主题)与其他关键词(或主题)相比可以彼此具有更高的亲和度。在一个示例中,相关关键词可以属于同一群集、主题或话题。在另一示例中,对应于高度亲和主题的关键词可以被视为相关。在该示例中,确定由不相关关键词指示的不相关主题,并且识别与该不相关主题高度亲和的主题。
可以利用逻辑来确定相关关键词。在特定实施方式中,可以使用基于暗示的逻辑。例如,给定主题X和Y,X→Y。如果主题Y不相关,则主题X也不相关。因此,可以将针对主题X的关键词视为与针对主题Y的关键词相关。而且,因为NOT(Y)→NOT(X),所以可以将NOT
(X)用于识别相关主题。
可以将逻辑用于表示关系。在特定实施方式中,布尔值可以表示主题之间的关系。作为一示例,可以使用布尔0/1/X,其中,布尔0表示相反关系。布尔X表示不存在关系,而布尔1表示存在关系。在特定实施方式中,可以使用模糊逻辑来表达主题之间的含糊关系。
在特定实施方式中,对精炼搜索空间的具体约束可以预先设定、可以通过用户指定,或者可以根据先前用户指定而自动生成。例如,用户可以在修整搜索空间时动态地调整不相关关键词应当具有多少影响。在某些情况下,可以在将关键词用于修整搜索空间之前移动图形元素(如滑块)来指定关键词应当是多么松散地相关或多么紧密地相关以成为不相关关键词。接着,该方法进行至步骤570。
在步骤570,搜索空间管理器364精炼搜索。该搜索可以按任何适当的方式根据不相关关键词来精炼。作为示例,可以通过去除不相关关键词来调节搜索查询,并且可以利用调节后的搜索查询来执行新搜索。作为另一示例,可以通过从搜索空间中去除不相关关键词来缩减该搜索空间。作为另一示例,可以通过去除与不相关关键词有关的结果来精炼搜索结果。
在步骤574,可以执行下一个搜索。如果执行下一个搜索,则该方法进行至步骤578,其中,在精炼后的搜索空间中进行搜索。接着,该方法返回至步骤558,其中,呈现搜索结果。如果不执行下一个搜索,则该方法结束。
在不脱离本发明的范围的情况下,而可以对本方法进行修改、增加、或省略。本方法可以包括更多、更少、或其他的步骤。另外,可以按任何适当的次序执行步骤。
尽管根据具体实施方式对本公开进行了描述,但本领领域技术人员应当清楚这些实施方式的改变例和置换例。因此,这些实施方式的上述描述不对本公开构成限制。在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对本发明进行其他变化、代替以及改变。
Claims (20)
1.一种精炼搜索的方法,该方法包括以下步骤:
搜索语料库的搜索空间以得到多个结果,所述语料库包括与多个关键词相关联的多个文档,各个文档与至少一个指示所述文档的至少一个主题的关键词相关联;
将所述多个关键词中的一个或更多个关键词确定为不相关关键词;
通过以下步骤来扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词:
确定由所述不相关关键词指示的一个或更多个不相关主题;
识别与所述不相关主题高度亲和的一个或更多个亲和主题,其中如果亲和主题满足亲和度阈值则该亲和主题是高度亲和的;
确定与所述亲和主题相对应的一个或更多个亲和关键词;以及
将所述亲和关键词识别为与所述不相关关键词有关的关键词;以及
根据所述不相关关键词精炼所述搜索。
2.根据权利要求1所述的方法,该方法进一步包括通过执行以下步骤来扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词:
选择与所述不相关关键词属于同一群集的一个或更多个关键词;以及
将所选择的关键词识别为与所述不相关关键词有关的关键词。
3.根据权利要求1所述的方法,该方法进一步包括通过执行以下步骤来扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词:
确定由所述不相关关键词指示的一个或更多个不相关主题;
识别暗示了不相关主题的暗示主题;
确定与所述暗示主题相关联的暗示关键词;以及
将所述暗示关键词识别为与所述不相关关键词有关的关键词。
4.根据权利要求1所述的方法,该方法进一步包括通过执行以下步骤来扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词:
接收指示关键词应当是多么松散地相关或多么紧密地相关以便被识别为与不相关关键词有关的关键词的用户选择;以及
根据所述用户选择识别与所述不相关关键词有关的所述关键词。
5.根据权利要求1所述的方法,该方法还包括作为下述其中之一来呈现所述结果以及与所述结果相关联的所述关键词:
所述结果和与所述结果相关联的关键词的列表;
与所述结果相关联的关键词的亲和度图;
各具有与所述结果相关联的关键词弹出窗口的结果;或
各具有与所述结果相关联的关键词扩展字段的结果。
6.根据权利要求1所述的方法,其中所述根据所述不相关关键词精炼所述搜索的步骤还包括以下步骤:
从所述搜索中去除所述不相关关键词。
7.根据权利要求1所述的方法,其中所述根据所述不相关关键词精炼所述搜索的步骤还包括以下步骤:
从对语料库的搜索空间进行搜索所得到的多个结果中去除与所述不相关关键词相关联的结果。
8.根据权利要求1所述的方法,其中,
所述语料库包括万维网;并且
所述多个文档包括多个网页。
9.根据权利要求1所述的方法,其中所述结果包括来自网摘的多个摘要。
10.根据权利要求1所述的方法,该方法还包括以下步骤:
使用布尔值来表示两个主题之间的关系。
11.根据权利要求1所述的方法,该方法还包括以下步骤:
使用模糊逻辑来表示两个主题之间的含糊关系。
12.一种精炼搜索的系统,该系统包括:
搜索语料库的搜索空间以生成多个结果的装置,所述语料库包括与多个关键词相关联的多个文档,各个文档与指示所述文档的至少一个主题的至少一个关键词相关联;
将所述多个关键词中的一个或更多个关键词确定为不相关关键词的装置;
如下地扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词的装置:
确定由所述不相关关键词指示的一个或更多个不相关主题;
识别与所述不相关主题高度亲和的一个或更多个亲和主题,其中
如果亲和主题满足亲和度阈值则该亲和主题是高度亲和的;
确定与所述亲和主题相对应的一个或更多个亲和关键词;以及
将所述亲和关键词识别为与所述不相关关键词有关的关键词;以及
根据所述不相关关键词精炼所述搜索空间的装置。
13.根据权利要求12所述的系统,其中所述系统进一步包括如下地扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词的装置:
选择与所述不相关关键词属于同一群集的一个或更多个关键词;以及
将所选择的关键词识别为与所述不相关关键词有关的关键词。
14.根据权利要求12所述的系统,其中所述系统进一步包括如下地扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词的装置:
确定由所述不相关关键词指示的一个或更多个不相关主题;
识别暗示了不相关主题的暗示主题;
确定与所述暗示主题相关联的暗示关键词;以及
将所述暗示关键词识别为与所述不相关关键词有关的关键词。
15.根据权利要求12所述的系统,其中所述系统进一步包括如下地扩展所述不相关关键词以包括与所述不相关关键词有关的一个或更多个其他关键词的装置:
接收指示关键词应当多么松散地相关或多么紧密地相关以便被识别为与不相关关键词有关的关键词的用户选择;以及
根据所述用户选择识别与所述不相关关键词有关的关键词。
16.根据权利要求12所述的系统,其中所述系统还包括作为下述其中之一呈现所述结果以及与所述结果相关联的关键词的装置:
所述结果和与所述结果相关联的关键词的列表;
与所述结果相关联的关键词的亲和度图;
各具有与所述结果相关联的关键词弹出窗口的结果;或
各具有与所述结果相关联的关键词扩展字段的结果。
17.根据权利要求12所述的系统,其中所述系统进一步包括如下地根据所述不相关关键词精炼所述搜索的装置:
从所述搜索中去除所述不相关关键词。
18.根据权利要求12所述的系统,其中所述系统进一步包括如下地根据所述不相关关键词精炼所述搜索的装置:
从对语料库的搜索空间进行搜索所得到的多个结果中去除与所述不相关关键词相关联的结果。
19.根据权利要求12所述的系统,其中,
所述语料库包括万维网;并且
所述多个文档包括多个网页。
20.根据权利要求12所述的系统,其中所述结果包括来自网摘的多个摘要。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97780007P | 2007-10-05 | 2007-10-05 | |
US60/977,800 | 2007-10-05 | ||
US12/243,170 | 2008-10-01 | ||
US12/243,170 US8108405B2 (en) | 2007-10-05 | 2008-10-01 | Refining a search space in response to user input |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101692223A CN101692223A (zh) | 2010-04-07 |
CN101692223B true CN101692223B (zh) | 2015-09-02 |
Family
ID=40282379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810166176.9A Active CN101692223B (zh) | 2007-10-05 | 2008-10-06 | 响应于用户输入精炼搜索空间 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8108405B2 (zh) |
EP (1) | EP2045735A3 (zh) |
JP (1) | JP2009093653A (zh) |
CN (1) | CN101692223B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510856A (zh) * | 2009-03-12 | 2009-08-19 | 腾讯科技(深圳)有限公司 | 一种sns网络中成员关系圈的提取方法和装置 |
KR101548273B1 (ko) * | 2009-04-08 | 2015-08-28 | 삼성전자주식회사 | 휴대용 단말기에서 웹 검색 속도를 향상시키기 위한 장치 및 방법 |
US8949241B2 (en) * | 2009-05-08 | 2015-02-03 | Thomson Reuters Global Resources | Systems and methods for interactive disambiguation of data |
US20110047136A1 (en) * | 2009-06-03 | 2011-02-24 | Michael Hans Dehn | Method For One-Click Exclusion Of Undesired Search Engine Query Results Without Clustering Analysis |
US8150843B2 (en) * | 2009-07-02 | 2012-04-03 | International Business Machines Corporation | Generating search results based on user feedback |
US20110055200A1 (en) * | 2009-08-26 | 2011-03-03 | Nokia Corporation | Method and apparatus for utilizing existing hash identifiers of decision diagrams |
US9020959B2 (en) * | 2009-12-07 | 2015-04-28 | International Business Machines Corporation | Contextual support for publish-subscribe systems |
US8621046B2 (en) | 2009-12-26 | 2013-12-31 | Intel Corporation | Offline advertising services |
US8515972B1 (en) | 2010-02-10 | 2013-08-20 | Python 4 Fun, Inc. | Finding relevant documents |
US20110258203A1 (en) * | 2010-04-16 | 2011-10-20 | Wouhaybi Rita H | Methods and systems for relationship characterization and utilization from a user's social networks |
WO2011141449A1 (en) * | 2010-05-10 | 2011-11-17 | Jabbit Ltd | Method and apparatus for generating key phrases |
US8429685B2 (en) | 2010-07-09 | 2013-04-23 | Intel Corporation | System and method for privacy-preserving advertisement selection |
TW201232292A (en) * | 2011-01-27 | 2012-08-01 | Hon Hai Prec Ind Co Ltd | System and method for searching indirect terms |
US10082574B2 (en) | 2011-08-25 | 2018-09-25 | Intel Corporation | System, method and computer program product for human presence detection based on audio |
US8620854B2 (en) * | 2011-09-23 | 2013-12-31 | Fujitsu Limited | Annotating medical binary decision diagrams with health state information |
US9336302B1 (en) | 2012-07-20 | 2016-05-10 | Zuci Realty Llc | Insight and algorithmic clustering for automated synthesis |
CN103885961B (zh) * | 2012-12-20 | 2015-10-28 | 腾讯科技(深圳)有限公司 | 一种关联搜索词的推荐方法及系统 |
US10380253B2 (en) | 2014-03-04 | 2019-08-13 | International Business Machines Corporation | Natural language processing with dynamic pipelines |
US9390196B2 (en) | 2014-06-03 | 2016-07-12 | International Business Machines Corporation | Adjusting ranges of directed graph ontologies across multiple dimensions |
CN104978878A (zh) * | 2015-06-26 | 2015-10-14 | 苏州点通教育科技有限公司 | 微课教学系统及方法 |
US20170193118A1 (en) * | 2015-10-14 | 2017-07-06 | Jerry Edward Pratt | Search Engine with Easy Marking of Relevant and Irrelevant Links, and Summary and Sharing of Searches |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
US10169331B2 (en) | 2017-01-29 | 2019-01-01 | International Business Machines Corporation | Text mining for automatically determining semantic relatedness |
US10872107B2 (en) * | 2017-06-30 | 2020-12-22 | Keysight Technologies, Inc. | Document search system for specialized technical documents |
CN108389450A (zh) * | 2018-01-26 | 2018-08-10 | 广州大学 | 一种微课教学系统及方法 |
US11429672B2 (en) * | 2018-03-27 | 2022-08-30 | Ntt Docomo, Inc. | Dialogue server |
CN109739945B (zh) * | 2018-12-13 | 2022-11-08 | 南京邮电大学 | 一种基于混合索引的多关键词密文排序检索方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1839386A (zh) * | 2003-08-21 | 2006-09-27 | 伊迪利亚公司 | 使用语义歧义消除与扩展的因特网搜索 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195386A (ja) * | 1992-12-25 | 1994-07-15 | Toshiba Corp | データ検索装置 |
US6038560A (en) * | 1997-05-21 | 2000-03-14 | Oracle Corporation | Concept knowledge base search and retrieval system |
JP3607462B2 (ja) * | 1997-07-02 | 2005-01-05 | 松下電器産業株式会社 | 関連キーワード自動抽出装置及びこれを用いた文書検索システム |
US5987457A (en) * | 1997-11-25 | 1999-11-16 | Acceleration Software International Corporation | Query refinement method for searching documents |
US6732086B2 (en) * | 1999-09-07 | 2004-05-04 | International Business Machines Corporation | Method for listing search results when performing a search in a network |
US6691108B2 (en) * | 1999-12-14 | 2004-02-10 | Nec Corporation | Focused search engine and method |
US6587848B1 (en) * | 2000-03-08 | 2003-07-01 | International Business Machines Corporation | Methods and apparatus for performing an affinity based similarity search |
US20020194166A1 (en) * | 2001-05-01 | 2002-12-19 | Fowler Abraham Michael | Mechanism to sift through search results using keywords from the results |
JP2004054619A (ja) * | 2002-07-19 | 2004-02-19 | Nec Soft Ltd | 文書検索システム、文書検索方法、および、文書検索プログラム |
US7231384B2 (en) * | 2002-10-25 | 2007-06-12 | Sap Aktiengesellschaft | Navigation tool for exploring a knowledge base |
US8676830B2 (en) * | 2004-03-04 | 2014-03-18 | Yahoo! Inc. | Keyword recommendation for internet search engines |
US7475072B1 (en) * | 2005-09-26 | 2009-01-06 | Quintura, Inc. | Context-based search visualization and context management using neural networks |
US7792858B2 (en) * | 2005-12-21 | 2010-09-07 | Ebay Inc. | Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension |
US8036937B2 (en) * | 2005-12-21 | 2011-10-11 | Ebay Inc. | Computer-implemented method and system for enabling the automated selection of keywords for rapid keyword portfolio expansion |
JP2007257369A (ja) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | 情報検索装置 |
US20080208808A1 (en) * | 2007-02-27 | 2008-08-28 | Yahoo! Inc. | Configuring searches |
-
2008
- 2008-10-01 US US12/243,170 patent/US8108405B2/en not_active Expired - Fee Related
- 2008-10-02 EP EP08165788A patent/EP2045735A3/en not_active Ceased
- 2008-10-06 CN CN200810166176.9A patent/CN101692223B/zh active Active
- 2008-10-06 JP JP2008259633A patent/JP2009093653A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1839386A (zh) * | 2003-08-21 | 2006-09-27 | 伊迪利亚公司 | 使用语义歧义消除与扩展的因特网搜索 |
Non-Patent Citations (2)
Title |
---|
张霞等.将搜索进行到底——搜索引擎GOOGLE 研究.《农业图书情报学刊》.2004,第16卷(第10期), * |
李艳梅.浅议搜索引擎Google.《现代情报》.2003,(第7期), * |
Also Published As
Publication number | Publication date |
---|---|
EP2045735A3 (en) | 2012-01-25 |
JP2009093653A (ja) | 2009-04-30 |
EP2045735A2 (en) | 2009-04-08 |
US20090094232A1 (en) | 2009-04-09 |
CN101692223A (zh) | 2010-04-07 |
US8108405B2 (en) | 2012-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101692223B (zh) | 响应于用户输入精炼搜索空间 | |
CN101408885B (zh) | 利用统计分布对主题进行建模 | |
CN101408887B (zh) | 推荐词条以指定本体空间 | |
CN101566997B (zh) | 确定与给定的词集相关的词 | |
CN101408886B (zh) | 通过分析文档的段落来选择该文档的标签 | |
CN101404015B (zh) | 自动生成词条层次 | |
US8543380B2 (en) | Determining a document specificity | |
EP2045732A2 (en) | Determining the depths of words and documents | |
Rajkumar et al. | Users’ click and bookmark based personalization using modified agglomerative clustering for web search engine | |
Charjan et al. | Pattern Discovery For Text Mining Using Pattern Taxonomy | |
Irshad et al. | SwCS: Section-Wise Content Similarity Approach to Exploit Scientific Big Data. | |
EP2090992A2 (en) | Determining words related to a given set of words | |
Tejasree et al. | An improved differential bond energy algorithm with fuzzy merging method to improve the document clustering for information mining | |
Kammergruber et al. | Using association rules for discovering tag bundles in social tagging data | |
CN101408884A (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 |