应用程序的内容推送方法、内容推送系统及智能终端与流程

文档序号:15557490发布日期:2018-09-29 01:28阅读:169来源:国知局

本发明涉及智能控制领域,尤其涉及一种应用程序的内容推送方法、内容推送系统及智能终端。



背景技术:

随着智能终端的普及和安装在智能设备上的娱乐类应用程序,如游戏等的火热,人们的娱乐生活也得到了极大的丰富,越来越多的游戏内容对智能终端的配置要求越来越高,同时,用户在游戏过程中对游戏的专注度也越来越高。比如,用户在体验一些竞技类游戏时,希望与智能终端的交互可以更加智能化,与当前运行的游戏应用可以匹配。例如,当用户运行一游戏类或娱乐类的应用时,在进行击杀、刷新高分、被击杀、成功完成任务时,通常在应用程序内将显示亮光等变化显示内容,或是播放不同的声音等变化显示音频的方式来突出这一瞬间。但对于用户而言,使用任何的智能终端均可达到该效果,没有差异化。且交互的方式只能局限在应用程序所能提供的层面上,没有进一步的变化,给用户带来枯燥感。

为解决上述问题,不少制作游戏类应用程序的游戏厂家会在游戏中收集很多的用户数据,并在应用程序侧进行优化,但是这些数据并不会反馈到定制智能终端的操作系统的厂家,例如rom厂家,在更换其他没有做过优化的应用程序运行时,将无法再次得到更佳的用户体验。

因此,需要一种针对应用程序,尤其是游戏类应用程序的显示内容,实时判断后,进一步优化应用程序的内容推送方法及推送系统,无论用户使用何种应用程序,都可以根据应用程序的显示内容的特点,进行适配性的消息推送及控制。



技术实现要素:

为了克服上述技术缺陷,本发明的目的在于提供一种应用程序的内容推送方法、内容推送系统及智能终端,在应用程序侧无需变化,根据数据训练所得的样本,在运行应用程序时,智能终端将智能地变化显示场景、播放的音频及控制方式,给用户更好的娱乐体验。

本发明公开了一种应用程序的内容推送方法,包括以下步骤:

分析运行所述应用程序的智能终端的显示界面;

识别所述显示界面内的程序内容;

基于所述程序内容构建内容模型;

当再次运行所述应用程序时,所述应用程序控制所述智能终端推送与所述程序内容匹配的消息内容。

优选地,分析运行所述应用程序的智能终端的显示界面的步骤包括:

启动安装于所述智能终端的系统服务;

所述系统服务实时获取所述显示界面,并形成至少一张对应于所述显示界面的截图。

优选地,所述系统服务实时获取所述显示界面,并形成至少一张对应于所述显示界面的截图的步骤包括:

所述系统服务调用所述智能终端的系统接口;

获取所述智能终端的缓存数据,其中

所述缓存数据排除隐秘信息。

优选地,识别所述显示界面内的程序内容的步骤包括:

创建一初始模型架构;

基于神经网络训练所述初始模型架构;

固化所述初始模型架构,形成推演模型。

优选地,固化所述初始模型架构,形成推演模型的步骤后,还包括:

移植所述推演模型至所述智能终端内;

针对所述推演模型内的剪枝模型,适配形成输入节点和输出节点;

向所述推演模型输入程序内容,形成推演结论;

基于所述推演结论,控制所述智能终端发出所述消息内容。

优选地,基于神经网络训练所述初始模型架构的步骤包括:

获取外部数据增加训练样本;

调用所述智能终端的gpu集群对所述初始模型架构调参中的一种

优选地,所述外部数据包括:

所述显示界面的当前运行场景、与所述应用程序对应的视频数据、与所述应用程序对应的截图中的一种或多种。

优选地,所述消息内容包括:

所述智能终端的震动反馈、所述智能终端的闪光灯频闪、所述显示界面的亮度变化、所述智能终端的摄像头的瞬态捕捉动作、所述显示界面的内容处理中的一种或多种。

本发明还公开了一种应用程序的内容推送系统,所述内容推送系统包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述的内容推送方法。

本发明又公开了一种智能终端,所述智能终端包括如上所述的内容推送系统内的存储器及处理器。

采用了上述技术方案后,与现有技术相比,具有以下有益效果:

