用于输入地理位置名称的输入法编辑器的制作方法

文档序号:12071146阅读:279来源:国知局
用于输入地理位置名称的输入法编辑器的制作方法与工艺

本公开涉及一种输入法编辑器(IME),并且更具体地,涉及一种允许用户以本地语言插入地理位置的专有名称的IME。



背景技术:

本文提供的背景描述是出于大体上呈现本公开的背景的目的。在该背景部分中描述的范围内的当前署名的发明人的工作、以及本说明中可能不足以作为申请时的现有技术的各个方面,既不明显地也非隐含地被承认为与本公开相抵触的现有技术。

用户可以采用输入法编辑器(IME)将文本输入提供给诸如移动电话等的计算设备。IME通过在与由所述计算设备的输入设备(例如,键盘)表示的书写系统不同的书写系统中提供输入文本的能力来协助用户。仅为了示例,拼音IME允许通过显示拉丁字符的键盘来输入汉字。在大多数情况下,IME采用的书写系统对应于相同的语言。就拼音IME示例而言,拼音书写系统和汉字书写系统对应于普通话。



技术实现要素:

在本公开的一些实施例中,公开了一种计算机实现的方法。所述方法可以包括在具有一个或者多个处理器的计算设备处接收以第一书写系统表示的用户输入。所述方法可以进一步包括在所述计算设备处,基于用户输入,确定一个或者多个候选。所述一个或者多个候选中的每一个可以与以不同于第一书写系统的第二书写系统表示的用户输入对应。另外,所述方法可以包括在计算设备处确定是否所述候选中的至少一个与地理位置的专有名称对应。当候选中的至少一个与地理位置的专有名称对应时,所述方法可以包括在计算设备处确定地理位置的本地名称。所述本地名称可以是在与该地理位置相关联的本地语言中的该地理位置的专有名称。所述方法还可以包括在计算设备处增强所述一个或者多个候选以包括本地名称以获得增强的候选列表,以及从计算设备输出增强的候选列表。

在另一示例实施例中,本公开涉及一种计算设备,所述计算设备包括一个或者多个处理器和非暂时性计算机可读介质,所述非暂时性计算机可读介质存储指令,所述指令在由所述一个或者多个处理器执行时使所述计算设备执行操作。所述操作可以包括接收以第一书写系统表示的用户输入。所述操作可以进一步包括基于该用户输入确定一个或者多个候选。所述一个或者多个候选中的每一个可以与以不同于第一书写系统的第二书写系统表示的用户输入对应。另外,所述操作可以包括确定是否所述候选中的至少一个候选与地理位置的专有名称对应。当所述候选中的至少一个与地理位置的专有名称对应时,所述操作可以包括确定所述地理位置的本地名称。所述本地名称可以是在与该地理位置相关联的本地语言中的该地理位置的专有名称。该操作还可以包括增强所述一个或者多个候选以包括所述本地名称以获得增强的候选列表,并且输出所述增强的候选列表。

本公开的其它适用领域将通过下文提供的具体实施方式变得显而易见。应理解,具体实施方式和特定示例仅用于图示之目的,并且不旨在限制本公开的范围。

附图说明

将从具体实施方式和附图更充分地理解本公开,附图中:

图1图示了根据本公开的一些实施方式的用户与示例计算设备交互;

图2是根据本公开的一些实施方式的图1的计算设备的功能性框图;

图3是根据本公开的一些实施方式的图1和图2的示例计算设备的用户界面的示意图;

图4是根据本公开的一些实施方式的图3的用户界面的另一示意图;以及

图5是根据本公开的一些实施方式的用于基于用户输入确定地理位置的本地名称的示例方法的流程图。

具体实施方式

如上所述,可使用IME以通过使用表示相同语言的两个不同书写系统将文本输入提供给计算设备。然而,在一些情况下,用户可能期望使用她/他不熟悉的语言来键入输入文本。仅为了示例,在国外旅行的用户可能希望拜访他/她不知道本地名称的地理位置。在用户的计算设备包括地图应用或者类似功能性的情况下,用户可能无法经由IME适当地输入地理位置的本地名称。期望向IME提供与基于与以非本地(或者“外国的”)语言表示的地理位置的专有名称相对应的用户输入确定地理位置的本地名称相关的附加功能性。

