预测用户待输入字的方法及装置与流程

文档序号:11828052阅读:293来源:国知局
预测用户待输入字的方法及装置与流程

本发明涉及输入法领域,尤其涉及一种预测用户待输入字的方法及装置。



背景技术:

输入速度是考量输入法使用性能的重要指标之一。传统的输入法都是在通过键盘接收到用户待输入字的相关字符(包括拼音或笔画等)后才可获知用户待输入字。例如,用户使用拼音输入法需要输入“我看到了花的灿烂”八个字,则只有在用户输入该八个字的全部或部分拼音(例如该八个字的拼音首字母)后,才可识别出该八个字。

可见,该传统的输入法无法依据已输入的上下文,在不输入待输入字的任何字符情况下预测用户待输入字。为解决该问题,相关输入法提供了依据已输入的最近一个字,获取以该字开头的可组合的词或词组,并将该词或词组推送给用户,从而提升输入速度。

上述预测用户待输入字的方法所预测的用户待输入字是以用户已输入的最近一个字开头的可组合的词或词组。虽然具有一定的命中率,但与一个字可组合的词或词组很多,由于其没有考虑上下文的语境,因此所预测的词或词组命中率不高。且对于常出现的“的”、“地”、“得”等在作为助词时其预测的词或词组命中率更低。

因此,已有的预测用户待输入字的方法命中率较低,无法有效提高输入法的输入速度。



技术实现要素:

本发明解决的技术问题之一是提供一种预测用户待输入字的方法及装置,依据上下文语境预测用户待输入字,从而有效提高输入速度。

根据本发明一方面的一个实施例,提供了一种预测用户待输入字的方法,包括:

在字与字向量对应表中查找用户在当前统计单元中已输入字的字向量,所述统计单元是用户输入的字中在预定标点符号之间的语义单位;

根据所述已输入字的字向量预测用户待输入字的字向量;

根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字;

展示所述预测的用户待输入字。

可选地,所述在字与字向量对应表中查找用户在当前统计单元中已输入字的字向量的步骤包括:

在字与字向量对应表中查找用户最近输入的n个字的字向量,其中n为当前统计单元中用户已输入的字数与预定个数N中的较小者,n和N为正整数。

可选地,所述根据所述已输入字的字向量预测用户待输入字的字向量的步骤包括:

对所述已输入字的字向量进行预定线性变换或非线性变换,得到的结果作为预测的用户待输入字的字向量。

可选地,所述根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字的步骤包括:

根据预测的用户待输入字的字向量,确定该字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度;

根据所述相似度预测用户待输入字。

可选地,所述根据所述相似度预测用户待输入字的步骤包括:

将相似度高于预定阈值的字向量所对应的字确定为预测的用户待输入字;和/或

将相似度最高的指定数量个字向量所对应的字确定为预测的用户待输入字。

可选地,所述方法还包括:

响应于用户输入的筛选条件,按照所述筛选条件调整展示所述预测的 用户待输入字的排序方式;和/或

响应于用户输入的筛选条件,从展示的所述预测的用户待输入字中筛选出与所述筛选条件匹配的字继续展示。

可选地,所述字与字向量对应表是通过以下方式训练得到:

重复下列过程:

选取由多个连续的字组成的样本;

在字与字向量对应表中查找所述样本除最后一个字外的所有其它字的字向量,对于字与字向量对应表中未保存的字,则为其随机分配对应的字向量;

对所述样本中除最后一个字外的所有其它字的字向量进行预定线性变换或非线性变换,得到所述最后一个字的字向量;

将所述最后一个字的字向量输入语音训练模型,判断输出的结果是否与所述最后一个字相符,其中语音训练模型是预定义的用于根据输入的字向量得出该字向量对应的字的机器学习模型;

若不相符,则调整所述除最后一个字外的所有其它字的字向量,直到输出结果与所述最后一个字相符为止;

利用调整后的除最后一个字外的所有其它字的字向量更新所述字与字向量对应表中所述除最后一个字外的所有其它字的字向量。

根据本发明另一方面的一个实施例,提供了一种预测用户待输入字的装置,包括:

已输入字的字向量查找单元,用于在字与字向量对应表中查找用户在当前统计单元中已输入字的字向量,所述统计单元是用户输入的字中在预定标点符号之间的语义单位;

