首页 / 专利库 / 人工智能 / 莱文斯坦距离 / 用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法

用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法

阅读:441发布:2020-06-01

专利汇可以提供用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法专利检索,专利查询,专利分析的服务。并且提供了用于基于 电子 装置处所接收的字符的输入串建议一个或多个多词候选的计算机实施的方法、装置和系统。所述方法包括以下步骤:a)对于所接收输入串的多个n所选部中的每一个,从q个词的固定词典选择m个候选词,其中,n、m以及q各包括正整数,n大于或等于2,并且m小于q;以及b)从结果的候选词的mn个组合选择一个词的候选组合的子集p,其中,p是正整数,并且p小于mn。在一些实施方式中,多词候选可以被分解成相应的唯一地理 位置 ,并且多词候选或其已分解的地理位置的子集可以被呈现在电子装置处,以供用户选择。优选的是,所接收输入串的多个n所选部包括x个词,该x个词包括所接收的词输入串,以致n=x。,下面是用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法专利的具体信息内容。

1.一种用于基于电子装置处所接收的输入串建议一个或多个多词候选的计算机实施的方法,所述方法包括以下步骤:
a)对于所接收输入串的多个n所选部中的每一个,从q个词的固定词典选择m个候选词,其中,m、n以及q包括正整数,n大于或等于2,并且m小于q;以及
b)从所得候选词的mn个组合选择词的候选组合的子集p,其中,p是正整数,并且p小于mn。
2.根据权利要求1所述的方法,其中,所述所接收输入串的所述多个n所选部包括x个词,该x个词包括所述所接收的词输入串,使得n=x。
3.根据权利要求1或2所述的方法,其中,步骤a)包括对于所述所接收输入串的各个所述n所选部确定或分配关于所述固定词典中的一些或全部所述词q的相应分数或排名,从而对于所述所接收输入串的各个所述n所选部基于最佳分数或排名从所述q个词的固定词典选择所述m个候选词。
4.根据权利要求3所述的方法,其中,对于所述所接收输入串的各个所述n所选部的、在所述固定词典中的一些或全部所述词q的所述分数或排名包括基于用于所述所接收输入串的各个所述n所选部的字符串与用于所述固定词典中的一些或全部所述词q的所述字符串之间的比较的、基于字符的距离分数。
5.根据权利要求4所述的方法,其中,所述基于字符的距离分数包括编辑距离分数、被加权的编辑距离分数、莱文斯坦(Levenshtein)编辑距离分数、被加权的莱文斯坦编辑距离分数、考虑移项的编辑距离分数、被加权的考虑移项的编辑距离信息、考虑移项的莱文斯坦编辑距离分数或考虑移项的被加权的莱文斯坦编辑距离分数。
6.根据前述权利要求中任意一项所述的方法,其中,步骤b)包括确定或分配一些或全部所述词的候选组合的相应分数或排名,从而基于最佳分数或排名选择词的候选组合的所述子集p。
7.根据权利要求6所述的方法,其中,步骤b)包括通过使用可选地在二进制堆上被实施的优先队列数据结构来选择词的候选组合的所述子集p。
8.根据前述权利要求中任意一项所述的方法,其中,所述固定词典包括被排序的词列表。
9.根据前述权利要求中任意一项所述的方法,其中,所述词的候选组合可以各自被分解成唯一的方面,并且所述方法还包括以下步骤:将一些或全部所述词的候选组合分解成它们唯一的方面;以及选择所述唯一的被分解方面的子集,以便在所述电子装置处呈现。
10.根据权利要求9所述的方法,其中,用于词的候选组合的所述被分解方面包括唯一的地理位置
11.根据权利要求10所述的方法,其中各已分解的地理位置的所述排名或分数包括各已分解的地理位置到所述电子装置的当前或最近已知的位置之间的距离和/或各已分解的地理位置到基于最近的预定地图的特征的距离的确定。
12.根据前述权利要求中任意一项所述的方法,其中,所述方法被整体实施在所述电子装置上。
13.根据权利要求1至11中任意一项所述的方法,其中,所述方法是基于服务器的方法。
14.一种用于基于所接收输入串建议一个或多个多词候选的移动电子装置,所述装置包括:
存储器,该存储器存储机器可读指令;
处理器,该处理器被配置为执行所述机器可读指令,以实施根据权利要求1至13中任意一项所述的方法的所述步骤。
15.一种用于基于所接收输入串建议一个或多个多词候选的系统,所述系统包括:
服务器,该服务器具有存储机器可读指令的存储器和被配置为执行所述机器可读指令的处理器;
移动电子装置,该移动电子装置具有存储机器可读指令的存储器和被配置为执行所述机器可读指令的处理器;
所述服务器和所述移动电子装置被配置为通过网络与彼此通信;
其中,响应于基于在所述装置处的所接收串由所述移动电子装置向所述服务器发送的请求,所述服务器实施根据权利要求1至11中任意一项所述的方法的所述步骤。
16.一种计算机可读介质,该计算机可读介质存储可由移动电子装置的处理器执行以实施根据权利要求1至13所述的方法的所述步骤的机器可读指令。
17.一种计算机可读介质,该计算机可读介质存储可由服务器的处理器执行以实施根据权利要求1至11所述的方法的所述步骤的机器可读指令。