现参照图1,示出了示例计算设备100。计算设备100被图示为移动设备(诸如移动电话、平板计算机或者“手机平板”计算机),但应理解,术语“计算设备”可以包括任何形式的计算机或者计算机系统,所述计算机或者计算机系统包括用于执行指令的一个或者多个处理器。仅为了示例,计算设备可以采取以下形式:台式计算机、膝上型计算机、移动电话、平板计算机、手机平板计算机、可穿戴计算机(智能手表等)、以及服务器或者其它分布式计算机系统,以及这些示例计算设备中一起工作以执行操作的的两个或者更多个示例计算设备。

所图示的计算设备100包括显示器104,诸如,如图所示的触摸显示器。计算设备100可附加地或替选地包括物理键盘(未示出)。触摸显示器104可以向用户108显示信息和从用户108接收输入。可以在显示器104上提供“软”键盘116,用户108可以通过所述“软”键盘116提供文本输入。所图示的键盘为提供拉丁字母的拉丁键盘以及其它输入选项(数字、空格键、符号等)。用户108可以通过使用一个或者多个手指112和触控笔或者笔(未示出)经由触摸显示器104和/或键盘116将文本输入至计算设备100。

现参照图2,示出了示例计算设备100的功能框图。计算设备100可以包括处理器200和通信设备204。如本文所使用的术语“处理器”指单个处理器以及一起运行(例如,在平行或者分布式架构中)以执行计算设备100的操作的两个或者更多个处理器两者。计算设备100可以进一步包括IME 208,IME 208包括并采用词典212。尽管本文中将IME 208和词典212示出并且描述为计算设备100的单独部件,但IME 208和词典212可通过处理器200来实施。应理解,计算设备100可以包括图2中未图示的附加计算部件,诸如存储器、麦克风、扬声器、一个或者多个按钮等。

处理器200控制计算设备100的大部分操作。例如,处理器200可以执行任务,诸如但不限于:加载/控制计算设备100的操作系统、加载/配置通信设备204的通信参数、控制IME参数、和控制存储器存储/检索操作(例如,用于加载所述各种参数)。进一步地,处理器200可以经由计算设备100的触摸显示器104控制与用户108的通信。

处理器200可以通过触摸显示器104为用户108提供各种不同字符输入配置。例如,处理器200可以为用户108提供如图所示的标准拉丁“QWERTY”键盘的形式。替选地,处理器200可以为用户108提供标准12键配置(也称为基于T9输入的字符配置)或者其它键盘配置。

处理器200可以(例如)经由提供的字符输入配置从用户108接收输入。然而,处理器200还可以提供各种IME(例如,IME 208)以协助用户108将文本输入至计算设备100。因此,处理器200还可以通过转化以不同的文字系统(例如,拼音)表示的用户文本输入来将从用户108接收的输入转化为一个或者多个期望的文字系统(例如,中文汉字)。例如,处理器200可以在解释用户文本输入(下文详细描述的)时结合词典212来使用IME 208。

通信设备204控制计算设备100与其它设备/网络之间的通信。仅为了示例,通信设备204可以提供计算设备100与其它相关联的计算设备和/或因特网之间的通信。计算设备100通常可以经由以下三种通信介质中的一个或者多个进行通信:计算网络250(例如,因特网(下文称为“网络250”))、移动电话网络254和卫星网络258。还可以实施其它通信介质。例如,可以针对有线和无线网络连接(例如,射频(RF)通信)配置通信设备204。

在一些实施例中,IME 208,单独地或结合词典212,可以提供与基于对应于以非本地语言表示的地理位置的专有名称的用户输入确定地理位置的本地名称相关的功能。如上文提到的,在某些情况下,用户108可能期望以用户108不熟悉的本地语言输入地理位置的专有名称。仅为了示例,用户108可能是母语为普通话的人,其使用拼音IME 208将文本输入至计算设备100。用户108可能在俄罗斯旅行,并且期望使用地图应用找到去莫斯科克里姆林宫的方向。不熟悉俄语和西里尔字母书写系统的用户108可能不知道该地理位置的本地名称为“Кремль”。如下文进一步描述的,IME 208可以协助用户108确定该本地名称。