待输入字的字向量预测单元,用于根据所述已输入字的字向量预测用户待输入字的字向量;

待输入字预测单元,用于根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字;

展示单元,用于展示所述预测的用户待输入字。

可选地,所述已输入字的字向量查找单元用于:

在字与字向量对应表中查找用户最近输入的n个字的字向量,其中n为当前统计单元中用户已输入的字数与预定个数N中的较小者,n和N为正整数。

可选地,所述待输入字的字向量预测单元用于:

对所述已输入字的字向量进行预定线性变换或非线性变换,得到的结果作为预测的用户待输入字的字向量。

可选地,所述待输入字预测单元包括:

相似度确定子单元,用于根据预测的用户待输入字的字向量,确定该字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度;

待输入字预测子单元,用于根据所述相似度预测用户待输入字。

可选地,所述待输入字预测子单元用于:

将相似度高于预定阈值的字向量所对应的字确定为预测的用户待输入字;和/或

将相似度最高的指定数量个字向量所对应的字确定为预测的用户待输入字。

可选地,所述装置还包括:

展示调整单元,用于响应于用户输入的筛选条件,按照所述筛选条件调整展示所述预测的用户待输入字的排序方式;和/或

响应于用户输入的筛选条件,从展示的所述预测的用户待输入字中筛选出与所述筛选条件匹配的字继续展示。

可选地,所述字与字向量对应表是通过以下方式训练得到:

重复下列过程:

选取由多个连续的字组成的样本;

在字与字向量对应表中查找所述样本除最后一个字外的所有其它字的字向量,对于字与字向量对应表中未保存的字,则为其随机分配对应的字向量;

对所述样本中除最后一个字外的所有其它字的字向量进行预定线性变换或非线性变换,得到所述最后一个字的字向量;

将所述最后一个字的字向量输入语音训练模型,判断输出的结果是否与所述最后一个字相符,其中语音训练模型是预定义的用于根据输入的字向量得出该字向量对应的字的机器学习模型;

若不相符,则调整所述除最后一个字外的所有其它字的字向量,直到输出结果与所述最后一个字相符为止;

利用调整后的除最后一个字外的所有其它字的字向量更新所述字与字向量对应表中所述除最后一个字外的所有其它字的字向量。

本申请实施例根据用户已输入字的字向量预测用户待输入字的字向量,并根据用户待输入字的字向量查找训练得到的字与字向量对应表,得到预测的用户待输入字,并展示预测的用户待输入字,使得用户可从展示的用户待输入字中直接选择实际要输入字。实现了结合上下文语境预测用户待输入字,提高了所预测的用户待输入字的被命中率,从而有效提升了输入速度。

本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本发明并不仅限于这些实施例。而是,本发明的范围是广泛的,且意在仅通过后附的权利要求限定本发明的范围。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是根据本发明一个实施例的训练得到字与字向量对应表的方法的流程图。

图2是根据本发明一个实施例的预测用户待输入字的方法的流程图。

图3-1是根据本发明一个实施例所预测的用户待输入字示意图。

图3-2是根据本发明另一个实施例所预测的用户待输入字示意图。

图3-3是根据本发明一个实施例的对图3-1调整排序后展示所预测的用户待输入字示意图。

图4是根据本发明一个实施例的预测用户待输入字的装置结构示意图。

图5是根据本发明一个实施例的待输入字预测单元结构示意图。

图6是根据本发明另一个实施例的预测用户待输入字的装置结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。

需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。

后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体 实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

本申请实施例提供的预测用户待输入字的方法可与任意输入法结合。基于用户已输入字的字向量预测用户待输入字的字向量,并根据预测的待输入字的字向量查找训练得到的字与字向量对应表,得到预测的用户待输入字,将预测的用户待输入字展示给用户。实现了结合上下文的语境预测用户待输入字,可有效提高所预测的用户待输入字的命中率,从而提升输入速度。

其中,所述字向量是固定长度的向量,该长度可任意设定。本实施例中将字映射为字向量,用于预测用户待输入字过程中作为进行量化计算的基础。

所述字与字向量对应表是基于大量的规范文本训练得到的用于保存字与字向量对应关系的集合。也就是执行本申请的预测用户待输入字的方法需训练得到该字与字向量对应表。训练该字与字向量对应表的过程是在执行该预测用户待输入字的方法前完成。在介绍本申请的预测用户待输入字的方法前,首先介绍下训练得到字与字向量对应表的过程。

