CN107943319A - 一种模拟输入法操作的方法及装置 - Google Patents

一种模拟输入法操作的方法及装置 Download PDF

Info

Publication number
CN107943319A
CN107943319A CN201711214941.5A CN201711214941A CN107943319A CN 107943319 A CN107943319 A CN 107943319A CN 201711214941 A CN201711214941 A CN 201711214941A CN 107943319 A CN107943319 A CN 107943319A
Authority
CN
China
Prior art keywords
node
network
input method
directed connection
destination node
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
CN201711214941.5A
Other languages
English (en)
Other versions
CN107943319B (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.)
iFlytek Co Ltd
Original Assignee
iFlytek Co Ltd
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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201711214941.5A priority Critical patent/CN107943319B/zh
Publication of CN107943319A publication Critical patent/CN107943319A/zh
Application granted granted Critical
Publication of CN107943319B publication Critical patent/CN107943319B/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种模拟输入法操作的方法及装置,所述方法包括:预先构建一个输入法操作网络,通过在输入法操作网络中设置不同的原子操作以及多个原子操作之间的操作顺序,可以对输入法操作场景进行合理的覆盖,即可以覆盖不同用户对输入法的实际操作流程;基于此,通过响应对目标输入法的模拟操作请求,从输入法操作网络中选择一个网络节点作为源节点,然后选择一条从源节点开始的有向连接路径,最后按照该有向连接路径上的原子操作的操作顺序,依次在目标输入法上完成对应的原子操作,这样,可以真实模拟用户的输入法操作,从而重现用户对目标输入法的操作流程。

Description