现参照图3和图4,图示了计算设备100的用户界面300。用户界面300可以显示于显示器104上。图3中的用户界面300对应于用户108已将“kelimulingong”的用户输入304(例如,从软键盘116)提供给计算设备100。用户输入304以第一书写系统表示,该第一书写系统在该示例中对应于拉丁字母表。基于用户输入304,计算设备100(经由IME 208)可以确定一个或者多个候选308-1、308-2...308-N(下文单独地及共同地称为“候选308”)。该一个或者多个候选308可以与以不同于第一书写系统的第二书写系统表示的用户输入304对应。在图示的示例中,第二书写系统为汉字。在图3中,虽然示出了两个候选(“克里姆林宫”308-1和“克里姆林宫的”308-2),但可显示任何数量的候选308。用户输入304和该一个或者多个候选308可以为相同的语言(“第一语言”)。

计算设备100/IME 208可以确定候选308中的至少一个是否与地理位置的专有名称对应。在本示例中,候选“克里姆林宫”308-1与英语中称为“莫斯科克里姆林宫(the Moscow Kremlin)”或者“克里姆林宫(the Kremlin)”的地理位置对应。仅为了示例,计算设备100可以通过将候选308中的每一个与词典212(在下文更充分地描述了词典212)中的词条进行比较来确定候选308中的至少一个是否对应于地理位置的专有名称。当特定候选308(也可以称为“特定候选名称”)与词典212中的特定词条匹配时,计算设备100可以确定特定候选308与地理位置的专有名称对应。

替选地,计算设备100可以通过将一个或者多个候选308的子集与词典212中的词条进行比较来确定候选308中的至少一个是否对应于地理位置的专有名称。所述一个或者多个候选308的子集包括的候选308的数量可以小于所确定的一个或者多个候选308的总数量。仅为了示例,子集可以仅包括所述一个或者多个候选308中的与用户输入304的匹配概率大于阈值的那些候选308。在该示例中,子集将包括所述一个或者多个候选308中的与用户输入304匹配的概率大于阈值的每一特定候选308。可以通过多种方式(例如,通过IME 208使用语言模型和/或键盘空间输入模型)来确定候选308与用户输入304的匹配概率。例如,还可以使用该概率来识别用户108通过提供用户输入304而想要的最可能的一个或者多个候选308。

在又另一示例中,计算设备100可以替代地将特定数量的候选308(例如,三个最可能的候选)与词典212中的词条进行比较。应了解,对于某一用户输入304,可能不存在一个或者两个以上的候选308,并且在一些情况下,特定数量的候选308将对应于将该一个或者多个候选308中的所有候选与词典212中的词条进行比较。

词典212可以包括多个地理位置名称。词典212中的每个词条可以对应于多个地理位置名称中的一个以及该地理位置的相关联的本地名称。以上述“克里姆林宫”为例,词典212可以包括与俄语中的“Кремль”的本地名称相关联的英语词条“Kremlin”。词典212还可以包括针对普通话中每一个与俄语中的“Кремль”的本地名称相关联的“克里姆林宫”的词条。该地理位置的本地名称可以是在与该地理位置相关联的本地语言中的该地理位置的专有名称。

可以通过采用和/或利用设计为识别实体(人、地点、事物等)及其相关联特征的一种或者多种机器学习算法来创建词典212。替选地,可通过人类来创建词典212。在一些实施例中,可通过机器学习算法来创建词典212,并且一个或者多个人类可以对所创造的词典212中的词条进行修改和/或确认。可以通过类似的方式来确定与每一个地理位置对应的本地语言。应了解,针对特定地理位置,可能存在一种以上的本地语言。仅为了示例,在加利福尼亚旧金山,本地语言可能为英语。然而,在旧金山的唐人街附近,相反地,本地语言则可能为普通话。因此,在该示例中,本地语言可能为英语或者汉语中的一种或两者均是。这样的多语言地理位置可以具有多种“本地”语言,或者可以确定或选择一种“本地”语言以将其包括到词典212中。

在一些实施例中,计算设备100可以通过(例如)经由通信设备204和网络(网络250、移动电话网络254和卫星网络258)中的一个或者多个网络将所述一个或者多个候选中的至少一个(或者所有)发送至服务器计算设备(未示出)以及通过接收是否所述候选中的至少一个与地理位置的专有名称对应的指示,来确定是否候选308中的至少一个与地理位置的专有名称对应。服务器计算设备可以为任何形式的计算机或者计算机系统,所述计算机或者计算机系统包括用于执行指令的一个或者多个处理器并且与计算设备100通信。此外,在一些实施例中,计算设备100可以通过从服务器计算设备接收地理位置的本地名称来确定地理位置的本地名称。在该示例中,服务器计算设备100可以存储、实施和/或执行上述词典212的功能。