如图1中所示,为训练得到字与字向量对应表的方法的流程图,该方法包括如下步骤:

S10、选取由多个连续的字组成的样本。

需要说明的是,所述连续的字,即,所选取的多个字是在一个统计单元中。所述统计单元是指在预定标点符号之间的语义单位。所述预定标点符号包括:逗号、句号、问号、分号、感叹号、省略号、顿号、冒号。

样本的源例如网页上的大量文章、评论等。这些文章、评论中每两个相邻的预定标点符号之间都形成一个统计单元。在一个实施例中,可以把这样一个统计单元作为一个样本。

S11、在字与字向量对应表中查找训练字的字向量,对于字与字向量对应表中未保存的字,则为其随机分配对应的字向量。

本实施例所述训练字为样本中除最后一个字外的所有其它字。对应的将样本中最后一个字称为验证字。

字向量是用于表征字的向量,例如由若干0~1之间的数值组成。每个字都唯一对应于一个字向量。每个字向量也唯一对应于一个字。

在训练的初始阶段,字与字向量对应表为空,即,该字与字向量对应表中未保存训练字以及对应的字向量,则可为训练字随机分配对应的字向量。例如,可为每个训练字的字向量中的每个维度从0~1中随机选择一个值。

本申请实施例对字向量的维度不做具体限制,字向量的维度多,即表示字向量的长度长。在训练时,字向量的长度越长,则训练得到的字与字 向量的对应关系越准确。

例如,一个样本中包括“人民日报”四个字,则其中的训练字包括:“人民日”,验证字为“报”。通过查找字与字向量对应表得到的训练字的字向量分别为:

“人”的字向量为[a1、a2、a3、…am];

“民”的字向量为[b1、b2、b3、…bm];

“日”的字向量为[c1、c2、c3、…cm]。

S12、对训练字的字向量进行预定线性变换或非线性变换,得到验证字的字向量。

本实施例可根据训练字的字向量预测验证字的字向量,具体的,可对训练字的字向量进行预定线性变换或非线性变换得到预测值的字向量。

例如,预测的验证字“报”的字向量为[y1、y2、n3、…ym],其中

y1=a1+b1+c1+…n1,同理,

y2=a2+b2+c2+…n2,…,ym=am+bm+cm+…nm

或者,

<mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>=</mo> <mroot> <mrow> <msubsup> <mi>a</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>b</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>c</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>+</mo> <msubsup> <mi>n</mi> <mn>1</mn> <mn>2</mn> </msubsup> </mrow> <mn>3</mn> </mroot> <mo>,</mo> </mrow>同理,

<mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>=</mo> <mroot> <mrow> <msubsup> <mi>a</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>b</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>c</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>+</mo> <msubsup> <mi>n</mi> <mn>2</mn> <mn>2</mn> </msubsup> </mrow> <mn>3</mn> </mroot> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>y</mi> <mi>m</mi> </msub> <mo>=</mo> <mroot> <mrow> <msubsup> <mi>a</mi> <mi>m</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>b</mi> <mi>m</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>c</mi> <mi>m</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>+</mo> <msubsup> <mi>n</mi> <mi>m</mi> <mn>2</mn> </msubsup> </mrow> <mn>3</mn> </mroot> </mrow>

在根据训练字的字向量预测验证字的字向量时,针对训练字的字向量的每个维度采用的算法是相同的,也就是若采用线性变换方法,则同时均采用该线性变换方法。若采用非线性变换方法,则同时均采用非线性变换方法。

S13、将预测的所述验证字的字向量输入语音训练模型,判断输出的结果是否与样本中的验证字相符。

语音训练模型是预定义的用于根据输入的字向量得出该字向量对应的字的机器学习模型。该语音训练模型的作用是实现依据输入的字向量计算确定与该字向量对应的字。本申请实施例对所应用的语音训练模型不做具体限制。该语音训练模型可以采用深度学习模型,例如,word2vec或RNN(Recurrent neural Network,多层反馈)等。

在将预测的验证字的字向量输入语音训练模型后,判断输出的结果是 否为验证字,例如,将预测的验证字的字向量[y1、y2、n3、…ym]输入语音训练模型中,判断输出的字是否为“报”字。

