CN102426607A - 可扩展搜索项建议引擎 - Google Patents

可扩展搜索项建议引擎 Download PDF

Info

Publication number
CN102426607A
CN102426607A CN2011103629740A CN201110362974A CN102426607A CN 102426607 A CN102426607 A CN 102426607A CN 2011103629740 A CN2011103629740 A CN 2011103629740A CN 201110362974 A CN201110362974 A CN 201110362974A CN 102426607 A CN102426607 A CN 102426607A
Authority
CN
China
Prior art keywords
search terms
suggestion
source
search
suggestions
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.)
Granted
Application number
CN2011103629740A
Other languages
English (en)
Other versions
CN102426607B (zh
Inventor
D.S.格哈德
M.沃捷
M.米什拉
E.B.阿弗里特
B.D.埃利奥特
D.J.G.伍德
P.P.富尔捷
A.T.阿伦
V.埃兰戈文
K.K.梁
A.古鲁纳桑
O.A.C.桑切斯
P.维亚纳桑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102426607A publication Critical patent/CN102426607A/zh
Application granted granted Critical
Publication of CN102426607B publication Critical patent/CN102426607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems

Abstract

随着输入字符,计算设备的搜索项建议引擎接收用户数据的字符。用户数据是待提供给多个应用中的一个以搜索搜索项的搜索项的至少一部分。从一个应用接收多个建议源的指示,并且基于接收的字符从多个建议源获得一个或多个建议的搜索项。也可以基于针对接收的字符的一个或多个语言替选从多个建议源获得一个或多个建议的搜索项。将一个或多个建议的搜索项组合为建议的搜索项的组合的集合,并且将建议的搜索项的组合的集合返回到用于对用户呈现的搜索用户界面。

Description

可扩展搜索项建议引擎
背景技术
随着计算机已经变得日益平凡,已经变得对用户可用的电子数据的量已大大增长。虽然能够对这些大量电子数据进行访问可能对于用户十分有益,但并非没有问题。一个这种问题是用户可能有时难以找寻他们正查找的特定电子数据。例如,用户可能遭遇这样的情况:他们不确定他们查找的东西的具体名称或正确写法。归因于这种不确定性不能够找寻他们正查找的东西可能对用户来说是一种挫败体验。
发明内容
提供本发明内容以通过简化形式介绍以下在具体实施方式中进一步描述的构思的选择。本发明内容不意图标识所要求保护的主题内容的关键特征或必要特征,也不意图用于限制所要求的主题内容的范围。
根据一个或多个方面,随着输入字符,计算设备的搜索项建议引擎接收用户数据的字符。所述用户数据是待提供给应用以搜索搜索项的所述搜索项的至少一部分。从应用接收多个建议源的指示,并且基于接收的字符从多个建议源中的两个或更多个获得一个或多个建议的搜索项。将一个或多个建议的搜索项组合为建议的搜索项的组合的集合,并且将建议的搜索项的组合的集合返回到用于对用户呈现的搜索用户界面。
根据一个或多个方面,随着输入字符,接收用户数据的字符。所述用户数据是待提供给应用以搜索搜索项的所述搜索项的至少一部分。确定用于所述字符的一个或多个语言替选,并且将所述字符和所述一个或多个语言替选提供给建议源。从所述建议源接收基于所述一个或多个语言替选的一个或多个建议的搜索项,并且将所述一个或多个建议的搜索项返回到用于显示的搜索用户界面。
附图说明
相同标号贯穿附图用于指代相似特征。
图1示出根据一个或多个实施例的实现可扩展搜索项建议引擎的示例系统。
图2是示出根据一个或多个实施例的使用可扩展搜索项建议引擎的示例系统的框图。
图3示出根据一个或多个实施例的显示建议的搜索项的示例屏幕显示。
图4是示出根据一个或多个实施例的用于生成建议的搜索项的组合的集合的示例过程的流程图。
图5是示出根据一个或多个实施例的用于基于语言替选生成建议的搜索项的示例过程的流程图。
图6示出根据一个或多个实施例的可以被配置为实现可扩展搜索项建议引擎的示例计算设备。
具体实施方式
在此讨论可扩展搜索项建议引擎。搜索项建议引擎接收作为搜索项的至少一部分输入到搜索用户界面(UI)的用户数据的字符。随着接收用户数据的字符,搜索项建议引擎从多个不同的建议源获得建议的搜索项。可以使用各个不同的建议源,并且被搜索的应用可以指定使用哪些建议源。搜索项建议引擎将从不同源获得的建议的搜索项合并到建议的搜索项的组合的集合,并且将建议的搜索项的该组合的集合提供给用于对用户呈现的搜索UI。此外,搜索项建议引擎可以获得针对已经输入的用户数据的字符的各个语言替选,例如包括不同符号或字符(例如用于东亚语言)的替选、以及包括不同字母表(例如拉丁字母表、西里尔字母表等)中的搜索项的替选。搜索项建议引擎可以然后基于获得的语言替选从一个或多个不同的多个建议源获得建议的搜索项。
图1示出根据一个或多个实施例的实现可扩展搜索项建议引擎的示例系统100。系统100包括可以可选地经由网络106与一个或多个(x)其它设备104(1)、……、104(m)通信的计算设备102。网络106可以是各种不同的网络,包括因特网、局域网(LAN)、公共电话或其它电话网络、内部网、其它公共和/或私有网络、其组合等。计算设备102可以是各种不同类型的设备,例如桌面计算机、笔记本或平板计算机、笔记本或膝上计算机、服务器计算机、移动站、娱乐设备、通信地耦合到显示设备的机顶盒、电视、蜂窝或其它无线电话、游戏控制台、汽车计算机等。此外,虽然示出为单个设备102,但应注意,计算设备102的组件或模块可以实现为多个设备的系统,其中,所述组件或模块分布在系统中的不同设备上。
设备104可以是能够与计算设备102通信的各种不同的计算设备。计算设备102可以可选地访问设备104中的一个或多个以获得各种信息,如下更详细地描述。与计算设备102的讨论相似,设备104可以是各种不同类型的设备。设备104可以是与计算设备102相同类型或替换地不同类型的设备。在系统100中,计算设备102示出为经由网络106与设备104通信。替换地,计算设备102可以经由其它类型的通信机制或连接(例如各种有线和/或无线连接(例如通用串行总线(USB)连接、无线USB连接、蓝牙连接、IEEE1394连接等))与设备104通信。
计算设备102包括操作系统110和一个或多个应用112。操作系统110管理计算设备102上的应用112的启动和运行。应用112中的每一个可以是各种不同类型的应用,例如生产力应用(例如电子邮件应用、文字处理应用、表单应用、数据库应用等)、娱乐应用(例如游戏应用、音频和/或视频回放应用等)、社交联网应用等。应用112可以本地地访问数据,访问计算设备102上(或耦合到计算设备102的存储设备上)的数据,而不是经由网络106访问设备104上的数据。例如,应用112可以是本地地访问数据的文字处理应用。除了或替代地替换本地地访问数据,应用可以经由网络106访问一个或多个设备104上的数据。例如,应用112可以是用于提供电影服务的设备104的界面应用,允许计算设备102的用户经由该应用112访问来自设备104的电影。
应用112允许用户搜索他们访问的各种数据。用户可以经由特定于特定应用112的或替代地由多个应用112使用的搜索UI输入搜索项(例如一个或多个字符、文字、符号等)。被搜索的应用112返回匹配搜索项的数据以便显示或另外呈现给用户。
操作系统110包括输入模块114、显示模块116和可扩展搜索项建议模块118。虽然可以替代地通过硬件实现操作系统110的至少部分,但典型地通过软件和/或固件实现操作系统110。
输入模块114从计算设备102的用户接收用户输入。可以通过各种不同方式,例如通过按设备102的键区或键盘的一个或多个键,按设备102的控制器(例如远程控制设备、鼠标、轨迹板等)的一个或多个键,按设备102的触摸板或触摸屏的特定部分,在设备102的触摸板或触摸屏上作出特定姿势,和/或在设备102的控制器(例如远程控制设备、鼠标、轨迹板等)上作出特定姿势来提供用户输入。也可以经由对设备102的其它物理反馈输入(例如轻拍设备102的任何部分、可以由设备102的运动检测组件识别的动作(例如摇晃设备102,旋转设备102等)等)提供用户输入。也可以通过其它方式(例如经由对麦克风的可听输入,经由图像捕获设备观测的手或其它身体部分的运动等)提供用户输入。这些用户输入允许用户例如通过输入特定字符或符号、选择特定按钮或菜单选项、拖动和放下各个描述或图像等与计算设备102交互。
显示模块116生成、管理和/或输出用于计算设备102的屏幕的显示。该显示可以包括各种信息,例如应用112提供的信息、可扩展搜索项建议模块118或操作系统110的其它模块提供的信息等。对用户显示的信息可以包括输入模块114接收的用户输入。可以通过各种不同方式(例如使用液晶显示器(LCD)技术、等离子屏幕技术、图像投影技术等)实现在其上显示模块116显示信息的屏幕。可以包括屏幕作为计算设备102的一部分,或替代地显示模块116可以生成输出到包括一个或多个屏幕的一个或多个其它显示设备的一个或多个信号。虽然在此的讨论指代在一个或多个屏幕上显示信息,但应理解,可以替代地由显示模块116通过(例如经由一个或多个扬声器可听地)其它方式对用户呈现信息。
可扩展搜索项建议模块118提供一个或多个建议的搜索项以协助系统100的用户。当用户期望搜索应用(例如应用112)时,用户输入构成搜索项的至少一部分的字符。可扩展搜索项建议模块118随着用户输入这些字符而接收它们,基于接收的字符自动地识别一个或多个建议的搜索项,并且返回所述一个或多个建议的搜索项以便呈现(例如显示)给用户。可扩展搜索项建议模块118可以从可以位于计算设备102和/或另一设备104上的多个不同的源获得建议的搜索项。
此外,可扩展搜索项建议模块118可以影响生成所接收字符的一个或多个语言替选的语言替选生成模块。这些语言替选是可以与接收的字符对应的不同符号或字符,例如不同东亚语言字符。这些语言替选也可以是字符到不同字母表(例如拉丁字母表、西里尔字母表等)的翻译。
搜索项建议模块118是可扩展的,在于:不同的建议源可以用于建议的搜索项,并且用于建议的搜索项的语言替选可以被使用。不同的应用和/或用户可以选择待用于建议的搜索项的不同的建议源以及用于建议的搜索项的语言替选是否将被使用。
图2是示出根据一个或多个实施例的使用可扩展搜索项建议引擎的示例系统200的框图。系统200包括可扩展搜索项建议模块或引擎202、搜索UI模块204、应用206、语言替选生成模块208和多个建议源220、222、224、226和228。应用206也可以是建议源,如以下更详细讨论。可扩展搜索项建议模块202可以是例如图1的可扩展搜索项建议模块118。应用206可以是例如图1的应用112、图1的设备104中的一个上运行的应用等。
在一个或多个实施例中,搜索UI模块204、应用206和可扩展搜索项建议模块202在相同计算设备(例如图1的计算设备102)上。替代地,可以在不同的计算设备上实现搜索UI模块204、应用206和可扩展搜索项建议模块202中的一个或多个。例如,可以在一个计算设备上实现可扩展搜索项建议模块202,可以在另一计算设备上实现搜索UI模块204,并且可以在又一计算设备上实现应用206。
搜索UI模块204将搜索用户界面提供给用户,(例如经由图1的输入模块114)接收用户输入,并且还(例如经由图1的显示模块116)显示或另外呈现建议的搜索项以及其它信息。用户输入表示搜索项的用户数据,典型地一次一个字符。字符可以是字母、数字、其它符号等。随着输入字符,搜索UI模块204将用户数据的字符提供给可扩展搜索项建议模块202。可扩展搜索项建议模块202从各个不同的建议源(例如建议源220-228、应用206)中的一个或多个获得建议的搜索项。可扩展搜索项建议模块202合并或组合来自不同的建议源的建议的搜索项,以生成建议的搜索项的组合的集合,并且将建议的搜索项的组合的集合返回到搜索UI模块204。获得建议的搜索项并且返回建议的搜索项的组合的集合的该过程响应于用户输入的每一字符被执行,并且可以随着输入字符产生建议的搜索项的不同的组合的集合。
在此讨论中,可扩展搜索项建议模块202被讨论为将建议的搜索项的组合的集合返回到用于对用户呈现的搜索UI模块204,并且这些搜索项从各种不同的建议源(例如建议源220-228、应用206)中的一个或多个被获得。然而,应注意,建议源典型地无需(然而替代地可以需要)返回建议的搜索项。因此,一个或多个建议源不返回建议的搜索项的情况可能出现。如果没有建议源返回至少一个建议的搜索项,则可扩展搜索项建议模块202不将建议的搜索项返回到用于对用户呈现的UI模块204。
图3示出根据一个或多个实施例的显示建议的搜索项的示例屏幕显示302。屏幕显示202包括工具栏(或任务栏)304。工具栏304可以包括各种不同信息,例如当前时间(示为10:10 AM)。数据项字段306提供用户可以输入搜索项的字符并且使得这些字符被显示的位置。在所示示例中,用户已经输入字符“He”。
还显示搜索按钮308。用户可以通过各种不同方式(例如经由图1的输入模块114)选择搜索按钮308,例如通过以记录笔或手指触摸搜索按钮308,在搜索按钮308上操控指针并且按光标控制设备(例如鼠标)的按钮,按键盘的特定键等。响应于搜索按钮308的用户选择,将数据项字段306中当前输入的字符发送到用于搜索的应用。可以通过不同方式,例如作为当前有效的应用或用户选择的另一应用,确定向其发送搜索项的应用。
屏幕显示302还显示一个或多个建议的搜索项作为建议列表310。建议列表310包括(例如图2的可扩展搜索项建议模块202生成的)搜索项的组合的集合中的建议的搜索项。在所示示例中,用户已经输入字符“He”,并且搜索项的组合的集合是Hello, Heathrow Airport, Henderson Nevada, Helium, Heroes, Hercules, Health Benefits和Healthy Lifestyles。
用户然后可以选择建议列表310中的建议的搜索项中的一个,并且作为响应在数据项字段306中输入选择的建议的搜索项。例如,如果从建议列表310选择“Helium”,则“Helium”替代数据项字段306中的“He”。用户可以通过各种不同方式(例如经由图1的输入模块114)选择建议列表310中的建议的搜索项中的一个,例如以记录笔或手指触摸建议的搜索项、在建议的搜索项上操控指针并且按光标控制设备(例如鼠标)的按钮等方式。
应注意,数据项字段306和搜索按钮308的位置是示例,并且可以在屏幕显示302上任何地方显示数据项字段306和搜索按钮308。例如,可以在屏幕显示302的顶部、沿着屏幕显示302的左侧或右侧、在屏幕显示302的中心、作为菜单栏的部分、作为图标栏或停靠托盘的部分、在待搜索的应用(例如图1的应用112之一)的窗口内等显示数据项字段306和搜索按钮308。此外,建议列表310被示出为在数据项字段306之上并且邻近数据项字段306。然而,应理解,建议列表310的位置是示例,可以在屏幕显示302上的任何地方显示建议列表310(尽管典型地以便不覆盖数据项字段306或搜索按钮308)。例如,可以在屏幕显示302的顶部、沿着屏幕显示302的左侧或右侧、在屏幕显示302的中心、在不邻近数据项字段306的位置中,至少部分地在待搜索的应用的窗口内等显示建议列表310。
返回图2,在系统200中,搜索UI模块204和应用206被示出为分离的组件。搜索UI模块204可以是将搜索用户界面提供给各种不同应用的系统级搜索用户界面模块。替代地,搜索UI模块204可以是将搜索用户界面提供给单个应用的应用特定搜索模块。在这些情况下,搜索UI模块204可以被包括为该单个应用(例如应用206)的模块。
应用206是待搜索搜索项的应用。多个应用可以可选地针对搜索项进行搜索,并且在这些情况下,应用206被包括为这些多个应用中的一个。可以通过不同方式标识待搜索搜索项的特定应用。在搜索UI模块204被包括为特定应用的部分的一个或多个实施例中,那么包括搜索UI模块的特定应用是待搜索搜索项的应用。在其它实施例中,可以通过不同方式(例如搜索UI模块204提供待搜索搜索项的应用的指示,或当前有效的应用是待搜索搜索项的应用)标识待搜索搜索项的应用。当前有效的应用指代在前台中当前运行的应用并且是用户可以与其交互的应用(例如图1的应用112(除了操作系统之外的应用)中的一个)。虽然多个应用可以同时在计算设备上运行,但在任何给定时间仅一个是当前有效的应用。可以从例如计算设备的操作系统获得当前有效的应用的标识符。
可扩展搜索项建议模块202包括配置模块240、搜索项收集模块242和搜索项合并模块244。配置模块240从指定哪些建议源可扩展搜索项建议模块202待用于搜索项建议的应用206(或替代地从另一组件或模块,例如搜索UI模块204)接收指示。不同的应用可以指定不同的建议源,并且相同的应用可以在不同的时间指定不同的建议源。因此,配置模块240接收待使用哪些建议源的指示,并且将该指示提供给搜索项收集模块242。配置模块240也可以被配置有待使用哪些建议源的默认指示。如果从应用206未接收到待使用哪些建议源的指示,则将待使用哪些建议源的默认指示提供给搜索项收集模块242。配置模块240也可以从如下更详细地讨论的获得建议的搜索项中待使用的搜索用户界面模块204和/或应用206接收附加信息。
搜索项收集模块242从建议源中的一个或多个获得建议的搜索项。从其获得建议的搜索项的一个或多个建议源是被指示为待使用的建议源的建议源。搜索项收集模块242将从搜索UI模块204接收的用户数据的字符提供给从其获得建议的搜索项的每一建议源。在示例系统200中,从其可以获得建议的搜索项的一个或多个建议源包括本地文件源220、每用户搜索历史源222、群搜索历史源224、独立服务提供商源226、自然语言源228和应用206。这些建议源中的每一个基于从搜索项收集模块242接收的用户数据的字符来标识、生成或另外获得建议的搜索项。
本地文件源220是基于设备(例如实现可扩展搜索项建议模块202和/或搜索UI模块204的设备)的本地存储设备上存储的文件提供零个或更多个建议的搜索项的一个或多个组件或模块。这些本地存储设备可以被包括在设备中和/或(例如经由USB或其它连接)连接到设备,并且可以包括各种不同类型的存储设备(例如一个或多个磁盘、一个或多个光盘、闪存设备等)。
本地文件源220分析与本地存储设备上存储的文件关联的各种属性或元数据中的一个或多个,并且基于该分析确定一个或多个建议的搜索项。所述各种属性可以是例如文件的名称、其中存储文件的文件夹的名称等。描述文件的各种元数据可以被存储为文件的部分或另外与文件关联并且由本地文件源220访问,并且该元数据可以根据文件类型改变。例如,存储歌曲的音乐文件可以具有作为元数据的歌曲的录音艺术家的姓名、歌曲的名称、组成录音艺术家的各个乐队成员的姓名等。通过另一示例的方式,电影文件可以具有作为元数据的电影的标题、电影制作者的名称、电影中的男演员和/或女演员的姓名等。通过又一示例的方式,存储电子书文件的文件可以具有作为元数据的书的标题、书的出版商、书中一个或多个主要人物的姓名等。
作为零个或更多个建议的搜索项,本地文件源220可以通过各种不同的方式确定哪些属性和/或元数据(如果有的话)匹配接收的字符。如果文件的特定属性和/或特定元数据以接收的字符开始,则文件可以匹配接收的字符。如果文件的特定属性和/或特定元数据的多个字符序列(例如由在特定语言中可以不定义为文字的标点符号或空格分离的多个字符的任何其它序列或文字)中的一个以接收的字符开始,则文件也可以匹配接收的字符。例如,本地文件源220可以标识具有开始于或包括以接收的字符(从搜索项收集模块242接收的用户数据的字符)开始的文字的文件名称的所有文件、具有包括开始于或包括以接收的字符开始的文字的录音艺术家姓名的元数据的所有文件、具有开始于或包括以接收的字符开始的文字的电影标题的所有文件等。可以通过不同的方式(例如(例如经由配置模块240)从应用206接收,从实现可扩展搜索项建议模块202的设备的用户接收,在本地文件源220中预先配置,从另一组件或模块接收等),标识待检查以确定与接收的字符的匹配的元数据或特定属性。
在一个或多个实施例中,在确定零个或更多个建议的搜索项中,本地文件源220检查每一本地存储设备上的所有文件。替代地,本地文件源220可以检查本地存储设备上的文件中的仅一些文件,例如特定类型的文件(例如具有特定文件扩展或被分类为特定类型的文件的文件),仅检查特定文件夹或目录中的文件(例如仅电影文件目录中的文件、仅音乐文件目录中的文件等)等。本地文件源220可以被预先配置要检查本地存储设备上的哪些文件,或替代地可以接收或另外获得要检查哪些文件的指示。可以通过不同方式(例如从应用206(例如经由配置模块240),从实现可扩展搜索项建议模块202的设备的用户等)接收或另外获得要检查哪些文件的指示。
作为建议的搜索项,本地文件源220将匹配接收的字符的属性和/或元数据(如果有的话)返回到搜索项收集模块242。此外,在一个或多个实施例中,本地文件源220将本地文件源220返回的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。可以通过不同方式确定该排名。在一个或多个实施例中,本地文件源220确定有多少文件具有匹配接收的字符的相同属性或元数据,并且基于出现的频率排名该属性或元数据(例如从最大匹配到最小匹配的排序)。例如,如果接收的字符是“He”,八个文件具有包括“Hercules”的元数据,五个文件具有包括“Helium”的元数据,两个文件具有包括“Heroes”的元数据,则,本地文件源220提供的建议的搜索项按(基于出现的频率的)它们的排名的排序是:Hercules, Helium, Heroes。
每用户搜索历史源222是基于设备(例如实现可扩展搜索项建议模块202和/或搜索UI模块204的设备)的用户输入的搜索项的历史提供零个或更多个建议的搜索项的一个或多个组件或模块。当用户(例如通过选择图1的搜索按钮308)输入搜索项时,搜索UI模块204将搜索项提供给可扩展搜索项建议模块202。搜索UI模块204也可以将搜索项提供给应用206,或替代地依赖可扩展搜索项建议模块202以将搜索项提供给应用206。可扩展搜索项建议模块202将搜索项提供给每用户搜索历史源222,其保存搜索项的记录、在输入搜索项的时间设备的当前用户、以及被搜索该搜索项的应用。
每用户搜索历史源222可以从设备的操作系统或另外地方(例如从可扩展搜索项建议模块202)获得在任何特定时间(例如当输入搜索项时,当输入一个或多个字符时等)设备的用户的指示(例如签署到设备的用户的指示)。相似地,每用户搜索历史源222可以从设备的操作系统或另外地方(例如从可扩展搜索项建议模块202)获得应用(例如被搜索的应用、当前有效的应用等)的指示。
为了确定零个或更多个建议的搜索项,每用户搜索历史源222获得设备的当前用户的指示和待搜索搜索项的当前应用的指示。每用户搜索历史源222比较接收的字符(从搜索项收集模块242接收的用户数据的字符)与当前用户先前输入的搜索项以便在待搜索的当前应用中搜索,并且可以通过各种不同的方式标识匹配先前搜索项。如果至少先前搜索项的开始字符是接收的字符,则先前搜索项可以匹配接收的字符。如果先前搜索项的多个字符序列(例如由在特定语言中可能未定义为文字的标点符号或空格分离的字符的任何其它序列或文字)中的一个以接收的字符开始,则先前搜索项也可以匹配接收的字符。作为建议的搜索项,每用户搜索历史源222将匹配接收的字符的先前输入的搜索项返回到搜索项收集模块242。
替代地,并非基于用于单个应用的搜索项,每用户搜索历史源222可以跨多个应用操作。在这些情况下,为了确定零个或更多个建议的搜索项,每用户搜索历史源获得设备的当前用户的指示,比较接收的字符与当前用户先前输入的搜索项,并且标识匹配先前搜索项。无需维护搜索特定搜索项的应用的记录,并且无需基于待搜索的当前应用比较接收的字符与搜索项。
此外,在一个或多个实施例中,每用户搜索历史源222对源222提供的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。可以通过不同方式确定该排名。在一个或多个实施例中,每用户搜索历史源222确定多久之前使用匹配的先前搜索项中的每一个,并且以从最近之前使用的到最久之前使用的排序来排名匹配的先前搜索项。在每用户搜索历史源222维护的搜索项的记录中,每用户搜索历史源222可以包括何时使用每个搜索项的指示(例如何时输入搜索项的时间戳),并且该记录可以被访问以确定多久之前使用匹配的先前搜索项中的每一个。在其它实施例中,每用户搜索历史源222(例如基于每用户历史源222维护的搜索项的记录)确定多频繁地使用匹配的先前搜索项中的每一个,并且以从最频繁地使用到最不频繁地使用的排序来排名匹配的先前搜索项。
此外,在一个或多个实施例中,应用206可以指定对于其每用户搜索历史源222将要维护搜索项的记录的不同的范围。应用206(例如经由配置模块240)指定不同的范围,并且当输入搜索项时还指定用于输入的搜索项的范围。为了确定零个或更多个建议的搜索项,每用户搜索历史源222(例如经由配置模块240从应用206)获得应用206的当前范围的指示,并且标识用于仅该范围的匹配的先前搜索项。
应用206可以通过其期望的任何方式定义范围。例如,娱乐应用可以将一个范围定义为音频回放,另一为音频/视频回放。如果应用206的当前范围是例如音频回放,则每用户搜索历史源222标识用于音频回放但不用于音频/视频回放的匹配的先前搜索项。通过另一示例的方式,电子邮件应用可以将一个范围定义为电子邮件消息,另一范围为联系人,另一范围为日历条目。如果应用206的当前范围是例如联系人,则每用户搜索历史源222标识用于联系人但不用于电子邮件消息或日历条目的匹配的先前搜索项。每用户搜索历史源222无需关心为什么存在用于应用的不同的范围或应用将这些不同的范围用于什么。此外,每用户搜索历史源222可以仅维护基于用于该搜索项的范围的搜索项的记录。
群搜索历史源224是不考虑设备的用户的基于搜索项的历史提供零个或更多个建议的搜索项的一个或多个组件或模块。群搜索历史源224与每用户搜索历史源222相似,但不考虑设备的用户来操作。群搜索历史源224维护输入的搜索项的记录和被搜索该搜索项的应用。为了确定零个或更多个建议的搜索项,群搜索历史源224获得待搜索的应用的指示,比较接收的字符与该应用先前被搜索的搜索项,并且标识匹配的先前搜索项。无需维护设备的用户的记录,并且无需基于设备的当前用户比较接收的字符与先前搜索的搜索项。作为建议的搜索项,群搜索历史源224将匹配接收的字符的先前输入的搜索项返回到搜索项收集模块242。
替代地,并非基于用于单个应用的搜索项,群搜索历史源224可以跨多个应用操作。在这些情况下,为了确定零个或更多个建议的搜索项,群搜索历史源224比较接收的字符与在设备处先前输入的搜索项,并且标识匹配的先前搜索项。无需维护被搜索特定搜索项的应用的记录,并且无需维护设备的用户的记录。相似地,无需基于设备的当前用户或待搜索的当前应用比较接收的字符与先前搜索的搜索项。
此外,在一个或多个实施例中,群搜索历史源224对群搜索历史源224提供的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。与关于每用户搜索历史源222的以上讨论类似,可以通过不同方式确定该排名。
此外,在一个或多个实施例中,应用206可以指定对于其群搜索历史源224将要维护搜索项的记录的不同的范围。与关于每用户搜索历史源222以上的讨论类似,为了确定零个或更多个建议的搜索项,群搜索历史源224获得应用206的当前范围的指示,并且仅对于该范围标识先前搜索的匹配搜索项。
独立服务提供商源226是独立于实现可扩展搜索项建议模块202和/或搜索UI模块204的计算设备提供零个或更多个建议的搜索项的一个或多个组件或模块。独立服务提供商源206可以是远程设备或服务,例如提供建议的搜索项的通过因特网访问的服务。搜索项收集模块242将用户数据的字符提供给独立服务提供商源226,并且从独立服务提供商源226接收零个或更多个建议的搜索项。独立服务提供商源226确定其中独立服务提供商源226基于这些字符确定零个或更多个建议的搜索项的方式。搜索项收集模块242无需具有(并且典型地没有)独立服务提供商源226如何确定零个或更多个建议的搜索项的知识。多个这些独立服务提供商源226可以可用于搜索项收集模块242,并且模块242可以通过使用哪个或哪些独立服务提供商源226的指示被预先配置,或替代地可以例如从应用206(例如经由配置模块240)、从实现可扩展搜索项建议模块202的设备的用户等接收或另外获得使用哪个或哪些独立服务提供商源226的指示。
此外,在一个或多个实施例中,独立服务提供商源226对独立服务提供商源226提供的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。独立服务提供商源226自身确定其中独立服务提供商源226确定排名的方式——搜索项收集模块242无需具有(并且典型地没有)独立服务提供商源226如何确定排名的知识。
自然语言源228是基于文字的字典提供零个或更多个建议的搜索项的一个或多个组件或模块。自然语言源228包括文字(例如英语语言或另一语言中通常使用的文字、英语语言或其它语言中的特定领域中通常使用的文字等)的特定字典,或能够对其访问。自然语言源228比较接收的字符(从搜索项收集模块242接收的用户数据的字符)与该字典中的语言,并且作为零个或更多个建议的搜索项返回匹配(例如开始于)接收的字符的文字。多个这些自然语言源228可以对于搜索项收集模块242可用,并且模块242可以通过使用哪个或哪些自然语言源228的指示被预先配置,或替代地可以例如从应用206(例如经由配置模块240)、从实现本地文件源220的设备的用户等接收或另外获得使用哪个或哪些自然语言源228的指示。
此外,在一个或多个实施例中,自然语言源228对自然语言源228提供的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。可以通过不同方式确定该排名。例如,自然语言源228可以维护字典中的每个文字多常用的指示,并且从最常用到最不常用的排序排名建议的搜索项。通过另一示例的方式,自然语言源228可以基于文字的大小(例如关于文字中的字符或音节的数量)排名建议的搜索项,按从最小文字到最长文字的排序排名建议的搜索项。
此外,应用206自身可以是建议源。与独立服务提供商源226相似,搜索项收集模块242将用户数据的字符提供给应用206,并且从应用206接收零个或更多个建议的搜索项。应用206自身确定其中应用206基于这些字符确定零个或更多个建议的搜索项的方式——搜索项收集模块242无需具有(并且典型地没有)应用206如何确定零个或更多个建议的搜索项的知识。虽然应用206可以是建议源,但应用206无需是建议源。反而,应用206可以依靠其它建议源220-228中的一个或多个,并且无需自身生成建议的搜索项。
此外,在一个或多个实施例中,应用206对应用206提供的建议的搜索项进行排名。建议的搜索项的该排名是从最高排名到最低排名的搜索项的排序。应用206确定其中应用206确定排名的方式——搜索项收集模块242无需具有(并且典型地没有)应用206如何确定排名的知识。
搜索项合并模块244将搜索项收集模块242获得的建议的搜索项合并或组合为建议的搜索项的组合的集合,并且将建议的搜索项的组合的集合提供给用于对用户显示的搜索UI模块204。组合的列表是例如图3的建议列表310。在一个或多个实施例中,搜索项合并模块244通过按(基于从其获得建议的搜索项的建议源的)特定排序布置获得的建议的搜索项来生成建议的搜索项的组合的集合。该排序指示哪些建议源将要使得它们的建议的搜索项比所述其它建议源在组合的列表中更早(例如在图3的建议列表310中更高)被包括。搜索项合并模块244可以通过使用的排序被配置,或替代地可以在另外地方(例如从应用206、从另一模块或设备等)获得排序。搜索项收集模块242可以标识从哪个建议源获得哪些建议的搜索项,或替代地建议源可以通过其它方式(例如从建议源自身接收)被标识。
在一个或多个实施例中,其中从其获得建议的搜索项的建议源是本地文件源222、每用户搜索历史源222和应用206,建议的搜索项的排序是从每用户搜索历史源222获得的搜索项,随后是来自本地文件源220的建议的搜索项,随后是来自应用206的建议的搜索项。例如,如果从本地文件源220获得建议的搜索项“Hello”、“Heathrow Airport”和“Henderson Nevada”,则从每用户搜索历史源222获得建议的搜索项“Helium”、“Heroes”和“Hercules”,并且从应用206获得建议的搜索项“Health Benefits”和“Healthy Lifestyles”,然后组合的列表中的建议的搜索项的排序将是:“Helium”、“Heroes”、“Hercules”、“Hello”、“Heathrow Airport”、“Henderson Nevada”、“Health Benefits”和“Healthy Lifestyles”。
在一个或多个实施例中,搜索项合并模块244还在生成建议的搜索项的组合的集合时移除复制的建议的搜索项。如果从多个建议源获得相同的建议的搜索项,则在组合的集合中包括该搜索项仅一次。可以通过不同的方式确定将要移除建议的搜索项的哪些副本。在一个或多个实施例中,根据上述建议源的排序第一出现的建议的搜索项被保持,并且移除建议的搜索项的其它出现。例如,继续先前示例,如果相同建议的搜索项待被包括在来自本地文件源220、每用户搜索历史源222和应用206中的每一个建议的搜索项中,则该建议的搜索项被保持为从每用户搜索历史源222获得的建议的搜索项中的一个,并且从从本地文件源220和应用206获得的建议的搜索项被移除。
对于从每一建议源获得的建议的搜索项,来自该建议源的建议的搜索项的组合的集合中的排序基于从该建议源接收的那些建议的搜索项的排名。在一个或多个实施例中,建议源按建议的搜索项待被包括在组合的集合中的排序(基于建议源使用的排名机制)返回建议的搜索项。替代地,可以通过不同方式,例如按字母顺序地、随机地、根据其它规则或准则等,确定来自特定建议源的建议的搜索项的组合的集合中的排序。
应注意,建议的搜索项的不同的建议源可以具有不同时延,其指代搜索项收集模块242花费多少时间从那些不同的建议源接收建议的搜索项。建议源的时延可以是各个因素的结果,所述因素例如是否从与实现可扩展搜索项建议模块202或远程设备相同的设备获得建议的搜索项,是否由建议源执行其它请求或操作、实现建议源的方式等。
搜索项模块244考虑这些潜在地不同的时延。在一个或多个实施例中,搜索项模块244等待阈值时间量。该阈值时间量可以改变,并且可以例如在100毫秒到1秒的量级。搜索项合并模块244可以通过要使用的阈值时间量被配置,或替代地可以在另外地方(例如从应用206、从另一模块或设备等)获得阈值时间量。将阈值时间量内接收的建议的搜索项提供给搜索UI模块204,并且当接收它们时将从其它建议源随后接收的建议的搜索项提供给搜索UI模块204。
此外,在一个或多个实施例中,搜索项合并模块244使用上述基于建议源的建议的搜索项的排序。如果在阈值时间量内未接收到来自特定建议源的建议的搜索项,则将从在排序中较早的建议源接收的建议的搜索项返回给搜索UI模块204,但不返回从在排序中较晚的建议源接收的建议的搜索项,直到接收到来自该特定建议源的建议的搜索项。例如,假设要从本地文件源220、每用户搜索历史源222、独立服务提供商源226和应用206获得建议的搜索项,并且在组合的集合中的建议的搜索项的排序是:从每用户搜索历史源222获得的搜索项、随后是来自本地文件源220的建议的搜索项、随后是来自独立服务提供商源226的建议的搜索项、随后是来自应用206的建议的搜索项。如果在阈值时间量内从源220、源222和应用206接收搜索项,但在阈值时间量内未接收到来自源226的搜索项,则将从源220和222接收的搜索项返回到搜索UI模块204作为组合的列表。当随后接收到来自源226的搜索项时,则将来自源226和应用206的搜索项返回到搜索UI模块204作为对组合的列表的添加。作为对组合的列表的添加的部分的建议的搜索项被附加到搜索UI模块204显示的建议的搜索项的列表的末尾,而不是被插入列表的中间。
搜索项模块244可以包括来自不同的建议源的不同数量的建议的搜索项。搜索项合并模块244可以通过来自每一建议源的要包括的建议的搜索项的数量被配置,或替代地可以从另外地方的每一建议源(例如从应用206、从另一模块或设备等)获得要包括的建议的搜索项的数量。如果建议源返回比搜索项模块244待包括在用于该建议源的组合的集合中更少的建议的搜索项,则搜索项模块244可以包括来自其它建议源的附加的建议的搜索项,或替代地仅包括被返回的建议的搜索项。如果包括来自其它建议源的附加的建议的搜索项,则搜索项模块244基于上述建议源添加来自在建议的搜索项的排序中较早的建议源的建议的搜索项。
例如,假设搜索项合并模块244待包括组合的集合中的八个建议的搜索项——来自本地文件源220的三个建议的搜索项和来自每用户搜索历史源222的五个建议的搜索项,并且组合的集合中的建议的搜索项的排序是从每用户搜索历史源222获得的搜索项后随从本地文件源220获得的搜索项。此外,假设每用户搜索历史源222返回八个建议的搜索项,本地文件源220返回两个建议的搜索项。在此情况下,搜索项合并模块244生成包括来自每用户搜索历史源222的六个建议的搜索项、后随来自本地文件源220的两个建议的搜索项的建议的搜索项的组合的集合。
此外,在一个或多个实施例中,每用户搜索历史源222(或替代地其它建议源)维护的信息可以漫游到不同的计算设备。该漫游允许源222维护的每用户历史用于不同的计算设备上的相同的用户。可以通过不同方式漫游源222维护的信息。例如,可以通过仅当该用户登入计算设备和/或另外提供适当的认证(例如用户名称和密码)时允许对信息的访问的安全方式来加密或另外存储源222维护的信息。信息可以存储在另一设备或服务(例如经由图1的网络106访问的设备104)上,并且当用户请求时(例如当用户登入计算设备时,当用户开始输入搜索项的字符时,等)被获取。替代地,信息可以在用户连接到不同的计算设备的便携式设备上(例如闪存设备上)被维护,包括可扩展搜索项建议模块202的设备可以使得信息(例如经由图1的网络106)对其它设备可用,等。
此外,在一个或多个实施例中,在确定零个或更多个建议的搜索项时,建议源中的一个或多个修改接收的字符(从搜索项收集模块242接收的用户数据的字符)。该修改允许例如标识印刷错误。该修改可以包括例如交换字符、添加一个或多个字符、以及移除一个或多个字符。例如,如果接收的字符是“He”,则字母“H”或字母“e”可以与其它字符(例如其它字母)交换,并且关于是否存在基于交换的字符提供的源的任何建议的搜索项进行检查。例如,字母“e”可以与字母“a”交换,并且关于是否存在基于接收的字符“Ha”提供的源的任何建议的搜索项(例如任何先前搜索的以“Ha”开始的搜索项)进行检查。通过另一示例的方式,如果接收的字符是“He”,则可以将另一字母添加到接收的字符的开始、末尾或中间。例如,可以添加字母“t”,产生“Het”、“Hte”或“The”,并且关于是否存在基于“Het”、“Hte”或“The”的接收的字符提供的源的任何建议的搜索项进行检查。通过又一示例的方式,如果接收的字符是“He”,则可以移除字母中的一个。例如,可以移除字母“e”,产生“H”,或可以移除字母“H”,产生字母“E”,并且关于是否存在基于“H”或“E”的接收的字符提供的源的任何建议的搜索项进行检查。
在一个或多个实施例中,仅在没有发现针对接收的字符的建议的搜索项的情况下,建议源才修改接收的字符试图标识零个或更多个建议的搜索项。因此,如果建议源使用接收的字符(没有修改)标识一个或多个建议的搜索项,则不执行接收的字符的修改。此外,在一个或多个实施例中,建议源使用用于指示可以修改多少字符和/或多频繁地修改字符的改变的阈值。例如,可以修改每3字符中的仅1个,可以修改每5个字符中的仅1个,等。
还应注意,修改接收的字符可以产生基于修改的字符的多个建议的搜索项。在这些情况下,可以基于它们与接收的字符的相关性来对多个建议的搜索项进行排名。可以通过不同方式,例如基于键盘的布局、修改的类型等,确定基于相关性的该排名。例如,排名可以是作为最相关的交换的字符、作为下一最相关的移除的字符、以及作为最不相关的添加的字符。通过另一示例的方式,如果不同的交换的字符产生多个建议的搜索项,则键盘的布局可以用于标识哪个字母最靠近接收的字符,并且该字母被排序为最相关的。例如,如果接收的字符是“He”,并且“e”与“a”和“i”交换,并且基于“Ha”和“Hi”的接收字符标识一个或多个建议的搜索项,则因为字母“a”比字母“i”更靠近QWERTY键盘布局上的字母“e”,所以基于“Ha”的接收字符的建议的搜索项将排名高于基于“Hi”的接收字符的建议的搜索项。
还应注意,虽然建议的搜索项在此被讨论为文本搜索项,但建议源中的一个或多个可以返回各种其它内容和/或类型的内容。除了或替代地代替返回的建议的搜索项,搜索UI模块204可以显示或另外呈现该其它内容和/或类型的内容。例如,可以返回并且显示与一个或多个建议的搜索项有关的一个或多个图像,可以返回并且显示与一个或多个建议的搜索项有关的附加的描述文本,可以返回并且回放与一个或多个建议的搜索项有关的音频内容等。
图4是示出根据一个或多个实施例的用于生成建议的搜索项的组合的集合的示例过程400的流程图。可以通过软件、固件、硬件或其组合实现处理400。可扩展搜索项建议模块(例如图1的模块118或图2的模块202)执行过程400。过程400示出为动作的集合,并且不限于对于执行各个动作的操作所示的排序。过程400是用于生成建议的搜索项的组合的集合的示例过程;在此参照不同的图包括生成建议的搜索项的组合的集合的附加讨论。
在过程400中,接收作为搜索项的至少一部分的用户数据的字符(动作402)。用户可以通过上述各种不同的方式输入字符。
接收待使用的建议源的指示(动作404)。可以从待搜索搜索项的应用或如上所述的另外地方接收该指示。
从建议源中的每一个获得零个或更多个建议的搜索项(动作406)。可以在不同时间从不同的建议源接收不同数量的搜索项,如上所述。虽然典型地从建议源中的每一个获得一个或多个建议的搜索项,但应注意,在一些情况下,建议源可以不返回建议的搜索项。
将获得的建议的搜索项组合为建议的搜索项的组合的集合(动作408)。可以基于来自每一不同的建议源的建议的搜索项的特定数量和特定排序来组合获得的建议的搜索项,如上所述。
将建议的搜索项的组合的集合返回到用于呈现的搜索用户界面(动作410)。搜索用户界面可以显示或另外对用户呈现建议的搜索项的该组合的集合,如上所述。
返回图2,系统200还包括语言替选生成模块208,其支持利用特定语言的语言替选获得并且显示建议的搜索项。一些语言,例如东亚语言(例如日语、汉语和韩语)包括与键盘的各个键不对应的大量字符。可以使用多个不同的字母表(例如拉丁或在俄语的情况下的西里尔)表示其它语言(例如俄语)。可扩展搜索项建议模块202支持利用这些语言的语言替选获得建议的搜索项。配置模块240从应用206(或替代地从另一组件或模块,例如搜索UI模块204)接收指定是否使用语言替选生成模块208(以及因此可扩展搜索项建议模块202是否要利用语言替选获得建议的搜索项)的指示。
随着可扩展搜索项建议模块202从搜索UI模块204接收字符,搜索项收集模块242在接收的字符被接收时将其提供给语言替选生成模块208。语言替选生成模块208可以通过各种不同的方式标识用于用户输入的语言替选,并且将这些语言替选返回到搜索项收集模块242。语言替选生成模块208典型地标识用于用户输入的一个或多个语言替选,并且将这些一个或多个语言替选返回到搜索项收集模块242。然而,应注意,语言替选生成模块208典型地无需(然而替代地可以需要)返回语言替选。因此,语言替选生成模块208不标识并且不返回用于特定用户输入的语言替选的情况可能出现。
在一个或多个实施例中,语言替选生成模块208通过将用户输入的字符从一个字母表转译为另一字母表来标识用于用户输入的语言替选。例如,在俄语语言的情况下,如果用户输入是拉丁字母表字符,则语言替选生成模块208将拉丁字母表字符转译为西里尔字母表字符。语言替选生成模块208将(西里尔字母表字符中的)用户输入的翻译返回到搜索项收集模块242作为一个或多个语言替选。
此外,在一个或多个实施例中,语言替选生成模块208标识语音音节可以表示的一个或多个字符。在一些情况下,例如一些东亚语言,为了输入特定字符,用户输入语音音节作为多个拉丁字母表字符。例如,用户可以使用可以与多个不同的汉语字符对应的拉丁字母表字符“bei”输入语音音节。语言替选生成模块208标识可以与特定用户输入对应的零个或更多个不同的字符,并且将这些标识的字符返回到搜索项收集模块242作为语言替选。例如,如果用户输入是“bei”,则语言替选生成模块208标识“bei”可以表示的不同的汉语字符,并且将这些汉语字符返回到搜索项收集模块242作为语言替选。通过另一示例的方式,如果用户输入是“h”,则语言替选生成模块208标识“h”可以表示的不同的汉语字符(其将包括以“h”开始的多个不同的语音音节),并且将这些汉语字符返回到搜索项收集模块242作为语言替选。
语言替选生成模块208可以被配置用于特定语言或替代地用于多个语言。例如,设备(例如实现可扩展搜索项建议模块202和/或搜索UI模块204的设备)的用户、应用206、搜索UI模块204等可以提供标识对于其语言替选生成模块208将要提供替选的语言的配置设置。通过另一示例的方式,系统200中可以包括不同的语言替选生成模块208,每一用于不同的语言(例如一个模块208用于俄语、另一模块208用于汉语、另一模块208用于日语等)。搜索项收集模块242可以根据对于其期望语言替选的(例如设备的用户、应用206、搜索UI模块204等指示的)语言将用户输入提供给这些不同的模块208中的一个或多个。
搜索项收集模块242从语言替选生成模块208接收语言替选,并且将从搜索UI模块204接收的字符和语言替选提供给从其获得建议的搜索项的应用206和建议源220-228中的一个或多个。每一建议源可以然后基于接收的字符、语言替选或接收的字符和语言替选两者确定一个或多个建议的搜索项。如果从语言替选生成模块208未接收到语言替选,则搜索项收集模块242仅将从搜索UI模块204接收的字符提供给从其获得建议的搜索项的应用206和建议源220-228中的一个或多个。虽然以上讨论从多个建议源获得建议的搜索项,但应注意,语言替选可以被提供给单个建议源以及从单个建议源接收建议的搜索项并且返回到搜索UI模块204。
每一建议源可以通过不同的方式确定一个或多个建议的搜索项,如上所述。然而,也可以基于语言替选进行确定。例如,每用户搜索历史源222可以包括包括汉语字符的先前搜索项的记录。随着用户输入拉丁字母表字母作为字符,语言替选生成模块208生成基于这些字符的不同的可能的汉语字符。将这些不同的汉语字符提供给每用户搜索历史源222,仿佛这些汉语字符是用户输入的实际字符。源222可以标识提供的汉语字符与包括汉语字符的先前搜索项之间的匹配,并且返回这些匹配汉语字符作为建议的搜索项。因此,响应于已经输入几个拉丁字母表字母,用户可以被呈现有每一包括一个或多个汉语字符的一个或多个建议的搜索项。
还应注意,由于建议的搜索项可以基于语言替选,因此建议的搜索项可以在各个不同的字母表和/或语言中。例如,建议的搜索项可以包括以“bei”开始的英语语言文字以及“bei”表示的汉语字符。
图5是示出根据一个或多个实施例的用于基于语言替选生成建议的搜索项的示例过程500的流程图。可以通过软件、固件、硬件或其组合实现过程500。可扩展搜索项建议模块和语言替选生成模块(例如图1的模块118或图2的模块202以及图2的模块208)执行过程500。过程500示出为动作的集合,并且不限于对于执行各个动作的操作所示的排序。过程500是用于基于语言替选生成建议的搜索项的示例过程;在此参照不同的图包括基于语言替选生成建议的搜索项的附加讨论。
在过程500中,接收作为搜索项的至少一部分的用户数据的字符(动作502)。用户可以通过上述各种不同的方式输入字符。
确定针对字符的语言替选(动作504)。可以通过不同的方式(包括将字符从一个字母表翻译为另一字母表并且标识如上所述语音音节可以表示的一个或多个字符)确定语言替选。
将字符和语言替选两者都提供给建议源(动作506)。替代地,在动作506中可以仅将语言替选提供给建议源。可以将语言替选提供给单个建议源,或替代地提供给多个建议源,如上所述。
从建议源接收一个或多个建议的搜索项(动作508)。虽然在一些情况下建议源可以不返回建议的搜索项,但从对其提供字符和语言替选的每一建议源典型地接收一个或多个建议的搜索项。
将建议的搜索项返回到用于呈现的搜索用户界面(动作510)。搜索用户界面可以对用户显示或另外呈现该建议的搜索项,如上所述。此外,从多个建议源接收的建议的搜索项可以组合为建议的搜索项的组合的集合,如上所述。
在此讨论的可扩展搜索项建议引擎支持各种不同使用情况。可扩展搜索项建议引擎提供具有对于输入搜索项以搜索应用的用户生成的建议的搜索项中的应用灵活性。不同应用可以依靠不同的建议源,并且无需(虽然可以)自身生成建议的搜索项。应用可以指定哪些一个或多个建议源用于生成建议的搜索项,并且也可以指定语言替选是否用在生成的建议的搜索项中。
图6示出根据一个或多个实施例的可以被配置为实现可扩展搜索项建议引擎的示例计算设备600。计算设备600可以是例如图1的计算设备102或104,并且可以实现图2的系统200的至少一部分。
计算设备600包括一个或多个处理器或处理单元602、可以包括一个或多个存储器和/或存储组件606的一个或多个计算机可读介质604、一个或多个输入/输出(I/O)设备608、以及允许各个组件和设备彼此通信的总线610。计算机可读介质604和/或一个或多个I/O设备608可以被包括作为计算设备600的一部分,或替代地可以耦合到计算设备600。总线610表示若干类型的总线结构中的一个或多个,包括使用各种不同的总线架构的存储器总线或存储控制器、外围总线、加速图形端口、处理器或本地总线等。总线610可以包括有线和/或无线总线。
存储器/存储组件606表示一个或多个计算机存储介质。组件606可以包括易失性介质(例如随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪存、光盘、磁盘等)。组件606可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可拆除介质(例如闪存驱动器、可拆除硬盘驱动器、光盘等)。
可以利用一个或多个处理单元602执行的指令以软件实现在此讨论的技术。应理解,不同的指令可以存储在计算设备600的不同的组件中,例如在处理单元602中,在处理单元602的各个高速缓存存储器中,在设备600的其它高速缓存存储器中(未示出)、在其它计算机可读介质上,等。此外,应理解,在计算设备600中存储的指令的位置可以随着时间改变。
一个或多个输入/输出设备608允许用户将命令和信息输入到计算设备600,并且还允许将信息呈现给用户和/或其它组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等。
可以在软件或程序模块的普通环境下在此描述各个技术。通常,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。可以在一些形式的计算机可读介质上存储或跨一些形式的计算机可读介质发送这些模块和技术的实现。计算机可读介质可以是计算设备可以访问的任何可用的一个或多个介质。通过示例的方式,但不是限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括通过用于例如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性、可拆除和不可拆除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用于存储期望的信息并且计算机可以访问的任何其它介质。
“通信介质”典型地包含计算机可读指令、数据结构、程序模块、或调制的数据信号(例如载波或其它传输介质)中的其它数据。通信介质还包括任何信息传送介质。术语“调制的数据信号”表示使其特性中的一个或多个按照编码信号中的信息的这种方式来设置或改变的信号。通过示例的方式,并且并非限制,通信介质包括有线介质(例如有线网络或直接布线连接)以及无线介质(例如声学、RF、红外和其它无线介质)。以上的任何的组合也被包括在计算机可读介质的范围内。
通常,可以使用软件、固件、硬件(例如固定逻辑电路)、手动处理、或这些实现的组合来实现在此描述的功能或技术中的任一项。在此使用的术语“模块”和“组件”通常表示软件、固件、硬件或其组合。在软件实现的情况下,模块或组件表示当在处理器(例如一个或多个CPU)上执行时执行指定的任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中,可以参照图6找到其进一步描述。在此描述的可扩展搜索项建议引擎技术的特征是平台独立的,表示可以在具有各种处理器的各种商用计算平台上实现所述技术。
虽然在对于结构特征和/或方法动作特定的语言中已经描述了主题内容,但应理解,所附权利要求中限定的主题内容不一定受限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作被公开作为实现权利要求的示例形式。

Claims (10)

1. 一种在计算设备的搜索项建议引擎中的方法,所述方法包括:
随着字符被输入,接收(402)用户数据的字符,其中,所述用户数据是提供给第一应用以搜索搜索项的所述搜索项的至少一部分,其中,所述第一应用是所述计算设备上的多个应用中的一个;
从所述第一应用接收(404)多个建议源的指示;
基于接收的字符从所述多个建议源中的两个或更多个中的每一个获得(406)一个或多个建议的搜索项;
将所述一个或多个建议的搜索项组合(408)为建议的搜索项的组合的集合;以及
将建议的搜索项的所述组合的集合返回(410)到用于对用户呈现的搜索用户界面。
2. 如权利要求1所述的方法,其中,所述多个建议源中的一个是基于所述计算设备的本地存储设备上存储的文件提供一个或多个建议的搜索项的本地文件源。
3. 如权利要求2所述的方法,所述本地文件源修改所述接收的字符以标识一个或多个建议的搜索项,所述修改包括:交换所述接收的字符中的各个字符,将一个或多个字符添加到所述接收的字符,或删除所述接收的字符的一个或多个字符。
4. 如权利要求1所述的方法,其中,所述多个建议源中的一个是基于所述计算设备的用户输入的搜索项的历史提供一个或多个建议的搜索项的每用户搜索历史源。
5. 如权利要求1所述的方法,其中,组合所述一个或多个建议的搜索项包括:
从自所述两个或更多个建议源获得的所述建议的搜索项移除复制的建议的搜索项;以及
基于从其获得所述建议的搜索项的所述建议源对建议的搜索项的所述组合的集合中的所述建议的搜索项进行排序。
6. 如权利要求5所述的方法,还包括:
对于所述多个建议源中的每一个,标识待包括在建议的搜索项的所述组合的集合中的多个建议的搜索项;
如果从所述建议源获得至少所述多个建议的搜索项,则对于所述多个建议源中的每一个,在所述组合的集合中包括来自所述建议源的所述多个建议的搜索项;以及
如果从所述建议源未获得至少所述多个建议的搜索项,则对于所述多个建议源中的每一个,在所述组合的集合中包括来自另一建议源的一个或多个建议的搜索项。
7. 如权利要求1所述的方法,其中,所述返回包括:
在阈值时间量内返回从所述多个建议源中的第一组一个或多个建议源接收的第一建议的搜索项;
等待直到从所述多个建议源中的第二组一个或多个建议源接收第二建议的搜索项;以及
在返回第一建议的搜索项之后,将所述第二建议的搜索项返回到所述搜索用户界面。
8. 一种计算设备,包括:
一个或多个处理器(602);以及
一个或多个计算机可读介质(604),其上存储当所述一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的多个指令:
随着字符被输入,接收(502)用户数据的字符,其中,所述用户数据是待提供给应用以搜索搜索项的所述搜索项的至少一部分;
确定(504)针对所述字符的一个或多个语言替选;
将所述字符和所述一个或多个语言替选两者都提供(506)给建议源;
基于所述一个或多个语言替选从所述建议源接收(508)一个或多个建议的搜索项;以及
将所述一个或多个建议的搜索项返回(510)到用于显示的搜索用户界面。
9. 如权利要求8所述的计算设备,其中,确定针对所述字符的一个或多个语言替选是将所述字符翻译为不同的字母表。
10. 如权利要求8所述的计算设备,其中,确定针对所述字符的一个或多个语言替选是标识所述字符表示的一个或多个东亚语言字符。
CN201110362974.0A 2010-11-16 2011-11-16 可扩展搜索项建议引擎 Active CN102426607B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/947170 2010-11-16
US12/947,170 US8515984B2 (en) 2010-11-16 2010-11-16 Extensible search term suggestion engine

Publications (2)

Publication Number Publication Date
CN102426607A true CN102426607A (zh) 2012-04-25
CN102426607B CN102426607B (zh) 2015-06-17

Family

ID=45960587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110362974.0A Active CN102426607B (zh) 2010-11-16 2011-11-16 可扩展搜索项建议引擎

Country Status (2)

Country Link
US (2) US8515984B2 (zh)
CN (1) CN102426607B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473326A (zh) * 2013-09-13 2013-12-25 百度在线网络技术(北京)有限公司 一种提供搜索建议的方法和装置
US9037565B2 (en) 2010-11-16 2015-05-19 Microsoft Technology Licensing, Llc System level search user interface
CN107015979A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 一种数据处理方法、装置和智能终端
CN108121692A (zh) * 2017-12-22 2018-06-05 苏州麦迪斯顿医疗科技股份有限公司 字符转换方法、装置、系统及存储介质
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
CN108604235A (zh) * 2015-11-19 2018-09-28 微软技术许可有限责任公司 显示查询建议的图形表示
CN109690531A (zh) * 2016-09-19 2019-04-26 电子湾有限公司 基于预测的即时搜索
US10346478B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Extensible search term suggestion engine
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
CN110442593A (zh) * 2019-08-12 2019-11-12 四川长虹电器股份有限公司 基于用户搜索信息跨应用共享的方法
CN111367440A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 任务栏搜索方法及装置

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010523B2 (en) * 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
EP2584771A1 (en) * 2011-10-17 2013-04-24 Research In Motion Limited Methods and apparatus for searching a message store
US8903714B2 (en) * 2011-12-21 2014-12-02 Nuance Communications, Inc. Concept search and semantic annotation for mobile messaging
US9495454B2 (en) * 2012-03-08 2016-11-15 Chih-Pin TANG User apparatus, system and method for dynamically reclassifying and retrieving target information object
WO2014014374A1 (en) * 2012-07-19 2014-01-23 Yandex Europe Ag Search query suggestions based in part on a prior search
US8577671B1 (en) * 2012-07-20 2013-11-05 Veveo, Inc. Method of and system for using conversation state information in a conversational interaction system
US9465833B2 (en) 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
DE102013003036B4 (de) 2013-02-22 2018-03-29 Audi Ag Kraftwagen-Infotainmentsystem mit Suchfunktionalität
DE102013003041B4 (de) * 2013-02-22 2019-07-18 Audi Ag Kraftwagen-Infotainmentsystem mit automatischer Eingabeergänzung bei der Suchbegriffeingabe
US9374411B1 (en) * 2013-03-21 2016-06-21 Amazon Technologies, Inc. Content recommendations using deep data
US9881102B2 (en) 2013-04-22 2018-01-30 Microsoft Technology Licensing, Llc Aggregating personalized suggestions from multiple sources
ES2751484T3 (es) 2013-05-07 2020-03-31 Veveo Inc Interfaz de entrada de voz incremental con retroalimentación en tiempo real
CN103383701A (zh) * 2013-07-12 2013-11-06 北京小米科技有限责任公司 信息检索方法、装置及终端
US9377971B2 (en) * 2014-04-16 2016-06-28 Canon Kabushiki Kaisha Systems and methods for improving device discovery
US9836554B2 (en) * 2014-04-30 2017-12-05 Excalibur Ip, Llc Method and system for providing query suggestions including entities
US9754037B2 (en) 2014-08-27 2017-09-05 Facebook, Inc. Blending by query classification on online social networks
US9703859B2 (en) * 2014-08-27 2017-07-11 Facebook, Inc. Keyword search queries on online social networks
US10114862B2 (en) 2014-08-29 2018-10-30 International Business Machines Corporation Suggestion of a broad-spectrum list of grouped natural language search query terms
US9892192B2 (en) * 2014-09-30 2018-02-13 International Business Machines Corporation Information handling system and computer program product for dynamically assigning question priority based on question extraction and domain dictionary
US20160140216A1 (en) 2014-11-19 2016-05-19 International Business Machines Corporation Adjusting Fact-Based Answers to Consider Outcomes
US9990441B2 (en) * 2014-12-05 2018-06-05 Facebook, Inc. Suggested keywords for searching content on online social networks
US9852136B2 (en) 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
US9854049B2 (en) 2015-01-30 2017-12-26 Rovi Guides, Inc. Systems and methods for resolving ambiguous terms in social chatter based on a user profile
JP6929278B2 (ja) * 2015-10-16 2021-09-01 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited タイトル表示方法及び装置
US10671653B2 (en) * 2016-02-18 2020-06-02 Adobe Inc. Analyzing search queries to provide potential search query modifications via interactive user-interfaces
US10078673B2 (en) 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10140017B2 (en) * 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
US9965530B2 (en) 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10222957B2 (en) * 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US10643142B2 (en) * 2016-08-02 2020-05-05 Target Brands Inc. Search term prediction
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
KR101916798B1 (ko) * 2016-10-21 2018-11-09 네이버 주식회사 검색 컨텍스트를 이용한 질의 추천 방법 및 시스템
US10795938B2 (en) 2017-03-13 2020-10-06 Target Brands, Inc. Spell checker
US11431769B2 (en) * 2018-04-26 2022-08-30 Slack Technologies, Llc Systems and methods for managing distributed client device membership within group-based communication channels
US11386131B2 (en) * 2018-05-29 2022-07-12 Microsoft Technology Licensing, Llc System and method for multi-language search
US20200097499A1 (en) * 2018-09-26 2020-03-26 Rovi Guides, Inc. Systems and methods for generating query suggestions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101268463A (zh) * 2005-08-24 2008-09-17 雅虎公司 在完成搜索查询之前提出可选查询
CN101395604A (zh) * 2005-12-30 2009-03-25 谷歌公司 用于网页浏览器的动态搜索框
CN101467147A (zh) * 2006-04-13 2009-06-24 塞尔奇米公司 在竖直区域内执行搜索的系统和方法

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6251064A (ja) 1985-08-30 1987-03-05 Hitachi Ltd Vtr用ガイドロ−ラ組立品
JPH01152527A (ja) 1987-12-10 1989-06-15 Oki Electric Ind Co Ltd データ検索装置の検索データ入力方法
WO1999045487A1 (en) 1998-03-03 1999-09-10 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6418429B1 (en) 1998-10-21 2002-07-09 Apple Computer, Inc. Portable browsing interface for information retrieval
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US6847959B1 (en) 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
TW495716B (en) 2000-01-21 2002-07-21 Dream Technologies Corp Control device and method for starting computer application software and multi-monitor computer, client-server system, and memory media thereof
US9767167B2 (en) 2000-04-27 2017-09-19 Proquest Llc Method and system for retrieving search results from multiple disparate databases
US6708162B1 (en) 2000-05-08 2004-03-16 Microsoft Corporation Method and system for unifying search strategy and sharing search output data across multiple program modules
KR20010106590A (ko) 2000-05-22 2001-12-07 함광선 통신상의 웹사이트 통합 검색방법 및 이 방법을수행하도록 프로그램된 소프트웨어가 저장된 매체
US7451136B2 (en) 2000-10-11 2008-11-11 Microsoft Corporation System and method for searching multiple disparate search engines
US7379965B2 (en) 2001-03-02 2008-05-27 Oracle International Corporation System and method for searching data partially displayed on a user interface
US7519605B2 (en) 2001-05-09 2009-04-14 Agilent Technologies, Inc. Systems, methods and computer readable media for performing a domain-specific metasearch, and visualizing search results therefrom
AU2003285702A1 (en) 2003-01-06 2004-07-29 Koninklijke Philips Electronics N.V. Multi-factor application selection
US7119794B2 (en) 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US7552400B1 (en) 2003-05-20 2009-06-23 Google Inc. System and method for navigating within a graphical user interface without using a pointing device
US7392249B1 (en) * 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
JP2005327221A (ja) 2003-08-29 2005-11-24 Seiko Epson Corp 検索システム及び検索プログラム並びにパーソナルコンピュータ
KR20050026142A (ko) 2003-09-09 2005-03-15 엘지전자 주식회사 컴퓨터 시스템에서의 단축키 판별장치 및 방법
US20050149496A1 (en) 2003-12-22 2005-07-07 Verity, Inc. System and method for dynamic context-sensitive federated search of multiple information repositories
CN100495392C (zh) 2003-12-29 2009-06-03 西安迪戈科技有限责任公司 一种智能搜索方法
US7890526B1 (en) * 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
KR100621194B1 (ko) 2004-02-19 2006-09-13 (주)케이티에프테크놀로지스 사용자 단말기내의 저장 정보 검색 방법 및 그 방법을이용하는 사용자 단말기
JP2005258524A (ja) 2004-03-09 2005-09-22 Nec Corp アプリケーション起動方法及び該方法を用いる携帯端末
US7272601B1 (en) 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US20060200827A1 (en) 2005-02-18 2006-09-07 Sidlosky Jeffrey A J Methods and systems providing desktop search capability to software application
US7428529B2 (en) 2004-04-15 2008-09-23 Microsoft Corporation Term suggestion for multi-sense query
US7428530B2 (en) 2004-07-01 2008-09-23 Microsoft Corporation Dispersing search engine results by using page category information
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
JP4939739B2 (ja) 2004-10-05 2012-05-30 パナソニック株式会社 携帯情報端末及び表示制御プログラム
US8677274B2 (en) 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7499940B1 (en) 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US20060136389A1 (en) 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US7461059B2 (en) 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US7340686B2 (en) 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
US8140574B2 (en) 2005-04-28 2012-03-20 International Business Machines Corporation Community search scopes for enterprises applications
US7840589B1 (en) * 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US20070174286A1 (en) 2005-05-17 2007-07-26 Yahoo!, Inc. Systems and methods for providing features and user interface in network browsing applications
US7725485B1 (en) * 2005-08-01 2010-05-25 Google Inc. Generating query suggestions using contextual information
US8060487B2 (en) 2005-08-01 2011-11-15 Sap Ag Searching for and launching data files not associated with an application
US7440948B2 (en) 2005-09-20 2008-10-21 Novell, Inc. System and method of associating objects in search results
US7752220B2 (en) 2005-08-10 2010-07-06 Yahoo! Inc. Alternative search query processing in a term bidding system
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
KR20070034313A (ko) 2005-09-23 2007-03-28 주식회사 엘지텔레콤 모바일 검색 서버 및 상기 검색 서버의 동작 방법
US20070088680A1 (en) 2005-10-14 2007-04-19 Microsoft Corporation Simultaneously spawning multiple searches across multiple providers
KR100643801B1 (ko) * 2005-10-26 2006-11-10 엔에이치엔(주) 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법
US7584188B2 (en) 2005-11-23 2009-09-01 Dun And Bradstreet System and method for searching and matching data having ideogrammatic content
KR100737521B1 (ko) 2005-11-24 2007-07-10 한국전자통신연구원 어플리케이션 상태 정보 수집 및 복원 방법 및 시스템
CN101495955B (zh) 2005-12-12 2013-06-19 特捷通讯公司 移动设备检索与导航
US7680763B2 (en) 2005-12-21 2010-03-16 International Business Machines Corporation Administration of resources in system-wide search systems
US8065286B2 (en) 2006-01-23 2011-11-22 Chacha Search, Inc. Scalable search system using human searchers
JP2007200243A (ja) 2006-01-30 2007-08-09 Kyocera Corp 携帯端末装置、携帯端末装置の制御方法及びプログラム
US20070219954A1 (en) 2006-03-15 2007-09-20 Microsoft Corporation Refined Search User Interface
US7853555B2 (en) 2006-04-19 2010-12-14 Raytheon Company Enhancing multilingual data querying
US20070265831A1 (en) 2006-05-09 2007-11-15 Itai Dinur System-Level Correction Service
KR100785755B1 (ko) 2006-05-17 2007-12-18 엔에이치엔(주) 초성 자동완성 및 그에 따른 검색 결과 제공 방법 및시스템
US8938474B2 (en) 2006-08-07 2015-01-20 International Business Machines Corporation Securing application information in system-wide search engines
US20120130814A1 (en) 2007-11-14 2012-05-24 Paul Vincent Hayes System and method for search engine result ranking
US9298721B2 (en) 2007-02-28 2016-03-29 Qualcomm Incorporated Prioritized search results based on monitored data
US8352881B2 (en) 2007-03-08 2013-01-08 International Business Machines Corporation Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions
ES2612691T3 (es) 2007-04-26 2017-05-18 Nokia Technologies Oy Método y aparato portátil para buscar elementos de diferentes tipos
US20080306933A1 (en) 2007-06-08 2008-12-11 Microsoft Corporation Display of search-engine results and list
KR101343641B1 (ko) 2007-06-22 2013-12-20 주식회사 케이티 범위 지정 정보 검색 방법 및 장치
US8290986B2 (en) 2007-06-27 2012-10-16 Yahoo! Inc. Determining quality measures for web objects based on searcher behavior
US8027964B2 (en) * 2007-07-13 2011-09-27 Medio Systems, Inc. Personalized query completion suggestion
US8051061B2 (en) * 2007-07-20 2011-11-01 Microsoft Corporation Cross-lingual query suggestion
JP2009037501A (ja) 2007-08-03 2009-02-19 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置、情報検索方法およびプログラム
US20090043741A1 (en) 2007-08-09 2009-02-12 Dohyung Kim Autocompletion and Automatic Input Method Correction for Partially Entered Search Query
US8046351B2 (en) 2007-08-23 2011-10-25 Samsung Electronics Co., Ltd. Method and system for selecting search engines for accessing information
US20090063448A1 (en) 2007-08-29 2009-03-05 Microsoft Corporation Aggregated Search Results for Local and Remote Services
US8595252B2 (en) 2007-09-14 2013-11-26 Google Inc. Suggesting alternative queries in query results
US20090089396A1 (en) 2007-09-27 2009-04-02 Yuxi Sun Integrated Method of Enabling a Script-Embedded Web Browser to Interact with Drive-Based Contents
US8583670B2 (en) 2007-10-04 2013-11-12 Microsoft Corporation Query suggestions for no result web searches
US8694483B2 (en) * 2007-10-19 2014-04-08 Xerox Corporation Real-time query suggestion in a troubleshooting context
US8176068B2 (en) * 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
TW200923690A (en) 2007-11-23 2009-06-01 Eastern Home Shopping & Amp Leisure Co Ltd System and method for shop search
US7984004B2 (en) 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US20090210404A1 (en) * 2008-02-14 2009-08-20 Wilson Kelce S Database search control
US8412567B2 (en) * 2008-03-11 2013-04-02 Xerox Corporation System and method for computerized sales optimization
US8447759B2 (en) * 2008-03-13 2013-05-21 Microsoft Corporation Assets suggestion across applications
US9798806B2 (en) * 2008-03-31 2017-10-24 Excalibur Ip, Llc Information retrieval using dynamic guided navigation
US8112404B2 (en) 2008-05-08 2012-02-07 Microsoft Corporation Providing search results for mobile computing devices
US8543393B2 (en) * 2008-05-20 2013-09-24 Calabrio, Inc. Systems and methods of improving automated speech recognition accuracy using statistical analysis of search terms
US8356274B2 (en) 2008-07-07 2013-01-15 International Business Machines Corporation System and methods to create a multi-tenancy software as a service application
US8219572B2 (en) 2008-08-29 2012-07-10 Oracle International Corporation System and method for searching enterprise application data
KR101570116B1 (ko) 2008-09-09 2015-11-19 삼성전자주식회사 터치스크린을 이용한 컨텐츠 탐색 및 실행방법과 이를 이용한 장치
US8204897B1 (en) * 2008-09-09 2012-06-19 Google Inc. Interactive search querying
US20100082649A1 (en) 2008-09-22 2010-04-01 Microsoft Corporation Automatic search suggestions from server-side user history
JP2010092383A (ja) 2008-10-10 2010-04-22 Keyence Corp 電子文書ファイル検索装置、電子文書ファイル検索方法及びコンピュータプログラム
US9015616B2 (en) 2008-10-22 2015-04-21 Google Inc. Search initiation
US7958143B1 (en) 2008-11-04 2011-06-07 A9.Com, Inc. Context search to refine a search
KR101023911B1 (ko) 2008-11-12 2011-03-22 엔에이치엔(주) 추천 질의어 제공 방법 및 시스템
US8126885B2 (en) 2008-12-19 2012-02-28 Hewlett-Packard Development Company, L.P. History based search service operable with multiple applications and services
US20100185644A1 (en) 2009-01-21 2010-07-22 Microsoft Corporatoin Automatic search suggestions from client-side, browser, history cache
JP2010212841A (ja) 2009-03-09 2010-09-24 Kddi Corp 携帯電話機およびインクリメンタル検索プログラム
US8589374B2 (en) 2009-03-16 2013-11-19 Apple Inc. Multifunction device with integrated search and application selection
US20100268661A1 (en) * 2009-04-20 2010-10-21 4-Tell, Inc Recommendation Systems
CN101539836A (zh) 2009-04-30 2009-09-23 广东国笔科技股份有限公司 一种人机界面交互系统和方法
CN101782833B (zh) 2009-04-30 2012-05-23 广东国笔科技股份有限公司 一种智能操作系统及方法
KR20120040160A (ko) 2009-05-27 2012-04-26 구글 인코포레이티드 검색 결과들 내의 컴퓨터 어플리케이션 데이터
US8103667B2 (en) 2009-05-28 2012-01-24 Microsoft Corporation Ranking results of multiple intent queries
US8332748B1 (en) 2009-10-22 2012-12-11 Google Inc. Multi-directional auto-complete menu
US9129012B2 (en) * 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
US20170220680A1 (en) 2010-02-22 2017-08-03 Google Inc. Search query reformulation using a user-selected term
JP5659500B2 (ja) 2010-02-22 2015-01-28 日本電気株式会社 Webサービス記憶プログラム、および、Webサービス記憶装置
US8515979B2 (en) 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
CN102298582B (zh) * 2010-06-23 2016-09-21 商业对象软件有限公司 数据搜索和匹配方法和系统
CN101984395A (zh) 2010-10-20 2011-03-09 广东国笔科技股份有限公司 一种基于pc的智能操作系统及方法
US20130212099A1 (en) 2010-10-21 2013-08-15 Richard R. Dellinger Searching Multiple Data Sources Using a Mobile Computing Device
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101268463A (zh) * 2005-08-24 2008-09-17 雅虎公司 在完成搜索查询之前提出可选查询
CN101395604A (zh) * 2005-12-30 2009-03-25 谷歌公司 用于网页浏览器的动态搜索框
CN101467147A (zh) * 2006-04-13 2009-06-24 塞尔奇米公司 在竖直区域内执行搜索的系统和方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037565B2 (en) 2010-11-16 2015-05-19 Microsoft Technology Licensing, Llc System level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US10346478B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Extensible search term suggestion engine
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
CN103473326A (zh) * 2013-09-13 2013-12-25 百度在线网络技术(北京)有限公司 一种提供搜索建议的方法和装置
CN108604235A (zh) * 2015-11-19 2018-09-28 微软技术许可有限责任公司 显示查询建议的图形表示
CN107015979A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 一种数据处理方法、装置和智能终端
CN109690531A (zh) * 2016-09-19 2019-04-26 电子湾有限公司 基于预测的即时搜索
CN108121692A (zh) * 2017-12-22 2018-06-05 苏州麦迪斯顿医疗科技股份有限公司 字符转换方法、装置、系统及存储介质
CN111367440A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 任务栏搜索方法及装置
CN110442593A (zh) * 2019-08-12 2019-11-12 四川长虹电器股份有限公司 基于用户搜索信息跨应用共享的方法
CN110442593B (zh) * 2019-08-12 2022-02-01 四川长虹电器股份有限公司 基于用户搜索信息跨应用共享的方法

Also Published As

Publication number Publication date
US20120124071A1 (en) 2012-05-17
US10346478B2 (en) 2019-07-09
US20130304757A1 (en) 2013-11-14
US8515984B2 (en) 2013-08-20
CN102426607B (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
CN102426607A (zh) 可扩展搜索项建议引擎
US11200252B2 (en) Process and apparatus for selecting an item from a database
JP6803719B2 (ja) メッセージ提供方法、メッセージ提供装置、表示制御方法、表示制御装置及びコンピュータプログラム
CN102349087B (zh) 自动提供与捕获的信息例如实时捕获的信息关联的内容
CN102436499B (zh) 系统级搜索用户界面的注册
US9342233B1 (en) Dynamic dictionary based on context
CN102439544A (zh) 与输入法编辑器计算设备的交互
CN105830150A (zh) 基于意图的用户体验
WO2011049727A2 (en) Leveraging collaborative cloud services to build and share apps
TW200947234A (en) Techniques for input recognition and completion
CN107408131A (zh) 触摸屏计算设备上的截短的自动建议
CN105793844A (zh) 上下文信息查找和导航
WO2007004408A1 (ja) 情報処理装置,情報処理方法および情報処理プログラム
CN103999082B (zh) 用于检测社交媒体中的社区的方法、计算机程序和计算机
CN104252312A (zh) 触笔词典共享
Semaan et al. Toward enhancing web accessibility for blind users through the semantic web
WO2014002614A1 (ja) 関連コンテンツ検索装置及び関連コンテンツ検索方法
JP7027757B2 (ja) 情報処理装置及び情報処理プログラム
US20210118012A1 (en) User-customizable, user-personalizable and user compensable keyboard providing system and method
JP6618103B1 (ja) 文章生成装置、文章生成方法、および文章生成プログラム
JP2021072120A (ja) アプリ使用パターンと会話分析に基づいてアプリ機能のショートカットを推薦する方法および装置
KR101666436B1 (ko) 네트워크 접속 여부에 따라 출력정보가 변경되는 전자책 서비스를 제공하는 독자단말
JP6796337B2 (ja) 評釈データベース作成装置、評釈データベース作成方法、評釈データベース作成プログラム
KR101666437B1 (ko) 네트워크 접속 여부에 따라 출력정보가 변경되는 전자책 서비스의 제공방법
Louis A Media Genealogy of the Japanese Mobile Phone, 1997–2007

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150625

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150625

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.