当所述候选中的至少一个与地理位置的专有名称对应时,计算设备100可以确定地理位置的专有名称408。在图4中示出的图示示例中,将“Кремль”识别为与候选“克里姆林宫”308-1对应的本地名称408。本地名称408可以是与用户输入304和该一个或者多个候选308的语言(第一语言)不同的不同语言(第二语言)。如上文提到的,可以以与地理位置相关联的一种以上的本地语言来呈现本地名称408(例如,在多语言地理位置中)。

计算设备100可以增强该一个或者多个候选308以包括本地名称408以获得增强的候选列表412。可以例如通过将增强的候选列表412显示于触摸显示器104上,来从计算设备100输出增强的候选列表412。可以采用任何形式的输出(显示、经由扬声器输出的文本转语音,等等)。增强的候选列表412可以包括所述一个或者多个候选308-1至308-N以及与地理位置对应的本地名称408。在一些实施例中,基于候选308与用户输入304的匹配概率来对该一个或者多个候选308排序或者排名,例如,将具有最高概率的候选308列为第一,将具有第二高概率的候选308列为第二,等等。

还可以基于候选308的概率来对增强的候选列表412进行排序或者排名。在一些实施例中,本地名称408包括在紧接着与地理位置的专有名称对应的候选308的增强的候选列表412中。如图4所示,例如,本地名称“Кремль”408紧接着其所对应的候选“克里姆林宫”308-1。

现参照图5,图示了根据本公开的一些实施例的示例方法500的流程图。将结合上述计算设备100和技术来描述方法500,但是应该理解,任何计算设备都可以执行示例方法500。在504中,计算设备100接收以第一书写系统表示的用户输入(诸如用户输入304)。在508中,计算设备100基于所述用户输入,确定以不同于第一书写系统的第二书写系统表示的一个或者多个候选(诸如候选308)。如上文提到的,所述用户输入(用户输入304)和所述一个或者多个候选(候选308)可以使用相同的语言(“第一”语言)。

在512中,计算设备100确定是否候选308中的至少一个与地理位置的专有名称对应。如上述,可以例如通过将所述一个或者多个候选308中的至少一个候选与词典(诸如词典212)中的词条进行比较来执行该确定。当没有一个候选308与地理位置的专有名称对应时,在516中,计算设备100可以输出包括所述一个或者多个候选308中的一些或所有的候选列表。

当在512中,所述候选308中的至少一个与地理位置的专有名称对应时,在520中,计算设备100可以确定地理位置的专有名称408。在524中,计算设备100可以增强所述一个或者多个候选以包括本地名称408以获得增强的候选列表412,随后在516中,通过计算设备100输出该增强的候选列表412。随后,方法500可以结束或者返回504进行更多循环。

示例实施例的提供是为了使本公开全面并且将完整地将其范围传达给本领域的技术人员。阐述了许多特定细节,诸如特定部件、设备和方法的示例,以提供对本公开的实施例的彻底理解。对于本领域的技术人员而言显而易见的是,可以不需要采用特定细节,可以采用许多不同的形式实施示例实施例,以及均不应该将特定细节和示例实施例视为是对本公开的范围的限制。在一些示例实施例中,未详细地描述众所周知的过程、众所周知的设备结构和众所周知的技术。

本文所使用的术语出于仅描述特定示例实施例的目的并且无意用于限制。如本文所使用的,单数形式“一”、“一个”和“该”可意在也包括复数形式,除非上下文另有清楚指示。术语“和/或”包括相关联的列示项目中的一个或者多个项目的任何组合或所有组合。术语“包括(comprises)”、“包括(comprising)”、“包括(including)”和“具有(having)”是包含性的,并且因此指定所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或者多个其它特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加。本文所描述的方法步骤、进程和操作不视为必须要求以所讨论或者说明的特定顺序来执行,除非具体地确定了执行的顺序。还应理解,可以采用附加的或替代的步骤。

尽管在本文中可以使用术语“第一”、“第二”、“第三”等用于描述各种元件、部件、区域、层和/或部分,但这些元件、部件、区域、层和/或部分不应该受这些术语的限制。这些术语仅可以用于将一个元件、部件、区域、层或部分与另一区域、层或部分区分开来。诸如“第一”、“第二”等术语和其它数字术语当用于本文中时不暗含序列或者顺序,除非上下文另有清楚指示。因此,在不脱离示例实施例的教导的情况下,下文讨论的第一元件、部件、区域、层或者部分可以称为第二元件、部件、区域、层或者部分。