若输出的结果与样本中的验证字相符,则结束操作,否则进入步骤S14。

S14、调整所述训练字的字向量,直到输出结果与所述验证字相符为止。

具体的,若输出的结果与样本中的验证字不相符,则调整预测的验证字的字向量,直到语音训练模型根据该调整后的验证字的字向量输出正确的验证字为止。根据调整后的验证字的字向量相应的调整训练字的字向量。具体的调整幅度与所采用的预定线性变换或非线性变换方法相关。

S15、利用调整后的训练字的字向量更新所述字与字向量对应表中所述训练字的字向量。

也就是,将调整后的训练字的字向量与训练字的对应关系存放于字与字向量对应表中,以更新该字与字向量对应表中该训练字的字向量与训练字的对应关系。该更新包括:在字与字向量对应表中未保存该训练字的字向量与训练字的对应关系情况下,将调整后的训练字的字向量与训练字的对应关系加入字与字向量对应表中;在字与字向量对应表中保存有该训练字的字向量与训练字的对应关系情况下,将调整后的训练字的字向量与训练字的对应关系替换字与字向量对应表中已有的训练字的字向量与训练字的对应关系。

可以理解的是,上述流程为针对一个样本的处理过程,实际训练过程需要利用大量的样本重复执行上述流程,样本数量越多,则训练得到的字与字向量对应表中字与字向量对应关系越准确。本申请以下实施例中涉及的字与字向量对应表均为采用上述方法训练得到的字与字向量对应表。

下面结合附图对本发明的预测用户待输入字的方法作进一步详细描述。

图2是根据本发明一个实施例的预测用户待输入字的方法的流程图,该方法可与任意输入法结合,用于输入过程中结合已输入字预测用户待输入字。该方法包括如下步骤:

S20、在字与字向量对应表中查找用户在当前统计单元中已输入字的 字向量,所述统计单元是用户输入的字中在预定标点符号之间的语义单位;

S21、根据所述已输入字的字向量预测用户待输入字的字向量;

S22、根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字;

S23、展示所述预测的用户待输入字。

下面对上述各步骤做进一步详细介绍。

步骤S20中所述统计单元是用户输入的字中在预定标点符号之间的语义单位。所述预定标点符号的定义同上面所述。也就是,本申请实施例会记录用户输入操作所在的统计单元中用户已输入字。其中,记录的用户已输入字的个数可设定不超过预定个数N(N为正整数)。则需要记录的用户已输入字的个数n(n为正整数)为:当前统计单元中用户最近输入的字数与预定个数N中的较小者。

假如,N为5,则在记录当前统计单元中用户已输入字时,在用户输入前5个字时,每输入一个字都对其进行记录,当输入第6个字时,则仅记录最近输入的前5个字,也就是将记录的当前统计单元中的第一个字删除。若当前统计单元输入完成,例如,用户输入了一个逗号,则开始下一统计单元,从下一统计单元的第一个字开始记录,前一个统计单元中记录的字删除。

通过查找字与字向量对应表获取所记录的当前统计单元中用户已输入字的字向量。

步骤S21根据所述已输入字的字向量预测用户待输入字的字向量包括:对所述已输入字的字向量进行预定线性变换或非线性变换,得到的结果作为预测的用户待输入字的字向量。

需要说明的是,此处采用的变换方法(预定线性变换或非线性变换)与训练字与字向量对应表时采用的变换方法一致。

步骤S22所述的根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字的方法包括:根据预测的用户待输入字的字向量,确定该字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度,再根据所述相似度预测用户待输入字。

本申请实施例对计算字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度的方法不做具体限制,其可采用已有的任一种计算两个向量之间相似度的方法。

其中,相似度高表示命中率越高,即用户输入该字的几率越高。则根据所述相似度预测用户待输入字的方法可以为:将相似度高于预定阈值的字向量所对应的字确定为预测的用户待输入字;和/或将相似度最高的指定数量个字向量所对应的字确定为预测的用户待输入字。也就是,可将相似度高于所述预定阈值的字全部展示给用户;或从相似度最高的指定数量个字向量对应的字展示给用户;或将相似度高于预定阈值的指定数量个字向量对应的字展示给用户。

步骤S23中展示所述预测的用户待输入字时,可按照相似度由高到低的顺序排序该预测的用户待输入字。

