符号化检索建议的制作方法与工艺

文档序号:11868093阅读:188来源:国知局
符号化检索建议的制作方法与工艺
符号化检索建议本申请要求提交于2011年1月14日的共同在审的美国临时专利申请No.61/433,122的优先权,通过引用将其全部包含于此。技术领域本发明的实施例一般地涉及对文件及其他数据的搜索。具体地,本发明的实施例涉及基于用户输入产生搜索建议。

背景技术:
已有的搜索工具通常需要用户输入“搜索查询”的每个元素的文本。搜索查询可以旨在定位文件、电子邮件、日历事件、联系人、或以数据处理系统上的数据所表示的其它实体。可替换地,该系统可以提供用户界面,以允许用户使用特定于搜索查询元素的类型的屏幕控制(on-screencontrols),来建立搜索查询。可以提供各种"自动完成"特征,其中提供对应于可能的搜索项/元素的可能的搜索项的列表。然而,已有的实现并不能容易地以快捷并且直观的方式建立复杂的搜索查询。

技术实现要素:
符号化搜索建议的实施例包括,通过在数据处理系统上执行的至少一个建议引擎,基于文本输入字段中的第一文本输入而产生(多个)第一建议。在显示设备上显示第一建议,并且接收对第一建议之一的选择。以对应于所选择的第一建议之一的第一符号替换第一文本输入。所述至少一个建议引擎基于文本输入字段中的第二文本输入而产生(多个)第二建议,并且使用所选择的第一建议之一来过滤第二建议。在显示设备上显示过滤后的选择。附图说明在附图的图中以示例而不是限制方式说明本发明,其中类似的参考号指示类似的元件。图1示出了根据本发明的实施例的符号化搜索建议系统的图示。图2示出了根据本发明的实施例,产生符号化搜索建议的方法流程图;图3示出了根据本发明的实施例的符号化搜索建议图形用户界面的图示;图4和5示出了根据本发明的实施例,产生多个符号化搜索建议的方法流程图;图6示出了根据本发明的实施例,使用符号化搜索建议的搜索查询的改变的图示;图7示出了根据本发明的实施例,改变符号化搜索建议的范围的方法流程图;图8示出了根据本发明的实施例,改变符号化搜索建议的范围而导致的搜索查询的改变的图示;图9示出了根据本发明的实施例,使用以前选择的建议来过滤建议的图示;图10示出了可用于本发明的实施例的数据处理系统的图示;和图11示出了可用于本发明的实施例的设备的图示。具体实施方式将参考下面讨论的细节描述本发明的各种实施例和方面,并且附图示出了各种实施例。以下的描述和附图是对本发明的说明,并且不被解释为限制本发明。描述了许多特定的细节,以便提供对本发明的各种实施例的彻底了解。然而在某些情况下,不描述公知的或常规的细节以便提供对本发明的实施例的简洁讨论。此处描述符号化搜索建议的实施例。符号化搜索建议可用来提高搜索查询创建的效率和有效性。例如,用户可能希望建立搜索查询,其定位由特定人编写的电子邮件消息。如果那个人使用多个电子邮件地址,已有的实现可能需要用户手工输入每个电子邮件地址作为检索查询中的单独项。在符号化搜索建议的一个实施例中,用户输入某个文本,其可以匹配该人的名称、该人的电子邮件地址之一、或从那个人接收的电子邮件消息的主题或主体中的文本。在这些情况中的一个或多个情况下,建议引擎可以推断:用户对在用户的通迅录中具有某个条目的特定人感兴趣。用户可以在他们的搜索查询中采用该建议。该建议可以与那个人在用户的通迅录内的条目相关联的任意电子邮件地址发送的电子邮件消息相匹配。用户还可以通过输入附加文本搜索查询元素,来进一步细化他们的搜索。用户可以观看并且向搜索查询添加附加建议,诸如涉及电子邮件消息的主题行的内容的建议。图1示出了符号化搜索建议系统的图示。搜索查询101对应于用户输入,例如,用户可以使用键盘输入文本数据。其它实施例中,用户可以选择一个应用(例如,web浏览器)中的文本,并且使得对该文本执行搜索。用户可以将文本粘贴到文本输入字段内。搜索查询101作为搜索引擎103和(多个)建议引擎107的输入。搜索引擎103使用搜索查询,使用本领域已知的技术在文件及其他数据中执行搜索。所述文件可以包括存储在用户的数据处理系统和其它远程系统上的文件。搜索的宽度可以包括文件的元数据和全部文本内容、电子邮件、事件、联系人、应用、书签等等。元数据和全部文本内容可被存储在一个或多个索引内,如本领域中已知的,索引用于使得搜索更高效。搜索引擎103产生搜索结果105,搜索结果105可被在图形用户界面内显示给用户。(多个)建议引擎107可以接收搜索查询101作为输入,并且使用该搜索查询以便产生建议109,用户可以将建议109添加到搜索查询101以便细化他们的搜索。取决于用户执行搜索的上下文,可以使用各种类型的建议引擎。例如,如果用户正在电子邮件应用的上下文内搜索,可以使用将搜索限制到特定邮箱或多个邮箱的邮箱建议引擎。在web浏览器上下文中,可以使用将搜索限制到特定网站或多个网站的建议引擎。可以在大多数或所有上下文中使用通用建议引擎,例如,从诸如以搜索引擎103产生的搜索结果中产生建议的建议引擎。可以使用各种建议范围,针对特定搜索上下文来剪裁通用搜索引擎。例如,当在电子邮件应用上下文中搜索时,可获得的建议范围可以包括"from:"字段、"to:"字段、"subject:"字段,以及包含一切的"entiremessage:"字段。在另一个例子中,在文件系统搜索上下文中使用的通用建议引擎可以包括:诸如文件大小、最后修改日期、创建日期、文件名等等的范围。某些搜索上下文还可以包括隐藏或隐式范围。例如,在电子邮件搜索上下文中,搜索结果和建议可被隐含地限于对应于电子邮件消息的结果和建议,诸如电子邮件消息本身、联系人/人、电子邮件消息附件等等。在日历搜索上下文中,结果和建议可被限于事件和联系人。建议109也可被显示给用户,以供查看并且可能被结合到当前的搜索内。下面结合图2描述将建议结合在搜索内的方法。图2示出了产生符号化搜索建议并且将该建议结合在当前搜索内的方法流程图。图3示出了符号化搜索建议图形用户界面的图示,并且将被与图2一起描述。在图2的方框201,方法接收来自用户的文本输入,诸如来自键盘。以图3的文本输入字段301示出了接收文本输入的一个示例。用户已将文本输入303键入文本输入字段301。点击全部清除按钮305使得删除字段301中的所有查询元素。在方框203,该方法从接收的文本输入产生一个或多个建议。在一个实施例中,可以使用图1的(多个)建议引擎107产生一个或多个建议。如果使用(多个)建议引擎,在显示之前可以合并建议(未示出)。取决于所产生的建议的数目,为显示提供的数目可以少于产生的总数。可以使用本领域已知的排序(ranking)技术过滤为显示提供的建议。还可以在显示发生之前,消除重复的建议(来自相同或不同建议引擎)。在方框205,该方法在显示设备上显示某些或全部建议。可以使用排序列表来增强显示的建议的可用性。例如,可以限制在特定类别中显示的建议数目,以及被显示的建议总数。可以这样做以便防止建议显示需要滚动窗口。在方框207,该方法接收对显示的建议之一的选择,诸如接收在建议菜单中的鼠标点击。在方框209,该方法以对应于所选择的建议的符号来替换文本输入字段中的文本输入。图3在文本输入字段301之下显示的窗口中示出了这样的一个示例。在图3中,电子邮件上下文检索导致四个不同类别的建议∶日期307,人311,主题315和邮箱319。还可以有附加的建议类别。可由相同或不同建议引擎产生一个或多个建议类别。例如,日期307可被以日期建议引擎产生,该日期建议引擎寻找匹配日期关键字,诸如,"今天"或"明天"的文本输入。在将日期建议结合到搜索查询中之后,该日期建议可以将搜索结果限制到与该建议的对应日期范围匹配的内容。还可以通过选择与电子邮件消息相关联的特定时间戳,诸如发送日期、接收日期、读取日期等,细化日期范围的影响。可以通过通用建议引擎产生人311和主题315,该通用建议引擎提取人(例如,电子邮件的发送方和接收方)和主题两者以用于建议,因为这些字段与在电子邮件上下文中执行的搜索有关。如下面结合图所述,人311还可被以特定范围细化。所述范围可以限制为匹配人来检查电子邮件哪个字段,诸如"from:"字段或"to:"字段。可以通过邮箱建议引擎产生邮箱319,该邮箱建议引擎匹配所述文本输入到邮箱或多个邮箱的名称。这可以包括由该用户创建并且分配了文本名称的邮箱。该建议还可以匹配"智能(smart)"邮箱、或自动地产生的邮箱。例如,"今天接收"邮箱可以是电子邮件程序或文件系统的一种特征,而不是由用户创建的邮箱。在搜索查询中,邮箱建议可以将搜索限制到位于所建议的邮箱内的结果。在一个实施例中,可以从当前搜索查询的搜索结果中抽取建议。搜索结果可作为建议呈现给用户之前被规格化(normalization)。例如,电子邮件主题行可被在呈现给用户之前从"Re:Today'sAgenda"改变为"Today'sAgenda"。通过从主题中去除自动产生的文本,诸如"Re:",规格化可以放宽搜索,以便包括电子邮件线索和/或会话。可以从搜索结果间接地导出建议。例如,如果当前搜索查询匹配电子邮件消息的主题,建议引擎可以在用户的通迅录中搜索某个人,其通迅录条目包括具有该匹配主题的电子邮件消息的作者的电子邮件地址。匹配的人可被包括在建议内,虽然确定需要的人要从电子邮件消息的匹配主题追踪到电子邮件消息的作者,最后到用户的通迅录中包括该电子邮件地址的作者的条目。这样,符号化搜索建议可以允许用户更快速地将相关元素(例如,建议)添加到搜索查询。图4和5示出了产生多个符号化搜索建议的方法流程图。在方框401,该方法在文本输入字段,诸如,图中的字段301中,接收文本输入。在方框403,该方法使用该文本输入作为搜索查询,产生第一组搜索结果。可以使用图1中的搜索引擎103产生该搜索结果。当接收到文本输入时,搜索可被重新运行,并且更新结果。即,当用户键入文本输入的第一字符时,执行搜索,并且当用户输入文本输入的第二字符时,运行新的搜索。这样,当用户输入文本输入时,用户可以接收自动更新的搜索结果和建议。在方框405,该方法使用该文本输入来产生建议。可以通过图1中的(多个)建议引擎107产生建议。如同搜索结果一样,当接收到文本输入的每个字符时,可以产生建议。在方框407,向用户显示第一组搜索结果和第一建议。可以在图3所示的图形用户界面中显示第一建议。当用户继续输入文本输入时,可以更新所显示的建议。在方框409,接收对所显示的建议之一的选择。下面结合图6更详细地描述用于选择建议的图形用户界面。在方框411,该方法以对应于第一选择的建议的符号替换该文本输入。符号(token)可以是表示符号化搜索建议的图形用户界面元素。在方框413,该方法接收附加的文本输入。在一个实施例中,在用户将第一符号化搜索建议结合到搜索查询内之后,他们还输入用来进一步细化搜索的文本。用户还可以使用附加文本输入来识别、并且将另一个符号化搜索建议结合到搜索查询内。转到图5,在方框415,该方法使用第一选择的建议和附加文本输入作为搜索查询,产生第二搜索结果。在一个实施例中,通过该符号化搜索建议和附加文本输入的与(ANDING)操作形成该搜索查询。即,仅有匹配符号化搜索建议和附加文本输入两者的结果是被考虑的搜索结果以用于显示。在方框417,该方法从附加文本输入产生第二建议。还可由图1中的(多个)建议引擎107产生第二建议。在方框419,使用对应于第一选择的建议的搜索结果来过滤第二建议。下面结合图9更详细描述过滤建议。通常,被过滤的建议是由附加文本输入产生的、未被以前选择的符号化搜索建议的结果排除的建议。在方框421,将过滤后的第二建议与方框423的第二组搜索结果一起显示给用户。在方框425,该方法接收对过滤的第二建议之一的选择,并且在方框427,该方法使用第一选择的建议和第二选择的建议作为搜索查询,产生第三组搜索结果。然后这些结果可被显示给用户。在某些实施例中,用户可以继续输入附加文本并且选择附加建议,直到搜索为用户充分缩减了结果,以便定位所希望的文件、电子邮件或其它搜索结果。在一个实施例中,可以根据一组规则,自动地添加搜索查询的元素之间的链接。例如,可以使用布尔运算符OR自动地链接使用相同范围的建议(例如,"From:")。可以使用布尔运算符AND自动链接使用不同范围的建议(例如,"To:"和"From:")。其它实施例中,该用户界面可以包括两个查询元素之间的链接的图形表示。这个实施例中,可以诸如响应于用户输入,修改查询元素之间的链接。图6示出了对使用符号化搜索建议的搜索查询的变化的图示。在图6的左手侧,示出了一个用户界面,以便示范当文本输入字段601中的文本输入603被对应于选择的建议的符号607替换时,该界面的改变。选择的建议611是人"ToddSmith",并且默认范围609是"From:"。在图6的右手侧,示出了对应于该用户界面状态的搜索查询的表示。查询605对应于原始文本输入603,而查询613对应于从描述"ToddSmith"的联系人并且范围基于默认范围"From:"中提取的信息。联系人"ToddSmith"包括ToddSmith的两个电子邮件地址:todd@gmail.com和todd_smith@initech.com。在某些实施例中,可有更多电子邮件地址可用于搜索。范围609"From:"指示搜索结果应当以ToddSmith为作者,因此检索查询匹配从Todd的gmail帐户(author=todd@gmail.com)发出的电子邮件或从Todd的其它电子邮件帐户(author=todd_smith@initech.com)发出的电子邮件。"OR"项指示结果可以匹配这些电子邮件地址中的任意一个。以图6示出的例子中,通过以符号替换原始文本输入,搜索查询的整个范围已被缩减,因为原始文本将匹配两个电子邮件地址,并且可以匹配包含文字输入603的其它结果。其它例子中,搜索将被放宽。例如,如果ToddSmith具有不包含文字输入603的第三电子邮件地址,符号化检索建议将定位ToddSmith写的、可能不匹配文本输入603的电子邮件消息。图7示出了改变符号化搜索建议的范围的方法流程图。图8示出了对符号化搜索建议的范围的改变所导致的搜索查询的改变的图,将结合图7描述。在方框701,方法显示符号化搜索建议,包括范围识别符和实体标识符。在图8,符号化建议801包括范围识别符803("From:")和实体标识符805("ToddSmith")。这说明了建议801当前匹配从与实体ToddSmith相关联的电子邮件地址发出的电子邮件。该实体可以对应于包括与ToddSmith相关联的一个或多个电子邮件地址的通迅录条目或联系人列表条目。该通迅录可以是当前用户独有的,或可被从另一个位置导入,或可被作为企业系统的目录服务提供。在方框703,该方法接收对范围识别符的输入。例如,用户可以在范围识别符803的图形区域内点击鼠标。可替换地,可以使用快捷键、语音命令或用户输入的其它源提供该输入。在方框705,该方法显示建议801可用的范围。这些范围包括当前范围807("From:")、接收方范围809("To")和整个消息范围811("EntireMessage")。在图8的右侧,搜索查询813反映建议801的当前含义。在方框707,该方法接收对可用范围之一的选择。例如,用户可以在范围807、809或811之一上点击。在方框709,该方法显示建议中的更新的范围识别符。例如,在图8中,在更新的建议815中显示新范围817。实体标识符819相对于实体标识符805未改变。在方框711,该方法使用更新的符号化建议作为搜索查询,执行新搜索。在图8中以建议815和搜索查询821示出了更新的符号化建议和相应的搜索查询的例子。在范围识别符817被改变为"To"之后,搜索查询821自动改变为匹配发送到与ToddSmith实体相关联的两个电子邮件地址的电子邮件。某些实施例中,可以获得附加范围。例如,可以获得更精确的"FromWorkEmail"或"ToWorkEmail"范围。某些实施例中,建议可被一般化,以便包括范围识别符和字符串而不是实体。例如,建议可以包括"From:"范围,但是可以包括文本串"tod"而不是诸如"ToddSmith"的实体。结果搜索查询将不限于从ToddSmith的电子邮件地址发出的电子邮件消息。相反,结果检索查询将匹配从包含文本"tod"的电子邮件地址发出的电子邮件消息。在一个实施例中,改变建议的范围,可以引起使用不同的运算符链接当前搜索查询的元素。例如,如果查询包括具有"From:"范围的建议和具有"To"范围的另一个建议,可以使用布尔运算符AND链接这两个建议。然而,如果用户将第二建议改变为"From:"范围,可以使用布尔运算符OR链接这些元素。一个实施例中,搜索结果可以包括不同于数据处理系统用于执行该搜索的当前或默认语言的另一种语言的文本。例如,数据处理系统可被配置为使用英语,而存储在系统上的某些电子邮件消息具有法语编写的主题字段和/或消息主体。系统可以检测主题使用了不同语言(例如,当电子邮件消息被索引时)并且将主题标记为是法语。当产生搜索结果和建议时,为了匹配的目的,主题行可被自动翻译为英语,或搜索查询可被翻译成法语。这可以给用户提供更有用的搜索结果。可以使用已知的语言识别和翻译技术按类似方式自动处理其它语言的内容和元数据。图9示出了使用以前选择的建议来过滤建议的图示。换言之,在将一个或多个以前的建议添加到搜索查询之后,当向用户显示建议时,过滤所显示的建议以便与以前添加的建议一致。在图9的左侧,显示了三个不同状态的文本输入字段901。在第一状态,文本输入903生产建议905,其包括两个实体:BobSmith和BobBrown。即,如果输入903是搜索查询的唯一组件,将给用户提供两个建议。建议907包括范围识别符909和实体标识符911。作为搜索查询的唯一部分,建议907产生单个结果913:从TomJones到BobBrown的电子邮件。在第三状态,输入栏901包括建议907和文本输入903。建议917包括BobBrown,但不包括BobSmith,因为过滤后的建议915不包括BobSmith。即,因为建议907存在于搜索查询内,文本输入903的原始建议905已被过滤为不与建议907不一致的建议。在某些实施例中,可以不过滤建议,或用户可被允许以附加命令或输入来暂时停止过滤。例如,如果选择了用于第一人的建议、然后选择了用于第二人的建议,建立定位来自两个不同人的电子邮件的搜索查询将更容易。然而,如果第二人被第一建议排除出了建议,这将使得建立所希望的搜索查询更困难。在一个实施例中,使用布尔运算符OR链接到以前选择的建议的建议并不从建议列表中过滤。即,本来应被以前选择的建议所排除的建议(例如,建议905中的"BobSmith"),如果被选择,将成为断续地(disjunctively)与以前的建议链接的建议(例如,以布尔OR链接),然后不过滤该建议。如果将这个实施例应用于图9,建议915包括BobBrown和BobSmith两者,因为BobSmith(如果被选择为建议)将以布尔运算符OR与建议907链接,因为他们的范围匹配。另一个实施例中,可以完全禁止建议过滤,虽然这可能使得符号化搜索建议在帮助用户建立搜索查询方面不太有效。还可以使用不同层次的建议过滤。例如,建议过滤的第一层可以涉及基于搜索上下文来过滤建议。在电子邮件搜索上下文中,匹配文本输入的日历事件的建议可被自动排除,反之亦然。其它上下文特定的过滤器也可以使用,诸如文件搜索上下文中的日历事件等等。第二层建议过滤可以如上所述,取决于某一特定建议如何被链接到已有搜索查询内,这防止某些建议被过滤。某些实施例中,可以通过,例如从用户处接收的命令,禁止建议过滤。图10示出可用于本发明的一个实施例的数据处理系统的示例。注意,虽然图10示出了计算机系统的各种组件,其不旨在表示任意特定的体系结构或互连这些组件的方式,这是由于这些细节与本发明的关系不密切。将会理解,还可以与本发明一起使用网络计算机、平板计算机及具有较少组件或也许更多组件的其他数据处理系统。如图10所示,计算机系统1000,是一种形式的数据处理系统,包括耦连到(多个)微处理器1005和ROM(只读存储器)1007和易失RAM1009和非易失存储器1011的总线1003。对应于搜索引擎1019和(多个)建议引擎1021的可执行指令可被存储在非易失存储器1011内。搜索引擎1019可以对应于图1中的搜索引擎103,而(多个)建议引擎1021可以对应于(多个)建议引擎107。微处理器1005耦连到高速缓存1004。微处理器1005可以从存储器1007、1009、1011检索指令,并且执行该指令以便执行上面描述的操作。总线1003将这些各种组件互连在一起,并且还将组件1005、1007、1009和1011互连到显示控制器和显示设备1013,并且互联到外围设备,诸如输入/输出(I/O)设备,I/O设备可以是鼠标、触摸屏、接触板、触敏输入装置、键盘、调制解调器、网络接口、打印机及本领域公知的其他设备。典型地,输入/输出装置1015通过输入/输出控制器1017耦连到系统。易失RAM(随机存取存储器)1009典型地被实现为动态随机存取存储器(DRAM),其需要不断的电力以便刷新或保持存储器内的数据。本发明的各种实施例可以利用有形存储介质,诸如DRAM、盘驱动器、闪存驱动器及其他类型的有形存储设备。还可以使用非暂时存储介质,包括DRAM、盘驱动器、闪存驱动器等等。海量存储设备1011典型地是即使在系统掉电之后也能保持数据(例如,大量数据)磁硬盘驱动器或磁光驱动器或光驱动器或DVDRAM或闪速存储器或其它类型的存储器系统。典型地,海量存储设备1011还是随机访问存储器,虽然这不是需要的。虽然图10示出海量存储设备1011是直接耦连到数据处理系统中的其余组件的本地设备,将会理解,本发明可以利用远离系统的非易失存储器,诸如通过网络接口,诸如调制解调器、以太网接口或无线网络耦连到数据处理系统的网络存储设备。总线1003可以包括通过本领域公知的各种桥、控制器和/或适配器彼此连接的一个或多个总线。图11示出了可用于本发明的实施例的另一个数据处理系统的例子。图11所示的数据处理系统1100包括处理系统1111,其可以是一个或多个微处理器,或可以是片上系统集成电路,该系统还包括用于存储数据和程序以便由该处理系统执行的存储器1101。系统1100还包括音频输入/输出子系统1105,其可以包括麦克风和扬声器,用于例如通过该扬声器和麦克风重放音乐或提供电话功能。显示控制器和显示设备1107为用户提供可视用户界面;该数字接口可以包括与当运行OSX操作系统软件时在Macintosh计算机上所示类似的图形用户界面。系统1100还包括一个或多个无线收发器1103。无线收发器可以是WiFi收发器、红外线收发器、蓝牙收发器和/或无线蜂窝电话收发器。将会理解,在某些实施例中,未示出的附加组件也可以是系统1100的一部分,在某些实施例中,还可以在数据处理系统中使用比图11所示更少的组件。数据处理系统1100还包括一个或多个输入装置1113,提供输入装置1113以便允许用户向系统提供输入。这些输入装置可以是小键盘或键盘或触控板或多点触控板。数据处理系统1100还包括可选择的输入/输出装置1115,其可以是用于对接的连接件。将会理解,如本领域公知的,可以使用未示出的一个或多个总线互连各种组件。图11所示的数据处理系统可以是手持式计算机或个人数字助手(PDA),或具有类似PDA的功能的蜂窝电话,或包括蜂窝电话的手持式计算机,或媒体播放机,诸如iPod,或结合这些设备的方面或功能的设备,诸如将PDA和蜂窝电话结合在一个设备内的媒体播放机。在其它实施例中,数据处理系统1100可以是网络计算机或另一个设备内的嵌入处理设备,或具有比图11所示更少或也许更多组件的其它类型的数据处理系统。前面的说明书中,已经参考示例性实施例描述了符号化搜索建议。显然,可以进行各种修改而不脱离在权利要求中提出的本发明的更宽精神和范围。因此,应当以说明的意义而不是限制的意义看待说明书和附图。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1