说明书全文

用于基于电子装置处所接收的输入串建议一个或多个多词候

选的方法

技术领域

[0001] 本发明涉及一种计算机实施的方法,用于基于在电子装置处所接收的输入串,且更具体地,为基于在电子装置处所接收的多词输入串,来建议一个或多个多词候选。

背景技术

[0002] 利用几何数字坐标识别位置,诸如纬度和经度坐标或格网参照,为众所周知的,并且基于卫星的定位系统通常使用这种数字坐标来识别位置。使用数字坐标来识别位置的一个实际问题是产生的数字串对用户是非常不友好的。在实践中,人们通常发现数字串难以准确记住或向他人口头传达。在一些情况下,位置通过使用其他手段,诸如邮编或街道名称,可能还连同建筑物牌号,被识别,但这些方法遭受它们可能较不准确且通常仅被分配给建筑物的问题。具体地,邮编通常仅被分配给期望投递或收取邮件的位置。因此,这些方法通常仅在已经分配高密度的合适编码、名称以及号码的市区中有用。
[0003] 申请人在2014年4月14日提交的国际(PCT)专利申请号PCT/GB2014/051152(申请人先前所公开的系统)公开了一种产生位置标识符的方法。该方法包括:获得位置的地理坐标;以及将该地理坐标转换成唯一的一组词。多个词被提供为难忘的位置标识符。以相反的方式,可以从与位置关联的唯一词组识别该位置的地理坐标。
[0004] 在申请人先前所公开的系统中,移动电子装置用户,例如,智能电话用户,可能提出识别他们的当前位置或在他们的智能电话处选择的位置的请求。作为响应,智能电话获得当前位置坐标。坐标通常以六个小数位的纬度和经度坐标,例如,52.123456,-0.654321,被提供。来自大多数基于卫星的导航系统,诸如通常被称为“GPS”的系统,的位置坐标可容易地达到这种准确度。所获得的位置的纬度和经度坐标被分解成包括可以在字符串内被点分离的唯一的三词序列,例如“tablet.microphone.excited”的位置标识符,但这不是必要的。该转换使用如申请人先前的公开所描述的合适的可逆算法实现。
[0005] 用户可以以多种方式,包括与他/她的联系人共享词序列位置,使用词序列位置。由于该过程是完全可逆的,所以用户的联系人可以使用他们自己的手持装置来分解基于词的位置标识符,以接收与发送者的所选位置有关的位置坐标,并且在他们的智能电话(或其他合适装置)上的地图视图上显示该位置坐标。
[0006] 然而,一个问题可能出现:用户可能键入错误和/或记错基于词的位置标识符,特别是在该标识符被在接收之后的某一时间输入时,这导致用户的联系人可能接收错误分解的地理位置或作为不能分解的基于词的位置标识符输入,即不被识别为可接受的输入的基于词的位置标识符的结果而根本接收不到位置输出。该问题可以通过例如以下方式在用户界面内在某种程度上被减轻:突出已分解的地理位置处于或靠近哪个国家或哪个城市,如果适用,使得用户可以判断该地理位置是否是正确的或预期的输出,从而使得可能已经发生的错误对用户是明显的。
[0007] 在识别错误和恢复位置的正确三词序列方面存在相当大的技术难点。这些难点包括但不限于:
[0008] (i)所需的响应时间必须短至为用户有效的,但在申请人先前所公开的系统中,存在57万亿量级的用户可能意指的三词组合,并且甚至在现代的台式个人计算机上,没有一次一个扫描这些三词组合的程序可行,更不用说在手持或移动电子装置上。
[0009] (ii)当考虑单个另选方案时,有人需要构建该另选方案对所接收的原始输入字符串或这种串的部分的接近度的测量。因为该过程将被调用多次,即用户可能意指的每个位置进行一次,这再次需要在计算方面上是高效的。
[0010] (iii)该方法需要适于在移动或手持电子装置,诸如智能电话或平板电脑或诸如此类上操作,在移动或手持电子装置中,存储经常被限制,由此,该方法需要使用尽可能少的存储。
[0011] 发明的目的
[0012] 本发明的目的是在一定程度上减轻或避免与用于选择或建议候选词或词的候选组合以作为所输入字符串的潜在替换的系统相关联的一个或多个问题。
[0013] 上述目的被通过组合主权利要求的特征而达到;子权利要求公开了本发明的另外有利实施方式。
[0014] 本发明的另一个目的是在一定程度上减轻或避免与申请人先前所公开的系统相关联的一个或多个问题。
[0015] 本发明的另一个目的是在一定程度上减轻或避免与已知地理位置分解系统相关联的一个或多个问题。
[0016] 本发明的另一个目的是提供启发式地减少需要被处理的位置的数量的一个方法或多个方法,其中,这种位置可以构成用户期望的结果。
[0017] 本领域技术人员将从以下描述导出本发明的其他目的。因此,前面的目的陈述不是穷尽的且仅用来说明本发明的许多目的中的一些。

