CN106843737A - 文本输入方法、装置及终端设备 - Google Patents

文本输入方法、装置及终端设备 Download PDF

Info

Publication number
CN106843737A
CN106843737A CN201710075321.1A CN201710075321A CN106843737A CN 106843737 A CN106843737 A CN 106843737A CN 201710075321 A CN201710075321 A CN 201710075321A CN 106843737 A CN106843737 A CN 106843737A
Authority
CN
China
Prior art keywords
sampled point
point
candidate
probability
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710075321.1A
Other languages
English (en)
Other versions
CN106843737B (zh
Inventor
马士杰
李男
李一男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinmeihutong Technology Co
Original Assignee
Beijing Xinmeihutong Technology Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xinmeihutong Technology Co filed Critical Beijing Xinmeihutong Technology Co
Priority to CN201710075321.1A priority Critical patent/CN106843737B/zh
Publication of CN106843737A publication Critical patent/CN106843737A/zh
Priority to US15/878,585 priority patent/US10585583B2/en
Application granted granted Critical
Publication of CN106843737B publication Critical patent/CN106843737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本申请实施例公开了一种文本输入方法、装置及终端设备,其可以对滑动触摸轨迹采样、过滤等处理,得到多个有效采样点及其对应的候选键,并分析每个采样点的跳过概率及其每个候选键的出现概率,并可以根据该跳过概率和出现概率计算得到每个候选字符序列对应的候选概率,将候选概率最大的一个或多个候选词进行输出展示。用户可以通过一次滑动操作,使滑动触摸轨迹经过所有的目标字符,在此过程中,用户手指或触笔不需离开虚拟键盘,各个目标字符之间通过滑动方式过度,每次输入只需一次点击、抬起动作,可以大大减少用户的输入动作,使得输入过程更连贯,从而提高输入速度及输入效率。同时,本申请实施例的容错率更高,对用户的输入精准度要求更低。

Description

文本输入方法、装置及终端设备
技术领域
本申请涉及信息输入领域,尤其涉及一种文本输入方法、装置及终端设备。
背景技术
随着电子设备技术的发展,具有触摸显示屏的智能终端设备也越来越普及,功能也越来越多样化。方便且快速的信息输入性能,可以提高人机交互效率,有助于这些终端设备及其各项多媒体功能的良好运行,进而提升用户体验。
如图1所示,利用终端设备的触摸显示屏110和在该触摸显示屏110中显示的虚拟键盘120,用户可以基于终端设备中配置的任一种输入法进行文本输入。现有输入法以点触输入为主,即需要用户在虚拟键盘上逐个点击要输入的字符按键,相应的输入法程序根据用户点击的按键键值和点击顺序确定候选词;如果错点击、多点击或少点击一个或多个按键,则可能导致无法得到预期的输入文本,需要重新点击输入。例如,用户要输入英文单词“for”,则需要在虚拟键盘120上先后点击f、o、r等按键;如果用户先后点击f、i、r,即将按键o错误点击成了其相邻的按键i,则得到的候选单词更有可能为“fire”、“first”等,如果用户先后点击按键f、o、u、r,即在点击按键o之后多点击了一个按键u,则得到的候选单词更有可能为“four”、“fourty”等,总之很难直接得到用户期望的单词“for”。
可见,上述点触输入方式,依靠用户对相应按键的精准点击来保证输入准确率及输入效率;然而,多数现有终端设备触摸显示屏尺寸较小,使得虚拟键盘中键与键之间距离也较小,从而在用户进行输入操作时极易发生错误点击现象,影响文本输入准确率及输入效率。而且,点触输入方式需要用户多次执行点击、抬起的动作,也影响输入效率。
发明内容
本申请实施例提供了一种文本输入方法、装置及终端设备,以解决现有点触输入方式对用户操作的精准度要求较高、操作动作较多、输入效率低的问题。
第一方面,本申请实施例提供了一种文本输入方法,该方法包括:对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
按照所述候选概率由大到小的顺序输出所述候选词。
可选的,基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,包括:
针对每个采样点,根据所述坐标信息计算所述采样点与虚拟键盘上各个键之间的距离;
筛选所述距离小于预设距离阈值的键作为所述采样点对应的候选键。
可选的,根据所述候选键对所述采样点进行过滤,得到有效采样点,包括:
将所述滑动触摸轨迹的起始点对应的第一个采样点标记为有效采样点;
依次将除所述第一个采样点之外的每个采样点作为当前采样点,根据所述当前采样点的候选键和/或旋转角度判断所述当前采样点是否为有效采样点;
其中,所述旋转角度包括第一旋转角度和第二旋转角度;所述第一旋转角度为,由当前采样点的前一个有效采样点到当前采样点的第一向量与,由当前采样点到后一个相邻点的第二向量之间的夹角;所述第二旋转角度为,由当前采样点的前一个采样点到当前采样点的第三向量与所述第二向量之间的夹角。
可选的,根据所述当前采样点的候选键判断所述当前采样点是否为有效采样点,包括:
判断所述当前采样点与前一个有效采样点之间,或者所述当前采样点与后一个采样点之间是否存在公共候选键;
当存在所述公共候选键时,判断相对于所述前一个有效采样点和后一个采样点,所述当前采样点到公共候选键的距离是否最小;
当所述当前采样点到公共候选键的距离最小,或者不存在所述公共候选键时,将所述当前采样点标记为有效采样点。
可选的,根据所述当前采样点的旋转角度判断所述当前采样点是否为有效采样点,包括:
判断当前采样点的第一旋转角度是否大于第一预设角度阈值,或者,判断当前采样点的第二旋转角度,及当前采样点与前一个有效采样点之间的各个无效采样点的第二旋转角度之和是否大于第二预设角度阈值;
当所述当前采样点的第一旋转角度大于第一预设角度阈值,和/或,当前采样点及所述各个无效采样点的第二角度之和大于第二预设角度阈值时,将所述当前采样点标记为有效采样点。
可选的,确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率,包括:
依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
根据当前有效采样点的各个候选键到当前有效采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1;
其中,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角;
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比;所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值;
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值。
第二方面,本申请实施例提供了一种文本输入装置,该装置包括采样模块,用于对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
采样点过滤模块,用于基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
采样点概率确定模块,用于确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
候选词确定模块,用于根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
候选词输出模块,用于按照所述候选概率由大到小的顺序输出所述候选词。
可选的,所述采样点过滤模块,包括:
候选键确定模块,用于针对每个采样点,根据所述坐标信息计算所述采样点与虚拟键盘上各个键之间的距离,筛选所述距离小于预设距离阈值的键作为所述采样点对应的候选键;
第一过滤模块,用于根据所述候选键判断各个采样点是否为有效采样点;
第二过滤模块,用于计算各个采样点的旋转角度,并根据所述旋转角度判断各个采样点是否为有效采样点。
可选的,所述采样点概率确定模块被配置为:
依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
根据当前有效采样点的各个候选键到当前采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1;
其中,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角;
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比;所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值;
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值。
第三方面,本申请实施例提供了一种终端,包括:处理器、存储器及触摸显示屏;
其中,所述触摸显示屏用于显示虚拟键盘,并感应滑行触摸操作,得到滑行触摸轨迹;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述的文本输入方法中的部分或全部步骤。
由以上技术方案可知,本申请实施例可以接收用户在触摸显示屏上执行滑动操作得到的滑动触摸轨迹,通过对其采样、过滤等处理,得到多个有效采样点及其对应的候选键,并分析每个采样点的跳过概率及其每个候选键的出现概率,结合预设的语言模型得到具有实际意义的候选字符序列(候选词),并可以根据上述跳过概率和各个候选键的出现概率计算得到每个候选字符序列对应的候选概率,将候选概率最大的一个或多个候选词进行输出展示,供用户在展示出的候选词中选择自己实际想输入的内容。可见,应用本申请实施例,用户不需要通过多次点击、抬起操作来输入各个目标字符,而是可以通过一次滑动操作,使滑动触摸轨迹经过所有的目标字符,在此过程中,用户手指或触笔不需离开虚拟键盘,各个目标字符之间通过滑动方式过度,每次输入只需一次点击、抬起动作,可以大大减少用户的输入动作,使得输入过程更连贯,从而提高输入速度及输入效率。
同时,本申请实施例并不限制某一个候选键必须在候选字符序列中出现,而是计算各个候选键的出现概率及有效采样点的跳过概率,基于语言模型判定各个候选键的各种组合情况是否可以得到有意义的字符序列,并基于上述出现概率和跳过概率计算得到每个有意义的字符序列对应的候选概率,按照该候选概率由大到小的顺序输出展示相应的候选词;因此,相对于点触输入方式,本申请实施例的容错率更高,对用户的输入精准度要求更低,故可以进一步提高输入效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为终端设备的触摸显示屏显示虚拟键盘的示意图;
图2为本申请实施例提供的一种文本输入方法的流程图;
图3为实际场景中得到的一个滑动触摸轨迹,及应用本申请实施例对其进行采样处理的示意图;
图4为本申请实施例中候选词输出的效果示意图;
图5为本申请实施例中采样点的旋转角度示意图
图6为本申请实施例中第一旋转角度大于第一预设角度阈值时的场景示意图;
图7为本申请实施例中计算第二旋转角度之和时的场景示意图;
图8为本申请实施例提供的一种文本输入装置的结构示意图。
具体实施方式
本申请实施例提供了一种文本输入方法、装置及终端设备,以解决现有点触输入方式对用户操作的精准度要求较高、操作动作较多、输入效率低的问题。下面结合附图对本申请实施例所述的技术方案进行详细阐述。
参见图2,为本申请实施例提供的一种文本输入方法的流程图,该方法包括如下步骤:
S11、对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息。
用户可以在终端设备的触摸显示屏上虚拟键盘区域进行滑动操作,终端设备记录滑动操作所经过的轨迹,得到所述滑动输入轨迹,本申请实施例的原理为:通过对该滑动输入轨迹进行处理,确定其经过的有效键码,并通过有效键码的组合得到候选词,供用户选择输入。
由于所述滑动输入轨迹可以视为由无数个点构成,为确定其经过的键码,首先要对该滑动输入轨迹进行采样,得到多个采样点。具体的,可以根据预先设置的采样周期T,在用户执行滑动操作的过程中进行采样,并记录其采样信息。
所述采样周期T一般可以设置在6ms至20ms之间,可以由用户根据自己的滑动操作速度进行自定义设置,即:滑动操作速度越快,设置的采样周期越小,避免采样点之间间距过大、漏过关键的采样点;滑动操作速度越慢,设置的采样周期越大,以避免各个采样点间距过小、存在较多的无效采样点。
本申请实施例中,所述采样信息至少包括采样点的坐标信息,以便确定其周围的按键;所述采样信息还可以包括采样点的采样时间(可以基于系统时间确定采样时间),以便结合所述坐标信息计算采样点对应的滑动速度。
参照图3,当用户手指或手写笔等开始触摸虚拟键盘时,开始采样,即图3中标号为1的起始点作为第一个采样点,记录该采样点的采样信息;在经过时间T后触摸位置到达标号为2的点,采集并记录该点的采样信息……依此类推,在整个滑动过程中,共得到标号为1至13的13个采样点。
其中,标号为13的采样点对应滑动触摸轨迹的终止点,其与前一个采样点(即标号为12的采样点)之间的时间间隔可以小于采样周期。由于终止点所在位置很有可能是用户要输入的最后一个字符对应的按键位置,故终止点必须作为一个采样点,即在滑动操作结束时,即使未达到采样周期,也要执行最后一次采样,得到终止点的采样信息。
S12、基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键。
虚拟键盘上每个键在触摸显示屏上的位置都是确定的,因此,在本申请一个可行的实施方式中,各个键所在位置可以用该键的中心点在该触摸显示屏上的坐标来表示,进而针对每个采样点,根据该采样点的坐标信息和各个键的坐标信息,可以计算得到该采样点到各个键的距离,从而筛选出所述距离小于预设距离阈值的键,也即距离该采样点最近的一个或多个键,即得到该采样点对应的候选键,也即得到用户可能期望输入的键码。可选的,所述预设距离阈值可以为虚拟键盘上单个键宽的2倍或其他阈值。
参照图3,标号为1的采样点对应的候选键可以包括f、g、c、d等,标号为2的采样点对应的候选键可以包括f、g等,标号为3的采样点对应的候选键可以包括g、h、t、y等。
S13、根据所述候选键对所述采样点进行过滤,得到有效采样点。
在实际滑动操作过程中,由一个键码对应的按键滑动到下一个要输入的键码对应的按键时,可能会经过一段较长的滑动触摸轨迹,从而在采样后除了得到要输入的这两个键码对应的采样点外,还会得到一个或多个其他采样点,相对于实际输入意图而言,这些“其他采样点”即为无效的采样点。因此,为更准确地判断用户的输入意图,快速并准确得到候选词,在采样完成后,需要对采样点进行过滤,尽量滤除其中的无效采样点,仅保留有效采样点。
可选的,滑动触摸轨迹中的三种特殊采样点,包括起始点(如图3中标号为1的采样点)、终止点(如图3中标号为13的采样点)及拐点(如图3中标号为7的采样点),应当作为有效采样点;对于其他采样点,可以结合其候选键或上述特殊采样点等因素进行判断,逐个确定其是否为有效采样点。
S14、确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率。
本申请实施例中,某个采样点被跳过,也即该采样点对应的候选键与实际输入意图无关,不在候选输入字符序列中;根据概率论原理,对于任一采样点,存在且只存在被跳过和不被跳过两种情况,在该采样点不被跳过的情况下,选择该采样点对应的多个候选键中的某个候选键加入候选字符序列的概率,即为该候选键的出现概率,故任一采样点的跳过概率,及其各个候选键的出现概率之和为1。
参照图3中标号为1的采样点,假设其跳过概率为P00,候选键f的出现概率为P01,候选键g的出现概率为P02,候选键c的出现概率为P03,候选键d的出现概率为P04,则有:P00+P01+P02+P03+P04=1。
S15、根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率。
本申请实施例中,每个有效采样点分别选取一个候选键或跳过,将各个有效采样点的选择结果进行组合,得到候选字符序列集合;对于每个候选字符序列,在预设的语言模型(如:存储有大量英文单词或短语的英文字词库,以拼音、笔画等形式存储有大量汉字或词语的中文字词库等)中进行查找,如果该候选字符序列在语言模型中,说明该候选字符序列为有意义的序列,如果不在语言模型中,则说明该候选字符序列为无意义的序列,直接将其从集合中删除。查找完成后,对集合中剩余的有意义的候选字符序列即可作为候选词,进而可以计算得到该候选词的各个采样点对应的选择结果概率之积,作为该候选词对应的候选概率。
仍参照图3,假设经过步骤S13的过滤操作,确定13个采样点中,标号为1、3、5、7、10和13的六个采样点为有效采样点,各个有效采样点的跳过概率及其候选键的出现概率如下表1所示。
表1有效采样点、候选键及相关概率
参照表1,在组成候选字符序列时,有效采样点1选择候选键g,有效采样点3选择“跳过”,有效采样点5选择“跳过”,有效采样点7选择候选键o,有效采样点10选择候选键u,有效采样点13选择候选键r,此情况下得到的候选字符序列“four”;另一种情况下,有效采样点1选择候选键f,有效采样点3和5均选择“跳过”,有效采样点7选择候选键o,有效采样点10选择跳过,有效采样点13选择候选键r,此情况下得到的候选字符序列为“for”……依次类推,在组成候选字符序列时,有效采样点1具有5种可选项(“跳过”和4个候选键),其余五个有效采样点分别具有5、4、4、4、5种可选项,故这六个有效采样点进行组合,共可以得到5*5*4*4*4*5-1=7999个候选字符序列(删除的一种情况为:六个有效采样点都选择“跳过”的情况)。分别在预设的语言模型中查找是否存在这些候选字符序列,删除语言模型中不存在的字符序列,即可得到有实际意义的候选字符序列及其对应的候选词。
可选的,对于每个候选字符序列,尤其是经过一次查找判定语言模型中不存在的候选字符序列,还可以对其进行纠错、补全、上下文联想等处理,然后在语言模型中再次查找处理后的字符序列,以得到更多有意义的字符序列。例如,在英文输入模式下,对于候选字符序列“for”,语言模型中存在单词for与其匹配,可以直接作为候选词输出;还可以进一步对“for”进行补全、上下文联想,得到“forty”“foreign”等候选词。又如,在中文输入模式下,对于候选字符序列“four”,可以经过补全处理得到完整拼音“fouren”,进而得到候选词“否认”。
进一步的,根据表1所示概率,可以计算候选字符序列“for”的候选概率为:
P(“for”)=P01*P10*P20*P31*P40*P51
S16、按照所述候选概率由大到小的顺序输出所述候选词。
候选词的候选概率越大,表示其与用户实际输入意图越接近,故本申请实施例按照候选概率由大到小的顺序将各个候选词显示在输入候选栏中。仍以图3为例,假设得到的候选概率最大的三个候选词依次为for、four、forty,输出显示结果如图4所示界面示意图。
从上述实施例可以看出,本申请实施例可以接收用户在触摸显示屏上执行滑动操作得到的滑动触摸轨迹,通过对其采样、过滤等处理,得到多个有效采样点及其对应的候选键,并分析每个采样点的跳过概率及其每个候选键的出现概率,结合预设的语言模型得到具有实际意义的候选字符序列(候选词),并可以根据上述跳过概率和各个候选键的出现概率计算得到每个候选字符序列对应的候选概率,将候选概率最大的一个或多个候选词进行输出展示,供用户在展示出的候选词中选择自己实际想输入的内容。可见,应用本申请实施例,用户不需要通过多次点击、抬起操作来输入各个目标字符,而是可以通过一次滑动操作,使滑动触摸轨迹经过所有的目标字符,在此过程中,用户手指或触笔不需离开虚拟键盘,各个目标字符之间通过滑动方式过度,每次输入只需一次点击、抬起动作,可以大大减少用户的输入动作,使得输入过程更连贯,从而提高输入速度及输入效率。
同时,本申请实施例并不限制某一个候选键必须在候选字符序列中出现,而是计算各个候选键的出现概率及有效采样点的跳过概率,基于语言模型判定各个候选键的各种组合情况是否可以得到有意义的字符序列,并基于上述出现概率和跳过概率计算得到每个有意义的字符序列对应的候选概率,按照该候选概率由大到小的顺序输出展示相应的候选词;因此,相对于点触输入方式,本申请实施例的容错率更高,对用户的输入精准度要求更低,故可以进一步提高输入效率。
在本申请一个可行的实施例中,上述步骤S13所述的对采样点进行过滤得到有效采样点的过程,具体可以包括以下步骤:
S131、将所述滑动触摸轨迹的起始点对应的第一个采样点标记为有效采样点。
一般的,滑动触摸轨迹的起始点往往落在为用户要输入的首个字符附近,因此直接将起始点对应的第一个采样点作为有效采样点。
S132、依次将除所述第一个采样点之外的每个采样点作为当前采样点,根据所述当前采样点的候选键和/或旋转角度判断所述当前采样点是否为有效采样点。
本申请实施例中,可以根据各个采样点的候选键来判断有效采样点,也可以根据各个采样点的旋转角度判断有效采样点,还可以同时利用候选键和旋转角度来判断有效采样点。下面对具体的判断步骤进行详细阐述。
在本申请一个可行的实施例中,可以根据当前采样点的候选键判断其是否为有效采样点,具体包括以下步骤:
S21、判断所述当前采样点与前一个有效采样点之间,或者所述当前采样点与后一个采样点之间是否存在公共候选键;
S22、当存在所述公共候选键时,判断相对于所述前一个有效采样点和后一个采样点,所述当前采样点到公共候选键的距离是否最小;
S23、当所述当前采样点到公共候选键的距离最小,或者不存在所述公共候选键时,将所述当前采样点标记为有效采样点。
如果两个采样点存在公共候选键,说明这两个采样点距离很近,其中一个极有可能是冗余的无效采样点;如果在步骤S21中判定当前采样点与其前一个有效采样点或后一个采样点之间存在公共候选键时,为更准确地判断该当前采样点是否为有效采样点,比较该公共候选键到当前采样点及另一个采样点(即前一个有效采样点或后一个采样点)的距离:如果该公共候选键到该当前采样点的距离更小,说明该公共候选键更适合作为当前采样点的候选键,因此可以将当前采样点视为有效采样点,从而使得该公共候选键能够以更合适的字符位置(该当前采样点对应的字符位置)出现在候选字符序列中;反之,如果该公共候选键到该另一个采样点的距离更小,说明该公共侯选键更适合作为另一个采样点的侯选键,故可以将该当前采样点视为无效采样点。
另外,如果在步骤S21中判定当前采样点与其前一个有效采样点和后一个采样点之间都不存在公共候选键,说明这两个采样点距离较远,为使得该当前采样点对应的侯选键可以出现在候选字符序列中,可以将该当前采样点视为有效采样点。
参照图3,根据滑动触摸轨迹依次对每个采样点进行分析判断:
第一步、对于采样点1,由于其为第一个采样点(起始点),故直接将其作为有效采样点。
第二步、对于采样点2,其候选键包括f和g,其前一个有效采样点(即有效采样点1)的候选键包括f、g、c和d,二者存在公共候选键f和g,显然,公共候选键f距离有效采样点1更近;而采样点2的后一个采样点(即采样点3)的候选键包括g、h、t和y,二者存在公共候选键g,显然公共候选键距离采样点3更近。综合以上分析,可知,采样点2的候选键都在其相邻采样点的候选键中出现,且距离其相邻采样点更近,因此采样点2被视为无效采样点。
第三步、对于采样点3,其候选键包括g、h、t和y,其前一个有效采样点(即有效采样点1)的候选键包括f、g、c和d,二者存在公共候选键g,且公共候选键g距离采样点3更近;而采样点3的后一个采样点(即采样点4)的候选键包括h、g、y、u,二者也存在公共候选键g和h,公共候选键g依旧距离采样点3更近;综合以上分析,为保证g在候选字符序列中可以出现在距离最近的采样点3对应的字符位置,将采样点3视为有效采样点。
第四步、对于采样点4……依此类推,可以确定采样点4至13是否为有效采样点。
在本申请另一个可行的实施例中,也可以根据当前采样点的旋转角度判断其是否为有效采样点。
首先结合图5说明旋转角度的计算方式。假设有f0、f1和f2三个采样点,则f1相对于其前后两个采样点f0和f2的旋转角度,即f1相对于f0和f2的向量夹角,也即:由f0到f1的向量与由f1到f2的向量之间的夹角δ。在本申请实施例中,第一个采样点(起始点)和最后一个采样点(终止点)的旋转角度可以取默认值0。
由于本申请实施例所述的采样点包括有效采样点和无效采样点,因此在不同的情况下,同一采样点的旋转角度包括多种:一种情况下,可以限制为该采样点相对于其前一个有效采样点和后一个采样点的向量夹角,下文称为第一旋转角度;另一种情况下,也可以限制为该采样点相对于其前后距离最近的两个采样点(可能为有效采样点,也可能为无效采样点)的向量夹角,下文称为第二旋转角度;又一种情况下,还可以限制为该采样点相对于其前一个有效采样点和后一个有效采样点的向量夹角,下文称为第三旋转角度。
以图3所示采样点7为例,有效采样点5到到采样点7的向量与采样点7到采样点8的向量之间的夹角,可以记为该采样点7的第一旋转角度;采样点6到采样点7的向量与采样点7到采样点8的向量之间的夹角,可以记为该采样点7的第二旋转角度;有效采样点5到到采样点7的向量与采样点7到有效采样点10的向量之间的夹角,可以记为该采样点7的第三旋转角度。
基于以上关于旋转角度的阐述,本申请实施例中,根据当前采样点的旋转角度判断其是否为有效采样点的具体步骤可以包括:
S31、判断当前采样点的第一旋转角度是否大于第一预设角度阈值;
S32、判断当前采样点的第二旋转角度,及当前采样点与前一个有效采样点之间的各个无效采样点的第二旋转角度之和是否大于第二预设角度阈值;
S33、当所述当前采样点的第一旋转角度大于第一预设角度阈值,和/或,当前采样点及所述各个无效采样点的第二角度之和大于第二预设角度阈值时,将所述当前采样点标记为有效采样点。
本申请实施例中,步骤S31和S32的两个判断条件都是用于判断当前采样点在滑动触摸轨迹上是平滑经过的过点还是改变方向的拐点;根据图5中的旋转角度示意图可知,采样点的旋转角度越大,轨迹弯曲程度越大,该采样点越有可能是拐点。
可选的,上述第一预设角度阈值可以设置为120度(或其他角度阈值)。如图6所示,f1为要判断的当前采样点,f0是f1的前一个有效采样点,f2是f1的后一个采样点,f1的第一旋转角度为δ1,显然,当δ1大于120度时,滑动触摸轨迹在f1处发生明显的方向改变,因此f1为该轨迹上的一个拐点,极有可能为一个关键的有效采样点。
可选的,上述第二预设角度阈值可以设置为45度(或其他角度阈值)。参照图7,假设f2为要判断的当前采样点,f0是f2的前一个有效采样点,f1是f0和f2之间的一个无效采样点,f3是f2的后一个采样点,则根据步骤S32,计算当前采样点f2的第二旋转角度,及f2与前一个有效采样点f0之间的各个无效采样点的第二旋转角度之和,也即计算图7中f2的第二旋转角度δ2与无效采样点f1的第二旋转角度δ3之和δ'=δ2+δ3;该旋转角度之和δ'代表滑动触摸轨迹的平滑程度,即δ'越小,由f0到f3的轨迹越平滑,因此,如果该旋转角度之和δ'大于第二预设角度,说明f2有可能是该轨迹上的一个拐点,应该被视为有效采样点。
上文结合图5至图7阐述了本申请实施例根据旋转角度判断采样点是否为拐点,即是否可以被视为有效采样点的具体方法。
在本申请其他实施例中,还可以同时利用采样点的候选键和旋转角度判断该采样点是否为有效采样点。例如,对于当前采样点,可以先执行步骤S21和S22,如果当前采样点到公共候选键的距离最小,或者不存在所述公共候选键,进一步执行步骤S31和S32,如果当前采样点的第一旋转角度大于第一预设角度阈值,且,当前采样点及所述各个无效采样点的第二角度之和大于第二预设角度阈值时,将所述当前采样点标记为有效采样点;即,在当前采样点同时满足上述关于候选键和旋转角度的所有判断条件时,才判定该当前采样点为有效采样点。
在本申请一个可行的实施例中,上述步骤S14所述的确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率,具体可以包括以下步骤:
S141、依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
S142、根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
S143、根据当前有效采样点的各个候选键到当前有效采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1。
由前文关于旋转角度的定义可知,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角,下文记为angle。如图3所示,对于有效采样点3,其第三旋转角度angle3为有效采样点3相对于其前后两个有效采样点1和5的向量夹角,即前一个有效采样点1到有效采样点3的向量,与有效采样点3到其后一个有效采样点5的向量之间的夹角。
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比,下文记为speed;其中,所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值。
仍参照图3,标号为1至13的十三个采样点经过过滤,得到六个有效采样点,即有效采样点1、3、5、7、10和13。首先计算整个滑动触摸轨迹的平均速度V,为相邻两个有效采样点的距离之和,与采样时间之和的比值,即:
V=(S1:3+S3:5+S5:7+S7:10+S10:13)/(t13-t1);
或者,V=(S1:3+S3:5+S5:7+S7:10+S10:13)/(12*T)。
其中,上述平均速度计算公式中,S1:3表示有效采样点1和3之间的距离,S3:5表示有效采样点3和5之间的距离,S5:7表示有效采样点5和7之间的距离,S7:10表示有效采样点7和10之间的距离,S10:13表示有效采样点10和13之间的距离,t13表示有效采样点13对应的采样时间,t1表示有效采样点1对应的采样时间,T表示采样周期。
对于有效采样点3,其瞬时速度V3=(S2:3+S3:4)/(t4-t2),或者V3=(S2:3+S3:4)/(2*T);其中,S2:3表示有效采样点3到其前一个采样点2的距离,S3:4表示有效采样点3到其后一个采样点4的距离,t2表示采样点2对应的采样时间,t4表示采样点4对应的采样时间。从而,有效采样点3的滑动速度比speed3=V3/V。
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值,下文记为distance。
仍参照图3,对于有效采样点3,其候选键包括g、h、t和y,比较有效采样点3到g、h、t和y这四个键的中心点的距离,得知:有效采样点3到g的距离最小,记为S3,则有效采样点3对应的最短相对距离distance3=S3/D;其中,D表示虚拟键盘上单个键的键宽(或者说相邻两个键的中心点之间的距离)。
在得到当前有效采样点的第三旋转角度angle、滑动速度比speed和最短相对距离distance之后,进一步根据公式P(skip)=w0*w1*w2*w3*w4*w5*w6计算得到该当前采样点的跳过概率P(skip);其中,w0~w6这7个参数的涵义及确定方式如下所述。
1)w0为跳过概率的最大值,也即跳过概率的预设初始值,w0小于1,具体取值可以通过机器学习等方式训练得到,例如,w0可以设置为0.95。
上述w1、w2和w3三个参数实际是通过当前采样点的滑动速度比speed、最短相对距离distance和第三旋转角度angle其跳过概率的预设初始值w0进行线性衰减。
2)w1=min(1,speed*a1+b1),即w1为根据当前有效点的滑动速度比speed对其跳过概率的预设初始值w0进行衰减的参数,取1和speed*a1+b1中的最小值;参数a 1和b1的具体取值可以通过机器学习等方式训练得到,例如,a1和b1都可以取0.5。
因为,滑动速度比speed越小,说明用户划过该当前采样点时的速度越小,该点的候选键更有可能为用户期望输入的键;而依据上述公式,在a1和b1确定的情况下,speed越小,w1越小,从而可以使得跳过概率P(skip)越小。
3)w2=min(1,distance*a2+b2),即w2为根据当前有效点的最短相对距离distance对其跳过概率的预设初始值w0进行衰减的参数,取1和distance*a2+b2中的最小值;参数a2和b2的具体取值可以通过机器学习等方式训练得到,例如,a2和b2都可以取0.5。
因为,最短相对距离distance越小,说明当前有效采样点与某个候选键的距离越近(趋近于与该候选键重合),该点的候选键更有可能为用户期望输入的键,其跳过概率应当越小;而依据上述公式,在a2和b2确定的情况下,distance越小,w2越小,从而可以使得跳过概率P(skip)越小。
4)w3=(1–angle/180)*a3+b3,即w3为根据当前有效点的第三旋转角度angle对其跳过概率的预设初始值w0进行衰减的参数,参数a3和b3的具体取值可以通过机器学习等方式训练得到,例如,a3可以取0.9,b3可以取0.1。
因为,angle越大,当前采样点为拐点的可能性越大,被跳过的概率应当越小;而依据上述公式,在a3和b3确定的情况下,angle越大,w3越小,从而可以使得跳过概率P(skip)越小。
5)参数w4用于识别用户在滑动操作过程中在近似直线的平滑轨迹上进行停留的情况,例如,用户要输入“put”时,由于p、u、t三个键码在同一直线上,故在滑过u时的瞬时速度会比较小。
具体的,如果当前有效采样点的滑动速度比speed比其前后两个有效采样点的滑动速度比都小,且当前有效采样点的第三旋转角度angle小于第三预设角度阈值(如30度),可以视为滑动操作过程中在该当前有效采样点处有停留,故应当对其跳过概率进行一定衰减,此时可以取w4=min(1,speed*a4),参数a4的具体取值可以通过机器学习等方式训练得到,例如,可以取a4=0.6。反之,如果当前有效采样点的滑动速度比speed或第三旋转角度angle不满足上述条件,w4去1,即该当前有效采样点的跳过概率不衰减。
6)参数w5具体设置为:如果该当前有效采样点的第三旋转角度angle大于第四预设角度阈值,例如60度,则w5=a5,否则w5=1;其中,a5小于1,可以通过机器学习等方式训练得到,例如a5可以取值0.1。
参数w5的设置原理为:在当前有效采样点的第三旋转角度angle大到一定程度(第四预设角度阈值)时,该当前有效采样点有极大的可能为相应轨迹上的一个拐点,其作为无用点被跳过的概率也相对于轨迹上的过点更小,因此可以通过参数w5取值小于1的a5来对该当前有效采样点的跳过概率进行一定的衰减,以增大该当前有效采样点的侯选键的出现概率。
7)参数w6具体设置为:如果当前有效采样点的前一个有效采样点的第三旋转角度小于第五预设角度阈值,例如15度,且当前有效采样点的第三旋转角度angle大于第六预设角度阈值,例如30度,则w6=a6,否则w6=1;其中,a6小于1,也可以通过机器学习等方式训练得到,例如a5可以取值0.4
参数w6的设置原理为:在当前有效采样点的前一个有效采样点的第三旋转角度小于一定程度(第五预设角度阈值)时,可以认为当有效前采样点之前的轨迹近似一条直线,同时,当前有效采样点的第三旋转角度大于一定程度时,可以认为该当前有效采样点是轨迹开始转弯的那个拐点,,其作为无用点被跳过的概率也相对于轨迹上的过点更小,所以有必要通过参数w6对该当前有效采样点的跳过概率进行一定的衰减,以增大该当前有效采样点的侯选键的出现概率。
由以上技术方案可知,本申请实施例对于每个有效采样点,综合考虑多方面因素,包括其旋转角度、滑动速度、与各个侯选键的距离等,通过在跳过概率的预设初始值的基础上进行衰减的方式计算得到该有效采样点的跳过概率P(skip),使得越有可能是拐点、停留点的有效采样点,跳过概率越小,保证关键采样点的侯选键可以以更大概率出现在候选字符序列中,相应的候选概率也可以更大,从而使得优先输出的侯选词与用户期望的输入内容匹配度更高,提高输入正确率及输入效率。
本申请实施例中,在计算得到各个有效采样点的跳过概率后,可以在保证每个有效采样点的跳过概率与其侯选键的出现概率之和为1的前提下,依据每个有效采样点的各个侯选键与该有效采样点之间的距离确定其出现概率;其中,与有效采样点的距离越大的侯选键,其出现概率越小。
例如,图3中的有效采样点3,假设其跳过概率为0.22,则其四个侯选键g、h、t和y的出现概率之和为0.78;进一步假设,经过计算,上述四个侯选键的中心点与有效采样点3之间的距离分别为1mm、3mm、5mm、5mm,即距离比为1:3:5:5,则其对应的出现概率比可以取该距离比的反比,即15:5:3:3,将出现概率之和0.78依照15:5:3:3的比例分配,可得:侯选键g的出现概率为0.45,候选键h的出现概率为0.15,候选键t和y的出现概率均为0.09。
依据上述步骤S141至S143及其具体实施方式,即可得到任一滑动触摸轨迹对应的如表1所示的概率统计结果,进而可以根据该统计结构计算每个候选字符序列或者候选词对应的候选概率,再按照该候选概率由大到小的顺序输出展示相应的候选词;因此,相对于点触输入方式,本申请实施例的容错率更高,对用户的输入精准度要求更低,故可以进一步提高输入效率。
参见图8,为本申请实施例提供的一种文本输入装置的结构示意图。所述装置可以应用于前述任一具有触摸显示屏的电子设备,以执行前文任一实施例所述的文本输入方法。
如图8所示,该文本输入装置包括:
采样模块100,用于对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
采样点过滤模块200,用于基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
采样点概率确定模块300,用于确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
候选词确定模块400,用于根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
候选词输出模块500,用于按照所述候选概率由大到小的顺序输出所述候选词。
从上述实施例可以看出,应用本申请实施例,用户不需要通过多次点击、抬起操作来输入各个目标字符,而是可以通过一次滑动操作,使滑动触摸轨迹经过所有的目标字符,在此过程中,用户手指或触笔不需离开虚拟键盘,各个目标字符之间通过滑动方式过度,每次输入只需一次点击、抬起动作,可以大大减少用户的输入动作,使得输入过程更连贯,从而提高输入速度及输入效率。同时,本申请实施例并不限制某一个候选键必须在候选字符序列中出现,而是计算各个候选键的出现概率及有效采样点的跳过概率,基于语言模型判定各个候选键的各种组合情况是否可以得到有意义的字符序列,并基于上述出现概率和跳过概率计算得到每个有意义的字符序列对应的候选概率,按照该候选概率由大到小的顺序输出展示相应的候选词;因此,相对于点触输入方式,本申请实施例的容错率更高,对用户的输入精准度要求更低,故可以进一步提高输入效率。
在本申请一个可行的实现方式中,上述采样点过滤模块200具体可以包括:
候选键确定模块,用于针对每个采样点,根据所述坐标信息计算所述采样点与虚拟键盘上各个键之间的距离,筛选所述距离小于预设距离阈值的键作为所述采样点对应的候选键;
第一过滤模块,用于根据所述候选键判断各个采样点是否为有效采样点;
第二过滤模块,用于计算各个采样点的旋转角度,并根据所述旋转角度判断各个采样点是否为有效采样点。
本实现方式中,利用第一过滤模块和第二过滤模块,可以实现基于各个采样点的侯选键及其旋转角度判断该采样点是否为与实际输入意图有关的有效采样点,剔除冗余的无效采样点,有利于风准确地组合得到候选词。
在本申请一个可行的实现方式中,上述采样点概率确定模块300具体被配置为:
依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
根据当前有效采样点的各个候选键到当前采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1;
其中,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角;
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比;所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值;
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值。
本实现方式中,对于每个有效采样点,综合考虑多方面因素,包括其旋转角度、滑动速度、与各个侯选键的距离等,通过在跳过概率的预设初始值的基础上进行衰减的方式计算得到该有效采样点的跳过概,使得越有可能是拐点、停留点的有效采样点,跳过概率越小,保证关键采样点的侯选键可以以更大概率出现在候选字符序列中,相应的候选概率也可以更大,从而使得优先输出的侯选词与用户期望的输入内容匹配度更高,提高输入正确率及输入效率。
另外,本申请实施例还提供了一种终端设备,包括:触摸显示屏、存储器和处理器;
其中,所述触摸显示屏用于显示虚拟键盘,并感应滑行触摸操作,得到滑行触摸轨迹;所述存储器用于存储计算机可执行指令;所述处理器被配置为,通过调用所述存储器中的计算机可执行指令,使得所述终端设备执行上述任一方法实施例所述的文本输入方法的部分或全部步骤。
所述终端设备可以包括智能手机、平板电脑等智能电子设备。
具体实现中,本发明还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时可包括本发明提供的文本输入方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置和终端设备的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (10)

