CN108701149A - 一种智能推荐方法和终端 - Google Patents
一种智能推荐方法和终端 Download PDFInfo
- Publication number
- CN108701149A CN108701149A CN201780011392.3A CN201780011392A CN108701149A CN 108701149 A CN108701149 A CN 108701149A CN 201780011392 A CN201780011392 A CN 201780011392A CN 108701149 A CN108701149 A CN 108701149A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- terminal
- service
- icon
- user
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/725—Cordless telephones
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- User Interface Of Digital Computer (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
Abstract
本发明实施例提供了一种智能推荐方法和终端。该方法包括:终端接收推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中;所述终端根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法;所述终端根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中;所述终端显示所述至少一个服务对应的至少一个图标。本发明实施例能够减少代码冗余。
Description
本申请要求于2016年12月27日提交中国专利局、申请号为201611224999.3、发明名称为“一种移动智能终端轻量级智能引擎平台框架”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明实施例涉及通信技术,尤其涉及一种智能推荐方法和终端。
随着机器学习以及深度学习方法的发展,并且随着移动终端的运算能力和存储能力的增强,使得一些智能推荐业务能够在移动终端上实现。即,移动终端可以通过自身的运算预测用户的喜好,并基于用户的喜好向用户推荐相应的业务。
目前,移动终端上实现智能推荐的方式为:移动终端中的智能业务的业务代码中携带该智能业务需要使用的机器学习算法;移动终端从业务代码中获取该智能业务对应的机器学习算法,然后基于该机器学习算法预测并推荐用户的喜好。然而,移动终端中可以包括多种智能业务,每种智能业务均在业务代码中携带机器学习算法,会造成代码冗余。
发明内容
本发明实施例提供了一种智能推荐方法和终端,能够减少代码冗余。
第一方面,本发明实施例提供一种应用于终端的智能推荐方法。所述终端包括推荐应用。所述方法包括:终端接收所述推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息;所述终端根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法;所述终端根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中;所述终端显示所述至少一个服务对应的至少一个图标。终端利用本地的算法库中的算法进行计算和预测,由此无需每个应用在配置文件中携带算法,减少代码冗余。
可选的,所述方法还包括:在所述终端显示所述至少一个服务对应的至少一个图标之后,所述终端接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标;所述终端根据所述选择操作,显示所述第一图标对应的服务的操作界面。用户选择一个图标之后,终端能直接打开该图标对应的服务的操作界面。
可选的,所述方法还包括:在所述终端接收所述推荐应用的业务请求之前,所述终端接收用于打开所述推荐应用的第一触摸操作。
可选的,所述终端显示所述至少一个服务对应的至少一个图标包括:所述终端打开所述推荐应用,并显示所述至少一个服务对应的所述至少一个图标。
可选的,所述个人数据库包括原始数据库、个人知识库和规则库;所述原始数据库用于存储所述终端采集到的所述终端的用户的个性数据;所述个人知识库用于存储所述终端对所述个性数据进行分析后得到的所述用户的个人标签;所述规则库用于存储行为
规则;所述用户数据包括所述个性数据、所述个人标签和所述行为规则。
可选的,所述算法库中包括至少一个算法模组,每个所述算法模组包括至少一个算法。所述算法库包括以下任意一个或多个算法模组:优化算法模组、回归分析模组、降维算法模组、分类算法模组、聚类算法模组和深度学习模组。
可选的,所述算法参数包括以下任意一个或多个:算法标识、依赖算法标识、算法的输入参数、算法的输入的数据格式、算法的输出的数据格式,增量参数和算法的模型参数。
第二方面,本发明实施例提供一种终端,包括:显示屏;一个或多个处理器;一个或多个存储器,所述一个或多个存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述终端执行上述第一方面中所述的任一方法。
第三方面,本发明实施例提供一种终端,包括:获取模块、调取模块、预测模块和显示模块。其中,获取模块用于接收推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中。调取模块用于根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法。预测模块用于根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中。显示模块用于显示所述至少一个服务对应的至少一个图标。
可选的,所述终端还包括输入模块。所述输入模块,用于在所述显示模块显示所述至少一个服务对应的至少一个图标之后,接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标。所述显示模块还用于,根据所述选择操作显示所述第一图标对应的服务的操作界面。
可选的,所述输入模块还用于:在所述获取模块接收所述推荐应用的业务请求之前,接收用于打开所述推荐应用的第一触摸操作。
所述终端包括的各个模块用于实现上述第一方面中的各方法,所述各个模块可以通过硬件或软件实现。
第四方面,本发明实施例提供一种智能推荐装置,包含在终端中,该装置具有实现上述第一方面所述的各方法中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第五方面,本发明实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述第一方面所述的方法。
第六方面,本发明实施例提供一种计算机可读存储介质,包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行上述第一方面所述的方法。
第七方面,本发明实施例还提供了一种数据处理系统,包括用于执行上述第一方面提供的各方法的模块。
图1为本发明实施例提供的终端的部分结构框图;
图2为本发明实施例提供的推荐服务平台的架构示意图;
图3为本发明实施例提供的推荐服务平台中的算法平台的架构示意图;
图4为本发明实施例提供的一种应用于终端的智能推荐方法的流程图;
图5为本发明实施例提供的算法平台被调用的方法的流程图;
图6为本发明实施例提供的一种节点流程图;
图7为本发明实施例提供的算法层的示意图;
图8为本发明实施例提供的模型训练方法的流程图;
图9A-图9C为应用本实施例的方法时的一种界面示意图。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
引擎(Engine):是电子平台上开发程序或系统的核心组件。开发者可利用引擎迅速建立、铺设程序所需的功能,或利用引擎辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等。
解耦:把程序中互相不相关或有限相关的模块分割开来。
接口:模块化程序之间约定的调用或通信方式。由于模块和模块之间功能解耦,因此可以将需要共享的信息定义在接口中。
模型:用于描述数据间的关系,例如可以是一组描述用户喜好的数据。
算法:是计算机在有限步骤内求解某一问题所使用的一组定义明确的规则。
回调对象:对象是数据和方法的封装体,程序设计者通过执行对象的各种方法,来改变对象的状态(即改变对象的属性数据),从而使该对象发生某些“事件”。当对象发生某“事件”时,该对象通常需向其它相关对象发送“消息”,请求它们作出一些处理。这时,发生事件并向其它对象请求处理的对象被称为“事件对象”,而处理事件的对象被称为“回调对象”。
回调函数:回调对象对事件的处理称为“回调函数”。
类:是面向对象编程中的一种数据结构。类的格式一般地分为说明部分和实现部分。说明部分是用来说明该业务类中的成员,包含数据成员的说明和成员函数的说明。实现部分是对成员函数的定义,成员函数是用来对数据成员进行操作的,又称为“方法”。概括说来,说明部分用于说明类的作用,而实现部分用于介绍如何实现类的作用。其中,数据结构是数据存在的形式。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
封装:在编程中,封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
本发明实施例可以应用于终端。该终端例如可以为:移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、数码相机、个人数字助理(personal digital assistant,简称PDA)、导航装置、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等。
图1为本发明实施例提供的终端的部分结构框图。该终端以手机100为例进行说明,参考图1,手机100包括:射频(Radio Frequency,RF)电路110、电源120、处理器130、存储器140、输入单元150、显示单元160、传感器170、音频电路180、以及无线保真(wireless fidelity,WiFi)模块190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或在通话过程中进行信号的接收和发送。例如:RF电路110可以将从基站接收的下行数据发送给处理器130处理,并把上行数据发送给基站。通常,RF电路包括但不限于RF芯片、天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器、射频开关等。此外,RF电路110还可以与网络和其他设备进行无线通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器140可用于存储软件程序以及模块,处理器130通过运行存储在存储器140的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器140可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器140还可以存储个人数据库和算法库。其中个人数据库可以包括原始数据库、个人知识库和规则库。算法库中可以包括一个或多个算法模组,每个算法模组中可以包括一个或多个算法。
输入单元150可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元150可包括触控面板151以及其他输入设备152。触控面板151,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板151上或在触控面板151附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板151可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器130,并能接收处理器130发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板151。除了触控面板151,输入单元150还可以包括其他输入设备152。具体地,其他输入设备152可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元160可用于显示由用户输入的信息或提供给用户的信息以及手机100的各
种菜单。显示单元160可包括显示面板161,可选的,可以采用液晶显示屏(liquid crystal display,简称为LCD)、机电激光显示(organic light-emitting diode,简称为OLED)等形式来配置显示面板161。进一步的,触控面板151可覆盖显示面板161,当触控面板151检测到在其上或附近的触摸操作后,传送给处理器130以确定触摸事件的类型,随后处理器130根据触摸事件的类型在显示面板161上提供相应的视觉输出。虽然在图1中,触控面板151与显示面板161是作为两个独立的部件来实现手机100的输入和输入功能,但是在某些实施例中,可以将触控面板151与显示面板161集成而实现手机100的输入和输出功能。
手机100还可包括至少一种传感器170,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板161的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板161和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。手机100还可以配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路180、扬声器181、麦克风182可提供用户与手机100之间的音频接口。音频电路180可将接收到的音频数据转换后的电信号,传输到扬声器181,由扬声器181转换为声音信号输出;另一方面,麦克风182将收集的声音信号转换为电信号,由音频电路180接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一手机,或者将音频数据输出至存储器140以便进一步处理。
WiFi属于短距离无线传输技术,手机100通过WiFi模块190可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块190,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器130是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器140内的软件程序和/或模块,以及调用存储在存储器140内的数据,执行手机100的各种功能和处理数据,从而实现基于手机的多种业务。可选的,处理器130可包括一个或多个处理单元;优选的,处理器130可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器130中。
本发明实施例中,处理器130可以执行存储器140中存储的程序指令,来在实现以下实施例所示的方法。
手机100还包括给各个部件供电的电源120(比如电池),优选的,电源可以通过电源管理系统与处理器130逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头、蓝牙模块等,在此不再赘述。
本发明实施例可以为终端提供一种推荐服务平台。终端包括该推荐服务平台。终端上的应用可以调用该推荐服务平台实现该应用(或任务)的智慧化业务。例如,应用的智慧化业务可以是根据经验数据建立模型,也可以是通过建立的模型预测新的数据趋势,例如预测用户的喜好或行为,并将预测的结果推送给用户。举例来说,假设模型A可以用于预测用户的喜好,当应用为浏览器,模型所需的特征数据为用户的搜索内容时,终端可以根据模型A预测出用户在30%的时间会搜索娱乐相关内容;30%的时间会搜索军事相关内容;40%的时间会搜索其他内容,则终端可以向用户多推送娱乐相关内容和军事相关内容;或者,终端可以根据模型A预测出用户在时间段1中搜索娱乐相关内容的可能性高,在时间段2中搜索军事相关内容的可能性高,则终端可以在时间段1向用户推送娱乐相关内容,在时间段2向用户推送军事相关内容。假设模型B可以用于预测用户的行为,当应用为智能推荐时,终端可以根据模型B预测用户在特定时间或特定场景下的行为,然后基于预测,将用户可能的行为所需的服务推荐给用户。需要说明的是,本发明实施例所提供的推荐服务平台和各应用的通信是通过接口实现的,各应用的智慧化业务和推荐服务平台之间是完全解耦的。
图2为本发明实施例提供的推荐服务平台的架构示意图。如图2所示,该推荐服务平台200包括推荐引擎210、服务采集模块220和个人数据库230。
推荐引擎210用于提供推荐能力。推荐引擎210接收应用发送的业务请求,然后向应用返回推荐结果。推荐引擎210包括服务接口211、调度模块212、数据管理模块213和算法平台214。其中,服务接口211对外提供业务推荐接口。调度模块212负责读取业务配置文件,即读取应用的配置文件,并基于算法平台214提供训练和预测。调度模块212还负责外部事件的获取、调度存储。其中,训练为针对某个需求,使用一些数据来建模或者优化模型的过程;预测为使用训练得到的模型和当前的数据计算得到的结果。数据管理模块213负责数据的存储和转义,作为算法平台的输入。算法平台214用于对外提供算法能力。算法平台214可以集成多个机器学习算法。算法平台214支持以配置文件的方式配置算法,即算法平台214可以根据配置文件中的内容调用各种算法。其中,该推荐引擎210可以是后台运行、无界面显示的系统级应用,可以具有系统级权限,能够为多种应用提供能力。
数据采集模块220用于采集用户的个性数据,并将采集到的数据存储到原始数据库231中。在用户使用终端时,数据采集模块220可以采集用户的个性数据。用户的个性数据例如可以为应用层级的用户喜好和系统层级的用户行为。
具体的,应用层级可以包括应用界面层和应用框架层。应用层级的用户喜好包括应用界面层中的应用使用场景和用户界面行为,以及应用框架层中的系统组件运行情况。其中,应用使用场景例如可以包括以下场景:应用运行场景、视频场景、音乐场景或美食场景等。应用运行场景下的用户界面行为可以包括:应用名、应用使用时间、使用时长等;视频场景下的用户界面行为可以包括:视频名、视频停止时间、视频播放集数、视频总集数等;音乐场景下的用户界面行为可以包括:音乐名、音乐类型、播放时长、播放频率等;美食场景下的用户界面行为可以包括:店铺名、美食类型、店铺地址等。在进行数据采集时,根据具体情况,还可以使用图片文本感知技术来采集数据,例如:通过光学字符识别(Optical Character Recognition,简称为OCR)技术识别图片中的文
字内容,以获取图片中的文本信息。其中,可以通过以下方式获取应用框架层中的系统组件运行情况:在应用框架层通过JS(JavaScript)注入技术,获取新闻应用浏览新闻的页面内容和浏览器应用浏览网页的页面内容;或者,通过通知消息监听服务,截取所有的通知消息,通过对消息内容的解析,可以获取包括通知类型、场景、时间、文本内容等信息;或者,可以通过钩取应用接口运行的行为,识别出应用类型,以此来补充应用市场无法查询的应用类型或进行离线状态下的应用类型识别;或者,通过系统接口获取系统实时场景信息,即时间、日期、电量、网络状态、耳机状态、蓝牙开关状态、自动旋转开关状态、热点开关状态等系统实时场景信息。
具体的,系统层级的用户行为可以包括用户行动和用户场景。具体的,采集用户行动数据可以包括:通过传感器等器件收集用户身体的行为特征,并通过积累数据对用户当前的行为进行识别和采集,例如可以识别并采集以下的行为状态:车载、骑行、走路、跑步、静止和其他。其中,传感器可以包括:距离传感器、加速度传感器、气压传感器、重力传感器或陀螺仪等。采集用户场景数据可以包括:通过采集通讯基站的小区识别码(cell ID),或者通过采集WiFi或者GPS数据,可以得到用户的位置信息;根据该位置信息,可以得到用户所处的场景,例如:家、公司、外地或其他场景。
个人数据库230包括用于存储原始数据库231、个人知识库232和规则库233。原始数据库231中存储用户的原始数据,该原始数据具体为数据采集模块220采集到的该终端的用户的个性数据。个人知识库232中存储用户的个人标签。对原始数据库231中的所述个性数据进行分析或处理后,得到用户的个人标签。规则库233中存储一些用于分析的行为规则或其它基本规则。
图3为本发明实施例提供的推荐服务平台中的算法平台的架构示意图。如图3所示,该算法平台214包括调度层301、适配层302和算法层303。其中,调度层301包括业务实例装配模块3011、工作队列模块3012和工作进程模块3013。适配层302用于在工厂模式下,根据算法图谱包括的各算法以及各算法所需的数据生成对应的算法实例。算法层303包括算法库。算法库中包括一个算法模组或者具有不同功能的多个算法模组,各算法模组包括相应功能的至少一个算法。其中,所述算法库包括以下任意一个或多个算法模组:优化算法(optimization algorithms)模组、回归分析模组、降维算法模组、分类算法(classification algorithms)模组、聚类算法(clustering algorithms)模组和深度学习(deep learning algorithms)模组。
业务实例装配模块3011用于获取应用的业务请求,并根据业务请求建立业务实例。
工作队列模块3012用于业务调度,将完成组装的业务实例放入工作队列,工作队列遵循先入先出(First Input First Output,FIFO)的机制。
工作进程模块3013用于接收从工作队列模块先出的业务实例,并将业务实例包括的算法图谱发送给工厂模式模块。
工厂模式模块3021用于根据算法图谱调用算法层中的机器学习算法,并生成具有统一算法接口的算法实例。
内部I/O适配模块3022用于根据各算法实例的输入参数和数据格式以及各算法实例的依赖算法的输出,确定各算法实例的输入。
图4为本发明实施例提供的一种应用于终端的智能推荐方法的流程图。该终端可以包括多种应用,其中可以包括推荐应用。该推荐应用可以通过所述终端向所述终端的用户推荐该用户喜爱的应用或服务。如图4所示,该方法包括:
步骤401、终端接收推荐应用的业务请求。所述业务请求可以包括配置文件。所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息。
终端中的推荐服务200可以接收该推荐应用的业务请求。具体的,推荐服务200中的调度模块212可以通过服务接口211接收该业务请求。该业务请求中的配置文件可以是该推荐应用在终端本地生成的或存储在终端本地的,也可以是该推荐应用对应的服务器向该终端发送的。进一步的,当该推荐应用被打开时,该推荐应用可以发送该业务请求。由此,在步骤401之前,还可以包括:所述终端接收用于打开所述推荐应用的第一触摸操作。然后在步骤402中,终端接收到所述业务请求。
其中,配置文件可以包括业务的基本信息,例如可以包括业务的算法参数、用于标识算法组合结构的组合信息和数据的存储路径。算法参数可以包括以下任意一个或多个:算法标识、依赖算法标识、算法的输入参数、算法的输入的数据格式、算法的输出的数据格式、增量参数和算法的模型参数等。
配置文件中的算法参数和算法的组合信息可以保存为列表。举例来说,若某一业务的算法为算法A、算法B和算法C,其组合结构是算法A的输出和算法B的输出共同组成算法C的输入,则列表可以如表1所示:
表1
算法标识 | 依赖算法标识 | 输出的数据格式 |
A | 无 | 浮点型 |
B | 无 | 整型 |
C | A和B | 整型 |
其中,算法标识、依赖算法标识和输出的数据格式即为算法的参数。算法的组合信息可以根据算法标识以及依赖算法标识得出,例如:算法C依赖算法A和算法B,即算法C的输入依赖算法A和算法B的输出。表1仅为一种示例,在具体的实现方式中,可以使用任意的形式来存储算法的组合信息,只要能表达出算法的组合结构即可。
在一种可能的设计中,推荐应用通过服务接口211向调度模块212发送业务请求时,可以根据该业务请求注册一个回调对象。回调对象用于调度模块212将业务请求的运算结果返回给该推荐应用,即调度模块212根据回调对象中的回调函数向推荐应用返回推荐的结果。
举例来说,推荐应用需要根据用户的喜好向用户推荐当前该用户可能希望使用的服务。此时,该推荐应用的业务请求的配置文件中可以包括能够计算出该用户希望使用的服务的各算法的参数以及各算法的组合信息。该推荐应用注册的回调对象可以指示调度模块通过回调对象中的回调函数向该推荐应用返回当前用户希望使用的服务。
步骤402、所述终端根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法。具体的,所述调度模块212可以根据所述业务请求中的算法参数和算法组合信息,调用算法平台214。
并且,推荐引擎210中的数据管理模块213可以从个人数据库中加载当前的实时情景数据,然后封装和转义所述的当前实时情景数据作为算法平台的输入数据。调度模块212在调用算法平台214时,还基于数据管理模块213输出的封装和转义后的数据。
步骤403、所述终端根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务。所述终端的用户数据保存在位于所述终端的个人数据库中。具体的,调度模块212调用算法平台214,来预测所述终端的用户当前所需的一个或多个服务。其中,算法平台214接收应用的业务请求,并根据该业务请求建立业务实例,业务实例包括业务的数据和算法图谱,然后调用业务实例以便获取预测结果。
步骤404、所述终端显示所述至少一个服务对应的至少一个图标。
当调度模块212调用算法平台214预测出所述终端的用户当前所需的一个或多个服务之后,通过服务接口211将预测结果返回给所述推荐应用,然后所述推荐应用可以将所述预测结果显示出来。具体的,当所述终端打开所述推荐应用时,所述推荐应用发送业务请求,然后在所述推荐应用接收到返回的预测结果之后,将该预测结果显示出来,即显示至少一个服务对应的至少一个图标。这些服务即为预测的用户当前所需的服务。其中,所述的服务可以为应用程序,也可以为具体的服务内容,该服务内容对应某个应用程序的某个页面。例如:所述的服务可以为电话、亚马逊、Facebook等应用程序。或者,所述的服务可以为支付、打车等具体的服务内容。
步骤405、所述终端接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标。
步骤406、所述终端根据所述选择操作,显示所述第一图标对应的服务的操作界面。
图9A-图9C为应用本实施例的方法时的界面示意图。图9A为终端显示的主界面。用户在图9A上进行预设操作,可以启动推荐应用。该预设操作例如可以为向左滑动屏幕、向下滑动屏幕或向上滑动屏幕等。如图9A和图9B所示,该预设操作为向左滑动屏幕。当终端检测到用户的预设操作之后,该推荐应用可以发出业务请求,然后终端可以执行上述步骤401-步骤403。在终端预测出用户当前所需的至少一个服务之后,将预测结果发送给该推荐应用,然后如图9B所示,终端显示推荐应用900,其中包括预测的多个服务对应的多个图标;即上述步骤404。如图9B所示,预测的服务以支付、电影、打车、美食为例。图9B的界面中,除了显示该推荐应用之外,还可以显示其它与该推荐应用无关的信息,其它显示的内容取决于界面的设计。在图9B所示的界面中,用户可以选择其中一个图标,然后终端执行上述步骤405和步骤406。例如用户选择了“支付”的图标,则终端可以直接显示支付对应的操作界面,如图9C所示,终端直接进入可以支付的界面,在该支付界面中,用户可以通过条形码或者二维码向商家付款,或者进一步进入接收他人支付的界面进行收款。
在所述终端显示所述至少一个服务对应的至少一个图标之后,用户可以从显示的图标中选择所需的图标。在用户选择一个图标之后,终端根据用户的选择,显示所述图标对应的服务的操作界面。如果所述服务为应用程序,则终端可以打开该应用程序,并显示该应用程序默认的启动界面或者上一次打开该应用程序时呈现的操作界面。如果所述服务为具体的服务内容,则终端可以打开该服务内容对应的操作界面。例如:当该服务为支付服务时,终端可以直接打开具有支付功能的应用的支付界面。其中,该具有支付
功能的应用除了支付功能,可以还具有别的功能;并且该应用的启动界面一般不是支付界面。根据本实施例的方法,终端直接向用户推荐支付应用对应的图标,当该图标被用户选择之后,终端可以直接显示该应用的支付界面,从而使得用户可以直接使用该支付功能,而无需再进行其它操作。由此实现了终端可以直接向用户推荐具体的服务内容。
上述步骤403中,调度模块212调用算法平台214的过程具体参见图5所示。图5为本发明实施例提供的算法平台被调用的方法的流程图。参见图3和图5,该方法包括:
步骤501、算法平台214接收调度模块212发送的业务请求,然后根据该业务请求和业务类(class)建立业务实例。该业务请求中包括配置文件。
其中,业务类是调度层301为实现统一的业务请求调度而定义的一些类,用于实例化实现业务请求,即封装业务的数据和算法图谱。因而,建立业务实例就是根据业务请求和业务类将业务所需的数据以及与业务所需数据的有关的操作(即算法图谱)组装成一个实体(对象),该对象就是业务实例。
具体地,调度层301根据配置文件中业务的数据的存储路径获取业务的数据。业务的数据可以包括算法的输入数据、算法运行时的参数数据以及算法输出数据(包括结果数据和中间数据)。通常,业务的数据可以存储在终端的数据库或存储器(例如硬盘)中,例如上述的个人数据库230。终端可以把业务的数据加载到内存中。
然后,调度层301可以根据业务请求中算法的参数和算法的组合结构确定算法图谱,算法图谱即算法的节点流程图。可以理解的是,应用在撰写配置文件时为了确保可读性,可以以列表形式保存业务的算法的组合结构以及算法的参数,调度层301可以进一步将该列表转换成算法的节点流程图,以便更好地调度各算法。
举例来说,以表1为例,调度层301可以将表1转换为图6所示的节点流程图。对于节点流程图中的每一个节点来说,与该节点相连接的上一层的节点为该节点的依赖节点,即上一层的节点所对应的算法为该节点所对应的算法的依赖算法。例如,由于算法A和算法B没有依赖算法,因此节点流程图的第0层为空(图中用虚线图形示意)。由于算法C的依赖算法为算法A和算法B,因此节点流程图的第1层为算法A和算法B,节点流程图的第2层为算法C,且算法A和算法B的节点与算法C的节点相连接。
可以理解的是,节点流程图中的每个不为空的节点对应一个算法,调度层301可以根据配置文件获取各算法的参数,并将各算法的参数保存在节点流程图对应的节点中。
而后,调度层301根据业务类将业务所需的数据以及算法图谱组装成一个实体,此时便建立了一个业务实例。
具体的,参见图3,步骤501可以由调度层301中的业务实例装配模块3011执行。
步骤502、算法平台214将业务实例添加至工作队列,以便根据工作队列执行业务实例。
可以理解的是,当调度层301获取到多个业务的业务请求时,可以根据业务类和业务请求中的配置文件分别为多个业务建立相应的业务实例。例如:假设业务类包括参数1和参数2,当调度层301接收到第一业务请求,可以根据业务类生成参数1=A1,参数2=A2的第一业务实例,当调度层301接收到第二业务请求后,可以根据业务类生成参数1=B1,参数2=B2的第二业务实例。当调度层301根据多个业务请求同时建立了多个
业务实例后,由于调度层301无法同时执行多个业务实例,因此需要为建立好的多个业务实例安排执行的先后顺序。
调度层301可以根据业务实例的建立的先后顺序将业务实例放入调度层的工作队列中,工作队列可以遵循先进先出(FIFO)机制,以便先建立好的业务实例可以先出工作队列,即优先被执行。
具体的,参见图3,步骤502可以由调度层301中的工作队列模块3012执行。
步骤503、终端根据配置文件生成算法所需的数据。
配置文件还可以包括配置信息,配置信息用于指示终端进行数据转义,也就是根据配置信息将部分加载在内存中的业务的数据转义为算法所需的数据格式和编码。转义即转化含义。具体的,所述的算法所需的数据可以是有数据管理模块213生成的。需要说明的是,本实施例并不限定步骤503与步骤501/步骤502之间的先后顺序。步骤503可以与步骤501或步骤502同时执行,或者在步骤501或步骤502之前执行。
步骤504、算法平台214通过工厂模式,根据算法图谱以及算法所需的数据生成算法实例。
适配层302在工厂模式下,根据算法图谱包括的各算法以及各算法所需的数据生成对应的算法实例。工厂模式用于保证生成的算法实例具有统一的算法接口(Interface Algorithm),以便终端在调用算法实例时,可以避免复杂的参数定义和接口调用。
举例来说,若工厂模式下统一的算法接口为Function(参数1,参数2),则算法图谱包括的各算法全部实现Function(参数1,参数2),即算法图谱中的各算法的定义里都有Function(参数1,参数2)。但是根据各算法的不同,Function函数实现的功能也不同。
本发明实施例中,算法图谱包括的算法可以存储在算法层303中。图7为本发明实施例提供的算法层的示意图,如图7所示,各算法根据功能分为不同的模组,例如可以包括优化算法(optimization algorithms)模组,回归分析模组,降维算法模组,分类算法(classification algorithms)模组,聚类算法(clustering algorithms)模组和深度学习算法(deep learning algorithms)模组。其中,优化算法模组可以包括最速下降(gradient descent,GD)算法、遗传算法(genetic algorithm,GA)、最大期望算法(expectation maximization algorithm,EM)等。回归分析模组可以包括逻辑回归(logistic regression,LR)算法、迭代决策树(gradient boosting decision tree,GBDT)算法、决策树(decision tree,DT)算法等。降维算法模组可以包括主成份分析(principal component analysis,PCA)算法、局部线性嵌入(locally linear embedding,LLE)算法、线性判别式分析(linear discriminant analysis,LDA)算法。分类算法模组可以包括朴素贝叶斯(NaiveBayes,NB)算法、K最邻近结点算法(K-nearest neighbor algorithm,KNN)、支持向量聚类(support vector clustering,SVC)算法等。聚类算法模组可以包括Kmeans算法、基于密度的应用和噪音的聚类(density-based spatial clustering of applications with noise,DBSCAN)算法、高斯混合模型(gaussian mixture model,GMM)等。深度学习模组可以包括深度神经网络(deep neural network,DNN)算法、递归神经网络(recurrent neural network,RNN)算法、卷积神经网络(convolutional neural network,CNN)算法等。本发明实施例中,算法以动态链接库的形式存在,对上提供Java原生接口(Java native interface,JNI)接口,以便于Java类型的应用对C/C++类型的算法进行调用。
举例来说,若算法图谱包括的算法为GD、LR和PCA,且算法间的组合结构为GD的输出为LR的输入,LR的输出为PCA的输入,则适配层302从算法层303依次提取GD、LR和PCA,而后根据各算法的所需的数据将GD、LR和PCA生成相应的对象并保存在内存中,这里的对象即算法实例。
需要说明的是,调度层301可以提前为适配层302分配一个“容器”,“容器”可以为数组或列表,适配层302可以将生成的算法实例保存在内存中,并将该内存地址存储在调度层301分配的“容器”中,以便调度层301在后续步骤中对算法实例进行调用时,可以直接根据统一的算法接口依次根据“容器”中的地址获取相应的算法实例。
另外,本发明实施例中的算法层303的各算法支持底层芯片的算子硬件加速,并且本发明实施例中的算法层303可以通过系统更新或热补丁进行算法扩展,扩展的算法在工厂模式下与算法层原有的算法具有统一的算法接口。
步骤505、算法平台214根据算法图谱中各算法之间的组合结构依次调用算法实例。
调度层301根据算法图谱中各算法之间的组合结构依次调用相应的算法实例。在调用没有依赖算法的算法对应的算法实例时,可以根据当前算法实例所需的数据确定该算法所需的输入。在调用有依赖算法的算法对应的算法实例时,可以根据当前算法实例所需的数据调整与当前算法实例存在依赖关系的前N个算法实例的输出,并将调整后的结果作为该算法实例的输入。其中,与当前算法实例存在依赖关系的前N个算法实例即当前算法的依赖算法,N为大于或等于1的正整数,N为大于或等于1的正整数。
举例来说,如图6所示,算法C的依赖算法是算法A和算法B,因此算法A和算法B的输出可以为算法C的输入,进一步地,调度层301还需要根据算法C所需的数据调整算法A和算法B的输出,将调整后的结果作为算法C的输入即可。在一种可能的设计中,算法A和算法B也可以没有输入。
具体的,参见图3,步骤505可以由调度层301中的工作进程模块3013执行。
步骤506、算法平台214向调度模块212返回业务请求的结果。
算法平台214可以通过调度层301上的接口向调度模块212返回业务请求的结果,然后由调度模块212将该业务请求的结果返回给推荐应用。需要说明的是,调度模块212可以通过已注册的回调函数向推荐应用返回业务请求的结果。
本发明实施例提供的推荐服务平台还可以进行模型训练。图8为本发明实施例提供的模型训练方法的流程图。如图8所示,该方法包括:
步骤801、所述推荐服务平台接收应用的业务请求。
步骤802、所述推荐服务平台加载所述业务请求的配置文件,并注册用于模型训练的定时器。
配置文件中可以包括启动模型训练的触发条件,根据该触发条件,设置定时器。
步骤803、所述推荐服务平台根据注册的定时器启动模型训练。
当满足设置的触发条件时,定时器超时,然后推荐服务平台可以开始进行模型训练。
步骤804、所述推荐服务平台封装和转义用户历史数据以及算法配置信息,调用算法平台。
步骤805、所述算法平台使用封装的数据和算法配置信息创建对应的算法实例。
步骤806、所述算法平台根据该算法实例进行模型训练,并将训练后的模型保存在配置文件指定的存储空间。
在步骤801接收到的业务请求的配置文件中,可以指定一存储路径,使得所述推荐服务平台将训练后的模型放入该存储路径中。训练后的模型可以用于后续的数据预测。
通过本发明实施例提供的推荐服务平台,终端可以为用户提供各种服务。例如:
应用建议服务:终端根据用户使用各个应用的历史记录以及用户历史使用各个应用的上下文信息,训练针对用户个性化应用使用情况的预测模型,并在用户下一次操作手机时结合当前上下文信息,预测和推荐用户最有可能使用的应用。其中,该上下文信息可以前述各种的用户数据。
地理围栏:终端根据当前连接的Cell ID或Wifi ID,识别用户当前所在的地点是在家还是在公司,然后可以据此推荐相应的服务。
垃圾信息过滤:终端根据信息文本识别垃圾信息,并自动拦截和过滤。
图标整理:终端根据用户使用应用桌面图标的习惯自动分组和整理应用图标。
健康助手:终端根据用户历史作息和使用手机情况时间,计算健康指数。
社交关系:终端根根据图库图片中同一场景下出现的人物创建图库人物关系组。
价格比对:终端根根据历史价格预测当前合理价格,例如租房价格,根据某地区的历史租房价格,给出一个当前合理租房价格区间。
本发明实施例提供统一的数据采集、数据管理和算法库,并对外统一接口,使得每个应用只需要设置相应的配置文件,即可由终端执行推荐服务。由于具有统一的算法库,每个应用只需在配置文件中配置所需的算法参数和算法组合结构即可,而并不需要在配置文件中携带具体的算法;并且多个应用还可以共用算法库中的算法。由此能够减少代码冗余。本发明实施例每个终端中存储的是该终端用户的个人信息,相比于现有的基于网络侧数据的预测,本发明实施例预测的精度更高。
本发明各实施例提供的方法,可以仅在终端侧执行。即,可以仅通过终端侧的计算即可向用户推荐服务,或者进行模型训练,而无需服务器侧参与。然而,在上述各实施例的基础上,也可以有服务器侧参与。例如:如果终端侧的数据不够,或者终端侧的模型不可用,则终端可以向服务器侧请求数据或模型,然后再进行计算。当本发明各实施例提供的方法仅在终端侧执行训练和预测时,由于终端侧的计算能力一般低于网络侧,所以在终端侧执行的方法更适合进行轻量级的训练和预测。即本发明实施例可以提供一种轻量级的智能推荐服务平台。
本发明实施例还提供一种智能推荐装置,包含在所述终端中。该智能推荐装置包括:获取模块、调取模块、预测模块和显示模块。
所述获取模块用于接收推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中。所述调取模块用于根据所述算法参数和所述组合信息从所述终端的算法库
中调取至少一个算法。所述预测模块用于根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中。所述显示模块用于显示所述至少一个服务对应的至少一个图标。
进一步的,该智能推荐装置还包括:输入模块。所述输入模块用于在所述显示模块显示所述至少一个服务对应的至少一个图标之后,接收对第一图标的选择操作。所述第一图标为所述至少一个图标中的一个图标。所述显示模块还用于,根据所述选择操作,显示所述第一图标对应的服务的操作界面。
进一步的,所述输入模块还用于:在所述获取模块接收所述推荐应用的业务请求之前,接收用于打开所述推荐应用的第一触摸操作。
本实施例提供的智能推荐装置可以用于执行上述各实施例提供的方法,具体的执行过程可以参见上述各实施例。
其中,所述获取模块可以包含在前述实施例的服务接口211中,或者,包含在前述实施例的服务接口211和调度模块212中。所述调取模块可以包含在前述实施例的调度模块212中,或者,包含在前述实施例的调度模块212和算法平台214中。所述预测模块可以包含在前述实施例的算法平台214中,或者,包含在前述实施例的调度模块212和算法平台214中。所述显示模块相当于终端中的显示屏。当所述终端的显示屏是触摸屏时,所述输入模块也包含在所述终端的触摸屏中,即所述显示模块和所述输入模块相当于终端的触摸屏。当所述终端的显示屏不是触摸屏时,所述输入模块相当于终端中的输入设备,例如键盘或鼠标等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外,任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (22)
- 一种智能推荐方法,其特征在于,包括:终端接收推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中;所述终端根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法;所述终端根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中;所述终端显示所述至少一个服务对应的至少一个图标。
- 根据权利要求1所述的方法,其特征在于,所述终端显示所述至少一个服务对应的至少一个图标之后,所述方法还包括:所述终端接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标;所述终端根据所述选择操作,显示所述第一图标对应的服务的操作界面。
- 根据权利要求1或2所述的方法,其特征在于,所述终端接收所述推荐应用的业务请求之前,所述方法还包括:所述终端接收用于打开所述推荐应用的第一触摸操作。
- 根据权利要求1-3任一所述的方法,其特征在于,所述终端显示所述至少一个服务对应的至少一个图标包括:所述终端打开所述推荐应用,并显示所述至少一个服务对应的所述至少一个图标。
- 根据权利要求1-4任一所述的方法,其特征在于,所述个人数据库包括原始数据库、个人知识库和规则库;所述原始数据库用于存储所述终端采集到的所述终端的用户的个性数据;所述个人知识库用于存储所述终端对所述个性数据进行分析后得到的所述用户的个人标签;所述规则库用于存储行为规则;所述用户数据包括所述个性数据、所述个人标签和所述行为规则。
- 根据权利要求1-5任一所述的方法,其特征在于,所述算法库中包括至少一个算法模组,每个所述算法模组包括至少一个算法。
- 根据权利要求6所述的方法,其特征在于,所述算法库包括以下任意一个或多个算法模组:优化算法模组、回归分析模组、降维算法模组、分类算法模组、聚类算法模组和深度学习模组。
- 根据权利要求1-7任一所述的方法,其特征在于,所述算法参数包括以下任意一个或多个:算法标识、依赖算法标识、算法的输入参数、算法的输入的数据格式、算法的输出的数据格式,增量参数和算法的模型参数。
- 一种终端,其特征在于,包括:触摸屏;一个或多个处理器;一个或多个存储器,所述一个或多个存储器中存储有一个或多个计算机程序,所 述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述终端执行以下步骤:接收推荐应用的业务请求,所述业务请求包括配置文件,所述配置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中;根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法;根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中;通过所述触摸屏显示所述至少一个服务对应的至少一个图标。
- 根据权利要求9所述的终端,其特征在于,所述一个或多个处理器执行所述指令使得所述终端还执行以下步骤:通过所述触摸屏显示所述至少一个服务对应的至少一个图标之后,接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标;根据所述选择操作,通过所述触摸屏显示所述第一图标对应的服务的操作界面。
- 根据权利要求9或10所述的终端,其特征在于,所述一个或多个处理器执行所述指令使得所述终端还执行以下步骤:在接收所述推荐应用的业务请求之前,接收用于打开所述推荐应用的第一触摸操作。
- 根据权利要求9-11任一所述的终端,其特征在于,在通过所述触摸屏显示所述至少一个服务对应的至少一个图标的步骤中,所述一个或多个处理器执行所述指令使得所述终端执行以下步骤:打开所述推荐应用,并通过所述触摸屏显示所述至少一个服务对应的所述至少一个图标。
- 根据权利要求9-12任一所述的终端,其特征在于,所述个人数据库包括原始数据库、个人知识库和规则库;所述原始数据库用于存储所述终端采集到的所述终端的用户的个性数据;所述个人知识库用于存储所述终端对所述个性数据进行分析后得到的所述用户的个人标签;所述规则库用于存储行为规则;所述用户数据包括所述个性数据、所述个人标签和所述行为规则。
- 根据权利要求9-13任一所述的终端,其特征在于,所述算法库中包括至少一个算法模组,每个所述算法模组包括至少一个算法。
- 根据权利要求14所述的终端,其特征在于,所述算法库包括以下任意一个或多个算法模组:优化算法模组、回归分析模组、降维算法模组、分类算法模组、聚类算法模组和深度学习模组。
- 根据权利要求9-15任一所述的终端,其特征在于,所述算法参数包括以下任意一个或多个:算法标识、依赖算法标识、算法的输入参数、算法的输入的数据格式、算法的输出的数据格式,增量参数和算法的模型参数。
- 一种终端,其特征在于,包括:获取模块,用于接收推荐应用的业务请求,所述业务请求包括配置文件,所述配 置文件至少包括算法参数和用于标识算法组合结构的组合信息,所述推荐应用包含在所述终端中;调取模块,用于根据所述算法参数和所述组合信息从所述终端的算法库中调取至少一个算法;预测模块,用于根据所述至少一个算法和所述终端的用户数据,预测所述终端的用户当前所需的至少一个服务,所述终端的用户数据保存在位于所述终端的个人数据库中;显示模块,用于显示所述至少一个服务对应的至少一个图标。
- 根据权利要求17所述的终端,其特征在于,还包括:输入模块,用于在所述显示模块显示所述至少一个服务对应的至少一个图标之后,接收对第一图标的选择操作,所述第一图标为所述至少一个图标中的一个图标;所述显示模块还用于,根据所述选择操作,显示所述第一图标对应的服务的操作界面。
- 根据权利要求17或18所述的终端,其特征在于,所述输入模块还用于:在所述获取模块接收所述推荐应用的业务请求之前,接收用于打开所述推荐应用的第一触摸操作。
- 一种电子设备,其特征在于,所述电子设备包括执行如权利要求1至8任一项所述方法的装置。
- 一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任一项所述的方法。
- 一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611224999 | 2016-12-27 | ||
CN2016112249993 | 2016-12-27 | ||
PCT/CN2017/094373 WO2018120813A1 (zh) | 2016-12-27 | 2017-07-25 | 一种智能推荐方法和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701149A true CN108701149A (zh) | 2018-10-23 |
Family
ID=62710136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011392.3A Pending CN108701149A (zh) | 2016-12-27 | 2017-07-25 | 一种智能推荐方法和终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190340521A1 (zh) |
EP (1) | EP3553676A4 (zh) |
CN (1) | CN108701149A (zh) |
WO (1) | WO2018120813A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022235A (zh) * | 2019-04-18 | 2019-07-16 | 维沃移动通信有限公司 | 信息处理方法、终端和服务器 |
CN110941791A (zh) * | 2019-11-19 | 2020-03-31 | 中国建设银行股份有限公司 | 一种可配置式算法实现方法及装置 |
CN112464077A (zh) * | 2019-09-06 | 2021-03-09 | 百度在线网络技术(北京)有限公司 | 终端控制方法、装置及终端 |
CN113407180A (zh) * | 2021-05-28 | 2021-09-17 | 济南浪潮数据技术有限公司 | 一种配置页面生成方法、系统、设备以及介质 |
CN113722014A (zh) * | 2021-09-10 | 2021-11-30 | 拉卡拉支付股份有限公司 | 应用程序配置方法、装置、设备、存储介质及程序产品 |
WO2022002247A1 (zh) * | 2020-07-03 | 2022-01-06 | 中兴通讯股份有限公司 | 资源调度方法、电子设备及存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812343B2 (en) * | 2017-08-03 | 2020-10-20 | Microsoft Technology Licensing, Llc | Bot network orchestration to provide enriched service request responses |
US20200117501A1 (en) * | 2018-10-15 | 2020-04-16 | Ca, Inc. | Customizing jvm native services |
US10891514B2 (en) * | 2018-12-17 | 2021-01-12 | Microsoft Technology Licensing, Llc | Image classification pipeline |
CN109684471B (zh) * | 2018-12-29 | 2023-08-25 | 上海晏鼠计算机技术股份有限公司 | 一种ai智能文本处理系统在新零售领域的应用方法 |
US11507677B2 (en) | 2019-02-15 | 2022-11-22 | Microsoft Technology Licensing, Llc | Image classification modeling while maintaining data privacy compliance |
US20210357596A1 (en) * | 2020-05-15 | 2021-11-18 | Microsoft Technology Licensing, Llc | Intelligent localization of resource data |
CN111753145A (zh) * | 2020-06-10 | 2020-10-09 | 西北工业大学 | 一种基于时序模式的移动应用使用预测方法 |
CN113806103B (zh) * | 2021-07-08 | 2022-08-26 | 荣耀终端有限公司 | 一种数据处理方法、电子设备、芯片系统及存储介质 |
CN113660307B (zh) * | 2021-07-19 | 2024-01-19 | 中国电子科技集团公司第十五研究所 | 一种算法综合集成服务系统 |
CN113590336A (zh) * | 2021-08-11 | 2021-11-02 | 上海仁童电子科技有限公司 | 边缘计算设备的算法管理方法及装置 |
CN114237752B (zh) * | 2021-12-20 | 2023-09-26 | 百度在线网络技术(北京)有限公司 | 推送页面的显示方法、装置、电子设备和存储介质 |
CN114995794A (zh) * | 2022-04-24 | 2022-09-02 | 深圳感臻智能股份有限公司 | 调试音效的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297857A (zh) * | 2013-05-06 | 2013-09-11 | 四川长虹电器股份有限公司 | 电视屏幕多应用显示的方法 |
CN105302619A (zh) * | 2015-12-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置、电子设备 |
CN105335398A (zh) * | 2014-07-18 | 2016-02-17 | 华为技术有限公司 | 一种服务推荐方法及终端 |
CN106250014A (zh) * | 2016-07-22 | 2016-12-21 | 广东欧珀移动通信有限公司 | 应用程序的推荐方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799635B2 (en) * | 2012-01-26 | 2014-08-05 | International Business Machines Corporation | Intelligent application recommendation feature |
CN103577403A (zh) * | 2012-07-19 | 2014-02-12 | 镇江雅迅软件有限责任公司 | 基于云计算技术的推荐系统实现方法 |
CN104142960A (zh) * | 2013-05-10 | 2014-11-12 | 上海普华诚信信息技术有限公司 | 互联网数据分析系统 |
CN103870126A (zh) * | 2014-03-27 | 2014-06-18 | 上海斐讯数据通信技术有限公司 | 一种智能推荐应用程序的方法及移动终端 |
KR102270953B1 (ko) * | 2014-08-22 | 2021-07-01 | 삼성전자주식회사 | 전자 장치에서 화면을 표시하는 방법 및 이를 위한 전자 장치 |
CN104462373A (zh) * | 2014-12-09 | 2015-03-25 | 南京大学 | 一种基于多Agent的个性化推荐引擎实现方法 |
US20160292769A1 (en) * | 2015-03-31 | 2016-10-06 | Stitch Fix, Inc. | Systems and methods that employ adaptive machine learning to provide recommendations |
-
2017
- 2017-07-25 US US16/474,032 patent/US20190340521A1/en not_active Abandoned
- 2017-07-25 WO PCT/CN2017/094373 patent/WO2018120813A1/zh unknown
- 2017-07-25 CN CN201780011392.3A patent/CN108701149A/zh active Pending
- 2017-07-25 EP EP17885725.6A patent/EP3553676A4/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297857A (zh) * | 2013-05-06 | 2013-09-11 | 四川长虹电器股份有限公司 | 电视屏幕多应用显示的方法 |
CN105335398A (zh) * | 2014-07-18 | 2016-02-17 | 华为技术有限公司 | 一种服务推荐方法及终端 |
CN105302619A (zh) * | 2015-12-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置、电子设备 |
CN106250014A (zh) * | 2016-07-22 | 2016-12-21 | 广东欧珀移动通信有限公司 | 应用程序的推荐方法及装置 |
Non-Patent Citations (1)
Title |
---|
钱海忠 等: "《自动制图综合及其过程控制的智能化研究》", 30 September 2012 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022235A (zh) * | 2019-04-18 | 2019-07-16 | 维沃移动通信有限公司 | 信息处理方法、终端和服务器 |
CN112464077A (zh) * | 2019-09-06 | 2021-03-09 | 百度在线网络技术(北京)有限公司 | 终端控制方法、装置及终端 |
CN110941791A (zh) * | 2019-11-19 | 2020-03-31 | 中国建设银行股份有限公司 | 一种可配置式算法实现方法及装置 |
WO2022002247A1 (zh) * | 2020-07-03 | 2022-01-06 | 中兴通讯股份有限公司 | 资源调度方法、电子设备及存储介质 |
CN113407180A (zh) * | 2021-05-28 | 2021-09-17 | 济南浪潮数据技术有限公司 | 一种配置页面生成方法、系统、设备以及介质 |
CN113407180B (zh) * | 2021-05-28 | 2022-11-01 | 济南浪潮数据技术有限公司 | 一种配置页面生成方法、系统、设备以及介质 |
CN113722014A (zh) * | 2021-09-10 | 2021-11-30 | 拉卡拉支付股份有限公司 | 应用程序配置方法、装置、设备、存储介质及程序产品 |
CN113722014B (zh) * | 2021-09-10 | 2024-04-26 | 拉卡拉支付股份有限公司 | 应用程序配置方法、装置、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
EP3553676A4 (en) | 2019-11-06 |
EP3553676A1 (en) | 2019-10-16 |
US20190340521A1 (en) | 2019-11-07 |
WO2018120813A1 (zh) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701149A (zh) | 一种智能推荐方法和终端 | |
CN107678799B (zh) | 应用程序管控方法、装置、存储介质及电子设备 | |
KR101981423B1 (ko) | 터치 감응형 디바이스 상의 관련 콘텐츠를 사전행동적으로 식별 및 표면화하기 위한 시스템 및 방법 | |
EP3680761B1 (en) | Notification display method and terminal | |
US11537450B2 (en) | Method, apparatus, and mobile terminal for associating notification messages | |
US9241242B2 (en) | Information recommendation method and apparatus | |
CN104246748B (zh) | 用于确定情境的系统和方法 | |
CN108228270A (zh) | 启动资源加载方法及装置 | |
CN108073605A (zh) | 一种业务数据的加载、推送、交互信息的生成方法和装置 | |
CN108989384A (zh) | 一种数据处理的方法、多云管理系统以及相关设备 | |
CN109556621A (zh) | 一种路线规划的方法及相关设备 | |
CN104866505A (zh) | 一种应用的推荐方法及装置 | |
CN105389325A (zh) | 内容搜索方法和实施内容搜索方法的电子装置 | |
CN109992400A (zh) | 资源分配方法、装置、移动终端及计算机可读存储介质 | |
CN110782289B (zh) | 一种基于用户画像的业务推荐方法和系统 | |
CN112685578B (zh) | 一种多媒体信息内容提供方法及装置 | |
CN109983458A (zh) | 一种推荐方法及终端 | |
CN110309339A (zh) | 图片标签生成方法及装置、终端及存储介质 | |
CN110196833A (zh) | 应用程序的搜索方法、装置、终端及存储介质 | |
CN108595481A (zh) | 一种通知消息显示方法及终端设备 | |
CN111709843B (zh) | 一种客户画像的生成方法、装置及电子设备 | |
CN114998068B (zh) | 学习计划的生成方法及电子设备 | |
CN110909221A (zh) | 一种资源展示方法和相关装置 | |
CN114430504B (zh) | 一种媒体内容的推荐方法以及相关装置 | |
CN116450808B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181023 |