一种模拟输入法操作的方法及装置
技术领域
本申请涉及输入法技术领域,尤其涉及一种模拟输入法操作的方法及装置。
背景技术
手机输入法作为手机的必备应用,用户范围极为广泛,因此,保证输入法应用的稳定性非常重要。
现有的输入法稳定性测试方法中,通常是在模拟输入法操作的过程中进行稳定性测试。在模拟输入法操作时,一般会把输入法操作限制在较少的场景下,还倾向于重复模拟单一的输入法操作,以此达到模拟输入法操作的目的。
但是,输入法操作具备很强的灵活性,如果将输入法操作限制在较少的场景下、且不断重复单一的输入法操作,将无法对输入法操作进行合理的覆盖,即无法客观的重现用户的实际操作流程,从而降低了输入法稳定性测试结果的可信度。
发明内容
本申请实施例的主要目的在于提供一种模拟输入法操作的方法及装置,能够更加真实地模拟用户的输入法操作。
本申请提供了一种模拟输入法操作的方法,包括:
响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
可选的,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述选择一条从所述源节点开始的有向连接路径,包括:
将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
可选的,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点,包括:
根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围;
生成一个数值;
根据所述数值所属的数值范围选择一个目标节点。
可选的,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围,包括:
当所述目标节点的个数为N时,确定N个数值范围;
其中,第n个数值范围为i=1、2……N,n=1、2……N,N大于1;linki表示所述起始节点与第i个目标节点之间的有向连接对应的权重值;当n=1时,
相应地,所述根据所述数值所属的数值范围选择一个目标节点,包括:
确定所述数值所属的数值范围对应的标识n;
选择所述标识n对应的目标节点。
可选的,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围之前,还包括:
将所述起始节点与每一所述目标节点之间的有向连接对应的权重值,进行相同级别的放大操作或缩小操作。
可选的,所述输入法操作网络的构建方式,包括:
收集至少一个输入行为数据,其中,所述输入行为数据包括用户利用所述目标输入法实现的连续原子操作、以及所述连续原子操作的操作顺序;
将所述输入行为数据中的每一原子操作对应一个网络节点,并将每两个连续原子操作对应的两个网络节点进行有向连接;
在不同的所述输入行为数据中,若存在相同的两个连续原子操作,则将所述相同的两个连续原子操作、以及所述相同的两个连续原子操作对应的有向连接进行合并。
可选的,所述方法还包括:
当完成所述有向连接路径上的所有原子操作后,确定完成本轮模拟操作;
判断是否完成预设轮数的模拟操作;
若是,则结束模拟操作,若否,则继续执行所述从预先构建的输入法操作网络中选择一个网络节点作为源节点的步骤。
可选的,所述方法还包括:
在利用所述目标输入法进行模拟操作的过程中,监测与所述目标输入法的稳定性相关的至少一个性能指标。
本申请还提供了一种模拟输入法操作的装置,包括:
节点选择单元,用于响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
路径选择单元,用于从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
模拟操作单元,用于按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
可选的,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述路径选择单元包括:
节点确定子单元,用于将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
第一选择子单元,用于当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
第二选择子单元,用于当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
路径形成子单元,用于当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
本申请还提供了一种模拟输入法操作的装置,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述任一项所述的方法。
本申请实施例提供的一种模拟输入法操作的方法及装置,预先构建一个输入法操作网络,通过在输入法操作网络中设置不同的原子操作以及多个原子操作之间的操作顺序,可以对输入法操作场景进行合理的覆盖,即可以覆盖不同用户对输入法的实际操作流程;基于此,通过响应对目标输入法的模拟操作请求,从输入法操作网络中选择一个网络节点作为源节点,然后选择一条从源节点开始的有向连接路径,最后按照该有向连接路径上的原子操作的操作顺序,依次在目标输入法上完成对应的原子操作,这样,可以真实模拟用户的输入法操作,从而重现用户对目标输入法的操作流程。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种模拟输入法操作方法的流程示意图;
图2为本申请实施例一提供的应用场景示意图;
图3为本申请实施例一提供的输入法界面示意图;
图4为本申请实施例一提供的有向连接示意图;
图5为本申请实施例一提供的输入法操作网络示意图;
图6为本申请实施例一提供的输入法操作网络的构建方式的流程示意图;
图7为本申请实施例一提供的连续原子操作示意图之一;
图8为本申请实施例一提供的连续原子操作示意图之二;
图9为本申请实施例二提供的一种模拟输入法操作方法的流程示意图;
图10为本申请实施例三提供的一种模拟输入法操作方法的流程示意图;
图11为本申请实施例四提供的一种模拟输入法操作装置的组成示意图;
图12为本申请实施例五提供的一种模拟输入法操作装置的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
经研究发现,现有的模拟输入法操作的方法中,会把输入法操作限制在较少的场景下,且不断重复单一的输入法操作,这样,将无法对输入法操作进行合理的覆盖,即无法客观的重现用户的实际操作流程。
为解决上述问题,本申请实施例首先定义用户在输入法应用上的原子操作,即无法被分解的操作,比如输入、回删、选择结果等单次操作;然后,通过收集大量用户在输入法应用上的连贯输入操作并进行统计分析,提取出用户原子操作之间的关联性,以此构建一个输入法操作网络,也就是说,通过在输入法操作网络中设置不同的原子操作以及多个原子操作之间的操作顺序,对真实输入法操作场景进行合理的覆盖,即覆盖不同用户对输入法的实际操作习惯。这样,在模拟输入法操作的过程中,通过给定一个起始的原子操作,在输入法操作网络中检索此原子操作,并基于输入法操作网络中定义的操作流向来预测和执行下一步原子操作,从而更真实的模拟用户的输入法操作。
下面将结合附图1至附图10对本申请示例性实施例示出的一种模拟输入法操作的方法进行介绍。
实施例一
参见图1,为本实施例一提供的一种模拟输入法操作方法的流程示意图,该方法包括以下步骤:
S101:响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点。
参见图2,为本实施例提供的示例性应用场景。其中,本实施例提供的方法可以应用于如图2所示的场景,在该场景中,终端设备102可以是手机、pad、台式电脑等任一可以使用输入法的设备,终端设备102可以提供一个模拟操作界面,该模拟操作界面中可以提供一个“模拟开始”的操作按钮,用户101可以通过外部设备比如鼠标或是手指触碰的方式点击该操作按钮,以此触发所述模拟操作请求,终端设备102检测到该模拟操作请求,便执行本实施例或后续实施例的各个步骤。
需要说明的是,上述应用场景仅是为了便于理解本申请而示出,本申请的实施例在此方面不受任何限制。相反,本申请的实施例可以应用于适用的任何场景。
需要说明的是,为便于描述,本实施例将被模拟测试的输入法称为目标输入法,所述目标输入法可以是常见的中文输入法(比如拼音输入法、五笔输入法、注音输入法等),也可以是其它语种的输入法(比如日文平假名输入法、韩文输入法等)。为了便于描述,本申请实施例的相关内容,将以中文输入法为例进行具体说明。
在本实施例中,可以收集不同用户的各种输入法操作行为,并将其拆分成不同的原子操作,所述原子操作是无法分解的输入法操作,即,所述原子操作的过程是无法分割的,是不需要进行二次操作的,比如,所述原子操作可以是一次点击动作完成的字符输入操作,根据这些原子操作以及原子操作之间的操作顺序,预先构建一个输入法操作网络。可见,利用大量真实的输入法操作行为构建的输入法操作网络,可以真实的反映用户在不同输入法场景中的输入法操作,可以对输入法操作场景进行合理的覆盖,即可以覆盖不同情况下用户对输入法的实际操作流程。需要说明的是,对于所述输入法操作网络的构建方式将在后面进行详细介绍。
接下来,将结合图3所示的输入法界面示意图,对原子操作进行举例说明。
在图3中,输入法界面中的区域A为工具栏区域,区域A提供给用户的操作图标从左至右依次对应于“进入设置界面”、“进入切换键盘模式界面”、“进入语音输入界面”、“进入光标移动界面”、“进入表情页面等操作”等功能,用户可以通过单次点击区域A中的任意一图标,进入相应界面,不同界面的进入操作即对应不同的原子操作。比如,单次点击设置图标301进入设置页面,即完成一次原子操作。
在图3中,输入界面中的区域B为拼音输入区域,可以通过单次点击区域B中的任意一按键,输入该按键对应的拼音音节,不同拼音音节的输入操作即对应不同的原子操作。比如,单次点击按键302输入拼音音节“a”,即完成一次原子操作。
在图3中,输入界面中的区域C为符号输入区域,通过单次点击区域C中的任意一按键,输入该按键对应的符号,不同符号的输入操作即对应不同的原子操作。比如,单次点击按键303输入符号“?”,即完成一次原子操作。
在本实施例中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序。
可以理解的是,当两个网络节点之间存在有向连接时,可以根据该有向连接的方向,确定这两个网络节点对应的两个原子操作在操作时的先后顺序。为便于描述,可以将所述有向连接的起始端网络节点称为起始节点,以及将所述有向连接的终止端网络节点称为目标节点,即,起始节点对应的原子操作为在先执行的原子操作,而目标节点对应的原子操作为在后执行的原子操作。
例如,参见图4所示的有向连接示意图,假设网络节点“输入h”对应原子操作A(即点击拼音字符“h”对应的按键)、网络节点“输入e”对应原子操作B(即点击拼音字符“e”对应的按键);其中,网络节点“输入h”与网络节点“输入e”之间存在有向连接,且该有向连接的方向为由网络节点“输入h”到网络节点“输入e”,这说明这两个网络节点对应的两个原子操作在操作时的先后顺序为:先执行网络节点“输入h”对应的原子操作A,再执行网络节点“输入e”对应的原子操作B。
需要说明的是,对于输入法操作网络中的任意一个网络节点,均可以将其作为源节点,以便将该源节点对应的原子操作为操作起点,从而模拟用户的多个连续原子操作。举例说明,参见图5所示的输入法操作网络示意图,当需要对所述目标输入法进行模拟操作时,可以选择图5所示的任一网络节点作为源节点,比如网络节点“输入h”;特殊地,当被选择的网络节点在输入法操作网络中存在两个或两个以上时,比如网络节点“输入u”,可以采用随机选择或其它方式选择其中一个。
S102:从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径。
其中,所述有向连接路径是由一个或多个有向连接相互连接而形成的路径,路径中的每一有向连接的方向均相同,所述有向连接路径的起始端为通过S101选择的源节点,所述有向连接路径的终止端可以是除所述源节点以外的其它任一网络节点。
举例说明,如图5所示,当选择网络节点“输入h”作为源节点时,可以选择从该网络节点“输入h”开始的一条有向连接路径,比如,“输入h”→“输入u”→“输入i”→“选择“回””,又比如,“输入h”→“输入u”→“输入u”→“回删”→“输入i”;当选择网络节点“输入i”作为源节点时,可以选择从网络节点“输入i”开始的一条有向连接路径,比如,“输入i”→“选择“回””,等等。
需要说明的是,选择所述有向连接路径的具体方式将在后续实施例二中介绍。
S103:按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
在输入法操作网络中选择了一条有向连接路径后,可以根据该有向连接路径中各个有向连接的方向,确定该有向连接路径中的各个网络节点对应的原子操作在操作时的先后顺序,从而得到该有向连接路径对应的原子操作顺序。接着,可以按照该原子操作顺序,依次在目标输入法上执行各个网络节点对应的原子操作。
可以理解的是,所述有向连接路径中各个网络节点的连接顺序,即为各个网络节点对应的原子操作的操作顺序,为了便于理解,继续以S102中的例子为例,来说明如何在目标输入法上完成对应的原子操作。
如图5所示,当选择的有向连接路径为:“输入h”→“输入u”→“输入i”→“选择“回””时,依次在目标输入法上完成网络节点“输入h”对应的原子操作(即点击拼音字符“h”对应的按键)、网络节点“输入u”对应的原子操作(即点击拼音字符“u”对应的按键)、网络节点“输入i”对应的原子操作(即点击拼音字符“i”对应的按键)、网络节点“选择“回””对应的原子操作(即点击候选列表中的汉字“回”)。
同理,当选择的有向连接路径为“输入h”→“输入u”→“输入u”→“回删”→“输入i”,或者选择的有向连接路径为“输入i”→“选择“回””时,可以按照该有向连接路径对应的原子操作顺序,依次在目标输入法上完成对应的原子操作。
接下来,将上述输入法操作网络的构建方式进行具体介绍。
如图6所示,在本申请实施例中,对于输入法操作网络的构建方式可以包括以下步骤:
S601:收集至少一个输入行为数据,其中,所述输入行为数据包括用户利用所述目标输入法实现的连续原子操作、以及所述连续原子操作的操作顺序。
在本实施例中,可以收集不同用户的不同输入行为数据,每一输入行为数据可以包括用户利用目标输入法输入内容时的实际操作流程,其中,该实际操作流程可以包括用户在输入内容时的每一步原子操作,以及原子操作之间的操作顺序。
为便于理解,现举例说明所述输入行为数据。假设目标输入法为中文拼音输入法,当用户想要通过该目标输入法的26键拼音界面输入词组“回家”时,如图7所示,用户在该目标输入法界面中需要依次点击拼音字符“h”对应的按键(即原子操作A)、点击拼音字符“u”对应的按键(即原子操作B)、点击拼音字符“i”对应的按键(即原子操作C)、点击拼音字符“j”对应的按键(即原子操作D)、点击拼音字符“i”对应的按键(即原子操作E)、点击拼音字符“a”对应的按键(即原子操作F);接着,点击候选列表中的词组“回家”(即原子操作G),最后,点击“回车键”(即原子操作H)实现上屏。由于用户利用目标输入法输入词组“回家”的实际操作流程依次为原子操作A、B、C、D、E、F、G、H,因此,可以将用户利用目标输入法实现的原子操作A-H、以及原子操作A-H的操作顺序作为输入行为数据。
另外,所述输入行为数据可以通过多种途径进行收集,例如,可以通过即时聊天工具、网页浏览器、办公软件等软件收集得到,还可以从服务器日志中收集得到。
S602:将所述输入行为数据中的每一原子操作对应一个网络节点,并将每两个连续原子操作对应的两个网络节点进行有向连接。
本实施例中,是将同一输入行为数据中的每一原子操作均对应一个网络节点。为便于理解,继续以S601中的例子为例来说明。
如图7所示,可以将上述原子操作A、B、C、D、E、F、G、H分别对应一个网络节点。具体地,使原子操作A(即点击拼音字符“h”对应的按键)对应于网络节点“输入h”,将原子操作B(即点击拼音字符“u”对应的按键)对应于网络节点“输入u”,将原子操作C(即点击拼音字符“i”对应的按键)对应于网络节点“输入i”,将原子操作D(即点击拼音字符“j”对应的按键)对应于网络节点“输入j”,将原子操作E(即点击拼音字符“i”对应的按键)对应于网络节点“输入i”,将原子操作F(即点击拼音字符“a”对应的按键)对应于网络节点“输入a”,将原子操作G(即点击候选列表中的词组“回家”)对应于网络节点“选择“回家””,将原子操作H(即点击“回车键”)对应于网络节点“回车”。
在实施例中,是将同一输入行为数据中的每两个连续原子操作对应的两个网络节点进行有向连接。为便于理解,继续以上述例子来说明。
如图8所示,在将输入行为数据中的原子操作A、B、C、D、E、F、G、H分别对应一个网络节点之后,可以根据原子操作A-H的操作顺序,具体地,将原子操作A和B分别作为一有向连接的起始端和终止端,将原子操作B和C分别作为一有向连接的起始端和终止端…….,这样,该输入行为数据对应的有向连接关系为原子操作A→原子操作B→原子操作C→原子操作D→原子操作E→原子操作F→原子操作G→原子操作H。
S603:在不同的所述输入行为数据中,若存在相同的两个连续原子操作,则将所述相同的两个连续原子操作、以及所述相同的两个连续原子操作对应的有向连接进行合并。
对于收集的两个或两个以上的输入行为数据中,可能存在相同的有向连接,即,这些有向连接的起始端网络节点和终止端网络节点均相同,则将这些有向连接以及对应的网络节点进行合并。
举例说明,如图5所示,假设有3个输入行为数据,分别对应的网络节点顺序为“输入h”→“输入u”→“输入i”、“输入h”→“输入u”→“输入u”,“输入h”→“输入u”→“选择“胡””,这3个输入行为数据均对应于有向连接“输入h”→“输入u”,所以将其合并成一个“输入h”→“输入u”。
综上,在本申请实施例中,可以预先构建一个输入法操作网络,通过在输入法操作网络中设置不同的原子操作以及多个原子操作之间的操作顺序,可以对输入法操作场景进行合理的覆盖,即可以覆盖不同用户对输入法的实际操作流程;基于此,通过响应对目标输入法的模拟操作请求,从输入法操作网络中选择一个网络节点作为源节点,然后选择一条从源节点开始的有向连接路径,最后按照该有向连接路径上的原子操作的操作顺序,依次在目标输入法上完成对应的原子操作,这样,可以真实模拟用户的输入法操作,从而重现了用户对目标输入法的操作流程。
实施例二
与实施例一相比,本实施例二重点介绍上述实施例一中的S102。
参见图9,为本实施例二提供的一种模拟输入法操作方法的流程示意图,该方法包括以下步骤:
S901:响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点。
需要说明的是,S901与上述实施例一中的S101相同,请参见上述实施例一的相关介绍,在此不再赘述。
S902:将所述源节点作为起始节点。
S903:确定是否存在与所述起始节点存在有向连接的目标节点,若是,则执行S904,若否,则执行S907。
其中,该目标节点是对应有向连接的终止端网络节点。
S904:判断所述目标节点的个数是否等于1,若是,则执行S905,若否,则执行S906。
关于S902-S904,可以将选定的源节点作为起始节点,当该起始节点作为有向连接的起始端网络节点时,判断是否存在有向连接的终止端网络节点,即判断是否存在与该起始节点存在有向连接的目标节点,若有,则可以进一步地确定该目标节点的个数。
例如,如图5所示,假设选择网络节点“输入h”作为源节点,则可以将该源节点“输入h”作为起始节点,并判断是否有与该起始节点“输入h”存在有向连接的目标节点。由于网络节点“输入a”、网络节点“输入u”以及网络节点“输入e”与该起始节点“输入h”均分别存在有向连接,其中,这三个有向连接的起始端均为起始节点“输入h”,这三个有向连接的终止端分别为网络节点“输入a”、网络节点“输入u”以及网络节点“输入e”。因此,网络节点“输入a”、网络节点“输入u”以及网络节点“输入e”均可以作为与起始节点“输入h”的目标节点,也就是说,与起始节点“输入h”存在有向连接的目标节点的个数为3个。
S905:选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,继续执行S903。
S906:根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,继续执行S903。
本实施例中,所述输入法操作网络中的每一有向连接可以对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作。
本实施例具体可以按照以下方式为每一有向连接设置权重值:
对于上述通过S601收集的各个输入行为数据,可以统计每一对连续原子操作的操作次数,并将该操作次数作为对应连续原子操作的两个网络节点之间的有向连接的权重值。例如,如图5所示,网络节点“输入h”与网络节点“输入u”之间的有向连接的权重值为100万(即100w)。
需要说明的是,对于比较重要的原子操作,可以根据模拟测试的实际需求,将该重要原子操作的所有有向连接的权重值增大。例如,参见图5,当需要测试网络节点“输入i”对应的原子操作的稳定性时,可以增加网络节点“输入i”对应的每一有向连接的权重值,即,增加“输入i”与“输入u”之间的有向连接的权重值,增加“输入i”与“选择“回””之间的有向连接的权重值,增加“输入i”与“回删”之间的有向连接的权重值。
需要说明的是,对于本步骤中“根据起始节点与每一目标节点之间的有向连接对应的权重值,选择一个目标节点”的具体实现方式将在后面进行详细说明。
S907:当确认不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
例如,假设依次选择了“输入h”与“输入u”之间的有向连接、“输入u”与“输入i”之间的有向连接、“输入i”与“选择“回””之间的有向连接,则形成有向连接路径为:“输入h”→“输入u”→“输入i”→“选择“回””。
S908:按照所述有向连接路径对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
需要说明的是,S908与上述实施例一中的S103相同,请参见上述实施例一中的相关介绍,在此不再赘述。
下面对上述S906中的“根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点”的具体实现方式进行具体介绍。
在本申请的一种实施方式中,其具体可以包括S906a-S906c:
S906a:根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围。
在确定与起始节点存在有向连接的目标节点的个数大于1、且确定出该起始节点与每一个目标节点之间的有向连接对应的权重值之后,可以根据各个权重值,确定出两个或两个以上的数值范围。
作为一种示例,当目标节点的个数为N时,可以确定N个数值范围,其中,第n个数值范围可以利用如下公式计算:
其中,i=1、2……N,n=1、2……N,N大于1;linki表示所述起始节点与第i个目标节点之间的有向连接对应的权重值;当n=1时,
举例来说,假设与起始节点存在有向连接的目标节点的个数为3,即N=3,则第一个数值范围(即n=1时)可以为(0,link1],第二个数值范围(即n=2时)可以为(link1,link1+link2],第三个数值范围(即n=3时)可以为(link1+link2,link1+link2+link3]。
S906b:生成一个数值。
当采用上述公式(1)确定出N个取值范围时,这N个取值范围对应的总取值范围为(0,sum(linki)]。
本实施例可以从该总取值范围内,随机取一个数值,即:
linkRadom=radom(0,sum(linki)] (2)
其中,sum()为求和函数;radom()为随机函数。
S906c:根据所述数值所属的数值范围选择一个目标节点。
作为一种示例,S906c具体可以包括:确定所述数值所属的数值范围对应的标识n;选择所述标识n对应的目标节点。
具体来讲,第n个目标节点与第n个数值范围之间可以通过标识n建立对应关系。基于此,继续以S906a和S906b中的例子为例,在确定出第一个(即n=1时)数值范围为(0,link1]、第二个(即n=2时)数值范围为(link1,link1+link2]、第三个(即n=3时)数值范围为(link1+link2,link1+link2+link3]、以及数值linkRadom后,可以先判断该数值linkRadom处于第几个数值范围中;若数值linkRadom在第一个数值范围(0,link1]内,则选择第一个目标节点link1;若数值linkRadom在第二个数值范围(link1,link1+link2]内,则选择第二个目标节点link2;若数值linkRadom在第三个数值范围(link1+link2,link1+link2+link3]内,则选择第三个目标节点link3
进一步地,如果所述输入法操作网络中各个有向连接对应的权重值均偏大,可以将各个权重值进行相同级别的缩小操作,反之,如果所述输入法操作网络中各个有向连接对应的权重值均偏小,可以将各个权重值进行相同级别的放大操作,这样,可以将权重值缩放到一个比较合适的数值级别上,避免权重值过大或过小,从而减轻采用上述步骤S906a计算数值范围时的计算量,进而缩短了模拟输入法操作的时间。
因此,在本申请实施例的一种实现方式中,在上述步骤S906a之前,还可以包括:将所述起始节点与每一所述目标节点之间的有向连接对应的权重值,进行相同级别的放大操作或缩小操作。在本实施方式中,当各个权重值偏小时,可以选定一个放大倍数,并采用该放大倍数对各个权重值进行放大操作;当各个权重值偏大时,可以选定各个权重值的一个公约数,比如最大公约数,并采用该公约数对各个权重值进行缩小操作。
下面结合图5对权重值的缩小操作进行举例说明:
如图5所示,假设网络节点“输入h”为起始节点,与该起始节点“输入h”存在有向连接的目标节点分别为“输入a”、“输入u”和“输入e”,且该起始节点“输入h”与目标节点“输入a”、“输入u”、“输入e”之间的有向连接对应的权重值分别为500w、100w、90w。由于这三个权重值偏大,因此,可以先确定这三个权重值的最大公约数为10w,接着,将这三个权重值均除以该最大公约数10w,从而可以得到进行了相同级别的缩小操作后的三个权重值,即,该起始节点“输入h”与目标节点“输入a”、“输入u”、“输入e”之间的有向连接对应的权重值,在进行相同级别的缩小操作后分别为50、10、9。
实施例三
本实施例可以在模拟输入法操作的过程中,进行输入法应用的稳定性测试,形成中途无需人工干涉且循环不断的稳定性测试流程。参见图10,为本实施例三提供的一种模拟输入法操作方法的流程示意图,该方法包括以下步骤:
S1001:响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点。
S1002:从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径。
S1003:按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
需要说明的是,本实施例三中的S1001、S1002、S1003与上述实施例一中的S101、S102、S103相同,请参见上述实施例一中的相关介绍,在此不再赘述。
S1004:当完成所述有向连接路径上的所有原子操作后,确定完成本轮模拟操作。
S1005:判断是否完成预设轮数的模拟操作;若是,则结束模拟操作;若否,则继续执行S1001中“从预先构建的输入法操作网络中选择一个网络节点作为源节点的步骤”,即,开始下一轮模拟操作。
在对所述目标输入法进行稳定性测试时,通常需要进行长时间的输入法模拟操作,因此,在实施例中,可以预先设定模拟操作的轮数,比如,可以预先设定模拟操作的轮数为5万次。在本轮模拟操作完成后,判断已完成的模拟操作的总轮数是否达到预设轮数;若没有达到预设轮数,则需要继续执行新的一轮模拟操作,也就是说,需要继续执行从预先构建的输入法操作网络中选择一个网络节点作为源节点的步骤(即S201或S901)及其后续步骤;若达到了预设轮数,可以认为已完成该预设轮数的模拟操作,即完成了目标输入法的模拟操作。
进一步地,为了在进行模拟输入法操作的过程中,得到该目标输入法的稳定性测试结果,在本申请实施例的一种实施方式中,还可以包括以下步骤:在利用所述目标输入法进行模拟操作的过程中,监测与所述目标输入法的稳定性相关的至少一个性能指标。
其中,所监测的性能指标可以包括以下一种或多种:
输入法在模拟过程中占用的CPU大小、输入法在模拟过程中占用的内存大小、输入法在模拟操作的过程中是否会出现崩溃或者退出等异常情况,等等。
可见,由于本实施例的模拟输入法操作,可以更为真实地模拟用户的输入法操作,即可以更加贴合用户对输入法的实际使用习惯,因此,基于本实施例提供的模拟操作进行的稳定性测试,可以提高稳定性测试结果的可信度。
实施例四
参见图11,为本实施例四提供的一种模拟输入法操作装置的组成示意图,该装置1100包括:
节点选择单元1101,用于响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
路径选择单元1102,用于从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
模拟操作单元1103,用于按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
在本申请的一种实施方式中,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述路径选择单元1102可以包括:
节点确定子单元,用于将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
第一选择子单元,用于当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
第二选择子单元,用于当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
路径形成子单元,用于当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
在本申请的一种实施方式中,所述第二选择子单元可以包括:
范围确定子单元,用于根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围;
数值生成子单元,用于生成一个数值;
节点选择子单元,用于根据所述数值所属的数值范围选择一个目标节点。
在本申请的一种实施方式中,所述范围确定子单元,具体用于当所述目标节点的个数为N时,确定N个数值范围;
其中,第n个数值范围为i=1、2……N,n=1、2……N,N大于1;linki表示所述起始节点与第i个目标节点之间的有向连接对应的权重值;当n=1时,
相应地,所述节点选择子单元,具体用于确定所述数值所属的数值范围对应的标识n;选择所述标识n对应的目标节点。
在本申请的一种实施方式中,所述第二选择子单元还可以包括:
权重处理子单元,用于在所述范围确定子单元根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围之前,将所述起始节点与每一所述目标节点之间的有向连接对应的权重值,进行相同级别的放大操作或缩小操作。
在本申请的一种实施方式中,所述装置1100还可以包括:
网络构建单元,用于构建所述输入法操作网络;
其中,所述网络构建单元可以包括:
数据收集子单元,用于收集至少一个输入行为数据,其中,所述输入行为数据包括用户利用所述目标输入法实现的连续原子操作、以及所述连续原子操作的操作顺序;
有向连接子单元,用于将所述输入行为数据中的每一原子操作对应一个网络节点,并将每两个连续原子操作对应的两个网络节点进行有向连接;
操作合并子单元,用于在不同的所述输入行为数据中,若存在相同的两个连续原子操作,则将所述相同的两个连续原子操作、以及所述相同的两个连续原子操作对应的有向连接进行合并。
在本申请的一种实施方式中,所述装置1100还可以包括:
本轮确定单元,用于当完成所述有向连接路径上的所有原子操作后,确定完成本轮模拟操作;
轮数判断单元,用于判断是否完成预设轮数的模拟操作;
模拟继续单元,用于若完成预设轮数的模拟操作,则结束模拟操作,若未完成预设轮数的模拟操作,则触发所述节点选择单元从预先构建的输入法操作网络中选择一个网络节点作为源节点。
在本申请的一种实施方式中,所述装置1100还可以包括:
稳定性监测单元,用于在利用所述目标输入法进行模拟操作的过程中,监测与所述目标输入法的稳定性相关的至少一个性能指标。
实施例五
参见图12,为本申请实施例提供的一种模拟输入法操作装置的硬件结构示意图,所述系统1200包括存储器1201和接收器1202,以及分别与所述存储器1201和所述接收器1202连接的处理器1203,所述存储器1201用于存储一组程序指令,所述处理器1203用于调用所述存储器1201存储的程序指令执行如下操作:
响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
在本申请的一种实施方式中,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围;
生成一个数值;
根据所述数值所属的数值范围选择一个目标节点。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
当所述目标节点的个数为N时,确定N个数值范围;
其中,第n个数值范围为i=1、2……N,n=1、2……N,N大于1;linki表示所述起始节点与第i个目标节点之间的有向连接对应的权重值;当n=1时,
相应地,所述根据所述数值所属的数值范围选择一个目标节点,包括:
确定所述数值所属的数值范围对应的标识n;
选择所述标识n对应的目标节点。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
在根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围之前,将所述起始节点与每一所述目标节点之间的有向连接对应的权重值,进行相同级别的放大操作或缩小操作。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
收集至少一个输入行为数据,其中,所述输入行为数据包括用户利用所述目标输入法实现的连续原子操作、以及所述连续原子操作的操作顺序;
将所述输入行为数据中的每一原子操作对应一个网络节点,并将每两个连续原子操作对应的两个网络节点进行有向连接;
在不同的所述输入行为数据中,若存在相同的两个连续原子操作,则将所述相同的两个连续原子操作、以及所述相同的两个连续原子操作对应的有向连接进行合并。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
当完成所述有向连接路径上的所有原子操作后,确定完成本轮模拟操作;
判断是否完成预设轮数的模拟操作;
若是,则结束模拟操作,若否,则继续执行所述从预先构建的输入法操作网络中选择一个网络节点作为源节点的步骤。
在本申请的一种实施方式中,所述处理器1203还用于调用所述存储器1201存储的程序指令执行如下操作:
在利用所述目标输入法进行模拟操作的过程中,监测与所述目标输入法的稳定性相关的至少一个性能指标。
在一些实施方式中,所述处理器503可以为中央处理器(Central ProcessingUnit,CPU),所述存储器501可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器502可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器503、接收器502和存储器501可以集成为一个或多个独立的电路或硬件,如:专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种模拟输入法操作的方法,其特征在于,包括:
响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
2.根据权利要求1所述的方法,其特征在于,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述选择一条从所述源节点开始的有向连接路径,包括:
将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,继续执行所述确定与所述起始节点存在有向连接的目标节点的步骤;
当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
3.根据权利要求2所述的方法,其特征在于,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点,包括:
根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围;
生成一个数值;
根据所述数值所属的数值范围选择一个目标节点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围,包括:
当所述目标节点的个数为N时,确定N个数值范围;
其中,第n个数值范围为N大于1;linki表示所述起始节点与第i个目标节点之间的有向连接对应的权重值;当n=1时,
相应地,所述根据所述数值所属的数值范围选择一个目标节点,包括:
确定所述数值所属的数值范围对应的标识n;
选择所述标识n对应的目标节点。
5.根据权利要求3所述的方法,其特征在于,所述根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,确定至少两个数值范围之前,还包括:
将所述起始节点与每一所述目标节点之间的有向连接对应的权重值,进行相同级别的放大操作或缩小操作。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述输入法操作网络的构建方式,包括:
收集至少一个输入行为数据,其中,所述输入行为数据包括用户利用所述目标输入法实现的连续原子操作、以及所述连续原子操作的操作顺序;
将所述输入行为数据中的每一原子操作对应一个网络节点,并将每两个连续原子操作对应的两个网络节点进行有向连接;
在不同的所述输入行为数据中,若存在相同的两个连续原子操作,则将所述相同的两个连续原子操作、以及所述相同的两个连续原子操作对应的有向连接进行合并。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
当完成所述有向连接路径上的所有原子操作后,确定完成本轮模拟操作;
判断是否完成预设轮数的模拟操作;
若是,则结束模拟操作,若否,则继续执行所述从预先构建的输入法操作网络中选择一个网络节点作为源节点的步骤。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在利用所述目标输入法进行模拟操作的过程中,监测与所述目标输入法的稳定性相关的至少一个性能指标。
9.一种模拟输入法操作的装置,其特征在于,包括:
节点选择单元,用于响应于对目标输入法的模拟操作请求,从预先构建的输入法操作网络中选择一个网络节点作为源节点;其中,所述输入法操作网络包括至少两个网络节点,每一所述网络节点对应一个原子操作,所述原子操作是无法分解的输入法操作,每一所述网络节点与至少一个其它网络节点之间分别存在有向连接,所述有向连接的方向反映了所连接的两个网络节点对应的两个原子操作的操作顺序;
路径选择单元,用于从所述输入法操作网络中,选择一条从所述源节点开始的有向连接路径;
模拟操作单元,用于按照所述有向连接路径上的网络节点对应的原子操作顺序,依次在所述目标输入法上完成对应的原子操作。
10.根据权利要求9所述的装置,其特征在于,所述输入法操作网络中的每一有向连接对应一个权重值,所述权重值反映了第一操作与第二操作在所述输入法操作网络中的连续操作比重,所述第一操作是所述有向连接的起始端网络节点对应的原子操作,所述第二操作为所述有向连接的终止端网络节点对应的原子操作;
则,所述路径选择单元包括:
节点确定子单元,用于将所述源节点作为起始节点,并确定与所述起始节点存在有向连接的目标节点,其中,所述目标节点是对应有向连接的终止端网络节点;
第一选择子单元,用于当所述目标节点的个数为1时,选择所述起始节点与所述目标节点之间的有向连接,并将所述目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
第二选择子单元,用于当所述目标节点的个数大于1时,根据所述起始节点与每一所述目标节点之间的有向连接对应的权重值,选择一个目标节点;选择所述起始节点与所选择目标节点之间的有向连接,并将所选择目标节点作为所述起始节点,触发所述节点确定子单元确定与所述起始节点存在有向连接的目标节点;
路径形成子单元,用于当确定不存在所述目标节点时,使所选择的各个有向连接形成有向连接路径。
11.一种模拟输入法操作的装置,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行如权利要求1-8中任一项所述的方法。
CN201711214941.5A 2017-11-28 2017-11-28 一种模拟输入法操作的方法及装置 Active CN107943319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711214941.5A CN107943319B (zh) 2017-11-28 2017-11-28 一种模拟输入法操作的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711214941.5A CN107943319B (zh) 2017-11-28 2017-11-28 一种模拟输入法操作的方法及装置