发明内容

[0018] 在第一主方面中,本发明提供了一种用于基于电子装置处所接收的输入串建议一个或多个多词候选的计算机实施的方法,所述方法包括以下步骤:a)对于所接收输入串的多个n所选部中的每一个,从q个词的固定词典选择m个候选词,其中,m、n以及q包括正整数,n大于或等于2,并且m小于q;以及b)从所得候选词的mn个组合选择词的候选组合的子集p,其中,p是正整数,并且p小于mn。优选的是,所接收输入串的多个n所选部包括x个词,该x个词包括所述所接收的词输入串,使得n=x。
[0019] 在第二主方面中,本发明提供了一种用于基于所接收输入串建议一个或多个多词候选的移动电子装置,所述装置包括:存储器,该存储器存储机器可读指令;处理器,该处理器被配置为执行所述机器可读指令,以实施根据本发明第一主方面的方法的步骤。
[0020] 在第三主方面中,本发明提供了一种用于基于所接收输入串建议一个或多个多词候选的系统,系统包括:服务器,该服务器具有存储机器可读指令的存储器;和被配置为执行所述机器可读指令的处理器;移动电子装置,该移动电子装置具有存储机器可读指令的存储器;和被配置为执行所述机器可读指令的处理器;服务器和移动电子装置被配置为通过网络与彼此通信;其中,响应于基于装置处的所接收串由移动电子装置向服务器发送的请求,服务器实施根据本发明的第一主方面的方法的步骤。
[0021] 在第四主方面中,本发明提供了一种计算机可读介质,该计算机可读介质存储可由移动电子装置的处理器执行以实施根据本发明的第一主方面的方法的步骤的机器可读指令。
[0022] 在第五主方面中,本发明提供了一种计算机可读介质,该计算机可读介质存储可由服务器的处理器执行以实施根据本发明的第一主方面的方法的步骤的机器可读指令。
[0023] 本发明的发明内容不是必须公开对于限定本发明必要的所有特征;本发明可以驻留在所公开特征的子组合中。附图说明
[0024] 本发明的前述和另外特征将从优选实施方式的以下描述变得清晰明了,这些优选实施方式仅结合附图以示例的方式被提供,附图中:
[0025] 图1是根据本发明的系统的示例的图;以及
[0026] 图2是被用于图1的系统中的用户装置的示例的图。

具体实施方式

