CN117149339B - 基于人工智能的用户界面关系识别方法及相关装置 - Google Patents
基于人工智能的用户界面关系识别方法及相关装置 Download PDFInfo
- Publication number
- CN117149339B CN117149339B CN202311409567.XA CN202311409567A CN117149339B CN 117149339 B CN117149339 B CN 117149339B CN 202311409567 A CN202311409567 A CN 202311409567A CN 117149339 B CN117149339 B CN 117149339B
- Authority
- CN
- China
- Prior art keywords
- interface
- path
- initial
- scene
- user interface
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 55
- 238000010586 diagram Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 33
- 238000004088 simulation Methods 0.000 claims description 12
- 230000004927 fusion Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 20
- 238000004590 computer program Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000002372 labelling Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
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/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请揭示了基于人工智能的用户界面关系识别方法及相关装置。该方法包括:将应用的启动界面作为起始界面,调用图片识别模型识别起始界面中含有的操控元素;对起始界面进行匹配分组处理,得到起始界面所属的界面组标识和场景标识;模拟对每一操控元素的触发操作,获得起始界面关联的跳转界面和跳转界面所属的界面组标识和场景标识;循环执行将每一跳转界面作为新的起始界面,获取新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;根据应用中的每一用户界面以及应用中的起始界面与跳转界面之间的关联关系构建用户界面关系图,并标记各节点的界面组标识和场景标识。本申请能够提升用户界面关系的识别准确性。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种基于人工智能的用户界面关系识别方法、装置、系统、电子设备以及计算机可读存储介质。
背景技术
随着移动端应用的迅猛发展,应用的场景界面及功能越来越多,也越来越复杂。开发好的应用通常需要进行大量检测,保证应用的场景界面之间能够正确跳转。在现有的应用开发实现中,一般是采用人工方式进行检测,这不仅增加了检测的时间成本,还会拉长应用的迭代周期。
发明内容
为解决如上技术问题,本申请的实施例提供了一种基于人工智能的用户界面关系识别方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
一方面,本申请实施例提供了一种基于人工智能的用户界面关系识别方法,该方法包括:将应用的启动界面作为起始界面,调用图片识别模型识别所述起始界面中含有的操控元素;对所述起始界面进行匹配分组处理,得到所述起始界面所属的界面组标识,以及所述起始界面在相应界面组中所属的场景标识;其中,界面组表征相似场景的集合,每一场景对应所述应用的一个用户界面;模拟对每一操控元素的触发操作,以获得所述起始界面关联的跳转界面,并获取所述跳转界面所属的界面组标识和场景标识;循环执行将每一跳转界面作为新的起始界面,获取所述新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;根据所述应用中的每一用户界面构建节点,以及根据所述应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到所述应用的用户界面关系图。
另一方面,本申请实施例提供了一种基于人工智能的用户界面关系识别装置,该装置包括:元素识别模块,配置为将应用的启动界面作为起始界面,调用图片识别模型识别所述起始界面中含有的操控元素;匹配分组模块,配置为对所述起始界面进行匹配分组处理,得到所述起始界面所属的界面组标识,以及所述起始界面在相应界面组中所属的场景标识;其中,界面组表征相似场景的集合,每一场景对应所述应用的一个用户界面;触发模拟模块,配置为模拟对每一操控元素的触发操作,以获得所述起始界面关联的跳转界面,并获取所述跳转界面所属的界面组标识和场景标识;循环控制模块,配置为循环执行将每一跳转界面作为新的起始界面,获取所述新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;关系图构建模块,配置为根据所述应用中的每一用户界面构建节点,以及根据所述应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到所述应用的用户界面关系图。
另一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的基于人工智能的用户界面关系识别方法中的步骤。
另一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的基于人工智能的用户界面关系识别方法中的步骤。
另一方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的基于人工智能的用户界面关系识别方法中的步骤。
在本申请的实施例所提供的技术方案中,是通过在每一起始界面中识别操控元素,并对起始界面进行匹配分组处理得到所属的界面组标识和场景标识,再模拟对识别出的每一操控元素的触发操作,以获得起始界面关联的跳转界面,最后基于应用中的每一用户界面构建节点,并根据应用中的起始界面与跳转界面之间的关联关系构建边,并标注出各节点的界面组标识和场景标识,得到应用的用户界面关系图,此用户界面关系图也即能够明确地反映出应用的用户界面关系。
可以看出,本申请是采用人工智能方式代替人工来进行用户界面的检测,通过将应用的用户界面划分为起始界面和跳转界面两大类别,迭代执行基于对起始界面中操控元素的触发来得到相应的跳转页面的过程,上一次迭代获得的跳转页面会作为下一次迭代的起始界面,从而得到应用的用户界面关系,此过程并不需要人工参与,因此能够节省人工成本,也能提升检测效率,并且也能够保证每个场景界面都能被识别到,相比于人工检测也能够提升用户界面关系的识别准确性。
应理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本申请的一示例性实施例示出的基于人工智能的用户界面关系识别方法的流程图。
图2是一示例性的用户界面关系图的示意图。
图3是基于图1所示实施例所进一步提供的基于人工智能的用户界面关系识别方法的流程图。
图4是基于图1所示的实施例所进一步提供的另一基于人工智能的用户界面关系识别方法的流程图。
图5是一示例性的用户界面关系图的结果数据的示意图。
图6是一示例性的路径扩展内容示意图。
图7是基于图4所示的实施例所提供的另一基于人工智能的用户界面关系识别方法的流程图。
图8是基于图7所示的实施例所提出的示意性流程图。
图9是本申请的一示例性实施例示出的基于人工智能的用户界面关系识别装置的框图。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先需要说明的是,人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开了研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请的实施例涉及人工智能和机器学习技术领域,具体通过如下的实施例进行说明。
首先请参见图1,图1是本申请的一示例性实施例示出的基于人工智能的用户界面关系识别方法的流程图。该方法可以由计算机、笔记本电脑等终端设备具体执行,也可以由服务器具体执行。其中,服务器具体可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,即内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此不进行限制。
如图1所示,该用户界面关系识别方法包括S110-S150,详细介绍如下:
S110,将应用的启动界面作为起始界面,调用图片识别模型识别起始界面中含有的操控元素。
首先需要说明的是,用户界面(User Interface,简称为UI)是指对软件的人机交互、操作逻辑、界面美观的整体设计。通俗地理解,用户界面是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换,因此,用户界面也被称为是使用者界面。用户界面的定义广泛,包含了人机交互与图形用户接口,凡参与人类与机械的信息交流的领域都存在着用户界面。
本实施例提及的应用的启动界面是指应用启动后首先显示出来的用户界面,应用的启动界面一般也是应用进行用户界面跳转的入口界面,启动界面上通常显示有多个操控元素,用户触发每个操控元素,应用都会跳转显示相应的跳转界面,因此应用的启动界面通常是指应用的首页。但是,在一些示例性的实施例中,应用启动界面也可以是应用的任一内容页,本实施例对此并不进行限制。
可以理解的,应用一般由启动图标、加载页、引导页、首页和内容页构成。启动图标是一种显示在移动设备屏幕上的图像符号;加载页是启动图标被触发后的应用界面,也称为启动页,加载页的设计通常能够用于缓解应用启动过程给用户带来的等待焦躁情绪,同时向用户传达特定内容;引导页是加载页显示后的应用界面,在未使用应用之前,通过引导页可以提前获知应用的主要功能等内容;首页是打开应用后所展现的第一个页面,首页通常由状态栏、导航栏、内容区、标签栏等属性构成,在此不做限制;内容页是通过首页中的操控元素触发跳转后的应用界面。
图片识别模型是用于识别用户界面中含有的操控元素的机器学习模型,可预先通过大量的训练数据训练得到。本实施例将应用的启动界面作为起始界面,调用图片识别模型识别起始界面中含有的操控元素,这即是利用了AI技术实现了对于起始界面中含有操控元素的高效识别。图片识别模型能够识别出起始界面中含有的操控元素的元素位置、元素类型等信息。图片识别模型可以采用目标识别模型实现,例如YOLO目标检测算法模型、RefineNet目标检测算法模型、FastR-CNN模拟检测算法模型等,在此也不进行限制。
可以理解,传统的操控元素的元素位置的识别,通常采用基于控件的点击识别方式来实现,需要预先在应用中安装控件抓取的插件,但是出于应用安全等目的,多数应用的开发厂商并不支持在应用中安装这类插件,导致此种方案的通用性不高。而本实施例采用AI技术来识别用户界面中的操控元素的元素位置的检测,基于图像识别的方式来实现对于用户界面中的操控元素的元素位置的识别,在很大程度上提升了方案的通用性。
对于每个用户界面而言,对于不同操控元素的触发通常对应不同的应用功能,主要包括取消、关闭、确认、更新、返回、开始、标签、领取等,为了增加操控元素识别的通用性,本实施例将用户界面中的操控元素进行了分类,也即得到元素类别。示例性的,可将操控元素分为关闭类、返回类、标签类、其它类四种类型,关闭类的操控元素被触发时应用会执行取消、关闭、确认、更新等操作,这些操作都会关闭当前的用户界面;返回类的操控元素被触发时应用会返回上一个用户界面;标签类的操控元素被触发时应用会进入下一个用户界面或者显示弹窗;其它类的操控元素被触发时应用会执行其它的功能,这些其它功能通常是与应用相关的业务功能,例如,若应用为游戏应用,其它类的操控元素可以对应切换游戏角色皮肤的功能、领取游戏金币的功能等,在此也不进行限制。
图片识别模型的训练需要使用大量的训练样本,每一训练样本为其它应用的用户界面图片,且需标注用户界面图片中含有的操控元素的位置和类型。可采用人工标注和自动标注相结合的方式来实现对于训练样本的标注,在人工完成对少量应用的用户界面的标注后,利用已经标注好的用户界面训练自动标注模型,对于新收集到的应用的用户界面,通过训练好的自动标注模型进行初步的标注,然后由人工快速检查标注的结果,根据需要进行调整,基于调整后的标注结果来得到训练样本。
当然,在自动标注模型的准确性符合要求的前提下,也可以直接根据自动标注模型输出的标注结果来得到训练样本。由于自动标注模型实现标注也需识别出用户界面中操控元素的位置,因此自动标注模型的模型结构也可以与图片识别模型的模型结构相同,甚至可以将自动标注模型作为图片识别模型的预训练模型,也即,可使用大量的训练样本对预先训练好的自动标注模型进行二次微调,以得到图片识别模型。
在另一示例性实施例中,对图片识别模型的训练还包括如下过程:
获取包含有多张界面图片的训练数据集,各界面图片含有各操控元素的类别标签,并统计每种类别标签对应的图片数量;基于每种类别标签对应的图片数量与预设数量之间的对比关系,在所述训练数据集中进行图片扩容处理,以使扩容后的每种类别标签的操控元素的图片数量满足预设数量要求;使用扩容处理后的训练数据集对预训练模型进行训练,以得到图片识别模型。
在如上过程中,首先获取训练数据集中所有界面图片含有的类别标签,并统计每类标签的图片数量和每类标签对应的图片列表,然后按标签的类别和一定的比例将每类标签对应的图片扩容到预设数量。例如,若某类标签对应的图片数量大于预设数量,则将该类标签对应的图片数量提升到训练数据集中总的图片数量与预设比例的乘积;若某类标签对应的图片数量小于预设数量,则将该类标签对应的图片数量提升到预设值与预设比例的乘积,由此使得扩容后的每种类别标签的操控元素的操控元素的图片数量满足预设数量要求。使用扩容处理后的训练数据集对预训练模型进行训练,可以保证所得到的图片识别模型的效果符合预期。
S120,对起始界面进行匹配分组处理,得到起始界面所属的界面组标识,以及起始界面在相应界面组中所属的场景标识。
为了加快匹配速度和用户界面关系展示,本实施例将相似的用户界面归纳到同一个组,一个组可以包含多个场景,一个场景也即是一个用户界面,也即,界面组表征相似场景的集合,每一场景对应于该应用的一个用户界面。功能相似的应用界面,往往场景内容也是相似的。
由此,在获得起始界面后即可对起始界面进行匹配分组,以得到起始界面所属的界面组标识,以及该用户界面在相应界面组所属的场景标识。
S130,模拟对每一操控元素的触发操作,以获得起始界面关联的跳转界面,并获取跳转界面所属的界面组标识和场景标识。
本实施例通过模拟对起始界面中每一操控元素的触发操作,以使应用由起始界面进入相应的跳转界面,从而获得起始界面关联的跳转界面,跳转界面与起始界面之间的关联关系也即是起始界面中的相应操控元素被触发。在获得跳转界面后,采用同样的方式(也即对跳转界面进行分组处理)来获得跳转界面所属的界面组标识和场景标识。对起始界面中每一操控元素的触发操作的模拟,需基于每一操控元素的元素位置和元素类型等属性信息实现。
在起始界面中含有多个操控元素的情况下,每次选择一个操控元素进行触发操作。示例性的,为保证触发有条不紊地执行,可按照如下策略来实现每次选择一个操控元素进行触发操作:
若操控元素之间存在优先级顺序,则按照优先级顺序依次模拟对各操控元素的触发操作;
若操控元素之间不存在优先级顺序,则检测未模拟触发操作的操控元素,并选择一个操控元素进行触发操作的模拟;
若起始界面中全部的操控元素均已模拟了触发操作,则在已保存的应用界面关系图中搜索起始界面关联的跳转场景中是否存在未模拟触发操作的操控元素,若存在,则选择起始界面中用于触发跳转场景的操控元素进行触发操作的模拟;若不存在,在选择起始界面中指定类型的操控元素进行触发操作的模拟,指定类型表征返回或关闭的应用操作;
若以上条件都不符合,则随机选择一个操控元素进行触发操作的模拟。
基于如上策略,不仅可以保证起始界面中的每个操控元素都能够被触发,还能够保证在全部的操控元素都已被触发的情况下,会触发执行返回或关闭的应用操作,从而保证执行程序不会中断。
S140,循环执行将每一跳转界面作为新的起始界面,获取新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识。
每一次循环所执行的过程也即是,将每一跳转界面作为新的起始界面,通过调用图片识别模型识别出新的起始界面中含有的操控元素,然后模拟对每一操控元素的触发操作,以获得该新的起始界面所关联的跳转界面,通过对跳转界面进行匹配分组处理,即可获得跳转界面所属的界面组标识和场景标识。可以看出,基于此循环过程的执行,可以保证应用的每一用户界面都能触达,由此保证对应用的用户界面关系识别的准确性。
由于用户界面的功能实质包括提供应用界面与用户之间的交互,因此一般而言,应用中通常不会存在不含有操控元素的用户界面,因此可以通过预设的循环时长,使得循环启动后,若达到循环时长则自动停止循环执行。为进一步保证应用的每一用户界面都能触达到,可以将该循环时长的值设置得更大一些。
同理,一般而言,调用图片识别模型也能够识别到起始界面中含有的至少一个操控元素。若图片识别模型未识别到起始界面中含有操控元素,也即识别到起始界面中含有的操控元素的数量为0时,可能有三种情况:第一是起始界面的图片出现了花屏或黑白屏等内容显示问题,第二是起始界面中的操控元素不属于任一预设的元素类别,第三是图片识别模型自身准确率的不足的问题,对于这三种情况,可以统一采取措施,也即,不对起始界面进行后续处理,而是将起始界面的下一界面更新作为起始界面继续执行处理。
若连续多个界面中均未识别到操控元素,则从当前的起始界面中随机选择一个界面位置模拟触发操作,将获得的跳转界面更新作为起始界面继续执行处理。可以基于应用对应的业务功能来预设选取的第一个界面位置,例如,应用为游戏应用,游戏操控控件通常设置在横向界面的右下角区域,因此预设选取的第一个界面位置为此右下角区域。若在此界面位置模拟触发操作后,应用并不会进入跳转界面,则可基于预设的位置选取规则,基于第一次选取的界面位置,获取下一界面位置并模拟触发操作,直至获得相应的跳转界面。
由此可以看出,本实施例所提供的对于起始界面中每一操控元素的触发操作的模拟,能够保证所模拟的触发操作的有效性,也即,能够保证获得起始界面所关联的跳转界面,进而保证了用户界面关系识别的全面性和准确性。
S150,根据应用中的每一用户界面构建节点,以及根据应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到应用的用户界面关系图。
本实施例根据应用中的每一用户界面构建节点,以及根据应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,所得到的应用的用户界面关系图可参见图2所示。图2是针对一示例性的应用进行用户界面关系识别所得到的用户界面关系图的示意图,可以看出,在该示例性的用户界面关系图中,节点为应用的用户界面,若二者用户界面之间存在起始界面与跳转界面的关联关系,则相应构建二者节点之间的边,由此能够基于用户界面关系图中的节点之间的连接关系清晰的得到该应用的用户界面之间的跳转关系,也即,所得到的用户界面关系图能够明确地反映出应用的用户界面关系。
并且本实施例还在用户界面关系图中标记出每一节点的界面组标识和场景标识,能够通过每一节点所标记的界面组标识和场景标识,进一步反映出应用的用户界面关系。
相关人员还可以通过所得到得用户界面关系图所显示出的用户界面识别结果来判断识别是否出错,例如,相似的界面场景之间往往存在关联关系,例如图2所示的“分组1_场景0”与“分组1_场景1”、“分组4_场景0”与“分组4_场景1”以及“分组6_场景0”与“分组6_场景1”,如果用户界面关系图中处于同一界面组内的两个用户界面之间不存在关联,则表示有较大可能性本次识别出错;又例如,如果用户界面关系图中的节点数量与应用的用户界面总量不一致,则也表示本次识别并未触达应用的全部用户界面。
由上可以看出,本实施例是采用人工智能方式代替人工来进行用户界面的检测,通过将应用的用户界面划分为起始界面和跳转界面两大类别,迭代执行基于对起始界面中操控元素的触发来得到相应的跳转页面的过程,上一次迭代获得的跳转页面会作为下一次迭代的起始界面,从而得到应用的用户界面关系,此过程并不需要人工参与,因此能够节省人工成本,也能提升检测效率,并且也能够保证每个场景界面都能被识别到,同时也能够基于所得到的用户界面关系图进行识别准确性的初步判定,相比于人工检测也能够提升用户界面关系的识别准确性。
图3是基于图1所示实施例所进一步提供的基于人工智能的用户界面关系识别方法的流程图。如图3所示,在图1所示流程的基础上,对起始界面进行匹配分组处理,得到起始界面所属的界面组标识,以及起始界面在相应界面组中所属的场景标识的过程包括如下S310-S330,详细介绍如下:
S310,获取已保存的多个界面组。
首先需要理解的是,对于方法的执行初期,通常会预设多个界面组,每个界面组内暂时未设有场景界面;而随着方法的后续执行,会将应用的用户界面保存到相应的界面组中。因此,在所获取的已保存的多个界面组中,可能含有场景界面,也可能不含有场景界面。
S320,计算起始界面与各界面组的场景相似度,基于计算得到的场景相似度确定出起始界面所属的界面组,并获得相应的界面组标识。
计算起始界面与各界面组的场景相似度,实质是计算起始界面与各界面组内的场景界面之间的图片内容相似度。
如果某个界面组中不存在场景界面,则直接确定起始界面属于此界面组,将起始界面保存在此界面组中,从而将此界面组对应的界面组标识作为起始界面所属的界面组标识。如果多个界面组中都不含有场景界面,则选择其中一个界面组作为起始界面所属的界面组即可。
对于含有场景界面的界面组,则计算起始界面与界面组内的场景界面之间的相似度。由于同一界面组内的场景界面是相似的,因此可以选择界面组内的其中一个场景界面与起始界面计算场景相似度,这样可以节省计算资源;但是为了保证场景相似度的准确性,需要分别计算起始界面与界面组内的各个场景界面的相似度,并通过对得到的多个相似度进行综合计算,例如进行平均值计算或者加权平均值计算,得到起始界面与该界面组的场景相似度。最终,可将计算出的最大场景相似度的界面组作为起始界面所属的界面组。
在一些示例性实施例中,若基于上述方式得到的最大场景相似度低于场景相似度阈值,则表示起始界面与相应界面组的场景相似度仍较低,因此添加一个新的界面组,将起始界面保存于新的界面组中,并为新的界面组生成相应的界面组标识,以及为保存在此新的界面组中的起始界面生成相应的场景标识。举例来说,若已存在的界面组的数量为3个,且界面组标识是从0开始递增的,该新的界面组的界面组标识则为“分组4”;同时,由于新的界面组中并不存在场景界面,起始界面则是作为该新的界面组中的第一个场景界面,且场景标识也是从0开始递增的,因此该起始界面的场景标识为“场景0”。
S330,计算起始界面与界面组中各场景的元素相似度,基于计算得到的元素相似度确定出起始界面所属的场景,并获得相应的场景标识。
在确定出起始界面所属的界面组后,通过计算起始界面与该界面组中各场景的元素相似度,来确定出起始界面所属的场景。需要理解的是,元素相似度是指,起始界面中含有的操控元素与界面组中各场景界面中含有的操控元素之间的相似度,元素相似度可以体现为是元素位置、元素类型等方面的相似度,因此,相比于S320中计算的图片内容相似度,此处计算的元素相似度能够实现更加精细化的相似对比。
当用户界面中含有多个操控元素时,可先分别计算起始界面中的各个操控元素分别与场景界面中相应操控元素的相似度,然后计算相似度平均值或相似度加权平均值,最终得到元素相似度。
示例性的,可将计算出的最大元素相似度的界面作为起始界面所属的场景。若最大元素相似度低于元素相似度阈值,则标识起始界面中的操控元素与相应场景界面中的操控元素的相似度较低,因此将起始界面保存为新的场景,并生成相应的场景标识。
另外,为了保证计算效率,可以以组为单位,相应启动多个线程进行处理,也即利用不同的线程来计算起始界面与不同界面组的场景相似度。
由此可以看出,本实施例提供的针对起始界面进行匹配分组处理的过程,能够准确地将起始界面保存到合适的界面组中,也即实现了对于起始界面的准确分组,最终作用于得到更加准确的用户界面关系图。
图4是基于图1所示的实施例所进一步提供的另一基于人工智能的用户界面关系识别方法的流程图,但需说明的是,该方法同样也可应用在图2所示例的实施例中。如图4所示,该方法还进一步包括S410-S420所示的步骤内容:
S410,在用户界面关系图中指定起始节点和终止节点,并生成起始节点到终止节点的触发路径;
S420,基于起始节点到终止节点的触发路径,对用户界面关系图进行更新。
考虑到图1或图2所示实施例可能会由于算法准确率的问题,导致存在无法得到十分精准的用户界面关系图,本实施例为克服此问题,提出了对图1或图2所得的用户界面关系图进行进一步扩展补充的技术方案,以得到准确性更高的用户界面关系图。
可以理解的,如果将图1或图2所示的流程称为是对应用的用户界面关系的自动探索,以探索得到相应的用户界面关系图,本实施例就是在自动探索的基础上,进一步进行指定起始节点和终止节点的路径扩展,得到起始节点和终止节点之间的触发路径,并基于所得到的触发路径对自动探索得到的用户界面关系图进行补充,从而得到更新后的用户界面关系图。更新后的用户界面关系图的准确性高于更新前的准确性。
在如上过程中,通过在基于图1或图2所示的实施例所得到的用户界面关系图中指定起始节点和终止节点,然后生成起始节点到终止节点的触发路径,若将用户界面关系图中起始节点到终止节点的路径称为基础路径,此触发路径则是在基础路径的基础上所进行的路径扩展。
示例性的,首先在用户界面关系图中遍历指定的起始节点和终止节点之间的基础路径,然后对基础路径进行路径扩展处理,以得到扩展路径,最后将基础路径和扩展路径均作为是起始节点到终止节点的触发路径。
通过图1或图2所示的流程所探索得到的用户界面关系图的结果数据中,包括了所有以界面组标识和场景标识命名的用户界面的图片,以及以界面组标识和场景标识进行命名的json文件,例如图5所示,同一界面组标识(即图5中标记出的分组id)和场景标识(即图5中标记出的场景id)分别出现在一张图片的命名中和一个json文件的命名中,用户界面之间是否存在关联,则可在json文件中相应体现。通过遍历此结果数据中的图片和json文件,可以相应得到起始节点和终止节点之间的基础路径。
示例性的,对基础路径进行路径扩展处理的过程的可包括如下步骤:
将基础路径上相邻的两个节点作为起点和终点,在用户界面关系图中搜索起点到终点的路径长度大于指定路径长度的目标路径,其中,路径长度对应起点与所述终点之间的边数量;
将目标路径与基础路径进行路径融合,以得到扩展路径。
需要理解的是,指定路径长度一般设为2,当然也可以设为更大的值,指定路径长度的大小对应了路径扩展的力度,指定路径长度的值越大,路径扩展的力度也越大,所得到的扩展路径的数量也就越多。
例如参见图6,假设节点a为指定的起始节点,节点h为指定的终止节点,遍历用户界面关系图所得到的基础路径为a→b→d→h。首次将基础路径上相邻的节点a和节点b作为起点和终点,在用户界面关系图中搜索得到节点a和节点b之间的目标路径。若节点a为首页界面,节点a和节点b之间则不会存在符合条件的目标路径,因此无需进行目标路径的搜索。继续将基础路径上相邻的节点b和节点d作为起点和终点,在用户界面关系图中搜索得到节点b和节点d之间的目标路径b→c→d。继续将基础路径上相邻的节点d和节点h作为起点和终点,在用户界面关系图中搜索得到节点d和节点h之间的目标路径,得到两条目标路径,分别为d→e→h和d→f→g→h。
可以看出,针对一条基础路径,可相应获得多条目标路径,对这多条目标路径进行路径融合的过程可以包括如下步骤:
对多条目标路径进行一次遍历处理,将遍历得到的每条目标路径分别与基础路径融合;
对多条目标路径进行二次遍历处理,将遍历得到的每组目标路径分别与基础路径融合;
循环执行对多条目标路径进行多次遍历处理,相应得到多次扩展路径的过程,直至无法遍历到符合数量要求的目标路径。
下面仍参照图6所示的内容对如上示例的路径融合过程进行阐述,如图6所示,基础路径a→b→d→h对应的3条目标路径分别为:b→c→d、d→e→h和d→f→g→h。首先对这3条目标路径进行一次遍历,一次遍历也即是每次遍历仅得到一条目标路径,由此,每次遍历可得到其中一条目标路径,将这每条目标路径分别与基础路径融合,可相应得到扩展路径为:a→b→c→d→h、a→b→d→e→h和a→b→d→f→g→h。接下来,对这3条目标路径进行二次遍历,二次遍历也即是每次遍历得到两条目标路径,且这两条目标路径不能是基于相同的起点和终点遍历得到的,由此,每次遍历可得到的两条目标路径为:b→c→d与d→e→h、以及b→c→d与d→f→g→h,将这两组目标路径分别与基础路径融合,可相应得到扩展路径为:a→b→c→d→e→h和a→b→c→d→f→g→h。
由于图6中最多只能对多条目标路径进行二次遍历处理,故在将二次遍历得到的每组目标路径分别与基础路径融合后,不再执行后续遍历,也即当前已满足无法遍历到符合数量要求的目标路径的条件。
由上可以看出,基于本实施例提供的方法可以在指定的起始节点和终止节点之间由基础路径扩展出多条扩展路径。考虑到可能存在起始节点和终止节点之间存在多条基础路径,且针对某一基础路径所扩展出的扩展路径为另一基础路径的情况,则删除此扩展路径。
另外,还考虑到在扩展路径时可能存在路径环的情况,可以根据应用的场景数量预设一个最长扩展路径值,若得到的扩展路径的路径长度大于该预设的最长扩展路径值,则表示有路径环的情况,此时则终止对基础路径进行路径扩展处理,也即放弃对该基础路径的扩展。
可以看出,本实施例在用户界面关系图中多次指定起始节点和终止节点,然后扩展得到起始节点和终止节点所对应基础路径的扩展路径,并将基础路径与扩展路径共同作为起始节点到终止节点的触发路径,并基于此触发路径对用户界面关系图进行更新,由此能够得到包含更加全面的用户界面关联关系的用户界面关系图。
图7是基于图4所示的实施例所提供的另一基于人工智能的用户界面关系识别方法的流程图。如图7所示,该方法还进一步包括S710-S720所示的步骤内容:
S710,对触发路径进行回放处理,并在回放处理的过程中检测回放路径中的每一用户界面是否与触发路径中的相应界面一致;
S720,若不一致,则使用回放的用户界面对触发路径中的相应界面进行更新,并基于更新后的触发路径相应更新用户界面关系图。
本实施例考虑到在应用正式上线前,往往会针对应用进行反复测试,为符合此种应用场景下的自动测试需求,本实施例还进一步提供的路径回放方案,具体是在基于图4所示的实施例的基础上,还对起始节点到终止节点的触发路径进行回放处理,并在回放处理的过程中检测回放路径中的每一用户界面是否与触发路径中的相应界面一致。
示例性的,对起始节点到终止节点的触发路径进行回放处理,并在回放处理的过程中检测回放路径中的每一用户界面是否与触发路径中的相应界面一致的过程包括:
依次加载触发路径中的每一节点界面;
获取触发路径中的起点,并以该起点作为起始界面进行相应的用户界面关系识别;
在识别过程中对比所得到的每一跳转界面是否与触发路径中的相应节点的界面内容一致。
如上过程也可表示为如图8所示的流程,具体来说,依次加载触发路径中的每一节点界面是指,从触发路径的起点开始,依次跳转至下一节点。获取到触发路径中的起点后,以该节点进行相应的用户界面关系识别是指,按照触发路径中由起点跳转至下一节点所对应的关联关系,来模拟对该起点中的目标操控元素的触发操作,以获得该起点关联的跳转界面。其中,目标操控元素是通过触发路径中由起点跳转至下一节点所对应的关联关系确定的,此关联关系可从节点的json文件中相应获得。接下来,通过对比进行用户界面关系识别所得到的跳转界面是否与触发路径中的相应节点的界面内容是否一致;如果判断一致,则表示触发路径中的这段路径是准确的,则返回执行下一节点的对比处理;如果判断不一致,则相应表示触发路径中的这段路径是不准确的,需要以回放的用户界面对触发路径中的相应界面进行更新后,再返回执行下一节点的对比处理。可以理解的是,回放的用户界面也即是进行用户界面关系识别所得到的跳转界面。
最后,基于更新后的触发路径来相应用户界面关系图,使得最终得到的用户界面图是基于更新后的触发路径所得到的,由于更新后的触发路径是基于路径回放处理所修正了的,准确性相比于更新前更高,因此最终得到的用户界面关系图的准确度也更高。
图9是本申请的一示例性实施例示出的基于人工智能的用户界面关系识别装置的框图,该装置可具体配置在计算机、笔记本电脑等终端设备上,也可以具体配置在服务器上,本实施例对此也不进行限制。
如图9所示,该示例性的基于人工智能的用户界面关系识别装置900包括:
元素识别模块910,配置为将应用的启动界面作为起始界面,调用图片识别模型识别起始界面中含有的操控元素;
匹配分组模块920,配置为对起始界面进行匹配分组处理,得到起始界面所属的界面组标识,以及起始界面在相应界面组中所属的场景标识;其中,界面组表征相似场景的集合,每一场景对应应用的一个用户界面;
触发模拟模块930,配置为模拟对每一操控元素的触发操作,以获得起始界面关联的跳转界面,并获取跳转界面所属的界面组标识和场景标识;
循环控制模块940,配置为循环执行将每一跳转界面作为新的起始界面,获取新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;
关系图构建模块950,配置为根据应用中的每一用户界面构建节点,以及根据应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到应用的用户界面关系图。
在另一示例性的实施例中,匹配分组模块920还配置为执行如下步骤:
获取已保存的多个界面组;
计算起始界面与各界面组的场景相似度,基于计算得到的场景相似度确定出起始界面所属的界面组,并获得相应的界面组标识;
计算起始界面与界面组中各场景的元素相似度,基于计算得到的元素相似度确定出起始界面所属的场景,并获得相应的场景标识。
在另一示例性的实施例中,匹配分组模块920将计算出的最大场景相似度的界面组作为起始界面所属的界面组,将计算出的最大元素相似度的界面作为起始界面所属的场景;匹配分组模块920还配置为执行如下步骤:
若最大场景相似度低于场景相似度阈值,则添加一个新的界面组,将起始界面保存于新的界面组中,并生成相应的界面组标识和场景标识;
若最大元素相似度低于元素相似度阈值,则将起始界面保存为新的场景,并生成相应的场景标识。
在另一示例性的实施例中,触发模拟模块930还配置为执行如下步骤:
按照如下策略每次选择一个操控元素进行触发操作的模拟:
若操控元素之间存在优先级顺序,则按照优先级顺序依次模拟对各操控元素的触发操作;
若操控元素之间不存在优先级顺序,则检测未模拟触发操作的操控元素,并选择一个操控元素进行触发操作的模拟;
若起始界面中全部的操控元素均已模拟了触发操作,则在已保存的应用界面关系图中搜索起始界面关联的跳转场景中是否存在未模拟触发操作的操控元素,若存在,则选择起始界面中用于触发跳转场景的操控元素进行触发操作的模拟;若不存在,在选择起始界面中指定类型的操控元素进行触发操作的模拟,指定类型表征返回或关闭的应用操作;
若以上条件都不符合,则随机选择一个操控元素进行触发操作的模拟。
在另一示例性的实施例中,基于人工智能的用户界面关系识别装置900还包括识别应对模块,识别应对模块配置为执行如下步骤:
若图片识别模型未识别到起始界面中含有操控元素,则不对起始界面进行后续处理,将起始界面的下一界面更新作为起始界面继续执行处理;
若连续多个界面中均未识别到操控元素,则从当前起始界面中随机选择一个界面位置模拟触发操作,将获得的跳转界面更新作为起始界面继续执行处理。
在另一示例性的实施例中,基于人工智能的用户界面关系识别装置900还包括图片扩容模块,图片扩容模块配置为执行如下步骤:
获取包含有多张界面图片的训练数据集,各界面图片含有各操控元素的类别标签,并统计每种类别标签对应的图片数量;
基于每种类别标签对应的图片数量与预设数量之间的对比关系,在训练数据集中进行图片扩容处理,以使扩容后的每种类别标签的操控元素的图片数量满足预设数量要求;
使用扩容处理后的训练数据集对预训练模型进行训练,以得到图片识别模型。
在另一示例性的实施例中,基于人工智能的用户界面关系识别装置900还包括扩展更新模块,扩展更新模块配置为执行如下步骤:
在用户界面关系图中指定起始节点和终止节点,并生成起始节点到终止节点的触发路径;
基于起始节点到终止节点的触发路径,对用户界面关系图进行更新。
在另一示例性的实施例中,扩展更新模块还配置为执行如下步骤:
在用户界面关系图中遍历起始节点与终止节点之间的基础路径;
对基础路径进行路径扩展处理,以得到扩展路径;
将基础路径和扩展路径作为起始节点到终止节点的触发路径。
在另一示例性的实施例中,扩展更新模块还配置为执行如下步骤:
将基础路径上相邻的两个节点作为起点和终点,在用户界面关系图中搜索起点到终点的路径长度大于指定路径长度的目标路径,其中,路径长度对应起点与终点之间的边数量;
将目标路径与基础路径进行路径融合,以得到扩展路径。
在另一示例性的实施例中,基础路径对应多条目标路径;扩展更新模块还配置为执行如下步骤:
对多条目标路径进行一次遍历处理,将遍历得到的每条目标路径分别与基础路径融合;
对多条目标路径进行二次遍历处理,将遍历得到的每组目标路径分别与基础路径融合;
循环执行对多条目标路径进行多次遍历处理,相应得到多次扩展路径的过程,直至无法遍历到符合数量要求的目标路径。
在另一示例性的实施例中,基于人工智能的用户界面关系识别装置900还包括回放更新模块,回放更新模块配置为执行如下步骤:
对触发路径进行回放处理,并在回放处理的过程中检测回放路径中的每一用户界面是否与触发路径中的相应界面一致;
若不一致,则使用回放的用户界面对触发路径中的相应界面进行更新,并基于更新后的触发路径相应更新用户界面关系图。
在另一示例性的实施例中,回放更新模块还配置为执行如下步骤:
依次加载触发路径中的每一节点界面;
获取触发路径中的起点,并以起点作为起始界面进行相应的用户界面关系识别;
在识别过程中对比所得到的每一跳转界面是否与触发路径中的相应节点的界面内容一致。
在上述各个实施例提供的基于人工智能的用户界面关系识别装置中,业务控制器在检测到流量传输网络中未开启流量转发功能的目标设备时,先向目标设备发送开启接收指令以控制其开启流量接收功能,再向目标设备发送开启发送指令以控制其开启流量发送功能,相当于是在网络设备中设置了流量转发开关,通过业务控制器对流量转发开关进行控制,并且是控制先开启流量接收,再开启流量发送,使得网络设备开始发送业务流量时,对端设备都已经准备好业务流量的接收,从而能够避免出现业务流量损失的问题。
需要说明的是,上述实施例所提供的基于人工智能的用户界面关系识别装置与上述实施例所提供的基于人工智能的用户界面关系识别方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的基于人工智能的用户界面关系识别装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的基于人工智能的用户界面关系识别方法。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从储存部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input /Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的基于人工智能的用户界面关系识别方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于人工智能的用户界面关系识别方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (15)
1.一种基于人工智能的用户界面关系识别方法,其特征在于,包括:
将应用的启动界面作为起始界面,调用图片识别模型识别所述起始界面中含有的操控元素;
对所述起始界面进行匹配分组处理,得到所述起始界面所属的界面组标识,以及所述起始界面在相应界面组中所属的场景标识;其中,界面组表征相似场景的集合,每一场景对应所述应用的一个用户界面;
模拟对每一操控元素的触发操作,以获得所述起始界面关联的跳转界面,并获取所述跳转界面所属的界面组标识和场景标识;
循环执行将每一跳转界面作为新的起始界面,获取所述新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;
根据所述应用中的每一用户界面构建节点,以及根据所述应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到所述应用的用户界面关系图。
2.根据权利要求1所述的方法,其特征在于,对所述起始界面进行匹配分组处理,得到所述起始界面所属的界面组标识,以及所述起始界面在相应界面组中所属的场景标识,包括:
获取已保存的多个界面组;
计算所述起始界面与各界面组的场景相似度,基于计算得到的场景相似度确定出所述起始界面所属的界面组,并获得相应的界面组标识;
计算所述起始界面与所述界面组中各场景的元素相似度,基于计算得到的元素相似度确定出所述起始界面所属的场景,并获得相应的场景标识。
3.根据权利要求2所述的方法,其特征在于,将计算出的最大场景相似度的界面组作为所述起始界面所属的界面组,将计算出的最大元素相似度的界面作为所述起始界面所属的场景;所述方法还包括:
若所述最大场景相似度低于场景相似度阈值,则添加一个新的界面组,将所述起始界面保存于所述新的界面组中,并生成相应的界面组标识和场景标识;
若所述最大元素相似度低于元素相似度阈值,则将所述起始界面保存为新的场景,并生成相应的场景标识。
4.根据权利要求1所述的方法,其特征在于,所述模拟对每一操控元素的触发操作,包括:
按照如下策略每次选择一个操控元素进行触发操作的模拟:
若操控元素之间存在优先级顺序,则按照所述优先级顺序依次模拟对各操控元素的触发操作;
若操控元素之间不存在优先级顺序,则检测未模拟触发操作的操控元素,并选择一个操控元素进行触发操作的模拟;
若所述起始界面中全部的操控元素均已模拟了触发操作,则在已保存的应用界面关系图中搜索所述起始界面关联的跳转场景中是否存在未模拟触发操作的操控元素,若存在,则选择所述起始界面中用于触发所述跳转场景的操控元素进行触发操作的模拟;若不存在,在选择所述起始界面中指定类型的操控元素进行触发操作的模拟,所述指定类型表征返回或关闭的应用操作;
若以上条件都不符合,则随机选择一个操控元素进行触发操作的模拟。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述图片识别模型未识别到所述起始界面中含有操控元素,则不对所述起始界面进行后续处理,将所述起始界面的下一界面作为更新后的起始界面,对更新后的起始界面继续执行处理;
若连续多个界面中均未识别到操控元素,则从当前起始界面中随机选择一个界面位置模拟触发操作,将获得的跳转界面作为更新的起始界面,对更新后的起始界面继续执行处理。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取包含有多张界面图片的训练数据集,各界面图片含有各操控元素的类别标签,并统计每种类别标签对应的图片数量;
基于每种类别标签对应的图片数量与预设数量之间的对比关系,在所述训练数据集中进行图片扩容处理,以使扩容后的每种类别标签的操控元素的图片数量满足预设数量要求;
使用扩容处理后的训练数据集对预训练模型进行训练,以得到所述图片识别模型。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述用户界面关系图中指定起始节点和终止节点,并生成所述起始节点到所述终止节点的触发路径;
基于所述起始节点到所述终止节点的触发路径,对所述用户界面关系图进行更新。
8.根据权利要求7所述的方法,其特征在于,所述在所述用户界面关系图中指定起始节点和终止节点,并生成所述起始节点到所述终止节点的触发路径,包括:
在所述用户界面关系图中遍历所述起始节点与所述终止节点之间的基础路径;
对所述基础路径进行路径扩展处理,以得到扩展路径;
将所述基础路径和所述扩展路径作为所述起始节点到所述终止节点的触发路径。
9.根据权利要求8所述的方法,其特征在于,所述对所述基础路径进行路径扩展处理,以得到扩展路径,包括:
将所述基础路径上相邻的两个节点作为起点和终点,在所述用户界面关系图中搜索所述起点到所述终点的路径长度大于指定路径长度的目标路径,其中,所述路径长度对应所述起点与所述终点之间的边数量;
将所述目标路径与所述基础路径进行路径融合,以得到所述扩展路径。
10.根据权利要求9所述的方法,其特征在于,所述基础路径对应多条目标路径;所述将所述目标路径与所述基础路径进行路径融合,以得到所述扩展路径,包括:
对所述多条目标路径进行一次遍历处理,将遍历得到的每条目标路径分别与所述基础路径融合;
对所述多条目标路径进行二次遍历处理,将遍历得到的每组目标路径分别与所述基础路径融合;
循环执行对所述多条目标路径进行多次遍历处理,相应得到多次扩展路径的过程,直至无法遍历到符合数量要求的目标路径。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
对所述触发路径进行回放处理,并在所述回放处理的过程中检测回放路径中的每一用户界面是否与所述触发路径中的相应界面一致;
若不一致,则使用回放的用户界面对所述触发路径中的相应界面进行更新,并基于更新后的触发路径相应更新所述用户界面关系图。
12.根据权利要求11所述的方法,其特征在于,所述对所述触发路径进行回放处理,并在所述回放处理的过程中检测回放路径中的每一用户界面是否与所述触发路径中的相应界面一致,包括:
依次加载所述触发路径中的每一节点界面;
获取所述触发路径中的起点,并以所述起点作为起始界面进行相应的用户界面关系识别;
在识别过程中对比所得到的每一跳转界面是否与所述触发路径中的相应节点的界面内容一致。
13.一种基于人工智能的用户界面关系识别装置,其特征在于,包括:
元素识别模块,配置为将应用的启动界面作为起始界面,调用图片识别模型识别所述起始界面中含有的操控元素;
匹配分组模块,配置为对所述起始界面进行匹配分组处理,得到所述起始界面所属的界面组标识,以及所述起始界面在相应界面组中所属的场景标识;其中,界面组表征相似场景的集合,每一场景对应所述应用的一个用户界面;
触发模拟模块,配置为模拟对每一操控元素的触发操作,以获得所述起始界面关联的跳转界面,并获取所述跳转界面所属的界面组标识和场景标识;
循环控制模块,配置为循环执行将每一跳转界面作为新的起始界面,获取所述新的起始界面所关联的跳转界面,以及获取每一跳转界面所属的界面组标识和场景标识;
关系图构建模块,配置为根据所述应用中的每一用户界面构建节点,以及根据所述应用中的起始界面与跳转界面之间的关联关系构建边,并标记各节点的界面组标识和场景标识,以得到所述应用的用户界面关系图。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至12中任一项所述的基于人工智能的用户界面关系识别方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至12中任一项所述的基于人工智能的用户界面关系识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409567.XA CN117149339B (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的用户界面关系识别方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409567.XA CN117149339B (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的用户界面关系识别方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117149339A CN117149339A (zh) | 2023-12-01 |
CN117149339B true CN117149339B (zh) | 2024-01-26 |
Family
ID=88910387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311409567.XA Active CN117149339B (zh) | 2023-10-27 | 2023-10-27 | 基于人工智能的用户界面关系识别方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149339B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014069749A1 (ko) * | 2012-10-29 | 2014-05-08 | 에스케이플래닛 주식회사 | 모바일 웹 페이지에서 스와입 모션 감지에 따른 처리 시스템 및 방법 |
CN112749081A (zh) * | 2020-03-23 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 用户界面测试方法及相关装置 |
CN113010168A (zh) * | 2021-02-26 | 2021-06-22 | 中国科学院软件研究所 | 一种基于场景树的用户界面生成方法 |
WO2022001341A1 (zh) * | 2020-06-28 | 2022-01-06 | Oppo广东移动通信有限公司 | 应用程序标签生成方法、应用界面显示方法以及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11710064B2 (en) * | 2018-07-11 | 2023-07-25 | Sap Se | Machine learning analysis of user interface design |
US11402973B2 (en) * | 2020-05-08 | 2022-08-02 | Sony Interactive Entertainment Inc. | Single representation of a group of applications on a user interface |
-
2023
- 2023-10-27 CN CN202311409567.XA patent/CN117149339B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014069749A1 (ko) * | 2012-10-29 | 2014-05-08 | 에스케이플래닛 주식회사 | 모바일 웹 페이지에서 스와입 모션 감지에 따른 처리 시스템 및 방법 |
CN112749081A (zh) * | 2020-03-23 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 用户界面测试方法及相关装置 |
WO2022001341A1 (zh) * | 2020-06-28 | 2022-01-06 | Oppo广东移动通信有限公司 | 应用程序标签生成方法、应用界面显示方法以及装置 |
CN113010168A (zh) * | 2021-02-26 | 2021-06-22 | 中国科学院软件研究所 | 一种基于场景树的用户界面生成方法 |
Non-Patent Citations (1)
Title |
---|
基于用户体验维度的手机客户端APP的UI界面设计研究;赵馨蓓;《鞋类工艺与设计》;第3卷(第14期);第162-164页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117149339A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165249B (zh) | 数据处理模型构建方法、装置、服务器和用户端 | |
US20200401431A1 (en) | Adaptive web-based robotic process automation | |
CN110046706B (zh) | 模型生成方法、装置及服务器 | |
CN108154197B (zh) | 实现虚拟场景中图像标注验证的方法及装置 | |
CN113656582A (zh) | 神经网络模型的训练方法、图像检索方法、设备和介质 | |
CN110765348B (zh) | 一种热词的推荐方法、装置、电子设备及存储介质 | |
US11887224B2 (en) | Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network | |
CN112256537A (zh) | 模型运行状态的展示方法、装置、计算机设备和存储介质 | |
KR20190053481A (ko) | 사용자 관심 정보 생성 장치 및 그 방법 | |
CN115809325B (zh) | 文档处理模型训练方法、文档处理方法、装置及设备 | |
CN116956116A (zh) | 文本的处理方法和装置、存储介质及电子设备 | |
CN114492601A (zh) | 资源分类模型的训练方法、装置、电子设备及存储介质 | |
CN113190444B (zh) | 一种测试方法、装置及存储介质 | |
CN113705293A (zh) | 图像场景的识别方法、装置、设备及可读存储介质 | |
CN117149339B (zh) | 基于人工智能的用户界面关系识别方法及相关装置 | |
CN116992058A (zh) | 跨元宇宙的数据显示方法和装置 | |
CN112967138A (zh) | 基于区块链和云计算的信息推送方法及信息推送系统 | |
CN111539390A (zh) | 一种基于Yolov3的小目标图像识别方法、设备和系统 | |
CN114816719B (zh) | 多任务模型的训练方法及装置 | |
CN112651942B (zh) | 布局检测方法和装置 | |
CN109376289B (zh) | 一种应用搜索结果中确定目标应用排位的确定方法及装置 | |
CN114330353A (zh) | 虚拟场景的实体识别方法、装置、设备、介质及程序产品 | |
CN112579587A (zh) | 数据清洗方法及装置、设备和存储介质 | |
CN112612979A (zh) | 基于云计算和人工智能的页面服务处理方法及区块链中心 | |
CN113032527B (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 |