通用搜索界面系统和方法

文档序号:6483846阅读:267来源:国知局
专利名称:通用搜索界面系统和方法
技术领域
本发明一般涉及网络和因特网搜索及界面系统,尤其涉及提供增强搜索功能的搜索系统。本发明还涉及提供各种搜索功能的界面系统和方法,它们与用户计算机上的各种应用程序合作以便提供通用信息交换工具。
背景技术
随着诸如因特网的网络和在万维网(web)上用户可用的众多网页和媒体内容的出现,已开始需要向用户提供最新型的方法来过滤并获取来自网络或web的所需信息。已经开发了搜索系统和过程来迎合用户对获取所需信息的需要。这些技术的示例可通过Yahoo!、Google和其它网站来访问。通常,用户输入查询,而搜索过程返回一个或多个与查询相关的链接。所返回的链接可能是与用户真正寻找的非常相关的,或者它们也可能是与其完全不相关的。查询结果的“相关性”部分地是所输入的实际查询以及所使用的搜索系统(以收集系统为基础)的鲁棒性的函数。
用户输入的查询通常由一个或多个字组成。例如,“haiwaii”(夏威夷)是一查询,“new york city”(纽约市)也是,而“new york city law enforcement”(纽约市执法)也是。这样,查询总体上并不是人类大脑所必备的。换言之,人类天生并不根据查询来进行思考。它们是部分的根据查询搜索引擎或查寻图书馆目录的需要而强加给我们的人工结构。人类天生不根据单个字来思考。人类进行思考的根据是自然概念。例如,“hawaii”和“new york city”根据字数长度而言是极为不同的查询,但是它们共享了一个重要特征它们都由一个概念组成。然而,查询“new yorkcity law enforcement”就不同了,因为它由两个不同概念“new york city”和“lawenforcement”组成。人类天生地是通过输入一个或多个自然概念来建立查询的,而不是简单地通过输入可变长度的单字序列。
当前任一主要搜索供应商(例如MSN、Google或任何其它主要搜索引擎网站)的技术都不理解以人类创建它们的相同方法进行的查询。这可能是妨碍搜索供应商理解用户意图并提供优化搜索结果和内容的最重要原因。
可见需要改进的搜索和界面技术,来提供更符合用户感兴趣的真实概念的结果。

发明内容
本发明提供了用于增强提供给用户的搜索功能的系统和方法。本发明提供通过使用通用界面来增强信息检索和通信功能的系统和方法,该通用界面在某些方面中可被配置成与驻留在用户计算机上的多个应用程序接口,并提供持久的双向通信信道用来与远程系统上的搜索智能通信。在某些方面中,本发明自动地将查询分解成与用户可能感兴趣的概念相关的组成单元。
本发明还提供用于创建、存储并使用映射到特定对象(referent)的用户定义和预定义的标签、代码和参数的系统和方法。例如,用户可创建标签或代码,它指定在输入标签或代码的任何时候要采取的动作,诸如访问一个或多个应用程序。这种标签或代码可包括根据底层标签或代码映射要处理的变量。当由用户例如在通用界面上输入时,系统使用该标签或代码作为映射表格的密钥,以标识要采取什么动作或者如何处理变量(如果有的话)。在某些方面中,诸如标签、代码、参数等可由用户按照自然语言结构来创建,这简化了用户对标签、代码等的理解。这种标签、代码等可传送给其它用户和系统并由其使用。这种标签或代码的接收者可改变对象或标签名字或标签、代码等的其它属性。
根据本发明一方面,提供一种计算机实现方法,用于处理用户输入以基于客户机系统中的用户输入的内容来确定要采取的动作。该方法通常包括在与客户机系统相关联的图形用户界面显示器上显示对话框,接收对话框中的用户输入,并处理用户输入的内容以基于该用户输入的内容来确定要采取的动作。在某些方面中,该动作包括以下之一使用用户输入作为搜索查询来执行搜索,以及访问驻留在客户机系统上的一个或多个应用程序以基于内容执行进一步的处理。
根据本发明另一方面,提供了一种用于在多个客户机系统之间共享可动作的标签的方法。该方法通常包括在第一客户机系统上创建第一标签,该标签包括对在第一客户机系统上可执行的至少一个特定应用程序的映射,经网络将该标签传送给第二客户机系统,并将该第一标签存储到第二客户机系统中的存储器单元中。该方法通常还包括处理第二客户机系统上的用户输入,并且如果用户输入标识该第一标签,在第二系统上调用该至少一个特定应用程序,并使用该至少一个特定应用程序来处理用户输入。
包括附图和权利要求的本说明书剩余部分的引用,将显现本发明的其它特征和优点。本发明的其它特征和优点,以及本发明各实施例的结构和操作,在下面参照附图进行详细描述。在附图中,类似标号指示系统或功能相似的元件。