[0027] 以下描述是仅以示例的方式的优选实施方式,并且不限于用于实施本发明的必要特征的组合。
[0028] 本说明书中对“一个实施方式”或“实施方式”的引用意指被包括在本发明的至少一个实施方式中结合实施方式描述的特定特征、结构或特性。短语“在一个实施方式中”在说明书中的各个地方中的出现不是必须全部提及同一实施方式,也不是互相排除的其他实施方式的单独或另选实施方式。而且,各种特征被描述,所述特征可能被一些实施方式且不被其他实施方式展示。类似地,各种要求被描述,所述要求可能为一些实施方式但不为其他实施方式所要求。
[0029] 应理解,附图所示的元件可以在各种形式的硬件软件或其组合中被实施。优选地,这些元件在一个或多个适当编程的通用装置上的硬件和软件的组合中被实施,该一个或多个适当编程的通用装置可以包括处理器、存储器和/或输入/输出接口
[0030] 本描述说明了本发明的原理。由此将理解,本领域技术人员将能够得出各种布置,尽管在此未被明确描述或示出,但所述各种布置均体现本发明的原理且被包括在本发明的精神和范围内。
[0031] 此外,本发明的所有陈述本发明的原理、方面和实施例以及其特定示例的所有陈述意欲涵盖其结构等效物与功能等效物两者。另外,此类等效物意图既包括当前已知的等效物,也包括在未来发展的等效物,即所研发的执行相同功能的任何元件,而不管结构如何。
[0032] 在于此的权利要求中,被表达为用于执行指定功能的手段的任意元件旨在包含执行该功能的任意方式,包括例如,a)执行该功能的电路元件的组合,或b)任意形式的软件,包括与适当的电路组合以用于执行该软件以实现功能的固件、微代码或诸如此类。如被这种权利要求限定的本发明驻存在以下事实中:被各种所列举的手段提供的功能被以权利要求提倡的方式组合并集合。由此认为能够提供这些功能的任意手段等同于这里所示的这些手段。
[0033] 参照附图,本发明的系统1包括若干用户装置2和一个中央服务器3。用户装置2包括手持和/或移动电子装置诸如智能电话、平板电脑或诸如此类2a,和/或个人计算机(PC)2b。各个用户装置2能够借助网络,诸如因特网4,与中央处理器3通信,但这在本发明的方法整体在电子装置2a或PC 2b中执行的情况下不是必要的。在这种情况下,需要电子装置被连接到网络。虽然为了清楚起见,仅三个电子装置2a和单个PC 2b被示出在图1中,但将理解,在实践中,系统1可以包括大量的电子装置2,但这再次不是必要的,因为本发明的方法可以在单个电子处理装置2上被实施。
[0034] 图2更详细地说明了系统1的电子装置2a的示例。如图2所示,电子装置2a包括数据处理器10;视觉显示器11;用户界面12,该用户界面12允许用户指令被输入到装置2a,并且允许信息被呈现和/或显示给用户;扬声器13;以及麦克14。电子装置2a的各种部件在运行被存储在存储器中的机器代码的处理器10的控制下运行。用户界面12可以与视觉显示器集成而作为触摸屏显示器。在其他示例中,用户界面12可以为与视觉显示器分离的专用小键盘。包括这些部件的电子装置为技术人员所公知,因此这些部件在这里不需要被详细描述。将理解,用户PC 2b将具有类似的功能。
[0035] 进一步地,电子装置2a包括位置确定装置15、绘制地图或导航模16以及位置识别模块11。导航模块16和位置识别模块17被布置为从位置确定装置15接收位置信息。在所举例的示例中,位置确定装置15是全球定位系统,诸如所谓的GPS。在其他示例中,不同的基于卫星的导航系统可以被使用。导航模块16和位置识别模块17可以包括专用硬件,或者可以包括在电子装置2a的处理器10上运行的软件程序或应用。在一些示例中,用户PC 2b可以不包括位置确定装置15。在一些示例中,不包括位置确定装置的用户PC 2b仍然可以从单独的位置确定装置,诸如电子装置2a中的位置确定装置,获得位置信息。
[0036] 位置识别模块17使用被位置确定装置15提供的位置信息来向用户提供基于位置的服务。
[0037] 为了清楚起见,具有包括位置确定装置15的电子装置2a的系统1的操作将被讨论。
[0038] 一般而言,电子装置2a或PC 2b在一个实施方式中被配置为确定用于装置本身的位置或被用户在地图或导航模块16上选择的位置的地理坐标。然后,这些数字坐标可以以如申请人的国际(PCT)专利申请号PCT/GB2014/051152或任意其他合适的这种系统所公开的方式在电子装置2a或PC 2b本身上或在服务器3的帮助下被分解成基于词的唯一位置标识符。
[0039] 然而,这里所公开的方法不限于基于词的地理位置标识符,而是可以关于具有可接受词的词典或数据存储的装置或系统中的任意输入字符串被实施。在本发明的上下文中,术语“词”不被认为仅包括自然词,而是可以包括任意字符、字母、数字的输入串或其他方式的包括或匹配一个“词”,例如,装置或系统的词典或数据存储中的可接受或预定义字符串条目,该串包括或匹配,或者旨在包括或匹配词典或数据存储中的任意这种词条。
[0040] 在同一或另一个实施方式中,电子装置2a或PC 2b独自或与服务器3通信地被配置为将所接收的字符输入串,优选地为多词字符串分解成关联的方面,诸如一组地理位置坐标。在一些非基于位置的实施方式中,所接收的字符输入串被分解成关联的方面,诸如搜索查询或产品标识符,例如,条形码号码或诸如此类。
[0041] 在以下描述中,将涉及包括多词输入串的输入串,但将理解,本发明不限于仅处理多词输入串,而是可以被配置为处理任意输入串。
[0042] 电子装置2a和/或PC 2b被配置为独自或与服务器3通信地接收多词输入串,并且对于所接收的n词输入串中的各词n(其中,n=x),a)从q个词的词典选择m个候选词,其中,n、m以及q包括正整数,n大于或等于2,并且m小于q。m和n优选地比q小一个或若干数量级。例如,在具有q,其中,q比如说为40000,个词的词典的实施方式中,n可以小至2或3,并且m可以不大于100且优选地小至30。优选地,q个词的词典包括可接受词的固定列表,即虽然词典在大小上可以被定期改变,但其内容和/或大小不必动态变化。词典中词的列表优选地以所定义的顺序,诸如字母和/或数字顺序被设置。
[0043] 所述方法包括以下步骤:b)从所得候选词的mn个组合选择词的候选组合的子集p,其中,p是正整数,并且p小于mn。p可选地小于q。在q为40000、n比如说为3且m为100的示例中,p优选地为大约1000。在这个存在40000个词的64万亿可能的三词组合的示例中,所述方法首先将用于进一步考虑的所选三词候选组合的数量减小至1003,即1百万,并且该数量然后被进一步减小至1000个候选组合以用于进一步处理,用于呈献给用户的最终候选列表少至比如说10。
[0044] 在本发明的方法中,步骤a)可以包括对于所接收n词输入串的各词n确定或分配关于固定词典中的一些或全部词q的相应分数或排名,从而对于所接收n词输入串的各词n基于最佳分数或排名从q个词的固定词典选择m个候选词。对于所接收n词输入串中的各词n的关于在固定词典中的一些或全部词q的分数或排名可以包括基于用于所接收n词输入串的各词n的字符串与固定词典中的一些或全部词q的字符串之间的比较的、基于字符的距离分数。所述基于字符的距离分数可以包括编辑距离分数,但优选地包括被加权的编辑距离分数,诸如以移项作为操作的被加权的莱文斯坦(Levenshtein)编辑距离分数。
[0045] 因此,所述方法可以被视为通常包括畸形输入数据的校正,其中,所述畸形输入数据意图匹配一组可接受或预定义的字符串(词),其中,各词被汇编在可接受词的词典或数据存储中。
[0046] 激励本发明的技术的技术问题是可以识别可以被用于判断用户可能打算输入什么的若干因子,但如果上面提及的示例中的64万亿可能的三词组合要被连续处理来识别一个或多个词的候选组合,作为替换或被选择为替换畸形输入串的预期输入,则在比如说PC上运行的处理将花费比自从宇宙起源以来的时间更长的时间运行。
[0047] 实际上,一般平下,本发明的方法包括使用一系列方法,所述一系列方法可以被用于依据近似速率而提高潜在预期的多词组合的分数和排名。然后,在这些方法中,第一最快的方法被应用于所有的可能性。然后,比如说在该阶段看起来最佳的一百万个可能性被选择,丢弃所有其他的可能性,从而充分“筛选”供进一步考虑的可能候选。在此之后,第二可能较慢的方法被应用以调节并由此提高该一百万个可能性的分数或排名的质量,并且从这些可能性中选择比如说在该阶段看起来最佳的1000个可能性,丢弃所有其他可能性。然后,所述方法可以包括应用第三可能最慢的方法来调节且由此提高这1000个可能性的分数的质量,并且这可能导致1000个候选中预定少量,比如说10个的选择,或从所述1000个候选选择满足一个或多个准则的减小数量的候选,以提供在该阶段看起来最佳的少量候选,丢弃所有其他候选。这种方法取消处理万亿个可能组合的需要,并且实际上,借助逐步选择处理,这种方法快速且在计算方面上高效地达到非常少量的词的候选组合,这些候选组合可以被分解成它们唯一的方面,并且一个或多个候选组合作为用于畸形输入数据的可能候选被呈现给装置或系统的用户。
[0048] 该技术的功能的关键是第一方法,虽然可能被认为不准确,但足够准确以致最终少量,例如10个最佳候选组合中的一个位于如被第一方法单独计算的比如说前一百万个可能性之外是非常不可能的。第二方法虽然可能被认为是不精确的,但足够准确以致10个最佳可能性中的一个位于比如说如被第一和第二方法共同计算的前1000个可能性之外是非常不可能的。以此类推。
[0049] 将理解,虽然上述示例提及连续应用三个方法,但可以根据电子装置2a、PC 2b和/或服务器3处的输入的性质和对于计算效率所需的筛选程度而存在少至两个方法,或可以存在远多于三个方法。
[0050] 采取上面被提及的、词典大小q=40000、词分组大小n=3且三词分组中每词或槽的所选候选包括m=100的示例,明显的是,没有计算上高效的方法可以被明确地且单独应用于40000词词典中的三个词的所有64万亿个可能的分组。然而,可以通过以下方式来高效计算优度的某一测量,例如用于所有64万亿个可能性的分数或排名,显式或隐式地计算被涉及在可能性中的三个词中的每一个的优度或“分数”的测量,优选地,更低的分数被认为更佳,然后优选地由加法组合所述测量。因为仅存在可以进入三词组的各“槽”中的40000个可能的词,所有这涉及至多3*40000个计算。然后如稍后将被更详细描述的,可以使用类似的隐式过程来挑选出具有最佳,即最低分数的64万亿个可能性的子集。
[0051] 挑选出三个词的64万亿个可能组合的子集的方法可以包括以下步骤:
[0052] I.对于电子装置2a或PC处所接收的三词输入的各词,取比如说30个或多个词典中在印刷上、语音上或近似语音上最类似的词。这可以通过根据特定分数,该分数优选地为所述词典词与所接收输入词之间或所述词典词和输入词的语音或近似语音表达之间的被加权莱文斯坦编辑距离,对词典中的词有效地排名完成。术语“有效地”因为它不总是需要显式计算每一个词的分数而被用于这里。在任意情况下,该方法使得具有最佳分数的30个或多个词能够被识别为用于所接收输入字符串中的各词n的候选词m。优选地,该方法使用考虑相邻字符的移项的被加权莱文斯坦编辑距离的标准变体。编辑距离的权重优选地被根据技术和经验准则仔细选择。
[0053] 示例:采取所接收的畸形输入词组串“meo.ammoun”、“naild”,对于畸形的所接收输入词“meo”,作为用于用户可能打算键入的候选、而不是“meo”的、词典中在印刷上、在语音上或近似语音上最类似的词除了别的之外产生以下的可能性,这些可能性以它们产生的被加权莱尔斯坦编辑距离来示出:
[0054] 【memo:1,veto:2,mono:2,redo:2,mojo:2,…】(1、2…...是实际类似性分数)。
[0055] 对于“ammoun”、“naild”,可能的候选词m包括:
[0056] 【amount:2,mammoth:3,hammock:3,lemon:3,famous:3,…】
[0057] 【nails:1,nailed:1,nail:1,railed:2,snail:2,…】
[0058] II.用于三词输入组的三个候选词列表被组合,以获得所预期输入串可能的内容的一些或全部可能的三词建议或候选。因为在任何地方都存在各词的30至300个可能性,所以这产生用于所预期输入串的30*30*30直到300*300*300个可能的候选词组合。这些建议然后优选地本身被分配有分数或排名,并且各建议的分数或排名优选地被通过将用于各组合内的三个词的、已经确定的分数或排名相加获得。例如,memo.amount.nails具有分数4(1+2+1=4),并且veto.amount.nails也具有分数4(2+2+1=4),等等。
[0059] 全部或一些可能性,即候选组合的组合列表优选地按分数或排名被排序,并且如果这一点被被完成,那么优选地在该示例方法中具有最高分数或排名的最差建议被丢弃,从而将用于进一步考虑的词的候选组合的数量大体减少一个或若干数量级。将理解,没有必要计算所有词的分数。没有必要对可能被预先视为具有较高分数或排名的词评分或排名,该较高分数或排名将使这些词或包括这些词的词的任意组合作为不可行的候选。
[0060] 在步骤II之前,可选地步骤IA是使用优选地与各原始词一起以紧凑样式存储在词汇表中的变体词的预计算列表来添加各候选词在形态学上相关的变体。因此,例如,对于“memo”,变体“memos”可以被添加,并且对于“amount”,变体“amounts”、“amounted”以及“amounting”可以被添加。这种代替优选地引起罚分。如果例如罚分为5,那么因为“memo”具有分数1,所以“memos”将具有分数6。
[0061] 同样,作为步骤II之前的另外可选步骤IB,因为用户可能记错词的顺序而且可能错误键入一个或多个词,所以已重新排序的变体(例如,“amount.memo.nails”)可以被添加。这些情况也如上所述的被给予合适的罚分。
[0062] 在具有或没有可选步骤IA和/或IB的情况下,在步骤II中将用于进一步考虑的词的候选组合的数量大幅减少一个或多个数量级之后,一个或多个另外的“筛选”步骤可以被应用于进一步减少要被进一步考虑的候选的数量。
[0063] 在装置或系统使用多词组作为用于地理位置的输入的情况下,另外的筛选步骤可以包括以下步骤中的一个或多个:
[0064] III.使用如申请人先前所公开的专利申请所公开的主算法或任意其他合适的位置转换算法来计算各多词(三个词)候选的位置,然后确定或计算从所述位置到已知位置,诸如电子装置的当前位置或最近已知的位置或被用户选择的位置的距离。关于各三词候选组合,罚分与距离,该距离可以为到已知位置或被用户选择的位置的距离的单调递增函数,成比例地被增加;和/或
[0065] IV.仅对于某些情况,找出各3词建议的位置与最近的地图特征,诸如道路或建筑或某一其他所选地图特征之间的距离。然后各候选词组组合的分数被通过增加罚分调节,该罚分随着距离增大而增加,并且罚分还可以为距离的单调递增函数。
[0066] 步骤III和IV可以被分别应用在步骤I和II之后(且可能地还在步骤IA和/或IB之后),或者步骤III和IV可以被组合地应用。在任意情况下,一旦任意罚分被增加,则减少数量的候选词组组合和/或它们的已分解位置可以被重新排序,并且这些词和/或它们的已分解位置中的一些或全部被以所述重新排序的形式呈现在电子装置2a或PC 2b上,其中具有最低分数的候选被首先或最显著地呈现或显示。优选地,候选被显示为使得用户可以进行选择并调用该选择的结果。
[0067] 候选词的评分优选地基于编辑距离分数,但其他评分机制可以被使用。在编辑距离评分的情况下,存在用于计算两个词串之间的编辑距离的标准方法,参见例如http://en.wikipedia.org/wiki/Edit_distance。已知方法的技术问题是为了完全准确,它需要比较输入词串和潜在地包含数千词的词典中的各词。一般方法包括以下步骤:依次将畸形的输入词串和各词典词进行比较,以获得各比较的适当编辑距离计算。因为这在我们的示例中可能涉及编辑距离过程的40000个单独调用,所以它对于本发明的目的在计算方面上太低效。提高处理速度的其他可能另选方法对于本发明的目的而言仍然太慢,此外还使用不期望的大量存储。
[0068] 用于计算到任意给定的输入词串词或输入串的部分的“最接近词”的、该问题的解决方案使用非常少量的存储,并且在处理上比任意已知方法,如2015年1月6日提交的标题为“A Method for Suggesting Candidate Words as Possible Replacements for an Input String Received at an Electronic Device”的申请人的共同待审专利申请号GB1500104.3所描述的快至少一个数量级。
[0069] 优选地,使用以标准方式实施的最近最少使用(LRU)的缓存来处理缓存对于被考虑的最后(比如说)80个词中的每一个的编辑距离过程的结果(即,“词表中30个最类似的词”)。因此,如果系统被要求计算用于3词输入串组合的建议且这些输入词中的一个或多个处于缓存中,则任意这种词的结果将被在几乎可忽略的时间内返回。如果结果随着用户键入输入串而被更新,使得通常将存在一个查询与下一查询之间的两个词输入串重叠,则因为用户仅编辑最后的词,所以这是特别有用的。举例来说,如果查询是:
[0070] A.meo.ammoun.n
[0071] B.meo.ammoun.na
[0072] C.meo.ammoun.nai
[0073] D.meo.ammoun.nail
[0074] E.meo.ammoun.naild
[0075] 则“meo”和“ammoun”的编辑距离结果不需要被在查询B-E中重新计算。
[0076] 在下一步骤中,标准过程将是采取用于输入串的三个词中的每一个的可能替换的三个列表,并且组合该三个列表,以获得用于三词输入串的整体的三个词的所有可能的建议/候选组合。与更早的示例中相同,如果存在用于三个槽中的每一个的多达100个可能性,则我们将拥有用于整个输入的100*100*100个可能性。不幸的是,构建这许多个可能性明确地证明是不期望地缓慢的,而且耗尽不期望量的存储。在构建全部一百万个三词可能性之后,有人传统地将列表排序并取比如说1000个最佳的条目来传递到下一阶段,但这在实践中再次证明是不期望地缓慢的。
[0077] 这里优选的方法是用隐式过程来替换显式组合和排序过程,该隐式过程包括使用被实施在比如说二进制堆上的优先队列数据结构的改进的最优优先搜索,尽管对于速度优化的其他组合方法可以被使用。
[0078] 一种可能的优化是以诸如【分数、第一词数字标识符、第二词数字标识符、第三词数字标识符】的形式将条目插入优先队列中,该形式可以被编码为单个64位整数,其中距离分数在16个最高位中。因为这些整数由分数被排序,所以它们可以被直接插入到优先队列中,这远远快于使队列含有记录。
[0079] 前述方法可以通过利用输入的特性,即在像【memo:l,veto:2,mono:2,redo:2,mojo:2,…】的列表中的分数单调递增的事实)来对标准最佳优先搜索方法改进,以保证从不存在将同一三词项插入到队列中多于一次的尝试。这节省记录一组节点的需要,这已经“被看到”,这转而显著加速算法。
[0080] 值得注意的是,存在编辑距离的优选变体,该优选变体考虑到键盘上的相关键上的键之间的距离,这是由于用户更可能由于敲击具有词的语音类似的和常见拼错的附近键而错误键入。此外,在考虑如申请人先前的专利申请所公开的地理位置分解方法的实施方式中,存在对仅返回词的候选组合或其包括陆地上已知位置的已分解位置的偏好。例如,在用于地理位置的可接受词的词典中,词25001-40000(从1对词编号)可以仅用于海洋位置。虽然这些词可以因为它们可能与用于陆地位置的1-25000范围中的词有关而被用于下面描述的变体处理中,但如果可选的变体处理被省略,则不必计算这些词25001-40000的分数。
[0081] 在可选的变体处理中,不存在将变体词添加到一组可能候选的点,除非这个词出现在某一法定的3词组合中。注意,“是……的变体”关系是自反的,也就是说,只有在“amounted”是“amount”的变体时,“amount”是“amounted”的变体,由此,仅需要计算用于词典中的40000个词的可能变体词尾。什么是变体的概念具有主观成分,出于该原因,最佳的结果可以通过预计算用于40000个词中的每一个的变体的列表并将其作为应用的一部分分配(与程序执行期间计算变体相反)而获得。这还意味着词尾数据的质量可以在不需要对主应用程序进行任何改变的情况下被提高。
[0082] 该可选的预计算方法具有两个另外的优点。第一,在程序执行期间计算变体将减慢程序的速度。第二,该方法将涉及将大量的附加码插入到程序中,并且这种码的数量将随着另外的语言被加到系统而需要被增大。
[0083] 存在一个涉及离线计算词尾的挑战,该挑战是列出40000个词中的每一个的变体词可能占据大量的空间。所述空间对于各词表(一种语言一个)被需要,因此总的整体空间的使用将是不期望的。该挑战的任意解决方案面临它必须允许给定词的一组变体的快速确定的另外问题,因此这排除诸如“zip(压缩格式)”的压缩方案。
[0084] 该挑战的一个解决方案依靠以下观察:
[0085] 词表趋向于为压缩的;即,它们包括典型说话者词汇中几乎所有的词。因此,仅计算本身在词表中的变体词在性能上存在可忽略的损耗。
[0086] “是……的变体”关系是等价关系,即它是自反的、对称的且及物的。因此,可以将词表划分成类似词的等类别。词表被按固定顺序分配。因此,可以由数字标识符诸如给出各词在词表中的位置的整数来表示各词。即,“1”用于第一词,“2”用于第二词,以此类推。解决方案涉及以下内容。对于各类相关词,虚构示例为词30:“index”、词792:“indexed”以及词34967:“indexing”,我们以某一随机顺序(例如,按字母顺序)放置词。然后,关于已排序的列表中的各词的数字,除了最后一个词,我们关联列表上下一词的数字;关于最后一个词,我们关联第一词的数字。由此,例如,我们将使:
[0087] 30->792
[0088] 792->34967
[0089] 34967->30
[0090] 一旦我们将该过程应用于每一类相关词,则我们将范围1至40000中的各数字与另一个这种数字关联。该信息可以被极其紧凑地存储在长度为40000的阵列中。因为各条目占据2字节,所以整个阵列将仅占据80千字节,该数量与比如说词表本身相比是可忽略的空间量。
[0091] 算法中之前的阶段不返回词,但返回与这些词关联的数字。在给定与词关联的数字之后,使用以下过程极其快速且没有空间开销地找到相关词(的数字)是简单的:即,以给定词的数字开始,并且移至关联的数字。从该数字,移至其关联的数字。重复该过程,直到你返回到开始的数字为止。例如,以“indexing”开始,将继续进行:34967→30→792→34967。在该过程期间遭遇的所有数字表示与考虑到的原始词有关的词(index、indexed)。这种词被添加到可能性的列表,除非它们已经在列表中。
[0092] 在添加有关词之后,在25001-40000范围中的词(例如,上述的“indexing”)可以出于上面详细说明的原因而被丢弃。
[0093] 与已重新排序的变体有关的另一个可选步骤(其可以与之前的可选步骤合并)包括修改用于最佳优先搜索过程中的隐图。该修改可以通过利用以下事实来使得显著更快:给定n词输入的所有(n!-1)非简单重新排序将具有相同的分数。在n=3的情况下,非简单重新排序的数字将为5。
[0094] 在针对地理位置方法的另外可选距离测量步骤中,计算候选词的1000个所选组合中的每一个的位置的处理优选地可以通过供给给如申请人先前的专利申请所公开的,具有与词本身相对的词的数字标识符(字典词表分配的数字)的算法来被加速(因为这一点短接原始算法五个步骤中的一个)。然后,1000个可能性中的每一个与用户的距离被优选地使用标准球面距离半正矢公式(该公式比另选方法更准确且更快计算)来计算。在此之后,候选词的分数被通过添加与用户的距离的合适函数修改。优选地,这为常数*log(1+到用户的距离)的形式,其中,到用户的距离优选地用单位米测量。
[0095] 此时,传统地是将1000个可能性的列表进行排序,取10个最佳的选项,并且将这些选项传递给下一阶段。在实践中,这被发现足够快。如果情况不是这样(例如,如果“1000”将来被更大的数字替换),则可以使用优先队列在任意给定的阶段记录仅10个最佳的建议,这避免对1000个项的最终排序的需要。
[0096] 在包括计算到最近地图特征(诸如道路)的距离的另一个可选距离测量中,该步骤的结构确切地作为上述之前步骤的结构,其中“1000”被比如说“10”替换。
[0097] 在这里被公开的方法中,设想在大多数情况下,输入串的词形成用于选择要被处理为识别n(=x)个输入词中的每一个的m个候选词的基础。然而,该过程可以被修改为处理用户已经输入错误数量的类似词例如,“meo.amm.un.naild”,即四个词,而不是三个词的情况。如果存在太多的输入词,则不同的词可以被“融合”在一起,然后如这里所述的过程被应用。例如,该方法可以被应用于“meo+amm.un.naild”、“meo.amm+un.naild”、“meo.amm.un+naild”,其中,“+”是“虚设”字符,而不是词分隔符。如果存在太少的输入词,则一个或多个输入词可以在不同的位置处被拆分,并且该方法被应用于各可能性,再次取最佳结果。
[0098] 虽然本发明已经在附图和前面的描述中被详细例示并描述,但该描述在特性上被认为是示例性而非限制性的,可以理解:仅示例性实施方式被示出并描述,并且不以任何方法限制本发明的范围。可以理解,这里所述的任意特征可以与任意实施方式一起被使用。示例性实施方式并非不包括彼此或这里未被列举的其他实施方式。因此,本发明还提供了包括上述示例性实施方式中的一个或多个的组合的实施方式。如这里阐述的本发明的修改和变更可以在不偏离本发明的精神和范围的情况下被进行,因此,仅这种限制应如由所述权利要求指示的被施加。
[0099] 在本发明的接着的权利要求中且在之前的描述中,除了上下文由于表述语言或必要含义而需要其它含义之外,词语“包括”或其变体被在包括的意义上使用,即被用于指定所陈述特征的存在,但不排除在本发明各种实施方式中的另外特征的存在或增加。
[0100] 应理解,如果任意现有技术公报在这里被提及,则这种参照不构成所述公布形成本领域中的公知常识的一部分的承认。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