本实施例实现了结合上下文语境预测用户待输入字,以图3-1以及图3-2中所示为例,当用户在一个统计单元中已输入字包括“我看到了花的”时,则通过本实施例的方法预测的用户待输入字包括:“美”、“灿”、“海”、“绚”、“凋”等;当用户在一个统计单元中已输入字包括“我闻到了花的”时,通过本实施例的方法预测的用户待输入字包括:“香”、“淡”、“柔”、“臭”、“美”等。可见,所预测的用户待输入字与上下文的语境是相关的。在展示预测的用户待输入字时由于不可能将所有预测的用户待输入字一次性展示,因此通过图3-1及图3-2中的向左或向后的箭头翻页或左右移动来展示其他预测的用户待输入字。

若展示的第一个用户待输入字为用户实际要输入的字,则用户无需输入任何字符就可直接选择该字。若展示的第一个用户待输入字非用户实际要输入的字,则可结合用户输入的筛选条件,调整展示该预测的用户待输入字的方式。所述筛选条件即为用户输入的实际待输入字的相关字符,包括:实际待输入字的部分拼音、实际待输入字的笔画或实际待输入字的片假名等等。其中,结合用户输入的筛选条件,调整展示该预测的用户待输入字的方式包括:

响应于用户输入的筛选条件,按照所述筛选条件调整展示所述预测的 用户待输入字的排序方式;和/或

响应于用户输入的筛选条件,从展示的所述预测的用户待输入字中筛选出与所述筛选条件匹配的字继续展示。

以所述筛选条件为实际待输入字的拼音首字母为例,假如,初始展示预测的用户待输入字的方式如图3-1中所示,当用户输入拼音“c”时,则调整后的待输入字的展示方式如图3-3中所示。由于在展示的用户待输入字中“灿”字的拼音首字母为“c”,其他用户待输入字均非“c”,则将该“灿”字排序提前,也就是将与用户输入的筛选条件相符的用户待输入字排序提前。或者直接将与用户输入的筛选条件不符的用户待输入字隐藏。这样若用户实际待输入字为“灿”字,则可在输入该拼音首字母“c”后,即可直接选择该字,而无需输入该字的全部拼音,提升了输入速度。

由上面的描述可以看出,本申请实施例根据用户已输入字的字向量预测用户待输入字的字向量,并根据用户待输入字的字向量查找训练得到的字与字向量对应表,得到预测的用户待输入字,并展示预测的用户待输入字,使得用户可从展示的用户待输入字中直接选择实际要输入字。实现了结合上下文语境预测用户待输入字,提高了所预测的用户待输入字的被命中率,从而有效提升了输入速度。

基于上述方法同样的思路,本申请实施例还提供一种预测用户待输入字的装置,该装置结构示意图如图4中所示,该装置可设置于已有的任一种输入法系统中,用于输入过程中结合已输入字预测用户待输入字。该装置主要包括:已输入字的字向量查找单元40、待输入字的字向量预测单元41、待输入字预测单元42及展示单元43。

其中,所述已输入字的字向量查找单元40,主要用于在字与字向量对应表中查找用户在当前统计单元中已输入字的字向量;

待输入字的字向量预测单元41,主要用于根据所述已输入字的字向量预测用户待输入字的字向量;

待输入字预测单元42,主要用于根据预测的用户待输入字的字向量查找所述字与字向量对应表,得到预测的用户待输入字;

展示单元43,主要用于展示所述预测的用户待输入字。

下面对上述各单元做进一步详细介绍。

其中,本实施例中所述的字与字向量对应关系表同样采用上面实施例中所述的训练方法得到,此处不再赘述。

所述统计单元是用户输入的字中在预定标点符号之间的语义单位。所述预定标点符号的定义同上面所述。也就是,本申请实施例已输入字的字向量查找单元40会记录用户输入操作所在的统计单元中用户已输入字。其中,记录的用户已输入字的个数可设定不超过预定个数N(N为正整数)。则需要记录的用户已输入字的个数n(n为正整数)为:当前统计单元中用户最近输入的字数与预定个数N中的较小者。

假如,N为5,则在记录当前统计单元中用户已输入字时,在用户输入前5个字时,每输入一个字都对其进行记录,当输入第6个字时,则仅记录最近输入的前5个字,也就是将记录的当前统计单元中的第一个字删除。若当前统计单元输入完成,例如,用户输入了一个逗号,则开始下一统计单元,从下一统计单元的第一个字开始记录,前一个统计单元中记录的字删除。

