语言独立的索引存储系统和检索方法 【相关申请的交叉引用】
该申请要求于2007年4月23日提交的序列号为60/913,307的U.S.临时专利申请的优先权。
【技术领域】
本发明涉及一种用于标识和提供信息的设备和方法。
背景技术
利用提供使用关键字进行搜索的能力的若干商业″搜索引擎″来对电子文件进行广泛搜索已变得很平常。已经向诸如PDA(个人数字助理)以及当然还有蜂窝式电话这样的个人移动设备提供了对这种服务的接入。当要输入字母或音节数据时,广泛使用非多义性条目(entry)或者尺寸缩减的多义性消除系统。这可能要求调用浏览器以及使该设备复制计算机终端的性能。
也已经采用了利用关键字搜索以使用户能够执行本地搜索。在这种情况下,允许用户输入关键字以便搜索至少暂时存储(即″本地″存储)在该设备上的内容。通常可以创建索引,该索引可使输入的键盘序列快速地与内容相匹配,这可以随后方便对所查找的材料进行访问。在公开号为20060158436、名称为″User Interface With Augmented Searching Characteristics″、通过参考引入到此的公开的美国专利申请中对这种功能的示例进行了描述,并且在http://www.zicorp.com/Qix.htm的出版附带材料中进行了进一步描述。因为通常仅由一个用户使用一件设备,因此经常按照该用户通常所使用的语言中的方式对本地内容进行存储,并且这使得能够很容易执行本地关键字搜索。
可按照许多方式实现在设备的本地环境的边界之外进行搜索。然而,限制因素是用于创建搜索关键字的符号受限于特定语言的字母结构,并且可能不容易应用于其它语言,尤其是本质上是表意的语言。通常是通过利用模式选择这样的方法在会话层上应用的定位技术来对表意语言进行处理。
【发明内容】
本发明可被具体实现为具有索引信息的可搜索数据库的系统。数据库中的每个索引可以具有:(a)至少一个描述符,该描述符与用户提供的条目相匹配以便对项进行标识;(b)第一指针,该第一指针对项的位置进行标识;以及(c)第二指针,该第二指针对下述信息的位置进行标识,所述信息有助于用户判断是否请求对项进行检索。所述描述符中的一个或多个可以是数字,和/或所述描述符中的一个或多个可以是文本。第一指针所指向的项可以是信息和/或计算机程序。一个索引的第一指针可以与不同索引中的第一指针相同。第二指针可以是类型指示符,该类型指示符对项所属的一般类别进行标识。
本发明可被具体实施为方法。在一种这样的方法中,对项进行检索。为此,可以提供索引信息的可搜索数据库。数据库中的每个索引可具有(a)至少一个描述符,该描述符与用户期望输入的条目相匹配以便对项进行标识;(b)第一指针,该第一指针对项的位置进行标识;以及(c)第二指针,该第二指针对下述信息的位置进行标识,所述信息可有助于用户判断是否请求对项进行检索。可输入搜寻查询,并且在数据库搜索与该查询匹配的描述符。一旦找到具有匹配描述符的索引,则第一指针可用于对至少一个可选图标进行定位并且第二指针可用于对下述信息进行定位,所述信息可有助于用户判断是否请求对项进行检索。此后可以将可选图标列表提供给用户,该图标与具有匹配描述符的索引的第一指针相对应。可选图标列表可包括由第二指针标识的信息。
例如,第二指针可以是类型指示符,该类型指示符对项所属的一般类别进行标识。通过了解所述项的所述一般类别,用户可获知已经提供给用户的图标一般性质,并且从而帮助用户确定是否选择特定图标。例如,通过第二指针所指向的信息,可帮助用户区分图标,和/或对用户可能期望的但是不具有匹配描述符的索引进行标识。
在本发明的一个实施例中,类型指示符可作为图标本身来显示,并且一旦选择了该图标,则可以对图标列表进行重排以便在显示器的一个区域中显示具有该类型指示符的所有图标。通过这样做,可使用户能够在识别并选择期望图标之前缩小期望图标的范围。当用户的查询不在期望项的描述符之中时,这尤其是有用的。
【附图说明】
为了对本发明的性质和目的进行全面了解,参考附图和随后描述。简单地说,附图是:
图1描述了根据本发明地数据库;
图2描述了根据本发明的索引;
图3是根据本发明的方法的流程图;
图4描述了根据本发明的另一索引;以及
图5描述根据本发明的另一索引。
【具体实施方式】
图1描述了一个根据本发明的数据库10。数据库10具有与项有关的索引信息13。例如,项可以是存储在电子存储器中的信息块或计算机程序。图2描述了索引信息块13中的一个。每个索引13具有至少一个描述符16、第一指针18、以及第二指针21。第二指针21可以是类型指示符。
每个描述符16是用户可提供用来查找项的条目。例如,如果用户想找到约翰史密斯的联系信息,那么用户可以输入诸如词″史密斯″或词″约翰″这样的文本。图2描述了描述符16是字母″J″、″O″、″H″、以及″N″的索引13。或者描述符16可以是诸如约翰史密斯的电话号码中的第一个数字这样的数字。应该注意的是项可以具有一个或不止一个的描述符16。
当用户用来输入″约翰″或约翰史密斯的电话号码的设备视情况可以采用多义键时,用户的输入可以不是字母″J″和″O ″,而可以是通过按下其上刻有″J″的键所提供的信号,继之以是通过按下其上刻有″O″的键所提供的信号。例如,利用可在许多桌面电话上找到的键盘,按键将对应于按下具有″5jkl″的键(″5″键),继之以按下具有″6mno″的键(″6″键)。因此,最初系统可能不知道5随后为6的用户条目是尝试标识与″约翰史密斯″相对应的索引13,还是与″Kojo狗″、或者具有数字5继之以数字6的电话号码对应的索引13。因此,使用多义键的系统可能至少最初必须提供与约翰史密斯相对应的图标以及与Kojo狗以及具有5继之以6的电话号码相对应的图标。然而,一旦用户提供了第三条目,例如通过按下″4ghi″键(″4″键),则可以从显示列表除去与Kojo狗相对应的图标,因为具有描述符5,6,5的索引将与用户输入的5,6,4序列不对应,从而使用户更容易选择期望的图标。
第一类型指针18对项的位置进行标识。例如,第一指针18可以标识出可在联系人数据库中的哪里找到约翰史密斯的电话号码或地址。第一指针18可以直接或间接地标识出存储项的存储器位置。间接方法的示例可以是索引13中的第一指针18对下述表中的位置进行标识这样的状况,在所述表中存储了长度较长的存储器地址以用于检索以及在查找项的过程中使用。此外,第一指针18可以对与该项相对应的图标进行标识。
第二指针21可以对可有助于用户判断是否请求对该项进行检索的一般信息的位置进行标识。例如,第二指针21对项所属的一般类别进行标识。例如,第二指针21可以是类型指示符,该类型指示符用于对具有信息块的联系人数据库进行标识,或者该类型指示符可以对主要用于帮助用户将名称和地址输入到联系人数据库中的计算机程序进行标识。其它类型的指示符21可以对音乐数据库或图像数据库进行标识。
在本发明的一个实施例中,每个索引13包括8个字节,每一个字节可以用于对256个不同值进行标识。这些字节中的一个或多个可用于存储类型指示符形式的第二指针21,这些字节中的一个或多个可用于存储描述符16,并且这些字节中的一个或多个可用于存储指针18。在优选实施例中,这些字节中的一个用于存储类型指示符,四个字节用于存储描述符16,并且3个字节用于存储不止一个的第一类型指针18。在图1中所描述的数据库10描述了具有被标记为B1至B8的八个字节的索引13,并且标识出这些字节中的哪一个用于存储该索引的各个组成部分。
可在根据本发明的方法中使用索引信息10。该方法可用于对项进行检索。图3描述了一种这样的方法。提供了索引信息的可搜索数据库100,并且该数据库中的每个索引13可具有:(a)至少一个描述符16,用户可提供该描述符以便对项进行标识;(b)第一类型指针18,该指针18对项的位置进行(直接或间接)标识;以及(c)第二类型指针21,该指针21对可有助于用户判断是否请求对该项进行检索的一般信息的位置进行标识。如果用户输入了搜索查询103,那么该数据库可用于对具有与搜索查询相匹配的描述符16的索引13进行标识106。一旦查找到匹配的描述符16,则那些索引13用于提供109第一类型指针18。可以提供与下述索引13所指向的那些项相对应的列表,所述索引13具有与查询相匹配的描述符16。此后可以使用112指针18以标识出可检索到项的位置。
在本发明的一个实施例中,第一类型指针18对可以在列表上所显示的图标进行标识。用户可以从该列表中选择图标。通过选择这些图标中的一个,可以对特定项进行特定地标识并且此后将其提供给用户。
例如,如果PDA的用户输入了字母″J″继之以输入了字母″O″,那么该设备搜索具有描述符16″J″和″O″的索引。例如,该设备可以对与约翰史密斯相对应的索引13进行标识,并且以“约翰史密斯″的形式显示文本图标。此外,该设备也对与唐约翰逊相对应的索引13进行标识并且显示约翰逊先生的照片,或者可以显示链接到电视节目″迈阿密风云″的粉丝的网点的链接。如果用户选择了与约翰史密斯相对应的图标,那么该设备可从第一类型指针18所标识出的位置检索到信息。根据图2,这些位置可以是存储器位置1、5、以及7。一旦检索到该指针位置处的信息,则该设备可以向用户显示所检索到的信息。例如所检索到的信息可以如下:
约翰史密斯
32号大街
卡尔加里,艾伯塔,加拿大
第一类型指针18还可以帮助检索约翰史密斯的照片,或者约翰的生日或电话号码。
可以具体实施该方法以允许使用类型指示符,以便于找到期望的项。当用户查询与期望项的描述符16不匹配时,使用类型指示符可帮助找到期望项。在该方法中,一旦作出了描述符16与搜索查询之间的匹配,则具有该匹配的索引信息13的第二类型指针21可被用于提供110类型指示符。所提供的类型指示符随后被用于标识具有匹配类型指示符的其它索引13。可以所显示的用于用户选择的列表扩增为包括与具有下述类型指示符的索引13相对应的可选图标,所述类型指示符曾被标识为与具有匹配描述符16的索引13的类型指示符匹配。可以利用上述示例来对该该构思进行说明。如果将″J″和″O″输入到PDA中,那么PDA可标识出图2中所描述的索引,并且PDA可认识到该索引13的第二指针21具有作为联系人数据库的类型指示符。如果具有所标识的联系人数据库,则PDA可以显示与该联系人数据库相对应的图标,并且如果用户选择了该图标,那么可以提供来自联系人数据库的信息列表,其中将位于约翰史密斯条目上面和下面的条目显示给用户以供选择。按照这种方式,用户可快速地移动到联系人数据库中的一点,并很容易标识出除约翰史密斯之外的其名字按字母顺序在附近列出的一些人。
替代地,也可通过选择联系人数据库图标,对可选列表中的其它图标进行分组,以便那些图标具有下述索引,该索引具有用于对联系人数据库进行标识的第二类型指针22。按照这种方式,用户可更容易且更快速地选择与联系人数据库相对应的图标。
第二类型指针21可用于其它目的。例如,第二类型指针21可用于对扩增了由第一类型指针所标识的图标并且提供给用户的一般信息进行标识。这种一般信息可更清楚地向用户表明如果选择了该图标则将会检索到什么。为了说明这如何发生,假设图标“约翰史密斯”在选择列表中出现两次,一次是具有用于表示将要检索约翰史密斯的联系信息的符号,并且第二个实例是具有用于表示将从食谱数据库中检索到约翰史密斯的沙茶酱食谱的符号。因此,用户仅需记住约翰的名字,以便找到约翰史密斯的联系信息以及约翰史密斯的食谱两者。如果不使用第二类型指针21,那么用户可能因为在没有线索帮助选择的情况下面临由所输入的查询引发的多种可能性而感到不便。
应该注意的是,可以在视觉或听觉上向用户提供由第二类型指针所标识出的一般信息。例如,可以通过改变第一类型指针18所指向的图标的颜色而在视觉上提供一般信息,或者可以以附加图标的形式而在视觉上提供一般信息。如果提供了对一般信息的可听指示,该指示可以是由存储在PDA上的计算机程序所提供的且通过拖动光标穿过由第一类型指针18所指向的图标所激活的可听输出的形式,以便从PDA发出声音。例如,PDA可以说出″联系人数据库″。
可以将该列表排列成帮助用户识别期望图标。例如,可以将列表排列成更加突出地显示与具有匹配描述符16的索引13相对应的那些图标。可以较不突出地显示与不具有匹配描述符16但是具有匹配类型指示符的索引13相对应的图标。
排列图标的另一方法是使用统计分析,藉此可根据对所要显示的图标的统计评估来排列该列表。在这种方法中,通过考虑用户已经选择图标的频率或者通过还考虑自从最后选择图标已经经过的时间,来执行分析。用于在列表中排列图标的其它技术为大家所熟知(并且因此在这里不对此进行说明),并且可用在本发明中。
例如,如果用户输入了字母″C″、″A″、以及″M″,那么PDA可标识出图4中所描述的索引13。存储器位置#2可指向图标以及可对PDA上的照相机进行操作的相应程序。如果选择了照相机图标,那么可使用户能够拍摄并存储图片。存储器位置#10可指向图标(“照片图标”)并且指向对存储在PDA中的图片进行检索的程序。因为用户输入了″C″、″A″、以及″M″,并且与照片功能描述符16相比,该条目更接近于与用于照相机功能的索引13的描述符16相对应,因此可以将PDA编程为在比照片功能的图标更突出显示的位置显示照相机图标。
如果照片功能最接近于与索引13相对应,如图5中所描述的,从上述示例应当注意的是可通过图4中所描述的索引13来访问照片功能,即使照片功能的描述符16(参见图5)不包括″C″、″A″、或者″M″。按照这种方式,可以通过允许用户输入照相机功能的描述符16而不是选择照片功能,使用户更容易对PDA进行操作。
另外,可以对提供给用户的列表进行排列以便与具有匹配描述符16的项相对应的图标(在该示例中是照相机功能)被放置于一个位置上,而与不具有匹配描述符16的项相对应的图标(在该示例中是照片功能)被放置于另一位置上。当按照这种方式来组织图标时,可以很有用的是可提供与图像数据库相对应的图标,以便当用户选择了图像数据库图标时,其它图标被排列以便在监视器的顶部附近向用户显示与图像数据库(如照相机功能和照片功能)相对应的图标,并且将它们归组在一起。按照这种方式,用户可快速识别出照片功能,即使他已经输入了照相机功能的描述符16。
从上述示例应当注意的是,第一指针18可被用于通过使相关索引具有用于对另一项的位置进行标识的指针,来标识在用户的想法中相关的信息和/或功能。该能力对标识同义词可以很有用。这在表意语言中可以很有用。例如,如果PDA支持表意字符的笔划以及诸如拼音这样的字母等效体的条目,那么可以使得用户能够输入笔划,并且接收符号和拼音对应物两者,或者可以使得用户能够输入拼音并且接收表意字符和拼音对应物两者。因此,一般来说,当使用了非字母语言时,一个条目方法可被用于对该条目的两个不同表示进行标识。类似的,第二类型指针21可以在两个索引13之间相当不同,然而仍便于对在用户的想法中关联的项进行快速检索。
利用在这点上具有相对高复杂性的汉语作为示例,用户可以以多种方式输入字符。两种常用方式可以是使用拼音或者使用笔划输入方法,在使用拼音时,用户通过按可构成字母条目的形式输入每个字母而拼出该字符的声音,在使用笔划输入方法时,按照通常写下期望字符的顺序输入分类笔划。美国专利5109352更全面地描述了这种技术,并且通过参考而引入。虽然可能实际的做法是存储字符并且此后使用编辑器方法创建该字符并且此后寻求匹配,但是这很麻烦。通过创建可以利用按键顺序的直接输入进行搜索的索引,可实现相当大的改进。有效的是,在缩小的键盘中环境中形成在很宽范围的多种可能输入中一致的索引结构,并且可以通过并不是将其自动解析,而是保持与用户期望的字符相关的多义性,来实现相当大的优点。因此,通过简单存储所分配的键值,而不是可能的离散字母,并且允许户从匹配列表中根据上下文消除多义性,可经济地实现该索引的描述符16字段,并且可以一致地支持所有语言。不言而喻的是,足够长的顺序在大多数语言数据集合中将成为唯一的,并且对从英语语料库所取得的典型移动设备词典的统计通常是以少于8个字母或按键来实现这一点。因此,因为可将每个按键存储为半位组或半字节,因此四个字节可使该设备能够将大多数列表解析为用户可接受的可管理的剩余候选者。
根据如上所述的索引结构,可对下述典型智能电话中的存储单元进行索引,所述智能电话具有拉丁语和汉字(中文)字符的词和名字以及当然的数字序列的示例性数据库。可以直接在描述符16字段中存储拉丁语和数字序列,但是可以不直接存储表意字符。为了实现这一点,可以将每个汉字字符分解为至少两个可索引部分。对于每个汉字字符而言,可以恢复以及随后存储拼音值,并且还可以存储其笔划顺序。
通过已经对本发明进行的描述,可认识到,本发明可被用于创建具有不止一个指向同一项的索引的系统。这样一种方法有助于对从多义键的键盘输入的符号进行匹配。除了分配通常出现于典型的电话键盘上的符号之外,还可以分配表示表意文本的条目所特有的单元的符号。例如,还可以除了传统标记之外另外还包括、或者代替传统标记包括,日语假名集所特有的音节单元以及台湾BoPoMoFo字母所专有的标记。
根据本发明所编程的设备有助于快速搜索,因此帮助用户利用有限次数的顺序按键来对项进行定位,所述顺序按键的序列短于项的完整描述符16中的字符总数目。
此外,在描述符16中并不一定需要完全存储。四字节/八半位组描述符16字段可有效地用于对许多实际短语长度的短语索引。在一个字符表达中,可以利用其完整的拼音序列来对字符进行索引,并且还可利用其起始笔划类别(在这里所描述的示例中高达八个起始笔划)来进行索引。这可能需要创建具有相同指针和相同类型指示符的两个索引。如果存在更多类型指示符,那么可能需要更多索引。通常,在输入了八个笔划之后,在典型的语言语料库中剩余很少的多义性,但是在个人设备的典型有限数据集中,多义性通常是极小的。例如,当在短语中包含不止一个表意字符时,可以对该系统进行修改以便可以如上所述地对该短语中的第四字符进行索引,并且可以简单地忽略该短语中的随后字符,而只需要存储用于至多四个字符的参数。如果短语中存在比描述符16字段中所存在的空间更少的字符,例如仅存在三个字符,那么可以将第三字符存储在一个索引中,可以将第二和第三字符存储在另一索引中,并且可以将所有三个字符存储在第三索引中。对该短语中的每个字符而言,可以创建拼音和笔划索引13。对于任何短语而言,通常只需要创建至多8个索引。用于特定短语的所有索引13具有对于该短语的所有索引13都共用的指针,并且指针18指向短语所处的且可被检索到的位置。
虽然对于单字符而言,创建完整拼音条目可具有很好的优点,但是对于现代汉语中典型的多音节短语和名称而言,可以通过利用本发明来实现更有效的恢复系统,以缩小存储要求,并且因此减少了PDA的存储,并且提高了用户可以对存储在PDA中的项进行识别的速度。与笔划索引类似,需要对不止八个笔划进行标识以集中于合理数目的选项对于单个字符而言基本没有用,并且因此可以将缩短的描述符16用于短语。在存在两个或更多字符的时候为短语中的每个字符使用拼音条目的开头两个字母将足以用于大多数目的。因此对于短语Zhong Guo Ren Min...而言,我们仅需存储分类的初始对″ZH″、″GU″、″RE″、″MI″,其(利用标准电话键区)将是数字序列94487364。实现上述后缀查找树(suffix trie)还具有与487364、7364、以及64相对应的索引13,它们全部将标识同一短语,但是可能还标识其它短语,因为序列长度减低并且显现出增加的多义性。可以有益的是,将第四字符作为其整个拼音存储为646,因为它是该点的单个完整字符。按照相同方式,还可以通过将每个字符的初始笔划对存储在描述符16字段中,对与笔划类别相对应的数字序列进行匹配。如为本领域中所熟知的,可以在所处理的字段中利用零值来调整描述符16字段右或左对齐。
在发明的另一方面中,可以维护辅助表,该辅助表可实现在已经知道诸如系统语言异常这样的错误时对搜索错误进行处理。例如,某些语言呈现出取决于与其相关的其它词或音节的词或音节的发音变化。在某些欧洲语言的情形下,这可能表现为单个单词的初始字母或多个初始字母的元音变化,并且一般在需要求性别相符时很常见。从阳性形式到阴性形式的变化是这种元音变化的最常见援引。例如,在威尔士语中,将″他的猫″写成″ei gath″,而将″她的猫″写成″ei chath″。这些不规则但是可重复的适应更改中的任一种的影响都是改变单词或字符的发音的拼写。因此,如果保持备选拼写的列表,那么匹配算法可以尝试对输入的顺序以及已知变型进行匹配。除了这种额外列表的负担之外,还可能存在向用户显示不希望的匹配的情况,但是显著优点是用户错误不太可能产生任何结果。
在相关方面中,可以通过对这种系统错误列表进行进一步添加来可减轻常见错误。在拼音形式中,中国南方与中国北方的语言差异产生了常见困难。例如,″zhong″可能被输入为″zong″,并且在这种情况下可通过允许使用备选拼写,找到想要的项。如上面所说明的,可被用户忽略的额外的意外结果可能比没有找到匹配的索引13的挫折要好。
前文可广泛地适用于使用用于数据输入的缩小键盘的任何搜索应用,其优点在于在使用中与符号学无关,并且变型对于本领域普通技术人员来说是显而易见的。
虽然已经参考一个或多个特定实施例对本发明进行了描述,但是应理解的是在不脱离本发明的精神和范围的情况下可作出本发明的其它实施例。因此,本发明应为视为仅受到所附权利要求及其合理解释的限制。