1.一种文本输入方法,其特征在于,包括:
对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
按照所述候选概率由大到小的顺序输出所述候选词。
2.根据权利要求1所述的方法,其特征在于,基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,包括:
针对每个采样点,根据所述坐标信息计算所述采样点与虚拟键盘上各个键之间的距离;
筛选所述距离小于预设距离阈值的键作为所述采样点对应的候选键。
3.根据权利要求1或2所述的方法,其特征在于,根据所述候选键对所述采样点进行过滤,得到有效采样点,包括:
将所述滑动触摸轨迹的起始点对应的第一个采样点标记为有效采样点;
依次将除所述第一个采样点之外的每个采样点作为当前采样点,根据所述当前采样点的候选键和/或旋转角度判断所述当前采样点是否为有效采样点;
其中,所述旋转角度包括第一旋转角度和第二旋转角度;所述第一旋转角度为,由当前采样点的前一个有效采样点到当前采样点的第一向量与,由当前采样点到后一个相邻点的第二向量之间的夹角;所述第二旋转角度为,由当前采样点的前一个采样点到当前采样点的第三向量与所述第二向量之间的夹角。
4.根据权利要求3所述的方法,其特征在于,根据所述当前采样点的候选键判断所述当前采样点是否为有效采样点,包括:
判断所述当前采样点与前一个有效采样点之间,或者所述当前采样点与后一个采样点之间是否存在公共候选键;
当存在所述公共候选键时,判断相对于所述前一个有效采样点和后一个采样点,所述当前采样点到公共候选键的距离是否最小;
当所述当前采样点到公共候选键的距离最小,或者不存在所述公共候选键时,将所述当前采样点标记为有效采样点。
5.根据权利要求3所述的方法,其特征在于,根据所述当前采样点的旋转角度判断所述当前采样点是否为有效采样点,包括:
判断当前采样点的第一旋转角度是否大于第一预设角度阈值,或者,判断当前采样点的第二旋转角度,及当前采样点与前一个有效采样点之间的各个无效采样点的第二旋转角度之和是否大于第二预设角度阈值;
当所述当前采样点的第一旋转角度大于第一预设角度阈值,和/或,当前采样点及所述各个无效采样点的第二角度之和大于第二预设角度阈值时,将所述当前采样点标记为有效采样点。
6.根据权利要求1或2所述的方法,其特征在于,确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率,包括:
依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
根据当前有效采样点的各个候选键到当前有效采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1;
其中,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角;
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比;所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值;
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值。
7.一种文本输入装置,其特征在于,包括:
采样模块,用于对终端设备接收到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
采样点过滤模块,用于基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
采样点概率确定模块,用于确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
候选词确定模块,用于根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
候选词输出模块,用于按照所述候选概率由大到小的顺序输出所述候选词。
8.根据权利要求7所述的装置,其特征在于,所述采样点过滤模块,包括:
候选键确定模块,用于针对每个采样点,根据所述坐标信息计算所述采样点与虚拟键盘上各个键之间的距离,筛选所述距离小于预设距离阈值的键作为所述采样点对应的候选键;
第一过滤模块,用于根据所述候选键判断各个采样点是否为有效采样点;
第二过滤模块,用于计算各个采样点的旋转角度,并根据所述旋转角度判断各个采样点是否为有效采样点。
9.根据权利要求7或8所述的装置,其特征在于,所述采样点概率确定模块被配置为:
依次将每个有效采样点作为当前有效采样点,计算当前有效采样点的第三旋转角度、滑动速度比和最短相对距离;
根据所述第三旋转角度、滑动速度比和最短相对距离,对预设跳过概率初始值进行衰减计算,得到当前有效采样点的跳过概率;
根据当前有效采样点的各个候选键到当前采样点的距离确定各个候选键的出现概率,以使各个候选键的出现概率及当前有效采样点的跳过概率之和为1;
其中,所述第三旋转角度为,由前一个有效采样点到当前有效采样点的第四向量与当前有效采样点到后一个有效采样点的第五向量之间的夹角;
所述滑动速度比为,当前有效采样点的瞬时速度与所述滑动触摸轨迹的平均速度之比;所述瞬时速度为,所述当前有效采样点到前后两个采样点的距离之和,与当前有效采样点的前后两个采样点的采样时间差之间的比值;
所述最短相对距离为,当前有效采样点到其候选键的最小距离与单个键的键宽之间的比值。
10.一种终端设备,其特征在于,包括:触摸显示屏、存储器和处理器;
所述触摸显示屏用于显示虚拟键盘,并感应滑行触摸操作,得到滑行触摸轨迹;
所述存储器用于存储计算机可执行指令;
所述处理器被配置为,通过调用所述存储器中的计算机可执行指令,使得所述终端设备执行:
对所述触摸显示屏感应得到的滑动触摸轨迹进行采样,得到多个采样点,并记录每个采样点的采样信息;所述采样信息至少包括相应采样点的坐标信息;
基于所述采样点的坐标信息确定每个采样点对应的一个或多个候选键,并根据所述候选键对所述采样点进行过滤,得到有效采样点;
确定各个有效采样点的跳过概率,及各个有效采样点对应的候选键的出现概率;
根据各个有效采样点对应的候选键组合得到候选词,并根据所述跳过概率和出现概率确定每个候选词对应的候选概率;
按照所述候选概率由大到小的顺序输出所述候选词。
CN201710075321.1A 2017-02-13 2017-02-13 文本输入方法、装置及终端设备 Active CN106843737B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710075321.1A CN106843737B (zh) 2017-02-13 2017-02-13 文本输入方法、装置及终端设备
US15/878,585 US10585583B2 (en) 2017-02-13 2018-01-24 Method, device, and terminal apparatus for text input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710075321.1A CN106843737B (zh) 2017-02-13 2017-02-13 文本输入方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN106843737A true CN106843737A (zh) 2017-06-13
CN106843737B CN106843737B (zh) 2020-05-08