1.具有上述配置后,对于定制了运行应用程序的智能终端的操作系统的rom厂家来说,不需要额外去请求该应用程序的制作厂家定制软件后门,用来将操作系统内的配置通过软件后门植入到应用程序内,减少了外部耦合的软件成本。同时,对于应用程序的制作厂家来说,也不需要去为安装在不同智能终端上的不同操作系统额外增加软件维护成本。

2.针对应用程序内,尤其是游戏类应用程序内不同的游戏场景,rom厂家可以通过长久的训练更为强大的网络来覆盖多个样本,达到一个模型兼容多个游戏的目的。

3.向用户提供了更丰富的游戏体验,极大增强了游戏(软件)特性与rom(硬件)特性的结合性;

4.给应用程序的配置提供了共享性,简化了用户对应用程序配置的流程。

附图说明

图1为符合本发明一优选实施例中应用程序的内容推送方法流程示意图;

图2为符合本发明又一优选实施例中应用程序的内容推送方法流程示意图;

图3符合本发明另一优选实施例中应用程序的内容推送方法流程示意图。

具体实施方式

以下结合附图与具体实施例进一步阐述本发明的优点。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

为实现在智能终端侧(硬件)上与应用程序(软件)上的无门槛适配及推送相应的内容,参阅图1,本发明中应用程序内容推送方法,包括以下步骤:

-分析运行所述应用程序的智能终端的显示界面

首先,需要对智能终端当前运行的应用程序进行分析,以了解用户当前使用智能终端的目的。例如,用户可能前台运行有社交类的应用程序进行聊天、可能前台运行有娱乐类的应用程序进行流媒体播放、可能分屏使用智能终端,如一屏显示社交类应用程序,一屏显示游戏类应用程序等。无论是上述何种情况,只要用户对智能终端操作,使其处于轻度使用或重度使用的状态下,均将获取智能终端当前运行的应用程序。获取的方式可以是向智能终端的应用程序列表发送请求,以获取运行的应用程序,或是调用智能终端的后台等。

在获取了用户对智能终端“正做事”后,进一步地,将分析所运行的应用程序的显示界面,即“做何事”。例如,当用户使用对智能终端内安装的社交类应用程序时,根据聊天界面的通常构造,可判断用户在使用该应用程序进行聊天,再例如当用户使用智能终端内安装的娱乐类应用程序播放流媒体时,将根据如网址、标题、显示流媒体的内容等判断所播放的流媒体的具体内容。又或是当用户使用智能终端内安装的游戏类应用程序进行游戏时,可根据用户启动的游戏类应用程序名称、画面特点等,判断用户所运行的是何种游戏类应用程序。

-识别所述显示界面内的程序内容

在分析完智能终端的显示界面内的程序内容后,将识别显示界面内的程序内容。如当用户使用对智能终端内安装的社交类应用程序时,将识别用户在该社交类应用程序内的操作,聊天界面内的聊天内容是否特别,不同于平时一般的聊天内容,如“恭喜”、“祝贺”等祝福类话语,如“加油”、“努力”等激励类话语。识别的方式可以通过ocr识别,或是图文分析来识别上述情形的出现。再如当用户使用智能终端内安装的娱乐类应用程序时,将识别用户目前观看的流媒体内的具体内容,如视频内是否有胜利的场景、激动人心的时刻等。识别的方式可以通过图像识别,或是在确定了用户观看的流媒体的名称后,根据其他用户已预先配置的在流媒体的某些时刻将出现上述场景,进行智能识别。又或是当用户使用智能终端内安装的游戏类应用程序时,将识别用户目前运行的游戏类应用程序内的具体内容,如游戏内是否有释放技能的场景、游戏内是否有胜利的场景等。识别的方式可以是通过图像识别、或是获取显示界面内出现上述场景时,尤为特殊的颜色、形状、声音等特征。以上识别的特征结果将作为是别的程序内容。

-基于程序内容构建内容模型

鉴于应用程序所显示的程序内容的复杂性及持续性,为提高识别程序内

容的,将根据程序内容构建一内容模型,作为训练的基础,当数据样本

增加时,也将对内容模型更新。

-当再次运行应用程序时,应用程序控制智能终端推送与程序内容匹配的消息内容。