Publications (2)

Publication Number Publication Date
CN107943319A true CN107943319A (zh) 2018-04-20
CN107943319B CN107943319B (zh) 2021-12-03

Family

ID=61950389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711214941.5A Active CN107943319B (zh) 2017-11-28 2017-11-28 一种模拟输入法操作的方法及装置

Country Status (1)

Country Link
CN (1) CN107943319B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132428A (zh) * 2006-08-23 2008-02-27 联想移动通信科技有限公司 一种移动通讯终端虚拟仿真键盘的实现方法
CN101398834A (zh) * 2007-09-29 2009-04-01 北京搜狗科技发展有限公司 一种针对输入信息的处理方法和装置及一种输入法系统
CN103207739A (zh) * 2012-01-13 2013-07-17 北京搜狗科技发展有限公司 一种智能切出输入法的方法和装置
CN103677600A (zh) * 2012-09-10 2014-03-26 联想(北京)有限公司 一种输入方法和电子设备
CN103853342A (zh) * 2012-12-07 2014-06-11 百度国际科技(深圳)有限公司 模拟用户输入的方法、输入法测试方法及电子装置
CN105353968A (zh) * 2015-10-23 2016-02-24 武汉悦然心动网络科技股份有限公司 对滑动输入轨迹进行识别的系统及其识别方法
EP3118731A4 (en) * 2014-01-24 2017-05-03 Huawei Device Co., Ltd. Method and electronic device for inputting character
CN106774979A (zh) * 2016-12-16 2017-05-31 北京新美互通科技有限公司 输入法测试方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132428A (zh) * 2006-08-23 2008-02-27 联想移动通信科技有限公司 一种移动通讯终端虚拟仿真键盘的实现方法
CN101398834A (zh) * 2007-09-29 2009-04-01 北京搜狗科技发展有限公司 一种针对输入信息的处理方法和装置及一种输入法系统
CN103207739A (zh) * 2012-01-13 2013-07-17 北京搜狗科技发展有限公司 一种智能切出输入法的方法和装置
CN103677600A (zh) * 2012-09-10 2014-03-26 联想(北京)有限公司 一种输入方法和电子设备
CN103853342A (zh) * 2012-12-07 2014-06-11 百度国际科技(深圳)有限公司 模拟用户输入的方法、输入法测试方法及电子装置
EP3118731A4 (en) * 2014-01-24 2017-05-03 Huawei Device Co., Ltd. Method and electronic device for inputting character
CN105353968A (zh) * 2015-10-23 2016-02-24 武汉悦然心动网络科技股份有限公司 对滑动输入轨迹进行识别的系统及其识别方法
CN106774979A (zh) * 2016-12-16 2017-05-31 北京新美互通科技有限公司 输入法测试方法及装置

Also Published As

Publication number Publication date
CN107943319B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN107438814A (zh) 移动设备上的实体动作建议
CN103984626B (zh) 一种生成测试用例脚本的方法及装置
CN109978060A (zh) 一种自然语言要素抽取模型的训练方法及装置
CN105528338B (zh) 智能预测的输入方法和系统
CN110378063A (zh) 基于智慧建筑空间的设备部署方法、装置、以及电子设备
CN110069724A (zh) 应用程序快捷跳转方法、装置、电子设备和存储介质
CN109379195B (zh) 零知识证明电路的优化方法、装置、设备及可读存储介质
CN108875090A (zh) 一种歌曲推荐方法、装置和存储介质
CN109634570A (zh) 前后端集成开发方法、装置、设备及计算机可读存储介质
CN107797963A (zh) 表达式的处理方法、装置和终端
JP2007334534A (ja) 文字列入力装置、文字列入力方法、および、プログラム
CN110471585A (zh) 应用程序功能图标展示方法、装置和计算机设备
CN109710732A (zh) 信息查询方法、装置、存储介质和电子设备
CN107797721A (zh) 一种界面信息显示方法及其装置
CN109358802A (zh) 一种信息输入方法、装置、设备及可读存储介质
CN110516062A (zh) 一种文档的搜索处理方法及装置
CN107390892A (zh) 生成用户词典的方法和装置
CN111522928B (zh) 一种知识抽取方法、装置、设备和介质
CN107943319A (zh) 一种模拟输入法操作的方法及装置
JP5422589B2 (ja) モジュール解析システム、モジュール解析方法及びモジュール解析プログラム
Zhong et al. Javascript code suggestion based on deep learning
CN110457448A (zh) 问题推送方法、装置、计算机可读存储介质和计算机设备
CN105450830A (zh) 联系人查询方法和装置
CN110377354B (zh) 一种软件操作序列自动生成方法
JP2002251390A (ja) 単語列入力装置、単語列入力方法、ならびに、プログラム

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