专利名称:在用户的查询操作与搜索结果之间建立关联的方法和设备的制作方法
技术领域:
本发明总体涉及搜索技术,特别涉及用于在用户的查询操作与搜 索结果之间建立关联的方法与设备。
背景技术:
搜索引擎技术的发展给人们带来了很多方便和快捷。例如,当用 户在搜索引擎上输入一个查询词时,搜索引擎便能够返回与该查询 词对应的相关网页、图片、文件等,便于用户浏览和查看。
但是,由于用户输入的查询词大多数是用户基于自己的知识和理 解而粗略估计得到的,该查询词经常与用户需要的网页、图片、文 件等不匹配,所以很多对用户有用的内容并没有包括在提供给用户 的搜索结果中。这时,用户通常会更换查询词进行下一次查询,以 此类推,不断更换查询词,直到找到自己需要的搜索结果为止。这 样,不仅花费了用户的宝贵时间,而且用户很有可能在花费了大量 时间之后仍然找不到需要的搜索结果。
因此,在搜索引擎技术领域,存在这样一个问题,即如何在用户 输入的查询词与用户需要的搜索结果之间建立关联,从而使得用户 能够方便、快速、高效地搜索到需要的结果。
发明内容
针对以上问题,本发明提供了 一种在用户的查询操作与搜索结 果之间建立关联的方法和设备。
本发明的目的是在用户输入的查询词与用户需要的搜索结果之 间建立关联,从而使得用户能够方便、快速、高效地搜索到需要的 结果。根据本发明的第 一 方面,提供了 一种在用户的查询操作与搜索
结果之间建立关联的方法,包括步骤获取查询轨迹;基于所述查 询轨迹,在用户输入的查询词与搜索结果之间建立关联。
根据本发明的第二方面,提供了一种用于在用户的查询操作与 搜索结果之间建立关联的设备,包括获取单元,用于获取查询轨 迹;以及关联建立单元,用于基于所述查询轨迹而在用户输入的查 询词与搜索结果之间建立关联。
通过以下对说明本发明原理的优选实施方式的描述,并结合附 图,本发明的其他特征以及优点将会是显而易见的。
通过以下结合附图的说明,并且随着对本发明的更全面了解,本 发明的其他目的和效果将变得更加清楚和易于理解,其中
图1是按照本发明的一个实施例的用于获取查询轨迹的流程图; 图2是按照本发明的另 一个实施例的用于获取查询轨迹的流程
图3是按照本发明的一个实施例的在用户输入的查询词与搜索 结果之间建立关联的流程图4是按照本发明的另 一个实施例的在用户输入的查询词与搜 索结果之间建立关联的流程图5是按照本发明的另一个实施例的在用户输入的查询词与搜 索结果之间建立关联的流程图6是按照本发明的另 一个实施例的在用户输入的查询词与搜 索结果之间建立关联的流程图7 a是按照本发明的 一 个实施例的用于在用户的查询操作与搜 索结果之间建立关联的设备的框图7b是按照本发明的 一个实施例的关联建立单元的框图7c是按照本发明的另一个实施例的关联建立单元的框图;以
及图8是适于实施本发明的计算机系统的结构方框图。 在所有的上述附图中,相同的标号表示具有相同、相似或相应的 特征或功能。
具体实施例方式
以下结合附图,对本发明进行更详细的解释和说明。应当理解, 本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的
保护范围。
为了清楚起见,首先对本发明中所使用的术语作以解释。 1.查询轨迹
为了找到特定内容,用户通常向搜索引擎输入他/她自认为能够 最好地描述所需信息的查询词。当搜索结果不理想时,用户改变查 询词并重新搜索,直到他/她找到需要的信息为止。在用户的搜索过 程中,可以认为用户每次输入的查询词能够4安顺序组成一个链,这 个链即本发明中的"查询轨迹"。
在一个查询轨迹中,第一个查询词是用户第一次输入的查询词、
第二查询词是用户第二次输入的查询词.......最后一个查询词是用
户最后一次输入的查询词。当用户输入最后一个查询词时,该用户 认为根据该查询词得到的搜索结果中有他/她需要的信息,则该用户 可能点击搜索结果中提供的链接等来进行查看,从而获取信息。可 见,在用户输入最后一个查询词之前,该用户所输入的所有查询词 都没有提供用户所需的信息,所以将查询轨迹中的这些查询词称作 "中间查询词",而将查询轨迹中的最后一个查询词称作"目标查 询词"。
例如,当用户向搜索引擎先输入"Marine vegetation types"、再 输入"marine vegetation"、又输入"marine plants"、最后输入"sea plant"进4亍查询时,查询4九迹可以是"Marine vegetation types"—> "marine vegetation" —> "marine plants" —> "seaplant"。 其中, "Marine vegetation types" 、 "marine vegetation" 、 "marine plants"
8是中间查询词,而"sea plant"是目标查询词。
2. 相似度
相似度是指查询词之间的语义相似程度。在现有技术中,已有多 种方法可以计算相似度。例如,可以利用WordNet来衡量两个词之 间的语义相似程度。WordNet是一个字典,在WordNet中,名词, 动词,形容词和副词各自;f皮组织成一个同义词的网络,每个同义词 集合都代表一个基本的语义概念,并且这些集合之间也由各种关系 连接成语义网络。另外,利用大文本集合,通过类似隐含语义分析 (Latent Semantic Analysis )或者基于概率的隐含语义分析 (Probabilistic Latent Semantic analysis),可以计算两个词之间的语义 相似度。得到了词和词之间的相似度后,就可以计算词组和词组之 间的相似度。例如,可以通过计算两个词组的两两之间的词的相似 度的平均和来获得相似度。
3. 标签
标签可以是单个词、数字、句子等。每个搜索结果可以包括多个 链接,而每个链接可以与网页、文档、图片等相对应。每个网页、 文档、图片等都可以具有标签,该标签可以位于该网页、文档、图 片等的头部、尾部或本领域技术人员可以获取的任何位置。
标签便于用户找到自己需要的内容。例如,当用户在搜索引擎中 输入一个查询词进行搜索后,搜索结果中列出IO个网页的链接。前 3个网页的标签中分别包含用户输入的查询词,而其余7个网页则不 包含这样的标签,因此将前3个网页的链接优先排列于搜索结果中 的前几个位置,更便于用户浏览。
本发明涉及 一 种在用户的查询操作与搜索结果之间建立关联的 方法,该方法包括两个步骤首先获取查询轨迹,然后基于该查询 轨迹在用户输入的查询词与搜索结果之间建立关联。
在第一个步骤中,查询轨迹可以通过多种方法来获取,例如,通 过分析搜索引擎日志而在后台获取、或者根据用户的查询操作而直 接获取。图1和图2中分别介绍了按照本发明的上述两种实施例的用于获取查询轨迹的流程图。
在第二个步骤中,可以利用多种方式在用户输入的查询词与搜
索结果之间建立关联。图3和图6分别示出了按照本发明的实施例 的在用户输入的查询词与搜索结果之间建立关联的流程图。具体而 言,图3所示的实施例是根据基于查询轨迹而建立的查询映射库, 得到与用户输入的查询词匹配的推荐查询词,从而建立用户输入的 查询词与根据推荐查询词而得到的搜索结果之间的关联。图6所示 的实施例则是通过得到与用户输入的查询词相匹配的查询專九迹,并 利用该查询轨迹中的各个查询词来向根据该查询轨迹中的最后一个 查询词而得到的搜索结果添加标签,从而建立用户输入的查询词与 该搜索结果之间的关联。
以下根据图1所示的流程图详细介绍根据本发明的一个实施例 的获耳又查询4九迹的方法。
搜索引擎在日常运行的过程中可以将用户与系统交互的整个过 程记录在搜索引擎日志中。因此,搜索引擎日志中可能包括一个或 多个用户在其查询操作过程中的有关信息,例如,用户的IP地址、 输入的查询词等。 一个包含4条记录的搜索引擎日志的例子如下
查询词"汽车价格",IP: 202.196.0.1
查询词"汽车排量",IP: 202.196.0.1
查询词"女^君",IP: 202.196.0.2
查询词"女装",IP: 202.196.0.2
IP地址为202.196.0.1的用户输入了两个查询词"汽车价格"和 "汽车排量",其目的是希望得到与汽车相关的信息;而IP地址为
202.196.0.2的用户输入了两个查询词"女裙,,和"女装",其目的 是希望得到与女士服装有关的信息。因此,"汽车价格"和"汽车 排量,,应存储于一个查询轨迹中,而"女裙,'和"女装"应存储于 另一个查询轨迹中。图1示出了通过分析搜索引擎日志获取查询轨 迹的实施例。需要说明的是,图1仅仅示出了在获取查询轨迹中对 一个查询词的处理,通过对连续的多个查询词才艮据图l所示的方法进行处理,来得到查询轨迹。
在步骤IOI,读取搜索引擎日志中记录的查询词。
搜索引擎日志记录了用户与系统交互的整个过程,不同搜索引擎
日志的记录格式可以不同, 一般包括用户的访问时间、用户的IP 地址、查询词、用户所点击的URL、点击的时间以及点击URL的序 号等,这些信息通常按某种格式存储在磁盘的文件系统中。
可见,通过读取搜索引擎日志中记录的信息,可以得到各个用户 在搜索引擎查询各种内容的历史记录,并可以得到该历史记录中的 用户曾经输入的查询词。该历史记录可以是按照时间顺序的,也可 以按照本领域技术人员能够采用的任何其他方式排序,这并不影响 本发明的实施。用户曾经输入的查询词例如存储在搜索引擎日志中 的第一个记录条目中的查询词"Marine vegetation types",第二个记 录条目中的查询词"marine vegetation"。
在步骤102,计算当前查询词与搜索引擎日志中记录的前一个查 询词之间的相似度。
对于第一个记录条目中的查询词,由于在其前面没有其他的查询 词,因此对于第一个记录条目中的查询词, <又<又是读取和/或临时存 储该查询词并不实际执行步骤102-106。
对于第一个记录条目之后的记录条目中的查询词,例如第二个记 录条目中的查询词"marine vegetation",则计算其与前一个查询条 目中的查询词"Marine vegetation types"之间的相似度。
在现有技术中,存在多种计算文本相似度的算法,例如编辑距离 (Levenshtein Distance )算法、最长公共子序列(LCS )算法、余弦 定理(向量空间算法)算法等。通过这样的算法,可以得到上述两 个查询词 "marine vegetation"牙口 "Marine vegetation types"之间的 相似度。在该实施例中,假设这两个查询词之间的相似度为0.8。
在步骤103,判断相似度是否大于预定阚值。如果是,则表示该 查询词与前一个查询词相似程度较高,二者可以属于同一个查询轨 迹,/人而进入步骤105;如果否,则表示该查询词与前一个查询词相似程度较低,二者不属于同一个查询轨迹,从而进入步骤104。其中, 该"预定阈值,,可以是用户预先设定的,也可以是各种搜索引擎经 常使用的经验值。
在该实施例中,假设预定阈值是0.5,由于在步骤102中计算出 的相似度为0.8,所以可以判断出当前查询词与前一个查询词之间的 相似度大于预定阈值,二者属于同一个查询轨迹。
在步骤104,创建一个查询轨迹。由于在步骤103中判断当前查 询词与前一个查询词相似程度较低,二者不属于同一个查询轨迹, 因此在步骤104中创建新的查询轨迹,并将当前查询词存储在该新 的查询轨迹中的第一个位置,以便后续4吏用,然后结束对当前查询 词的处理。
在步骤105,将当前查询词存储在查询轨迹中。
当在步骤103中才艮据相似度而确定当前的查询词与前一个查询 词属于同一个查询轨迹时,则在步骤105中将当前查询词存4诸在该 查询轨迹中。并且,在该查询轨迹中,当前查询词的位置在前一个 查询词的位置之后。在该实施例中,查询词"Marine vegetation types" 存储在查询轨迹中的第一个位置,查询词"marine vegetation"存储 在该查询轨迹中的第二个位置。然后结束对当前查询词的处理。
应当理解的是,搜索引擎日志中的IP地址、查询时间等信息也 可以作为将查询词归于不同查询轨迹的影响因素。例如,可以将来 自不同用户的查询词归于不同的查询轨迹,而不论该查询词之间的 相似度是否很高。又例如,可以将查询时间间隔较大的查询词归于 不同的查询轨迹,而不论该查询词之间的相似度是否4艮高。
应当理解的是,可以利用多种方法来通过分析搜索引擎日志而 获取查询轨迹。在一个实施例中,可以根据搜索引擎日志,获取与 所记录的每个查询词相对应的附加信息,该附加信息例如用户所点 击的URL、点击的时间以及点击URL的序号等;当搜索引擎日志中 记录的查询词不具有对应的附加信息时,则表明用户对根据该查询 词得到的搜索结果没有进行点击动作,从而可以认为用户根据该查
12在前一个 查询词所在的查询轨迹中。在另一个实施例中,当搜索引擎日志中 记录的查询词不具有对应的附加信息时,则计算该查询词与前一个 查询词之间的相似度,并当该相似度大于预定阈值时将查询词存储 在前一个查询词所在的查询轨迹中。
以下根据图2所示的流程图详细介绍根据本发明的另一个实施 例的获取查询轨迹的方法。需要说明的是,图2仅仅示出了在获取 查询轨迹中对一个查询词的处理,通过对连续的多个查询词才艮据图2 所示的方法进行处理,来得到查询轨迹。
由于在使用搜索引擎进行搜索时, 一个用户在一个http会话可 能搜索多个不相关的内容,而多个用户在不同的http会话中搜索的 内容也可以多种多样。这样就需要从搜索引擎日志中就区分出这些 不同的内容,以形成多个查询轨迹。例如,用户在一个http会话中 分4次输入了4个查询词"汽车价格,,、"汽车排量"、"女裙,,、 "女装"。很明显,用户输入前两个查询词的目的是希望得到与汽 车相关的信息,而后两个查询词的目的是希望得到与女士服装有关 的信息。因此,"汽车价格"和"汽车排量"应存储于一个查询轨 迹中,而"女裙"和"女装"应存储于另一个查询轨迹中。与图1 的实施例不同的是,图2的实施例通过接收用户在一个查询过程的 多次输入,跟踪了用户的整个查询过程,将用户在该查询过程中的 多个查询词归于一个或多个查询轨迹中。
在步骤201,接收用户输入的查询词。
在步骤202,获取利用该查询词进行搜索所得到的搜索结果。当 用户向搜索引擎输入查询词之后,搜索引擎将会提供相应的搜索结 果向用户进行显示。因此,用户输入的每个查询词与一个搜索结果 相对应。这个搜索结果例如可以包括一个或多个链接、有关该链接 的简要介绍、链接内容的片段等。
在步骤203,根据该搜索结果,得到针对该查询词的描述信息。 描述信息能够提供搜索结果的特征信息,其可以是搜索结果的部分或全部内容。例如,描述信息可以是搜索结果中列出的简要介绍 的汇总、部分链接内容的片段的汇总等。
在步骤204,获取与用户前一次输入的查询词对应的描述信息。
在步骤205,计算两个描述信息之间的相似度。
在现有技术中,存在多种计算文本相似度的算法,例如编辑距离 (Levenshtein Distance)算法、最长公共子序列(LCS)算法、余弦 定理(向量空间算法)算法等。通过这样的算法,可以得到与用户 连续输入的两个查询词相对应的描述信息之间的相似度。
在步骤206,判断相似度是否大于预定阀值。如果是,则表示该 查询词与前一个查询词相似程度较高,二者可以属于同一个查询轨 迹,从而进入步骤208;如果否,则表示该查询词与前一个查询词相 似程度较低,二者不属于同一个查询轨迹,从而进入步骤207。其中, 该"预定阈值,,可以是用户预先设定的,也可以是各种搜索引擎经 常使用的经验值。
在步骤207,创建一个查询轨迹。由于在步骤206中判断当前查 询词的描述信息与前一个查询词的描述信息相似程度较低,从而这 两个查询词不属于同一个查询轨迹,因此在步骤207中创建新的查 询轨迹,并将当前查询词存储在该新的查询轨迹中的第 一 个位置, 以便后续使用。然后结束对当前查询词的处理
在步骤208,将当前查询词存储在查询轨迹中。
当在步骤206中根据相似度而确定当前的查询词与前一个查询 词属于同一个查询轨迹时,则在步骤208中将当前查询词存储在该 查询轨迹中。并且,在该查询轨迹中,当前查询词的位置在前一个 查询词的位置之后。然后结束对当前查询词的处理。
应当理解的是,可以利用多种方法来根据用户的查询操作而获取 查询4九迹。在一个实施例中,可以类似图1的实施例那样比4交用户 输入的查询词之间的相似度,或者判断用户在继续查询之前是否点 击了当前查询词的查询结果,而不是像图2的实施例那样比较与查 询词对应的描述信息之间的相似度。在另一个实施例中,可以根据用户是否点击根据所述查询词得 到的搜索结果,来判断用户是否从该查询词得到需要的搜索结果。 当用户没有点击任何搜索结果时,认为该次查询是 一 个中间查询, 用户并没有得到需要的搜索结果。因此可以将用户此次输入的查询 词存卡者在前一个查询词所在的查询轨迹中。
图3是按照本发明的一个实施例的在用户输入的查询词与搜索 结果之间建立关联的流程图。图3所示的实施例是根据基于查询轨 迹而建立的查询映射库,得到与用户输入的查询词匹配的推荐查询 词,从而建立用户输入的查询词与根据推荐查询词而得到的搜索结 果之间的关联。图3的实施例是基于查询轨迹进行的,该查询轨迹 可以通过图1或图2的实施例得到,也可以根据本领域技术人员可 以实现的其他方法得到。
在步骤301,基于查询轨迹,建立查询映射库。在步骤302,在 该查询映射库中查找与用户输入的查询词相匹配的查询映射条目。 在步骤303,从匹配的查询映射条目中得到推荐查询词。在步骤304, 将推荐查询词提供给用户,以建立用户输入的查询词与推荐查询词 的搜索结果之间的关联。其中,预定策略可以包括以下策略中的一 个或多个如果相似度大于预定阈值,则确定查询映射条目与查询 词相匹配;对多个相似度进行排序,确定对应于最大相似度的查询 映射条目与查询词相匹配。
图4和图5分别给出了实现图3所示流程的具体实施例。图4 和图5的实施例都是计算用户输入的查询词与查询映射条目中的中 间查询词之间的相似度,并根据预定策略基于相似度来确定该查询 映射条目与该查询词是否匹配。
不同的是,在图4的实施例中,查询映射条目包括中间查询词 和目标查询词;而在图5的实施例中,查询映射条目包括中间查询 词、目标查询词和权重,并且包括利用所述权重对所计算出的多个 相似度进行加权的步骤。
图4是按照本发明的另 一 个实施例的在用户输入的查询词与搜索结果之间建立关联的流程图。
在步骤401,读取查询轨迹。
在步骤402, 乂人该查询轨迹中得到中间查询词和目标查询词。例 如,4叚i殳一个查询專九迹为 "Marine vegetation types" — 〉 "marine vegetation" —> "marine plants" _> "sea plant",这表示才艮据查询 词"Marine vegetation types" 、 "marine vegetation"和"marine plants" 进行搜索后,用户没有得到需要的搜索结果;而根据查询"seaplant" 得到的搜索结果则是用户需要的搜索结果。这里,可以将"Marine vegetation types" 、 "marine vegetation"和"marine plants"作为中 间查询词,并将"sea plant"作为目标查询词。
在步骤403,利用中间查询词和目标查询词得到查询映射条目。 一个查询映射条目可以包括两个元素,例如<中间查询词,目标查询 词〉。在该实施例中,查询映射条目例如
<Marine vegetation types, sea plant >
<marine vegetation, sea plant >
<marine plants, sea plant >
多个查询映射条目组合在一起,可以建立一个查询映射库。 在步骤404,计算用户输入的查询词与查询映射条目中的中间查 询词之间的相似度。
在该实施例中,假设用户输入的查询词为"marine plant"。可 以利用现有技术中的多种计算文本相似度的算法,例如编辑距离 (Levenshtein Distance )算法、最长公共子序列(LCS)算法、余弦 定理(向量空间算法)算法等,计算用户输入的查询词"marine plant" 与查询映射条目<Marine vegetation types, sea plant〉的中间查询词 "Marine vegetation types,,之间的相似度。例如,计算出的相似度为 0.7。
在步骤405,判断相似度是否大于预定阈值。 如果是,则表示这两个查询词之间的相似程度较高,用户输入的 查询词与该查询映射条目相匹配,从而继续到步骤406;如果否,则表示这两个查询词之间的相似程度较低,用户输入的查询词与该查
询映射条目不匹配,从而返回步骤401,继续判断用户输入的查询词 是否与其他查询映射条目匹配。其中,该"预定阈值"可以是用户
预先设定的,也可以是各种搜索引擎经常使用的经验值。
在该实施例中,假设预定阈值是0.5,由于在步骤404中计算出 的相似度为0.7,所以确定查询映射条目与用户输入的查询词相匹配。
在步骤406,得到匹配的查询映射条目中的目标查询词,并将其 作为推荐查询词。由于用户输入的查询词与该查询映射条目中的中 间查询词相似度寿交高,因此将该中间查询词对应的目标查询词推荐 给用户。这样,用户从该目标查询词得到需要的搜索结果的可能性 也较高。
在该实施例中,由于查询映射条目<Marine vegetation types, sea plant〉与用户输入的查询词"marineplant"相匹配,因此将该查询映 射条目中的目标查询词"seaplant"作为推荐查询词。
在步骤407,将推荐查询词提供给用户。例如,可以将该推荐查 询词放置在提示性的对话框中,或者在搜索引擎中的查询词输入处 附近的醒目位置列出该推荐查询词。然后流程结束。
这样,在用户输入查询词的同时,搜索引擎便可以将推荐查询 词提供给用户。由于利用该推荐查询词得到的搜索结果是先前用户 不断变更查询词而得到的该先前用户需要的搜索结果,所以该搜索 结果对于当前用户而言也很有可能是需要的。由此,便建立了用户 的查询操作与搜索结果之间的关联。
图5是按照本发明的另一个实施例的在用户输入的查询词与搜 索结果之间建立关联的流程图。
在步骤501,读取查询轨迹。
在步骤502, /人该查询轨迹中得到中间查询词和目标查询词。 例^(口, 仍々支"i殳这才羊的查询專九迹"Marine vegetation types"—〉 "marine vegetation" —> "marine plants" —> "seaplant"。 这里,
17可以将"Marine vegetation types" 、 "marine vegetation"和"marine plants"作为中间查询词,并将"sea plant"作为目标查询词。
在步骤503,利用中间查询词和目标查询词得到查询映射条目。
查询映射条目可以包括例如权重等的其他元素,这样的查询映 射条目例如<中间查询词,目标查询词,片又重>。权重可以是基于查 询映射条目与用户输入的查询词的匹配次数来计算的,也可以是基 于用户选用推荐查询词的次数来计算的,其中该推荐查询词是根据 查询映射条目中的目标查询词而得到的。
在该实施例中,查询映射条目例如
<Marine vegetation types, sea plant, 0.9 >
<marine vegetation, sea plant, 0.7 〉
<marine plants, sea plant, 0.6 >
其中0.9表示针对该查询映射条目的权重,该权重是根据用户选 用推荐查询词的次数而计算出来的。将多个查询映射条目组合在一 起,则可以建立一个查询映射库。
在步骤504,计算用户输入的查询词与查询映射条目中的所有查 询映射条目中的中间查询词之间的相似度。
在该实施例中,假设用户输入的查询词为" marine plant"。 可 以利用现有技术中的多种计算文本相似度的算法,例如编辑距离 (Levenshtein Distance )算法、最长公共子序列(LCS )算法、余弦 定理(向量空间算法)算法等,计算用户输入的查询词与多个查询 映射条目中的中间查询词之间的相似度。在该实施例中,假设查询 映射库中具有3个查询映射条目,由此计算出来的3个相似度为0.7、
0.8和0.9。
在步骤505,利用权重对所计算出的相似度进行加权,得到加权 相似度。在该实施例中,将根据步骤504计算得到的3个相似度0.7、 0.8和0.9与这3个查询映射条目中的权重(分别为0.9、 0.7和0.6 ) 分别相乘,得到加权相似度为0.63、 0.56和0,54。
在步骤506,得到加权相似度中的最大值。对从步骤505中计算出来的多个加权相似度进行排序,得到最大值0.63。
在步骤507,确定与该最大值相对应的查询映射条目与用户输入 的查询词是相匹配的。假设与加权相似度的最大值相对应的是查询 映射库中的查询映射条目<Marine vegetation types, seaplant, 0.9>。 在步骤508,得到匹配的查询映射条目中的目标查询词,并将其 作为推荐查询词。由于用户输入的查询词与该查询映射条目中的中 间加权查询词相似度是最高的,因此将该中间查询词对应的目标查 询词推荐给用户。这样,用户从该目标查询词得到需要的搜索结果 的可能性也较高。
在该实施例中,由于查询映射条目<Marine vegetation types, sea plant, 0.9>中的目标查询词是,所以将"seeplant"作为推荐查询词。 在步骤509,将推荐查询词提供给用户。然后,流程结束。 这样,在用户输入查询词的同时,搜索引擎便可以将推荐查询 词提供给用户。由于查询映射条目中的权重是根据用户选用推荐查 询词的次数而计算出来的,即该权重表示用户对相应的搜索结果的 认可程度,所以对于当前用户而言,很有可能是需要与根据加权相
似度得到的推荐查询词相对应的搜索结果。由此,便建立了用户的 查询操作与搜索结果之间的关联。
图6是按照本发明的另 一 个实施例的在用户输入的查询词与搜 索结果之间建立关联的流程图。图6所示的实施例首先得到与用户 输入的查询词相匹配的查询轨迹,然后利用该查询轨迹中的各个查 询词来向根据该查询轨迹中的最后一个查询词而得到的搜索结果添 加标签,从而建立用户输入的查询词与该搜索结果之间的关联。与 图3的实施例类似,图6的实施例也是基于查询4九迹进4亍的,该查 询轨迹可以通过图1或图2的实施例得到,也可以根据本领域技术
人员可以实现的其他方法得到。
在步骤601,读取一个查询轨迹。在该实施例中,假设查询轨迹 仍为"Marine vegetation types" —> "marine vegetation" —> "marine plants" —> "seaplant"。在步骤602,计算用户输入的查询词与查询轨迹中的一个查询词 之间的相似度。
在该实施例中,假设用户输入的查询词是"marine plant"。如 前所述,可以利用现有技术中的多种计算文本相似度的算法,例如 编辑距离(Levenshtein Distance )算法、最长公共子序列(LCS )算 法、余弦定理(向量空间算法)算法等,计算"marine plant"与查 询轨迹中的任何一个查询词之间的相似度,作为步骤603的判断依 据。
应当理解的是,在其他实施例中,还可以计算用户输入的查询 词与查询轨迹中的多个查询词之间的多个相似度,然后通过对计算 出的多个相似度进行平均、取最大值、取最小值、加权等处理,得 到处理后的相似度,作为步骤603的判断依据。
在该实施例中,假设在步骤602计算出的相似度是0.7。
在步骤603,判断相似度是否大于预定阈值。
如果是,则表示这两个查询词之间的相似程度4交高,确定该查询 轨迹与所述查询词相匹配,继续到步骤604;如果否,则表示这两个 查询词之间的相似禾呈度4交4氐,该查询轨迹与所述查询词不匹配,/人 而返回步骤601,继续判断用户输入的查询词是否与其他查询轨迹相 匹配。其中,该"预定阈值,,可以是用户预先设定的,也可以是各 种搜索引擎经常使用的经验值。
在该实施例中,假设预定阈值是0.5,由于在步骤602中计算出 的相似度为0.7,所以确定用户,f入的查询词与该查询專九迹相匹配。
在步骤604,从该查询轨迹中的所有查询词提取关键字。现有技 术中存在多种关键字提取方法,其中 一种简单的方法就是根据每个 词在查询轨迹中出现的次数来排序、并提取出现次数多的词作为关 键字。本领域技术人员也可以利用任何其他公知技术来提取关键字。
在该实施例中,布I设从该查询轨迹中提取的关4建字包括 "Marine" 、 "vegetation" 、 "plant"和"sea"。
在步骤605,获取根据查询轨迹中的最后一个查询词得到的搜索结果。
在此步骤中,首先根据查询轨迹中的最后一个查询词进行搜索, 但并不像搜索引擎通常那样将该搜索结果提供给用户,而是仅得到 这样的搜索结果即可。可以将该搜索结果临时存储在任何可访问存 储介质中,例如磁盘、软盘、光盘、磁带和本领域技术人员所能想到的
其他介质。
在步骤606,将关键字作为标签加入该搜索结果。由于根据步骤 604可以根据查询轨迹中的一个或多个查询词得到一个或多个关键: 字,因此在步骤606可以将其中一个关键字加入搜索结果,也可以 将部分或全部关键字都加入搜索结果。
在该实施例中,将"Marine" 、 "vegetation" 、 "plant"和"sea" 这4个关键字全部作为标签加入搜索结果中。
由于查询轨迹中的最后一个查询词通常是先前用户得到满意结 果的查询词,所以根据该查询词得到的搜索结果很有可能是当前用 户需要的搜索结果。在将一个或多个关键字作为标签加入搜索结果 后,由于当前用户l命入查询词与该查询專九迹是匹配的,所以先前用 户搜索到的满意结果便可以很快提供给当前用户,从而在用户的查 询操作与搜索结果之间建立了关联,有效提高了用户的搜索效率。
应当理解的是,步骤604是可选的,其他实施例可以不包括步 骤604,即,不需要从查询词提取关键字的步骤。在一个实施例中, 不包括步骤604,并且在步骤606直接将查询轨迹中的一个或多个查 询词作为标签加入搜索结果。在另一个实施例中,包括步骤604,并 且在步骤606将查询轨迹中的一个或多个查询词、从步骤604得到 的一个或多个关键字、或其组合作为标签加入搜索结果。
本发明还涉及 一 种用于在用户的查询操作与搜索结果之间建立 关联的设备700,如图7a所示。该设备包括获取单元710,用于 获取查询轨迹;以及关联建立单元720,用于基于所述查询轨迹而在 用户输入的查询词与搜索结果之间建立关联。
获取单元710可以通过分析搜索引擎日志而获取所述查询轨迹,
21并可以包括用于得到搜索引擎日志中记录的查询词的装置;用于 计算所述查询词与搜索引擎日志中记录的前一个查询词之间的相似 度的装置;用于当所计算出的相似度大于预定阁值时,将所述查询 词存储在前一个查询词所在的查询轨迹中的装置。另外,该获取单 元也可以包括用于根据搜索引擎日志获取与所记录的每个查询词 相对应的附加信息的装置;用于当查询词不具有对应的附加信息时 将所述查询词存储在前一个查询词所在的查询轨迹中的装置,或者 用于当查询词不具有对应的附加信息时比较该查询词与前一个查询 词之间的相似度、并当该相似度大于预定阈值时将该查询词存储在 前一个查询词所在的查询轨迹中的装置。
获取单元710可以根据用户的查询操作而获取所述查询轨迹,
并可以包括用于接收用户输入的查询词的装置;用于计算所述查 询词与所述用户输入的前 一 个查询词之间的相似度的装置;用于当
所计算出的相似度大于预定阈值时,将所述查询词存储在所述用户 输入的前一个查询词所在的查询轨迹中的装置。另外,该获耳又单元 也可以包括用于接收用户输入的查询词的装置;用于当用户点击 根据所述查询词得到的搜索结果时,将所述查询词存储在所述用户 输入的前一个查询词所在的查询轨迹中的装置。另外,该获取单元 也可以包括用于接收用户输入的查询词的装置;用于从根据所述 查询词得到的搜索结果得到针对所述查询词的描述信息的装置;用
于计算所述描述信息与根据所述用户前一次输入的查询词得到的描 述信息之间的相似度的装置;用于当所计算出的相似度大于预定阈 值时,将所述查询词存储在所述用户输入的前一个查询词所在的查 询轨迹中的装置。
在一个实施例中,如图7b所示,关联建立单元720可以包括 关耳关建立单元720除了可以包括查询映射库建立装置721、查询映射 条目匹配装置722、推荐查询词获取装置723和输出装置724。
查询映射库建立装置721用于基于所述查询轨迹建立查询映射 库,该装置可以包含用于通过分析查询轨迹来4是取中间查询词和目标查询词的装置、以及用于将中间查询词和目标查询词存4诸在查询
映射库的查询映射条目中的装置,并且该装置进一步用于将查询轨 迹的最后一个查询词作为目标查询词、以及将查询專九迹的所有其他
查询词作为中间查询词;
查询映射条目匹配装置722用于在所述查询映射库中查找与用 户输入的查询词相匹配的查询映射条目,该装置可以包含用于计算 用户输入的查询词与所述查询映射条目中的中间查询词之间的相似
映射条目与所述查询词是否匹配的装置,该装置还可以包含用于计 算用户输入的查询词与所述查询映射条目中的中间查询词之间的相 似度的装置、用于利用所述权重对所计算出的多个相似度进行加权 来得到加权相似度的装置、以及用于根据预定策略基于所述加权相 似度来确定所述查询映射条目与所述查询词是否匹配的装置;
推荐查询词获取装置723用于从匹配的查询映射条目中得到推 荐查询词;
输出装置724用于将所述推荐查询词提供给用户,以建立用户 输入的查询词与所述推荐查询词的搜索结果之间的关联。
该关联建立单元720还可以包括权重计算装置,用于基于所述 查询映射条目与用户输入的查询词匹配的次数来计算所述权重、或 者基于用户选用所述推荐查询词的次数来计算所述权重。
预定策略可以包括以下策略中的一个或多个当相似度大于预 定阈值时确定查询映射条目与查询词相匹配;对多个相似度进^f亍排 序,确定对应于最大相似度的查询映射条目与查询词相匹配。
在另一个实施例中,如图7c所示,关联建立单元720可以包括 查询轨迹匹配装置721,、搜索结果获取装置722,和标签添加装置 723,。
查询轨迹匹配装置721,用于得到与用户输入的查询词相匹配的 查询轨迹,该装置可以包含用于计算用户输入的查询词与查询4九迹 中的一个查询词之间的相似度的装置、以及用于当所计算出的相似度大于预定阈值时确定所述查询轨迹与用户输入的查询词相匹配的
装置;
搜索结果获取装置722,用于获取根据匹配的查询轨迹中的最后 一个查询词而得到的搜索结果;
标签添加装置723,用于利用匹配的查询轨迹中的查询词来向所 述搜索结果添加标签,该装置可以将所述匹配的查询轨迹中的一个 或多个查询词整体作为标签、或者提取所述匹配的查询轨迹中的一 个或多个查询词的关键字并将所述关键字作为标签。
图8示意性示出了可以实现根据本发明的实施例的计算设备的 结构方框图。
图8中所示的计算机系统包括CPU(中央处理单元)801、 RAM(随 机存取存储器)802、 ROM(只读存储器)803、系统总线804,硬盘控 制器805、键盘控制器806、串行接口控制器807、并行接口控制器 808、显示器控制器809、硬盘810、键盘811、串行外部设备812、 并行外部设备813和显示器814。在这些部件中,与系统总线804 相连的有CPU801、 RAM 802、 ROM 803、硬盘控制器805、键盘控 制器806,串行接口控制器807,并行接口控制器808和显示器控制 器809。硬盘810与硬盘控制器805相连,键盘811与键盘控制器 806相连,串行外部设备812与串行接口控制器807相连,并行外部 设备813与并行接口控制器808相连,以及显示器814与显示器控 制器809相连。
图8中每个部件的功能在本技术领域内都是众所周知的,并且图 8所示的结构也是常规的。不同的应用中,可以向图8中所示的结构 添加某些部件,或者图8中的某些部件可以被省略。图8中所示的 整个系统由通常作为软件存储在硬盘810中、或者存储在EPROM或 者其他非易失性存储器中的计算机可读指令控制。软件也可从网络 (图中未示出)下载。或者存储在硬盘810中,或者从网络下载的 软件可被加载到RAM 802中,并由CPU 801执行,以便完成由软件 确定的功能。尽管图8中描述的计算机系统能够支持根据本发明的用于在用 户的查询操作与搜索结果之间建立关联的设备,但是其只是计算机 系统的一个例子。本领域的熟练技术人员可以理解,许多其他计算 机系统设计也能实现本发明的实施例。
本发明还涉及一种计算机程序产品,该计算机程序产品包括用于 执行如下的代码获取查询轨迹;基于所述查询轨迹,在用户输入 的查询词与搜索结果之间建立关联。在使用之前,可以把代码存储 在其他计算机系统的存储器中,例如,存储在硬盘或诸如光盘或软 盘的可移动的存储器中,或者经由因特网或其他计算机网络进行下 载。
所公开的本发明的方法可以在软件、硬件、或软件和硬件的结 合中实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储 在存储器中,由适当的指令执行系统,例如微处理器、个人计算机 (PC)或大型机来执行。
应当注意,为了使本发明更容易理解,上面的描述省略了对于本 领域的技术人员来说是公知的、并且对于本发明的实现可能是必需 的更具体的一些技术细节。
提供本发明的说明书的目的是为了说明和描述,而不是用来穷举 或将本发明限制为所公开的形式。对本领域的普通技术人员而言, 许多修改和变更都是显而易见的。
因此,选择并描述实施方式是为了更好地解释本发明的原理及其 实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的 前提下,所有修改和变更均落入由权利要求所限定的本发明的保护 范围之内。
权利要求
1.一种在用户的查询操作与搜索结果之间建立关联的方法,包括获取查询轨迹;基于所述查询轨迹,在用户输入的查询词与搜索结果之间建立关联。
2. 根据权利要求1的方法,其中所述查询轨迹是通过分析搜索 引擎日志而获取的,所述获取步骤包括得到搜索引擎日志中记录的查询词;计算所述查询词与搜索引擎日志中记录的前一个查询词之间的 相似度;当所计算出的相似度大于预定阈值时,将所述查询词存储在前 一个查询词所在的查询轨迹中。
3. 根据权利要求1的方法,其中所述查询轨迹是通过分析搜索 引擎日志而获取的,所述获取步骤包括得到搜索引擎日志中记录的查询词,当查询词不具有对应的附 加信息时将所述查询词存4诸在前一个查询词所在的查询4九迹中。
4. 根据权利要求1的方法,其中所述查询轨迹是根据用户的查 询操作而获取的,所述获取步骤包括接收用户输入的查询词;计算所述查询词与所述用户输入的前一个查询词之间的相似度;当所计算出的相似度大于预定阈值时,将所述查询词存储在所 述用户输入的前一个查询词所在的查询轨迹中。
5. 根据权利要求1的方法,其中所述查询轨迹是根据用户的查 询操作而获取的,所述获取步骤包括接收用户输入的查询词;当用户未点击根据所述查询词得到的搜索结果时,将所述查询词存储在所述用户输入的前一个查询词所在的查询轨迹中。
6. 根据权利要求1的方法,其中所述查询轨迹是根据用户的查 询操作而获取的,所述获取步骤包括接收用户输入的查询词;从根据所述查询词得到的搜索结果得$ U针对所述查询词的描述 信息;计算所述描述信息与根据所述用户前 一 次输入的查询词得至'J的 描述信息之间的相似度;当所计算出的相似度大于预定阈值时,将所述查询词存储在所 述用户输入的前一个查询词所在的查询4九迹中。
7. 根据权利要求1的方法,其中基于所述查询轨迹在用户输入 的查询词与搜索结果之间建立关联的步骤包括基于所述查询4九迹,建立查询映射库;在所述查询映射库中查找与用户输入的查询词相匹配的查询映 射条目;从匹配的查询映射条目中得到推荐查询词; 将所述推荐查询词提供给用户,以建立用户输入的查询词与所 述推荐查询词的搜索结果之间的关联。
8. 根据权利要求7的方法,其中基于查询轨迹建立查询映射库 的步骤包括通过分析查询轨迹,提取中间查询词和目标查询词;将中间查询词和目标查询词存储在查询映射库的查询映射条目中。
9. 根据权利要求8的方法,其中通过分析查询轨迹提取中间查 询词和目标查询词的步骤包括将查询轨迹的最后一个查询词作为目标查询词;以及 将查询轨迹的所有其他查询词作为中间查询词。
10. 根据权利要求7的方法,其中查询映射条目包括中间查询词 和目标查询词,并且在所述查询映射库中查找与用户输入的查询词相匹配的查询映射条目步骤包括计算用户输入的查询词与所述查询映射条目中的中间查询词之 间的相似度;以及根据预定策略,基于所述相似度来确定所述查询映射条目与所 述查询词是否匹配。
11. 根据权利要求7的方法,其中查询映射条目包括中间查询 词、目标查询词和4又重,并且在所述查询映射库中查找与用户输入 的查询词相匹配的查询映射条目的步骤包括计算用户输入的查询词与所述查询映射条目中的中间查询词之间的相似度;利用所述权重对所计算出的多个相似度进行加权,得到加权相 似度;根据预定策略,基于所述加权相似度来确定所述查询映射条目 与所述查询词是否匹配。
12. 根据权利要求10或11的方法,其中所述预定策略包括以下 策略中的一个或多个当相似度大于预定阈值时确定查询映射条目与查询词相匹配; 对多个相似度进行排序,确定对应于最大相似度的查询映射条 目与查询词相匹配。
13. 根据权利要求11的方法,其中基于所述查询映射条目与用 户输入的查询词匹配的次数、或者基于用户选用所述推荐查询词的 次数,来计算所述权重。
14. 根据权利要求1的方法,其中基于所述查询轨迹在用户输入 的查询词与搜索结果之间建立关联的步骤包括得到与用户输入的查询词相匹配的查询4九迹;获取根据匹配的查询轨迹中的最后 一 个查询词而得到的搜索结果;利用匹配的查询轨迹中的查询词,来向所述搜索结果添加标签。
15. 根据权利要求14的方法,其中得到与用户输入的查询词相匹配的查询轨迹的步骤包括计算用户输入的查询词与查询轨迹中的一个查询词之间的相似度;当所计算出的相似度大于预定阈值时确定所述查询轨迹与用户 车lr入的查询词相匹配。
16. 根据权利要求14的方法,其中利用匹配的查询轨迹中的查询词来向所述搜索结果添加标签的步骤包括将所述匹配的查询轨迹中的 一个或多个查询词整体作为标签;或 者提取所述匹配的查询轨迹中的 一 个或多个查询词的关4建字,并 将所述关键字作为标签。
17. —种用于在用户的查询操作与搜索结果之间建立关联的设 备,包括用于执行权利要求1 _ 16所述方法的装置。
全文摘要
公开了一种在用户的查询操作与搜索结果之间建立关联的方法和设备,该方法包括步骤获取查询轨迹;基于所述查询轨迹,在用户输入的查询词与搜索结果之间建立关联。本方法和设备能够在用户输入的查询词与用户需要的搜索结果之间建立关联,从而使得用户能够方便、快速、高效地搜索到需要的结果。
文档编号G06F17/30GK101685448SQ200810166020
公开日2010年3月31日 申请日期2008年9月28日 优先权日2008年9月28日
发明者付荣耀, 刘世霞, 赵石顽, 邓佰臣 申请人:国际商业机器公司