本发明包含了受著作权保护的内容。著作权的拥有人并不反对任何人复制专利公开内容,如其出现在专利局和商标局中的记录档案中那样,否则著作权的拥有人保留对其的任何著作权。
具体实施方式
下面参考用于选择并呈现与特定话题有关的表现形式的方法和设备的框图和操作图示来描述本发明。框图或操作图示中的每个方框或多个方框的组合可以通过使用模拟或数字硬件及计算机程序指令来实现。
这些计算机程序指令可提供给通用计算机、专用计算机、专用集成电路(ASIC)或者其他可编程数据处理设备的存储器。使得在计算机或者其他可编程的数据处理设备的处理器上执行的指令将实现在框图或是一个或多个操作块中所表明的功能/动作。
在其他一些的实施方式中,在方框中描述的功能/动作并不一定按照操作图示所描述的顺序发生。例如,图中连续出现的两个方框,在实际上可以基本同时执行;或者根据所包含的功能/动作,在一些情况下,可以以相反的顺序执行。
在本公开文本中,术语“服务器”应该被理解为指代提供处理功能、数据库和通信设施的服务点。作为示例但不局限于此,术语“服务器”可以指一个单一的、物理存在的处理器以及相关的通信、数据存储和数据库设施,或者它也可以指联网的、集群的处理器组,以及相关的网络、存储设施、操作软件、一个或多个数据库系统和支持由服务器提供的服务的应用软件。
在本公开文本中,术语“终端用户”或“用户”应该被理解为指代数据供应商所提供的数据的消费者。作为示例但不局限于此,术语“终端用户”可以指通过因特网在浏览器会话中接收数据供应商提供的数据的个人,或者可以指代接收数据并存储或处理数据的自动软件应用。
在本公开文本中,计算机可读介质以机器可读形式存储计算机数据。作为示例但不局限于此,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性的和非易失性的、可移动的和不可移动的介质,这些介质可用任何用于信息存储的方法或技术来实现,这些信息例如是计算机可读指令、数据结构、程序模块和其他数据。计算机存储介质包括但不限于随机存储器(RAM)、只读储存器(ROM)、可擦写可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、光盘(CD-ROM)、数字多功能盘(DVD)、或其他光存储装置、盒式磁带、卡式磁带、磁盘存储装置或其他大容量存储设备、或任何其他可用于存储希望的信息的、并能用计算机访问的介质。
在本公开文本中,模块是软件、硬件、固件(或其组合)系统、过程或功能,或其组件等,并能执行或促进此处所描述的过程、特征和/或功能(包含或不包含人的交互或增强干预)。一个模块可以包括多个子模块。模块中的软件组件可以存储在计算机可读介质中。模块可以集成在一个或多个服务器中,或者被一个或多个服务器加载并执行。一个或多个模块有可能组成一个引擎或应用。
本发明针对如下系统和方法:这些系统和方法通过将手写字符和词的在线识别集成在搜索查询输入中,改进了网络搜索服务的可用性和这些服务所提供的搜索查询辅助功能。在一个实施例中,在线实时手写识别功能将由服务器提供,并通过简单的浏览器界面而集成在用户搜索查询功能中。从而避免了在终端用户设备上需要复杂的专用软件和硬件。
图1至图5展示了提供在线手写识别的网络查询输入用户界面1000的一个实施例。图1示出了输入任何字符(包括网络查询)之前的网络查询输入用户界面1000。该界面提供了菜单条1200用于让用户选择各种功能,例如搜索功能。该界面也提供了网络搜索部件1400,用户可在其中输入网络查询。通过点击提交按钮1440,在框1400中输入的查询可以被提交给搜索引擎。该界面还提供了手写识别部件1800,该手写识别部件1800特别包含了一个绘图区域1820用于绘制图形字符。手写识别部件1800可以在网络查询输入用户界面1000被显示时自动显示,或者可以响应于任何用户界面动作,例如组合键动作或菜单选项选择动作而被显示。
图2显示了在用户已经开始输入一个图形字符后,图1中的网络查询输入用户界面1000的状况。通过用户界面动作,例如在按住鼠标键的同时将鼠标移动到绘图区域中,用户可以在绘图区域1820中绘制笔划1824。该界面可以提供撤销按钮1860和重复按钮1880,使得用户可以在绘图区域1820中撤销或重复绘制笔划1824。随着用户绘制笔划1824,最这些笔划最相近的候选图形字符会显示在1840中。在一个实施例中,使用手写识别技术或者其他模式匹配技术来选择字符1840。在所图示的实施例中,该界面显示了五个建议字符1840,但是也可能显示更多或更少的建议字符。在一个实施例中,每当用户输入笔划1824或者选择了撤销按钮1860或重复按钮1880时,新的字符选择1840将被显示。当显示出所需字符时,用户可通过用户界面动作,例如点击或双击该所需字符,来选择字符1840中的一个。
图3显示了在用户已经选择了第一个图形字符后,图2中的网络查询输入用户界面1000的状况。所选的图形字符将被放置在查询输入文本框1400中,并且绘图区域1820被清除。在一个实施例中,该界面将进一步提供搜索辅助功能。所选的字符被用于建议若干包括一个或多个字符的搜索项。建议的搜索项可在下拉列表1600中呈现,该下拉列表1600包括一个或多个建议的搜索项。在一个实施例中,用户可通过用户界面动作,例如点击一个搜索项1620,来选择一个搜索项。这样的选择可以自动向搜索引擎提交建议的搜索项。或者,用户也可以通过选择查询提交按钮1440来将查询输入框1400中的查询提交给搜索引擎。
如果用户不希望向搜索引擎提交输入的字符或建议的搜索项,用户可以继续输入图形字符。图4显示了在用户已经开始输入第二个图形字符后,图3中的网络查询输入用户界面1000的状况。第一个被选择的字符继续保留在查询输入框1400中,而且建议的搜索项1620也保持不变。用户新绘制的笔划1824将被用来选择第二个组建议的字符1840。用户可以选择某个建议字符,将其添加到查询输入框中。图5显示了在用户已经选择了第二个图形字符之后,图4中的网络查询输入用户界面1000的状况。所选的图形字符被添加到查询输入框1400中的第一个字符之后,并绘图区域1820被清除。所选的字符被用来建议包括一个或多个字符1600(包括一个或多个建议搜索项)的若干搜索项。
在一个实施例中,用户可以继续输入任意数量的字符,直到该用户对查询输入框1400中的查询满意或者某个建议的搜索项1620正确表达了该用户的意愿为止。当查询输入框1400中的字符表达了用户意愿时,用户可以通过选择查询提交按钮来提交查询。当所选的搜索项1620表达了用户意愿时,用户可选择该项,然后该搜索项被自动提交给搜索引擎。虽然图1至图5中提供的例子只展示了一个能输入中文字符的界面,但是,可以理解的是,该界面能够用于输入任何图形字符集,包括如拉丁语、西里尔语、阿拉伯语、日文或者其他字符集。
图6展示了一个能够支持具有在线手写识别功能的网络查询服务的系统的高级视图。多个用户2200通过因特网2900来使用网络搜索服务。网络搜索服务供应商2400,如雅虎或谷歌等,提供了网络搜索服务。在一个实施例中,网络搜索服务供应商2400维护一个或多个网络搜索服务器2440和网络搜索数据库2480,例如网络站点和/或文档或其他可通过因特网访问的对象的索引。
网络搜索服务供应商2400可提供一个或多个用户界面以使得用户2200能够输入网络搜索查询。这样的界面可以包括在线图形字符(例如手写字符)识别。在线图形字符识别可由网络搜索服务供应商提供,或者,在线图形字符识别可由在线字符识别服务供应商2800提供。在一个实施例中,在线图形字符识别服务供应商2800维护一个或多个字符识别服务器2840和字符识别数据库2880,例如支持亚洲字符集的字符识别的数据库。
图6中显示的系统完全是说明性的。本领域的技术人员会意识到,图6中的系统所提供的功能也可由其它配置来完成。例如,网络搜索功能和在线字符识别服务可由单个服务供应商提供,并在单一服务器上实现。或者,网络搜索功能和在线字符识别服务也可在多个服务器和/或服务供应商之间划分完成。
图7展示了提供网络搜索服务的方法3000的一个实施例,该服务包括了在线字符识别。在3100中,接收包括图形表示的数据,该图形表示是根据于用户和操作于用户设备上的用户界面的交互而产生的。该图形表示对应于图形字符集中希望的一个字符的一部分。图形字符集可以是任何目前已知的或将来创造的图形字符集。本系统和方法特别适用于亚洲字符集,例如中文,这些相对复杂的字符集具有代表字的单个字符,但是,该系统和方法也可修改用于任何其他字符集,例如拉丁语、西里尔语、阿拉伯语、日文或者其他一些字符集。
用户界面动作可以是能够产生整个图形字符或一个图形字符的一部分的任何用户界面动作。在图1至图5展示的实施例中,中文字符的元素由笔划绘制完成,例如可通过按住鼠标键或键盘按键的同时移动鼠标来输入笔划。如本领域技术人员容易理解的,该用户界面也可以提供其他方法来绘制图形字符,这些方法也属于本公开发明的范畴之内。
在3200中,当收到每个图形表示时,系统通过使用至少一个计算设备来分析该图形表示,以便从图形字符集中选择多个与该图形表示可能相匹配的图形字符。在一个实施例中,将多次重复接收功能3100和分析功能3200,从而允许用户构建一个包含多个元素(例如,多个笔划)的字符的复杂表示。在一个实施例中,每当通过用户界面动作绘制出图形字符的一个元素时,由所有界面动作的集合所绘制出的字符就被分析。
在另一个实施例中,系统在分析图形表示之前,允许用户输入多个图形表示。在一个实施例中,每次用户界面交互(例如,每次输入笔划)之后,对图形表示的分析就会自动发生。在一个实施例中,对图形表示的分析可以通过选择分析功能(例如,在图形表示的多个笔划被输入之后,选择一个“分析”按钮)而启动。
根据对收到的图形表示的分析,可能的匹配项的数目可能会有所变化。图1至图5中展示的实施例显示了五个匹配项,但是这个数目可以更多或更少。如果用户输入的字符表示很精确,那么可能的匹配项的数目可能是一。如果用户的输入难以分辨,那么可能的匹配项的数目会是零。或者,匹配数目也可能很大,例如100个或更多。图形表示的分析可由网络搜索服务来执行,或者也可由图形字符识别服务来执行。
在3300中,多个可能匹配的图形字符随后被传送给用户。在一个实施例中,这些可能的匹配项通过用户界面显示给用户。显示给用户的可能匹配项数量可以取决于用户界面的设计而变化。在一个实施例中,显示给用户的用户界面允许用户选择多个图形字符中的一个图形字符用于因特网查询。
然后在3400中,接收来自用户的对多个可能的图形字符匹配项中的一个图形字符的选择。该选择可以在第一组可能的匹配项被传送给用户后而被接收,或者可以在例如响应于限定复杂图形字符的多个用户界面动作而将多组可能的匹配项传送给用户之后而被接收。此外,用户可以选择来输入并选择多个字符,重复上述步骤3100至3400,进而建立起一个由多字符组成的网络查询。
在一个实施例中,在3500中随后收到一个指示,该指示表明所选的一个或多个图形字符将用作用于执行因特网搜索的搜索项。在一个实施例中,这样的指示可以在用户选择了用户界面上的“搜索”按钮后被接收,表明用户希望使用所选的图形字符执行因特网搜索。在3800中,将使用所选的项来执行因特网搜索。
代替地或附加地,在3600中,所选的一个或多个字符可用来标识所建议的搜索项。在一个实施例中,可使用由商业网络搜索功能,例如雅虎或谷歌,所提供的现有搜索辅助功能。在一个实施例中,这些搜索辅助功能将搜索查询匹配到用户的可能的意愿列表。这些所建议的搜索项然后可以传送给用户。在3700中,当用户选择搜索项中的一个时,所选的搜索项然后被用来执行因特网搜索。
图8展示了网络搜索服务引擎4000的一个实施例,该引擎至少能够支持图7中所显示的一个实施例。网络搜索服务引擎包括一个或多个模块。每个模块包括一个或多个处理器,处理器被编程为执行从存储软件的计算机可读存储介质中获取的具有各种功能的软件代码。在一个实施例中,网络搜索服务引擎4000包括图形接收模块4100、图形字符识别模块4200、图形字符传送模块4300、图形字符选择接收模块4400、搜索指示接收模块4500、搜索项标识模块4600、搜索项选择接收模块4700和网络搜索模块4800。
每个模块可以在一个或多个服务器上实现。例如,图形接收模块4100、图形字符传送模块4300、图形字符选择接收模块4400、搜索指示接收模块4500、搜索项标识模块4600、搜索项选择接收模块4700和网络搜索模块4800可以在例如如图6中的2480所示的一个或多个网络搜索服务器上实现,而图形字符识别模块4200可以在例如如图6中的2840所示的一个或多个字符识别服务器上实现。如本领域技术人员容易理解的,其他的配置也是可行的。
在一个实施例中,图形接收模块4100被配置为接收包括图形表示的数据,该图形表示是根据用户和操作于用户设备上的用户界面的交互而产生的。该图形表示对应于图形字符集中的希望的字符的一部分。图形字符集可以是任何目前已知的或将来创造的的图形字符集。用户界面动作可以是能够产生整个图形字符或一个图形字符的一部分的任何用户界面动作。在图1至图5展示的实施例中,中文字符元素由笔划绘制完成,例如可通过按住鼠标键或键盘按键的同时移动鼠标来输入笔划。如本领域技术人员容易理解的,该界面也可以提供其他方法来绘制图形字符,这些方法也属于本公开发明的范畴之内。
在一个实施例中,图形字符识别模块4200被配置用于分析图形接收模块所收到的图形表示,从而从图形字符集中选择多个与该模块收到的图形表示可能相匹配的图形字符。根据对收到的图形表示的分析,可能的匹配项的数目可能会有所变化。图1至图5中展示的实施例中显示了五个匹配项,但是这个数目可以更多或更少。如果用户输入的字符表示很精确,那么可能的匹配项是数目可能是一。如果用户的输入难以分辨,那么可能的匹配项的数目会是零。或者,匹配数目也可能很大,例如100个或更多。
在一个实施例中,图形字符传送模块4300将来自图形字符集的图形字符传送给用户,这些图形字符是由图形字符识别模块4200所选的多个可能与图形表示相匹配的图形字符。在一个实施例中,这些可能的匹配项通过用户界面显示给用户。显示给用户的可能的匹配项的数量可以取决于用户界面的设计而变化。在一个实施例中,显示给用户的用户界面允许用户选择多个图形字符中的一个图形字符用于因特网查询。
在一个实施例中,图形字符选择接收模块4400被配置用于接收对由图形字符传送模块4300传送的可能的图形字符匹配项的选择。该选择可以在第一组可能的匹配项被传送给用户后而被接收,或者可以在例如响应于限定复杂图形字符的多个用户界面动作而将多组可能的匹配项传送给用户之后而被接收。此外,用户可以选择来输入并选择多个字符。
在一个实施例中,搜索指示接收模块4500被配置用于接收如下指示:这些指示表明所选的图形字符将用作用于执行因特网搜索的搜索项。在一个实施例中,这种指示可以在用户选择了用户界面上的“搜索”按钮后被接收,表明用户希望使用所选的图形字符执行因特网搜索。在一个实施例中,该搜索将通过使用网络搜索模块4800来执行。
在一个实施例中,搜索项标识模块4600被配置为使用图形字符选择接收模块所选的字符来标识建议的搜索项。在一个实施例中,可使用由商业网络搜索功能,例如雅虎或谷歌,所提供的现有搜索辅助功能。在一个实施例中,这些搜索辅助功能将搜索查询匹配到用户的可能的意愿列表。这些所建议的搜索项然后可以被传送给用户。
在一个实施例中,搜索项选择接收模块4700接收来自用户的所选搜索项,以及用户选择的用于执行因特网搜索的搜索项。在一个实施例中,该搜索将通过使用网络搜索模块4800来执行。
本领域的技术人员会意识到本公开文本所述的方法和系统可以由多种方式实现,而且这些方式并不受限于前面示范的实施例。换句话说,由一个或多个部件实现的功能要素(软件,硬件或固件的各种组合)以及各个功能,可分布在客户层或者服务器层的软件应用中或者两者的软件应用中。据此,任何所述的不同实施例的特征都可以结合并出现在一个或多个实施例中,并且,其他的实施例可以具有更多或更少在此所述的所有特征。所述的功能也可以,以已知或将要已知的方式,整个或部分分布在多个组件中。因此,大量的软件/硬件/固件的不同组合都能够完成此处描述的功能、特征、界面和偏好。此外,本公开文本的范围包含了用于实现所述的特征、功能和界面的传统已知的方式;也包含了那些所述的在硬件、软件或固件等方面进行了变化和修改的方式,这些变化对本领域的技术人员是易于理解的。
此外,为了更好的理解此项技术,本文本提供了流程图来举例说明所述方法的实施例。本公开方法不受限于此处展示的操作流程和逻辑流程。可以想到替代的实施例,其中的操作顺序会有所变化,而且子操作(操作的一部分)可以独立执行。
虽然处于公开的目的已经描述了各种实施例,但是这些实施例并不应当被认为是将本公开的教导限制于这些实施例。可以对上述的要素和操作进行各种修改和改进,而获得在公开所描述的系统和过程的范围内的结果。