CN108848250B - 路径更新方法、装置及设备 - Google Patents

路径更新方法、装置及设备 Download PDF

Info

Publication number
CN108848250B
CN108848250B CN201810426781.9A CN201810426781A CN108848250B CN 108848250 B CN108848250 B CN 108848250B CN 201810426781 A CN201810426781 A CN 201810426781A CN 108848250 B CN108848250 B CN 108848250B
Authority
CN
China
Prior art keywords
path
node
operation node
operation path
updated
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.)
Expired - Fee Related
Application number
CN201810426781.9A
Other languages
English (en)
Other versions
CN108848250A (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 Qidian Intelligent Technology Co ltd
Original Assignee
Beijing Qidian Intelligent Technology 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 Beijing Qidian Intelligent Technology Co ltd filed Critical Beijing Qidian Intelligent Technology Co ltd
Priority to CN201810426781.9A priority Critical patent/CN108848250B/zh
Publication of CN108848250A publication Critical patent/CN108848250A/zh
Application granted granted Critical
Publication of CN108848250B publication Critical patent/CN108848250B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/40Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/56Details of telephonic subscriber devices including a user help function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种路径更新方法、装置及设备。其中,该方法包括:从已生成的应用程序对应的操作路径中,检测待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。本发明的技术方案,能够使得应用程序对应的操作路径具有更高的普适性以及鲁棒性,提升用户体验。

Description

路径更新方法、装置及设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种路径更新方法、装置及设备。
背景技术
智能手机可以通过下载应用程序来拓展手机的功能。近几年,随着智能手机的发展,各大软件公司争先开发用于满足用户不同方面需求的应用程序,并且各个应用程序中提供的功能也越来越丰富。
为简化用户针对应用程序的操作,现有技术提出了一种可安装于手机上的语音助手。该语音助手能够通过识别用户输入的语音,来确定用户对应用程序的控制意图。基于该控制意图,可从预先生成的用于操控应用程序的路径中选取匹配的路径,并控制该应用程序执行选取出的路径,以实现用户的控制意图。
但是,现有的技术方案中,预先生成的用于操控应用程序的路径存在鲁棒性较差的缺陷。
发明内容
有鉴于此,本发明实施例提供一种路径更新方法、装置及设备,以提高用于操控应用程序的路径的鲁棒性,使用户针对应用程序的控制操作更稳定。
本发明实施例提供一种路径更新方法,包括:从已生成的应用程序对应的操作路径中,检测待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。
进一步可选地,所述根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径,包括:将不同版本和/或安装于不同终端设备上的所述应用程序作为路径选举时的投票数据源;从投票数据源中获取所述至少一条操作路径各自对应的操作节点属性;根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票;从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
进一步可选地,针对所述至少一条操作路径中的任意一条操作路径,所述投票的步骤包括:获取所述操作路径对应的操作节点属性中,与路径优化成正相关关系的第一操作节点属性以及与路径优化成负相关关系的第二操作节点属性;设置所述第一操作节点属性的投票系数为正系数、所述第二操作节点属性的投票系数为负系数;根据所述正系数以及所述负系数,计算所述操作路径对应的分数。
进一步可选地,针对所述至少一条操作路径中的任意一条操作路径,所述操作路径对应的操作节点属性包括:所述操作路径包含的操作节点的数量、所述操作路径中每一个操作节点对应的页面控件的属性和/或所述操作路径中每一个操作节点对应的页面控件的可读性。
进一步可选地,根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径,包括:从所述操作节点树的根节点开始遍历所述操作节点树,以获取多条遍历路径;从所述多条遍历路径中获取包含所述待更新的操作节点的路径,作为备选路径;以所述待更新的操作节点为路径终点,对所述备选路径进行截取;将所述截取得到的路径作为能够到达所述待更新的操作节点的操作路径。
进一步可选地,根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径,包括:在所述操作节点树中,逐层向上遍历所述待更新的操作节点的父节点,直至遍历到所述操作节点树的根节点;根据每一次遍历所经过的操作节点组成的序列,确定能够到达所述待更新操作节点的操作路径。
进一步可选地,从已生成的应用程序对应的操作路径中,检测待更新的操作节点,包括:向所述应用程序发送执行所述操作路径的指令,以使所述应用程序依次执行所述操作路径包含的各操作节点;获取所述应用程序执行失败时对应的操作节点,作为待更新的操作节点。
本发明实施例提供一种路径更新装置,包括:检测模块,用于从已生成的应用程序对应的操作路径中,确定待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;路径获取模块,用于根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;选举模块,用于根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;更新模块,用于将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。
进一步可选地,所述选举模块具体用于:根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票;从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
本发明实施例还提供一种电子设备,包括:处理器,以及与所述处理器连接的存储器;所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;所述处理器,用于执行所述一条或多条计算机指令以实现本发明实施例提供的路径更新方法。
本发明实施例提供的路径更新方法、装置及设备,针对应用程序已生成的路径中的待更新的操作节点,可根据应用程序对应的操作节点树,确定能够到达该待更新的操作节点的操作路径,并根据操作路径对应的操作节点属性,从确定的操作路径中,选举出通往该待更新的操作节点的最优路径。基于上述方式选举出的最优路径,具有较高的普适性以及鲁棒性,使用户针对应用程序的控制操作更稳定。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的路径更新方法的方法流程图;
图2a为本发明另一实施例提供的路径更新方法的方法流程图;
图2b为本发明一实施例提供的操作节点树的示意图;
图3为本发明一实施例提供的路径更新装置的结构示意图;
图4为本发明一实施例提供的路径更新设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述一些对象,但这些术语仅用来将被描述的对象彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一对象也可以被称为第二对象,类似地,第二对象也可以被称为第一对象。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
现有技术提供一种语音助手,该语音助手可以是安装在终端设备,例如手机或者平板电脑上的插件。用户打开安装于终端设备上的某一应用程序后,若想实现此应用程序提供的某一功能,如支付、聊天等功能时,可以向终端设备输入语音。该语音助手能够通过识别用户输入的语音,来确定用户对应用程序的控制意图;基于该控制意图,可从预先生成的用于操控应用程序的操作路径中选取匹配的路径,并控制该应用程序执行选取出的操作路径。其中,用于操控应用程序的操作路径由操作节点序列组成。应用程序每执行一个操作节点都相当于用户点击了页面中的与操作节点对应的一个控件。可选地,组成操作路径的操作节点序列可以理解为:在实现应用程序的某一功能的过程中所触发的控件的顺序。当应用程序按照该操作路径中的操作节点的顺序执行结束后,可实现用户的控制意图。
其中,与操作节点对应的控件可以为应用程序的页面上提供的可交互按钮,用户通过点击可交互按钮即可实现某一功能。在实际应用中,以聊天应用程序举例来说,可交互按钮可以是位于页面底端的“聊天对话”、“通信录”、“设置”等控件,也可以是位于页面上其他位置的控件。在实际中,针对一应用程序而言,其对应的操作路径可以通过向用户学习建立,也可以通过调用应用程序对外开放的接口建立的,本实施例不做限制。
发明人在对上述语音助手方案进行试验的过程中发现,在一些场景下,应用程序更新或者升级后,应用程序对应的页面控件的类型或者布局发生了变化。此时,在应用程序上执行已生成的路径时,可能会出现执行失败的情形。在另一些场景下,不同的用户可能对各自终端设备上安装的应用程序进行个性化的自定义设置。进而,同一应用程序安装在不同的终端设备上时,其页面状态,例如页面上包含的控件类型或控件的位置可能不同。这种情况可能导致在A终端设备上能够执行成功的操作路径,在B终端设备上执行失败了。
为了解决上述缺陷,本申请的发明人提出了一种路径更新方法,其核心在于,针对应用程序已生成的路径中的待更新的操作节点,根据应用程序对应的操作节点树,确定能够到达该待更新的操作节点的操作路径,并根据操作路径对应的操作节点属性,从确定的操作路径中,选举出通往该待更新的操作节点的最优路径。以下部分将结合具体的实施例,对本申请的技术方案进行阐述。
图1是本申请一实施例提供的路径更新方法的方法流程图,结合图1,该方法包括:
步骤101、从已生成的应用程序对应的操作路径中,检测待更新的操作节点。
步骤102、根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径。
步骤103、根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径。
步骤104、将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。
在步骤101中,应用程序对应的操作路径是预先生成的,由操作节点序列组成,待更新的操作节点是操作路径中的任意一个操作节点。操作路径中的每一操作节点表示对应用程序页面上相应的控件执行一次触发操作。
其中,操作路径和应用程序的功能存在对应关系,也就是说,应用程序每执行一条操作路径,可实现一目标功能。例如,执行操作路径1可实现拨号给某个联系人的功能,执行操作路径2可实现打开浏览器查询某一关键词的功能。操作路径中包含的操作节点的顺序,相当于实现应用程序中相应功能的时所触发的控件的顺序。
在步骤102中,应用程序的页面上包含控件,针对控件的操作可以使得应用程序从当前页面跳转至下一层级的页面或从当前页面返回至上一层级的页面。在上一层级的页面或下一层级的页面中,可以执行其他操作。针对应用程序各个页面中存在的控件的操作,以及各个操作之间的跳转关系,可以用操作节点树来描述。
能够到达所述待更新的操作节点的操作路径,从操作节点树的根节点出发,能够路过所述待更新的操作节点的路径,或目的地为所述待更新的操作节点的操作路径。
在步骤103中,操作节点属性,指的是一条操作路径在操作节点方面具有的特征,该特征对操作路径的鲁棒性以及稳定性有影响。例如,一些操作节点属性有利于提高操作路径的鲁棒性以及稳定性,另一些操作节点属性不利于提高操作路径的鲁棒性或稳定性。
当存在至少一条能够到达所述待更新节点的操作路径时,基于操作节点属性从所述至少一条操作路径选举出最优路径,能够使得选举出的路径在鲁棒性以及稳定性方面达到最优。进而,后续通过执行选举出的最优路径来实现所述待更新的操作节点对应的目标功能时,成功率更高,用户体验更好。
在步骤104中,将选举出的最优操作路径,作为所述待更新的操作节点对应的操作路径。
本实施例中,针对应用程序已生成的路径中的待更新的操作节点,可根据应用程序对应的操作节点树,确定能够到达该待更新的操作节点的操作路径,并根据操作路径对应的操作节点属性,从确定的操作路径中,选举出通往该待更新的操作节点的最优路径。基于上述方式选举出的最优路径,具有较高的普适性以及鲁棒性,使用户针对应用程序的控制操作更稳定。
可选地,上述或下述实施例提供的路径更新方法,可以应用于多种应用场景,例如在一种应用场景下,可对已有的路径进行纠错;在另一种应用场景下,可对已有的路径进行版本升级。
在对路径进行纠错的应用场景下,假设语音助手通过安装于A终端设备上的第一应用程序获取了能够实现第一功能的第一操作路径,并将第一操作路径保存至路径存储空间。其中,路径存储空间可以位于语音助手的服务端。当语音助手通过B终端设备接收到用户想要实现第一功能的命令时,可优先从路径存储空间读取与第一功能对应的第一操作路径,并控制安装于B终端上的第一应用程序执行第一操作路径。假设,A终端设备的持有用户与B终端设备的持有用户分别对各自终端设备上安装的第一应用程序进行了自定义设置,也就是说A终端设备以及B终端设备上安装的第一应用程序的页面控件存在差异。这种差异导致第一操作路径由B终端设备上安装的第一应用程序执行时,可能出现某一个或多个操作节点无法与第一应用程序上的页面控件对应的情形,进而执行失败。在这种情况下,可以执行本申请上述或下述实施例提供的路径更新方法,对第一操作路径进行更新。
在对路径进行版本升级的应用场景下,假设,语音助手的路径存储空间内保存的第一操作路径是通过旧版本的第一应用程序生成的。当第一应用程序升级时,例如从2.0版本升级到2.2版本,此时第一应用程序页面上的控件的种类、数量或者布局位置可能发生变化。这种变化将导致第一操作路径由版本升级后的第一应用程序执行时,可能出现某一个或多个操作节点无法与第一应用程序上的页面控件对应的情形,进而执行失败。在这种情况下,可以执行本申请上述或下述实施例的路径更新方法,对第一操作路径进行更新,以适应性地对第一操作路径进行升级。
可选地,语音助手的路径存储空间还可保存第一应用程序的版本与第一操作路径版本的对应关系,例如,2.0版本的第一应用程序实现第一功能的路径为2.0版本的第一操作路径、2.5版本的第一应用程序实现第一功能的路径为2.5版本的第一操作路径。进而,后续语音助手在接收到用户通过C终端设备发起的在第一应用程序上实现第一功能的命令时,预先识别C终端设备上安装的第一应用程序的版本,再根据第一应用程序的版本,选择合适版本的操作路径。
应当理解,上述实施例所列举的对路径进行纠错的应用场景以及版本升级的应用场景,仅仅是本申请实施例提供的路径更新方法的两种可选应用场景,在实际中还存在其他可能的应用场景,本申请实施例不作限制。
以下实施例,将结合图2a以对路径进行纠错的应用场景为例,对本申请实施例提供的路径更新方法进行具体阐述。在一可选地实施方式中,路径更新方法的具体实现流程可如图2a所示,包括:
步骤201、向应用程序发送执行第一操作路径的指令,以使所述应用程序依次执行所述第一操作路径包含的各操作节点。
步骤202、获取所述应用程序执行失败时对应的操作节点,作为待更新的操作节点。
步骤203、根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径。
步骤204、从投票数据源中获取所述至少一条操作路径各自对应的操作节点属性;所述投票数据源包括不同版本和/或安装于不同终端设备上的所述应用程序。
步骤205、根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票。
步骤206、从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
步骤207、将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。
在步骤201中,第一操作路径,可以是针对应用程序已生成的任一操作路径,此处的“第一”仅仅为了描述方便,并不对操作路径构成任何限制。
可选地,在一应用场景下,用户通过终端设备开启应用程序之后,可向终端设备输入语音。安装于终端设备上的语音助手可以接收用户的输入语音,并通过内置的语音识别算法识别出此输入语音的含义。其中,用户可以是终端设备的使用者,在实际应用中,此使用者既可以是普通用户也可以是语音助手的开发者。语音助手识别出此输入语音的含义之后,可从与该应用程序对应的已生成的操作路径中确定出一条目标操作路径,即第一操作路径。
在确定第一操作路径后,语音助手可向该应用程序发送执行第一操作路径的指令。可选地,此执行指令中可包括组成第一操作路径的操作节点序列。应用程序根据接收到的控制指令,依次执行各个操作节点。每执行一个操作节点都相当于用户点击了页面中对应的一个控件。例如,执行返回操作节点,相当于用户点击了页面中的返回按钮;执行播放音乐操作节点,相当于用户点击了页面中的播放按钮。
在步骤202中,当应用程序执行第一操作路径出现失败现象时,获取执行失败的操作节点,作为待更新的操作节点。其中,失败现象指的是应用程序不能顺利实现第一操作路径对应的目标功能的现象,例如应用程序执行超时、执行异常、卡顿时对应的操作节点。
在步骤203中,可选的,针对一应用程序,可通过其对外提供的接口或者安装包获取其各个页面中存在的控件以及针对控件的操作所触发的页面之间的跳转关系。基于上述内容,可建立应用程序对应的操作节点树。操作节点树可描述针对应用程序各个页面中存在的控件的操作,以及各个操作之间的触发与被触发的关系。
图2b示意了一通讯程序对应的操作节点树,该操作节点树上示意了可针对通讯程序执行的多个操作以及不同操作之间的跳转关系。如图2b所示,在通讯应用程序上实现某一目标功能可通过不同的操作路径实现,例如打开扫一扫功能,可通过“开启通讯程序-打开发现列表-打开扫一扫”这一操作路径实现,也可以通过“开启通讯程序-打开聊天对话框列表-打开附加功能-打开扫一扫”这一操作路径实现。
在一可选实施方式中,基于应用程序对应的操作节点树,可从操作节点树的根节点开始遍历所述操作节点树,以获取多条遍历路径。再从所述多条遍历路径中获取包含所述待更新的操作节点的路径,作为备选路径。应当理解,备选路径路过所述待更新的操作节点或目的地指向所述待更新的操作节点。接着,可以所述待更新的操作节点为路径终点,对所述备选路径进行截取,也就是说,去掉备选路径中位于所述待更新的操作节点之后的操作节点。最后,可将所述截取得到的路径作为能够到达所述待更新的操作节点的操作路径。
以图2b为例,假设待更新的操作节点为“打开联系人M的资料”,则备选路径可以为:“开启通讯程序-打开通讯录-打开联系人M的资料-打开联系人M的朋友圈”以及“开启通讯程序-打开聊天对话框列表-打开与联系人M的对话框-打开联系人M的资料-打开联系人M的朋友圈”等。接着,去掉“打开联系人M的资料”之后的操作节点,得到的能够到达“打开联系人M的资料”的操作路径为:“开启通讯程序-打开通讯录-打开联系人M的资料”以及“开启通讯程序-打开聊天对话框列表-打开与联系人M的对话框-打开联系人M的资料”等。
在另一可选实施方式中,基于应用程序对应的操作节点树,可在所述操作节点树中,逐层向上遍历所述待更新的操作节点的父节点,直至遍历到所述操作节点树的根节点;再根据每一次遍历所经过的操作节点组成的序列,确定能够到达所述待更新操作节点的操作路径。可选的,可将每一次遍历所经过的操作节点组成序列,再获取该序列的逆序列,并将该逆序列作为所述待更新操作节点的操作路径。以图2b为例,假设待更新的操作节点为“打开联系人M的资料”,则其上一层父节点分别为“打开与联系人M的对话框”、“打开通讯录”。其中,“打开与联系人M的对话框”的上一层父节点为“打开聊天对话框列表”,“打开通讯录”的上一层父节点为“开启通讯程序”。继续向上寻找父节点,发现“开启通讯程序”是操作节点树的根节点,遍历截至,得到第一条操作路径为“开启通讯程序-打开通讯录-打开联系人M的资料”。针对“打开聊天对话框列表”继续向上寻找父节点,发现其上一层父节点为“开启通讯程序”,此时遍历截至,得到第二条操作路径为“开启通讯程序-打开通讯录-打开联系人M的资料”。
在步骤204中,投票数据源指的是对至少一条操作路径进行投票所采用的数据的来源。可选的,在本实施例中,投票数据源包括不同版本的应用程序和/或安装于不同终端设备上的应用程序。采用不同版本的应用程序和/或安装于不同终端设备上的应用程序做投票数据源的目的在于,使得不同版本和/或不同终端设备上安装的应用程序参与到最优路径的决策过程,进而增加决策出的最优路径在不同运行环境下运行的成功率,提升最优路径的鲁棒性,以及针对不同版本或不同设备上安装的应用程序的普适性。
可选的,在上述或下述实施例中,针对所述至少一条操作路径中的任意一条操作路径,所述操作路径对应的操作节点属性主要包括:所述操作路径包含的操作节点的数量、所述操作路径中每一个操作节点对应的页面控件的属性和/或所述操作路径中每一个操作节点对应的页面控件的可读性。当然,实际中,还存在其他操作节点属性,此处不赘述。
其中,操作路径包含的操作节点的数量决定了操作路径的长度,操作路径的长度能够在一定程度上影响操作路径的执行时间以及执行错误率。应当理解,操作路径越长,其执行时间越长,错误率也越高。例如,实现第一功能的操作路径A1包含3个操作节点,操作路径A2包含5个操作节点。在实际执行过程中,基于操作路径A1,应用程序需要执行3个步骤来实现第一功能。基于操作路径A2,应用程序需要执行5个步骤来实现第一功能。在一些情况下,可以认为操作路径A1优于操作路径A2。
其中,操作路径中每一个操作节点对应的页面控件的属性,指的是每一个操作节点对应的页面控件具有的特征,该特征用于对页面控件进行描述和标识,基于该特征可以在多个页面控件中锁定某一目标页面控件。可选的,页面控件的属性包括其特有属性或者与其他页面控件共有的属性。例如,一页面控件的属性可以为:该页面控件的控件类型为一按钮、其上显示有静态文字ABC、其支持单击操作。另一页面控件的属性可以为:该页面控件的控件类型为一按钮、其上显示有滚动文字,且支持长按操作。
可选的,在应用程序的界面上寻找与某一操作节点对应的页面控件时,可根据该操作节点对应的页面控件应当具有的属性,在页面上寻找与该属性匹配的页面控件。基于此,页面控件的属性的独特性越高,则对其进行寻找所花费的时间越短,对其进行锁定的准确率越高。应当理解,当一页面控件的某一属性具有唯一性时,在其所在的页面上根据该唯一属性寻找该页面控件所花费的时间最短,对其进行锁定的准确率达到最高。
其中,操作路径中每一个操作节点对应的页面控件的可读性,指的是页面控件所显示的内容、描述或者识别标识是否具有可以被理解的实质意义或具有实质性指示内容。例如,可选地,一页面控件所显示的内容为“扫一扫”,另一页面控件所显示的内容为“A”,则可认为前者的可读性优于后者。在一些应用场景下,在应用程序的界面上寻找与操作节点对应的页面控件时,可根据操作节点指示的操作内容在页面寻找符合该操作内容的页面控件。在这种应用场景下,页面控件的可读性越高,则寻找的准确率越高。
基于上述说明,可以看出,操作路径对应的操作节点属性能够决定应用程序在执行该操作路径包含的各个操作节点时,锁定操作节点对应的页面控件的效率、准确率、可靠性,以及执行整条操作路径所花费的时间。因此,在步骤205中,可基于操作节点属性对操作路径存在影响,根据操作节点属性对所述至少一条操作路径进行投票选举。
可选的,在投票的过程中,可预先获取所述操作路径对应的操作节点属性中,与路径优化成正相关关系的第一操作节点属性以及与路径优化成负相关关系的第二操作节点属性。其中,正相关关系可以理解为:该操作节点属性能够为路径更加优异做了正面贡献,负相关关系可以理解为:该操作节点属性为路径更加优化做了负面贡献。
例如,一操作节点属性为:操作路径中包含的操作节点数量小于设定阈值,较少的操作节点有利于操作路径的短小精简化,也就是说为路径的更加优异做了正面贡献,可认为该操作节点属性为与路径优化成正相关关系的第一操作节点属性。反之,若另一操作节点属性为:操作路径中包含的操作节点数量大于设定阈值,较多的操作节点属性使得操作路径复杂化,也就是说为路径的更加优异做了负面贡献,可认为该操作节点属性为与路径优化成负相关关系的第二操作节点属性。其中,设定阈值为经验值,根据实际需求进行设定,本实施例不做限制。
同理,针对其他的操作节点属性,也可根据其对路径优化的贡献类型对其进行分类。例如,一操作节点属性为:操作节点对应的页面控件与其他页面控件之间的共有属性较多,且该页面控件无特有属性,则可认为该操作节点属性为与路径优化成负相关关系的第二操作节点属性;反之,若另一操作节点属性为:操作节点对应的页面控件相对于其他页面控件而言具有特有属性,则可认为该操作节点属性为与路径优化成正相关关系的第一操作节点属性。
再例如,一操作节点属性为:操作节点对应的页面控件上显示的文字指示了该页面控件的功能,具有高可读性,则可认为该操作节点属性为与路径优化成正相关关系的第一操作节点属性;反之,若另一操作节点属性为:操作节点对应的页面控件上显示的文字为无意义的字符,可读性差,则可认为该操作节点属性为与路径优化成负相关关系的第二操作节点属性。
在分类结束后,可设置所述第一操作节点属性的投票系数为正系数、所述第二操作节点属性的投票系数为负系数,以通过正负系数对投票分数的影响,来体现操作节点属性对路径优化做出的贡献类型。
接着,基于所述正系数以及所述负系数,可对所述至少一条操作路径中的每一条操作路径,根据该操作路径对应的操作节点属性,计算所述操作路径对应的分数。
可选的,操作属性表现的特征不同,则对应的投票分数也不同。例如,操作路径中包含的操作节点的数量在设定阈值之内时,操作节点的数量越少,分值越高;当操作路径中包含的操作节点的数量超过设定阈时,操作节点的数量越多,分值越高。例如,当设定阈值为5时,若一操作路径包含2个操作节点,则其对应的分值可以为10分,在对该操作路径进行投票时,2个操作节点对应的投票分数为+10分;若另一操作路径包含3个操作节点,则其对应的分值可以为8分,在对该操作路径进行投票时,3个操作节点对应的投票分数为+8分;若又一操作路径包含7个操作节点,则其对应的分值可以为2分,在对该操作路径进行投票时,7个操作节点对应的投票分数为-2分。当然,上述数值仅供举例说明使用,对本申请实施例的技术方案不构成任何限制。
同理,针对操作路径中每一个操作节点对应的页面控件的属性而言,页面控件的属性的独特性或唯一性越高,则其投票时的分数越高。针对操作路径中每一个操作节点对应的页面控件的可读性而言,页面控件的可读性越高,其投票时的分数越高,不再赘述。
在步骤206以及步骤207中,在得到所述至少一条操作路径中的每条操作路径的投票分数后,可从所述至少一条操作路径中,选取最高投票分数对应的操作路径作为所述最优操作路径,并以该最优操作路径作为所述待更新的操作节点对应的操作路径。此时,最高投票分数对应的操作路径,在不同版本的应用程序以及安装于不同设备上的应用程序上执行时,成功率极大地提升。
本实施例中,在对所述至少一条操作路径进行投票时,投票数据源包括不同版本的所述应用程序和/或安装于不同设备上的所述应用程序,进而投票结果的可靠性以及普适性更高,进而提升了操作路径的鲁棒性,使得投票选举出的路径在不同版本的应用程序上执行时,均能够得到较优的执行结果,提升用户体验。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
以上描述了路径更新方法的可选实施方式,如图3所示,实际中,该路径更新方法可通过路径更新装置实现,如图3所示,该路径更新装置包括:
检测模块301,用于从已生成的应用程序对应的操作路径中,确定待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;路径获取模块302,用于根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;选举模块303,用于根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;更新模块304,用于将所述最优操作路径,作为所述待更新的操作节点对应的操作路径。
进一步可选地,选举模块303具体用于:将不同版本和/或安装于不同终端设备上的所述应用程序作为路径选举时的投票数据源;从投票数据源中获取所述至少一条操作路径各自对应的操作节点属性;根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票;从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
进一步可选地,针对所述至少一条操作路径中的任意一条操作路径,选举模块303具体用于:获取所述操作路径对应的操作节点属性中,与路径优化成正相关关系的第一操作节点属性以及与路径优化成负相关关系的第二操作节点属性;设置所述第一操作节点属性的投票系数为正系数、所述第二操作节点属性的投票系数为负系数;根据所述正系数以及所述负系数,计算所述操作路径对应的分数。
进一步可选地,针对所述至少一条操作路径中的任意一条操作路径,所述操作路径对应的操作节点属性包括:所述操作路径包含的操作节点的数量、所述操作路径中每一个操作节点对应的页面控件的属性和/或所述操作路径中每一个操作节点对应的页面控件的可读性。
进一步可选地,路径获取模块302具体用于:从所述操作节点树的根节点开始遍历所述操作节点树,以获取多条遍历路径;从所述多条遍历路径中获取包含所述待更新的操作节点的路径,作为备选路径;以所述待更新的操作节点为路径终点,对所述备选路径进行截取;将所述截取得到的路径作为能够到达所述待更新的操作节点的操作路径。
进一步可选地,路径获取模块302具体用于:在所述操作节点树中,逐层向上遍历所述待更新的操作节点的父节点,直至遍历到所述操作节点树的根节点;根据每一次遍历所经过的操作节点组成的序列,确定能够到达所述待更新操作节点的操作路径。
进一步可选地,检测模块301具体用于:向所述应用程序发送执行所述操作路径的指令,以使所述应用程序依次执行所述操作路径包含的各操作节点;获取所述应用程序执行失败时对应的操作节点,作为待更新的操作节点。
上述路径更新装置可执行本申请实施例所提供的路径更新方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法,不再赘述。
以上描述了路径更新装置的内部功能和结构,如图4所述,实际中,该路径更新装置可实现为路径更新设备,包括:存储器401、处理器402、输入装置403以及输出装置404。
存储器401、处理器402、输入装置403以及输出装置404可以通过总线或其他方式连接,图4中以总线连接为例。
存储器401用于存储一条或多条计算机指令,并可被配置为存储其它各种数据以支持在路径更新设备上的操作。这些数据的示例包括用于在路径更新设备上操作的任何应用程序或方法的指令。
存储器401可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在一些实施例中,存储器401可选包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至路径更新设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器402,与存储器401耦合,用于执行所述一条或多条计算机指令以用于执行图1以及图2a对应的路径更新方法。
输入装置403可接收输入的数字或字符信息,以及产生与路径更新设备的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
进一步,如图4所示,该路径更新设备还包括:电源组件405。电源组件405,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述路径更新设备可执行本申请实施例所提供的路径更新方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法,不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种路径更新方法,其特征在于,包括:
从已生成的应用程序对应的操作路径中,检测待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;
根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;
根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;
将所述最优操作路径,作为所述待更新的操作节点对应的操作路径;
其中,所述根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径,包括:将不同版本和/或安装于不同终端设备上的所述应用程序作为路径选举时的投票数据源;从投票数据源中获取所述至少一条操作路径各自对应的操作节点属性;根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票;从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
2.根据权利要求1所述的方法,其特征在于,针对所述至少一条操作路径中的任意一条操作路径,所述投票的步骤包括:
获取所述操作路径对应的操作节点属性中,与路径优化成正相关关系的第一操作节点属性以及与路径优化成负相关关系的第二操作节点属性;
设置所述第一操作节点属性的投票系数为正系数、所述第二操作节点属性的投票系数为负系数;
根据所述正系数以及所述负系数,计算所述操作路径对应的分数。
3.根据权利要求1或2所述的方法,其特征在于,针对所述至少一条操作路径中的任意一条操作路径,所述操作路径对应的操作节点属性包括:
所述操作路径包含的操作节点的数量、所述操作路径中每一个操作节点对应的页面控件的属性和/或所述操作路径中每一个操作节点对应的页面控件的可读性。
4.根据权利要求1或2所述的方法,其特征在于,根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径,包括:
从所述操作节点树的根节点开始遍历所述操作节点树,以获取多条遍历路径;
从所述多条遍历路径中获取包含所述待更新的操作节点的路径,作为备选路径;
以所述待更新的操作节点为路径终点,对所述备选路径进行截取;
将所述截取得到的路径作为能够到达所述待更新的操作节点的操作路径。
5.根据权利要求1或2所述的方法,其特征在于,根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径,包括:
在所述操作节点树中,逐层向上遍历所述待更新的操作节点的父节点,直至遍历到所述操作节点树的根节点;
根据每一次遍历所经过的操作节点组成的序列,确定能够到达所述待更新操作节点的操作路径。
6.根据权利要求1或2所述的方法,其特征在于,从已生成的应用程序对应的操作路径中,检测待更新的操作节点,包括:
向所述应用程序发送执行所述操作路径的指令,以使所述应用程序依次执行所述操作路径包含的各操作节点;
获取所述应用程序执行失败时对应的操作节点,作为待更新的操作节点。
7.一种路径更新装置,其特征在于,包括:
检测模块,用于从已生成的应用程序对应的操作路径中,确定待更新的操作节点;其中,所述操作路径由操作节点序列组成,用于使所述应用程序执行以实现目标功能;
路径获取模块,用于根据所述应用程序对应的操作节点树,获取能够到达所述待更新的操作节点的至少一条操作路径;
选举模块,用于根据所述至少一条操作路径各自对应的操作节点属性,从所述至少一条操作路径中选举出最优操作路径;
更新模块,用于将所述最优操作路径,作为所述待更新的操作节点对应的操作路径;
其中,所述选举模块具体用于:将不同版本和/或安装于不同终端设备上的所述应用程序作为路径选举时的投票数据源;从投票数据源中获取所述至少一条操作路径各自对应的操作节点属性;根据所述至少一条操作路径各自对应的操作节点属性,分别对所述至少一条操作路径进行投票;从所述至少一条操作路径中,选取最高投票分数对应的路径作为所述最优操作路径。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器连接的存储器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现权利要求1至6中任一项所述的方法。
CN201810426781.9A 2018-05-07 2018-05-07 路径更新方法、装置及设备 Expired - Fee Related CN108848250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810426781.9A CN108848250B (zh) 2018-05-07 2018-05-07 路径更新方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810426781.9A CN108848250B (zh) 2018-05-07 2018-05-07 路径更新方法、装置及设备

Publications (2)

Publication Number Publication Date
CN108848250A CN108848250A (zh) 2018-11-20
CN108848250B true CN108848250B (zh) 2020-12-15

Family

ID=64212747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810426781.9A Expired - Fee Related CN108848250B (zh) 2018-05-07 2018-05-07 路径更新方法、装置及设备

Country Status (1)

Country Link
CN (1) CN108848250B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114722075A (zh) * 2021-01-04 2022-07-08 中国移动通信集团山东有限公司 数据流处理方法及装置、服务器、存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442479B (zh) * 2007-11-22 2011-03-30 华为技术有限公司 P2p对等网络中节点失效后的路由更新方法、设备及系统
CN103793391B (zh) * 2012-10-30 2017-03-01 宏碁股份有限公司 远端动态数据的处理与验证方法和系统
CN103853649B (zh) * 2012-11-28 2018-09-04 百度在线网络技术(北京)有限公司 一种应用程序的测试方法及系统
CN104954219B (zh) * 2014-03-27 2018-11-09 北京奇安信科技有限公司 Cdn网络访问路径优化方法、装置及系统
CN104462540B (zh) * 2014-12-24 2018-03-30 中国科学院声学研究所 网页信息抽取方法
CN106294614B (zh) * 2016-08-01 2019-09-20 华为技术有限公司 用于访问业务的方法和装置
CN107182074B (zh) * 2017-06-16 2019-08-23 大连大学 一种基于Zigbee的路由最优路径选取方法
CN107786449B (zh) * 2017-11-07 2021-05-14 上海金卓科技有限公司 基于fsr协议的路径选择方法、装置、服务器和存储介质

Also Published As

Publication number Publication date
CN108848250A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
US10168800B2 (en) Synchronization of text data among a plurality of devices
CN103370705B (zh) 用于便利文本输入的方法和系统
US11954461B2 (en) Autonomously delivering software features
US20200285353A1 (en) Apparatus for vision and language-assisted smartphone task automation and method thereof
US20190087746A1 (en) System and method for intelligent incident routing
US10878121B2 (en) Method and device for converting data containing user identity
US20060287868A1 (en) Dialog system
CN109669741B (zh) 终端应用动态文案的语言切换方法、服务器及存储介质
CN107292141B (zh) 一种身份验证装置、终端及方法
CN110162681B (zh) 文本识别、文本处理方法、装置、计算机设备和存储介质
CN107832035B (zh) 一种智能终端的语音输入方法
JP5722415B2 (ja) 自動完成質疑語提供システム、検索システム、自動完成質疑語提供方法並びに記録媒体
US10360914B2 (en) Speech recognition based on context and multiple recognition engines
CN113961768B (zh) 敏感词检测方法、装置、计算机设备和存储介质
US20240119526A1 (en) Target recommendation method and apparatus, and storage medium
US20070106506A1 (en) Personal synergic filtering of multimodal inputs
US11615788B2 (en) Method for executing function based on voice and electronic device supporting the same
CN108848250B (zh) 路径更新方法、装置及设备
CN111159312A (zh) 故障相关信息辅助检索方法、装置、存储介质及电子设备
CN112286486B (zh) 智能终端上应用程序的运行方法、智能终端和存储介质
CN111858966B (zh) 知识图谱的更新方法、装置、终端设备及可读存储介质
CN113436614A (zh) 语音识别方法、装置、设备、系统及存储介质
CN109712613A (zh) 语义分析库更新方法、装置及电子设备
CN108595292A (zh) 一种系统的优化方法、移动终端及计算机存储介质
CN114153954A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201215