如本文所使用的,术语“模块”可以指以下各项的一部分或者包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);处理器或处理器的分布式网络(共享的、专用的或者分组的)以及执行代码或者进程的联网群集或者数据中心中的存储设备;提供所描述的功能的其它合适的部件;或者以上中的一些或所有的组合,诸如在片上系统中。术语“模块”还可以包括存储由该一个或者多个处理器执行的代码的存储器(共享的、专用的或者分组的)。

如上文所使用的,术语“代码”可以包括软件、固件、字节代码和/或微代码,并且可以指程序、例程、函数、类别和/或对象。如上文所使用的,如上使用的术语“共享的”指可以使用单个(共享的)处理器执行来自多个模块的一些或者所有代码。另外,可以由单个(共享的)存储器存储来自多个模块的一些或者所有代码。如上文所使用的术语“群组”指可以使用一组处理器执行来自单个模块的一些或者所有代码。另外,可以使用一组存储器存储来自单个模块的一些或者所有代码。

可以通过由一个或者多个处理器执行的一个或者多个计算机程序来实施本文所描述的技术。计算机程序包括存储于非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可包括存储的数据。非暂时性有形计算机可读介质的非限制性示例为非易失性存储器、磁存储设备和光学存储设备。

以上描述的一些部分关于对信息的操作的算法和符号表示呈现了本文所描述的技术。这些算法描述和表示是数据处理领域的技术人员用以最有效地将其工作本质传达给本领域的其它技术人员的一种手段。当从功能上或逻辑上描述这些操作时,应该将这些操作理解为通过计算机程序来实施。此外,在不损失通用性的情况下,将这些操作配置称为模块或通过功能名称来称呼有时也证实是有利的。

除非特定地指出或以其它方式通过以上讨论是显而易见的,否则应了解,贯穿本说明书,采用诸如“处理(processing)”或者“计算(computing)”或者“计算(calculating)”或者“确定(determining)”或者“显示(displaying)”等术语的讨论指计算机系统或者类似电子计算设备的动作和进程,所述计算机系统或者类似电子计算设备操纵并且变换在计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内表示为物理(电子)量的数据。

所描述的技术的某些方面包括在本文中以算法的形式描述的进程步骤和指令。应该注意,所描述的进程步骤和指令可被实施在软件、固件或硬件中,并且,当包含在软件中时,可以被下载以驻留于由实时网络操作系统使用的不同平台上并且从该平台进行操作。

本公开还涉及一种用于执行本文的操作的装置。可以出于所需目的特别地构造这种装置,或者这种装置可以包括通用计算机,通过在所述计算机可以访问的计算机可读介质上存储的计算机程序来选择性地启动或者重新配置该通用计算机。这种计算机程序可以存储于有形计算机可读存储介质中,诸如但不限于包括软盘的任何类型的磁盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁性或光学卡、专用集成电路(ASIC)或者用于存储电子指令的任何类型的介质,并且以上每一个都耦接至计算机系统总线。此外,本说明书中所指的计算机可以包括单个处理器或可以是采用多种处理器设计以便增加计算能力的架构。

本文呈现的算法和操作并非固有地与任何特定计算机或其它装置相关。根据本文中的教导,各种通用系统还可以与程序一起使用,或其可以证明构造更多专用装置以执行所需方法步骤是方便的。对于本领域的技术人员,针对各种这些系统的所需结构连同等效变化将是显而易见的。另外,未参照任何特定编程语言来描述本公开。要理解,多种编程语言可用于实施如本文所描述的本公开的教导,并且提供的对特定语言的任何提及是为了公开本发明的实现和最佳模式。

本公开非常适合许多拓扑结构上的多种计算机网络系统。在本领域内,大型网络的配置和管理包括通过网络(诸如互联网)可通信地耦接至不同计算机和存储设备的存储设备和计算机。

已出于图示和描述之目的提供了实施例的前述描述。其不旨在是详尽无遗的或者限制本公开。特定实施例的单独的元件或者特征通常不限于该特定实施例,相反,在适用的情况下,是可互换的并且可用于所选的实施例中,即使未经具体地图示或者描述。其还可以按照许多方式改变。这种变化不视为脱离本公开,并且所有这种修改旨在包括在本公开的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1