软件页面的分类方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是指一种软件页面的分类方法、装置、电子设备及存储介质。
背景技术
随着智能终端(例如PC机、智能手机、平板电脑等)的功能越来越强大及其应用的推广,用户越来越习惯于使用智能终端上安装的各种软件来获取各种信息或者办理各种业务。一般而言,软件可包括若干软件页面,以呈现各种内容或提供各种业务予用户。一个软件页面其呈现的内容或提供的业务,即反映为该软件页面的分类;例如,欢迎页面呈现欢迎内容,登录页面提供登录业务。确定一个软件页面的分类之后,便能够高效的进行后续的如页面测试、信息推荐等处理。然而,现有技术中对于软件页面的分类往往还依赖于人工分类或简单的算法,但普遍存在分类效率低,分类准确度不足的问题。
发明内容
有鉴于此,本发明的目的在于提出一种软件页面的分类方法、装置、电子设备及存储介质,以解决现有技术中软件页面分类存在的效率低下、准确度不足的问题。
基于上述目的,本发明提供了一种软件页面的分类方法,包括:
获取待分类软件页面的页面图像;
对所述页面图像进行边缘检测,获得页面框架图像;
对所述页面图像进行文字识别,获得页面文字信息;
获取页面分类模型;所述页面分类模型基于不同类型的训练页面训练得到;
根据所述页面框架图像、所述页面文字信息和所述页面分类模型,确定所述待分类软件页面的分类。
另一方面,本发明还提供了一种软件页面的分类装置,包括:
第一获取模块,被配置为获取待分类软件页面的页面图像;
边缘检测模块,被配置为对所述页面图像进行边缘检测,获得页面框架图像;
文字识别模块,被配置为对所述页面图像进行文字识别,获得页面文字信息;
第二获取模块,被配置为获取页面分类模型;所述页面分类模型基于不同类型的训练页面训练得到;
页面分类模块,被配置为根据所述页面框架图像、所述页面文字信息和所述页面分类模型,确定所述待分类软件页面的分类。
另一方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
另一方面,本发明还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一所述方法。
从上面所述可以看出,本发明提供的软件页面的分类方法、装置、电子设备及存储介质,通过将待分类软件页面的页面图像分别进行边缘检测和文字识别,以获得反映待分类软件页面的设计形式的页面框架图像,以及反映待分类软件页面包含的文字内容的页面文字信息。基于页面框架图像和页面文字信息得到页面分类模型,能够实现对于软件页面的准确分类。同时,将待分类软件页面处理为页面框架图像和页面文字信息,还有效的减小了输入页面分类模型的数据量,提升了页面分类模型的处理速度,能够实现高效的软件页面分类。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的软件页面的分类方法流程图;
图2为本发明实施例中的页面图像示意图;
图3为本发明实施例中的页面框架图像示意图;
图4为本发明实施例中页面分类模型的构建和训练步骤的流程图;
图5为本发明实施例中页面分类模型确定待分类软件页面的分类步骤的流程图;
图6为本发明实施例中的页面分类模型结构示意图;
图7为本发明实施例中获得页面文字信息步骤的流程图;
图8为本发明实施例的软件页面的分类装置结构示意图;
图9为本发明实施例的电子设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如背景技术所述,用户在使用电子设备的过程中,会接触到大量的软件页面。基于软件页面其呈现的内容或提供的业务,软件页面可以被分为不同的类型。例如,类型为登录页面,则提供用户登录业务;类型为菜单页面,则能够显示各个菜单项。确定一个软件页面的分类之后,便可以针对于软件页面的分类,更好的进行诸多后续的处理。例如,软件页面构建好后,需要对于对于软件页面的功能进行测试,如果能准确的确定软件页面的分类,则可以相应的调用对应于该软件页面的分类的测试程序,进行准确快速的测试。又如,软件页面的类型能够反映用户当前的需求,像用户处于帮助页面时,可以向用户推送更多相关的帮助信息。
现有技术中,对于软件页面的分类往往还采用人工分类的方式。即通过人为判断软件页面的类型。人工分类的方式,分类的准确度取决于操作者的经验和状态,这使得分类的准确度和效率均难以得到保证。此外,现有技术还可以通过基于图像识别的算法实现软件页面的分类;然而,图像识别的效果差和算法构建的不合理,都会造成软件页面的分类的准确度和效率的低下。随着人工智能和机器学习技术的快速发展,现有技术中也出现了使用神经网络模型进行软件页面的分类的方案。但是,由于软件页面包含的内容较多,这使得软件页面的图像的数据量很大,将其输入神经网络模型计算时,计算速度很慢,且由于数据量很大,很容易出现无法获得计算结果的情况。
针对于上述问题,本发明提供了一种软件页面的分类的方案,通过将软件页面的页面图像,拆分为反映页面设计形式的页面框架图像和反映页面包含的文字内容的页面文字信息来降低数据量,并基于页面框架图像和页面文字信息构建了页面分类模型,进而实现对于软件页面的分类。
以下进一步详细阐述说明本发明的技术方案。
参考图1,本发明实施例提供了一种软件页面的分类方法,包括以下步骤:
步骤101、获取待分类软件页面的页面图像。
本实施例中,所述的待分类软件页面,即是一软件的软件页面,其具体的页面分类未知,需要通过本实施例的方法确定。具体的,所述的待分类软件页面即为图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
本实施例中,所述的软件可以是独立运行的,如支付宝APP。所述的软件也可以是小程序,即不需要下载安装即可使用的应用,如支付宝APP中的芝麻信用、淘票票等。另一方面,所述的软件应用于的终端设备本实施例中不做限定,其可以是移动终端,如手机、平板电脑,也可以是固定终端,如台式电脑、智能电视,亦可以是智能可穿戴设备,如智能手表、智能手环等等。当应用于不同的终端设备时,待分类软件页面的长、宽以及分辨率等参数与应用于的终端设备相适应。
本实施例中,获取待分类软件页面的页面图像时,可以通过实时截图获取的方式,即进入到待分类软件页面后,通过实时的图像截图,获取到待分类软件页面的页面图像。此外,也可以是通过访问预定的存储地址来直接获取待分类软件页面的页面图像;其中,预定的存储地址可以设置在本地,也可以设置在任意可访问的互联网地址。通过截图或是其他的图像生成方式制作好的待分类软件页面的页面图像被预先存储在上述预定的存储地址处,执行本步骤时,直接访问上述预定的存储地址即可获取到待分类软件页面的页面图像。
作为一个示例,获取到的待分类软件页面的页面图像可参考图2所示。
步骤102、对所述页面图像进行边缘检测,获得页面框架图像。
本实施例中,对获取到的待分类软件页面的页面图像进行边缘检测。所述的边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识图像中变化明显的点,图像中的显著变化通常反映了属性的重要事件和变化如深度上的不连续、表面方向不连续、物质属性变化和场景照明变化等。
对于一个软件页面,其一般由页面框架对象和文字内容构成;其中,页面框架对象一般可以包括:用于划分页面不同区域的线条、分块,用于供用户操作的按钮,用于显示内容的框体等;可见,软件页面中的页面框架对象实际上反映了软件页面的设计形式。而文字内容则呈现在上述的如框体内,按钮上等。从图像上来看,软件页面中的页面框架对象一般会对应于深度上的不连续、场景照明变化等图像中的显著变化。所以,本步骤中,对页面图像进行边缘检测后,页面图像中的文字内容会被去除,页面图像中的着色的部分会被替换为灰度,而诸如线条、框体、按钮等页面框架对象的轮廓则会被保留且突出显示。例如,对于页面图像中的一个圆形的且着色为红色,其上显示有“登录”文字的按钮来说,经过边缘检测后,该按钮上的“登录”文字被去除,该按钮的红色着色被替换为黑色,且该按钮的轮廓被突出显示(一般是显示为白色轮廓线),最终结果即显示为一圆形的白色轮廓线、内部着黑色。可见,本步骤中对页面图像进行边缘检测,获得的页面框架图像能够反映待分类软件页面的设计形式。
本实施例中,对页面图像进行边缘检测时,使用的边缘检测算法可以根据实施需要而灵活选取,本实施例中不做限定,具体的可以选择:Roberts Cross算法、Prewitt算法、Sobel算法、Kirsch算法、罗盘算法、Marr-Hildreth、Canny算法、Laplacian算法等。
作为一个示例,通过Canny算法对待分类软件页面的页面图像进行边缘检测,得到的页面框架图像可参考图3所示。
步骤103、对所述页面图像进行文字识别,获得页面文字信息。
本步骤中,对获取到的待分类软件页面的页面图像进行文字识别。所述的文字识别是指图像文字识别(Optical Character Recognition,OCR),其是检查图像上的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
本步骤中,通过对待分类软件页面的页面图像进行文字识别,即能够将待分类软件页面中的文字内容提取出来,从而生成所述的页面文字信息。一些情况下,对于该页面文字信息,其可以是文字识别的直接结果,即文字识别识别出的文字、语句的集合。另一些情况下,由于文字识别的直接结果可能包含较长的语句,则还可以进一步的对所述较长的语句进行分词处理,来获得以词语为主的页面文字信息。
本步骤将页面图像进行文字识别,获得页面文字信息;通过页面文字信息来反映待分类软件页面包含的文字内容。同时,结合前述步骤获得的页面框架图像,通过页面框架图像和页面文字信息来与待分类软件页面进行对应,整体上反映待分类软件页面的设计思想和包含的内容。需要说明的是,本实施例中的步骤序号顺序并不限定步骤102和步骤103的执行时序,在实施时,步骤102和步骤103可以以任意顺序先后执行,也可以是同时执行。
步骤104、获取页面分类模型;所述页面分类模型基于不同类型的训练页面训练得到。
本步骤中,所述的页面分类模型是基于类型的训练页面,对机器学习模型训练得到的。训练页面,即训练机器学习模型所使用的样本数据,其具体为用于训练机器学习模型的现有软件的软件页面的页面图像,以及对应不同页面类型的标签。其中,对应于本实施例对于页面图像的处理方式,将训练页面的页面图像分别进行边缘检测和文字识别,分别得到训练页面框架图像和训练页面文字信息。而在不同训练页面的训练页面框架图像和训练页面文字信息中的一些,已经对应有反映训练页面的页面类型的标签。可以理解的是,机器学习模型可以基于已知数据,对未知数据进行预测。因此,可以通过训练机器学习模型,来实现页面分类的确定。
作为一个示例,根据软件页面的功能,在页面分类模型中设置为30类标签,以表征软件页面的类型,包括:1、login(登录);2、sign_u(注册);3、otp(一次性密码验证界面,如短信密码);4、pin(个人密码验证);5、transaction(交易记录等);6、card_manager(银行卡管理);7、top_up(充值);8、payment(支付);9、menu(主菜单/应用入口);10、help(帮助界面);11、app_version(版本信息);12、term_condition(条款协议);13、feedback(反馈);14、welcome(欢迎);15、me(个人中心);16、notice(提醒/弹框);17、security(安全、隐私);18、transfer(转账);19、qrcode(二维码);20、settings(设置);21、identity_recognition(身份认证);22、success(成功信息页);23、fail(失败信息页);24、demo demoApp;25、change_profile(更换信息);26、album(手机相册/选择图片);27、refer(分享或推荐好友);28、voucher(优惠券);29、contact(通讯录);30、map(地图)。页面框架图像和页面文字信息输入页面分类模后,页面分类模型通过计算得到一个30维的向量,该向量的每个元素对应待分类软件页面是某一类型的概率,页面分类模型最终选取概率最大的类型作为输出。
步骤105、根据所述页面框架图像、所述页面文字信息和所述页面分类模型,确定所述待分类软件页面的分类。
本步骤中,将前述步骤获取到的页面框架图像和页面文字信息输入到页面分类模型中,进而得到页面分类模型的输出结果,该输出结果可以表征待分类软件页面的类型,也就确定了待分类软件页面的分类。
作为一个示例,将前述步骤中得到的页面框架图像(图3所示)和页面文字信息(步骤103中示例)输入页面分类模型,页面分类模型输出的类型为“me”,也即待分类软件页面的类型为“个人中心”页面。
由上述实施例可见,本实施例的软件页面的分类方法,一方面将待分类软件页面的页面图像进行边缘检测,得到的页面框架图像中,只保留了反映待分类软件页面的设计形式的信息,去除了很多不必要的图像噪音。另一方面将待分类软件页面的页面图像进行文字识别,提取反映待分类软件页面包含的文字内容的页面文字信息。整体上看,将待分类软件页面的页面图像转化为页面框架图像和页面文字信息,能够相比于现有技术以更小的数据量进行页面分类模型的训练和使用,这也相应使得页面分类模型的训练效率和使用效率。同时,由于将待分类软件页面的页面图像转化为页面框架图像和页面文字信息后,去除掉了页面图像中的部分图像噪音,这也使得本实施例的页面分类模型的分类准确率更高。
通过测试,本发明实施例的页面分类模型的训练过程中,使用样本数据中的全部数据进行一次训练(即机器学习中的epoch概念)的耗时为2秒。此外,发明人还对现有技术中的机器学习模型的训练过程进行了测试,现有的机器学习模型的样本数据为原始获取到的页面图像。通过训练表明,现有的机器学习模型使用原始获取到的页面图像作为样本数据,使用该样本数据中的全部数据进行一次训练的耗时会大于2.5秒;由于原始获取到的页面图像含有的图像噪音较多,在一些测试中甚至出现了过拟合的情况,造成模型训练失败。可见,本发明实施例的页面分类模型的模型训练的速度至少提升了20%,效率提升明显。
需要说明的是,本发明实施例的软件页面的分类方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的软件页面的分类方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的软件页面的分类方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的软件页面的分类方法。
作为一个可选的实施例,所述软件页面的分类方法还包括页面分类模型的构建和训练步骤,参考图4,具体包括:
步骤401、获取不同类型的训练页面的训练页面图像;
步骤402、对所述训练页面图像进行边缘检测,获得训练页面框架图像;
步骤403、对所述训练页面图像进行文字识别,获得训练页面文字信息;
步骤404、使用所述训练页面框架图像和所述训练页面文字信息构建样本数据;
步骤405、提取所述样本数据的样本特征;
步骤406、基于所述样本数据的样本特征,通过预定的机器学习算法,构建并训练得到所述页面分类模型。
本实施例中,获取不同的训练页面的训练页面图像,然后对训练页面图像分别进行边缘检测和文字识别,从而获得训练页面框架图像和训练页面文字信息。其中,训练页面图像的获取方式,边缘检测和文字识别可选用的具体算法,可以参照前述实施例所述。其中,训练页面框架图像和训练页面文字信息被构建为样本数据,用以训练页面分类模型。在该样本数据中,一些训练页面框架图像和训练页面文字信息具有对应的标签,该标签可以表征页面类型。对于样本数据对应的标签,其表征的具体内容,即标签对应为何种页面类型,需根据具体的实施需要而设置。
对于样本数据,进一步通过小波变换、矩阵分解等方式提取其的样本特征,最后基于样本数据的样本特征,通过预定的机器学习算法,构建并训练得到页面分类模型。所述的预定的机器学习算法可以选自朴素贝叶斯算法、决策树算法、支持向量机算法、kNN算法、神经网络算法、深度学习算法和逻辑回归算法中的一种或多种。
进一步的,在本实施例的页面分类模型的训练过程中,为防止过拟合现象的发生,对训练页面框架图像和训练页面文字信息进行正则化处理和随机失活(dropout)处理。显然,根据具体的实施情况,如样本数据的数据量大小等,也可以只选择上述处理中的一种。
作为一个可选的实施例,参考图5,前述实施例中的步骤105,即通过页面分类模型确定待分类软件页面的分类的步骤,具体包括:
步骤501、将所述页面框架图像输入所述页面分类模型的输入层、第一卷积层、第一池化层、第一全链接层和第一输出层,获得图像特征表征结果;
步骤502、将所述页面文字信息输入所述页面分类模型的嵌入层、第二卷积层、第二池化层和第二输出层,获得文字特征表征结果;
步骤503、将所述图像特征表征结果和所述文字特征表征结果拼接并输入所述页面分类模型的第二全链接层,获得页面分类结果;
步骤504、根据所述页面分类结果,确定所述待分类软件页面的分类。
本实施例中,页面框架图像和页面文字信息输入所述页面分类模型后,由页面分类模型内的不同部分进行分别处理。具体的,页面分类模型包括的第一卷积层、第一池化层和第一全链接层,用于对页面框架图像进行处理;页面分类模型包括的第二卷积层和第二池化层,用于对页面文字信息进行处理。
对于页面框架图像,将其先通过输入层,输入层用于表征页面框架图像的图像输入特征;所述第一卷积层可以用于对所述输入层的图像输入特征进行卷积处理,得到图像卷积层特征;所述池化层用于对所述图像卷积层特征进行池化处理,得到图像池化层特征,所述第一池化层可以起到对第一卷积层降维的作用,以简化训练的特征数据。所述图像池化层特征可以通过所述第一全连接层映到第一输出层输出,得到图像特征表征结果。
对于页面文字信息,将其先通过嵌入层,嵌入层用于将页面文字信息向量化;所述第二卷积层可以用于对向量化后的页面文字信息进行卷积处理,得到文字卷积层特征;所述池化层用于对所述文字卷积层特征进行池化处理,得到文字池化层特征;所述文字池化层特征可以通过第二输出层输出,获得文字特征表征结果。
最后,将图像特征表征结果和文字特征表征结果进行拼接,并通过页面分类模型包含的第二全链接层映射获得页面分类结果。该页面分类结果即为页面分类模型为待分类软件页面添加的标签,该标签表征待分类软件页面的页面类型。
需要说明的是,所述的页面分类模型中,第一卷积层、第一池化层、第一全连接层、第二卷积层、第二池化层的个数可以均为一个,也可以是上述各层中至少一种的个数为多个。另外,本实施例中的上述各卷积层、池化层在进行卷积和池化处理时所使用具体算法,可以选择本领域内公知的算法来实现,在这里不再赘述。
作为一个示例,图6示出了所述页面分类模型的一种可选的具体结构。所述的页面分类模型,包括:用于处理页面框架图像的一个输入层、三个第一卷积层、两个第一池化层、一个全连接层和一个第一输出层;用于处理页面文字信息的一个嵌入层、两个第二卷积层、一个第二池化层和一个第二输出层;以及,一个第二全链接层。本发明实施例中,页面文字信息的数据维度和数据大小都会小于页面框架图像;例如,页面文字信息为采用文本的形式,其只具有长度维度,且一般最大的长度不会超过200字符,而页面框架图像采用图片的形式,具有长宽两个维度(如720*1280,单位为像素)。相应的,用于处理页面文字信息的第二卷积层的数量可以设置为少于用于处理页面框架图像的第一卷积层的数量;例如,在前述示例中,第一卷积层的数量为三个,而第二卷积层的数量相比较少,为两个。
作为一个可选的实施例,参考图7,前述实施例中的步骤103,即获得页面文字信息的步骤,具体包括:
步骤701、对所述页面图像进行文字识别,获得文字识别结果。
本步骤中,对页面图像进行文字识别后,能够得到文字识别结果。该文字识别结果,为文字识别的直接结果,其中包含的内容即为文字识别出的文字。
作为一个示例,基于图2所示的待分类软件页面的页面图像,对其进行文字识别,得到的文字识别结果为:【myaccountfailverifyagainbalancetopup detailquesthomehistoryplaypocketme】。
步骤702、对所述文字识别结果进行分词处理,获得至少一个文字单元。
本步骤中,对前述步骤中获得文字识别结果进行分词处理,获得至少一个文字单元。该文字单元具体是指符合自然语言规则的单词、单字或者词组,而具体包含上述中哪一种或多种,则取决于采用的分词算法。分词处理所使用的具体的分词算法,可以选择本领域内公知的算法来实现,在这里不再赘述。此外,对文字识别结果进行分词处理之后,还可以对分词处理的带的文字单元进一步的进行过滤和清洗,以去除掉一些对于页面类型确定无贡献的文字单元,如词性为语气词、数量词、连词等的文字单元。
通过分词处理,使得文字识别结果中可能包含的较长的或连续在一起的文字内容被划分为符合自然语言规则的文字单元,这样在后续步骤中对页面文字信息进行处理时,能够更加的准确。
作为一个示例,将前述步骤中获得的文字识别结果进行分词后,得到若干文字单元为:【my,account,fail,verify,again,balance,top,up,detail,quest,home,history,play,pocket,me】。
步骤703、对于每个所述文字单元,根据预设的对应关系,确定所述文字单元对应的编码。
本步骤中,调用一预先设定的对应关系,在该对应关系中,对于自然语言中的每个文字单元,其均唯一对应有一编码。对于前述步骤中得到的文字单元,通过所述的对应关系转化为其对应的编码。通过上述过程,使得自然语言形式的文字单元转化为可供机器识别的编码,从而方便后续的处理。
所述的对应关系,可以选择现有的编码转化规则,如ASCⅡ,Unicode(万国码)等,也可以是自行设定的编码转化规则。
作为一个示例,前述示例中确定出的若干文字单元,通过预设的对应关系,确定“my”对应的编码为“34”,“account”对应的编码为“2”,其他的各文字单元也相应的确定其分别对应的编码,最终得到若干文字单元对应的编码为【34,2,12,67,5,8,54,63,10,45,40,17,80,95,23】。
本实施例中为方便说明,上述示例中的文字单元对应的编码均为两位数字,可以理解的是,由于自然语言中的单字、单词、词组的数量较大,故文字单元对应的编码的数字位数可能为更多。
步骤704、将至少一个所述编码构建为向量形式,以获得所述页面文字信息。
本步骤中,将前述步骤中得到的与文字单元对应编码构建为向量形式,一般的为一个一维向量,便获得用于输入页面分类模型的页面文字信息。
本实施例中,通过将页面图像进行文字识别后的文字识别结果进行分词并对应转化为编码,使文字识别结果得到的文字单元转化为机器可识别的编码,能够实现更加快速高效的处理。
基于同一发明构思,本发明实施例还提供了一种软件页面的分类装置,参考图8,所述的软件页面的分类装置包括:
第一获取模块801,被配置为获取待分类软件页面的页面图像;
边缘检测模块802,被配置为对所述页面图像进行边缘检测,获得页面框架图像;
文字识别模块803,被配置为对所述页面图像进行文字识别,获得页面文字信息;
第二获取模块804,被配置为获取页面分类模型;所述页面分类模型基于不同类型的训练页面训练得到;
页面分类模块805,被配置为根据所述页面框架图像、所述页面文字信息和所述页面分类模型,确定所述待分类软件页面的分类。
作为一个可选的实施例,所述的软件页面的分类装置,还包括:
模型训练模块,被配置为获取不同类型的训练页面的训练页面图像;对所述训练页面图像进行边缘检测,获得训练页面框架图像;对所述训练页面图像进行文字识别,获得训练页面文字信息;使用所述训练页面框架图像和所述训练页面文字信息构建样本数据;提取所述样本数据的样本特征;基于所述样本数据的样本特征,通过预定的机器学习算法,构建并训练得到所述页面分类模型。
进一步的,模型训练模块还被配置为对所述训练页面框架图像和所述训练页面文字信息进行正则化处理、随机失活处理中的至少一种。
作为一个可选的实施例,所述页面分类模块805,被配置为将所述页面框架图像输入所述页面分类模型的输入层、第一卷积层、第一池化层、第一全链接层和第一输出层,获得图像特征表征结果;将所述页面文字信息输入所述页面分类模型的嵌入层、第二卷积层、第二池化层和第二输出层,获得文字特征表征结果;将所述图像特征表征结果和所述文字特征表征结果拼接并输入所述页面分类模型的第二全链接层,获得页面分类结果;根据所述页面分类结果,确定所述待分类软件页面的分类。
进一步的,所述第二卷积层的数量少于所述第一卷积层的数量。
作为一个可选的实施例,所述文字识别模块803,被配置为对所述页面图像进行文字识别,获得文字识别结果;对所述文字识别结果进行分词处理,获得至少一个文字单元;对于每个所述文字单元,根据预设的对应关系,确定所述文字单元对应的编码;将至少一个所述编码构建为向量形式,以获得所述页面文字信息。
上述实施例的软件页面的分类装置用于实现前述实施例中相应的软件页面的分类方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的软件页面的分类方法。
图9示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
基于同一发明构思,本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任意一实施例所述的软件页面的分类方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。