输入法中的笔势识别方法、相关装置和介质与流程
未命名
08-26
阅读:120
评论:0
1.本公开涉及数据处理领域,特别是涉及一种输入法中的笔势识别方法、相关装置和介质。
背景技术:
2.在利用输入法输入文本时,经常会发生对象发现之前输入的文本有错误、或需要对之前输入的文本进行操作(如选择后粘贴)的情况。对象发现上屏区输入的文本有错误或需要对文本进行操作后,对象在上屏区作出插入、删除、选择等笔势,以进行插入、删除等。
3.相关技术中,识别对象的插入、删除等笔势,一般通过分类模型。在输入法设计阶段需要确定每种笔势的准确画法,并产生大量样本笔势,输入分类模型进行训练。该方法只能按照预先定义的标准笔势分类,灵活性差。由于不同对象表示不同笔势时习惯不同,导致分类准确性差。分类模型运行和存储占用大量计算和存储资源。
技术实现要素:
4.本公开实施例提供了一种输入法中的笔势识别方法、相关装置和介质,它能够提高笔势识别的灵活性、准确性,减少对资源的占用。
5.根据本公开的一方面,提供了一种输入法中的笔势识别方法,包括:在输入法界面中显示第一区域,所述第一区域包含利用所述输入法输入的文本;基于目标触体在所述第一区域的滑动,生成目标轨迹;在所述目标轨迹上,获取多个轨迹点的坐标;获取多个所述轨迹点的坐标中相邻轨迹点之间的坐标增量;基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串;基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势。
6.根据本公开的一方面,提供了一种输入法中的笔势识别装置,包括:第一显示单元,用于在输入法界面中显示第一区域,所述第一区域包含利用所述输入法输入的文本;第一生成单元,用于基于目标触体在所述第一区域的滑动,生成目标轨迹;第一获取单元,用于在所述目标轨迹上,获取多个轨迹点的坐标;第二获取单元,用于获取多个所述轨迹点中的坐标相邻轨迹点之间的坐标增量;第三获取单元,用于基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串;第一识别单元,用于基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势。可选地,所述第一获取单元用于:在所述目标轨迹上,获取多个轨迹点的第一坐标和第二坐标;所述第二获取单元用于:获取多个所述轨迹点中相邻轨迹点之间的所述第一坐标的第一坐标增量、和所述第二坐标的第二坐标增量;
所述第三获取单元用于:基于各个所述相邻轨迹点之间的所述第一坐标增量,获取所述第一坐标的第一目标增量趋势符串,并基于各个所述相邻轨迹点之间的所述第二坐标增量,获取所述第二坐标的第二目标增量趋势符串;所述第一识别单元用于:如果所述第一目标增量趋势符串和所述第二目标增量趋势符串中的至少一个中出现了至少二次目标增量趋势符的符号跳转,将所述目标轨迹对应的笔势识别为删除笔势;如果所述第一目标增量趋势符串和所述第二目标增量趋势符串中都没有出现至少二次目标增量趋势符的符号跳转,在所述第二目标增量趋势符串中第一字符和第二字符之间的跳转次数为0、且在所述目标轨迹上轨迹点之间的第一坐标差的最大值小于第三阈值时,将所述目标轨迹对应的笔势识别为插入笔势,否则将所述目标轨迹对应的笔势识别为选择笔势。可选地,所述第一识别单元还用于:获取在所述输入法界面中输入所述文本的目标对象的输入历史记录;获取所述输入历史记录中输入的多个历史插入笔势;获取所述历史插入笔势对应的笔势轨迹上轨迹点之间的第一坐标差的最大值;对多个所述历史插入笔势对应的所述最大值求第二平均值和方差;基于所述第二平均值、所述方差、以及预定系数,确定所述第三阈值。可选地,所述第三获取单元具体用于:如果所述相邻轨迹点之间的坐标增量为正,且所述坐标增量的绝对值大于第一阈值,将所述相邻轨迹点的增量趋势符的符号设置为正;如果所述相邻轨迹点之间的坐标增量为负,且所述坐标增量的绝对值大于第一阈值,将所述相邻轨迹点的增量趋势符的符号设置为负;否则,将所述相邻轨迹点的增量趋势符的符号设置为0;将各个所述相邻轨迹点的所述增量趋势符,按照所述相邻轨迹点在所述目标轨迹上的顺序连接,生成所述原始增量趋势符串;从所述原始增量趋势符串中,获取所述目标增量趋势符串。
7.可选地,所述第三获取单元还具体用于:获取所述相邻轨迹点中每个所述轨迹点在所述目标轨迹上的曲率;确定所述相邻轨迹点中每个所述轨迹点的所述曲率的第三平均值;基于所述第三平均值,确定所述轨迹点对应的所述第一阈值。
8.可选地,所述第三获取单元具体用于:针对所述原始增量趋势符串中连续相同的增量趋势符,如果所述连续相同的增量趋势符的数目大于第二阈值,将所述连续相同的增量趋势符压缩为一个所述增量趋势符;如果所述连续相同的增量趋势符的数目不大于第二阈值,将所述连续相同的增量趋势符删除,得到所述目标增量趋势符串。
9.可选地,所述第三获取单元还具体用于:从所述连续相同的增量趋势符中,获取中点增量趋势符;获取所述中点增量趋势符对应的相邻轨迹点在所述目标轨迹上的曲率的第四平均值;基于所述第四平均值,确定所述连续相同的增量趋势符对应的所述第二阈值。
10.可选地,所述第三获取单元还具体用于:
将所述原始增量趋势符串等分为多个子串;确定每个所述子串中最多的所述增量趋势符,作为所述子串对应的所述目标增量趋势符;将各个所述子串对应的所述目标增量趋势符,按照所述子串的顺序连接,得到所述目标增量趋势符串。可选地,所述第一生成单元具体用于:将所述目标触体在所述第一区域的每一次连续滑动,识别为候选轨迹;获取所述候选轨迹的持续长度和持续时间;基于所述持续长度和持续时间,从多个所述候选轨迹中筛选出筛选后轨迹;在所述筛选后轨迹中,获取所述目标轨迹。
11.可选地,所述第一生成单元还具体用于:基于所述持续长度,确定所述候选轨迹的第一分数;基于所述持续时间,确定所述候选轨迹的第二分数;基于所述第一分数和所述第二分数,确定所述候选轨迹的总分数;基于所述总分数,从多个所述候选轨迹中筛选出所述筛选后轨迹。
12.可选地,所述第一生成单元还具体用于:在所述筛选后轨迹上,从所述筛选后轨迹的起始点开始,以第一时间间隔顺序选取多个锚点;确定所述锚点到所述第一区域的各文本像素点的最小距离;基于多个所述锚点的所述最小距离,将所述筛选后轨迹识别为所述目标轨迹。
13.可选地,所述第一生成单元还具体用于:确定多个所述锚点的所述最小距离的第一平均值;如果所述第一平均值小于预定阈值,将所述筛选后轨迹识别为所述目标轨迹。
14.可选地,所述第一获取单元具体用于:将所述目标轨迹的起始时间和结束时间之间的时间长度等分成多个时间区间;在所述目标轨迹上,获取与各个所述时间区间的中点对应的所述轨迹点的坐标。可选地,所述第一获取单元具体用于:将所述目标轨迹的长度等分为多个轨迹区间;获取多个所述轨迹区间的中点在所述目标轨迹上的曲率;将所述曲率符合第一条件的所述中点,作为所述轨迹点;获取多个所述轨迹点的坐标。
15.可选地,所述第一获取单元具体用于:将所述目标轨迹的长度等分为多个轨迹区间;获取多个所述轨迹区间的中点的触压;将所述触压符合第二条件的所述中点,作为所述轨迹点;获取多个所述轨迹点的坐标。可选地,在输入法界面中显示第一区域之前,所述笔势识别装置还包括:第二显示单元,用于在所述输入法界面上显示笔势启用控件;第一接收单元,用于接收对所述笔势启用控件的触发。
16.可选地,在基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势之后,所述笔势识别装置还包括:第三显示单元,用于如果识别出所述目标轨迹对应的笔势为插入笔势,在所述输入法界面中显示第二区域,用于接收手写输入;第一插入单元,用于在所述第二区域接收所述手写输入,并将所述手写输入识别为待插入文本,插入到所述插入笔势的位置。
17.可选地,在基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势之后,所述笔势识别装置还包括:第四获取单元,用于如果识别出所述目标轨迹对应的笔势为删除笔势,获取所述第一区域中所述删除笔势覆盖的文本,作为待删除文本;第四显示单元,用于在所述输入法界面的第一校正框中,显示所述待删除文本;第二接收单元,用于接收目标对象对所述第一校正框中的所述待删除文本的校正;第一删除单元,用于从所述第一区域中的所述文本中,删除校正后的所述待删除文本。
18.可选地,在基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势之后,所述笔势识别装置还包括:第五获取单元,用于如果识别出所述目标轨迹对应的笔势为选择笔势,获取所述第一区域中所述选择笔势覆盖的文本,作为选择目标文本;第五显示单元,用于在所述输入法界面的第二校正框中,显示所述选择目标文本;第三接收单元,用于接收目标对象对所述第二校正框中的所述选择目标文本的校正;第一激活单元,用于激活对校正后的所述选择目标文本的操作选项列表;第一操作单元,用于响应于对所述操作选项列表中目标操作选项的选择,对所述选择目标文本执行所述目标操作选项对应的操作。
19.根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的输入法中的笔势识别方法。
20.根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的输入法中的笔势识别方法。
21.根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的输入法中的笔势识别方法。
22.本公开实施例中,获取对象在第一区域滑动生成的目标轨迹。在识别该目标轨迹代表的笔势时,在目标轨迹上获取多个轨迹点的坐标,沿着该目标轨迹确定轨迹点的坐标增量,并将这些坐标增量用目标增量趋势符表示,连成目标增量趋势符串。由于插入、删除、选择等不同笔势的目标轨迹上轨迹点的坐标增量的变化是有各自的规律的,这些规律体现在目标增量趋势符串中。这样,就可以基于目标增量趋势符串,识别目标轨迹对应的笔势。该方案无需事先限定笔势的标准画法,提高了笔势识别的灵活性。该方案利用不同笔势的
目标轨迹上轨迹点的坐标增量的变化规律来识别笔势,对于对象普通适用,减少了不同对象作出同一笔势的习惯不同带来的影响,提高了笔势识别的准确性。该方案无需训练模型,减少了对计算资源和存储资源的占用。
23.本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
24.附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
25.图1是本公开实施例的输入法中的笔势识别方法的体系架构图;图2a-e是本公开的实施例的输入法中的笔势识别方法应用于输入法笔势识别场景下的界面示意图;图3是根据本公开的一个实施例的输入法中的笔势识别方法的流程图;图4a-b是图3中步骤310关于启动笔势识别服务的界面示意图;图5a-c是图3中步骤310关于第一区域的几种显示形式示意图;图6a是本公开实施例的对应于选择笔势的几种目标轨迹示意图;图6b是本公开实施例的对应于删除笔势的几种目标轨迹示意图;图6c是本公开实施例的对应于插入笔势的几种目标轨迹示意图;图7是图3中步骤320关于生成目标轨迹的流程图;图8是图3中步骤320关于生成目标轨迹的具体实现过程示意图;图9是图8中利用锚点到文本像素点的最小距离识别出目标轨迹的具体实现流程图;图10是从筛选后轨迹识别出目标轨迹的具体实现过程示意图;图11是图3中步骤330的获取轨迹点的坐标的第一种流程图;图12是图3中步骤330的获取轨迹点的坐标的第一种具体实现过程示意图;图13是图3中步骤330的获取轨迹点的坐标的第二种流程图;图14是图3中步骤330的获取轨迹点的坐标的第二种具体实现过程示意图;图15是图3中步骤330的获取轨迹点的坐标的第三种流程图;图16是图3中步骤330-360的联合分解流程图;图17是图16中步骤1630的获取目标增量趋势符串的具体实现流程图;图18是图17中步骤1710的设置第一阈值的具体实现流程图;图19是图17中步骤1730的从原始增量趋势符串得到目标增量趋势符串的第一种分解流程图;图20是图17中步骤1730的从原始增量趋势符串得到目标增量趋势符串的第一种具体实现过程示意图;图21是图19中步骤1910的设置第二阈值的具体实现流程图;图22是图17中步骤1730的从原始增量趋势符串得到目标增量趋势符串的第二种分解流程图;
图23是图17中步骤1730的从原始增量趋势符串得到目标增量趋势符串的第二种具体实现过程示意图;图24是图16中步骤1640的设置第三阈值的具体实现流程图;图25是本公开实施例识别出目标轨迹为删除笔势的具体实现过程示意图;图26是本公开实施例在目标轨迹对应的笔势为插入笔势时的流程图;图27a-c是本公开实施例在目标轨迹对应的笔势为插入笔势时的具体实现过程示意图;图28是本公开实施例在目标轨迹对应的笔势为删除笔势时的流程图;图29a-d是本公开实施例在目标轨迹对应的笔势为删除笔势时的具体实现过程示意图;图30是本公开实施例在目标轨迹对应的笔势为选择笔势时的流程图;图31a-d是本公开实施例在目标轨迹对应的笔势为选择笔势时的具体实现过程示意图;图32是根据本公开的实施例的输入法中的笔势识别装置的模块图;图33是根据本公开的实施例图3所示的输入法中的笔势识别方法的终端结构图;图34是根据本公开的实施例图3所示的输入法中的笔势识别方法的服务器结构图。
具体实施方式
26.为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
27.对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:输入法:是指为将各种符号输入计算机或其他设备(如手机)而采用的编码方法。
28.笔势:在手写输入文字的过程中,将一部分特定布局的输入笔划识别为命令而非文本。这些特定的输入笔划称为笔势。常见的笔势包括“选择”“删除”“插入”等。
29.输入法中的笔势识别:是指在利用输入法输入文本时,对对象在显示已输入文本的区域作出的输入笔划进行识别,识别出插入、删除、选择等笔势,以对已输入文本进行插入、删除等修改操作。
30.本公开实施例应用的系统体系构架及场景说明图1是根据本公开的实施例的输入法中的笔势识别方法所应用的系统构架图。它包括服务器110、互联网120、与对象终端130等。
31.服务器110是指能对对象终端130提供笔势识别服务的计算机系统。相对于对象终端130来说,服务器110在稳定性、安全性、性能等方面都要求更高。服务器110可以是网络平台中的一台高性能计算机、多台高性能计算机的集群、一台高性能计算机中划出的一部分(例如虚拟机)、多台高性能计算机中划出的一部分(例如虚拟机)的组合等。服务器110也可以以有线或无线的方式与互联网120进行通信,交换数据。
32.对象终端130是用来获取对象输入的滑动轨迹从而对滑动轨迹进行笔势识别的设
备。它包括触摸屏终端、桌面电脑、膝上型电脑、pda(个人数字助理)、手机、车载终端、家庭影院终端、专用终端等多种形式。另外,它可以是单台设备,也可以是多台设备组成的集合。例如,多台设备通过局域网连接,公用一台显示设备进行协同工作,共同构成一个终端。终端也可以以有线或无线的方式与互联网120进行通信,交换数据。
33.本公开实施例可以应用在任何使用手写输入的场景,特别是如图2a-e所示的输入法笔势识别场景等。
34.如图2a所示,对象终端130是电脑终端。当对象在对象终端130登录到会话应用平台中与其他对象进行会话时,电脑终端界面会显示会话双方的会话记录。对象正在利用输入法输入文本,且在输入框内已经输入了“听说,因为明天天气不错,我们小组要一起出去爬山?”的文本,但该文本还未发送出去。
35.如图2b所示,对象突然发现输错了,应是“听同事说”,因此,在“听”和“说”之间输入一个插入笔势,进行插入操作。
36.如图2c所示,当对象在对象终端130输入插入笔势之后,对象终端130将输入光标移动到“听”和“说”之间,且对象利用输入法在手写区域内输入“同事”两字,然后点击“确认”控件。
37.如图2d所示,当对象点击“确认”控件之后,对象终端130将“同事”两字插入至“听”和“说”之间,此时输入框内的文本为“听同事说,因为明天天气不错,我们小组要一起出去爬山?”,然后对象点击“发送”控件。
38.如图2e所示,当对象点击“发送”控件之后,对象终端130将“听同事说,因为明天天气不错,我们小组要一起出去爬山?”发送至会话对象。
39.针对笔势识别,相关技术通常使用分类模型进行笔势识别,存在如下几个缺点:1.灵活性差:相关技术需要教育对象按照系统预设的特定形态的笔势进行描划,否则无法正确识别出对象意图,人机交互不够自然。
40.2.准确性差:分类模型对笔势形态精度要求高,导致识别错误率高。不同对象由于个人习惯不同,在表达同一种意图时,笔势画法可能会有差异。使用分类模型进行分类,如果对象没有十分精准的画出预设的笔势形态,极有可能造成模型误判。
41.3.消耗资源大:分类模型识别的过程需要经过提取特征和模型计算等多个步骤,计算量偏大。同时,模型参数也需要一定的存储空间。在对象终端设备上这个问题显得尤为凸出。另外,在模型训练时也需要提前收集大量样本数据去训练模型。
42.本公开实施例的总体说明根据本公开的一个实施例,提供了一种输入法中的笔势识别方法。
43.输入法中的笔势识别方法常常用于如图2a-e的输入法笔势识别场景。相关技术的笔势识别存在准确率低、灵活性差和计算资源耗费大等问题,难以直接应用在输入法笔势识别场景上。本公开实施例的输入法笔势识别方法能够提高输入法中的笔势识别准确率和灵活性,且还能节省计算资源。
44.如图3所示,根据本公开一个实施例的输入法中的笔势识别方法可以包括:步骤310、在输入法界面中显示第一区域,第一区域包含利用输入法输入的文本;步骤320、基于目标触体在第一区域的滑动,生成目标轨迹;步骤330、在目标轨迹上,获取多个轨迹点的坐标;
步骤340、获取多个轨迹点的坐标中相邻轨迹点之间的坐标增量;步骤350、基于各个相邻轨迹点之间的坐标增量,获取目标增量趋势符串;步骤360、基于目标增量趋势符串,识别目标轨迹对应的笔势。
45.下面对上述步骤310-360进行总体描述。
46.该笔势识别方法可以由图1所示的对象终端130执行,也可以由图1所示的服务器110执行。
47.在步骤310中,在输入法界面中显示第一区域,第一区域包含利用输入法输入的文本。
48.输入法界面是指在启动输入法之后,对象终端130响应于输入法的启动所显示的界面。第一区域是指显示文本的区域。在启动输入法之后,可以直接启动笔势识别服务。考虑到对象启动输入法一般是为了利用输入法进行文本输入,不一定需要笔势识别服务,所以,在一实施例中,需要由对象选择是否启用笔势识别服务。
49.在该实施例具体实现时,在输入法界面中显示第一区域之前,本公开实施例的笔势识别方法还包括:在输入法界面上显示笔势启用控件;接收对笔势启用控件的触发。
50.参照图4a,在输入法启动之后,在输入法的输入界面上有一个“笔势启用”控件。对象在点击“笔势启用”控件之后,启用笔势识别服务。
51.除了基于笔势启用控件启动笔势识别服务,在另一实施例中,参照图4b,对象语音说出“启动笔势识别”,此时对象终端130识别对象语音然后启动笔势识别服务,并在界面上显示“将为您启动笔势识别,请稍等”的提示信息,以提醒对象启动进度。
52.在确定进入笔势识别服务之后,对象终端130对于对象输入的笔划可能识别为文本,也可能识别为笔势。
53.在输入法界面中包含第一区域,该第一区域包含利用输入法输入的文本。
54.下面结合图5a-图5c描述第一区域的几种显示形式:(1)如图5a所示,在会话应用平台的输入法界面上,输入的文本为“听说”,此时包含“听说”的第一区域具体为输入法界面上的手写区域,且在“听”和“说”之间有一个用斜线代表的插入笔势。
55.(2)如图5b所示,在会话应用平台的输入法界面上,输入的文本为“听说”,此时包含“听说”的第一区域具体为输入法界面上的上屏区域,且在“听”和“说”之间有一个用斜线代表的插入笔势。
56.(3)如图5c所示,在文字编辑应用平台的输入法界面上,输入的文本包括“今天天气很好”。此时包含“今天天气很好”的第一区域具体为输入法界面上的上屏区域,且在“天”和“天”之间有一个用斜线代表的插入笔势。
57.在步骤320中,基于目标触体在第一区域的滑动,生成目标轨迹。目标触体是指对对象终端所显示的第一区域进行滑动的物体,例如对象的手指,又例如对象所持的手写笔。目标触体在第一区域的滑动形成目标轨迹。例如参照图5a和图5b,在“听”和“说”之间的斜线轨迹为目标轨迹。又例如参照图5c,在“天”和“天”之间的斜线轨迹为目标轨迹。
58.在得到目标轨迹之后,在步骤330、在目标轨迹上,获取多个轨迹点的坐标;然后,
在步骤340获取多个轨迹点的坐标中相邻轨迹点之间的坐标增量;再然后,在步骤350基于各个相邻轨迹点之间的坐标增量,获取目标增量趋势符串;最后,在步骤360基于目标增量趋势符串,识别目标轨迹对应的笔势。如图6a所示,对象可能在对象终端130的第一区域上滑动出如图6a所示的目标轨迹,且图6a所示出的目标轨迹大概率会被识别为选择笔势。又如图6b所示,对象可能在对象终端130的第一区域上滑动出如图6b所示的目标轨迹,且图6b所示出的目标轨迹大概率会被识别为删除笔势。又如图6c所示,对象可能在对象终端130的第一区域上滑动出如图6c所示的目标轨迹,且图6c所示出的目标轨迹大概率会被识别为插入笔势。本实施例具备计算简单、准确率高、扩展性强、无需额外存储空间的特点。在图6a至图6c展示的全部不同笔划布局形成的笔势中,使用本公开实施例进行识别,准确率为100%。而其他笔势识别产品实测准确率大概为70.4%或74.1%等,远远低于本公开实施例所能达到的准确率。
59.通过上述步骤310-360,本公开实施例无需事先限定笔势的标准画法,提高了笔势识别的灵活性。该方案利用不同笔势的目标轨迹上轨迹点的坐标增量的变化规律来识别笔势,对于对象普通适用,减少了不同对象作出同一笔势的习惯不同带来的影响,提高了笔势识别的准确性。该方案无需训练模型,减少了对计算资源和存储资源的占用。
60.以上是对步骤310-360进行的总体描述。步骤310的实现过程在上述描述中已经体现得较为充分,下面将针对步骤320-360的具体实现过程展开详细描述。
61.步骤320的详细描述在步骤320中,基于目标触体在第一区域的滑动,生成目标轨迹。
62.参照图7,在一实施例中,步骤320包括:步骤710、将目标触体在第一区域的每一次连续滑动,识别为候选轨迹;步骤720、获取候选轨迹的持续长度和持续时间;步骤730、基于持续长度和持续时间,从多个候选轨迹中筛选出筛选后轨迹;步骤740、在筛选后轨迹中,获取目标轨迹。
63.下面对步骤710-740进行详细描述。
64.在步骤710,目标触体在第一区域可能有不止一次的连续滑动,有的可能是误触造成的连续滑动,所以不是所有连续滑动都会被确定为目标轨迹。为了减少对误触产生的滑动轨迹进行笔势识别,需要对每一次的连续滑动进行筛选过滤,因此步骤710先将每一次连续滑动识别为候选轨迹,以便进行下一步的筛选工作。例如,参照图8,在第一区域上包含的已输入文本为“听说”,且在该第一区域上,有三个候选轨迹,记作候选轨迹1、候选轨迹2、和候选轨迹3。
65.在确定候选轨迹之后,在步骤720中,获取候选轨迹的持续长度和持续时间。例如,继续参照图8,获取到候选轨迹1的持续长度为5厘米、和持续时间为1秒;获取到候选轨迹2的持续长度为2厘米、和持续时间为0.1秒;获取到候选轨迹3的持续长度为8厘米、和持续时间为2秒。
66.接着,在步骤730,基于持续长度和持续时间,从多个候选轨迹中筛选出筛选后轨迹。例如,若候选轨迹的持续长度小于长度阈值或持续时间小于时间阈值,则删除候选轨迹。假定持续长度为4厘米,且时间阈值为0.5秒。由于候选轨迹2的持续长度2厘米小于持续长度4厘米,且持续时间0.1秒小于时间阈值0.5秒,因此删除候选轨迹2。继续参照图8,进行
轨迹筛选之后,将候选轨迹1作为筛选后轨迹1,且将候选轨迹3作为筛选后轨迹2。
67.在步骤730得到筛选后轨迹之后,步骤740在筛选后轨迹中获取目标轨迹。
68.该实施例的好处是,考虑到不是所有的滑动都表示笔势,如果轨迹的持续时间太短,或持续长度太短,可能是无意中碰到的,该实施例基于持续长度和持续时间对候选轨迹进行筛选,可以把这种误触情况剔除,大大提高了笔势识别的灵活性,也节省了笔势识别的计算资源。
69.以上是对步骤710-740进行的总体描述,下面将针对步骤730-740的具体实现过程展开详细描述。
70.在一实施例中,步骤730包括:基于持续长度,确定候选轨迹的第一分数;基于持续时间,确定候选轨迹的第二分数;基于第一分数和第二分数,确定候选轨迹的总分数;基于总分数,从多个候选轨迹中筛选出筛选后轨迹。
71.具体地,基于持续长度,确定候选轨迹的第一分数,可以采取查找持续长度范围与第一分数对照表的方式,也可以采用公式法等。
72.(1)持续长度范围与第一分数对照表列出了持续长度范围与第一分数的对应关系。先根据持续长度得到持续长度范围,然后据此查找持续长度范围与第一分数对照表,可以得到第一分数。如下是一个持续长度范围与第一分数对照表的例子:表1例如,上例中的候选轨迹3的持续长度为8厘米,则持续长度范围为5-9厘米,查找表1,得到对应的第一分数为80。
73.上述查找持续长度范围与第一分数对照表的方式的优点是简便易行,处理开销小。
74.(2)在采用公式法时,可以设置第一分数与持续长度成正比,例如:f1=k1
·
g1公式1其中,f1表示第一分数,g1表示持续长度,k1是预设的常数,可以根据实际需要设置。例如,k1=10,将g1=8代入后,第一分数f1=80。
75.上述通过公式确定第一分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
76.基于持续时间,确定候选轨迹的第二分数,可以采取查找持续时间范围与第二分数对照表的方式,也可以采用公式法等。
77.(1)持续时间范围与第二分数对照表列出了持续时间范围与第二分数的对应关
系。先根据持续时间得到持续时间范围,然后据此查找持续时间范围与第二分数对照表,可以得到第二分数。如下是一个持续时间范围与第二分数对照表的例子:表2例如,上例中的候选轨迹3的持续时间为2秒,则持续长度范围为1-2秒,查找表2,得到对应的第二分数为60。
78.上述查找持续时间范围与第二分数对照表的方式的优点是简便易行,处理开销小。
79.(2)在采用公式法时,可以设置第二分数与持续时间成正比,例如:f2=k2
·
g2公式2其中,f2表示第二分数,g2表示持续时间,k2是预设的常数,可以根据实际需要设置。例如,k2=30,将g2=2代入后,第二分数f2=60。
80.上述通过公式确定第二分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
81.基于第一分数和第二分数,确定候选轨迹的总分数,可以采取计算第一分数和第二分数的平均数或加权平均数的方式。
82.计算第一分数和第二分数的平均数作为总分数时,举例来说,候选轨迹3的第一分数为80,第二分数为60,则总分数为(80+60)/2=70。使用平均数计算总分数的优点在于,可以平等地体现持续长度与持续时间对生成目标轨迹的影响。
83.计算第一分数和第二分数的加权平均数作为总分数时,举例来说,为持续长度和持续时间分别设置权重为0.6与0.4,候选轨迹3的第一分数为80,第二分数为60,则总分数为80
×
0.6+60
×
0.4=72。使用加权平均数计算总分数的优点在于,能够为持续长度与持续时间设置不同的权重,提高了生成目标轨迹的灵活性。
84.基于总分数,从多个候选轨迹中筛选出筛选后轨迹,可以是将总分数大于分数阈值的候选轨迹作为筛选后轨迹,或者是基于总分数对多个候选轨迹进行排序,选择排序前几个作为筛选后轨迹。
85.该实施例的好处是:通过分别计算持续长度的第一分数和持续时间的第二分数再从多个候选轨迹确定出筛选后轨迹的方式,可以提高生成目标轨迹的灵活性和正确性。
86.以上是对步骤730进行的详细描述,下面将针对步骤740的具体实现过程展开详细描述。
87.参照图9,在一实施例中,步骤740包括:步骤910、在筛选后轨迹上,从筛选后轨迹的起始点开始,以第一时间间隔顺序选取多个锚点;
步骤920、确定锚点到第一区域的各文本像素点的最小距离;步骤930、基于多个锚点的最小距离,将筛选后轨迹识别为目标轨迹。
88.下面对步骤910-930进行详细描述。
89.在步骤910,筛选后轨迹的起始点是指构成该筛选后轨迹的多个轨迹点中,起始时刻所对应的轨迹点。第一时间间隔是指事先设置的采集时间间隔。例如,参照图10,在第一区域上有筛选后轨迹1和筛选后轨迹2。以第一时间间隔对筛选后轨迹1顺序选取多个锚点之后,得到4个锚点,包括锚点h1、锚点h2、锚点h3、和锚点h4。以第一时间间隔对筛选后轨迹2顺序选取多个锚点之后,得到3个锚点,包括锚点g1、锚点g2、和锚点g3。
90.在步骤920,文本像素点是指第一区域所包含的文本的像素点。例如,参照图10,文本像素点包括“听”和“说”对应的像素点。锚点和各文本像素点之间的距离可通过计算余弦相似度或欧式距离得到,具体距离计算公式可根据实际需求设置,本实施例不作具体限定。例如,继续参照图10,锚点h1-h4到文本像素点的最小距离是{1.0厘米,0.2厘米,0.3厘米,1.3厘米},锚点g1-g3到文本像素点的最小距离是{1.0厘米,1.6厘米,2.2厘米}。
91.在步骤930,基于多个锚点的最小距离,将筛选后轨迹识别为目标轨迹。在一实施例中,步骤930包括:基于多个锚点的最小距离,对多个筛选后轨迹进行排序;将排序结果中的前几个筛选后轨迹识别为目标轨迹。
92.在另一实施例中,步骤930包括:确定多个锚点的最小距离的第一平均值;如果第一平均值小于预定阈值,将筛选后轨迹识别为目标轨迹。
93.例如,继续参照图10,基于锚点h1-h4到文本像素点的最小距离是{1.0厘米,0.2厘米,0.3厘米,1.3厘米}确定出第一平均值1为0.7厘米,基于锚点g1-g3到文本像素点的最小距离是{1.0厘米,1.6厘米,2.2厘米}确定出第一平均值2为1.6厘米。假定预定阈值为1.1厘米,由于第二平均值2的1.6厘米大于预定阈值,所以将筛选后轨迹1剔除,而由于第一平均值1的0.7厘米小于预定阈值,所以将筛选后轨迹2识别为目标轨迹。
94.该步骤910-930实施例的好处是:即使是持续长度和持续时间都满足条件的筛选后轨迹,也不一定是能够作为触发笔势识别的目标轨迹,该实施例利用锚点与各文本像素点的最小距离对筛选后轨迹进行再次筛选,更进一步提高了笔势识别的灵活性和准确率。
95.以上是对步骤320进行的详细描述。
96.步骤330的详细描述步骤330、在目标轨迹上,获取多个轨迹点的坐标。
97.针对步骤330的分解,本公开实施例给出了多种分解方式。每一种分解方式以不同的角度展开对步骤330的详细描述。先来描述第一种分解方式。
98.参见图11,在一实施例中,步骤330包括:步骤1110、将目标轨迹的起始时间和结束时间之间的时间长度等分成多个时间区间;步骤1120、在目标轨迹上,获取与各个时间区间的中点对应的轨迹点的坐标。
99.下面对步骤1110-1120进行详细描述。
100.在步骤1110,目标轨迹的起始时间是指目标触体在第一区域上开始滑动对应的时间,结束时间是指目标触体在第一区域上结束滑动对应的时间。例如,参照图12,第一区域
上有一个目标轨迹,该目标轨迹的起始时间为12时12分01秒,结束时间为12时12分03秒,则时间长度为2秒。
101.继续参照图12,将目标轨迹的时间长度等分成4个时间区间,得到时间区间1:0-0.5秒、时间区间2:0.5-1秒、时间区间3:1-1.5秒、时间区间4:1.5-2秒。注意,目标触体在第一区域上的滑动并不都是匀速的,所以虽然时间区域是等分的,但每个时间区域对应的目标轨迹的轨迹长度并不相同。
102.在步骤1120,每个时间区域的中点对应一个轨迹点,获取与各个时间区间的中点对应的轨迹点的坐标。例如,继续参照图12,获取到时间区间1的中点对应的轨迹点的坐标为(x1,y1),获取到时间区间2的中点对应的轨迹点的坐标为(x2,y2),获取到时间区间3的中点对应的轨迹点的坐标为(x3,y3),获取到时间区间4的中点对应的轨迹点的坐标为(x4,y4),则获取到的多个轨迹点的坐标为{(x1,y1),(x2,y2),(x3,y3),(x4,y4)}。
103.该实施例的好处是:利用等分的时间区间获取多个轨迹点的坐标,体现了目标触体的滑动时间对笔势识别的影响,提高了笔势识别的准确率。
104.以上是对第一种分解方式的详细描述,下面描述第二种分解方式。
105.参见图13,在一实施例中,步骤330包括:步骤1310、将目标轨迹的长度等分为多个轨迹区间;步骤1320、获取多个轨迹区间的中点在目标轨迹上的曲率;步骤1330、将曲率符合第一条件的中点,作为轨迹点;步骤1340、获取多个轨迹点的坐标。
106.下面对步骤1310-1340进行详细描述。
107.在步骤1310,目标轨迹的长度是指从目标触体在第一区域上开始滑动后、起始时间至结束时间之间产生的轨迹的长度。例如,参照图14,将目标轨迹的长度等分成4个轨迹区间,得到轨迹区间1:0-2厘米、轨迹区间2:2-4厘米、轨迹区间3:4-6厘米、轨迹区间4:6-8厘米。
108.在步骤1320,获取多个轨迹区间的中点在目标轨迹上的曲率,曲率是指针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。曲率在数学上表明曲线在某一点的弯曲程度的数值。
109.在步骤1330,将曲率符合第一条件的中点,作为轨迹点,可以是将曲率大于预定曲率阈值的中点作为轨迹点,也可以是基于曲率对多个中点进行排序,将排序靠前的中点作为轨迹点。
110.在步骤1340,获取多个轨迹点的坐标。例如,继续参照图14,获取到轨迹区间1的中点对应的轨迹点的坐标为(x5,y5),获取到轨迹区间2的中点对应的轨迹点的坐标为(x6,y6),获取到轨迹区间3的中点对应的轨迹点的坐标为(x7,y7),获取到轨迹区间4的中点对应的轨迹点的坐标为(x8,y8),则获取到的多个轨迹点的坐标为{(x5,y5),(x6,y6),(x7,y7),(x8,y8)}。
111.该实施例的好处是:利用等分的轨迹区间获取多个轨迹点的坐标,体现了目标触体的滑动轨迹对笔势识别的影响,提高了笔势识别的准确率。
112.以上是对第二种分解方式的详细描述,下面描述第三种分解方式。
113.参见图15,在一实施例中,步骤330包括:
步骤1510、将目标轨迹的长度等分为多个轨迹区间;步骤1520、获取多个轨迹区间的中点的触压;步骤1530、将触压符合第二条件的中点,作为轨迹点;步骤1540、获取多个轨迹点的坐标。
114.下面对步骤1510-1540进行详细描述。
115.在步骤1510,该步骤1510与步骤1310类似,目标轨迹的长度也是指从目标触体在第一区域上开始滑动后、起始时间至结束时间之间产生的轨迹的长度。例如,参照图14,将目标轨迹的长度等分成4个轨迹区间,得到轨迹区间1:0-2厘米、轨迹区间2:2-4厘米、轨迹区间3:4-6厘米、轨迹区间4:6-8厘米。
116.在步骤1520,目标触体在第一区域上的滑动都对应有触压,可利用触压判断轨迹区间的中点对笔势识别的重要程度。一般来说,某中点的触压越大,该中点对笔势识别越重要。
117.在步骤1530,将触压符合第二条件的中点,作为轨迹点,可以是将触压大于预定触压阈值的中点作为轨迹点,也可以是基于触压对多个中点进行排序,将排序靠前的中点作为轨迹点。
118.在步骤1540,获取多个轨迹点的坐标。例如,参照图14,获取到轨迹区间1的中点对应的轨迹点的坐标为(x5,y5),获取到轨迹区间2的中点对应的轨迹点的坐标为(x6,y6),获取到轨迹区间3的中点对应的轨迹点的坐标为(x7,y7),获取到轨迹区间4的中点对应的轨迹点的坐标为(x8,y8),则获取到的多个轨迹点的坐标为{(x5,y5),(x6,y6),(x7,y7),(x8,y8)}。
119.该实施例的好处是:利用等分的轨迹区间以及对触压的判断获取多个轨迹点的坐标,体现了目标触体的滑动压力对笔势识别的影响,提高了笔势识别的准确率。
120.需要说明的是,轨迹点的坐标包括以下任一种:第一坐标和第二坐标。第一坐标表示轨迹点的x轴坐标,第二坐标表示轨迹点的y轴坐标。例如,轨迹点的坐标为(x,y),则第一坐标为x,第二坐标为y。
121.在一实施例中,参照图16,步骤330包括:步骤1610、在目标轨迹上,获取多个轨迹点的第一坐标和第二坐标。
122.如图12所示,第一坐标为{x1,x2,x3,x4},第二坐标为{y1,y2,y3,y4}。又如图14所示,第一坐标为{x5,x6,x7,x8},第二坐标为{y5,y6,y7,y8}。
123.该实施例的好处是,将坐标分为第一坐标和第二坐标,以便后续步骤单独统计第一坐标和第二坐标上的坐标增量,更有助于提高笔势识别的准确率。
124.需要说明的是的是,上述实施例示出了坐标包括第一坐标和第二坐标的两个维度坐标的情况,但不排除坐标还包括第三个维度坐标及以上的情况。例如,坐标除了包括第一坐标和第二坐标,还包括第三坐标。其中,第三坐标表示轨迹点的z轴坐标。例如,轨迹点的坐标为(x,y,z),则第一坐标为x,第二坐标为y,第三坐标为z。
125.以上是对步骤330进行的详细描述。
126.步骤340详细描述步骤340、获取多个轨迹点中的坐标相邻轨迹点之间的坐标增量。
127.具体地,坐标增量是指相邻的轨迹点之间坐标的差值,且坐标增量包括以下任一种:第一坐标增量和第二坐标增量。第一坐标增量是指相邻轨迹点之间第一坐标的差值,第
二坐标增量是指相邻轨迹点之间第二坐标的差值。其中,第一坐标增量可表示为f(x
n-x
n-1
)=x
n-x
n-1
,f(x
n-x
n-1
)为第n个时刻与第n-1个时刻第一坐标的差值。第二坐标增量可表示为f(y
n-y
n-1
)=y
n-y
n-1
,f(y
n-y
n-1
)为第n个时刻与第n-1个时刻第二坐标的差值。例如,轨迹点1和轨迹点2为相邻轨迹点,且假定轨迹点1的坐标为(x1,y1),轨迹点2的坐标为(x2,y2)。则第一坐标增量为x
2-x1,第二坐标增量为y
2-y1。
128.在一实施例中,继续参照图16,步骤340包括:步骤1620、获取多个轨迹点中相邻轨迹点之间的第一坐标的第一坐标增量、和第二坐标的第二坐标增量。例如,第一坐标为{x1,x2,x3,x4},且第二坐标为{y1,y2,y3,y4},则第一坐标增量为{(x
2-x1),(x
3-x2),(x
4-x3)},第二坐标增量为{(y
2-y1),(y
3-y2),(y
4-y3)}。
129.该实施例的好处在于,单独统计第一坐标和第二坐标上的坐标增量,更有助于提高笔势识别的准确率。
130.以上是对步骤340进行的详细描述。
131.步骤350详细描述步骤340、基于各个相邻轨迹点之间的坐标增量,获取目标增量趋势符串。
132.目标增量趋势符串用于表示坐标增量的运动方向。目标增量趋势符串包括以下任一种:第一目标增量趋势符串和第二目标增量趋势符串。
133.第一目标增量趋势符用于表示第一坐标的运动方向。若x
2-x1大于0,表示第一坐标正在往x轴正方向运动,可用正数表示,例如1。若x
2-x1小于0,表示第一坐标正在往x轴负方向运动,可用负数表示,例如-1。若x
2-x1等于0,表示第一坐标在与x轴垂直的方向上运动,可用0表示。
134.第二目标增量趋势符用于表示第二坐标的运动方向。若y
2-y1大于0,表示第二坐标正在往y轴正方向运动,可用正数表示,例如1。若y
2-y1小于0,表示第二坐标正在往y轴负方向运动,可用负数表示,例如-1。若y
2-y1等于0,表示第二坐标在与y轴垂直的方向上运动,可用0表示。
135.在一实施例中,继续参照图16,步骤350包括:步骤1630、基于各个相邻轨迹点之间的第一坐标增量,获取第一坐标的第一目标增量趋势符串,并基于各个相邻轨迹点之间的第二坐标增量,获取第二坐标的第二目标增量趋势符串。
136.例如,第一坐标增量为{0.7,0,-2,0},则第一目标增量趋势符可以是{1,0,-1,0}。第二坐标增量为{-1.4,0,1.3,0},则第二目标增量趋势符可以是{-1,0,1,0}。
137.下面对步骤1630进行详细描述。
138.在一实施例中,参照图17,步骤1630包括:步骤1710、如果相邻轨迹点之间的坐标增量为正,且坐标增量的绝对值大于第一阈值,将相邻轨迹点的增量趋势符的符号设置为正;如果相邻轨迹点之间的坐标增量为负,且坐标增量的绝对值大于第一阈值,将相邻轨迹点的增量趋势符的符号设置为负;否则,将相邻轨迹点的增量趋势符的符号设置为0;步骤1720、将各个相邻轨迹点的增量趋势符,按照相邻轨迹点在目标轨迹上的顺序连接,生成原始增量趋势符串;步骤1730、从原始增量趋势符串中,获取目标增量趋势符串。
139.下面对步骤1710-1730进行总体描述。
140.在步骤1710,由于目标触体在第一区域上滑动时可能会有抖动误差,或者是对象终端在获取轨迹点的坐标时可能有采集误差,为了缓解误差对确定增量趋势符的影响,本实施例引入了第一阈值。在坐标增量的绝对值小于或等于第一阈值时,极有可能是存在误差,将该坐标增量对应的增量趋势符的符号设置为0。
141.例如,坐标增量为0.2,若不考虑第一阈值,则增量趋势符为1;若考虑第一阈值0.5,则目标增量趋势符是0。又例如,坐标增量为-0.3,若不考虑第一阈值,则增量趋势符为-1;若考虑第一阈值0.5,则目标增量趋势符是0。注意,即使该坐标增量是未发生抖动误差或采集误差而是正常产生的,由于该坐标增量较小,增量趋势符的符号设置为0也不会影响笔势识别的准确率。
142.在得到各个增量趋势符之后,步骤1720先将各个增量趋势符按照相邻轨迹点在目标轨迹上的顺序连接,生成原始增量趋势符串。例如,各个增量趋势符分别是0、1、1、-1、-1、0,则原始增量趋势符串为{0,1,1,-1,-1,0}。
143.在得到原始增量趋势符串后,步骤1730从原始增量趋势符串中,获取目标增量趋势符串。可以是对原始增量趋势符串中连续相同的增量趋势符进行压缩,得到目标增量趋势符串,例如,对原始增量趋势符串为{0,1,1,-1,-1,0}中的连续相同的增量趋势符进行压缩之后,目标增量趋势符串为{0,1,-1,0}。
144.该实施例的好处是,利用坐标增量的绝对值与第一阈值之间的大小关系确定增量趋势符,可以有效缓解因采集误差或抖动误差带来的影响,提高了笔势识别的准确率。
145.下面对步骤1710和步骤1730进行详细描述。
146.在一实施例中,参照图18,步骤1710中的第一阈值通过以下方式设置:步骤1810、获取相邻轨迹点中每个轨迹点在目标轨迹上的曲率;步骤1820、确定相邻轨迹点中每个轨迹点的曲率的第三平均值;步骤1830、基于第三平均值,确定轨迹点对应的第一阈值。
147.下面对步骤1810-1830进行详细描述。
148.在步骤1810,与步骤1320类似,曲率均是指在数学上表明曲线在某一点的弯曲程度的数值。在本实施例中,曲率小的地方比较平滑,坐标增量的绝对值只需要大于一个比较小的值就说明了增量趋势;曲率大的地方正好相反。
149.在步骤1820,基于得到的各个曲率确定第三平均值,然后在步骤1830,基于第三平均值确定第一阈值。
150.例如,有三个曲率,分别是0.3,0.4和0.5,求得第三平均值为0.4,则第一阈值可以是0.4。
151.该实施例的好处是,利用不同轨迹点上的曲率所确定出的第三平均值,可以灵活设置第一阈值,提高了第一阈值的设置灵活性,也可以充分兼顾不同对象在滑动生成目标轨迹时的个性化画法。
152.在另一实施例中,可以基于目标触体在第一区域的滑动速度和获取多个轨迹点的坐标的获取频率共同确定第一阈值。注意,滑动速度越快,则轨迹点的数量越少,所以第一阈值将越大;而获取频率越大,轨迹点的数量越多,则第二阈值越小。
153.在该实施例具体实现时,步骤1710中的第一阈值还可以通过以下方式设置:
基于目标触体在第一区域的滑动速度,确定第三分数;基于获取多个轨迹点的坐标的获取频率,确定第四分数;基于第三分数和第四分数,确定第一总分数;基于第一总分数,确定第一阈值。
154.具体地,基于目标触体在第一区域的滑动速度,确定第三分数,可以采取查找滑动速度范围与第三分数对照表的方式,也可以采用公式法等。
155.(1)滑动速度范围与第三分数对照表列出了滑动速度范围与第三分数的对应关系。先根据滑动速度得到滑动速度范围,然后据此查找滑动速度范围与第三分数对照表,可以得到第三分数。如下是一个滑动速度范围与第三分数对照表的例子:表3例如,目标触体在第一区域的滑动速度为4厘米/秒,则滑动速度范围为3-5厘米,查找表3,得到对应的第一分数为90。
156.上述查找滑动速度范围与第一分数对照表的方式的优点是简便易行,处理开销小。
157.(2)在采用公式法时,可以设置第三分数与滑动速度成正比,例如:f3=k3
·
g3公式3其中,f3表示第一分数,g3表示滑动速度,k3是预设的常数,可以根据实际需要设置。例如,k3=45/2,将g3=4代入后,第三分数f3=90。
158.上述通过公式确定第三分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
159.基于获取多个轨迹点的坐标的获取频率,确定第四分数,可以采取查找获取频率范围与第四分数对照表的方式,也可以采用公式法等。
160.(1)获取频率范围与第四分数对照表列出了获取频率范围与第四分数的对应关系。先根据获取频率得到获取频率范围,然后据此查找获取频率范围与第四分数对照表,可以得到第四分数。如下是一个获取频率范围与第四分数对照表的例子:
表4例如,获取的多个轨迹点的获取频率为15个/秒,则获取频率范围为10-20个/秒,查找表4,得到对应的第二分数为60。
161.上述查找获取频率范围与第四分数对照表的方式的优点是简便易行,处理开销小。
162.(2)在采用公式法时,可以设置第四分数与获取频率成正比,例如:f4=k4
·
g4公式4其中,f4表示第二分数,g4表示获取频率,k4是预设的常数,可以根据实际需要设置。例如,k4=4,将g4=15代入后,第四分数f4=60。
163.上述通过公式确定第四分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
164.基于第三分数和第四分数,确定第一总分数,可以采取计算第三分数和第四分数的平均数或加权平均数的方式。
165.计算第三分数和第四分数的平均数作为第一总分数时,举例来说,第三分数为90,第四分数为60,则第一总分数为(90+60)/2=75。使用平均数计算总分数的优点在于,可以平等地体现滑动速度与获取频率对确定第一阈值的影响。
166.计算第三分数和第四分数的加权平均数作为第一总分数时,举例来说,为滑动速度和获取频率分别设置权重为0.6与0.4,第三分数为90,第四分数为70,则第一总分数为90
×
0.6+60
×
0.4=78。使用加权平均数计算总分数的优点在于,能够为滑动速度与轨迹点的获取频率设置不同的权重,提高了确定第一阈值的灵活性。
167.基于第一总分数,确定第一阈值,可以采取查找第一总分数范围与第一阈值对照表的方式,也可以采用公式法等。
168.(1)第一总分数范围与第一阈值对照表列出了第一总分数范围与第一阈值的对应关系。先根据第一总分数得到第一总分数范围,然后据此查找第一总分数范围与第一阈值对照表,可以得到第一阈值。如下是一个第一总分数范围与第一阈值对照表的例子:表5例如,第一总分数为78,则第一总分数范围为70-80分,查找表5,得到对应的第一阈值为0.6。
169.上述查找第一总分数范围与第一阈值对照表的方式的优点是简便易行,处理开销小。
170.(2)在采用公式法时,可以设置第一阈值与第一总分数成正比,例如:d1=k5
·
s1公式5
其中,d1表示第一阈值,s1表示第一总分数,k5是预设的常数,可以根据实际需要设置。例如,k5=3/390,将s1=78代入后,第一阈值d1=0.6。
171.上述通过公式确定第一阈值的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
172.以上是对步骤1710的详细描述。下面对步骤1730进行详细描述。
173.针对步骤1730的分解,本公开实施例给出了多种分解方式。每一种分解方式以不同的角度展开对步骤1730的详细描述。先来描述第一种分解方式。
174.在一实施例中,参照图19,步骤1730包括:步骤1910、针对原始增量趋势符串中连续相同的增量趋势符,如果连续相同的增量趋势符的数目大于第二阈值,将连续相同的增量趋势符压缩为一个增量趋势符;如果连续相同的增量趋势符的数目不大于第二阈值,将连续相同的增量趋势符删除,得到目标增量趋势符串。
175.例如,参照图20,原始增量趋势符串为{0,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,1,0}。连续相同的增量趋势符分别是{0},{1,1,1,1,1},{0},{-1,-1,-1,-1,-1,-1,-1,-1},{1,1,1,1,1,1,1},{0,0,0,0,0},{1},{0}。假定第二阈值为4。由于{0}中增量趋势符的数目为1,且不大于第二阈值,所以删除该增量趋势符。由于{1,1,1,1,1}中增量趋势符的数目为5,且大于第二阈值,所以将{1,1,1,1,1}压缩为{1}。由于{-1,-1,-1,-1,-1,-1,-1,-1}中增量趋势符的数目为9,且大于第二阈值,所以将{-1,-1,-1,-1,-1,-1,-1,-1}压缩为{-1}。由于{1,1,1,1,1,1,1}中增量趋势符的数目为7,且大于第二阈值,所以将{1,1,1,1,1,1,1}压缩为{1}。由于{0,0,0,0,0}中增量趋势符的数目为5,且大于第二阈值,所以将{0,0,0,0,0}压缩为{0}。由于{1}中增量趋势符的数目为1,且不大于第二阈值,所以删除该增量趋势符。经过上述过程,最终得到目标增量趋势符串为{1,-1,1,0}。
176.在一实施例中,参照图21,步骤1910中的第二阈值通过以下方式设置:步骤2110、从连续相同的增量趋势符中,获取中点增量趋势符;步骤2120、获取中点增量趋势符对应的相邻轨迹点在目标轨迹上的曲率的第四平均值;步骤2130、基于第四平均值,确定连续相同的增量趋势符对应的第二阈值。
177.下面对步骤2110-2130进行详细描述。
178.在步骤2110,中点增量趋势符是指在连续相同的增量趋势符中,处于中间位置的增量趋势符。例如,连续相同的增量趋势符为{1,1,1,1,1},则中点增量趋势符为{1,1,1,1,1}中的第三个“1”。又例如,连续相同的增量趋势符为{-1,-1,-1,-1,-1,-1},则中点增量趋势符为{-1,-1,-1,-1,-1,-1}中的第三个
“‑
1”或第四个
“‑
1”。
179.在步骤2120,与步骤1810类似,曲率均是指在数学上表明曲线在某一点的弯曲程度的数值。在本实施例中,曲率小的地方比较平滑,连续相同的增量趋势符的数目需要大于一个比较大的数。曲率大的地方比较陡峭,连续相同的增量趋势符的数目可以大于一个比较小的数。中点增量趋势符处的曲率正好位于该段轨迹的中间,具有代表性,因此取中点增量趋势符。
180.在基于各个曲率确定第四平均值之后,在步骤2130,基于第四平均值确定第二阈
值。
181.例如,中点增量趋势符对应的相邻轨迹点在目标轨迹上的曲率分别是0.4和0.6,求得第四平均值为0.5,则根据第四平均值*阈值系数=0.5*10,求得第二阈值为5。该阈值系数可根据实际需求设置。
182.该实施例的好处是,利用中点增量趋势符对应的曲率所确定出的第四平均值,可以根据曲率设置第二阈值,提高了第二阈值的设置灵活性。
183.在另一实施例中,可以基于目标触体在第一区域的滑动速度和获取多个轨迹点的坐标的获取频率共同确定第二阈值。注意,滑动速度越快,则轨迹点的数量越少,所以第二阈值将越小;而获取频率越大,轨迹点的数量越多,则第二阈值越大。
184.在该实施例具体实现时,步骤1910中的第二阈值还可以通过以下方式设置:基于目标触体在第一区域的滑动速度,确定第五分数;基于获取多个轨迹点的坐标的获取频率,确定第六分数;基于第五分数和第六分数,确定第二总分数;基于第二总分数,确定第二阈值。
185.具体地,基于目标触体在第一区域的滑动速度,确定第五分数,可以采取查找滑动速度范围与第五分数对照表的方式,也可以采用公式法等。
186.(1)滑动速度范围与第五分数对照表列出了滑动速度范围与第五分数的对应关系。先根据滑动速度得到滑动速度范围,然后据此查找滑动速度范围与第五分数对照表,可以得到第五分数。如下是一个滑动速度范围与第五分数对照表的例子:表6例如,目标触体在第一区域的滑动速度为4厘米/秒,则滑动速度范围为3-5厘米,查找表6,得到对应的第五分数为60。
187.上述查找滑动速度范围与第五分数对照表的方式的优点是简便易行,处理开销小。
188.(2)在采用公式法时,可以设置第五分数与滑动速度成反比,例如:f5=k6
·
g5+b公式6其中,f5表示第五分数,g5表示滑动速度,k6和b是预设的常数,可以根据实际需要设置。例如,k6=-10,b=100,将g5=4代入后,第五分数f5=60。
189.上述通过公式确定第五分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
190.基于获取多个轨迹点的坐标的获取频率,确定第六分数,可以采取查找获取频率范围与第六分数对照表的方式,也可以采用公式法等。
191.(1)获取频率范围与第六分数对照表列出了获取频率范围与第六分数的对应关系。先根据获取频率得到获取频率范围,然后据此查找获取频率范围与第六分数对照表,可以得到第六分数。如下是一个获取频率范围与第六分数对照表的例子:表7例如,获取频率为15个/秒,则获取频率范围为10-20个/秒,查找表7,得到对应的第二分数为60。
192.上述查找获取频率范围与第六分数对照表的方式的优点是简便易行,处理开销小。
193.(2)在采用公式法时,可以设置第六分数与获取频率成正比,例如:f6=k7
·
g6公式7其中,f6表示第六分数,g6表示获取频率,k7是预设的常数,可以根据实际需要设置。例如,k7=4,将g6=15代入后,第六分数f6=60。
194.上述通过公式确定第六分数的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
195.基于第五分数和第六分数,确定第二总分数,可以采取计算第五分数和第六分数的平均数或加权平均数的方式。
196.计算第五分数和第六分数的平均数作为第二总分数时,举例来说,第五分数为60,第六分数为60,则第二总分数为(60+60)/2=60。使用平均数计算总分数的优点在于,可以平等地体现滑动速度与获取频率对确定第二阈值的影响。
197.计算第五分数和第六分数的加权平均数作为第二总分数时,举例来说,为滑动速度和获取频率分别设置权重为0.6与0.4,第五分数为60,第六分数为60,则第二总分数为60
×
0.6+60
×
0.4=60。使用加权平均数计算总分数的优点在于,能够为滑动速度与获取频率设置不同的权重,提高了确定第二阈值的灵活性。
198.基于第二总分数,确定第二阈值,可以采取查找第二总分数范围与第二阈值对照表的方式,也可以采用公式法等。
199.(1)第二总分数范围与第二阈值对照表列出了第二总分数范围与第二阈值的对应关系。先根据第二总分数得到第二总分数范围,然后据此查找第二总分数范围与第二阈值对照表,可以得到第二阈值。如下是一个第二总分数范围与第二阈值对照表的例子:
表8例如,第二总分数为60,则第二总分数范围为50-60分,查找表8,得到对应的第二阈值为4。
200.上述查找第二总分数范围与第二阈值对照表的方式的优点是简便易行,处理开销小。
201.(2)在采用公式法时,可以设置第一阈值与第一总分数成正比,例如:d2=k8
·
s2公式8其中,d2表示第二阈值,s2表示第二总分数,k8是预设的常数,可以根据实际需要设置。例如,k8=1/15,将s2=60代入后,第二阈值d2=4。
202.上述通过公式确定第二阈值的方式的优点是精确性高,且公式能够根据需要调整,灵活性强。
203.以上是对步骤1730的第一种分解方式的详细描述,下面对步骤1730的第二种分解方式进行详细描述。
204.在一实施例中,参照图22,步骤1730包括:步骤2210、将原始增量趋势符串等分为多个子串;步骤2220、确定每个子串中最多的增量趋势符,作为子串对应的目标增量趋势符;步骤2230、将各个子串对应的目标增量趋势符,按照子串的顺序连接,得到目标增量趋势符串。
205.下面对步骤2210-2230进行详细描述。
206.在步骤2210,原始增量趋势符串包含第一数目个增量趋势符,根据第一数目进行等分,以将原始增量趋势符串等分为多个子串。注意,由于第一数目的不确定性,多个子串并不都是包含相同数目的增量趋势符串。例如,一共有n个子串,则尽量保证第1个子串到n-1个子串都是包含第二数目个增量趋势符,而第n个子串包含第三数目个增量趋势符,且(n-1)*第二数目+第三数目=第一数目。
207.参照图23,在一例子中,原始增量趋势符串为{0,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,1,0},一共是29个增量趋势符,也就是第一数目为29。根据第一数目进行等分,确定n=5,确定第二数目为7,第三数目为1。然后将该原始增量趋势符串等分为5个子串,第1个子串为{0,1,1,1,1,1,0},第2个子串为{-1,-1,-1,-1,-1,-1,-1},第3个子串为{-1,1,1,1,1,1,1},第4个子串为{1,0,0,0,0,0,1},第5个子串为{0}。
208.在步骤2220,确定每个子串中最多的增量趋势符,作为子串对应的目标增量趋势符。例如,继续参照图23,对于第1个子串为{0,1,1,1,1,1,0}来说,最多的增量趋势符为1,则第1个目标增量趋势符为1。对于第2个子串为{-1,-1,-1,-1,-1,-1,-1}来说,最多的增量
趋势符为-1,则第2个目标增量趋势符为-1。对于第3个子串为{-1,1,1,1,1,1,1}来说,最多的增量趋势符为1,则第3个目标增量趋势符为1。对于第4个子串为{1,0,0,0,0,0,1}来说,最多的增量趋势符为0,则第4个目标增量趋势符为0。对于第5个子串为{0}来说,子串中的增量趋势符的数目太少,直接删除。经过上述过程,可以得到第1个目标增量趋势符为1,第2个目标增量趋势符为-1,第3个目标增量趋势符为1,第4个目标增量趋势符为0。
209.在步骤2230,将各个子串对应的目标增量趋势符,按照子串的顺序连接,得到目标增量趋势符串。例如,继续参照图23,将第1个至第4个目标增量趋势符按照子串的顺序连接,得到目标增量趋势符串为{1,-1,1,0}。
210.该实施例的好处是,利用对原始增量趋势符串先进行等分再分别统计最多的增量趋势符作为目标增量趋势符,相比直接从原始增量趋势符串统计出目标增量趋势符,可以节约一些计算资源,提高处理效率。另外,该实施例可根据原始增量趋势符串中增量趋势符的数目灵活调整各个子串的长度,提高了笔势识别的灵活性和普适性。
211.步骤360详细描述步骤360、基于目标增量趋势符串,识别目标轨迹对应的笔势。
212.需要说明的是,在删除笔势中,x或y轴至少会有一个轴上会出现至少两次以上的方向跳转。在插入笔势中,y轴方向跳转次数为0,同时x轴整体坐标变化范围很小。在选择笔势中,在x轴和y轴两个方向上均不会有超过一次的方向跳转。
213.根据以上规则可以确定出目标轨迹对应的笔势,所以在一实施例中,将根据第一目标增量趋势符串和第二目标增量趋势符串中的目标增量趋势符的符号跳转的次数来识别目标轨迹对应的笔势。
214.在该实施例具体实现时,参照图16,步骤360包括:步骤1640、如果第一目标增量趋势符串和第二目标增量趋势符串中的至少一个中出现了至少二次目标增量趋势符的符号跳转,将目标轨迹对应的笔势识别为删除笔势;如果第一目标增量趋势符串和第二目标增量趋势符串中都没有出现至少二次目标增量趋势符的符号跳转,在第二目标增量趋势符串中第一字符和第二字符之间的跳转次数为0、且在目标轨迹上轨迹点之间的第一坐标差的最大值小于第三阈值时,将目标轨迹对应的笔势识别为插入笔势,否则将目标轨迹对应的笔势识别为选择笔势。
215.例如,对于第一目标增量趋势符{1,0,-1,0},出现了一次“1”跳转至
“‑
1”,也就是第一目标增量趋势符串出现了一次符号跳转。对于第二目标增量趋势符{-1,0,1,0},出现了一次
“‑
1”跳转至“1”,也就是第二目标增量趋势符串出现了一次符号跳转。由于不属于第一目标增量趋势符串和第二目标增量趋势符串中的至少一个中出现了至少二次目标增量趋势符的符号跳转的情况,该目标轨迹不是删除笔势。由于也不属于在第二目标增量趋势符串中第一字符和第二字符之间的跳转次数为0、且在目标轨迹上轨迹点之间的第一坐标差的最大值小于第三阈值的情况,该目标轨迹也不是插入笔势,所以将该目标轨迹对应的笔势识别为选择笔势。
216.该实施例的好处是:利用在横纵两个坐标轴上的运动方向变化次数来判断目标轨迹所属的笔势,提高了笔势识别的快捷度和准确率。
217.需要说明的是,考虑到插入笔势一般为竖线,但对象可能在输入插入笔势时有一定的斜度偏好,所以在一实施例中,可以根据对象的历史插入笔势确定第三阈值。
218.在该实施例具体实现时,参照图24,步骤1640中的第三阈值通过以下方式设置:步骤2410、获取在输入法界面中输入文本的目标对象的输入历史记录;步骤2420、获取输入历史记录中输入的多个历史插入笔势;步骤2430、获取历史插入笔势对应的笔势轨迹上轨迹点之间的第一坐标差的最大值;步骤2440、对多个历史插入笔势对应的最大值求第二平均值和方差;步骤2450、基于第二平均值、方差、以及预定系数,确定第三阈值。
219.下面对步骤2410-2450进行详细描述。
220.在步骤2410,输入历史记录是指在进行本次笔势识别服务之前,目标对象在输入法界面上的输入记录。该输入历史记录包含目标对象历史输入文本、以及对该历史输入文本作出的历史插入笔势。
221.在步骤2420,获取输入历史记录中输入的多个历史插入笔势。例如,参照图6c,可以获得不同倾斜角度的三个历史插入笔势。
222.在步骤2430,获取历史插入笔势对应的笔势轨迹上轨迹点之间的第一坐标差的最大值。对于插入笔势而言,不考虑滑动时的采样抖动误差,第一坐标差的最大值一般是起始轨迹点至结束轨迹点的第一坐标差。例如,图6c中的第一个插入笔势,图6c中的第二个插入笔势。注意,第一坐标差的最大值也不一定是起始轨迹点至结束轨迹点的第一坐标差,例如图6c中的第三个插入笔势。
223.在步骤2440,对多个历史插入笔势对应的最大值求第二平均值和方差。例如,图6c中第一个插入笔势的第一坐标值的最大值为0.6厘米,图6c中第二个插入笔势的第一坐标值的最大值为2厘米,图6c中第三个插入笔势的第一坐标值的最大值为0.4厘米。求第二平均值:(0.6+2+0.4)/3=1,即第二平均值为1。求方差:{(0.6-1)2+(2-1)2+(0.4-1)2}/3=1.232,方差为1.23。
224.步骤2450,基于第二平均值、方差、以及预定系数,确定第三阈值。例如,第三阈值为μ+k*σ,μ代表第二平均值,σ代表方差,k代表预定系数。预定系数根据实际需求事先设置即可。
225.该实施例的好处是:利用多个历史插入笔势确定第三阈值,充分体现了目标对象对输入插入笔势的斜度偏好,提高了对插入笔势识别的精度。
226.识别出目标轨迹为删除笔势的实施细节参照图25,在一示例中,在输入法界面中显示第一区域,该第一区域包含的文本为“听说”,基于目标触体在第一区域的滑动,生成目标轨迹,该目标轨迹为“z”字形。在该“z”字形的目标轨迹上,获取多个轨迹点的第一坐标和第二坐标。第一坐标包括:{339.1,339.1,342.5,354.6,388.7,417.7,422.9,423.1,415.5,407.1,398.6,388.2,372.1,363.9,355.1,350.7,360.3,371.3,375.2,378.9,382.1,385.5,420.1,420.5,420.9,421.4,421.8,422.2,423.2,422.9}。第二坐标包括:{991.7,991.7,989.6,985.9,982.5,980.1,973.3,973.3,973.3,973.3,973.3,975.9,982.1,990.3,1000.8,1007.9,1017.3,1020.4,1023.3,1023.5,1020.4,1017.6,1012.8,1011.4,1010.7,1010.3,1001.3,1001.3,1001.3,1001.3}。
227.根据第一坐标获取第一坐标增量包括:{0,3.4,12.1,34.1,29.0,5.2,0.2,-7.6,-8.4,-8.5,-10.4,-16.1,-8.2,-8.8,-4.4,9.6,11.0,3.9,3.7,3.2,3.4,34.6,0.4,0.4,0.5,0.4,0.4,1.0,-0.3}。
228.根据第二坐标获取第二坐标增量包括:{0,-2.1,-3.7,-3.4,-2.4,-6.8,0,0,0,0,2.6,6.2,8.2,10.5,7.1,9.4,3.1,2.9,0.2,-3.1,-2.8,-4.8,-1.4,-0.7,-0.4,0,0,0,0}。
229.基于第一坐标增量获取第一坐标的第一原始增量趋势符串为{0,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,1,0}。第一目标增量趋势符串为{1,-1,1,0}。
230.基于第二坐标增量,获取第二坐标的第二原始增量趋势符串包括:{0,-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,0,0,0,0,0}。第二目标增量趋势符串为{-1,0,1,-1,0}。
231.第一目标增量趋势符串中出现“1”跳转至
“‑
1”,且出现
“‑
1”跳转至“1”,也就是出现了二次第一目标增量趋势符的符号跳转。第二目标增量趋势符串中出现
“‑
1”跳转至“1”,且出现“1”跳转至
“‑
1”,也就是出现了二次第二目标增量趋势符的符号跳转。所以,将该“z”字形的目标轨迹对应的笔势识别为删除笔势。
232.识别目标轨迹对应的笔势为插入笔势之后的处理步骤如上所述的实施例中,实现了识别出目标轨迹对应的笔势,下面将结合图26和图27a-c对如果识别出目标轨迹的笔势为插入笔势,本公开实施例的后续处理步骤进行详细描述。
233.参照图26,在步骤360之后,本公开实施例的笔势识别方法还包括:步骤2610、如果识别出目标轨迹对应的笔势为插入笔势,在输入法界面中显示第二区域,用于接收手写输入;步骤2620、在第二区域接收手写输入,并将手写输入识别为待插入文本,插入到插入笔势的位置。
234.下面对步骤2610-2620进行详细描述。
235.在步骤2610,如果识别出目标轨迹对应的笔势为插入笔势,说明对象想进行文本插入,所以对象终端在输入法界面中显示第二区域,该第二区域用于接收手写输入。例如,参照图27a,在输入法界面中的文字编辑应用上,对象已经输入的文本为“今天天气很好,”,这时有一个目标轨迹插在“气”和“很”之间。参照图27b,在识别出目标轨迹对应的笔势为插入笔势之后,对象终端在输入法界面中显示了第二区域,该第二区域可接收手写输入。
236.在步骤2620,在第二区域接收手写输入,并将手写输入识别为待插入文本,插入到插入笔势的位置。例如,继续参照图27b,第二区域上有关闭控件和确定控件。如果对象点击关闭控件,则该第二区域结束显示。如果对象点击确定控件,则第二区域中手写输入的“真的”确定为待插入文本。参照图27c,在对象点击确定控件之后,“真的”插入至“气”和“很”之间,最终第一区域上的文本为“今天天气真的很好,”。
237.该实施例的好处是,如果识别出插入笔势,则利用第二区域接收手写输入并插入至插入笔势的位置,快捷准确地实现文本插入。
238.识别目标轨迹对应的笔势为删除笔势之后的处理步骤下面将结合图28和图29a-d对如果识别出目标轨迹的笔势为删除笔势,本公开实
施例的后续处理步骤进行详细描述。
239.参照图28,在步骤360之后,本公开实施例的笔势识别方法还包括:步骤2810、如果识别出目标轨迹对应的笔势为删除笔势,获取第一区域中删除笔势覆盖的文本,作为待删除文本;步骤2820、在输入法界面的第一校正框中,显示待删除文本;步骤2830、接收目标对象对第一校正框中的待删除文本的校正;步骤2840、从第一区域中的文本中,删除校正后的待删除文本。
240.下面对步骤2810-2840进行详细描述。
241.在步骤2810,第一区域中删除笔势覆盖的文本是指与删除笔势对应的像素点的距离符合距离条件的各个文本像素点所在的文本。例如,参照图29a,在输入法界面中的文字编辑应用上,对象已经输入的文本为“今天天气很好,”,这时有一个目标轨迹覆盖了“天天气很好,”。在识别出目标轨迹对应的笔势为删除笔势之后,待删除文本为“天天气很好,”。
242.在步骤2820,考虑到待删除文本不一定是对象真实想删除的文本,因此在输入法界面的第一校正框中,显示待删除文本,以便对象进行校正。例如,参照图29b,在输入法界面上显示第一校正框,该第一校正框中显示的待删除文本为“天天气很好,”。
243.在步骤2830,第一校正框用于接收对象对待删除文本的校正,以便确定校正后的待删除文本。例如,继续参照图29b和图29c,第一校正框上有关闭控件和确定控件。如果对象点击关闭控件,则该第一校正框结束显示。如果对象点击确定控件,则第一校正框中包含的文本确定为校正后的待删除文本。图29b中的待删除文本为“天天气很好,”,但对象可能想删除的是“天气很好”,参照图29c,对象可对第一校正框中的待删除文本进行校正,确定校正后的待删除文本为“天气很好,”。
244.在步骤2840,从第一区域中的文本中,删除校正后的待删除文本。例如,参照图29d,在删除校正后的待删除文本“天气很好,”之后,第一区域中的文本由“今天天气很好,”变成了“今天”。
245.该实施例的好处是,如果识别出删除笔势,则利用第一校正框确定待删除文本,快捷准确地实现文本删除。
246.识别目标轨迹对应的笔势为选择笔势之后的处理步骤下面将结合图30和图31a-d对如果识别出目标轨迹的笔势为删除笔势,本公开实施例的后续处理步骤进行详细描述。
247.参照图30,在步骤360之后,本公开实施例的笔势识别方法还包括:步骤3010、如果识别出目标轨迹对应的笔势为选择笔势,获取第一区域中选择笔势覆盖的文本,作为选择目标文本;步骤3020、在输入法界面的第二校正框中,显示选择目标文本;步骤3030、接收目标对象对第二校正框中的选择目标文本的校正;步骤3040、激活对校正后的选择目标文本的操作选项列表;步骤3050、响应于对操作选项列表中目标操作选项的选择,对选择目标文本执行目标操作选项对应的操作。
248.下面对步骤3010-3050进行详细描述。
249.在步骤3010,第一区域中选择笔势覆盖的文本是指与选择笔势对应的像素点的距
离符合距离条件的各个文本像素点所在的文本。例如,参照图31a,在输入法界面中的文字编辑应用上,对象已经输入的文本为“今天天气很好,”,这时有一个目标轨迹覆盖了“天天气很好”。在识别出目标轨迹对应的笔势为选择笔势之后,选择目标文本为“天天气很好”。
250.在步骤3020,考虑到选择目标文本不一定是对象真实想选择的文本,因此在输入法界面的第二校正框中,显示选择目标文本,以便对象进行校正。例如,参照图31b,在输入法界面上显示第二校正框,该第二校正框中显示的选择目标文本为“天天气很好”。
251.在步骤3030,第二校正框用于接收对象对选择目标文本的校正,以便确定校正后的选择目标文本。例如,继续参照图31b和图31c,第二校正框上有关闭控件和确定控件。如果对象点击关闭控件,则该第二校正框结束显示。如果对象点击确定控件,则第二校正框中包含的文本确定为校正后的选择目标文本。图31b中的选择目标文本为“天天气很好”,但对象可能想选择的是“天气很好”,参照图31c,对象可对第二校正框中的选择目标文本进行校正,确定校正后的选择目标文本为“天气很好”。
252.在步骤3040,考虑到选择笔势下,对象对校正后的选择目标文本可能是想删除、或是复制等操作,因此可以激活对校正后的选择目标文本的操作选项列表,以便确定对象真实想对选择目标文本的操作意图。例如,参照图31d,在确定了校正后的选择目标文本为“天气很好”之后,激活的操作选项列表包含复制、粘贴、删除等操作选项。
253.在步骤3050,响应于对操作选项列表中目标操作选项的选择,对选择目标文本执行目标操作选项对应的操作。例如,继续参照图31d,对象可点击操作选项列表中的复制操作选项,从而对选择目标文本“天气很好”执行了复制操作。
254.该实施例的好处是,如果识别出选择笔势,则利用第二校正框确定选择目标文本且利用操作选项列表实现选择笔势对应的目标操作,快捷准确地实现了选择笔势对应的操作。
255.本公开实施例的装置和设备描述可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
256.需要说明的是,在本技术的各个具体实施方式中,当涉及到需要根据任务内容属性信息或属性信息集合等与任务内容特性相关的数据进行相关处理时,都会先获得任务内容的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本技术实施例需要获取任务内容属性信息时,会通过弹窗或者跳转到确认页面等方式获得任务内容的单独许可或者单独同意,在明确获得任务内容的单独许可或者单独同意之后,再获取用于使本技术实施例能够正常运行的必要的任务内容相关数据。
257.图32为本公开实施例提供的输入法中的笔势识别装置3200的结构示意图。该输入法中的笔势识别装置3200包括:第一显示单元3210,用于在输入法界面中显示第一区域,第一区域包含利用输入
法输入的文本;第一生成单元3220,用于基于目标触体在第一区域的滑动,生成目标轨迹;第一获取单元3230,用于在目标轨迹上,获取多个轨迹点的坐标;第二获取单元3240,用于获取多个轨迹点中的坐标相邻轨迹点之间的坐标增量;第三获取单元3250,用于基于各个相邻轨迹点之间的坐标增量,获取目标增量趋势符串;第一识别单元3260,用于基于目标增量趋势符串,识别目标轨迹对应的笔势。
258.可选地,第一获取单元3230用于:在目标轨迹上,获取多个轨迹点的第一坐标和第二坐标;第二获取单元3240用于:获取多个轨迹点中相邻轨迹点之间的第一坐标的第一坐标增量、和第二坐标的第二坐标增量;第三获取单元3250用于:基于各个相邻轨迹点之间的第一坐标增量,获取第一坐标的第一目标增量趋势符串,并基于各个相邻轨迹点之间的第二坐标增量,获取第二坐标的第二目标增量趋势符串;第一识别单元3260用于:如果第一目标增量趋势符串和第二目标增量趋势符串中的至少一个中出现了至少二次目标增量趋势符的符号跳转,将目标轨迹对应的笔势识别为删除笔势;如果第一目标增量趋势符串和第二目标增量趋势符串中都没有出现至少二次目标增量趋势符的符号跳转,在第二目标增量趋势符串中第一字符和第二字符之间的跳转次数为0、且在目标轨迹上轨迹点之间的第一坐标差的最大值小于第三阈值时,将目标轨迹对应的笔势识别为插入笔势,否则将目标轨迹对应的笔势识别为选择笔势。
259.可选地,第一识别单元3260还用于:获取在输入法界面中输入文本的目标对象的输入历史记录;获取输入历史记录中输入的多个历史插入笔势;获取历史插入笔势对应的笔势轨迹上轨迹点之间的第一坐标差的最大值;对多个历史插入笔势对应的最大值求第二平均值和方差;基于第二平均值、方差、以及预定系数,确定第三阈值。可选地,第三获取单元3250具体用于:如果相邻轨迹点之间的坐标增量为正,且坐标增量的绝对值大于第一阈值,将相邻轨迹点的增量趋势符的符号设置为正;如果相邻轨迹点之间的坐标增量为负,且坐标增量的绝对值大于第一阈值,将相邻轨迹点的增量趋势符的符号设置为负;否则,将相邻轨迹点的增量趋势符的符号设置为0;将各个相邻轨迹点的增量趋势符,按照相邻轨迹点在目标轨迹上的顺序连接,生成原始增量趋势符串;从原始增量趋势符串中,获取目标增量趋势符串。
260.可选地,第三获取单元3250还具体用于:获取相邻轨迹点中每个轨迹点在目标轨迹上的曲率;确定相邻轨迹点中每个轨迹点的曲率的第三平均值;基于第三平均值,确定轨迹点对应的第一阈值。
261.可选地,第三获取单元3250具体用于:
针对原始增量趋势符串中连续相同的增量趋势符,如果连续相同的增量趋势符的数目大于第二阈值,将连续相同的增量趋势符压缩为一个增量趋势符;如果连续相同的增量趋势符的数目不大于第二阈值,将连续相同的增量趋势符删除,得到目标增量趋势符串。
262.可选地,第三获取单元3250还具体用于:从连续相同的增量趋势符中,获取中点增量趋势符;获取中点增量趋势符对应的相邻轨迹点在目标轨迹上的曲率的第四平均值;基于第四平均值,确定连续相同的增量趋势符对应的第二阈值。
263.可选地,第三获取单元3250还具体用于:将原始增量趋势符串等分为多个子串;确定每个子串中最多的增量趋势符,作为子串对应的目标增量趋势符;将各个子串对应的目标增量趋势符,按照子串的顺序连接,得到目标增量趋势符串。可选地,第一生成单元3220具体用于:将目标触体在第一区域的每一次连续滑动,识别为候选轨迹;获取候选轨迹的持续长度和持续时间;基于持续长度和持续时间,从多个候选轨迹中筛选出筛选后轨迹;在筛选后轨迹中,获取目标轨迹。
264.可选地,第一生成单元3220还具体用于:基于持续长度,确定候选轨迹的第一分数;基于持续时间,确定候选轨迹的第二分数;基于第一分数和第二分数,确定候选轨迹的总分数;基于总分数,从多个候选轨迹中筛选出筛选后轨迹。
265.可选地,第一生成单元3220还具体用于:在筛选后轨迹上,从筛选后轨迹的起始点开始,以第一时间间隔顺序选取多个锚点;确定锚点到第一区域的各文本像素点的最小距离;基于多个锚点的最小距离,将筛选后轨迹识别为目标轨迹。
266.可选地,第一生成单元3220还具体用于:确定多个锚点的最小距离的第一平均值;如果第一平均值小于预定阈值,将筛选后轨迹识别为目标轨迹。
267.可选地,第一获取单元3230具体用于:将目标轨迹的起始时间和结束时间之间的时间长度等分成多个时间区间;在目标轨迹上,获取与各个时间区间的中点对应的轨迹点的坐标。
268.可选地,第一获取单元3230具体用于:将目标轨迹的长度等分为多个轨迹区间;获取多个轨迹区间的中点在目标轨迹上的曲率;将曲率符合第一条件的中点,作为轨迹点;获取多个轨迹点的坐标。
269.可选地,第一获取单元3230具体用于:将目标轨迹的长度等分为多个轨迹区间;获取多个轨迹区间的中点的触压;将触压符合第二条件的中点,作为轨迹点;获取多个轨迹点的坐标。可选地,在输入法界面中显示第一区域之前,笔势识别装置3200还包括:第二显示单元(未示出),用于在输入法界面上显示笔势启用控件;第一接收单元(未示出),用于接收对笔势启用控件的触发。
270.可选地,在基于目标增量趋势符串,识别目标轨迹对应的笔势之后,笔势识别装置3200还包括:第三显示单元(未示出),用于如果识别出目标轨迹对应的笔势为插入笔势,在输入法界面中显示第二区域,用于接收手写输入;第一插入单元(未示出),用于在第二区域接收手写输入,并将手写输入识别为待插入文本,插入到插入笔势的位置。
271.可选地,在基于目标增量趋势符串,识别目标轨迹对应的笔势之后,笔势识别装置3200还包括:第四获取单元(未示出),用于如果识别出目标轨迹对应的笔势为删除笔势,获取第一区域中删除笔势覆盖的文本,作为待删除文本;第四显示单元(未示出),用于在输入法界面的第一校正框中,显示待删除文本;第二接收单元(未示出),用于接收目标对象对第一校正框中的待删除文本的校正;第一删除单元(未示出),用于从第一区域中的文本中,删除校正后的待删除文本。
272.可选地,在基于目标增量趋势符串,识别目标轨迹对应的笔势之后,笔势识别装置3200还包括:第五获取单元(未示出),用于如果识别出目标轨迹对应的笔势为选择笔势,获取第一区域中选择笔势覆盖的文本,作为选择目标文本;第五显示单元(未示出),用于在输入法界面的第二校正框中,显示选择目标文本;第三接收单元(未示出),用于接收目标对象对第二校正框中的选择目标文本的校正;第一激活单元(未示出),用于激活对校正后的选择目标文本的操作选项列表;第一操作单元(未示出),用于响应于对操作选项列表中目标操作选项的选择,对选择目标文本执行目标操作选项对应的操作。
273.参照图33,图33为实现本公开实施例的输入法中的笔势识别方法的终端的部分的结构框图,该终端包括:射频(radio frequency,简称rf)电路3310、存储器3315、输入单元3330、显示单元3340、传感器3350、音频电路3360、无线保真(wireless fidelity,简称wifi)模块3370、处理器3380、以及电源3390等部件。本领域技术人员可以理解,图33示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
274.rf电路3310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的
下行信息接收后,给处理器3380处理;另外,将设计上行的数据发送给基站。
275.存储器3315可用于存储软件程序以及模块,处理器3380通过运行存储在存储器3315的软件程序以及模块,从而执行内容终端的各种功能应用以及数据处理。
276.输入单元3330可用于接收输入的数字或字符信息,以及产生与内容终端的设置以及功能控制有关的键信号输入。具体地,输入单元3330可包括触控面板3331以及其他输入装置3332。
277.显示单元3340可用于显示输入的信息或提供的信息以及内容终端的各种菜单。显示单元3340可包括显示面板3341。
278.音频电路3360、扬声器3361,传声器3362可提供音频接口。
279.在本实施例中,该终端所包括的处理器3380可以执行前面实施例的输入法中的笔势识别方法。
280.本公开实施例的终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、触摸屏终端等。本发明实施例可应用于各种领域,包括但不限于比如输入法、文字处理等。
281.图34为实施本公开实施例的输入法中的笔势识别方法的服务器110的部分的结构框图。服务器110可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,简称cpu)3422(例如,一个或一个以上处理器)和存储器3432,一个或一个以上存储应用程序3442或数据3444的存储介质3430(例如一个或一个以上海量存储装置)。其中,存储器3432和存储介质3430可以是短暂存储或持久存储。存储在存储介质3430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器110中的一系列指令操作。更进一步地,中央处理器3422可以设置为与存储介质3430通信,在服务器110上执行存储介质3430中的一系列指令操作。
282.服务器110还可以包括一个或一个以上电源3426,一个或一个以上有线或无线网络接口3450,一个或一个以上输入输出接口3458,和/或,一个或一个以上操作系统3441,例如windows servertm,mac os xtm,unixtm ,linuxtm,freebsdtm等等。
283.服务器110中的中央处理器3422可以用于执行本公开实施例的输入法中的笔势识别方法。
284.本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的输入法中的笔势识别方法。
285.本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的输入法中的笔势识别方法。
286.本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的内容,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
287.应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联内容的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联内容是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
288.应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
289.在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
290.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
291.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
292.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器110,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
293.还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。
技术特征:
1.一种输入法中的笔势识别方法,其特征在于,包括:在输入法界面中显示第一区域,所述第一区域包含利用所述输入法输入的文本;基于目标触体在所述第一区域的滑动,生成目标轨迹;在所述目标轨迹上,获取多个轨迹点的坐标;获取多个所述轨迹点的坐标中相邻轨迹点之间的坐标增量;基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串;基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势。2.根据权利要求1所述的笔势识别方法,其特征在于,所述基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串,包括:如果所述相邻轨迹点之间的坐标增量为正,且所述坐标增量的绝对值大于第一阈值,将所述相邻轨迹点的增量趋势符的符号设置为正;如果所述相邻轨迹点之间的坐标增量为负,且所述坐标增量的绝对值大于第一阈值,将所述相邻轨迹点的增量趋势符的符号设置为负;否则,将所述相邻轨迹点的增量趋势符的符号设置为0;将各个所述相邻轨迹点的所述增量趋势符,按照所述相邻轨迹点在所述目标轨迹上的顺序连接,生成原始增量趋势符串;从所述原始增量趋势符串中,获取所述目标增量趋势符串。3.根据权利要求2所述的笔势识别方法,其特征在于,所述第一阈值通过以下方式设置:获取所述相邻轨迹点中每个所述轨迹点在所述目标轨迹上的曲率;确定所述相邻轨迹点中每个所述轨迹点的所述曲率的第三平均值;基于所述第三平均值,确定所述轨迹点对应的所述第一阈值。4.根据权利要求2所述的笔势识别方法,其特征在于,所述从所述原始增量趋势符串中,获取所述目标增量趋势符串,包括:针对所述原始增量趋势符串中连续相同的增量趋势符,如果所述连续相同的增量趋势符的数目大于第二阈值,将所述连续相同的增量趋势符压缩为一个所述增量趋势符;如果所述连续相同的增量趋势符的数目不大于第二阈值,将所述连续相同的增量趋势符删除,得到所述目标增量趋势符串。5.根据权利要求4所述的笔势识别方法,其特征在于,所述第二阈值通过以下方式设置:从所述连续相同的增量趋势符中,获取中点增量趋势符;获取所述中点增量趋势符对应的相邻轨迹点在所述目标轨迹上的曲率的第四平均值;基于所述第四平均值,确定所述连续相同的增量趋势符对应的所述第二阈值。6.根据权利要求2所述的笔势识别方法,其特征在于,所述从所述原始增量趋势符串中,获取所述目标增量趋势符串,包括:将所述原始增量趋势符串等分为多个子串;确定每个所述子串中最多的所述增量趋势符,作为所述子串对应的所述目标增量趋势符;将各个所述子串对应的所述目标增量趋势符,按照所述子串的顺序连接,得到所述目标增量趋势符串。
7.根据权利要求1所述的笔势识别方法,其特征在于,所述在所述目标轨迹上,获取多个轨迹点的坐标,包括:在所述目标轨迹上,获取多个轨迹点的第一坐标和第二坐标;所述获取多个所述轨迹点中的坐标相邻轨迹点之间的坐标增量,包括:获取多个所述轨迹点中相邻轨迹点之间的所述第一坐标的第一坐标增量、和所述第二坐标的第二坐标增量;所述基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串,包括:基于各个所述相邻轨迹点之间的所述第一坐标增量,获取所述第一坐标的第一目标增量趋势符串,并基于各个所述相邻轨迹点之间的所述第二坐标增量,获取所述第二坐标的第二目标增量趋势符串;所述基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势,包括:如果所述第一目标增量趋势符串和所述第二目标增量趋势符串中的至少一个中出现了至少二次目标增量趋势符的符号跳转,将所述目标轨迹对应的笔势识别为删除笔势;如果所述第一目标增量趋势符串和所述第二目标增量趋势符串中都没有出现至少二次目标增量趋势符的符号跳转,在所述第二目标增量趋势符串中第一字符和第二字符之间的跳转次数为0、且在所述目标轨迹上轨迹点之间的第一坐标差的最大值小于第三阈值时,将所述目标轨迹对应的笔势识别为插入笔势,否则将所述目标轨迹对应的笔势识别为选择笔势。8.根据权利要求7所述的笔势识别方法,其特征在于,所述第三阈值通过以下方式设置:获取在所述输入法界面中输入所述文本的目标对象的输入历史记录;获取所述输入历史记录中输入的多个历史插入笔势;获取所述历史插入笔势对应的笔势轨迹上轨迹点之间的第一坐标差的最大值;对多个所述历史插入笔势对应的所述最大值求第二平均值和方差;基于所述第二平均值、所述方差、以及预定系数,确定所述第三阈值。9.根据权利要求1所述的笔势识别方法,其特征在于,所述基于目标触体在所述第一区域的滑动,生成目标轨迹,包括:将所述目标触体在所述第一区域的每一次连续滑动,识别为候选轨迹;获取所述候选轨迹的持续长度和持续时间;基于所述持续长度和持续时间,从多个所述候选轨迹中筛选出筛选后轨迹;在所述筛选后轨迹中,获取所述目标轨迹。10.根据权利要求9所述的笔势识别方法,其特征在于,所述基于所述持续长度和持续时间,从多个所述候选轨迹中筛选出筛选后轨迹,包括:基于所述持续长度,确定所述候选轨迹的第一分数;基于所述持续时间,确定所述候选轨迹的第二分数;基于所述第一分数和所述第二分数,确定所述候选轨迹的总分数;基于所述总分数,从多个所述候选轨迹中筛选出所述筛选后轨迹。11.根据权利要求9所述的笔势识别方法,其特征在于,所述在所述筛选后轨迹中,获取所述目标轨迹,包括:在所述筛选后轨迹上,从所述筛选后轨迹的起始点开始,以第一时间间隔顺序选取多
个锚点;确定所述锚点到所述第一区域的各文本像素点的最小距离;基于多个所述锚点的所述最小距离,将所述筛选后轨迹识别为所述目标轨迹。12.根据权利要求11所述的笔势识别方法,其特征在于,所述基于多个所述锚点的所述最小距离,将所述筛选后轨迹识别为所述目标轨迹,包括:确定多个所述锚点的所述最小距离的第一平均值;如果所述第一平均值小于预定阈值,将所述筛选后轨迹识别为所述目标轨迹。13.根据权利要求1所述的笔势识别方法,其特征在于,所述在所述目标轨迹上,获取多个轨迹点的坐标,包括:将所述目标轨迹的起始时间和结束时间之间的时间长度等分成多个时间区间;在所述目标轨迹上,获取与各个所述时间区间的中点对应的所述轨迹点的坐标。14.根据权利要求1所述的笔势识别方法,其特征在于,所述在所述目标轨迹上,获取多个轨迹点的坐标,包括:将所述目标轨迹的长度等分为多个轨迹区间;获取多个所述轨迹区间的中点在所述目标轨迹上的曲率;将所述曲率符合第一条件的所述中点,作为所述轨迹点;获取多个所述轨迹点的坐标。15.根据权利要求1所述的笔势识别方法,其特征在于,所述在所述目标轨迹上,获取多个轨迹点的坐标,包括:将所述目标轨迹的长度等分为多个轨迹区间;获取多个所述轨迹区间的中点的触压;将所述触压符合第二条件的所述中点,作为所述轨迹点;获取多个所述轨迹点的坐标。16.根据权利要求1所述的笔势识别方法,其特征在于,在输入法界面中显示第一区域之前,所述笔势识别方法还包括:在所述输入法界面上显示笔势启用控件;接收对所述笔势启用控件的触发。17.一种输入法中的笔势识别装置,其特征在于,包括:第一显示单元,用于在输入法界面中显示第一区域,所述第一区域包含利用所述输入法输入的文本;第一生成单元,用于基于目标触体在所述第一区域的滑动,生成目标轨迹;第一获取单元,用于在所述目标轨迹上,获取多个轨迹点的坐标;第二获取单元,用于获取多个所述轨迹点中的坐标相邻轨迹点之间的坐标增量;第三获取单元,用于基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串;第一识别单元,用于基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势。18.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至16任意一项所述的输入法中的笔势识别方法。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至16任意一项所述的输入法中的笔势识别方法。20.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行根据权利要求1至16任意一项所述的输入法中的笔势识别方法。
技术总结
本公开实施例提供了一种输入法中的笔势识别方法、相关装置和介质。该笔势识别方法包括:在输入法界面中显示第一区域,所述第一区域包含利用所述输入法输入的文本;基于目标触体在所述第一区域的滑动,生成目标轨迹;在所述目标轨迹上,获取多个轨迹点的坐标;获取多个所述轨迹点的坐标中相邻轨迹点之间的坐标增量;基于各个所述相邻轨迹点之间的坐标增量,获取目标增量趋势符串;基于所述目标增量趋势符串,识别所述目标轨迹对应的笔势。本公开实施例提高了笔势识别的灵活性、准确性,减少对资源的占用。本公开实施例可应用于输入法、数据处理、文字处理等领域。文字处理等领域。文字处理等领域。
技术研发人员:闫杰
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.19
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
