专利名称:带有隐含用户意图挖掘的动态搜索的制作方法
带有隐含用户意图挖掘的动态搜索
背景技术:
Web和桌面搜索己经证明是受欢迎的但又是困难的应用。为提高搜索准 确性,已经为改进按照相关性排列页面投入了努力。尽管有了这些努力,然而 在搜索返回的结果与用户所需的结果之间仍存在很大的差距。
用户经常不得不尝试与搜索目标有关的多个搜索关键词和/或多次搜索重 复以取得适当相关的结果。这对于在用户没有搜索目标的精确描述时尤其如 此,诸如在用户想要搜索象是音乐和图像等多媒体内容时,要使用书面搜索项 来充分描述这些内容,即便不是不可能也是困难的。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一 些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨 在用于帮助确定要求保护的主题的范围。
根据上面所述,在用户发起的搜索返回结果之后,意图挖掘引擎收集来自 用户对这些结果的自然反应的信息。这些信息用于改进搜索。
图1例示用于带有隐含用户意图挖掘的动态搜索的示例性系统。该示例性 系统包括用户意图挖掘引擎。
图2是按照一个实现的示例性用户意图挖掘引擎驻留在其上的计算设备 的框图。
图3例示按照一个实现的初级窗口和示例性更新窗口。 图4例示初级窗口和示例性更新窗口的另一个示例性实现。 图5是动态改进搜索的示例性方法的流程图。
图6是基于用户与返回的搜索结果交互来动态地改进搜索的示例性方法 的流程图。
图7例示其中可动态地改进搜索的合适计算环境的示例。
具体实施方式
概览
下面的公开描述用于执行带有隐含用户意图挖掘的动态搜索的系统与方 法。在一个实施例中,用户发起的搜索是使用有关用户偏好的信息来改进的。 该信息是在发起搜索之前收集的。在另一实施例中,用户发起的搜索是使用从 用户对搜索结果的反应挖掘得到的信息来改进的。在又一实施例中,用户发起 的搜索是使用在发起搜索之前从用户收集的信息以及从用户对搜索结果的反 应挖掘得到的信息连同在搜索时可获得的有关用户的其它信息来改进的。
现在更详细地描述用于执行带有隐含用户意图挖掘的动态搜索的系统与 方法的这些和其它方面。
示例性系统
尽管不是必要的,但用于执行带有隐含用户意图挖掘的动态搜索的系统与 方法是在由诸如个人计算机的计算机设备执行的计算机可执行指令(程序模 块)的一般上下文中描述的。程序模块通常包括例程、程序、对象、组件、数 据结构等,它们执行特定任务或实现特定抽象数据类型。尽管在上述上下文 中描述这些系统与方法,但会理解,下文描述的动作和操作可用任何合适的硬 件、软件、固件或其组合来实现。还会理解,在本文所使用的术语"自然反应" 可包括用户所作的有意识的选择、用户的有意识或无意识行为以及可获得的有 关用户的兴趣、偏好和/或行为的信息。
图1例示按照一个实施例用于执行带有隐含用户意图挖掘的动态搜索的
系统IOO。在一个实现中,系统100包括计算机102诸如个人计算机(PC), 它具有常规的用户接口组件诸如图形显示器或监示器104、键盘106以及鼠标 或其它定点设备108。计算机102还包括用户意图挖掘(UIM)引擎110。如 在下面将更详细地讨论的,UIM引擎110可用于基于用户的自然反应动态地改 进用户发起的搜索。
在图1的示例中,计算机102是台式计算机。然而可替换地,计算机102
可包括各种其它类型的计算机和类似计算机的设备,诸如笔记本或便携式计算
机、写字板PC、蜂窝电话、个人数字助理(PDA)、工作站、大型计算机、
服务器、因特网装置、机顶盒及其组合等等。
一般而言,计算机102具有各种功能性,让用户能完成许多任务。例如, 计算机102可用于运行标准计算机程序(字词处理、电子表格等)和游戏的主 机、发送与接收电子邮件和即时消息、浏览因特网等等。用户一般通过一或多 种类型的用户输入接口与计算机102交互,诸如通过用鼠标108移动屏幕上的 光标以及通过在键盘106上打字来交互。用户还可通过使用生物测量输入设备 诸如用于输入语音命令的话筒或者本领域已知的任何其它生物测量输入设备 (为了附图清晰而未示出)来将命令或数据输入到计算机102。
在该实现中,计算机102通过本领域已知的任何可能的连接类型(包括电 话线和ISDN线)耦合至诸如因特网的网络112。 一或多个其它计算机114和 服务器116也可连接至网络112。以此方式,(诸)计算机114和服务器116 可相互或者与计算机102共享数据和指令。在另一实现中,计算机102直接连 接至(诸)计算机114和/或服务器116而不必通过网络112。
如图l所示,UIM引擎110可驻留在计算机102上。然而应当理解,UIM 引擎110也可驻留在(诸)计算机114和/或服务器116上。而且,UIM引擎 110的不同部分在不同的时间可驻留在计算机102、(诸)计算机114和服务 器116上。例如,在一个实现中,在计算机102处的用户可通过键盘106将搜 索项输入到计算机102中来执行本地桌面搜索以试图找出计算机102上的所需 文件。在此示例中,UIM引擎110驻留在计算机102上。在另一个可能的实现 中,在计算机102处的用户可通过键盘106将用于Web搜索的搜索项输入到 计算机102中。可将该搜索项直接或者通过网络112发送到服务器116,并且 该搜索可由驻留在诸如服务器116的不同计算机上的UIM引擎110的实例来 改进。可替换地,在又一可能的实现中,用于桌面或Web搜索的搜索项可输 入到计算机102中并且来自计算机102、(诸)计算机114和服务器116的UIM 引擎110的各部分可用于改进该搜索。还会理解,在计算机102上的桌面搜索 可通过(诸)计算机114或服务器116上的UIM引擎110的实例来改进。类 似地,Web搜索可由计算机102上的UIM引擎110的实例来改进。
计算设备
图2例示包含程序模块202和程序数据204的示例性计算设备200。程序 模块202包括搜索应用206,它可包含用户意图挖掘(UIM)引擎110。程序 模块202也可包含其它程序模块208,诸如象是操作系统,以及象是字词处理、 即时消息收发、web浏览、电子邮件等的一或多个应用。程序数据204可包含 各种程序数据,诸如原始搜索数据、改进的搜索数据、用户简档、电子邮件记 录、即时消息收发(IM)记录、网站访问记录等等。
UIM引擎110的示例性操作
图3例示由用户发起的Web搜索的示例性结果300。如在初级窗口 302 中所示,用户已经通过将搜索项输入面板304并选择搜索按钮306发起了搜索。 该搜索项已经由搜索引擎诸如搜索应用206处理,并且已经返回了包含结果 308(1)-(4)的搜索结果。在此例中,搜索项"Winston Groovy"是由用户输入到 面板304中以试图查找有关同名的著名音乐人最近公开出现的信息。该搜索项 包括下面两个词"Winston"和"Groovy"。因而,可以预期结果308(1)-(4)包 括含有这些搜索项词之一或两者的项。如图3所示,用户发起的搜索的结果 308(1)-(4)是不同的,其中结果308(1)引用牙科学校,结果308(2)引用纪念基金, 结果308(3)引用智库而引用308(4)引用摇滚乐站点。这些不同结果是典型的, 并且反映了这一概念,即搜索引擎诸如搜索应用206可遇到许多引用,它们包 含全部或部分搜索项的提述。给出可由搜索引擎找到的这些众多的引用,用户 在正常搜索的首次重复中实际找到其所搜索的信息的机会可能性很小。
挖掘当前搜索之外的自然反应
在一个实现中,UIM引擎110可通过利用自然反应来改进当前示例中的 搜索,这些自然反应包括有关在该搜索之外可获得的用户兴趣、偏好和行为的 信息。例如,UIM引擎110可监视用户运行的包括即时信使应用、电子邮件应 用、Web浏览应用以及字词处理应用的应用中由该用户通常使用的项。在一个 方面,UIM引擎110可监视用户发送和接收的即时消息或电子邮件中复现的项 或主题。该信息可用于汇编该用户的用户简档,或者用于创建该用户的一般偏 好和/或行为模型。
而且,UIM引擎110可通过监视用户使用的诸如Web浏览器应用的应用
来跟踪用户访问的网站,包括用户在发起搜索之前刚访问的网站。关于被访问 网站的信息(包括在网站上包含的诸如元数据的数据)的重要性可由各种因素 来测量,诸如用户访问该网站的次数,用户在该网站上停留的时间,用户在该 网站上作出的点击数量(例如,跟随指向该站点内包含的信息的各种链接), 用户跟随从该网站到其它网站的链接的数量,以及用户从该网站下载的文件数
量。用户与网站发生的交互越多,则UIM引擎110可认为包含在该网站中的 数据(包括其元数据)与用户的偏好和/或行为的相关性越大。
UIM引擎110还可汇编来自用户先前发起的搜索的记录。如此,用户输 入的原始搜索项和改进的搜索项可与用户在前一搜索的发展过程中访问的网 站相关。而且,原始搜索项和改进搜索项还可与用户在前一搜索结束时访问的 一或多个网站相关。
有了上述web行为,UIM引擎110还可通过编目与用户同这些先前访问 的网站交互有关的若干因素,来确定这些网站与引用它们的搜索项的相关性 (以及一般而言与用户的兴趣、偏好和行为的相关性)。例如,UIM引擎llO 可编目用户访问给定网站的次数,用户在给定网站停留的时间,用户在给定网 站上作出点击的数量(例如,跟随该站点上的各种链接),用户跟随来自给定 网站的链接的数量,以及用户从给定网站下载的文件数量。 一般而言,用户与 给定网站的交互越多,UIM引擎110就判断包含在该网站上所包含的信息(包 括元数据)与用户的兴趣、偏好和行为越相关,以及与用户输入的、引至这些 网站的搜索项越相关。
另外,UIM引擎110可监视与用户正执行搜索的同时用户使用的应用。 例如,如果用户正在打游戏,诸如Microsoft⑧公司出售的Hak),并且如果用户 发起其中带有项"halo"的搜索,则UIM引擎110可偏向于为用户呈现关联于 视频游戏Halo的引用。同样,可以挖掘用户在搜索时使用的其它应用(诸如 字词处理应用、电子邮件应用以及即时消息收发应用)——或者在搜索的时候 具有可用于UIM引擎110的数据——,可在这些应用中挖掘用于指示用户当 前兴趣的项和数据。以此方式,搜索可使用来自在用户对返回结果的这些自然 反应来改进,使之与由用户的自然反应所指示的用户兴趣、偏好和行为更相符
返回到上面的搜索示例,在用户输入搜索项"WinstonGroovy"并且选择 搜索按钮306之后,搜索应用206使用UIM引擎110改进搜索。UIM引擎110 可检查如上所述的有关用户偏好而汇编的用户文件,以査看用户是否已经与具 有包含输入的搜索项的组成部分的信息(包含元数据)的网站交互过。而且, UIM引擎110可检査用户文件以查看来自应用诸如电子邮件应用、IM应用或 字词处理应用的其它信息是否包含搜索项的组成部分。UIM引擎110还可检查 其中可能包含搜索项组成部分的数据源,诸如己归档和保存的与用户相关联的 文件。如果发现任何这些源包含搜索项的组成部分,则可在源中包含该部分搜 索项的部分中进一步检查可用于改进搜索的上下文。
例如,如果UIM引擎110发现用户已经频繁地浏览包含有关Winston Groovy与摇滚乐的信息的网站,则UIM引擎110可改进搜索以将返回的结果 308的范围縮小到包含对Winston Groovy和音乐引用的站点。同样,如果UIM 引擎110找到用户收发的已保存或活动的电子邮件或即时消息中有结合音乐 会、录音或演出讨论的Winston Groovy,则UIM引擎110可同样使用该信息 来改进搜索以仅包括具有对有关演出、名人或音乐上下文的Winston Groovy 的引用的站点。
更新窗口 310例示在UIM引擎110改进的搜索中返回的可能结果 312(l)-(4)。将会理解,在一个可能的实施例中, 一旦用户输入搜索项"Winston Groovy"并且选择搜索按钮306,则搜索应用206可使用UIM引擎110来改进 搜索并且返回结果312(l)-(4),而不是进行诸如会返回结果308(1)-(4)的未经改 进的搜索。在这样一个实施例中,仅向用户呈现更新窗口 310。
作为替换地,可进行未经改进的和经改进的搜索两者,并且可向用户呈现 初级窗口 302和更新窗口 310。将会理解,如果向用户呈现初级窗口 302和更 新窗口310,则可以并排、 一个在另一个之上、相互重叠、 一个在另一个之内 或者在本领域己知的其它配置中呈现它们。
如图3所示,更新窗口 310中的结果312(1)-(4)更集中于演艺人员和名人 Winston Groovy。例如,结果312(1)和312(2)分别引用吉他手Winston Groovy 的挪威和德国歌迷站点。同样,结果312(3)引用一新闻站点上有关著名吉他手 Winston Groovy的文章,而结果312(4)引用销售明星Winston GroovyCD的在
线音乐商店。实际上,UIM引擎110已经采用用户发起的搜索并且改进它以返 回縮小范围的结果,它们反映出如从上述各种应用、文件和数据源中挖掘出来 的用户对演艺人员Winston Groovy的兴趣和偏好。
更新窗口310中改进的结果312可基于时间经过或者基于用户在经过的时 间中的动作周期性地更新。可替换地,只有UIM引擎110找到有关用户的兴 趣、偏好或行为的相关信息,就实时更新结果312。
例如, 一旦在更新窗口310中向用户呈现改进的结果312,如果用户收到 包含有关Winston Groovy的新信息的电子邮件消息,则UIM引擎110可自动 采用该信息并且改进搜索使得搜索结果312反映该新信息。在一个示例性实现 中,如果从朋友收到询问其是否听说Winston Groovy最近在冰岛公开出现的电 子邮件,则UIM引擎110可改进搜索以返回反映Winston Groovy名人和演艺 人员以及最近在冰岛的出现。可替换地,UIM引擎110可在改进搜索以反映该 新信息之前等待一段预编程的时间,或者等待预编程数量的用户动作。在又一 示例性实现中,可向用户提供按钮或其它设备,在用户希望UIM引擎110改 进搜索的时候用户可选择该按钮或其它设备。
即使结果312在图3中例示为与网站的链接,但将会理解在本文中使用的 术语结果指包含査询和普通元数据项的其它对象,它们可在初级窗口 302和更 新窗口 310中同时显示。
挖掘来自搜索的自然反应
除了能够如上所述通过挖掘搜索之外用户的自然反应以改进搜索之外, UIM引擎110还可通过挖掘来自用户对搜索本身的自然反应来改进搜索。例 如,返回至上面结合图3讨论的示例性搜索, 一旦用户已经输入了搜索项 "WinstonGroovy"并且收到结果308、 312,则用户具有可选项来输入更多的 搜索项或是更接近地检查返回结果308、 312。如果选择后者,并且用户探索一 或多个结果308、 312,则UIM引擎110可检査用户有关结果308、 312的自然 反应并且从其挖掘出有关用户关于该搜索的偏好的有价值信息。例如,假设用 户对吉他手和演艺人员Winston Groovy感兴趣,则可强迫用户在结果308(4) 上点击。
UIM引擎110可跟踪用户在结果308(4)上的点击并且从用户的自然反应挖
掘出用于进一步改进搜索的信息。例如, 一旦用户选择结果308(4), UIM引擎 110就可检查和编目用户在结果308(4)指示的网站上作出点击的数量,以及在 使用来自结果308(4)指示的网站的链接到达的网站上作出的点击数量。而且, UIM引擎110还可检查和编目用户在观看结果308(4)指示的网站时花费的时间 长度,或者用户在跟随来自从结果308(4)指示的网站的链接所到达的网站上花 费的时间长度。同样,UIM引擎110可检查用户的行为以查看是否从结果308(4) 指示的网站下载了任何内容,或者是否从通过跟随来自结果308(4)指示的网站 的链接所到达的网站下载了任何内容。
通过该行为数据,UIM引擎110可向包含在这些网站上以及包含在下载 中的各种信息(包含元数据)分配用户偏好权重。 一般而言,用户与一个站点 交互越多(即,用户在该站点花的时间越多,用户在该站点作出的点击越多, 用户从该站点下载的信息越多,等等),则隐含着该站点上的信息与该用户的 相关性越大,于是在改进的搜索中可更多地反映这一信息。
而且,UIM引擎110也可向用户呈现一个附加窗口,其中包括用户在搜 索期间访问过的所有站点的元数据中找到的共同项。可替换地,这些项可包括 在更新窗口310中。这些共同项可由用户选择或使用以改进搜索。而且,UIM 引擎110可在包含共同的元数据项的同一窗口中、在更新窗口 310中或在一个 单独窗口中呈现在搜索期间用户访问过的网站上找到的图片或其它图形。
UIM引擎110也可考虑用户未选择的结果308。由于这些结果308未被选 择,因此UIM引擎110可推断由这些结果308引用的网站以及包含在这些网 站上的信息(包括元数据)对于用户不太重要。因此,在将来对搜索的改进中, UIM引擎110可不考虑来自这些未被选择站点的信息的价值,并且避免返回引 用包含与包含在未被选择结果308中相似的元数据和信息的结果。
另外,UIM引擎110可考虑搜索项本身的长度。在上述示例中,UIM引 擎110看到简短两个词的搜索项"Winston Groovy"并且推断用户对于搜索项 的准确性不太有信心,因而需要返回较大范围的搜索结果。相反,如果用户输 入包括多个词的搜索项,诸如"Winston Groovy在筹款晚宴上被捕",则UIM 引擎110可合理地推断用户对于该搜索项有较大的信心并且用户正在寻求更集 中的结果。在此基础上,UIM引擎110可通过将搜索项中的所有词与包含在由 UIM引擎110汇编的简档内的信息相关或者与对于UIM引擎110可获得的用 户兴趣、偏好和行为的数据相关,来返回其中包含这些词的更集中的结果308。
而且,通过如上所述对在当前搜索之外的用户自然反应的挖掘,在更新窗 口 310中呈现的改进结果312可实时更新,或者基于预置的时间经过或预置经 过的用户动作来周期性地更新。例如,如果需要实时,则更新窗口310中的结 果312可在每次用户点击结果308时或者在采取与包含在结果308内的信息相 关的动作时得到进一步改进。可替换地,UIM引擎110可保存用户的自然反应 并且每30秒或者在其它预置的时间段使用它们以改进搜索。
在又一示例性实现中,UIM引擎110可在改进搜索之前等待预定数量的 自然反应。在另一示例性实现中,可向用户提供用户在其希望UIM引擎110 改进搜索时能选择的按钮或其它设备。
挖掘所有自然反应
UIM引擎110还可组合上述方法并且从用户在搜索之前与搜索期间所作 的自然反应挖掘信息。使用上面的示例, 一旦用户输入"Winston Groovy", 则UIM引擎110可査阅有关用户的现有信息,诸如如上所述的用户简档、用 户的一般偏好和/或行为的模型或者其它现有的有关用户偏好和行为的数据源。 通过该信息,UIM引擎110可縮小搜索的范围并且返回改进的结果312(1)-(4), 如更新窗口 310所示。
UIM引擎110随后可检査用户与初级窗口 302中返回的搜索结果308或 者与更新窗口 310中返回的改进结果312进行的交互,并且如上所述地挖掘用 户的自然反应,以确定用户的兴趣和偏好。该信息连同现有的有关用户的兴趣、 偏好和行为的信息随后可用于产生进一步改进的结果。
切换初级窗口和更新窗口
在所有上述搜索改进实现中,也有可能在初级搜索窗口与更新搜索窗口之 间切换。图4例示这种切换的一种可能的实现,它示出用户发起的Web搜索 的示例性改进结果400。在图4中,图3的更新窗口 310在包含进一步改进的 搜索结果402的初级窗口 302旁边示出。这些进一步改进的结果402可由UIM 引擎310响应于来自用户在其选择并与结果312交互时的自然反应而创建。
在呈现这些进一步改进的结果402时,其中出现进一步改进的结果402
的窗口可称为更新窗口,而其中发现用户正在交互的结果312的窗口可以称为 初级窗口。
还要理解,如果用户开始与窗口 302中进一步改进的结果402交互,则可 在窗口 310中呈现基于这些交互的改进结果。如此,初级窗口和更新窗口可来 回触发。
还会理解,可使用多于两个窗口来显示搜索结果以及更多改进的搜索结 果。可替换地,结果与改进的结果可在同一窗口中显示。而且将会理解,即使 上面讨论了Web搜索,但UIM引擎110也可结合其它搜索(包括桌面搜索) 来使用,并且可在计算机102上、在(诸)计算机114上或在服务器116上完 成挖掘。另外,UIM引擎IIO可从计算机102、(诸)计算机114或服务器116 执行挖掘,并且UIM引擎110的各部分可以位于计算机102、(诸)计算机 114和服务器116的任意组合上。在一个示例性实施例中,服务器116或(诸) 计算机114协助通过贡献其它人进行的流行搜索结果来改进搜索。在上面的示 例中,如果服务器116的许多用户曾经搜索过有关Winston Groovy最近公开出 现的新闻,则当用户在计算机102上输入"Winston Groovy"时,服务器116 可用于返回服务器116的用户在输入相同或相似搜索项之后选定的结果。
而且,服务器116可接受来自计算机102的搜索项"WinstonGroovy"并 且返回包括一些经常使用的査询的类别,这些查询是服务器116和(诸)计算 机114的其它用户针对"Winston Groovy"己经输入的査询。
另外,还会理解,UIM引擎110可监视由用户添加到原始搜索项的搜索 项,或者监视由用户输入的用于代替原始搜索项搜索项。例如,对现有搜索项 的简单改进可隐含着推断出用户对收到的搜索结果基本满意,但希望细调搜索 以縮小其范围。因而,UIM引擎110可适当地作出反应,并且在较窄地给出新 搜索项的情况下縮小来自现有搜索的结果。
可替换地,如果用户用新搜索项代替一个搜索项,或者用一个与在前使用 的那些完全不同的搜索项来代替,则UIM引擎110可推断用户不满意先前的 搜索并且期望扩大搜索范围或者接收新的结果类型。因此,UIM引擎110可努 力向用户提供对应于新搜索结果的更多种类和/或更宽种类的结果。
将会理解, 一通常可以对UIM引擎110挖掘的所有数据施加本领域已知 的各种学习算法,以便确定用户在发起搜索时的意图。以该方式使用学习算法
可帮助UIM引擎110更快地向用户提供对应于用户搜索的信息或数据的结果。
动态改进搜索的示例性过程
图5示出示例性过程500,用于基于用户的自然反应改进由该用户发起的 搜索。为易于理解,方法500在图5中示出为由独立框表示的独立步骤;然而, 这些独立示出的步骤不应解释为必须依赖于其执行的顺序。另外,为了讨论的 目的,参考图1-4中的元素描述方法500。该流程图可用任何合适的硬件、软 件、固件或其组合来实现。在软件和固件的情形中,该图表示实现为计算机可 执行指令的操作集合。组件标号的最左位标识该组件在其中首次出现的具体附 图。
在框502,用户可输入搜索项以发起搜索。例如,与用户感兴趣的话题相 关的一或多个词可输入到搜索引擎诸如搜索应用206中。在一个实现中,可基 于搜索项进行初始搜索(框504)并且将初始搜索的结果向用户呈现(框506)。 随后在用户与搜索结果交互时所作的自然反应中挖掘指示用户对结果感兴趣 或不感兴趣的信息。在一个可能的实现中,该挖掘是由UIM引擎110来完成。 例如,可跟踪用户在每一改进结果上的点击以及用户在各个网站上所花的时 间。同样,可跟踪从站点下载的资料量。
一般而言,用户显现出的与站点的交互越多,则可认为在该站点上与用户 的兴趣、偏好和行为明显有关的信息(包括元数据)就越多。另外,可检査搜 索项本身的长度,短搜索项隐含着用户正在查找较宽范围的结果,而较长的搜 索项隐含着用户正在查找较窄范围的结果。
还可挖掘来自搜索之外的其它源的自然反应,包括现有数据诸如用户简 档、用户的一般偏好和/或行为的模型或者其它现有的有关用户的偏好和行为的 数据源。另外,可挖掘来自用户以前使用过的应用和/或用户在搜索时使用的应 用的自然反应。这可包括检查可归因于该用户的电子邮件、即时消息和字词处 理文件。
自然反应挖掘的结果随后可用于改进搜索(框508)。这样的改进可由 UIM引擎110或由计算机102、(诸)计算机114或服务器116上的独立程序 或应用来执行。改进搜索可包括对挖掘得到的信息施加学习算法,以便确定用
户发起搜索的意图。
一旦改进了搜索,就可以向用户呈现更接近地符合用户兴趣、偏好和/或
行为的新改进结果(框510)。用户可与这些改进结果交互(返回至框508)。
随后挖掘来自这些交互的自然反应以更进一步地改进搜索,使得可以向用户呈
现新改进的搜索结果(框510)。这一交互/改进循环(框508-510)可继续, 直至用户疲于搜索,或者最终找到了要搜索的结果。
还会理解,可跳过方法500中的若干框。例如, 一旦用户输入搜索项(框 502),就可使用来自该搜索之外的现有数据的自然反应(诸如上述的用户简 档、用户一般偏好和/或行为的模型以及其它现有的有关用户偏好和行为的数据 源)来生成改进搜索(框510),从而将用户直接置于由框508和510创建的 循环内。
基于用户交互改进搜索的示例性过程
图6示出示例性过程600,它基于用户与返回的搜索结果的交互改进搜索。 参考图1-4中的元素描述方法600。组件标号中最左边的数字标识该组件在其 中首次出现的具体附图。方法600在图6中示出为由独立框表示的独立步骤。 这些独立示出的步骤不应解释为必须依赖于其执行的顺序。过程600的操作可 用任何合适的硬件、软件、固件或其组合来实现。
在用户已经输入了初始搜索项之后,进行初始搜索(框602)。搜索可使 用搜索引擎诸如搜索应用206来进行。 一旦完成初始搜索,返回搜索结果(框 604)。
随后在用户与返回的搜索结果的交互中检查用户意图。在一个实施例中, 使用UIM引擎110进行该检査。例如,可向用户提供与每一搜索结果交互的 选项(框606)。如果用户拒绝与给定结果交互(自框606的"否"路径), 这就隐含着该结果没有很好地与用户搜索所需的最终结果相关,于是可以向被 拒绝的结果以及被拒绝结果中包含的信息(-包括元数据)分配一个较小的权 重(框608)。方法600随后可改进在框604中呈现的搜索结果并且排除与在 框606处拒绝的结果相似的结果(框610)。
可替换地,如果用户决定与搜索结果交互(自框606的"是"路径),则 方法600监视用户在该结果中指示的站点处作出的点击数量(框612)。用户
在该站点上所作的点击越多,则可推断用户对该站点以及包含在该站点中的信
息(包括元数据)的兴趣越大。方法600还可跟踪用户在所选结果上遇到的链
接上的点击。以相似的方式,用户在这些被链接站点上作出的点击越多,则可 推断用户对这些站点以及包含在这些站点中的信息的兴趣越大。
方法600还可监视用户在所选结果指示的站点上花费的时间量(框614)。 可推断在站点上的时间越多表示用户对包含在该站点中的信息(包括元数据) 的兴趣越大。同样,方法600可监视用户查看通过跟随来自所选站点的链接所 到达的站点所花的时间,以便推断用户对包含在这些站点中的信息的感兴趣程 度。
一旦方法600已经收集了这些用户兴趣信息,就将反映这些站点与用户搜 索相关性的权重分配给用户访问的不同站点以及在这些站点中所含的信息(框 616)。
随后使用加权的用户兴趣信息产生改进的搜索结果(框610),这些结果 与在框612-614处测量的用户兴趣的相关性较高。将会理解,可在框610结合 从框612-616以及从框608汇编的信息使用一或多个学习算法,以尝试揭示用 户在发起搜索时的真正意图。
一旦进行了改进搜索,随后在框604返回生成的改进搜索结果,在这些结 果中向用户提供进一步与这些结果交互的可选项以继续改进搜索。
示例性操作环境
图7例示在其中进行带有隐含用户意图挖掘的动态搜索的合适计算环境 的示例。示例性计算环境700仅是用于上面参考图l-6描述的示例性组件和操 作的合适计算环境的一个示例。图7并不旨在建议对有关本文描述的系统和方 法的用途或功能性范围作出任何限制。也不应该把计算环境700解释为对计算 环境700中示出的任一组件或其组合有任何依赖性或要求。
本文描述的方法和系统可与众多其它通用或专用计算系统、环境或配置一 起运行。适于使用的众知的计算系统、环境和/或配置的示例包括但不限于,个 人计算机、服务器计算机、多处理器系统、基于微处理器的系统、网络PC、 小型机、大型计算机、包括任何上述系统或设备的分布式计算环境,等等。也 可在有限资源的客户机中实现该架构的紧凑或子集版本,诸如手持计算机或其
它计算设备。本发明可在分布式计算环境中实践,在其中任务由通过通信网络 链接的远程处理设备执行。在分布式计算环境中,程序模块可位于本地和远程 两者的存储器存储设备中。
参考图7,基于PQ噪声模型计算强度相似性测量的示例性系统包括以计 算机710的形式实现例如图2所示计算设备200的通用计算设备。计算机710 的下述方面是计算设备200、计算机102、(诸)计算机114和服务器116的 示例性实现。计算机710的组件可包括但不限于,处理单元720、系统存储器 730和系统总线721,系统总线721将包括系统存储器在内的各种系统组件耦 合至处理单元720。系统总线721可以是任何若干类型的总线结构,包括存储 器总线或存储器控制器、外围总线和使用任意各种总线架构的局部总线。作为 示例而非限制,这些架构可包括工业标准架构(ISA)总线、微通道架构(MCA) 总线、增强型ISA (EISA)总线、视频电子标准协会(VESA)局部总线以及 外围组件互连(PCI),它也称为夹层(Mezzanine)总线。
计算机710 —般包括各种计算机可读介质。计算机可读介质可以是可由计 算机710访问的任何可用介质,并且包括易失性与非易失性介质、可移动与不 可移动介质两者。作为示例而非限制,计算机可读介质可包括计算机存储介质 和通信介质。计算机存储介质包括易失性与非易失性、可移动与不可移动介质, 它们以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息 的任何方法或技术来实现。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术,CDROM、数字多功能盘(DVD)或其它 光盘存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需 信息以及可由计算机710访问的任何其它介质。
通信介质一般包含在经调制数据信号诸如载波或其它传输机制中的计算 机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。 术语"经调制数据信号"表示具有一或多个特性的信号,这一或多个特性是以 将信息编码在该信号中的方式来设置或改变的。作为示例而非限制,通信介质 包括布线介质诸如布线网络或直接布线连接以及无线介质诸如声音、RF、红外 和其它无线介质。任意上述的组合也应包括在计算机可读介质的范围内。
系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,
诸如只读存储器(ROM) 731和随机存取存储器(RAM) 732。基本输入/输出 系统733 (BIOS) —般存储在ROM 731中,它包含诸如在启动时帮助在计算 机710内的元件之间传送信息的基本例程。RAM 732 —般包含处理单元720 立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图 7例示操作系统734、应用程序735、其它程序模块736和程序数据737。
计算机710还可包括可移动/不可移动、易失性/非易失性计算机存储介质。 仅作为示例,图7例示读写不可移动非易失性磁介质的硬盘驱动器741、读写 可移动非易失性磁盘752的磁盘驱动器751以及读写可移动非易失性光盘756 诸如CD ROM或其它光介质的光盘驱动器755。可在示例性操作环境中使用的 其它可移动/不可移动、易失性/非易失性存储介质包括但不限于磁带盒、闪存 卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器 741 —般通过不可移动存储器接口诸如接口 740连接至系统总线721,而磁盘 驱动器751和光盘驱动器755 —般通过可移动存储器接口诸如接口 750连接至 系统总线721。
上述且在图7中例示的这些驱动器及其相关联的计算机存储介质为计算 机710提供计算机可读指令、数据结构、程序模块和其它数据的存储。在图7 中,例如,硬盘驱动器741示为存储操作系统744、应用程序745、其它程序 模块746和程序数据747。注意,这些组件可以与操作系统734、应用程序735、 其它程序模块736和程序数据737相同或不同。应用程序735包括例如图1的 计算设备102或104的程序模块。程序数据737包括例如图1的计算设备102 或104的程序数据。操作系统744、应用程序745、其它程序模块746和程序 数据747在这里被标注了不同的标号是为了说明至少它们是不同的副本。
用户可通过输入设备诸如键盘762和定点设备761 (通常指鼠标、轨迹球 或触摸板)将命令和信息输入到计算机710中。其它输入设备(未示出)可包 括话筒、操纵杆、游戏垫、卫星天线、扫描仪等等。这些和其它输入设备通常 通过耦合到系统总线721的用户输入接口 760连接到处理单元720,但可通过 其它接口和总线结构诸如并行端口、游戏端口或通用串行总线(USB)来连接。
监示器791或其它类型的显示设备也通过接口诸如视频接口 790连接至系 统总线721。除了监示器,计算机还可包括其它外围输出设备诸如打印机796
和音频设备797,它们可通过输出外围接口 795来连接。
计算机710使用与一或多个远程计算机诸如远程计算机780的逻辑连接在 网络化环境中运行。在一个实现中,远程计算机780表示图1的计算设备102 或网络化计算机104。远程计算机780可以是个人计算机、服务器、路由器、 网络PC、对等设备或其它普通网络节点,并且按照其具体实现的功能,可包 括上面相对于计算机710所述的许多或全部元素,尽管在图7中仅例示了存储 器存储设备781。图7所示的逻辑连接包括局域网(LAN)771和广域网(WAN) 773,但还可包括其它网络。这样的连网环境在办公室、企业级计算机网络、 内联网和因特网中是常见的。
当在LAN连网环境中使用时,计算机710通过网络接口或适配器770连 接到LAN 771。当在WAN连网环境中使用时,计算机710—般包括调制解调 器772或用于建立通过WAN 773诸如因特网的通信的其它装置。调制解调器 772可以是内置或外置的,可以通过用户输入接口 760或其它合适的机制连接 至系统总线721。在网络化环境中,相对于计算机710所示的程序模块或其部 分可存储在远程存储器存储设备中。作为示例而非限制,图7例示远程应用程 序785驻留在存储器设备781上。所示的网络连接是示例性的并且可使用建立 计算机之间的通信链接的其它手段。
结论
尽管已经以专用于结构特征和/或方法学动作的语言描述了主题,但要理 解,所附权利要求书中定义的主题不必受限于所述的这些特定的特征或动作。 相反地,特定特征和动作作为实现权利要求的本发明的示例性形式而公开。例 如,尽管图2示出引擎110驻留在搜索应用206内,但UIM引擎110也可驻 留在搜索应用206之外。例如,UIM引擎IIO可包含在操作系统内。可替换地, UIM引擎110可作为独立应用存在。因此,这些特定的特征和动作是作为实现 要求保护的本发明的示例性形式公开的。
权利要求
1.一种计算机(200)包括处理器(720);与所述处理器(720)耦合的存储器(730),其中,所述存储器(730)包含由所述处理器(720)执行的计算机程序指令(202),所述计算机程序指令(202)包括用户意图挖掘引擎(110)以收集来自用户对由其发起的搜索所返回的搜索结果的自然反应的信息并使用所述信息改进所述搜索。
2. 如权利要求1所述的计算机,其特征在于,所述用户意图挖掘模块还 收集来自用户自然反应的信息,所述信息包含有可在所述搜索之外获得的有关 所述用户兴趣、偏好和行为的信息。
3. 如权利要求2所述的计算机,其特征在于,所述来自用户自然反应的 信息包括来自由所述用户访问的网站的元数据或其它信息。
4. 如权利要求1所述的计算机,其特征在于,所述来自用户自然反应的 信息包括以下各项之一用户在所述搜索返回的特定结果上作出的用户点击 数、所述用户选择所述搜索返回的哪些结果、以及用户在审阅特定返回结果时 花费的时间长度。
5. 如权利要求1所述的计算机,其特征在于,所述用户意图挖掘模块还 收集包含有由所述用户输入的搜索项的长度的用户自然反应的信息。
6. 如权利要求1所述的计算机,其特征在于,所述用户意图挖掘模块还 收集包含有所述用户输入的初始和后续搜索项的用户自然反应的信息。
7. 如权利要求1所述的计算机,其特征在于,所述用户意图挖掘模块还 收集来自自然反应的信息,所述信息包括以下各项之一来自由所述用户访问 的文件的信息、来自由所述用户在所述计算机上收发的电子邮件和即时消息的 信息,以及由所述用户输入所述计算机的信息。
8. 包括可由处理器(720)执行的计算机程序指令(202)的一或多个计 算机可读介质,所述计算机程序指令(202)包括用于以下步骤的指令获得来自用户的搜索项(502); 基于所述搜索项执行搜索(504, 602);在初级窗口 (302)中呈现基于所述搜索项的搜索结果(506); 挖掘用户对所述搜索项的自然反应(612, 614); 基于所述自然反应改进所述搜索(508, 610); 返回改进的搜索结果(510);以及 向用户显示所述改进搜索的结果(510, 604)。
9. 如权利要求8所述的一或多个计算机可读介质,其特征在于,还包括 收集可在所述搜索之外获得的有关用户兴趣、偏好和行为的信息。
10. 如权利要求8所述的一或多个计算机可读介质,其特征在于,还包括 收集来自用户已在其上活动过的服务器与客户设备两者的有关用户偏好的信 息。
11. 如权利要求8所述的一或多个计算机可读介质,其特征在于,改进包 括在所述用户作出每一自然反应之后改进所述搜索。
12. 如权利要求8所述的一或多个计算机可读介质,其特征在于,改进包 括以下各项之一在所述用户作出预置数量的自然反应之后改进所述搜索,以 及在预置的时间段已经过之后改进所述搜索。
13. 如权利要求8所述的一或多个计算机可读介质,其特征在于,返回包 括在更新窗口中呈现所述改进的搜索结果。
14. 如权利要求8所述的一或多个计算机可读介质,其特征在于,还包括 收集来自所述用户在所述搜索期间与之交互的其它应用的信息。
15. —种基于计算机的方法,包括-在第一窗口 (506)中显示由用户通过输入一或多个搜索项发起的搜索的 结果;使所述用户能够与所述搜索结果交互(606);从所述用户与所述搜索结果的交互挖掘有关所述用户的兴趣与行为信息 (612, 614, 616);以及基于所述自然反应返回改进的搜索结果(510)。
16. 如权利要求15所述的方法,其特征在于,挖掘包括跟踪由所述用户 在特定搜索结果上作出的点击数量。
17. 如权利要求15所述的方法,其特征在于,挖掘包括监视在一搜索结 果上的点击与在另一搜索结果上点击之间经去的时间量。
18. 如权利要求15所述的方法,其特征在于,还包括审阅在所述搜索之 外的用户文件和用户动作来导出用户的兴趣和行为信息。
19. 如权利要求14所述的方法,其特征在于,返回包括基于所述自然反 应在第二窗口中返回改进的搜索结果。
20. 如权利要求19所述的方法,其特征在于,还包括 允许所述用户与所述第二窗口中的结果交互;从用户与所述第二窗口中的所述搜索结果的交互挖掘有关所述用户的兴 趣和行为信息;以及在所述第一窗口中呈现来自进一步改进搜索的结果。
全文摘要
在用户发起的搜索(502)返回结果(506)之后,意图挖掘引擎(110)收集来自用户对结果的自然反应的信息(612,614)。该信息用于改进搜索(508,610)。
文档编号G06F17/40GK101351798SQ200680049901
公开日2009年1月21日 申请日期2006年12月20日 优先权日2005年12月29日
发明者G·B·沈, S·李 申请人:微软公司