已输入字的字向量查找单元40通过查找字与字向量对应表获取所记录的当前统计单元中用户已输入字的字向量。

所述待输入字的字向量预测单元41根据所述已输入字的字向量预测用户待输入字的字向量包括:对所述已输入字的字向量进行预定线性变换或非线性变换,得到的结果作为预测的用户待输入字的字向量。

需要说明的是,此处采用的变换方法(预定线性变换或非线性变换)与训练字与字向量对应表时采用的变换方法一致。

如图5中所示,所述待输入字预测单元42可包括:

相似度确定子单元421,用于根据预测的用户待输入字的字向量,确定该字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度。本申请实施例对相似度确定子单元421计算字与字向量对应表中每个字的字向量与该预测的用户待输入字的字向量的相似度的方法不做具体限制,其可采用已有的任一种计算两个向量之间相似度的方法。

待输入字预测子单元422,用于根据所述相似度预测用户待输入字。

其中,相似度高表示命中率越高,即用户输入该字的几率越高。则待输入字预测子单元422根据所述相似度预测用户待输入字的方法可以为:将相似度高于预定阈值的字向量所对应的字确定为预测的用户待输入字;和/或将相似度最高的指定数量个字向量所对应的字确定为预测的用户待输入字。也就是,可将相似度高于所述预定阈值的字全部展示给用户;或从相似度最高的指定数量个字向量对应的字展示给用户;或将相似度高于预定阈值的指定数量个字向量对应的字展示给用户。

所述展示单元43展示所述预测的用户待输入字时,可按照相似度由高到低的顺序排序该预测的用户待输入字。

本实施例实现了结合上下文语境预测用户待输入字,以图3-1以及图3-2中所示为例,当用户在一个统计单元中已输入字包括“我看到了花的”时,则通过本实施例的方法预测的用户待输入字包括:“美”、“灿”、“海”、“绚”、“凋”等;当用户在一个统计单元中已输入字包括“我闻到了花的”时,通过本实施例的方法预测的用户待输入字包括:“香”、“淡”、“柔”、“臭”、“美”等。可见,所预测的用户待输入字与上下文的语境是相关的。

本实施例中若展示的第一个用户待输入字为用户实际要输入的字,则用户无需输入任何字符就可直接选择该字。若展示的第一个用户待输入字非用户实际要输入的字,则可结合用户输入的筛选条件,调整展示该预测的用户待输入字的方式。所述筛选条件即为用户输入的实际待输入字的相关字符,包括:实际待输入字的部分拼音、实际待输入字的笔画或实际待输入字的片假名等等。

其中,如图6中所示,一种实施例所述装置还可包括:展示调整单元44,用于结合用户输入的筛选条件,调整展示该预测的用户待输入字的方式,具体的:

响应于用户输入的筛选条件,按照所述筛选条件调整展示所述预测的用户待输入字的排序方式;和/或

响应于用户输入的筛选条件,从展示的所述预测的用户待输入字中筛选出与所述筛选条件匹配的字继续展示。

以所述筛选条件为实际待输入字的拼音首字母为例,假如,初始展示预测的用户待输入字的方式如图3-1中所示,当用户输入拼音“c”时,则调整后的待输入字的展示方式如图3-3中所示。由于在展示的用户待输入字中“灿”字的拼音首字母为“c”,其他用户待输入字均非“c”,则将该“灿”字排序提前,也就是将与用户输入的筛选条件相符的用户待输入字排序提前。或者直接将与用户输入的筛选条件不符的用户待输入字隐藏。这样若用户实际待输入字为“灿”字,则可在输入该拼音首字母“c”后,即可直接选择该字,而无需输入该字的全部拼音,提升了输入速度。

由上面的描述可以看出,本申请实施例根据用户已输入字的字向量预测用户待输入字的字向量,并根据用户待输入字的字向量查找训练得到的字与字向量对应表,得到预测的用户待输入字,并展示预测的用户待输入字,使得用户可从展示的用户待输入字中直接选择实际要输入字。实现了结合上下文语境预测用户待输入字,提高了所预测的用户待输入字的被命中率,从而有效提升了输入速度。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本 发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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