图1示出根据本发明一实施例的信息检索和通信系统的一般纵览。
图2示出根据本发明一实施例用于传送媒体内容的信息检索和通信网络。
图3示出根据本发明一实施例的系统,包括被配置成处理查询日志文件以填充单元字典的查询处理引擎。
图4示出根据本发明一实施例的系统,包括单元字典及相关联处理智能,在某些方面中包括查询处理引擎。
图5示出根据一实施例的代码、标签和参数的传送、存储和检索的一个示例。
图6示出根据一实施例包括通用对话框(UDB)的GUI显示页面的一个示例。
图7和8示出使用由本发明的UDB界面系统和方法提供的功能,向客户机系统提供的网页的示例。
具体实施例方式
图1示出根据本发明一实施例的包括客户机系统20的信息检索和通信网络10的一般纵览。在计算机网络10中,客户机系统20通过因特网40或者其它通信网络,例如任何LAN或WAN连接,与服务器系统501到50N连接。如将要描述的,客户机系统20根据本发明被配置成与服务器系统501到50N的任一个通信,例如访问、接收、检索并显示媒体内容以及诸如网页的其它信息。
图1所示的系统中的若干元件包括无需在此赘述的常规的众所周知的元件。例如,客户机系统20可包括台式个人计算机、工作站、膝上型计算机、PDA、手机、或能够直接或间接与因特网通过界面相连的任何WAP使能装置或任何其它计算装置。客户机系统20通常运行一浏览程序,诸如微软的Internet ExplorerTM浏览器、Netscape NavigatorTM浏览器、MozillaTM浏览器、Opera浏览器、或手机、PDA或其它无线装置等情形中的WAP使能的浏览器等,以使客户机系统20的用户能访问、处理并查看经因特网40从服务器系统501到50N中可用的信息和页面。客户机系统20通常还包括一个或多个用户接口设备22,诸如键盘、鼠标、触摸屏、笔等等,用来与由显示器(例如监视器屏幕、LCD显示器等)上浏览器提供的图形用户界面(GUI),以及服务器系统501到50N或其它服务器提供的页面、表格或其它信息交互。本发明适用于因特网,它是指网络的特定全球互联网。然而,应当理解,其它网络也可取代因特网,或者除因特网之外还能使用其它网络,诸如内联网、外联网、虚拟专用网络(VPN)、不基于TCP-IP的网络、任何LAN或WAN等。
根据一实施例,客户机系统20及其所有组件都是可使用应用程序而由操作者配置的,该应用程序包括使用诸如Intel PentiumTM处理器、AMD AthlonTM处理器等的中央处理单元或多个处理器运行的计算机代码。在此所述的用于操作并配置客户机系统20以传送、处理并显示数据和媒体内容的计算机代码最好被下载并存储在硬盘上,但整个程序代码或其一部分也可存储在任何其它易失性或非易失性的存储器媒体或装置中,诸如众所周知的ROM或RAM,或在能够存储程序代码的任何媒体上提供,诸如光盘(CD)媒体、数字多功能盘(DVD)媒体、软盘等。此外,整个程序代码或其一部分可经众所周知的因特网从例如服务器系统501到50N之一的软件源传送并下载到客户机系统20,或使用任何众所周知的通信媒体和协议(例如TCP/IP、HTTP、HTTPS、以太网等)经任何其它众所周知常规网络连接(例如外联网、VPN、LAN等)传送。还可以理解,用于实现本发明各方面的计算机代码可用C、C+、HTML、XML、Java、JavaScript、诸如VBScript的任何脚本语言、或者可在客户机系统上执行的任何编程语言来实现。在某些实施例中,没有代码被下载到客户机系统20中,由服务器来执行所需的代码,或者执行已存在于客户机系统20上的代码。
图2示出根据本发明一实施例用于传送媒体内容的另一信息检索和通信网络110。如图所示,网络110包括客户机系统120、服务器系统150和服务器系统160。在网络110中,客户机系统120通过因特网140或其它通信网络可通信地耦合到服务器系统150和160。如上所述,客户机系统120及其组件被配置成经因特网140或其它通信网络与服务器系统150和160以及其它服务器系统通信。
根据一实施例,在客户机系统120上执行的客户机应用程序(示为模块125)包括指令,用于控制客户机系统120及其组件与服务器系统150和160通信,并处理和显示从中接收的数据内容,如所述。客户机应用程序125最好从诸如远程服务器系统(例如服务器系统150、服务器系统160或其它远程服务器系统)的软件源中传送并下载到客户机系统120,尽管如上所述客户机应用程序模块125可在诸如软盘、CD、DVD等的任何软件存储媒体上提供。例如,在一方面中,客户机应用程序模块125可在包括比如内嵌JavaScript或ActiveX控件的各种控件的HTML包中经因特网140向客户机系统120提供,这些控件用于在各个对象、框架和窗口中处理数据并呈现数据,如下所述。
此外,客户机应用程序模块125包括用于处理数据和媒体内容的各种软件模块。例如,应用程序模块125可包括用于处理搜索请求和搜索结果数据的一个或多个搜索模块126、用于在诸如浏览器窗口和对话框的文本和数据框架及活动窗口中呈现数据和媒体内容的用户界面模块127、以及用于与在客户机120上执行的应用程序接口并通信的应用程序界面模块128。根据本发明各方面,在客户机系统120上执行的各种应用程序的示例包括各种电子邮件应用程序、即时消息(IM)应用程序、浏览器应用程序、文档管理应用程序、数据库应用程序等,其中应用程序界面模块128最好被配置成与各个应用程序接口。此外,用户界面模块127可包括浏览器,诸如在客户系统120上配置的缺省浏览器或不同的浏览器。作为一个示例,根据一实施例的客户机应用程序模块125可使用URLhttp://help.yahoo.com/help/us/sbc/browser/从Yahoo!公司下载。
参看图2,根据一实施例,服务器系统160被配置成将搜索结果数据和媒体内容提供给客户机系统120,而服务器系统150被配置成例如响应于在由服务器系统160提供的搜索结果页面中选择的链接,将诸如网页的数据和媒体内容提供给客户机系统120。如以下要更详细地描述的,服务器系统160在一实施例中引用各种收集技术,以用例如页面、页面链接等来填充一个或多个索引。这些收集技术包括自动web爬虫(web crwaler)、蜘蛛(spider)等,以及用于在分层结构中分类和排列网页的手动或半自动分类算法和界面。在某些方面中,服务器160还配置有搜索相关算法,用于处理和排列网页,比如Google的PageRank算法。服务器160最好还被配置成以查询日志文件的形式来记录用户查询动作。
服务器系统160被配置成响应于从客户机系统接收的各种搜索请求在特定搜索模块126中提供数据。服务器系统150和160可以是诸如由Yahoo!公司提供给用户的分布式服务器系统的单个机构的一部分,或者它们可以是不同机构的一部分。服务器系统150和服务器系统160都包括至少一个服务器和相关联的数据库系统,并可包括多个服务器和相关联数据库系统,并且尽管被示为单个框,但是地理上可以是分布式的。例如,服务器系统160的所有服务器可彼此相邻地放置(例如在位于单幢建筑或校园内的服务器场),或者它们可分布在彼此相距遥远的位置上(例如位于城市A的一个或多个服务器,以及位于城市B的一个或多个服务器)。当在此使用时,术语“服务器系统”通常包括本地地或跨一个或多个地理位置分布的一个或多个在逻辑上或物理上相连的服务器。此外,术语“服务器”通常将包括本领域内众所周知的计算机系统、相关联的存储系统、以及数据库应用程序。
根据一实施例,服务器160配备有一个或多个页面索引和算法,用来响应于从客户机系统120接收的搜索查询向用户提供搜索结果。在某些方面中,服务器系统160被另外配置成响应于来自客户机系统120的搜索请求提供新的、增强的搜索查询分析和分类功能。
在一实施例中,例如,在服务器160上执行的进程执行搜索查询和/或搜索结果的上下文分析,并用按上下文分组的搜索结果作出响应。许多搜索词取决于与其上下文会有不同的含义。例如,如果用户使用词“Java”执行搜索,则与其上下文并不清晰。用户可能对Java计算机语言感兴趣,或对印度尼西亚岛屿Java感兴趣,或者对常常在口语中称为java的咖啡感兴趣。因而,不同的字可具有不同的字义和上下文。本发明有利地分析搜索查询和/或结果,并按上下文将结果分组,用于在用户的计算机120上显示。例如,在搜索词“Java”的以上示例中,服务器160返回分成三个(如果标识了其它上下文则为更多)种上下文或字义的搜索结果用于计算机语言的Java、Java岛和咖啡Java。该系统可被配置成分集显示各个结果,并具有与每个上下文相关联的链接,或者系统可仅显示上下文(有足够信息来让用户辨别上下文)而没有任何链接,并使用户能选择所需上下文以显示相关联链接。例如,在Yahoo!网络系统中,可显示一个上下文集,其中每个上下文都具有一个链接集与来自搜索索引的页面的链接、与赞助匹配相关联的链接、与目录匹配相关联的链接、以及与Yahoo!(IY)匹配相关联的链接。
除具有歧义的诸如“Java”的字或短语之外,本发明的系统被配置成在一实施例中将结果分组到并非歧义的搜索词的上下文中。一个示例是搜索词“Hawaii”的返回结果。词“Hawaii”本身并无歧义,但是,对该词所返回的结果的特征可非常广泛,与在字面上讨论或提到过“Hawaii”的全部相关。为了向用户提供更为有用的结果,本发明的系统最好通过使用结果真正相关于什么的知识,将搜索结果按上下文进行组织。例如,对Hawaii,系统可在诸如“Hawaiitravel(旅游)”、“Hawaiiclimate(气候)”、“Hawaiigeography(地理)”、“Hawaiiculture(文化)”等的各种上下文分组中返回结果。例如,在某些方面中,上下文标识符与索引中页面链接相关联地被存储,从而当执行搜索时,各个链接可根据标识符来分组。一个页面链接可与多个上下文标识符相关联。这些标识符最好在用户执行相关搜索时通过系统自动关联于链接,但是,标识符也可由一个或多个管理员的团队进行手动地修改并使之关联于链接。这样,从许多搜索收集到的知识被反馈回系统来定义和重新定义上下文,以使所显示的搜索结果对作出请求的用户更有价值和更有用。
在一实施例中,在服务器160上执行的进程执行搜索词的概念发现和概念分析,以向用户提供更有意义的结果。例如,对于搜索短语“New York City”,非常清楚用户对与纽约市(城市或城区)相关的网站感兴趣而不是对纽约州的一个城市感兴趣。类似地,对于“New York City law enforcement”,清楚的是用户对与纽约市的执法(例如工作部门)相关的网站感兴趣。然而,大多数搜索引擎将简单地使用各个个体的词“New”、“York”、“City”、“law”和“enforcement”来搜索,而不管在搜索短语中使用的词的顺序。本发明有利地分析搜索短语中的词,以标识组成该搜索查询的一个或多个概念。在各较佳方面中,系统使用搜索词所呈现的顺序来标识概念并分类搜索结果。例如,使用“New York City law enforcement”作为搜索短语,系统例如通过将“New York City”和“law enforcement”散列为搜索短语中的两个概念来标识,并返回对这两个概念的结果。对于“law enforcement in New YorkCity”,将返回相同的结果。然而,对于“city law enforcement in New York”,基于概念“law enforcement”、“New York”和“city”或者“city law enforcement”和“NewYork”的概念,将返回不同的结果。类似地,“enforcement of law in New York City”将被标识为包括概念“New York City”、“law”和“enforcement”。因而,概念的顺序并不像组成概念的词的顺序一样重要。在各较佳方面中,概念被包括在页面索引中,或者单独的概念索引可被实现。应当注意,“law enforcement”是否可被视为与“enforcement of law”相同是取决于上下文的。
在本发明的各个较佳方面中,提供了查询处理引擎,用于处理查询并将查询分解成组成单元。本发明的查询处理引擎使系统能实现概念发现和分析过程,以及上下文分析、消除歧义、以及许多其它处理,它们将增强响应于搜索查询返回给用户的结果的质量。根据本发明,查询处理引擎可在连接到网络的单机装置或者系统上实现,例如所述的执行各种查询处理和分析算法和进程的计算机系统,或者它可被包括为诸如服务器系统160的搜索服务器或其它服务器系统的一部分。
图3示出根据本发明一实施例的查询处理引擎的系统。所示引擎300经因特网或通过例如LAN、WAN的各种网络连接、直接链接、分布媒体(例如CD、DVD、软盘)等从各个源中接收查询日志文件(或实际查询)。源的示例包括搜索服务器160(图1)、或搜索服务器的分布式网络中的多个搜索服务器160、以及一个或多个服务器150。查询日志文件源通常关联于同一机构或实体,例如Yahoo!服务器,但并非必须如此。查询日志文件(查询日志)由查询引擎300使用统计方法进行处理,这些统计方法诸如诸如可用于如交互信息之类的信息理论或概念中。在各较佳方面中,使用每日查询日志,尽管可按需使用不同时间段的日志,比如小时、星期等。查询日志通常包括用户提交的实际查询,且在某些情形中还包括其它有用信息,诸如作出查询的用户的地理位置、时间标记、客户机系统的IP地址、cookies、客户机的类型(例如浏览器类型)等。查询处理引擎300处理各种查询日志,并从中生成单元。单元及相关联的统计数据,诸如发生频率,被存储到存储器或数据库文件310。
包括用于处理查询和查询日志以生成单元并基于单元生成建议的方法的查询处理引擎的各方面的示例在序列号为10/713,576、2003年11月12日提交的题为“Systems and Methods for Generating Concept Units From Search Queries”(代理人档案号为017887-011010US)的美国专利申请中描述,其内容在此全部引入作为参考。
在某些方面中,查询处理引擎300可在服务器系统160中实现。例如,用于实现查询处理、单元分解、单元字典填充和统计数据分析的软件,以及与用户和页面索引165接口的搜索响应处理,可在服务器系统160上执行。在其它方面中,查询处理引擎300在如图4所示的独立系统中执行。响应于来自用户系统120的查询,服务器系统将请求返回单元和统计数据的查询传送给系统180。服务器160处理这些单元以及从系统180接收的任何统计数据,并将响应于用户的查询的结果、以及提议和其它信息返回给用户。在某些方面中,提议是使用户参与与搜索系统的持续对话的方法。提议是基于对在各单元及其扩展和关联中所捕捉的用户需要的高度复杂的理解而对有关用户接着想要探索什么的暗示和提示。
在一方面中,单元字典310有利地用来生成除实际搜索结果之外或代替它们呈现给用户的提议。例如,搜索服务器160或其它搜索智能可向控制单元字典的专用服务器,例如图4的服务器180,发送查询,或者单元字典的实例可被存储到搜索服务器160中。用于根据一实施例例如使用在以上用于生成单元的伪代码中定义的扩展和关联来生成提议的方法的示例,可在序列号为10/713,576、2003年11月12日提交的题为“Systems and Methods for Generating Concept Units From SearchQueries”的美国专利申请中找到,它在先前引入作为参考。
根据某些方面,本发明比现有系统更清晰地并以更有用的方式展现搜索选项。在一实施例中,例如,用户能够在链接的网站内进行搜索。例如,响应于对“Compaqcomputers”的搜索,可向用户提供搜索结果,尤其包括与Compaq计算机的销售商的各种链接等。根据本发明,向用户提供在链接的网站内直接搜索的能力。例如,用户可在对话框中输入另一搜索词,例如“laptops”,并选择一网站,作为响应在选定网站内使用新的搜索词执行搜索。系统最好被配置成与通过链接的网站(如果有的话)提供的搜索功能接口,或者如果没有由链接的网站提供的搜索功能,则在网站内自发地执行搜索。所返回的结果包括对网站内一个或多个页面的链接,或者结果可以是由与页面相关联的搜索功能提供的结果页面。例如,如果所选择的链接的网站正好是Amazon.com,则系统将自动访问由Amazon.com提供的搜索功能,并将搜索词按需插入所提供的搜索表格。
在另一实施例中,向用户提供在原处执行搜索或对相似或相关网站的“横向”搜索的能力。例如,假设用户对有关W日从点A到点B的航班的信息感兴趣。用户可直接访问航空公司网站,例如American Airlines网站,并在该网站内执行搜索,或者用户可请求对“airlines”或者“air travel”或者“American airlines”等的搜索,从所显示的搜索结果中的一个链接访问特定网站,例如American Airlines网站,并在该访问网站内请求有关W日从点A到点B的航班的信息。用户现在从AmericanAirlines网站中查看有关所请求信息的信息,包括可能相关于各种可行航班的价格信息。使用本发明,用户有利地能够使用例如W日从点A到点B的相同信息来搜索另一网站,以获取相似结果而不必手动的访问新的网站并重新输入所需信息。根据本发明一方面,用户执行横向搜索,例如通过在诸如通用对话框(如下进行更详细讨论)的对话框中输入如“$.United”或者“$.UnitedAirlines.com”或相似信息以在United Airlines网站上执行相同搜索,或者通过在搜索结果页面中以诸如右击或选择“横向搜索”图标的特定方法选择一个链接,例如United Airlines链接。系统与所标识网站对接,以提供所需搜索结果,例如所标识网站上列出W日从点A到点B的航班的价格信息的页面。在用户直接访问了网站并将搜索信息输入到与所访问的网站相关联的表格的情形中,搜索模块126存储该输入信息并在需要时使用该信息,用于在请求横向搜索时在相关网站中填写表格。当然,取决于选定的网站的要求,用户可能需要在新的网站上输入附加信息。这样,向用户提供了在不同网站上简化对相似信息的相似搜索的能力。
在某些方面中,几乎显现在页面上的全部内容可由用户“修改”。例如,在某些方面中,整个内容显现为带有预先填充的条目(例如在文本框、下拉框等中)的表格,用于用户可能想要改变的所有东西。因此,可有选项来改变航空公司的名称、旅行日期、价格(例如暗示“寻找比输入价钱低的”)、指定座位、旅行目的地、航班等。在一方面中,用户可修改页面上的任何锚(anchor)文本或页面链接,并将其转换成用户定义的代码或标签。例如,用户可选择到诸如Yahoo!Mail的邮件页面的链接,并将其用作标签或代码。然后用户可将引用名称改变为例如“Mail 1”。这样,每当系统被告知显示到Yahoo!Mail的链接时(例如作为HTML页面的一部分),系统都用标识“Mail 1”的链接来替换该链接,对它的选择仍然会访问用户的Yahoo!Mail帐户。类似地,用户可选择改变“Mail 1”的对象(referent),以引用不同的电子邮件帐户(或关于该事物的任何其它对象),诸如Hotmail帐户。系统将存储该代码或标签的映射,且该映射将指示,每当用户输入该标签或者选择表示该标签的显示链接时,都应访问所标识的对象。
在其它方面中,系统被配置成与公司网站或服务器建立实时通信链接,以提供与搜索结果相关的动态信息而无需控制索引。例如,在一实施例中,服务器160实时地或周期性地(例如几个小时一次)建立与预订公司的服务器150N-2的通信链接,以获取对索引所引用的页面和产品的注解、最新归纳、更新、促销或其它信息。如果例如用户执行对膝上型计算机的搜索,可返回并显示许许多多的结果(例如链接)。结果可包括到许多膝上型计算机的供应商和零售商的链接。在一实施例中,本发明向预订公司,诸如供应商公司(例如Compaq或Sony),提供这样的能力提供能显示在搜索结果页面上的动态信息。该信息可包括与用户所搜索的(在本示例中为由预订公司或其它制作或销售的膝上型计算机)相关的注解、归纳、促销等。可显示与所显示结果链接无明显关系的信息,或者可显示例如与公司网站或相关网站上页面最接近的链接。
在各较佳方面中,配置成在预订公司的服务器(例如服务器150)上运行的过程被提供给预订公司(例如作为计算机可读媒体上的或经网络连接传送的代码)用来与服务器160通信。这些过程最好总是在后台运行,响应于来自服务器160的查询而提供所需信息来标识由索引引用的页面和/或产品或作为各个搜索的结果。也可实现手动信息更新,其中在公司的操作者在指定时间或基于来自服务器160的请求提供所需信息。
在某些方面中,由服务器160与这些预订公司实现拍卖功能。例如,当用户输入一搜索请求时,诸如“膝上型计算机”,服务器160在索引中执行搜索,并从索引中标识要提供给用户的页面链接。如果结果引用了多个预订公司,则允许这些公司为优先放置实时投标,例如链接在结果页面上的优先放置或者促销或其它信息的优先放置。在各较佳方面中,这样的拍卖和动态更新功能无需改变索引就可实现。例如,当用户输入一搜索时,使用索引来确定结果,以标识要返回给用户的链接和其它信息,而无需遵从(deference)与预订公司或实体相关联的网站。受所确定的搜索结果影响的预订公司或实体(例如在搜索结果中具有相关链接的实体)被提供输入拍卖或更新信息并使得信息显示在搜索结果页面上的能力。拍卖投标和动态更新信息可在执行搜索之前提供,但并不影响索引搜索。例如,预订者可将投标置入索引,或将与特定搜索词相关联的更新信息输入到索引中。这些投标和更新信息被绑定于或结合到索引(例如使用指针与索引条目一起存储在逻辑行中),并仅在已标识了搜索结果时使用。然后该系统基于与搜索结果相关的任何绑定的拍卖投标来确定优先次序。
在某些方面中,不同网站使用的拍卖策略将用户是谁考虑在内。例如,某些用户对某些网站是更为有益的,所以这些网站更渴望吸引他们。在其它方面中,拍卖过程要经过多次反复。例如,当第一轮结束之后,各个竞标者可根据其它人的作为来对他们的投标重新估价,并改变其投标。
在某些方面中,提供了单个条目的搜索框,用于输入可动作信息,诸如URL、搜索请求、查寻、更新、链接等。该条目框最好在整个网络上引人注目地可用。当在此使用时,该条目框将被称为搜索框或通用对话框(UDB)。通用对话框具有缺省尺寸和位置,但是用户可按需重新配置尺寸和位置。例如,用户可请求较大样式的框,从而他们可例如一次性地输入几个查询,或者以其它方式输入大量的可动作信息。还有,用户可指定该框被包括为工具栏或者呈现在网页上,作为浏览视窗一侧的窄视窗,或作为单独的窗格。
用户可输入诸如单个搜索请求词的信息,或者同时输入若干请求/搜索(例如使用完整编码的、或部分编码的格式)。多个URL、查询、要遵循的链接等也可被同时输入。结果可以一个接一个地在同一页面或多个页面内显示,例如按空间/时间顺序、或以其它方式组织。使用通用对话框,用户可输入任意和全部的他/她的需要。结果(不管在其产生之中涉及什么)最好在同一界面中显现。在某些方面中,内容和上下文的语义决定应施加什么操作,以及因此应调用什么应用程序,如下所述。
因此本发明提供了一种简单但独特的方法来捕捉用户的思想,并得到获得对很多高质量的用户动作数据的访问的好处。另一种考虑方法是使被动信息变成可动作的。如今,用户可设立网页并列示他们所喜欢的搜索引擎,或者创建书签,或者编写有关它们的电子邮件,或有关它们的帖子,或编写有关它们的web日志。所有这些都是被动和不同的对象。这些内容仅仅放在那里。相反,本发明提供了一种系统和方法,使用户能建立活动信息,任何选择动作的人都可对该信息采取行动。
迄今,将被动信息转换成可动作信息的努力并未成功,部分地是由于内容通常是如何产生并以何种格式产生的。许多信息仅放置在正文(running text)中,且没有自然语言理解系统能好到足以“理解”正文从而能够使内容可动作。本发明提供一种方法,将自然语言理解带入考虑因素(equation)以帮助理解各个查询和短语,这都是自动进行的。
在某些方面中,本发明还向用户提供快捷方式(shotcut)功能。在一实施例中,例如,比如界面模块128的通用对话框应用程序被配置成与在计算机系统120上执行的多个应用程序接口。包括对话框的显示向用户呈现,在该对话框中用户可取决于所需功能输入各种参数。在某些方面中,对话框被配置成基于所输入的参数类型执行各种功能。例如,如果用户输入一URL,则例如界面模块128的对话框界面标识所输入的参数是URL,并较佳地调用一浏览器应用程序,并建立与由URL标识的网站的连接。如果用户输入一个简单的词或短语,则例如界面模块128访问搜索模块126以对所输入的词执行搜索。如果例如输入“get mail”(获取邮件)命令,则界面模块访问系统120上配置的电子邮件应用程序或多个电子邮件应用程序,以检索收到的电子邮件消息,或最好检索收到的电子邮件消息的列表。如果例如用户输入后跟文本消息和/或附件指示的“send mail”(发送邮件)命令,,则该界面模块访问电子邮件应用程序以发出该消息。如果标识了附件,则访问文件系统-例如用于Word附件的MS Word的文档管理应用程序或其它应用程序-以检索已标识的附件。类似地,对于即时消息(IM)应用程序,可输入参数以向界面模块128确定应访问即时消息应用程序。
界面模块128最好可被配置成与驻留在系统120上的任意数量的应用程序接口。在一实施例中,界面模块128所采取的动作是根据所输入参数的类型来确定的。例如,可使用预先配置的参数类型,诸如URL和简单文本短语,并且可实现更为高级的参数类型,比如预先配置的命令参数“get mail”和“send mail”或“send IM”等。此外,根据一方面,使用用户可配置的参数。例如,用户可将某参数定义为要访问的某应用程序和/或要采取的某动作的标识符。一个示例可以是“update.calendar[date.time.description]”或者简单地“calendar[d.t.desc]”或者用户想要使用的任何适当格式或语法。这样的参数将向界面模块128确定,比如Microsoft OutlookTM、Yahoo!Calendar其它应用程序的日程表应用程序应当用输入的日期和时间上的描述来更新。用户还可定义与多个应用程序链接的参数。一个示例是类似于“calend.send[date,time,desc.,recipientlist]”,它将标识比如MicrosoftOutlookTM、Yahoo!Calendar或其它应用程序的日程表应用程序应当用输入的日期和时间上的描述来更新,并且同样的信息也应使用比如Microsoft OutlookTM、Yahoo!Mail的电子邮件应用程序或其它电子邮件应用程序来发送给已标识的接收者。将访问电子邮件应用程序、确定地址并发送信息。可创建其它参数或标签以在网络内标识特定网站,例如因特网或专用网络上的特定网站。一个示例是标签“Amazon(变量)”,它在使用时向界面模块128标识Amazon.com网站,而界面模块128在amazon.com网站内执行对“变量”的搜索并从Amazon.com向用户返回结果页面。在各较佳方面中,提供了快捷方式向导或工具,使用户能定义参数,将其链接到应用程序,并将其存储到存储器中以便将来使用。
在某些方面中,在系统中保持表或其它数据结构,用来存储在预定义的和特定的用户指定的参数、标签和命令与它们所关联的相应应用程序或功能之间的映射。该表可由界面模块128访问以检索映射,存储新映射,并将映射传送给其它系统和用户。图5示出实现代码、标签和参数的传送、存储和检索的系统400的一个示例。如图所示,各客户机系统420经诸如因特网的网络460可通信地彼此耦合并与服务器系统460耦合。在一方面中,服务器系统460存储预定义的代码、标签和/或参数的集462,用于由任何用户使用。任何用户定义的代码、参数、标签和该预定义的集462一起被存储到存储器464中。例如,由用户创建的定制集可存储在一个或多个不同的映射表中,或者它们可与部分或全部预定义的集462一起结合到较大的表中。存储在客户机系统420上的密码簿通常存储在众所周知的存储器模块中,诸如RAM、ROM、硬盘或便携式媒体(例如CD、DVD等)。图400还示出由客户机系统420和服务器系统460检索并在它们之间传送的密码簿(示为“(C)”)。每个密码簿可包括例如单个代码、标签或参数的单个映射,或者它可包括多个映射。在各较佳方面中,密码簿是可使用诸如HTTP、FTP、DMA等的众所周知的协议和技术来传送、请求、发送、访问等的对象。
在各较佳方面中,通用对话框提供在例如系统120的用户和服务器系统160之间的双向持久通信信道。此外,通用对话框最好在各种网页上向用户引人注目地显示,从而不管用户的浏览器显示了什么它都对用户可用。例如,通用对话框最好总是向用户显示,不管用户使用的是什么应用程序,如果访问网络则不管用户当前在访问网络中的什么页面或网站。这样,对话框的搜索和界面功能,以及服务器160的智能总是提供给用户。或者,通用对话框可在保持正常呈现的工具栏中提供。图6示出根据一实施例包括UDB 500的GUI显示页面的一个示例。如图所示,UDB500提供例如使用诸如键盘、鼠标等的接口设备来接收用户输入的输入界面。图6中所示的特定GUI显示页面示出了由Yahoo!系统内的邮件服务器提供的Yahoo!Mail用户页面。
在某些方面中,运行在服务器160上的进程可跟踪用户使用对话框时的动作,以优化对用户的信息传送。例如,服务器160被配置成基于当前和过去的动作来预期用户的搜索请求,或利用有关来自或去往用户的信息的过去信息来优化将来的数据传送。后者的一个示例是一个用户从系统120向系统220上的第二用户发送电子邮件。服务器160可通过第二用户的持久双向信道来跟踪第二用户的动作,并确定该第二用户通常喜欢通过IM应用程序而不是通过电子邮件来接收通信。服务器160可被配置成将该信息传送给第一用户,或者服务器160可作为中介,并使用第二用户喜欢的IM应用程序来将电子邮件信息转换成即时消息。类似地,用户系统上的界面模块128可被配置成独立地或与服务器160合作地传送并转换信息和消息。或者,界面模块128和/或服务器160可根据情形、通信的上下文是什么、和/或消息的上下文来采取动作。即,用户可能希望短消息通过即时消息传递,而较长的消息则通过电子邮件传递,或者用户可决定来自某用户的消息,或有关特定主题的消息通过某种手段来传递。服务器160和/或模块128可基于这样的用户配置的动作或基于用户的使用模式(用户可能无视)而采取适当的动作。
用户定义的参数和标签最好是可互换的。例如,系统120上的用户可向系统220上的第二用户提供个人密码簿中的参数或标签,或者参数或标签集。也可传送将参数链接到各种应用程序的底层代码(例如持有映射的表/数据结构)。单个标签或参数或密码簿的传送可诸如通过发送文件直接进行,或者传送可通过在例如电子邮件或IM的通信中使用参数或标签来实现。在通信中接收标签或参数的第二用户将例如通过点击来访问参数或标签,这类似于消息中的URL。对标签或参数或密码簿的选择最好还实现底层链接代码向第二用户的传送,其中具有接受并存储、修改(例如改变从一个应用程序到不同应用程序的链接或引用)等的选项。用此方式共享个人标签大大地增强了用户之间的信息传送。例如,指向第一用户的共享标签“favorite movie of the week”(“本周的喜爱电影”)将每周改变。与在周期性基础上将该信息重新传送给第二用户相反,第一用户可仅修改对不同电影链接的引用。当由第二用户访问或选择时,界面模块128将例如通过服务器160访问更新的引用,并在(第二)用户系统上显示更新的信息。
以下章节尤其根据本发明的各个方面和实施例示出通用对话框、代码和标签等的各种优点、特征、方面和使用。
在某些方面中,通用对话框向用户提供了一种机制,以即刻获取深埋于网络上任何地方或其它地方的信息。例如,某些用户在线维护他们的日程表。使用本发明,用户可键入诸如“my cal next”的简单短语来得到他们的下一个约会,或键入“my cal today”来获得今天的约会等。他们也可更新他们的日程表。例如,“my calupdate David Tue 10 am”将把该约会适当地置入他们的日程表中。为了这么简单的操作,无需用户进入他们的日程表。类似地,通过键入诸如“my portfolio”的简单短语,他们可发现此时他们的股票组合值有多少。用户还可以同样方法来更新“myYahoo!”页面中的条目。因此,例如,他们可通过输入诸如”$.Chicago next Tuesday”的(编码的)短语来寻找下周二从他们的居住地飞往芝加哥的最便宜的机票,其中$指这个人的居住地机场。
通用对话框在某些方面中与向用户提供作各种事情的能力的外壳(shell)提示或语言解释器(lisp interpreter)提示相似。例如,他们可作算术计算5543+343*321=将产生正确结果。用户可作现金转换A$40=US?他们也可作时区转换。他们可找出全世界任何地方现在是什么时间。给出一电话号码-国内或国际的-他们可发现当地时间以及何时是致电的最佳时间。在某些方面中,本发明还支持所有类型的对确切问题的确切回答。例如,某些是Prolog样式的“阿根廷的人口是?”,所以,用户可询问一是非问题-“阿根廷的人口是至少6千万”。类似地,“xyz的电影时间”和仅返回这些时间。也可提供“what if”查询。所以,例如用户可询问如果YHOO上扬50点他们的股票组合值会如何。
用户可创建并存储简单的公式。在某些方面中提供了较大的预先存在的公式库。例如,用户可输入公式以计算复利。然后,为了计算特定情形中其本金的复利终值,他们仅需指明起始资金、利率和周期。
由UDB提供的定制和个性化是使其称为鲁棒系统的关键。RealNames和AOL快捷键等已经存在多年,但仅有混合性的效果。在某些方面,本发明是这些系统的反面;用户控制他们如何查阅他们想要查阅的任何东西。可建立对一般关键字而非特定关键字的映射(可能是得到最大收益之处)。现有的系统不能提供这样的映射。
在一方面中提供了基于邮编、年龄和性别的个性化。例如,查询“weather!”(天气)可基于用户的地点来处理,为用户产生该地天气的摘要。
快捷键并非只是使用户快速到达其它地方的方法-纯粹导航-而是一种向用户提供一种统一方法的技术,以紧凑并简便地输入所有类型的需要,并使所有类型的事情直接在它们所处的任何地方实现/完成。快捷键也是用户查阅他们想要以各种(可能复杂的)方法来处理的对象的简洁方法。考虑快捷键的若干方法必须以最直观的方法融合在一起,使用户不会混淆。关键是要认识到导航视图和“使任务在可实现的任何地方完成”的视图实际上并非那么不同。这样,当用户表达对“games!”(游戏)的需要时使用户进入例如Yahoo!Games,与键入“weather!”或“boston weather!”时获得波士顿的天气并没有很不相同。
在一方面中,可使用web上的现有内容-像书签或目录列表-并且如果用户需要它们可自动转换成映射。相似地,诸如Yahoo!的服务器或一组服务器上的例如包括目录的内容可被转换成映射。所以,例如“Cat$15”可将用户直接带往特定目录中的第15条链接。锚文本、URL、查询-结果映射等是可利用的预先存在的映射的其它示例。
通用对话框向用户提供一个当产生需要时能立即直接地输入这些需要的主要地点。用户也可输入预期需要-有时可能具有的将来的需要。如果需要是整个界面是必要的,则识别对切换的需要,且转换通过调用适当的应用程序而无缝地发生。
用户应该关注为达到他们的某些目的而需要完成的高级目标和任务。这样,一般而言,向某人发送电子邮件本身不是明确的目的。目的的更好陈述是某人需要向另一个人传送某些信息,而电子邮件是实现它的(多种)具体机制之一。该信息已作为对象存在,或者用户可首先以适于创建该类对象的某些统一方法来创建它。然后,将其传送给其它人的问题产生,且用户需要做的全部是指定需要的通信类型-同步、异步、延迟、在特定时间或在特定上下文、语音、文本等中可用的-且适当的低级别例程和应用程序-诸如电子邮件、即时消息、或语音邮件-在适当时间并以适当方法调用以传输该对象。注意,因为映射和模式得以建立,用户不必指定如何传送信息。在大多数情形中,根据内容的上下文、情况、语义等,系统能够指出要做的事情。当可能有歧义时,要求用户帮助作为引导。例如,“meet David 10 am”足以生成日程表条目、发送电子邮件、设置警报等。在一方面中,消息可最优地使发送者处于一种模式,但因为接收者的特定上下文和情况可以另一种模式传送给接收者。
这样,“sending an object by e-mail”(通过电子邮件发送对象)更紧密地关联于“sending a web page”(发送网页)、“sending a Yahoo message”(发送Yahoo消息)、“publishing a web page(sending to a host)”(发布网页(发送给主机))等。读取电子邮件则较为疏远地相关。“Reading e-mail”(读取电子邮件)更紧密地关联于“reading a web page”(读取网页)、“reading a local file”(读取本地文件)、“reading a Yahoo message”(读取Yahoo消息)等。从用户界面的观点看,应用程序-电子邮件、日程表、旅行订票、联系人列表等-不必视为基本的、全部的、集成的、和不可分的。实际上,它们对用户而言大部分是透明的,只有某些低级别机制的一部分,用户在许多情形中甚至无需知道。一般而言,用户仅需指定他们需要做的任务或查寻,而UDB系统自动提供合适的功能/工具/应用程序/查寻。
重要的是注意到,通用对话框方法不仅仅是界面改变,而且是向用户提供服务的方法的基本转变。也重要的是认识到,“快捷键”比仅仅标签/编码映射要普遍地多;它关于用户能够用简单的(例如自然或受控词汇、命令样式的)语言表达他们的需要,并使他们的愿望尽可能直接地得以实现。
本发明的关键见识之一如下任何特定用户具有的信息需要可能相当复杂。然而,如果经适当参数化,用户需要做的大多数(80-90%)与过去他(或例如他们组合中的其他人)曾经做的相似。这就是为什么如果基于过去曾经做的事创建模式会使用户获益良多的原因,他们可利用该模式来在将来更简便地做事。标签/代码映射是创建然后利用模式的一种方法。如果用户总是通过电子邮件通知秘书他们何时在日程表中制作条目时,则我们可使该操作自动化。不可否认的是,如果用户想要做大量的同样的事情-例如收发许多电子邮件、详尽地组织日程表、执行大量的股票组合值分析等,则对用户而言最好使用相应应用程序或工具提供的完整界面。尽管事实是在当今忙碌的工作环境中,人们被迫间歇地做每一件这样的事情。典型的用户任务模式序列可能是回复电子邮件、回电、将数据输入电子表格、读取刚收到的新的电子邮件、将会议安排输入到某人的日程表中、在web上寻找有关竞争者的信息等等。在某些方面中,通用对话框界面被设计成考虑该工作模式。
快捷键提供展示在系统上或经网络可用于系统的完整的大量信息/工具/应用程序的机会。一旦建立了各个用户的专用映射,特定用户需要的许多东西就能自动发生。
关键是通用对话框对增强在用户和web(包括Yahoo!)之间双向交互是有用的。抢先采取代表用户的利益的主动性,且不仅仅通过对请求作简单地响应-可采取附加的预期动作。因此,在一方面中,UDB系统最好是主动性的,并预期用户的需要。一种简单的思考实验相当充分地证实了该方法的能力。考虑某人的日常生活-工作和家庭-中的所有示例,当他考虑在网(或者计算机)上做什么时,但不因为它不是足够直接了当的事情。今天某些事分四个步骤进行,可能两个步骤都太多了。在一时间段上,对于每个人而言,当唯一阻挡我们实现愿望的是实现我们想要达到的相对困难时有数百个机会。通用对话框提供使这些数百种场合减少为数十个或几个或一个。
编码/标签映射是捕捉在日常生活中常见的但在web上几乎不以任何有意义形式存在的东西的一种方法。在日常对话中,人们引用他们或其他人的一些东西、他们喜欢和不喜欢的、他们的喜好、在他们生活中发生或可能在将来发生的事件(比如他们在两个月后结婚)、他们已采取的或计划采取的动作等等。本发明提供一种独特的方法,使用户能捕捉这些引用,并与朋友、同事、家人、甚至整个web共享。
一种用户界面设计可以是使通用对话框在页面的一侧显现为窄长的可滚动的视窗。在该空间的各个点上,用户可输入他们的请求。他们过去交互的全部(或部分)历史对他们可用。这种对话框的一个优点是用户不必上下卷动就能够输入他们的下一个请求。如果该框窄而且高,则用户可将他们所输入的查询分成一系列行,每一行包含单个概念。例如,他们可在第一行上输入“weather”,第二行上输入“newyork”,且在第三行上输入“this week”。尽管提供了复杂的算法来将用户查询拆分成概念,如上所述,但是鼓励用户将查询输入为一系列概念仅可使与用户的交互更简单和丰富一些。
快捷键不仅与消除用户去特定应用程序的不同界面的需要相关,而且与解释不同的工具和应用程序能够提供的附加值有关,从而在同一上下文中能一次调用若干。例如,可链接电子邮件和组织图。或者,如果某人收到了请该用户到某办公楼的办公室的电子邮件,则示出该地点的办公楼地图会自动被提供或显示。此类附加的附加值特征是通过通用对话框来提供的,这是如果用户到任何特定应用程序的完整界面都不能获得的特征。
用户可使用类Perl的$来引用当前对象(不管它是什么)。它可引用查询、网站、链接或某些其他对象。此外,诸如$4的代码引用他们喜欢的搜索引擎。所以,例如,要运行刚在一不同搜索引擎上运行的查询,用户需要键入的全部是$5$。
在本发明某些方面中,提供了各种Unix-样式的功能强大的数据/对象处理选项。例如,用户可输入<any site,search string>(<任一网站,搜索字符串>),并从该网站得到该搜索字符串的结果(在我们的搜索引擎上或在网站的搜索引擎(如果存在一个)上,或两者之上运行)。
本发明制作可能真正通用的标签。人们可调用他们喜欢的任何东西。标签和代码可以是任意字符的-完全按照用户想要的个性化。它们可以是字符和数字的串、序列、或图标、或者每一种的某些混合。每个用户具有可包含各种各样标签/映射的密码簿。每个事物都可加以标签。人们可被标签,其他像书、杂志以及CD的实物也可以。像查询之类的任意的字序列的可被标签,网页组可被标签,名人、地方、邮编等等都可被标签。因此,例如“my flight tomorrow”(我明天的航班)是此时指一特定对象而彼时指另一对象的标签。标签也可被参数化,从而它们可自动调整。例如,“my flight next week”(我下周的航班)在本周一结束就变成了“myflight this week”(我这周的航班)。
标签是个人的。用户在分配他们选择的任何标签时有充分的灵活性。对映射的提议可部分地基于用户或用户组的隐含行为来提供。类似地,本发明提供了对用户个性化的提示,以帮助确保他们的需要得到满足。
在密码簿中,可包括朋友和家人的联系信息,以及紧急号码。所以Amy可键入“Richard’s phone number”(Richard的电话号码)(如果喜欢可用代码形式)并立即直接地得到了该号码。该代码形式可以是“$f4ph”,意思是我第4个朋友的电话号码。所有的代码和标签最好不管用户如何调用服务-通过电话、使用台式计算机、或任何移动装置-都可用。
密码簿最好可全部或部分地共享。例如,密码簿可有若干公共和私有部分。密码簿的一些部分可与全世界共享,一部分则仅与朋友共享,一部分与同事共享等等。密码簿可建立为在组和机构内使用。这些可在机构内共享。某些用户可能喜欢实时地或经某些过滤之后将其通用对话框交互与部分或全部人共享。从任何领域内专家发现并使用信息的方法中,每个人都可如此受益。因此,用户能选择使用朋友的代码,甚至在某些特定时间使用陌生人的代码。例如,他们可询问“Richard’sfavorite SE”(Richard喜欢的SE)或者“the movie Richard saw last weekend”(Richard上周末观看的电影)。
可使用例如在SMS等中使用的预先存在的代码和标签。可存在对代码本身的快捷键。例如,可有多种意义上的多级代码。例如,代码$1至$5可以是五种不同的搜索引擎,但是用户还可以有对“my favorite search engine”(我喜欢的搜索引擎)的代码,它指向特定时间指向那5个SE中特定之一。UDB将基于该代码来调用可应用的搜索引擎(以及浏览器应用程序)。同样的代码/标签在不同时间可指向不同的对象。例如,对象可动态地改变。例如,代码“latest issue of this periodical”(本刊物的最新一期)指最新一期。代码的特定类别可能需要是不变的。类似地,代码“My friend Richard’s favorite bookstore”(我朋友Richard喜欢的书店)的对象在Richard喜欢的书店改变时可自动地改变。
通过使用代码,可立即检索对象组-查询,URL、链接等。
代码也可逆向使用。即,给出一对象,就可标识出指向它的所有代码。如果这令用户满意,则在对引用的对象有引用的任何地方,都自动放置了附加的或作为替换的标签。
完全形式的代码可以是多级的。有若干种这种代码的预定义模板。例如,<whose codebook,topic,specific object>(<谁的密码簿、标题、特定对象>)可以是某代码集的格式。在代码<$f5,$t1,$3>中,$f5可以是一特定朋友,$t1可以是“数学”,而$3可以是该朋友喜欢的概率论教科书。类似地,另一个模板可以是<manufacturer,product>(<制造商,产品>)。所以<$2,$p1>是索尼的VCR,而<$2,$p2>则是索尼的数码相机。
可提供‘this’操作符的等效体,用于快捷键。例如,$3!q可表示在网站$3上对使用户到那儿的查询的搜索。某些预定义代码可以是!c可用于本上下文,!s本网站,!!s前一网站,!p本页面,!!p前一页面,!!-通用对话框中的前一命令等等。
本发明提供的另一相关特征是选择性改变某些对象的一部分并再次运行查询的能力。例如,如果用户搜索“hotels in miami”(迈阿密的旅馆)然后他们输入!mtampa,则新的查询被翻译为“hotels in tampa”(坦帕的旅馆)。实际上,我们可支持发挥我们具有的有关概念类别的知识的更为强大的功能。例如,第二个查询“!qtampa”将足以搜索“hotels in tampa”。使用类别信息,会知道“tampa”必须替换“miami”而不是“hotels”。然而如果用户已输入了“!q restaurants”,则新的查询将等同于“restaurants in miami”(迈阿密的餐馆)。
字以及所有类别的过滤器可以直接方式添加到在先的查询中。
某些密码簿可在家人、朋友和同事之间建立并共享。这些可包含对整组人有用的标签,例如用于公司内工程师队伍的标签。
还支持以下类别的首语重复引用(在有意义时可用“our”(我们的)来替换“my”(我的))我的地址、我的邻居(!n)、我的时区、我喜欢的perl指南、我喜欢的物理学教科书、我的邮编(!z)、我的银行、我的股票组合值、我的宠物店、我的药店、我的理发师、我的补鞋店、我妻子的银行、我的图书馆、我朋友喜欢的perl网站、我朋友的公司、我访问的上一个体育网站、我访问的上一个巨蟒网站、在访问巨蟒网站之后访问的网站、我对板球运动的上一次搜索等等。
某些引用可以是实际商店(或其在线版本)。例如“我的书店”可以是Amazon,而“我的搜索引擎”可以是Yahoo!。“我的cd店”可以是Yahoo!Shopping。某些引用可以是离线对象。例如,<$2,0,11,7>可以是对本期印刷报纸11页上第7个URL的引用。在任何上下文中,可使用范围操作符来指定整个范围的对象。所以,$712可指向7和12之间的每个代码。
根据设计,代码可没有前缀。例如,$2378可以是$2$3$7$8的缩写。
各种标签的较佳标注可能需要用户花时间作出。例如,对于“the last site Ivisited on baseball”(我访问的有关棒球的上一个网站),代码!sbaseball就足够好了。代码还可被视为像编程语言中的宏一样动作,并可与纯文本交织。例如,如果$t1是哲学而$2是尼采,则$t1@2ean美学可指“根据尼采的美学哲学”,其中$t1@03指哲学家尼采。
可提供现在、这个小时、今天、昨天、上个星期等的标签/代码。例如,用户可简洁地请求“上个星期的日志”或“上个星期的期刊”。用户可调用任一年任一月的日程表。
一般而言,代码由用户在高兴时创建。当系统相信代码在后来有用时,用户可得到提示以创建代码。例如,如果用户键入一复杂查询,并显得已发现结果集有用,则系统可向他们提供选项,以通过某些便于再调用的代码来引用该有用查询。然后,当然这些查询可重新使用并且将被重新使用,且因为密码簿是可共享的,这些查询也变得可共享了。
代码/标签本身可能是复杂的结构。每个代码可以有短描述和长描述。还可以有若干其它属性。可向用户提供一界面,以直接操纵这些复杂结构的某些方面(如果这就是他们想要做的)。在任何上下文中,多级代码情形中的任何更高级代码一度变得棘手。例如,如果用户已采用了Richard的密码簿,则暂时他们使用的所有代码可被假设都是从此处提取的。可得体地提供备选方案,使得如果某个密码簿不能翻译该代码,则查询能作理解的另一通用/特定密码簿。
关于一组网站的代码示例是“all the sites I usually visit each evening”(我每晚通常访问的所有网站)。可有用于特定任务和脚本的代码/标签。例如,“book travel”(旅行预订)可以是代码$1。可有用于概念的代码/标签,诸如“the movie I saw lastweek”(上星期我看的电影)、“the movie I saw this weekend”(这个周末我看的电影)、“the movie I am planning to see tomorrow”(明天我要看的电影)、“the movie myfriend Richard saw two weeks ago”(“两星期前我的朋友Richard看的电影”)等等。如果已在Yahoo!网络上查寻了电影时间或预订了电影票,则可向用户提供设立这种映射的提示。
本发明提供从标签到对象的映射,不管这些对象位于何处。例如,对于某些用户,“mytravel agent”(我的旅行代理)可以是Expedia。UDB即时地、直接地、且不费力地将他们带到那儿。
密码簿是可共享的,并且具有构建于实现中的一个病毒性效果。当用户设立其映射时,可向他们询问他们是否愿意向他们的家人和朋友通知他们现在提供该特征。类似地,当新的映射被添加到密码簿时,可通知感兴趣的用户。类似地,当指向映射的对象改变时,可自动通知感兴趣的用户。
可根据数字来引用书签、页面上的链接等。例如$b37可引用某些类别中的第37个书签。还可能通过输入足够的词首字母尽可能地消除岐义来寻找它。
可向用户提供表达查询的特定方法。例如,不输入具有前引号“和后引号”的双引号,他们可仅输入前缀\w。还可使用代码来促使查询的特别翻译。例如,“$a97 Honda”可表示这是一个地址。查询可包括特定的换码序列,以使搜索引擎不考虑某个缺省动作。例如,(由代码引用的或全部)URL是否应被解释为要直接去该特定网站的请求,可由URL之前的单个字符来指示。
步骤序列可被编码为一简单代码。例如,可有代码用于去页面P,点击链接L,在结果页面上点击链接L’并将相应页面返回给我。(这在参数化时将更有意义。)其特定情形是直接的“I feel lucky”(我很幸运)特征,即对于任何查询q都将用户带到第一结果处。
某些映射可以是项的集。例如,$s可映射为5到10个搜索引擎。“Play BBC”(播放BBC)或“launch BBC”(启动BBC)-可被设置成在Yahoo!或其它入口上播放BBC。如果特定用户曾经做的有关“BBC”的唯一事情是要启动它,则仅仅查询“BBC”就足够了。这样,该类的若干种命令突然变得可能了。传统类别的书签不能支持该类功能。
用户可随意选择其他人的标签/代码/书签。他们还可以挑选所有类别的脚本、模式、宏等。
所支持功能的其它示例包括“mail$5see you in 1 minute”(“给$5邮件1分钟后见”)、“show me unread mails”(显示未读邮件)、或者“show me all mails(and/or messages)received in the last 24 hours”(给我过去24小时内接收的所有邮件(和/或消息))、或者“move this mail/message to $7 folder”(将该邮件/消息移到$7文件夹)。使用较大版本的通用对话框也可编写较长的电子邮件。(通用对话框可被视为可调整尺寸的x-视窗。用户选择的任何尺寸可保持固定直到他们选择另一尺寸。)可能通用对话框的更好的名称是通用对话视窗-任何人在信息、工具和应用程序的(网络化)世界里需要的一个唯一的视窗。
所支持的其它类别的命令包括“publish this at my Geocities page”(在我的Geocities页面上发布它)、“show me the following file on my desktop”(给我桌面上的以下文件)、“send this web page to $5(with the following comment)”(将该网页和以下评论一起发送给$5)等等。所支持的另一类命令是“find David in$_”(在$_中寻找David),其中当前的上下文可以是网页、电子邮件、网站、电子邮件文件夹等。
本发明以两种方式将查询映射的概念扩展到特定结果。该查询可被扩展成包括在语义上对应于查询的所有模式。例如,用户可键入“hotels in seattle”(西雅图的旅馆)、或“hotels in seattle,wa”(华盛顿州西雅图的旅馆)或“seattle hotels”(西雅图旅馆)以得到相同的结果。映射的结果还可被扩展成单个结果之外。例如,如果用户有规律地显现为查看某些查询的2个或3个或4个结果,则可提供确实将查询链接到结果子集的映射。本发明还提供从一结果到下一结果直接导航的简便方法。
联系信息可被直接访问并添加/修改。用户还可使用该通用对话框来创建任何类型的列表-要做的事情的列表、购物列表、食品列表等。在某些方面中提供了工具和应用程序以帮助用户自动创建用于这些列表的元素。这些列表不管在哪里对用户而言都是可访问的。例如,用户在例如下班途中会忘记接着必须去哪里或者需要购买什么。他们可从车中通过手机访问系统,并使用文本-语音技术读取列表的相关部分。
在某些方面中,所有类别的被动内容是可动作的。这包括不是链接而仅仅是纯文本的内容。例如,给定页面上任何地方的表达式列表,用户可请求“$q$57”,意思是将第5和第7个表达式作为查询运行。映射不必单个项对单个对象类别。它们可包括使用常规表达式来指定模式。例如,用户可询问他们可对任何查询的哪一些作排序-比如美国国内城市-某某结果和信息应以某某顺序显现。因此,一般而言,映射是从查询/需要模式到对象(一个或多个)。查询模式可由用户提议,或者由本发明的查询分类算法发现。
对于特定查询或查询模式,映射可直接访问网站的部分,例如IY(InsideYahoo!)(以直接查看内容)。类似地,到目录内容的映射是可能的。
用户可按他们喜欢的来设置他们的(可定制的)环境。某些环境变量值甚至在用户开始输入其查询/需要之前就可通过一系列命令来设置。现有的定制选项可直接转换成环境变量,用户可在通用对话框中改变其值。还支持以下类别的更复杂操作“find meeting times this week for $2”(寻找本周$2的会议时间),其中$2指某项目的特定工作队伍。
另一普通操作类型的形式是“list x”(列表x),其中x是各种东西的任一种。在某些方面中也支持列表的交集和并集。例如,“list x and y”(列表x和y)可表示示出这两个列表中共同的东西,而“list x or y”(列表x或y)则可表示示出其中任一个或两者所有的东西。
日出、日落、月相、星座等在通用对话框中也可用。例如,“my horoscope”(我的星座)将使用户看到他们的日和周星座。用户将得到鼓励以从其它地方引入映射。例如,他们可请求将所有他们的个人书签引入为映射。甚至对预定义的标签的引用也是可定制的,从而用户可选择他们自己的标签以引用任一预定义的标签。用户可简洁地引用他们感兴趣的特定区域。例如,当他们作出“my entertainmentbookmarks”请求时,系统可示出他们的属于娱乐类别的那些书签。
用户可通过仅输入结果的号码来直接到达特定结果。例如,$r$7可直接到任一结果块的第7个结果。这用于商业(sponsored)搜索结果(例如IY)以及主要的搜索结果。用户可请求通过使用诸如“clear”(清除)的命令来清除UDB,甚至清除该对话期间的整个历史。
可对成堆的对象加标签。例如,查询字符串以及与之一起的首选项(preference)。类似地,代码以及密码簿的相关部分乃至编码的应用结果可更简便地在用户之间共享。URL完成可以是自动的,从而“go ebay”(去ebay)被翻译为“去www.ebay.com”。至关重要的是,在某些方面中可使用个别和集聚的用户干预,以确定提供给用户的最适当动作。
还支持以下类别的黄页查询“opening hours Fry’s$”(营业时间Fry’s$)以寻找本地Fry’s店的营业时间。
一旦搜索结果页面(以及其它页面)中的块被清晰地标记出来,用户就可使用简单的代码跳到若干地方的任一个。例如,”$s4”可将他们带到第四个商业搜索,“$i3”可带到第三个IY结果等。用户可指定一次访问的若干链接。例如,他们可输入$s3r14,意思是商业搜索3和web结果14。用户还可显式地在通用对话框中建立映射。例如,给定他们喜欢的某些文章中的一个短语,他们可通过简单键入“phrase$_”(短语$_)将该短语映射到该网页。
可作非常精确的有关对象的本性的映射。当今的锚文本、URL和查询都不支持该属性。例如,映射可清楚地指出其对象是单个网页、或网站、或一系列网站。它们还可指向那些对象的特定部分。
用户可用任何自然或专用语言为他们想要引用的任何对象创建标签。例如,他们可输入英文内容的中文标签。他们甚至可在英文短语和中文短语之间建立他们自己的映射。当他们不管从哪儿查看英文内容时,除了原始文本之外或作为该原始文本的替换,都可得到对应于英文条目的中文短语。还支持是列表的对象。例如,用户可能希望保持一个名人列表,他们特别希望寻找有关这些名人的最新八卦。他们可使用通用对话框从这种列表中任意添加或删除项。
通过通用对话框,可直接调用用户在过去使用的任何特定工具或应用程序的历史。因而,例如,用户可获得他们读/写的最近5个电子邮件,或者他们能获得在Yahoo Maps上作的最近7次地图查寻,或者他们可查寻使用Yahoo Yellow Pages查寻的最近10个公司等等。更确切地,该工具或应用程序可在背景中,并且不需要特别注意。即,他们可简单地请求“最近5个方向”或“最近5个公司查寻”等。UDB系统确定必须涉及什么工具并向它们返回正确的列表。这是非常重要的特征,因为“新近”效果的意思是用户需要再次查看最近看过的东西的可能性非常大。
本发明也提供了在内联网上即时查寻资料的能力。例如,可使用通用对话框在会议室内寻找同事的电话号码。用户可重复他们在任何地方输入的任何数据。他们所输入的数据被自动转换成映射。例如,如果他们在该会话期间在5个不同表格内输入了10项数据,则他们可通过简单地置入引用来取回他们在任一表格内输入的东西。
复杂的查询可通过若干步骤来建立,就像有时在用户能完全指定他们想要进行的旅行计划之前,要填写若干表格那样。
在某些方面中,UDB系统支持代码映射特征的Turing-complete集。例如,支持“if和“while”语句。例如,可有建立为映射的模式“if YHOO>25 go to Stockbroker site and get such and such information”(如果YHOO>25则去股票经纪网站获取某某信息)。
因为人类大脑调谐为在感知可视图标方面比比文本更有效,也可实现将图标用作映射中的引用。
本发明允许映射的对象是映射本身。本发明还支持lisp样式“eval”类型操作符的等效体,它可应用于第一操作的结果。例如,“eval(‘the movie Richard saw lastweekend’)(Richard上周末看的电影)”可将用户带到搜索结果页面或该特定电影的特定页面。
在某些方面中,提供了较大的通用对话框,以帮助更为复杂的查询情形,因为用户得到鼓励以将他们知道的有关他们所需的所有东西输入其中。例如,用户可输入他们所知道的有关他们正在寻找的某长时间失去联系的朋友的每件事物名字、就读的大学、居住地点、工作地点等等。然后搜索功能可处理该信息以如上确定概念单元,产生一系列查询,混合相应的搜索结果,并向用户提供这些混合的结果。
本发明提供高度复杂的查询完成特征。当用户键入时,显示相关字和单元(可显现在下拉框中)。这些可基于相关搜索,但对个别用户个性化。例如,当用户键入“sf”,则可部分地基于该用户过去已搜索有关“sf”的内容来示出显示天气、旅馆、饭店等的下拉框。用户可输入是显式或隐式的叉积的查询,类似于使查询的一个部分保持不变,而仅变化另一部分。例如,如果某人经B和C从A地飞到D,则我们将一次查看每个地方的天气。还有,一次查寻D附近的方向、地图、饭店和旅馆的全部。
叉积查询可通过用户正好具有的作为映射的两个或多个列表的交集来创建。例如,用户可具有他们正在旅行的城市列表,以及想要寻找的有关它们的东西的列表。如果每个列表都具有4个项,则用户可通过简单的诸如“11×12”的命令来产生16个查询。
为了使用户能更简便地输入标签和查询,本发明提供随着用户越来越详细地指定他们的需要时增量显示的下拉框。本发明还提供一拖放查询信息界面,从而用户可在希望创建请求时置入文本字符串、图标、代码等。
用户能映射到特定的新闻项或拍卖项(或者他们所跟踪的任何其它东西)。例如,当新闻突然发生且用户显示出极大兴趣时,系统可询问他们是否要为其创建代码/标签,从而他们可更简便地跟踪其进展。
用户可(以编码形式)一次性地指定他们所需的一系列东西,且它们显现在一个页面上,或分成一组密切联系的页面。例如,$2$5$7$9可立即回到旧金山地图、天气和旅馆。所以,用户能找到他们正在跟踪的比赛的即时的“最新板球得分”。他们可找到他们在跟踪的航班的“最新航班信息”。集聚可能性也存在。例如,用户可为特定类搜索请求在(同类产品中)最喜欢的搜索引擎上执行搜索。用户还可设置映射,从而对于特定类的搜索,首先可考虑一个特定的搜索服务集。
较大的通用对话框允许在其原始请求之后马上向用户显示相关搜索。当请求有歧义时,系统可向用户呈现一个可能的解释列表,从中他们可选择此时他们想要表达的请求。如果查询是有歧义的,则系统可在同一结果页面上(以明显独立的框或若干紧密相联的页面)显示对应于需要的最可能不同解释的结果。不管哪一个是用户表示感兴趣的那一个,系统可显示其更多内容。例如,当用户键入“java”作为请求时,则一块结果可对应于编程语言解释,另一块对应于咖啡豆解释,而又一块则对应于印度尼西亚岛屿解释。
用户能够以简洁形式表达复杂的、多步骤的操作。可作出Unix-样式管道的模拟。例如,他们可请求“Java|programming language”(Java|编程语言),意思是显示关于作为编程语言的Java的结果。他们还可请求“Java|excluding programminglanguage”(Java|除编程语言外)。关键是系统向用户提供请求基于某些选择标准进行过滤的结果的能力。用户还可获得从一个源发送到另一个地方的信息。例如,“$.Hawaii wed 1 week|mail $5”可表示给我星期三从我的居住地到夏威夷并停留一周的旅行选项,并且将其通过邮件发送到$5。该信息还可显现在用户的屏幕上。类似地,当他们将某些东西输入日程表时,可编程为(或可显式询问)向他们的秘书或他们要会见的人发送邮件。例如,“update David 10 Wed|mail$7”。
还支持涉及来自若干源的数据和在其上计算的感兴趣的功能。例如,“$_|publish anchor text...”可将刚读取的电子邮件的附件发布为带有所提供的锚文本的用户主页的链接。用户还可使用重定向操作符来将某些内容置入某些文件。他们还可请求从某些文件中读取某些内容。例如,他们的查询的一部分可在文件中。用户可请求它们一个接一个地运行。类似地,URL可在一个文件中,且用户可能希望逐页访问相应页面。
诸如“Go to the URL in David’s last e-mail”(去David上封电子邮件的URL)的表达式将得到理解并立即基于它动作。用户可请求访问所有类型的共享对象。例如,用户可键入“calendar David today”(David今天的日程表)并直接去查看他朋友或同事David的日程表。
向用户提供拖放界面和其它简单界面,以能够创建复杂的查询。这些可用表示操作的框和表示它们之间数据流的箭头示出。所有查询-不管上下文如何复杂和丰富-都是可存储的、可共享的和可再使用的。所有类型的模式(不管如何复杂)可按需被存储、参数化,从而对象可随着时间改变。
通过简单地键入“$4;$3;$7;$9;”,用户能以一种持续的最新型的方式在多达四个不同地方预订航班、旅馆、饭店、和租车,其中该4个代码指向提供对预订以上一个或其它的便利的4个地方。映射可以是对任何内容的特定部分,例如某处的单个图像或段落-在特定web服务或入口的内容中,或在web上任何地方的内容中。这向人们提供了一种在web上引用并共享内容的各个特定部分的方法。映射可以是对任何内容的特定部分,例如,某处的单个图像或段落-在网站的内容中,或在web上任何地方的内容中。这向人们提供了一种在web上引用并共享内容的各个特定部分的方法。
某些人将自然地站出来作为更有效的映射制作者,且他们的努力(只要他们使它们可共享)将得到越来越多用户的欣赏。用户可使用他人的映射并选出它们。
提供给用户的某些其它特征包括摄氏和华氏、磅和千克、厘米和英寸之间的转换。还有某些更复杂的计算,像给定温度和风速,得出风寒因素值。邮资、邮编、词典、字典、百科全书、拼写检查、黄页、白页、逆向电话号码查寻、电视节目时间表、电影时间表等也可通过通用对话框变得可用。用户可寻找紧急/中断情形,并得到通知。例如,“$.alert”查询可返回是否目前有天气相关的警报的值。类似地,他们可以发现是否在本区域有普遍的断电。用户可输入任何类型的符号并查寻它们。他们可维护任何类型的简要(或更全面)日志。他们可输入提示和暗示。他们还可使用特征作为记忆辅助物,来跟踪难以记忆的东西,像某人的名字应该如何发音。
在一方面中,整个Yahoo Messenger会话可在通用对话框中运行。用户可与一个或多个人交互。类似地,基本web会议也在UDB中得到支持。通用对话框还可用来情景查寻。这表示如果用户刚完成旅行查寻,并发现可用的使用AmericanAirlines从A到B的选项,则他们可简单地请求“$.United”并取回对United的相同查寻的结果。诸如“buy$.At Amozon”(在Amazon上购买$.)的命令可得到支持,其中$.指当前的书名/查询。
在通用对话框中,用户可输入一系列项并请求我们寻找更多像它们的东西。例如,用户可输入一查询并请求与之相像的其它查询。或者它们可输入对网页或网站的引用,并请求更多相像的页面。命令“compare x y”(比较x y)可用于广泛范围内的x和y。例如,x和y可以是两个竞争产品。用户可直接查寻所有类别的个人信息。假设,例如,David是用户的朋友或同事。则,例如,“David’s picture”返回David的照片,“David’s birthday”返回David的生日等等。用户可指定日期或一个范围内的日期来从一组同事-朋友、家人、同事或名人-中寻找生日在该时间段内的人。
无论何时示出响应,用户都可在全部原始的上下文中(直接地或通过遵循链接)查看该响应。因而,例如,一旦他们已查看电子邮件,他们可请求在全特征电子邮件程序的上下文中向他们显示它。
某些特征/功能在一年的特定时间更为显然。例如,税的相关信息在通常准备纳税申报单的时期左右会更容易访问。
游戏特征也可通过通用对话框可用。例如,“Give me a puzzle”(给我智力玩具)将导致(因用户的定制或系统对用户能力的现有知识而具有恰当难度级别的)任一智力玩具显现。类似地,用户可请求玩字谜或另一类纵横字谜。他们还可与计算机或其它用户玩简单的游戏。
用户还被给予在网络上扩展他们想要的任何警报的选项。例如,可将警报置于通用对话框旁边-例如,重大突发新闻警报、邮件到达警报、拍卖进展报告警报等。用户还能在页面上置入本来不在那里的链接。在用户移到这些页面的任何时候,链接显现。
用户可使用该通用对话框来提供反馈、编写总结、编写评论等。例如,用户可键入给hp的消息“告诉hp他们最新的Pavillion不好”。用户还可选择通过任何相关/有关股东的视角来查看任何内容。例如,如果他们想要查看到达任一地点的公司的方向,则该公司将指出该方向并不完全正确,而是应该如何如何。可使各个模式应用于各类情形中。例如,可建立一模式以帮助基于用户过去如何对电子邮件分类来分类各电子邮件。当用户已接收要阅读的电子邮件时,我们可建议“move$_to folder $45”(将$_移到文件夹$45)以及缺省地或如果用户同意,确实如此进行。
可在其中示出各种预选类别的任一查询的查询自动收报机(ticker)也可在静默期间出现于通用对话框中。若干查询自动收报机可同时运行。类似地,有体育运动得分自动收报机、股票自动收报机、突发新闻自动收报机等,所有的都对特定用户个性化。
翻译是通用对话框界面内所支持的另一特征。用户可输入或粘贴一种语言的文本,并使其翻译成他们选定语言的文本。
诸如“next”(下一个)和“more like this”(大约如此)的操作符在极端意义上是多形的。因此,在搜索结果页面的上下文中,“next”将把用户带到同一查询的下一个结果集中。类似地,“more like this”可用来获得更多有关给定查询的搜索、更多类似于给定网站的网站等等。
用户可在查看任一其它对象时请求来自任何源的富集(附加值)。这不仅仅是用户不得不显式地请求信息以所需方式流入的一次性事件。相反,可由用户部分地基于我们的提议来建立模式,从而某些特定的附加值确实在所有正确情形中显现。例如,特别是在公司环境中,它有助于知道邮件列表中特定电子邮件的发送者所属的角色或组。简单地通过使机构图信息与发送者的电子邮件地址相联系,可由接收者使用的有关发送者的信息可显现或至少直接可用。拼写检查是在所有地方(acrossthe broad)可用的另一类附加值。不管用户将查询输入了哪个搜索框,错误都能得到纠正,并可提供最适当的选择。
富集(enrichment)可采取原始信息的过滤和分类的形式。例如,给定某公司内雇员生日的长列表,用户应能简便地找到他们的哪些同事(如果有的话)被包括在列表中。
用户在开始时可能不得不指定全部的查询/需要,但是一旦系统识别了他们的意图,仅来自用户的简短暗示就足以使所需事情发生。对于用户最熟悉的以及他们需要最常访问的那些对象,代码应当是最简短且最便于使用的。关键的是,要注意本方法确实是基于个性化工作的。不可能有足够短的代码能包括世界上所有用户需要的全部。
在任一特定上下文中,如由特定用户和任务以及情形所指定的那样,使所出现的最可能的需要的实现方法立即可用。例如,当用户表示对某特定的邻近的商店的兴趣时,可预期他们可能询问的问题。在此情形中,最可能的问题是有关营业时间、电话号码、地图和方向等。
对代码/标签的部分兴趣是仅找出什么代码存在且他们的最新的对象是什么。例如,对于标签“movie Richard saw last week”(Richard上星期看的电影),取决于Richard上周末是否看了电影会有(不同的)对象。例如,用户可将警报置于特定地图上,从而他们可得到通知何时标签的对象存在,且在某段时间内它是否改变。即使此时无对象存在,用户也可对特定标签设置警报。一旦某人设置了匹配指定标签的(可共享)标签,用户就可接收警报。
用户可对他们或其他人的标签添加注解。某些用户可指出可能某某对象是对某引用的更佳映射。映射的某些标注和属性可控制何时使用那些映射。它们可表示何时特定映射更(或更不)可能有用。查看他们想要看到的标注并按他们想要地使用它们是取决于用户的。
代码/映射还提供建立推荐特征的方法。例如,特定工作地点中同事们的“mydentist”(我的牙医)映射可反映谁是本地区较好的牙医。当映射也被标注时这尤其适用。例如,同事可对有关上次看病期间与“my dentist”发生的不愉快经历作评注。这些评注也可被使用。
在一方面中,通用对话框被实现为浏览器视窗一侧上的瘦长视窗。用户可通过在他们正在查看的行的旁边输入字或短语的位置,来输入包括来自他们正在阅读文本的字和短语的查询。例如,在页面的第27行旁边,他们可输入$6:8来表示接着搜索该行上第6到第8位置之间的行上的字序列。还可使用其它界面来支持类似的功能。例如,用户可选择他们感兴趣的行的一部分,以激发查询。
为能够将映射添加到其映射中,可向用户提供智能界面。例如,“点击”(将鼠标置于例如红点的对象上)产品显示列表中每个产品旁边的小红点可使该产品成为映射的一部分。
有时某人非常喜欢在网页上读到过的某些表达。该人想要记住它。本发明向该用户提供将该表达保持为映射的实用工具。他们可将其简单地粘贴到通用对话框中。如果他们喜欢,上下文可自动被保持,从而当他们下一次寻找该短语时,相应的网页可直接在高亮的短语的位置上可用。今天,书籍的读者常常对感兴趣的表达和语句划下划线、加亮或加括号。本发明向用户提供更为丰富的这类功能。
锚文本和导航查询是对某类对象的映射的现有示例。本发明向用户提供具有他们自己的对这些对象的标签的可能性。如果用户喜欢,网页上现有的锚文本可被它们的标签替换,同时保持相应的对象。
用户还能使用背景浏览特征,其中某些内容-基于所建立的模式、概况文件和情形-可在后台下载并组织。例如,每天早上在乘火车上班前,可在用户带去上班的膝上型计算机上下载并组织来自一系列报纸的最相关故事。
用户可请求查看某些引用代码的对象的完整历史。例如,通过请求6个月期间对“movie Richard saw this weekend”(Richard本周末看的电影)的引用,用户可看到Richard在前6个月内看过电影的完整列表。给定任一类型的模式,用户可请求按时间或空间遍历对应于该模式的对象列表。可实现支持显示的幻灯片放映特征。
代码和标签对用户而言具有许多优点。其一是代码将防止若干键入错误。例如,如果用户使用‘britney spears’的可靠代码而不是键入它,则识别负载少得多,错误也少得多了。
标签最好存储在网络界面或例如Yahoo!服务器系统的服务器系统上,诸如图2中所示的服务器160或图5中所示的服务器460,所以用户可从一个计算机移到另一计算机,从一装置移到另一装置,并能够经网络在任何时间访问标签和映射,并仍然得到所有益处。
持久的通用对话框的另一优点是“&”外壳操作符的等效体的可能的自动使用。将不再有用户动作的简单无穷的请求-响应、请求-响应序列。相反,用户可一次性地键入若干命令,或在第一个命令尚在处理时键入另一命令。类似地,该系统可一次性地提供若干响应和相继动作。当准备好对复杂请求的响应时,它当然在完整的原始上下文中示出。在某些情形中,到准备好对复杂请求的响应时,用户可能已导航了若干其它地方。
通用对话框方法的另一优点是,用户可在同一便于使用的用户界面中查看所有类型的信息-来自各种工具和应用程序。这种思想的影响对用户应当是非常积极的,因而对本发明提供的对信息、工具和应用程序的使用也有非常积极的影响。
在一方面中,所创建的映射用来确定更为有效的查询分类从哪个查询或那些查询模式示出了哪些类别的结果,以及以什么顺序示出。这是将出现的非常重要的隐式反馈循环。集聚-集体的智慧-的力量也将在本上下文中可以看到。例如,一旦一组不同用户已将查询“laptop”(膝上型)(或相应查询模式)映射到ibm、dell、sony和hp,系统就可作出用户可用作搜索结果的最流行的映射(根据流行度或某些略为复杂的方面来排序)。不仅基于多少人创建它而且基于多少人使用并一直使用它,映射被视为是流行的。此外,不仅映射的建立将被监视,而且它们的使用以及引用和对象的使用也要被监视。因而,不像书签等,本系统中有关用户意图的知识采集是基于用户在任何时刻感兴趣的内容的。如果仅仅分析书签文件,就一定会丢失某些至关重要的东西。经观察,用户平均有数十个书签,其中的大多数几乎从来不用。
某些用户喜欢键入,而不太喜欢将鼠标置于链接上以点击之。其它人则发现第二种交互方法比第一种更容易。本发明一律提供两种选项,使用户能选择在任何时间能最好工作的方法。
映射/代码还向新手提供一种方法,以理解任何领域中专家如何思考并工作。通过查看引用和专家的映射的引用,人们可取得对任一特定领域的较深领会。
本发明向用户提供按需标注(如何使用它)的能力,而不是如何命名某些东西-工具或应用程序-的能力。例如,某些用户可能对作出在哪里寻找有困难。例如,他们不确定他们是使用黄页、地图还是其它来进行寻找。本系统通过给他们以统一方式在通用对话框中输入其需要,以及在同一通用界面中提供对他们的需要的满足,来免除他们理解并记忆什么纵向服务提供什么功能的需要。
出于各种原因,诸如锚文本的现有映射的示例是相形见绌的。一个主要原因是,例如在锚文本情形中,web内容的创建者确定如何引用另一对象。相反,由本发明提供的那类映射使每个用户能确定他们需要如何引用他们想要引用的内容。快捷键对将需要(或通过语音)输入移动服务是非常有用的。快捷键的使用还将提供更好地处理无格式查询/需要的方法。例如,通过对使用“w”代码调用天气信息的快捷键的使用,系统可确定正确的概念类别,在此情形中是世界上的城市。系统然后可使用越来越有效的概念类别和查询,以例如从IY等向用户提供更为相关的内容。
代码最好是缺省地对上下文敏感的。所以如果该上下文能充分地消除歧义,则$3可引用第三个搜索引擎或第三个饭店。
面向对象的方法是本系统的组成部分。多形性被广泛地采用(像编程语言中那样)。例如,同一符号可取决于上下文表示一个或另一个东西。继承性是本系统的另一方面。密码簿可被继承。如果代码不能使用用户的密码簿来解密,缺省地可使用他们所属的组的密码簿。
对于任何特定用户,支持任意数量的映射。自然地,不管有多少映射,只有映射的一个小子集可能会被频繁使用,并可对其高速缓存。
在一方面中,映射本身是第一类对象。用户可创建映射,并请求将它转发给其他人作为建议。例如,一个关爱的母亲可制作她在校儿子的映射-对学校的学习、或营养、或其它东西。映射还具有它们自己的本体,这使得它们可集聚地并对特定用户浏览。
尽管缺省地存储在服务器上且因此在任何其它地方可用,但是为了效率和性能原因,密码簿的复制版本可存储在接近用户桌面边缘或存储在桌面上。
最好积极地给予用户在机会出现时建立映射的选择。例如,如果系统确定(一次、两次或三次)特定用户查询“hp”,然后点击将他们带到www.hp.com的搜索结果链接,则系统可向用户提供制作从查询“hp”到www.hp.com的映射的选择。如果用户同意,则创建该映射。类似的方法应用于任何这样的情形系统发现动作的常规模式,该模式可通过利用模式的快捷键的使用而被简化。
在一方面中,通用对话框向用户提供对供应商或甚至整个web提供的所有服务的单一入口点。一种考虑该通用对话框的方法是不管用户做什么,它都提供与用户通信的保持开放并活动的信道。对话不再仅仅是用户请求、提供者响应、第二次用户请求、第二次提供者响应的模式。相反,提供者可采取主动,并为了使用户对某物感兴趣,而在它认为有意义的任何时候在上下文中提供高度目标化的促销。类似地,系统主动地向用户提供建立各类映射的机会。额外搜索服务可收费提供,其某些特征可从所述快捷键方法中提取。
映射还可来自与对象的会话中。例如,用户可在浏览会话期间发现某些类别中的某些感兴趣产品。后来他们只想向合伙人提供这些感兴趣的产品。在每个对象/产品旁边可提供一选项。对任一广告/促销也一样。在通用对话框中,用户可输入将来产生的需要。该想法具有极大的商业潜力。用户可表达他们这个春天到欧洲旅行的需要。该系统跟踪这些需要并尝试完成之。例如,用户可请求监视他们认识的人两天之后要乘坐的航班。
与用户的持久对话还向系统主动提供高亮特征、功能和内容的机会,从而增加在较大的属性集上展开的独特内容、以及功能强大的工具和应用程序集的展现。还可运行随时间增加的促销,像报纸中的某些广告,它使人每天都好奇,直到在本周结束时最后揭示它们实际上都是关于什么。
图7和8示出由本发明的所述UDB界面系统和方法提供的功能示例。特别地,图7示出响应于用户在UDB 500中输入预定义代码或标签而向用户系统提供的网页。例如,参照图6,当用户输入代码“travel!”时,系统访问存储在例如服务器160或其它服务器系统的系统中或客户机系统内的映射,并确定所输入的代码映射到由Yahoo!提供的“travel”(旅行)页面。然后例如HTTP请求的网络请求被发送到Yahoo!,以访问该旅行网站(从访问映射表的客户机系统或服务器),并作为响应在图7中示出的旅行页面被发送给用户(例如使用HTML)。所提供的页面还包括在其上显著显示的UDB 500。图8示出响应于用户在UDB 500中输入另一预定义代码或标签而向用户系统提供的网页。在此情形中,参照图7,用户已输入“defined(argument)”(已定义(变量)),其中变量是寻求定义的词。此处文本变量是“quantity”(数量)。系统访问存储在例如服务器160或其它服务器系统的系统中或客户机系统内的映射,并确定所输入的代码标识应提供对变量的字典定义。系统查找字典定义,并将其提供给用户作为独立的网页。在此示例中,系统还执行对变量的搜索,并在定义下提供结果,如图所示。
在某些方面中,本发明的标签、代码、参数和任何其它映射都是可搜索的。此外,也可搜索对标签的引用以及标签映射到什么。例如,标签名称是可搜索的,而标签对象也是可搜索的。在一方面中,当向网络上的节点分配标签时,提供标签的本体分层结构。示例将在Yahoo!Directory中,其中各个节点表示不同的主题。在此情形中,用户可在网络中的各个节点上导航这些标签。
尽管本发明已通过示例并根据特定实施例进行了描述,但是可以理解本发明并不限于所揭示的实施例。相反,它旨在包括对本领域技术人员显而易见的各种修改和类似排列。因此,最广泛的翻译应根据所附权利要求的范围进行,以便包括所有这些修改和类似排列。
权利要求
1.一种计算机实现方法,所述方法基于客户机系统中的用户输入的内容来处理所述用户输入以确定要采取的动作,所述方法包括在与所述客户机系统相关联的图形用户界面显示上显示对话框;接收输入所述对话框的用户输入;以及基于所述用户输入内容来处理所述用户输入的内容,以确定要采取的动作,其中所述动作包括以下之一使用所述用户输入作为搜索查询来执行搜索,以及访问驻留在所述客户机系统上的一个或多个应用程序以基于所述内容执行进一步的处理。
2.如权利要求1所述的方法,其特征在于,所述内容包括映射到特定应用程序的用户定义的标签。
3.如权利要求1所述的方法,其特征在于,所述特定应用程序是从包括电子邮件客户程序、即时消息客户程序、数据库管理客户程序、文档管理客户程序、日程表客户程序、浏览器客户程序、电子制表客户程序和文件传送客户程序的组中选择出的。
4.如权利要求1所述的方法,其特征在于,所述标签被存储到将所述标签映射到特定应用程序的映射表中,且其中处理包括使用所述标签作为密钥访问所述映射表,以标识所述特定应用程序。
5.如权利要求4所述的方法,其特征在于,处理还包括调用所述特定应用程序以进一步处理所述内容。
6.如权利要求1所述的方法,其特征在于,所述内容包括映射到多个特定应用程序的用户定义的标签。
7.如权利要求6所述的方法,其特征在于,所述多个特定应用程序包括从包括电子邮件客户程序、即时消息客户程序、数据库管理客户程序、文档管理客户程序、日程表客户程序、浏览器客户程序、电子制表客户程序和文件传送客户程序的组中选择出的至少一个应用程序。
8.如权利要求1所述的方法,其特征在于,所述内容包括用于特定需要的自然语言标签,且其中所述自然语言标签映射到驻留在所述计算机上或驻留在与所述计算机耦合的网络上的一个或多个应用程序。
9.如权利要求1所述的方法,其特征在于,执行搜索包括调用客户机系统上的浏览器客户程序,并将所述搜索查询发送给远程服务器。
10.如权利要求1所述的方法,其特征在于,所述用户输入的上下文是基于所述用户输入的格式来确定的,且其中确定要采取的动作是基于所述上下文的。
11.如权利要求1所述的方法,其特征在于,所述用户输入是通过与所述客户机系统相关联的一个或多个用户输入装置来接收的。
12.如权利要求1所述的方法,还包括接收来自远程系统的密码簿,所述密码簿包括一个或多个标签与一个或多个特定应用程序的映射,所述密码簿标签由另一用户定义;以及将所述密码簿存储在所述客户机系统的存储器单元中。
13.如权利要求12所述的方法,其特征在于,处理包括在用户输入中标识一个或多个标签,且其中访问一个或多个应用程序包括使用所述密码簿标识所述一个或多个应用程序。
14.如权利要求13所述的方法,其特征在于,标识一个或多个应用程序包括将所述一个或多个标签用作密钥,以在所述密码簿中查寻一个或多个应用程序。
15.如权利要求1所述的方法,其特征在于,访问一个或多个应用程序包括以下之一执行被配置与所述一个或多个应用程序接口的一个或多个API,以及执行被配置成与所述一个或多个应用程序接口的一个或多个脚本。
16.一种在多个客户机系统之间共享可动作的标签的方法,所述方法包括在第一客户机系统上创建第一标签,所述标签包括对可在所述第一客户机系统上执行的至少一个特定应用程序的映射;经网络将所述标签传送给第二客户机系统;将所述第一标签存储在所述第二客户机系统的存储器单元上;以及处理所述第二客户机系统上的用户输入,且如果所述用户输入标识所述第一标签在所述第二系统上调用所述至少一个特定应用程序;以及使用所述至少一个特定应用程序来处理所述用户输入。
17.如权利要求16所述的方法,其特征在于,所述至少一个特定应用程序是从包括电子邮件客户程序、即时消息客户程序、数据库管理客户程序、文档管理客户程序、日程表客户程序、浏览器客户程序、电子制表客户程序和文件传送客户程序的组中选择出的。
18.如权利要求16所述的方法,其特征在于,所述第一标签引用从包括结构化的数据类型、非结构化的数据类型、文本、数字、图像和数据库记录的组合中选择的多种数据类型的任一种。
19.如权利要求16所述的方法,其特征在于,所述标签在包括一个或多个其它标签的密码簿中被传送给所述第二客户机系统,每个其它标签标识可在客户机系统上执行的特定应用程序。
20.如权利要求16所述的方法,其特征在于,所述第一标签是自然语言格式的。
21.如权利要求20所述的方法,其特征在于,所述标签标识远程服务器上的网站,且其中所述标签映射浏览器应用程序。
22.如权利要求16所述的方法,其特征在于,所述至少一个应用程序是浏览器应用程序,且其中处理包括使用所述用户输入来执行搜索。
23.如权利要求22所述的方法,其特征在于,执行搜索包括向远程系统发送搜索查询,且其中所述远程搜索系统基于所述用户输入和所述第一标签来提供搜索结果。
24.如权利要求16所述的方法,其特征在于,所述第一标签标识第一对象,所述方法还包括响应于用户请求将所述第一对象改变成所述第二客户机系统中的第二对象。
25.如权利要求24所述的方法,其特征在于,调用包括调用一浏览器应用程序,且其中处理包括使用所述第二对象访问远程系统。
26.如权利要求25所述的方法,其特征在于,所述第二对象包括URL和对远程网站的链接之一。
27.如权利要求16所述的方法,其特征在于,处理包括基于所述第一标签检索或请求来自远程网站的信息。
28.如权利要求27所述的方法,还包括选择一传递应用程序,用来基于要传递的信息的上下文将所述信息传递给用户。
29.如权利要求28所述的方法,其特征在于,所述传递应用程序包括邮件应用程序、即时消息应用程序和浏览器应用程序之一。
30.如权利要求16所述的方法,其特征在于,所述第一标签包括第一名称,所述方法还包括响应于用户请求将所述第一名称改变成所述第二客户机系统中的第二名称。
31.如权利要求30所述的方法,其特征在于,所述第一标签标识第一对象,所述方法还包括响应于用户请求将所述第一对象改变成所述第二客户机系统中的第二对象。
32.如权利要求1所述的方法,其特征在于,要采取的动作包括基于要传递的信息的上下文将所述信息传递给用户。
33.如权利要求32所述的方法,其特征在于,所述传递信息包括使用邮件应用程序、即时消息应用程序和浏览器应用程序之一来提供所述信息。
34.如权利要求1所述的方法,其特征在于,所述用户输入包括多个独立条目,其中处理所述用户输入的内容包括独立处理每个条目的内容。
35.如权利要求34所述的方法,其特征在于,对于每个条目,所述方法包括确定要采取的动作,其中每个动作基于所述条目的上下文确定。
36.如权利要求1所述的方法,其特征在于,所述动作包括使用所述用户输入作为搜索查询来执行搜索,其中所述搜索提供一个或多个搜索结果,所述方法还包括建立与关联于所述搜索结果之一的远程网站的通信链接。
37.如权利要求36所述的方法,还包括从所述远程网站接收附加信息,并将所述附加信息和搜索结果提供给所述客户机系统。
38.如权利要求1所述的方法,其特征在于,所述要采取的动作包括访问两个或多个所述应用程序,并显示来自所述两个或多个应用程序的每一个的信息。
39.如权利要求1所述的方法,其特征在于,处理包括访问第一应用程序,且其中进一步的处理包括基于所述内容访问第二应用程序。
40.如权利要求39所述的方法,其特征在于,所述第一应用程序是电子邮件客户程序,且其中所述第二应用程序是电子制表客户程序、日程表客户程序和浏览器客户程序之一。
全文摘要
用于通过使用通用界面来增强信息检索和通信功能的系统和方法,该通用界面可被配置成与驻留在用户计算机上的多个应用程序接口,并提供用来与远程系统上的搜索智能通信的持久双向通信信道。可共享的、可动作的标签和标签的密码簿可由用户定义。每个标签可以自然语言格式来定义,并可包括对可在用户系统上执行的特定应用程序或应用程序集的映射。用户系统之间标签和密码簿的传送允许用户之间的增强的信息交换和检索,以及由服务器系统进行的信息交换跟踪和分析。
文档编号G06F17/30GK1942856SQ200480012339
公开日2007年4月4日 申请日期2004年4月5日 优先权日2003年4月4日
发明者S·卡普尔 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1