Family

ID=59128063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710075321.1A Active CN106843737B (zh) 2017-02-13 2017-02-13 文本输入方法、装置及终端设备

Country Status (2)

Country Link
US (1) US10585583B2 (zh)
CN (1) CN106843737B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032378A (zh) * 2018-07-13 2018-12-18 汉王科技股份有限公司 一种滑行输入方法及装置
CN109582930A (zh) * 2017-09-29 2019-04-05 北京金山安全软件有限公司 一种滑动输入解码方法、装置及电子设备
CN110554780A (zh) * 2018-05-30 2019-12-10 北京搜狗科技发展有限公司 一种滑行输入的方法和装置
CN110673747A (zh) * 2019-09-24 2020-01-10 科大讯飞股份有限公司 输入候选符的展示方法及相关装置
CN111090341A (zh) * 2019-12-24 2020-05-01 科大讯飞股份有限公司 输入法候选结果展示方法、相关设备及可读存储介质
CN114627478A (zh) * 2022-03-07 2022-06-14 清华大学 一种输入文字的方法、装置及电子设备
CN114967972A (zh) * 2022-04-27 2022-08-30 华南理工大学 一种触摸屏采样率的调整方法、系统、装置及存储介质
CN115657925A (zh) * 2022-12-28 2023-01-31 上海海栎创科技股份有限公司 触摸输入识别系统及方法、设备、计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3072804B1 (fr) * 2017-10-20 2021-12-31 Inria Inst Nat Rech Informatique & Automatique Dispositif informatique a interface tactile amelioree et procede correspondant
KR102469722B1 (ko) * 2018-09-21 2022-11-22 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN110930007B (zh) * 2019-11-14 2023-03-14 北京农业智能装备技术研究中心 一种农机田间作业状态确定方法和装置
KR20220128892A (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 전자 장치 및 오타 보정 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719022A (zh) * 2010-01-05 2010-06-02 汉王科技股份有限公司 用于全功能键盘的字符输入方法及其处理装置
US7777728B2 (en) * 2006-03-17 2010-08-17 Nokia Corporation Mobile communication terminal
CN102934053A (zh) * 2010-04-08 2013-02-13 京瓷株式会社 字符输入装置及字符输入方法
CN103605642A (zh) * 2013-11-12 2014-02-26 清华大学 一种面向文本输入的自动纠错方法与系统
CN104199606A (zh) * 2014-07-29 2014-12-10 北京搜狗科技发展有限公司 一种滑行输入的方法和装置
CN104272222A (zh) * 2012-01-16 2015-01-07 触摸式有限公司 输入文本的系统和输入文本的方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292111B2 (en) * 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US20020136371A1 (en) * 2001-03-20 2002-09-26 Saied Bozorgui-Nesbat Method and apparatus for alphanumeric data entry using a keypad
US7453439B1 (en) * 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7382358B2 (en) * 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7057607B2 (en) * 2003-06-30 2006-06-06 Motorola, Inc. Application-independent text entry for touch-sensitive display
US7697729B2 (en) * 2004-01-29 2010-04-13 Authentec, Inc. System for and method of finger initiated actions
GB2412480B (en) * 2004-03-23 2008-11-05 Allan Michael Stewart Keyboards
US20060077179A1 (en) * 2004-10-08 2006-04-13 Inventec Corporation Keyboard having automatic adjusting key intervals and a method thereof
US7694231B2 (en) * 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
US7594050B2 (en) * 2005-11-23 2009-09-22 Research In Motion Limited System and method for recognizing a keystroke in an electronic device
US8970503B2 (en) * 2007-01-05 2015-03-03 Apple Inc. Gestures for devices having one or more touch sensitive surfaces
US10437459B2 (en) * 2007-01-07 2019-10-08 Apple Inc. Multitouch data fusion
US8525799B1 (en) * 2007-04-24 2013-09-03 Cypress Semiconductor Conductor Detecting multiple simultaneous touches on a touch-sensor device
US8358277B2 (en) * 2008-03-18 2013-01-22 Microsoft Corporation Virtual keyboard based activation and dismissal
US20090249258A1 (en) * 2008-03-29 2009-10-01 Thomas Zhiwei Tang Simple Motion Based Input System
US8898586B2 (en) * 2010-09-24 2014-11-25 Google Inc. Multiple touchpoints for efficient text input
US8693726B2 (en) * 2011-06-29 2014-04-08 Amazon Technologies, Inc. User identification by gesture recognition
US10082950B2 (en) * 2011-11-09 2018-09-25 Joseph T. LAPP Finger-mapped character entry systems
US20180165001A1 (en) * 2013-02-25 2018-06-14 Shanghai Chule (CooTek) Information Technology Co. , Ltd. Sliding input method and device
GB201418402D0 (en) * 2014-10-16 2014-12-03 Touchtype Ltd Text prediction integration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7777728B2 (en) * 2006-03-17 2010-08-17 Nokia Corporation Mobile communication terminal
CN101719022A (zh) * 2010-01-05 2010-06-02 汉王科技股份有限公司 用于全功能键盘的字符输入方法及其处理装置
CN102934053A (zh) * 2010-04-08 2013-02-13 京瓷株式会社 字符输入装置及字符输入方法
CN104272222A (zh) * 2012-01-16 2015-01-07 触摸式有限公司 输入文本的系统和输入文本的方法
CN103605642A (zh) * 2013-11-12 2014-02-26 清华大学 一种面向文本输入的自动纠错方法与系统
CN104199606A (zh) * 2014-07-29 2014-12-10 北京搜狗科技发展有限公司 一种滑行输入的方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582930A (zh) * 2017-09-29 2019-04-05 北京金山安全软件有限公司 一种滑动输入解码方法、装置及电子设备
CN109582930B (zh) * 2017-09-29 2022-12-20 北京金山安全软件有限公司 一种滑动输入解码方法、装置及电子设备
CN110554780A (zh) * 2018-05-30 2019-12-10 北京搜狗科技发展有限公司 一种滑行输入的方法和装置
CN109032378A (zh) * 2018-07-13 2018-12-18 汉王科技股份有限公司 一种滑行输入方法及装置
CN110673747A (zh) * 2019-09-24 2020-01-10 科大讯飞股份有限公司 输入候选符的展示方法及相关装置
CN110673747B (zh) * 2019-09-24 2023-04-18 科大讯飞股份有限公司 输入候选符的展示方法及相关装置
CN111090341A (zh) * 2019-12-24 2020-05-01 科大讯飞股份有限公司 输入法候选结果展示方法、相关设备及可读存储介质
CN114627478A (zh) * 2022-03-07 2022-06-14 清华大学 一种输入文字的方法、装置及电子设备
CN114967972A (zh) * 2022-04-27 2022-08-30 华南理工大学 一种触摸屏采样率的调整方法、系统、装置及存储介质
CN115657925A (zh) * 2022-12-28 2023-01-31 上海海栎创科技股份有限公司 触摸输入识别系统及方法、设备、计算机可读存储介质
CN115657925B (zh) * 2022-12-28 2023-03-14 上海海栎创科技股份有限公司 触摸输入识别系统及方法、设备、计算机可读存储介质

Also Published As

Publication number Publication date
US20180232137A1 (en) 2018-08-16
US10585583B2 (en) 2020-03-10
CN106843737B (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN106843737A (zh) 文本输入方法、装置及终端设备
US20210073467A1 (en) Method, System and Apparatus for Entering Text on a Computing Device
US9703462B2 (en) Display-independent recognition of graphical user interface control
US11194448B2 (en) Apparatus for vision and language-assisted smartphone task automation and method thereof
US7925975B2 (en) Searching for commands to execute in applications
US20110201387A1 (en) Real-time typing assistance
US20120110459A1 (en) Automated adjustment of input configuration
US20110047514A1 (en) Recording display-independent computerized guidance
US8713464B2 (en) System and method for text input with a multi-touch screen
CN103473003A (zh) 一种字符输入的纠错方法及其装置
CN106201177A (zh) 一种操作执行方法及移动终端
CN103886012B (zh) 辞典检索装置、辞典检索方法、辞典检索系统以及服务器
CN105718072B (zh) 一种字符输出方法及移动终端
US20110047462A1 (en) Display-independent computerized guidance
CN106325596B (zh) 一种书写笔迹自动纠错方法及系统
CN107506296A (zh) 一种输入法测试方法、装置、电子设备及存储介质
JP6355293B1 (ja) 文字評価プログラム、文字評価方法及び文字評価装置
EP3267301B1 (en) High-efficiency touch screen text input system and method
JP2024064941A (ja) 表示方法、装置、ペン型電子辞書、電子機器及び記憶媒体
EP3260955A1 (en) Slide input method and apparatus
CN107316639A (zh) 一种基于语音识别的信息输入方法及装置,电子设备
CN107132927A (zh) 输入字符的识别方法及装置和用于识别输入字符的装置
CN112445901A (zh) 一种设置智能设备的语言的方法和装置
CN108829266A (zh) 音节补全方法及装置、存储介质、电子设备
CN111913646A (zh) 一种信息发送方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant