CN113282355A - 基于状态机的指令执行方法、装置、终端及存储介质 - Google Patents
基于状态机的指令执行方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113282355A CN113282355A CN202110541956.2A CN202110541956A CN113282355A CN 113282355 A CN113282355 A CN 113282355A CN 202110541956 A CN202110541956 A CN 202110541956A CN 113282355 A CN113282355 A CN 113282355A
- Authority
- CN
- China
- Prior art keywords
- processing step
- state machine
- ith
- ith processing
- script
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 275
- 238000013515 script Methods 0.000 claims abstract description 77
- 230000007704 transition Effects 0.000 claims abstract description 35
- 230000003993 interaction Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 32
- 238000007781 pre-processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Abstract
本申请公开了一种基于状态机的指令执行方法、装置、终端及存储介质,涉及人机交互领域。该方法包括:接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;获取所述语音指令所指示的所述目标事件对应的脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数;运行所述脚本。该方法可以提高语音助手通过第三方应用程序实现目标事件的成功率。
Description
技术领域
本申请实施例涉及人机交互技术领域,特别涉及一种基于状态机的指令执行方法、装置、终端及存储介质。
背景技术
语音助手是指根据用户的语音输入,为用户提供相应服务的软件,其在终端中存在广泛的应用。
相关技术中,用户可以通过语音助手操作第三方应用程序,具体地,用户向语音助手发送语音指令,语音助手获取相应的脚本,之后通过执行脚本来操作第三方应用程序。
发明内容
本申请实施例提供一种基于状态机的指令执行方法、装置、终端及存储介质。所述技术方案如下:
一方面,本申请实施例提供一种基于状态机的指令执行方法,所述方法包括:
接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;
获取所述语音指令所指示的所述目标事件对应的脚本;
运行所述脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数。
另一方面,本申请实施例提供一种基于状态机的指令执行装置,所述方法装置包括:
交互模块,用于接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;
获取模块,用于获取所述语音指令所指示的所述目标事件对应的脚本;
运行模块,用于运行所述脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数。
又一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如一方面所述的基于状态机的指令执行方法。
又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如一方面所述的基于状态机的指令执行方法。
又一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于状态机的指令执行方法。
本申请实施例提供的技术方案可以带来的有益效果至少包括:
通过在基于语音指令对第三方应用程序进行操作时,对相关脚本中的一个或多个处理步骤设置状态机,在状态机完成状态转移前,终端重复执行该设置有状态机的处理步骤,直至该处理步骤执行成功,此时终端跳转至下一处理步骤,当存在模糊搜索、重试以及广告等状况时,终端能够基于状态机完成模糊搜索、在重试成功后执行下一步骤,在广告播放完毕后执行下一步骤,减小脚本执行失败的概率,提高语音助手操作第三方应用程序的成功率。
附图说明
图1是本申请一个实施例提供的计算机设备的结构框图;
图2是本申请另一个实施例提供的基于状态机的指令执行方法的方法流程图;
图3是本申请另一个实施例提供的基于状态机的指令执行方法的示意图;
图4是本申请另一个实施例提供的基于状态机的指令执行方法的方法流程图;
图5是本申请另一个实施例提供的基于状态机的指令执行方法的示意图;
图6是本申请另一个实施例提供的基于状态机的指令执行方法的示意图;
图7是本申请另一个实施例提供的基于状态机的指令执行方法的方法流程图;
图8是本申请另一个实施例提供的基于状态机的指令执行装置的框图;
图9是本申请另一个实施例提供的终端的结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的相关名词进行介绍。
状态机:由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。
语音助手:根据用户的语音输入,为用户提供相应服务的软件。
脚本:使用一种特定的描述性语言,依据一定的格式编写的可执行文件。
图1示出了本申请一个示例性实施例提供的计算机设备的示意图,该计算机设备包括终端101。
终端101可以包括智能手机、笔记本电脑、台式电脑、平板电脑、智能音箱、智能机器人、智能可穿戴设备中的至少一种。
终端101中运行有语音助手103、后台服务102、第三方应用程序104以及无障碍管理服务105(AccessibleManagerService,又称“辅助服务”)。
语音助手是指基于用户的语音输入,为用户提供相应服务的软件。语音助手接收用户发出的语音指令,对语音指令进行语音识别得到识别结果,基于识别结果确定用户需要完成的目标事件,然后运行该目标事件对应的脚本,以在终端上实现用户所指示的目标事件。例如,语音助手接收用户发出的“打电话给A”的语音指令,运行打电话的脚本,使终端自动向联系人“A”拨打电话。
第三方应用程序是指终端上运行的除语音助手103以及无障碍管理服务105之外的应用程序。第三方应用程序包括且不限于:聊天类应用程序,购物类应用程序,音乐类应用程序,视频类应用程序,游戏类应用程序等等。
无障碍管理服务用于监控终端的运行状态,或,监控终端上的各个应用程序的运行状态。示例性的,当语音助手通过无障碍服务接口向无障碍管理服务订阅了第三方应用程序的运行状态后,无障碍服务服务管理会向语音助手发送第三方应用程序的运行数据。示例性的,运行数据包括第三方应用程序的用户界面。示例性的,无障碍管理服务可以设置在终端的操作系统中,也可以设置在语音助手中。
后台服务102为语音助手103提供后台服务。示例性的,后台服务102用于接收语音助手发送的语音指令,对语音指令进行自动语音识别或/和自然语言理解,以得到该语音指令对应的脚本,并向语音助手发送该脚本。
终端包括第一存储器和第一处理器。第一存储器中存储有基于状态机的指令执行算法;上述基于状态机的指令执行算法被第一处理器调用执行以实现本申请提供的基于状态机的指令执行方法。第一存储器可以包括但不限于以下几种:随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。可选地,第一处理器可以通过运行程序或代码来实现本申请提供的基于状态机的指令执行方法。
参考图2,其示出了本申请一个实施例提供的方法流程图,该方法用于图1实施例中终端上的语音助手。
步骤201,接收语音指令,语音指令用于指示通过第三方应用程序实现目标事件。
语音指令为音频指令。示例性的,语音指令可以是终端的麦克风接收到的用户发出的音频指令,或,语音指令可以是终端接收到其他终端发送的音频指令,或,语音指令可以是终端本地存储的音频指令。
示例性的,语音指令中包含文本信息,对语音指令进行语音识别可以得到该语音指令对应的文本指令。示例性的,该语音指令用于指示终端(语音助手)通过第三方应用程序完成目标事件,目标事件是指需要在第三方应用程序中实现的事件。示例性的,终端根据语音指令自动通过第三方应用程序进行某些操作,以达成语音指令中所指示的目标事件。
语音指令对应有至少一个第三方应用程序。示例性的,语音指令对应的文本指令中可以包含第三方应用程序的程序名称,当然,语音指令也可以不包含第三方应用程序的程序名称。
示例性地,当用户对语音助手说“发短信给张三”,语音助手接收该语音指令“发短信给张三”,该语音指令对应的第三方应用程序为“短信”应用程序。
示例性地,用户还可以向语音助手发出需要由多个第三方应用程序合作完成的语音指令。例如,语音助手接收用户发出的“向张三发送今天天气”,则该语音指令对应的第三方应用程序包括“短信”和“天气”应用程序,终端应先到“天气”应用程序中查询天气信息,然后在“短信”应用程序中将天气信息编辑为短信内容发送给张三。
步骤202,获取语音指令所指示的目标事件对应的脚本,脚本包括用于实现目标事件的n个处理步骤,n个处理步骤中的目标处理步骤配置有状态机,状态机用于根据状态转移条件回溯目标处理步骤,n为正整数。
语音助手根据语音指令来获取该语音指令对应的脚本。示例性的,语音助手对语音指令进行语音识别得到该语音指令对应的文本指令,根据文本指令来确定该语音指令所指示的第三方应用程序以及目标事件,根据第三方应用程序以及目标事件来确定该语音指令对应的脚本。
脚本是用于实现目标事件的程序代码。
脚本被分为至少一个处理步骤,该处理步骤可以是指完成目标事件的多个实际步骤,例如,目标事件为“发短信给张三”时,至少一个处理步骤可以包括:打开短信应用程序、搜索张三号码、编辑短信内容、发送短信给张三四个处理步骤。该处理步骤也可以是将目标事件的脚本程序拆分为多段程序代码,每段程序代码为一个处理步骤。
示例性的,n个处理步骤中存在至少一个处理步骤配置有状态机。
状态机用于根据处理步骤的处理结果所满足的状态转移条件,将处理结果发送给指定的处理步骤,或,发送给本处理步骤中指定的代码步骤,从而利用状态机完成处理步骤中各个代码步骤的状态转移。
示例性的,将输入数据输入状态机,状态机根据输入数据运行状态机内的程序代码,得到处理结果,不同的处理结果满足不同的状态转移条件,状态转移条件包括处理结果与所转移的对应代码步骤或处理步骤,当处理结果满足某个状态转移条件时,将该处理结果发送给改状态转移条件对应的代码步骤或处理步骤,以便实现回溯运行本处理步骤。示例性的,一个处理步骤由多个代码步骤组成,每个代码步骤对应该处理步骤的程序代码中的一段逻辑代码。
例如,如图3所示,本处理步骤301包括第一代码步骤302和状态机303,在运行本处理步骤301时,先运行第一代码步骤302,再运行状态机303,当状态机输出的处理结果为第一结果时,根据第一结果所满足的状态转移条件,将第一结果返回给第一代码步骤302,第一代码步骤302确定是否继续运行状态机303,若继续运行状态机303,则完成对本处理步骤的重复运行。
步骤203,运行脚本。
语音助手运行该语音指令的脚本程序,该脚本程序与第三方应用程序进行交互,在第三方应用程序上实现语音指令所指示的目标事件。
综上所述,本实施例所提供的方法,通过在基于语音指令对第三方应用程序进行操作时,对相关脚本中的一个或多个处理步骤设置状态机,在状态机完成状态转移前,终端重复执行该设置有状态机的处理步骤,直至该处理步骤执行成功,此时终端跳转至下一处理步骤,当存在模糊搜索、重试以及广告等状况时,终端能够基于状态机完成模糊搜索、在重试成功后执行下一步骤,在广告播放完毕后执行下一步骤,减小脚本执行失败的概率,提高语音助手操作第三方应用程序的成功率。
相关技术中的方法,当第三方应用程序的操作过程中,存在模糊搜索、重试以及广告等原因,脚本执行失败,也就无法通过语音助手来操作第三方应用程序。
基于此,本申请实施例提供一种基于状态机的指令执行方法,通过在基于语音指令对第三方应用程序进行操作时,对相关脚本中的一个或多个处理步骤设置状态机,利用状态机使终端在能够重复运行脚本中的-处理步骤,直至该处理步骤执行成功,此时终端跳转至下一处理步骤,当存在模糊搜索、重试以及广告等状况时,终端能够基于状态机完成模糊搜索、在重试成功后执行下一步骤,在广告播放完毕后执行下一步骤,减小脚本执行失败的概率,提高语音助手操作第三方应用程序的成功率。
图4示出了本申请一个实施例提供的基于状态机的指令执行方法,该方法用于图1实施例中终端上的语音助手。该方法包括:
步骤201,接收语音指令,语音指令用于指示通过第三方应用程序实现目标事件。
语音指令由用户发出,用于指示终端基于语音指令执行某一操作,以向用户提供相应服务。
可选地,由语音助手调用麦克风组件接收语音指令。可选地,语音助手在处于唤醒状态时调用麦克风组件接收语音指令。其中,终端在监测到语音助手的唤醒词后,或者,接收到对应于指定按钮的操作信号后将语音助手切换至唤醒状态。
例如,语音指令为发送信息“今天下午两点电话会议”给王五。
步骤202,获取语音指令所指示的目标事件对应的脚本,脚本包括用于实现目标事件的n个处理步骤,n个处理步骤中的目标处理步骤配置有状态机,状态机用于根据状态转移条件回溯目标处理步骤,n为正整数。
脚本是指使用一种特定的描述性语言,依据一定的格式编写的可执行文件。脚本包括执行语音指令的至少一个处理步骤。
以语音指令为发送信息“今天下午两点电话会议”给王五为例,其对应的脚本中包括的处理步骤包括:打开短信应用程序,查找联系人王五,显示联系人王五的短信编辑界面,输入内容“今天下午两点电话会议”,发送编辑完成的短信。
在一种可能的实现方式中,语音助手从后台服务处获取脚本,后台服务保存有不同第三方应用程序的不同目标事件对应的脚本,后台服务解析出语音指令所指示的待操作的第三方应用程序以及目标事件,之后获取上述第三方应用程序和目标事件对应的脚本。在另一种可能的实现方式中,语音助手本地存储有脚本。
示例性的,语音助手向后台服务发送语音指令,后台服务用于识别语音指令并根据识别结果获取语音指令对应的脚本。后台服务对语音指令进行语音识别,根据识别结果确定语音指令所指示的第三方应用程序和目标事件,进而确定脚本,向语音助手发送脚本。语音助手接收后台服务发送的语音指令所指示的目标事件对应的脚本。
步骤2031,运行第i个处理步骤,i为不大于n的正整数。
语音助手从n个处理步骤中的第1个处理步骤开始,顺序运行该脚本的n个处理步骤。
示例性的,第i个处理步骤包括m个代码步骤,m个代码步骤中存在至少一个代码步骤由状态机实现,m为正整数。每个处理步骤中设置有至少一个状态机。示例性的,状态机用于将结果回溯至位于状态机之前的代码步骤。
例如,如图5所示,在一种第i个处理步骤中包括了7个代码步骤:第一判定步骤401、搜索状态机402、第二判定步骤403、第一前置状态机404、第三判定步骤405、第二前置状态机406以及动作程序407。
步骤2032,响应于第i个处理步骤配置有状态机,根据第i个处理步骤的处理结果所满足的状态转移条件回溯第i个处理步骤,i为不大于n的正整数;或,响应于第i个处理步骤配置有状态机,根据第i个处理步骤的处理结果所满足的状态转移条件继续运行第i+1个处理步骤。
示例性的,上述的第i个处理步骤的处理结果是指状态机输出的中间结果,状态机根据该中间结果进行状态转移。响应于第i个处理步骤配置有状态机,根据第i个处理步骤中状态机输出的中间结果所满足的状态转移条件,将中间结果回溯至位于状态机之前的代码步骤。
本实施例提供了两种功能的状态机:搜索状态机和前置状态机。搜索状态机用于实现多次搜索、模糊搜索,前置状态机用于对输入数据进行前置处理得到输出数据。
其中,当第i个处理步骤配置有搜索状态机时,语音助手响应于第i个处理步骤配置有搜索状态机,且第i个处理步骤的运行未成功,回溯运行第i个处理步骤;或,响应于第i个处理步骤配置有搜索状态机,且第i个处理步骤的运行次数未达到次数阈值,回溯运行第i个处理步骤;或,响应于第i个处理步骤配置有搜索状态机,且第i个处理步骤的运行未成功,且第i个处理步骤的运行次数未达到次数阈值,回溯运行第i个处理步骤。响应于第i个处理步骤配置有搜索状态机,且第i个处理步骤的运行成功,继续运行第i+1个处理步骤;或,响应于第i个处理步骤配置有搜索状态机,且第i个处理步骤的运行次数达到次数阈值,继续运行第i+1个处理步骤。
搜索状态机中包括搜索程序,运行搜索状态机即运行该搜索程序,向第三方应用程序发送搜索指令,第三方应用程序根据搜索指令进行搜索任务。无障碍管理服务监控第三方应用数据的运行状态,并向语音助手转发第三方应用程序的运行数据。语音助手根据接收到的运行数据确定该搜索程序的运行结果。
示例性的,当第i个处理步骤配置有搜索状态机时,语音助手响应于第i个处理步骤配置有搜索状态机,且搜索状态机中的搜索程序的运行未成功,回溯运行搜索状态机;或,响应于第i个处理步骤配置有搜索状态机,且搜索状态机中的搜索程序的运行次数未达到次数阈值,回溯运行搜索状态机;或,响应于第i个处理步骤配置有搜索状态机,且搜索状态机中的搜索程序的运行未成功,且搜索状态机中的搜索程序的运行次数未达到次数阈值,回溯运行搜索状态机。响应于第i个处理步骤配置有搜索状态机,且搜索状态机中的搜索程序的运行成功,继续运行第i+1个处理步骤,或,继续运行第i个处理步骤中位于搜索状态机之后的代码步骤;或,响应于第i个处理步骤配置有搜索状态机,且第i个搜索状态机中的搜索程序的运行次数达到次数阈值,继续运行第i+1个处理步骤,或,继续运行第i个处理步骤中位于搜索状态机之后的代码步骤。
搜索状态机的状态转移条件包括:响应于未获得搜索结果(运行结果),向搜索状态机之前的代码步骤返回没有搜索结果。响应于获得搜索结果(运行结果),向搜索状态机之前的代码步骤返回有搜索结果。
搜索状态机之前的代码步骤可以是判定步骤,判定步骤用于判定当前搜索状态机的搜索次数是否达到阈值,在达到阈值时,运行下一个代码步骤或运行下一个处理步骤;在未达到阈值时,继续运行搜索状态机进行搜索。
当第i个处理步骤配置有前置状态机时,语音助手响应于第i个处理步骤配置有前置状态机,对第i个处理步骤的处理结果进行前置处理,得到前置处理结果;返回前置处理结果。
示例性的,当第i个处理步骤配置有前置状态机时,语音助手响应于第i个处理步骤配置有前置状态机,对输入前置状态机的处理结果进行前置处理,得到前置处理结果;向前置状态机之前的代码步骤返回前置处理结果,或,向前置状态机之后的代码步骤返回前置处理结果。
前置处理是指对输入的数据进行任意形式的数据处理。例如,可以采用前置处理识别搜索结果的正确性,通过使用模糊匹配的方式确定搜索结果是否为正确结果。或者,可以采用前置处理对某个代码步骤输出的中间结果进行某种类型的数据处理,将处理结果输入下一个代码步骤,或,返回前一个代码步骤。
示例性的,一个处理步骤中可以配置至少一个状态机。例如,如图6所示,脚本中包括4个处理步骤:步骤1、步骤2、步骤3和步骤4。其中,步骤2配置有第三前置状态机408,步骤3配置有搜索状态机402和第四前置状态机409。
例如,如图5所示,第i个处理步骤配置有一个搜索状态机和两个前置状态机。首先运行第一判断步骤401,判断是否需要进行搜索,若需要进行搜索,则运行搜索状态机402进行搜索,将搜索结果发送给第二判断步骤403判断是否需要进行前置处理,若需要进行前置处理,则运行第一前置状态机404对搜索结果进行前置处理(例如,判定搜索结果正确性)得到前置处理结果,向第二判定步骤403返回前置处理结果,第二判定步骤403判定是否继续进行前置处理,若不需要进行前置处理,则将前置处理结果返回搜索状态机402,搜索状态机将前置处理结果返回第一判定步骤401。第一判断步骤401判断是否继续进行搜索,若继续进行搜索,则继续运行搜索状态机402;直至第一判断步骤401确定搜索次数达到阈值,或,获得了正确搜索结果,则不需要进行搜索,运行第三判断步骤405。第三判断步骤405判断是否需要进行前置处理,若需要进行前置处理,则运行前置状态机406进行前置处理得到前置处理结果,向动作程序407返回前置处理结果,运行动作程序407;若不需要进行前置处理,则直接运行动作程序407。
步骤2033,响应于第i个处理步骤未配置状态机,继续运行第i+1个步骤。
示例性的,n个处理步骤中存在部分处理步骤需要向第三方应用程序发送指令,以控制第三方应用程序实现目标事件。或,n个处理步骤中存在部分处理步骤需要接收无障碍管理服务发送的第三方应用程序的运行数据。
语音助手运行第i个处理步骤向第三方应用程序发送第i个处理步骤对应的第i个指令;接收无障碍服务发送的第三方应用程序的运行数据,无障碍服务用于监控第三方应用程序的运行状态;基于运行数据确定第i个处理步骤的处理结果。
步骤2034,重复上述步骤,运行脚本的n个处理步骤。
示例性的,语音助手根据上述的方法,顺序运行脚本中的n个处理步骤。
综上所述,本申请实施例提供的技术方案,通过在基于语音指令对第三方应用程序进行操作时,对相关脚本中的一个或多个处理步骤设置状态机,在状态机完成状态转移前,终端重复执行该设置有状态机的处理步骤,直至该处理步骤执行成功,此时终端跳转至下一处理步骤,当存在模糊搜索、重试以及广告等状况时,终端能够基于状态机完成模糊搜索、在重试成功后执行下一步骤,在广告播放完毕后执行下一步骤,减小脚本执行失败的概率,提高语音助手操作第三方应用程序的成功率。
图7示出了本申请一个实施例提供的基于状态机的指令执行方法,该方法用于图1实施例中终端上的语音助手。该方法包括:
步骤501,语音助手进行语音引擎代理初始化。
步骤502,语音助手接收用户发出的语音指令。
步骤503,语音助手向后台服务请求模拟点击包的更新。
步骤504,后台服务确定支持模拟点击的包名。
步骤505,后台服务向语音助手发送模拟点击包名。
步骤506,语音助手根据模拟点击包名确定版本号,向后台服务发送模拟点击包的版本号。
步骤507,后台服务获取模拟点击包名和版本号。
步骤508,后台服务向语音助手返回模拟点击包。
步骤509,语音助手向无障碍管理服务发送订阅请求,请求无障碍管理服务开始向语音助手同步第三方应用程序的运行数据。
步骤510,语音助手通过调用本地服务向后台服务发送语音指令。
步骤511,后台服务对语音指令进行数据解析,根据数据解析结果获取语音指令对应的脚本。
步骤512,后台服务向语音助手发送脚本。
步骤513,语音助手对脚本进行数据解析。
步骤514,语音助手开始执行语音指令,向第三方应用程序发送指令。
步骤515,语音助手执行脚本中的处理步骤。
示例性的,存在至少一个处理步骤配置有状态机,语音助手根据程序运行结果以及状态机的状态转移条件回溯运行处理步骤,以在处理步骤未运行成功时,重复运行该处理步骤,提高脚本运行成功率。
步骤516,语音助手向后台服务反馈脚本运行状态。
步骤517,后台服务对运行状态进行数据解析,并根据数据解析结果更新脚本。
步骤518,语音助手接收更新脚本。
步骤519,第三方应用程序接收指令,执行指令所指示的动作。
步骤520,第三方应用程序向无障碍管理服务同步运行数据。
步骤521,无障碍管理服务向语音助手同步第三方应用程序的运行数据。
步骤522,语音助手根据运行数据检查语音指令是否执行完毕。
步骤523,若执行完毕,则语音助手向无障碍管理服务发送结束服务指令,以使无障碍管理服务不再向语音助手同步第三方应用程序的运行数据。
步骤524,语音助手关闭界面显示。
综上所述,本申请实施例提供的技术方案,通过在基于语音指令对第三方应用程序进行操作时,对相关脚本中的一个或多个处理步骤设置状态机,在状态机完成状态转移前,终端重复执行该设置有状态机的处理步骤,直至该处理步骤执行成功,此时终端跳转至下一处理步骤,当存在模糊搜索、重试以及广告等状况时,终端能够基于状态机完成模糊搜索、在重试成功后执行下一步骤,在广告播放完毕后执行下一步骤,减小脚本执行失败的概率,提高语音助手操作第三方应用程序的成功率。
以下为本申请装置实施例,对于装置实施例中未详细阐述的部分,可以参考上述方法实施例中公开的技术细节。
请参考图8,其示出了本申请一个示例性实施例提供的基于状态机的指令执行装置的框图。该基于状态机的指令执行装置可以通过软件、硬件或者两者的组合实现成为终端的全部或一部分。该基于状态机的指令执行装置包括:
交互模块601,用于接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;
获取模块602,用于获取所述语音指令所指示的所述目标事件对应的脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数;
运行模块603,用于运行所述脚本。
在一个可选的实施例中,所述运行模块603,用于运行第i个处理步骤,i为不大于n的正整数;
所述运行模块603,用于响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件回溯所述第i个处理步骤,i为不大于n的正整数;或,响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件继续运行第i+1个处理步骤;
所述运行模块603,用于响应于所述第i个处理步骤未配置所述状态机,继续运行所述第i+1个步骤;
所述运行模块603,用于重复上述步骤,运行所述脚本的所述n个处理步骤。
在一个可选的实施例中,所述状态机包括搜索状态机;
所述运行模块603,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,回溯运行所述第i个处理步骤;
或,
所述运行模块603,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤;
或,
所述运行模块603,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤。
在一个可选的实施例中,所述状态机包括搜索状态机;
所述运行模块603,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行成功,继续运行所述第i+1个处理步骤;
或,
所述运行模块603,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数达到次数阈值,继续运行所述第i+1个处理步骤。
在一个可选的实施例中,所述状态机包括前置状态机;
所述运行模块603,用于响应于所述第i个处理步骤配置有所述前置状态机,对所述第i个处理步骤的所述处理结果进行前置处理,得到前置处理结果;
所述运行模块603,用于返回所述前置处理结果。
在一个可选的实施例中,所述装置还包括:
发送模块605,用于运行所述第i个处理步骤向所述第三方应用程序发送所述第i个处理步骤对应的第i个指令;
接收模块604,用于接收无障碍服务发送的所述第三方应用程序的运行数据,所述无障碍服务用于监控所述第三方应用程序的运行状态;
确定模块606,用于基于所述运行数据确定所述第i个处理步骤的所述处理结果。
在一个可选的实施例中,所述装置还包括:
发送模块605,用于向后台服务发送所述语音指令,所述后台服务用于识别所述语音指令,并根据识别结果获取所述语音指令对应的脚本;
接收模块604,用于接收所述后台服务发送的所述语音指令所指示的所述目标事件对应的脚本。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的基于状态机的指令执行方法。需要说明的是,该终端可以是如下图9所提供的终端。
图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户帐号设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图形处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的健康度指数的生成方法或健康度指数的生成方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。示例性的,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户帐号身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户帐号界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。示例性的,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户帐号及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户帐号界面的显示。加速度传感器911还可以用于游戏或者用户帐号的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户帐号对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户帐号的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户帐号对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户帐号对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户帐号的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户帐号的身份,或者,由指纹传感器914根据采集到的指纹识别用户帐号的身份。在识别出用户帐号的身份为可信身份时,由处理器901授权该用户帐号执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户帐号与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户帐号与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户帐号与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的基于状态机的指令执行方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的基于状态机的指令执行方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的基于状态机的指令执行方法。
本申请还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的基于状态机的指令执行方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种基于状态机的指令执行方法,其特征在于,所述方法包括:
接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;
获取所述语音指令所指示的所述目标事件对应的脚本;
运行所述脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数。
2.根据权利要求1所述的方法,其特征在于,所述运行所述脚本,包括:
运行第i个处理步骤,i为不大于n的正整数;
响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件回溯所述第i个处理步骤,i为不大于n的正整数;或,响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件继续运行第i+1个处理步骤;
响应于所述第i个处理步骤未配置所述状态机,继续运行所述第i+1个步骤;
重复上述步骤,运行所述脚本的所述n个处理步骤。
3.根据权利要求2所述的方法,其特征在于,所述状态机包括搜索状态机,所述响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件回溯所述第i个处理步骤,包括:
响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,回溯运行所述第i个处理步骤;
或,
响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤;
或,
响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤。
4.根据权利要求2所述的方法,其特征在于,所述状态机包括搜索状态机,所述响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件继续运行第i+1个处理步骤,包括:
响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行成功,继续运行所述第i+1个处理步骤;
或,
响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数达到次数阈值,继续运行所述第i+1个处理步骤。
5.根据权利要求2所述的方法,其特征在于,所述状态机包括前置状态机,所述响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件回溯所述第i个处理步骤,包括:
响应于所述第i个处理步骤配置有所述前置状态机,对所述第i个处理步骤的所述处理结果进行前置处理,得到前置处理结果;
返回所述前置处理结果。
6.根据权利要求2至5任一所述的方法,其特征在于,所述运行第i个处理步骤,包括:
运行所述第i个处理步骤向所述第三方应用程序发送所述第i个处理步骤对应的第i个指令;
接收无障碍服务发送的所述第三方应用程序的运行数据,所述无障碍服务用于监控所述第三方应用程序的运行状态;
基于所述运行数据确定所述第i个处理步骤的所述处理结果。
7.根据权利要求1至5任一所述的方法,其特征在于,所述获取所述语音指令所指示的所述目标事件对应的脚本,包括:
向后台服务发送所述语音指令,所述后台服务用于识别所述语音指令,并根据识别结果获取所述语音指令对应的脚本;
接收所述后台服务发送的所述语音指令所指示的所述目标事件对应的脚本。
8.一种基于状态机的指令执行装置,其特征在于,所述装置包括:
交互模块,用于接收语音指令,所述语音指令用于指示通过第三方应用程序实现目标事件;
获取模块,用于获取所述语音指令所指示的所述目标事件对应的脚本;
运行模块,用于运行所述脚本,所述脚本包括用于实现所述目标事件的n个处理步骤,所述n个处理步骤中的目标处理步骤配置有状态机,所述状态机用于根据状态转移条件回溯所述目标处理步骤,n为正整数。
9.根据权利要求8所述的装置,其特征在于,所述运行模块,用于运行第i个处理步骤,i为不大于n的正整数;
所述运行模块,用于响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件回溯所述第i个处理步骤,i为不大于n的正整数;或,响应于所述第i个处理步骤配置有所述状态机,根据所述第i个处理步骤的处理结果所满足的所述状态转移条件继续运行第i+1个处理步骤;
所述运行模块,用于响应于所述第i个处理步骤未配置所述状态机,继续运行所述第i+1个步骤;
所述运行模块,用于重复上述步骤,运行所述脚本的所述n个处理步骤。
10.根据权利要求9所述的装置,其特征在于,所述状态机包括搜索状态机;所述运行模块,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,回溯运行所述第i个处理步骤;
或,
所述运行模块,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤;
或,
所述运行模块,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行未成功,且所述第i个处理步骤的运行次数未达到次数阈值,回溯运行所述第i个处理步骤。
11.根据权利要求9所述的装置,其特征在于,所述状态机包括搜索状态机;
所述运行模块,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行成功,继续运行所述第i+1个处理步骤;
或,
所述运行模块,用于响应于所述第i个处理步骤配置有所述搜索状态机,且所述第i个处理步骤的运行次数达到次数阈值,继续运行所述第i+1个处理步骤。
12.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行如权利要求1至7任一项所述的基于状态机的指令执行方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一项所述的基于状态机的指令执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541956.2A CN113282355A (zh) | 2021-05-18 | 2021-05-18 | 基于状态机的指令执行方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541956.2A CN113282355A (zh) | 2021-05-18 | 2021-05-18 | 基于状态机的指令执行方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282355A true CN113282355A (zh) | 2021-08-20 |
Family
ID=77279718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110541956.2A Pending CN113282355A (zh) | 2021-05-18 | 2021-05-18 | 基于状态机的指令执行方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282355A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755782A (zh) * | 2023-08-18 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 一种指令调度的方法、装置、设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105845137A (zh) * | 2016-03-18 | 2016-08-10 | 中国科学院声学研究所 | 一种语音对话管理系统 |
CN110992954A (zh) * | 2019-12-25 | 2020-04-10 | 北京梧桐车联科技有限责任公司 | 语音识别的方法、装置、设备及存储介质 |
CN111192578A (zh) * | 2019-12-28 | 2020-05-22 | 惠州Tcl移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN112051993A (zh) * | 2020-08-17 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 状态机模板的生成及任务处理方法、装置、介质及设备 |
US20210183386A1 (en) * | 2019-08-15 | 2021-06-17 | Huawei Technologies Co., Ltd. | Voice Interaction Method and Apparatus, Terminal, and Storage Medium |
-
2021
- 2021-05-18 CN CN202110541956.2A patent/CN113282355A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105845137A (zh) * | 2016-03-18 | 2016-08-10 | 中国科学院声学研究所 | 一种语音对话管理系统 |
US20210183386A1 (en) * | 2019-08-15 | 2021-06-17 | Huawei Technologies Co., Ltd. | Voice Interaction Method and Apparatus, Terminal, and Storage Medium |
CN110992954A (zh) * | 2019-12-25 | 2020-04-10 | 北京梧桐车联科技有限责任公司 | 语音识别的方法、装置、设备及存储介质 |
CN111192578A (zh) * | 2019-12-28 | 2020-05-22 | 惠州Tcl移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN112051993A (zh) * | 2020-08-17 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 状态机模板的生成及任务处理方法、装置、介质及设备 |
Non-Patent Citations (1)
Title |
---|
周宽久等: "一个语音信息门户的设计与实现", 《计算机工程》, pages 101 - 103 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755782A (zh) * | 2023-08-18 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 一种指令调度的方法、装置、设备、存储介质及程序产品 |
CN116755782B (zh) * | 2023-08-18 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 一种指令调度的方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602321B (zh) | 应用程序切换方法、装置、电子装置及存储介质 | |
CN110308956B (zh) | 一种应用界面显示方法、装置及移动终端 | |
CN110300274B (zh) | 视频文件的录制方法、装置及存储介质 | |
CN110572716B (zh) | 多媒体数据播放方法、装置及存储介质 | |
CN109068008B (zh) | 铃声设置方法、装置、终端及存储介质 | |
CN109144346B (zh) | 歌曲分享方法、装置及存储介质 | |
CN110288689B (zh) | 对电子地图进行渲染的方法和装置 | |
CN111311155A (zh) | 修改配送位置的方法、装置、系统、设备以及存储介质 | |
CN112749362A (zh) | 控件创建方法、装置、设备及存储介质 | |
CN110677713B (zh) | 视频图像处理方法及装置、存储介质 | |
CN112256181A (zh) | 交互处理方法、装置、计算机设备及存储介质 | |
CN111681655A (zh) | 语音控制方法、装置、电子设备及存储介质 | |
CN111437600A (zh) | 剧情展示方法、装置、设备及存储介质 | |
CN111241499A (zh) | 应用程序登录的方法、装置、终端及存储介质 | |
CN114594923A (zh) | 车载终端的控制方法、装置、设备及存储介质 | |
CN110827830B (zh) | 基于语音数据的声纹识别方法、装置、终端及存储介质 | |
CN113518261A (zh) | 指引视频播放方法、装置、计算机设备及存储介质 | |
CN112118353A (zh) | 信息显示方法、装置、终端及计算机可读存储介质 | |
CN113282355A (zh) | 基于状态机的指令执行方法、装置、终端及存储介质 | |
CN109107163B (zh) | 模拟按键检测方法、装置、计算机设备及存储介质 | |
EP3862853A1 (en) | Touch operation locking method and electronic device | |
CN111061369B (zh) | 交互方法、装置、设备及存储介质 | |
CN111464829B (zh) | 切换媒体数据的方法、装置、设备及存储介质 | |
CN112015612B (zh) | 一种获取卡顿信息的方法及装置 | |
CN113843814A (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 |