随着内容模型的丰富,当用户在智能终端上再次运行应用程序时,智能终端将根据内容模型的基础,并在应用程序再次出现已记录在内容模型内的程序内容时,将推送与程序内容匹配的消息内容。例如,当用户使用社交类应用程序时,在聊天界面内出现“恭喜”、“祝贺”等祝福类话语时,将控制智能终端播放喜庆类的音频,或是提高智能终端的显示界面的亮度,以区别于一般的聊天内容。当用户使用娱乐类应用程序播放流媒体时,在播放界面内出现胜利或激动人心的场景时,可控制智能终端震动、提高亮度等方式,来凸显出这些场景的特殊性。当用户使用游戏类应用程序玩游戏时,当游戏界面内出现击杀敌人、释放技能、出现暴击、团队胜利等场景时,也将控制智能终端震动、闪光灯频闪等方式,来给用户更加刺激、更具有交互性的反馈体验。

具有上述配置后,特别是针对游戏应用程序时,通过识别出用户在游戏应用程序中的各种场景,包括使用的英雄,当前的各种状态,游戏中的成绩等等,以及对上述信息的分析,可以区分出用户的游戏水平和游戏偏好,从而做针对性的内容推送。

参阅图2,在一优选实施例中,分析运行应用程序的智能终端的显示界面的这一步骤,具体由以下步骤完成:

-启动安装于智能终端的系统服务;

以安装有安卓系统的智能终端为例,基于安卓系统的androidservice架构,在智能终端开机启动时将启动一个系统服务,该系统服务会实时抓取屏幕的截图。

-系统服务实时获取显示界面,并形成至少一张对应于显示界面的截图

启动的该系统服务将通过抓取截图的方式获取智能终端的当前显示界面,也就是说,通过对实时获取智能终端的显示界面,以形成至少一张对应于显示界面的截图。根据获取的频率决定截图的数量。

一优选实施例中,获取显示界面的方式具体包括:首先,随开机启动的系统服务将获取系统权限,以对操作系统的底层修改和控制。获取到系统权限后,系统服务调用系统接口api,以获取操作系统的当前缓存数据,即framebuffer数据。在智能终端的缓存器内,具有智能终端的显示界面的各个时段下的显示内容,对缓存器的截图,可获取整个显示界面。为减少延迟,获取缓存数据的操作是一个同步操作,也就是说,任意时刻时显示界面显示的内容,缓存在缓存器内作为缓存数据时,将无延迟地获取,形成截图。

优选地,可以理解的是,为保持该系统服务无中断使用,其具有自启和自保护的性质。此外,为保护用户的某些隐秘数据,在截取受保护的界面securesurface时,配置为无法完成抓取。具体地,该系统服务运行在智能终端的操作系统的reeos中,因此无法获取安装在操作系统的teeos的首先信息,例如,某些在线付款的支付界面,其包括了用户的密码等隐秘信息的界面,其应用程序本身会配置为securesurface,因此,便无法获取,也就是说,在缓存数据内将排除用户不愿意公开的隐秘信息。

参阅图3,在另一优选实施例中,识别程序内容的步骤将基于神经网络执行,具体地,该步骤包括:

-创建一初始模型架构

在不断地获取到程序内容后,基于mobilenet,alexnet,inception架构,使用tensorflow框架创建出初始模型架构,以分析用户的使用习惯以及应用程序的交互习惯。初始模型架构的创建可以根据已经公开的论文数据,进行模型架构设计,或是针对特定的数据集进行适当修改,如增加/减少感知层,卷基层,调整遗忘率等,以形成最为符合用户使用习惯的初始模型架构。

-基于神经网络训练初始模型架构

根据神经网络的训练原则,对于外部获得的各类数据,对初始模型架构进行训练,通过不断的演算、模拟和训练后,获得更为符合应用程序交互习惯的初始模型架构。上述外部数据的获取包括但不局限于:显示界面的当前运行场景、与应用程序对应的视频数据、与应用程序对应的截图等。此外,根据外部数据所增加的训练样本,在训练时会运用智能终端的gpu集群,在服务器端进行部署,需要根据特定模型和特定数据集进行调参。

-固化初始模型架构,形成推演模型

训练完成的初始模型架构,将后续进行固话。具体地,可使用tensorflow框架对模型进行固化,在对初始模型架构的固化过程中,针对智能终端支持的操作符,会进行适当裁剪(“剪枝”)操作。所谓剪枝就是通过某种判断,避免一些不必要的遍历过程,就是剪去搜索树中的某些枝条。其具有的原则:

(1)正确性

必须保证不能丢失正确的解,这是前提。通过解答必须具备的特征,必须满足的条件来考察待判断的枝条能否被剪掉。

(2)准确性

即能够尽可能多的剪去不能得到正确解的枝条。

(3)高效性

设计好剪枝判断方法后,对每一根枝条都执行一次判断。要尽量减少剪枝判断的副作用。

执行时,可根据可行性剪枝、最优性剪枝(上下界剪枝)的方式,采用:

极端法:通过对当前节点进行理想式扩展,通过否定这样的情况来避免对当前的节点扩展;

调整法:基本思想通过对子树的比较剪掉重复子树和明显不是最有前途的子树;

数学方法:利用专门剪枝知识,借助数学模型等来优化模型架构,最终形成推演模型。

进一步实施例中,形成推演模型后,还将执行以下步骤:

-移植推演模型至智能终端内

形成推演模型后,移植tensorflowlite版到智能终端上。

tensorflow作为标准的训练框架。由于人工智能和物联网领域融合所面临的主要挑战,例如,目前有很大的机器人公司都希望机器人作为智能的载体为人类提供服务,需要机器人能听、说、读、写,这些背后的功能就是深度学习的识别模型。在将这些人工智能模型服务化的过程中会面临以下一些挑战:

1.如果模型文件太大,比如机器人的图像识别、语音识别模型通常都达到几百兆,这些模型文件如果特别大,当模型非常多的时候,很难在终端部署。

2.很多机器人的功能需要调用云端服务,那么一旦断网,这些服务就会中断。

3.目前机器人所有模型训练工作全在云端完成,需要数据上传,这就会产生安全风险。

4.数据在云端训练很难实时同步到终端。

那么通过tensorflowlite和智能终端的操作系统内的安卓模型的结合将有效解决以上问题,首先tensorflowlite可以大大压缩模型大小,适配终端;另外,tensorflowlite完全可以将模型的serving本地部署,并且提升效率,解决了断网情况造成的影响。最后,未来随着终端硬件能力的升级,完全可以做到训练在终端本地完成,这样对于智能终端应用在无人驾驶或者机器人领域都将起到性能的大跃进。

-针对推演模型内的剪枝模型,适配形成输入节点和输出节点

通过在智能终端的java/native层的对应代码,针对剪枝模型,做适当输入和输出节点的适配,以适应智能终端的安装任意版本的rom所对应的操作系统。

-向推演模型输入程序内容,形成推演结论

根据系统服务获取的程序内容对应的图片信息,进行适当预处理并送入固化模型做推演。而后针对模型中的输入部分,对图片做预处理,如二值化等,以减噪。

-基于推演结论,控制智能终端发出消息内容。

具有推演结论后,当应用程序再次出现之前所搜集的程序内容时,将向用户推送如智能终端的震动反馈、智能终端的闪光灯频闪、显示界面的亮度变化、智能终端的摄像头的瞬态捕捉动作、显示界面的内容处理中一种或多种,例如,用户使用游戏类应用程序玩游戏并释放技能时,根据所判断的该技能通常的位置和声音,可智能地预先判断出用户所要执行的操作,则在释放该技能的位置处,可形成亮度以该位置为中心向外辐射的亮度增加,同时辅以智能终端震动配合技能,或是摄像头自动启动捕捉下当前用户的表情,以作为后续回放,或是主动在显示界面上增加弹幕,加深交互效果等,以上的各种变化,均可作为智能终端向用户发出的消息内容。

具有上述任一实施例中的内容推送方法,可应用于一应用程序的内容推送系统,内容推送系统包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时,计算机程序根据预先配置的源语言,实现上述的内容推送方法。

此外,也可以该内容推送系统为基础,构件可在本地实现处理和配置的智能终端。

在上述实施例中,即便用户使用的智能终端不同,由于内容推送方法和内容推送系统以操作系统的底层为基础,云端处理后再植入到底层,无论是用户的智能终端侧还是应用程序侧均不需要配置额外的后门或端口,真正实现零门槛适配。

上述不同实施例中,智能终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的智能终端以及诸如数字tv、台式计算机等等的固定终端。下面,假设终端是智能终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1