用于推荐服务的方法和装置与流程
未命名
09-13
阅读:44
评论:0

1.本技术涉及终端技术领域,尤其涉及一种用于推荐服务的方法和装置。
背景技术:
2.随着终端设备中各种应用的推广,终端设备成为用户生活中必不可少的使用设备。用户可以通过终端设备使用支付、导航等服务。然而,目前用户在使用终端设备中各种服务时,通常需要先点击进入应用,再点击进入应用内部的不同的页面,操作流程较复杂。
3.为了简化用户使用终端设备中的服务功能的操作流程,可以通过人工智能(artificial intelligence,ai)算法学习用户使用服务功能的规律,对用户的使用意图进行预测。当终端设备通过ai算法预测出用户有使用终端设备中的服务功能的意图时,终端设备可以主动向用户推荐该服务。
4.然而,ai算法的使用会导致终端设备的功耗较大,目前亟需提供一种方法,能够在为用户推荐服务的同时,降低终端设备的功耗。
技术实现要素:
5.本技术提供一种用于推荐服务的方法和装置,有利于降低终端设备的功耗,从而提高用户体验。
6.第一方面,提供了一种用于推荐服务的方法,该方法包括:采集第一历史时间段内目标用户对目标服务的多条使用数据,所述多条使用数据包括多个时间点;确定所述多个时间点中每两个时间点之间的差值;基于所述差值,对所述多条使用数据进行聚类,得到至少一簇使用数据,所述至少一簇使用数据中的每簇使用数据包括多个目标时间点;基于所述至少一簇使用数据,确定至少一个目标时间段,以便终端设备在所述至少一个目标时间段内进行所述目标服务的服务推荐算法的条件判断。
7.本技术提供的用于推荐服务的方法,通过对多条使用数据进行聚类,得到至少一个目标时间段,该至少一个目标时间段用于终端设备进行所述目标服务的服务推荐算法的条件判断,当目标用户所使用的终端设备的当前时间属于目标时间段时,说明此时目标用户可能具有使用目标服务的意图,终端设备可以调用服务推荐算法进行条件判断。当目标用户所使用的终端设备的当前时间不属于目标时间段时,说明此时目标用户不具有使用目标服务的意图,终端设备无需调用服务推荐算法,这样,在简化用户使用终端设备中的服务的操作流程的同时,减小终端设备的功耗,提高了用户体验。
8.应理解,目标用户为探究对象,可以为使用终端设备中任意服务的用户。目标服务为所要探究的服务,例如,支付、导航、音乐等。多条使用数据是指目标用户在第一历史时间段内使用目标服务时产生的多条数据信息,多条使用数据中的每条使用数据包括一个时间点。
9.在第一方面的某些实现方式中,所述基于所述至少一簇使用数据,确定至少一个目标时间段,包括:分别基于所述每簇使用数据所包括的多个目标时间点,确定至少一个时
间段;分别根据所述第一历史时间段对应的天数信息和所述至少一个时间段中每个时间段包括的目标时间点的个数,确定所述每个时间段的置信度;确定所述每个时间段的置信度是否大于或等于第一预设阈值;在所述至少一个时间段中存在第一时间段的置信度大于或等于所述第一预设阈值的情况下,将所述第一时间段确定为所述目标时间段。
10.应理解,上述天数信息指第一历史时间段所指的时间段包括的天数。例如,当第一历史时间段为2021/04/06 08:00:00至2021/04/10 08:00:00时,天数信息可以为4天。一个时间段对应一个置信度,一个时间段的置信度用于表示该时间段的可靠度,置信度越高,代表该时间段越可靠。上述第一预设阈值为预设的大于0的数。当一个时间段的置信度大于或等于第一预设阈值时,说明该时间段的可靠度较高,可以作为目标时间段,即可以用于终端设备进行目标服务的服务推荐算法的条件判断。
11.在第一方面的某些实现方式中,所述至少一个时间段中的第二时间段的置信度通过以下公式确定:
[0012][0013]
其中,z为所述置信度,q为第一历史时间段对应的天数信息对应的天数值,yi为将所述天数信息划分为n段天数信息中的第i段天数信息对应的天数值,y1+y2+...+yn=q,xi为所述第i段天数信息在所述第二时间段内所包括的时间点的个数,i∈{1,2,...n},ωi为所述第i段天数信息在所述第二时间段内所包括的时间点的权重,ω1+ω2+...+ωn=1。
[0014]
应理解,第二时间段为至少一个时间段中的任意一个时间段。n和ωi为预设值。其中ωi可以根据xi的大小确定,xi越大,则代表第i段天数信息内在第二时间段的时间点的个数越多,则ωi可以越大。
[0015]
在第一方面的某些实现方式中,所述分别基于所述每簇使用数据所包括的多个目标时间点,确定至少一个时间段,包括:基于所述至少一簇使用数据中的每簇使用数据包括的多个目标时间点中的最大值和最小值,确定所述至少一个时间段。
[0016]
应理解,若聚类后得到多簇使用数据,则基于该多簇使用数据得到的时间段的个数为多个,且与该多簇使用数据的数量相等,即一簇使用数据可以得到一个时间段。
[0017]
在第一方面的某些实现方式中,所述多条使用数据还包括多个地理坐标,所述每簇使用数据还包括多个目标地理坐标;所述方法还包括:计算所述多个地理坐标中每两个地理坐标之间的距离;根据所述距离和所述差值,确定所述多条使用数据中每两条使用数据之间的聚类度量值;所述基于所述差值,对所述多条使用数据进行聚类,包括:基于所述聚类度量值,对所述多条使用数据进行聚类,得到所述至少一簇使用数据;所述基于所述至少一簇使用数据,确定至少一个目标时间段,包括:基于所述至少一簇使用数据,确定所述至少一个目标时间段和至少一个地理区域,以便终端设备在所述至少一个目标时间段内和所述至少一个地理区域内进行所述目标服务的服务推荐算法的条件判断。
[0018]
应理解,地理坐标为二维坐标,目标用户使用目标服务时的地理位置坐标(x,y),其中x为经度,y为纬度。多条使用数据中的每条使用数据分别包括一个时间点和一个地理坐标。
[0019]
通过将时间信息和地理信息结合,使得数据处理设备能够更准确的确定目标用户使用目标服务的意图,从而减少终端设备的无效判断次数,进一步减小了终端设备的功耗,
提高了用户体验。
[0020]
在第一方面的某些实现方式中,所述根据所述距离和所述差值,确定所述多条使用数据中每两条使用数据之间的聚类度量值,包括:获取所述每两个地理坐标之间的距离中的第一最大值和第一最小值;根据所述第一最大值、所述第一最小值以及所述每两个地理坐标之间的距离,确定所述每两个地理坐标之间的去量纲距离;获取所述每两个时间点之间的差值中的第二最大值和第二最小值;根据所述第二最大值、所述第二最小值以及所述每两个时间点之间的差值,确定所述每两个时间点之间的去量纲差值;根据所述每两个地理坐标之间的去量纲距离和所述每两个时间点之间的去量纲差值,确定所述每两条使用数据之间的聚类度量值。
[0021]
应理解,去量纲距离为将每两个地理坐标之间的距离通过去量纲化得到的没有单位的数值。去量纲差值为将每两个时间点之间的差值经过去量纲化得到的没有单位的数值。
[0022]
在第一方面的某些实现方式中,所述每两个地理坐标之间的去量纲距离通过以下公式确定:其中,gr为所述去量纲距离,gi为所述每两个地理坐标之间的距离,g
max
为所述第一最大值,g
min
为所述第一最小值;所述每两个时间点之间的去量纲差值通过以下公式确定:其中,tr为所述去量纲差值,ti为所述每两个时间点之间的差值,t
max
为所述第二最大值,t
min
为所述第二最小值。
[0023]
应理解,由于每两个时间点之间的差值的单位和每两个地理坐标之间的距离的单位不同,因此根据上述差值和距离计算得到聚类度量值时,需要先对上述差值和距离去量纲化。每两条使用数据之间的聚类度量值是根据该两条使用数据的时间点之间的差值和该两条使用数据的地理坐标之间的距离计算得到的。
[0024]
在第一方面的某些实现方式中,所述基于所述至少一簇使用数据,确定所述至少一个地理区域,包括:根据所述至少一簇使用数据中每簇使用数据包括的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度,确定所述至少一个地理区域。
[0025]
应理解,终端设备可以根据每簇使用数据的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度确定一个地理区域,或者以多个目标地理坐标结合行政区域,例如街道区域、商场区域等,确定一个地理区域。
[0026]
在第一方面的某些实现方式中,所述确定所述多个时间点中每两个时间点之间的差值,包括:根据所述多个时间点中包含的小时、分钟和秒的信息,将所述多个时间点中的每个时间点转换为秒级别数值;将所述每两个时间点对应的秒级别数值之间的差值,确定为所述每两个时间点之间的差值。
[0027]
应理解,小时、分钟和秒的信息为时间点中包含的时刻信息。例如,当时间点为2021/04/08 09:01:00时,小时信息为09时,分钟信息为01分,秒信息为00秒。秒级别数值为将时间点中包含小时、分钟和秒的信息分别转换为秒后得到的数值。
[0028]
第二方面,提供了一种用于推荐服务的装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
[0029]
第三方面,本技术提供了又一种用于推荐服务的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
[0030]
在一种实现方式中,该装置为终端设备。当该装置为终端设备时,上述通信接口可以是收发器,或,输入/输出接口。
[0031]
在另一种实现方式中,该装置为配置于终端设备中的芯片。当该装置为配置于终端设备中的芯片时,上述通信接口可以是输入/输出接口。
[0032]
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行上述第一方面中任一种可能实现方式中的方法。
[0033]
在具体实现流程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
[0034]
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
[0035]
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
[0036]
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
[0037]
在具体实现流程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型以及存储器与处理器的设置方式不做限定。
[0038]
应理解,相关的数据交互流程例如发送指示信息可以为从处理器输出指示信息的流程,接收能力信息可以为处理器接收输入能力信息的流程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
[0039]
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
[0040]
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
[0041]
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方
面中任一种可能实现方式中的方法。
附图说明
[0042]
图1为本技术实施例提供的终端设备的结构示意图;
[0043]
图2为本技术实施例的终端设备的软件结构框图;
[0044]
图3为本技术实施例提供的用于推荐服务的方法的流程示意图;
[0045]
图4为本技术实施例提供的聚类算法的模型示意图;
[0046]
图5为本技术实施例提供的另一种用于推荐服务的方法的流程示意图;
[0047]
图6为本技术实施例提供的聚类算法的过程示意图一;
[0048]
图7为本技术实施例提供的聚类算法的过程示意图二;
[0049]
图8为本技术实施例提供的用于推荐服务的装置的结构示意图;
[0050]
图9为本技术实施例提供的另一种用于推荐服务的装置的结构示意图。
具体实施方式
[0051]
下面将结合附图,对本技术中的技术方案进行描述。
[0052]
在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一数值和第二数值仅仅是为了区分不同的数值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0053]
需要说明的是,本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
[0054]
本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a
‑‑
c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0055]
本技术实施例中的终端设备也可以称为:用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
[0056]
终端设备可以是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例包括:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输
安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字助理(personal digital assistant,pda)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5g网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,plmn)中的终端设备等,本技术对此并不限定。
[0057]
作为示例而非限定,在本技术中,终端设备可以是物联网(internet of things,iot)系统中的终端设备。物联网是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。示例性地,本技术实施例中的终端设备可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备是可以直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更可以通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
[0058]
作为示例而非限定,在本技术实施例中,终端设备还可以是机器类型通信(machine type communication,mtc)中的终端设备。此外,终端设备还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元等,车辆通过内置的所述车载模块、车载模组、车载部件、车载芯片或者车载单元等可以实施本技术提供的方法。因此,本技术实施例也可以应用于车联网,例如车辆外联(vehicle to everything,v2x)、车间通信长期演进技术(long term evolution-vehicle,lte-v)、车到车(vehicle-to-vehicle,v2v)技术等。
[0059]
为了更好的理解本技术实施例中的终端设备,下面结合图1对本技术实施例的终端设备的硬件结构进行详细说明。
[0060]
图1为本技术实施例提供的终端设备100的结构示意图。如图1所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
[0061]
可以理解的是,本技术实施例示意的结构并不构成对终端设备100的具体限定。在本技术另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现终端设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现终端设备100的显示功能。
[0071]
gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
[0072]
usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如ar设备等。
[0073]
可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本技术另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0074]
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
[0075]
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
[0076]
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0077]
天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0078]
移动通信模块150可以提供应用在终端设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0079]
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解
调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0080]
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0081]
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
[0082]
终端设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0083]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端设备100可以包括1个或n个显示屏194,n为大于1的正整数。
[0084]
终端设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
[0085]
isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以
对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
[0086]
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,终端设备100可以包括1个或n个摄像头193,n为大于1的正整数。
[0087]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0088]
视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
[0089]
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0090]
外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0091]
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用以及数据处理。
[0092]
终端设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0093]
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
[0094]
扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170a收听音乐,或收听免提通话。
[0095]
受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
[0096]
麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话
或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。终端设备100可以设置至少一个麦克风170c。在另一些实施例中,终端设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
[0097]
耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
[0098]
压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。终端设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端设备100根据压力传感器180a检测所述触摸操作强度。终端设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0099]
陀螺仪传感器180b可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性地,当按下快门,陀螺仪传感器180b检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
[0100]
气压传感器180c用于测量气压。在一些实施例中,终端设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
[0101]
磁传感器180d包括霍尔传感器。终端设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当终端设备100是翻盖机时,终端设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
[0102]
加速度传感器180e可检测终端设备100在各个方向上(一般为三轴)加速度的大小。当终端设备100静止时可检测出重力的大小及方向。还可以用于识别终端设备姿态,应用于横竖屏切换,计步器等应用。
[0103]
距离传感器180f,用于测量距离。终端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备100可以利用距离传感器180f测距以实现快速对焦。
[0104]
接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端设备100通过发光二极管向外发射红外光。终端设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端设备100附近有物体。当检测到不充分的反射光时,终端设备100可以确定终端设备
100附近没有物体。终端设备100可以利用接近光传感器180g检测用户手持终端设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
[0105]
环境光传感器180l用于感知环境光亮度。终端设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测终端设备100是否在口袋里,以防误触。
[0106]
指纹传感器180h用于采集指纹。终端设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0107]
温度传感器180j用于检测温度。在一些实施例中,终端设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,终端设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端设备100对电池142加热,以避免低温导致终端设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
[0108]
触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于终端设备100的表面,与显示屏194所处的位置不同。
[0109]
骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
[0110]
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
[0111]
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0112]
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0113]
sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195
也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。终端设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在终端设备100中,不能和终端设备100分离。终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明终端设备100的软件结构。
[0114]
图2为本技术实施例的终端设备100的软件结构框图。
[0115]
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
[0116]
应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
[0117]
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0118]
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0119]
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0120]
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0121]
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0122]
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0123]
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
[0124]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0125]
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0126]
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0127]
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库
(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
[0128]
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
[0129]
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
[0130]
三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
[0131]
2d图形引擎是2d绘图的绘图引擎。
[0132]
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,屏幕驱动、图像处理器(graphics processing unit,gpu)驱动、摄像头、以及传感器驱动等,本技术实施例对此不做限制。例如,屏幕驱动可以驱动屏幕亮屏或息屏。
[0133]
终端设备中可以安装并运行多种应用软件,例如日历、图库、音乐、天气等。用户可以根据不同的需求选择使用不同的应用软件。具体而言,用户使用终端设备中的服务功能时,例如支付服务、导航服务等,通常需要先打开可以使用该服务的应用软件,然后再依次执行各种操作流程。例如,当用户需要向商家支付货币时,用户可以选择具有支付功能的应用软件,打开该应用软件,扫描商家的二维码,此时用户的终端设备上会显示支付界面,然后用户可以输入金额完成支付。又例如,当用户需要使用导航功能时,用户可以打开地图软件,在该地图软件中的相应位置输入目标地址,然后点击导航功能进行导航。
[0134]
由于用户在使用终端设备中的服务时,操作流程较为复杂。因此,为了简化该操作流程,终端设备可以通过ai算法学习用户在使用终端设备中的服务功能时的规律。该ai算法也可以称为服务推荐算法。终端设备可以获取用户的行为信息,例如位置信息、时间信息等,根据该行为信息确定用户是否具有使用终端设备中服务的意图。当ai算法预测用户有使用终端设备中的服务的意图时,终端设备可以主动向用户推荐该服务,简化用户的操作流程,提高用户体验。例如,用户每天中午使用支付服务功能之前,会离开工位,从20楼到1楼餐厅。当ai算法检测到用户的地理位置从工位移动至餐厅时,终端设备可以向该用户推荐支付服务,示例性地,终端设备可以在界面上显示支付通知消息,以便用户点击支付。
[0135]
目前,终端设备通常每隔一定周期则通过ai算法预测用户使用服务的意图,例如每隔30秒预测一次用户使用服务的意图。然而,目前的预测方法使得终端设备的功耗较大。
[0136]
为了解决上述问题,本技术提供一种用于推荐服务的方法,通过对目标用户使用终端设备中目标服务的多条使用数据进行分析处理,确定目标用户使用该目标服务的时间段,将该时间段作为触发条件。在当前时间属于上述时间段的情况下触发终端设备调用ai算法,这样,在简化用户使用终端设备中的服务的操作流程的同时,有利于降低终端设备的功耗,从而提高用户体验。
[0137]
下面结合图3至图6对本技术实施例的用于推荐服务的方法进行详细介绍,该方法可以由具有数据处理功能的设备执行,例如服务器、网络设备、终端设备等,本技术对此不做具体限制。下面将本技术实施例的执行主体统称为“数据处理设备”,对上述的方法进行详细说明。
[0138]
图3为本技术实施例提供的用于推荐服务的方法300的流程示意图。该方法300所涉及的终端设备的硬件结构可以如图1所示,软件结构可以如图2所示。该方法300包括以下步骤:
[0139]
s301、采集第一历史时间段内目标用户对目标服务的多条使用数据,多条使用数据包括多个时间点。
[0140]
应理解,上述第一历史时间段为任意一段或多段过去的时间段,例如,2021/04/0608:00:00至2021/05/06 08:00:00,或者2021/04/06 08:00:00至2021/04/10 08:00:00和2021/04/12 08:00:00至2021/04/17 08:00:00该两个时间段的总和等。目标用户为探究对象,可以为使用终端设备中任意服务的用户。目标服务为所要探究的服务,例如,支付、导航、音乐等。多条使用数据是指目标用户在第一历史时间段内使用目标服务时产生的多条数据信息,多条使用数据中的每条使用数据包括一个时间点。
[0141]
示例性地,针对用户a,目标服务为支付服务,第一历史时间段为2021/04/06 08:00:00至2021/05/06 08:00:00,在这段时间内,用户a在2021/04/07 08:00:03使用了一次支付服务,在2021/04/08 08:01:00使用了一次支付服务,则多条使用数据为两条使用数据,其中一条使用数据包括时间点2021/04/07 08:00:03,另一条使用数据包括时间点2021/04/0808:01:00。
[0142]
s302、确定上述多个时间点中每两个时间点之间的差值。
[0143]
上述每两个时间点指多个时间点中每个时间点与其余时间点的两两组合。假设多个时间点的个数为a,则每两个时间点的组合共存在a*(a-1)/2种,那么上述差值的个数即为a*(a-1)/2。示例性地,a=3,多个时间点分别为点1、点2以及点3,则每两个时间点包括点1和点2、点2和点3、点1和点3三种组合。
[0144]
可选地,数据处理设备可以忽略时间点中的日期信息,计算两个时间点中包含的小时、分钟或秒之间的差值。示例性地,上述s302还可以通过如下方式实现:根据多个时间点中包含的小时、分钟和秒的信息,将多个时间点中的每个时间点转换为秒级别数值;将每两个时间点对应的秒级别数值之间的差值,确定为每两个时间点之间的差值。
[0145]
上述小时、分钟和秒的信息为时间点中包含的时刻信息。例如,当时间点为2021/04/0801:02:03时,小时信息为01时,分钟信息为01分,秒信息为03秒。秒级别数值为将时间点中包含小时、分钟和秒的信息分别转换为秒后得到的数值,其中1小时为3600秒,1分钟为60秒。通过以下方式计算可以得到秒级别数值:1*3600+2*60+3=3723,即上述时间点2021/04/08 01:02:03对应的秒级别数值为3723。在将时间点信息转换为秒级别数值之后,时间点之间的差值即为这两个时间点对应的秒级别数值之间的差值。例如,时间点1和时间点2分别为2021/04/08 01:02:03和2021/04/08 01:03:03,则时间点1和时间点2对应的秒级别数值为3723和3783,该两个时间点之间的差值为60。
[0146]
在其他可能的实现方式中,该差值还可以为每两个时间点之间的小时级别的差值,在上述示例中,两个时间点为2021/04/08 01:02:03和2021/04/08 01:03:03,该两个时间点之间的差值为0。在其他可能的实现方式中,该差值还可以为每两个时间点之间的分钟级别的差值,在上述示例中,两个时间点为2021/04/08 01:02:03和2021/04/08 01:03:03,该两个时间点之间的差值为1。
[0147]
s303、基于差值,对多条使用数据进行聚类,得到至少一簇使用数据,至少一簇使用数据中的每簇使用数据包括多个目标时间点。
[0148]
本技术实施例的聚类可以通过聚类算法实现,聚类算法,或者称为群分析,是研究分类问题的一种统计分析方法。通过聚类,可以将多条使用数据中比较离散的使用数据摒
弃,得到至少一簇使用数据。其中,摒弃的使用数据可以称为噪声点,噪声点与多条使用数据的条数之间的比值称为噪声比例,例如,噪声比例可以为5%。噪声比例可以通过预设聚类算法中的模型参数调整。模型参数可以是预设的。
[0149]
图4为本技术实施例提供的聚类算法的模型示意图,如图4所示,假设上述多条使用数据分别为点1至点10,通过聚类后可以得到两簇使用数据,一簇使用数据为点1至点6,另一簇使用数据为点8、点9以及点10,噪声点为点7。上述模型参数包括如图4中所示的圆的半径,以及每个圆中包括的点的个数的最小值。
[0150]
应理解,每簇使用数据中的每条使用数据包括一个时间点,该时间点称为目标时间点。在图4中,对于一簇使用数据点1至点6,该簇使用数据包括的目标时间点为点1至点6对应的每个使用数据所包括的时间点。对于另一簇使用数据点8、点9以及点10,其对应的目标时间点为点8、点9以及点10对应的每个使用数据所包括的时间点。
[0151]
s304、基于至少一簇使用数据,确定至少一个目标时间段,以便终端设备在至少一个目标时间段内进行目标服务的服务推荐算法的条件判断。
[0152]
具体而言,上述至少一簇使用数据中的每簇使用数据包括多个目标时间点,根据上述的多个目标时间点可以得到至少一个目标时间段,该目标时间段也可以称为“时间围栏”或者其他叫法,本技术实施例对此不作限定。终端设备可以根据该至少一个目标时间段进行目标服务的服务推荐算法的条件判断。在一种可能的实现方式中,若当前时间属于目标时间段,则终端设备调用目标服务的服务推荐算法进行进一步判断;否则,终端设备不调用目标服务的服务推荐算法。例如,目标时间段为08:00:00至09:00:00,则若当前时间为08:00:01,终端设备调用目标服务的服务推荐算法,判断是否向目标用户推荐目标服务。
[0153]
本技术实施例提供的用于推荐服务的方法,通过对目标用户使用目标服务的多条使用数据进行聚类,得到至少一个目标时间段,终端设备可以基于该至少一个目标时间段进行目标服务的服务推荐算法的条件判断。当目标用户所使用的终端设备的当前时间属于目标时间段时,说明此时目标用户可能具有使用目标服务的意图,终端设备可以调用服务推荐算法进行条件判断。当目标用户所使用的终端设备的当前时间不属于目标时间段时,说明此时目标用户不具有使用目标服务的意图,终端设备无需调用服务推荐算法,这样,在简化用户使用终端设备中的服务的操作流程的同时,减小终端设备的功耗,提高了用户体验感。
[0154]
作为一个可选的实施例,上述s304可以通过如下方式实现:分别基于每簇使用数据所包括的多个目标时间点,确定至少一个时间段;分别根据第一历史时间段对应的天数信息和至少一个时间段中每个时间段包括的目标时间点的个数,确定每个时间段的置信度;确定每个时间段的置信度是否大于或等于第一预设阈值;在至少一个时间段中存在第一时间段的置信度大于或等于第一预设阈值的情况下,将第一时间段确定为目标时间段。
[0155]
具体而言,数据处理设备可以基于至少一簇使用数据中的每簇使用数据所包括的多个目标时间点中的最大值和最小值,确定至少一个时间段。示例性地,假设一簇使用数据所包括的多个目标时间点中的最大值为2021/04/30 08:50:00,最小值为2021/04/01 08:01:00,则该簇使用数据对应的时间段为08:01:00至08:50:00。应理解,若聚类后得到多簇使用数据,则基于该多簇使用数据得到的时间段的个数为多个,且与该多簇使用数据的数量相等,即一簇使用数据可以得到一个时间段。
[0156]
上述天数信息指第一历史时间段所指的时间段包括的天数。例如,当第一历史时间段为2021/04/06 08:00:00至2021/04/10 08:00:00时,天数信息可以为4天。一个时间段对应一个置信度,一个时间段的置信度用于表示该时间段的可靠度,置信度越高,代表该时间段越可靠。上述第一预设阈值为预设的大于0的数。当一个时间段的置信度大于或等于第一预设阈值时,说明该时间段的可靠度较高,可以作为目标时间段,即可以用于终端设备进行目标服务的服务推荐算法的条件判断。
[0157]
通过计算置信度,数据处理设备可以采用置信度衡量上述至少一个时间段中每个时间段的可靠度,从而将置信度大于或等于第一预设阈值的目标时间段用于终端设备进行目标服务的服务推荐算法的条件判断,使得数据处理设备对目标用户使用目标服务的意图的判断更加准确,有助于进一步减小终端设备的功耗,提高用户体验。
[0158]
在时间段的置信度小于第一预设阈值的情况下,说明该时间段的可靠度较低,该时间段不能用于终端设备进行目标服务的服务推荐算法的条件判断。数据处理设备可以计算上述至少一个时间段中置信度小于第一预设阈值的时间段所占的比例,根据该比例,数据处理设备可以判断是否要重新选择历史时间段进行聚类,获取新的时间段。
[0159]
在一种可能的实施方式中,当上述至少一个时间段中置信度小于第一预设阈值的时间段的比例大于第二预设阈值时,数据处理设备可以采集第二历史时间段内目标用户对目标服务的多条使用数据,并根据该多条使用数据聚类得到新的至少一个时间段。数据处理设备可以计算该新的至少一个时间段中每个时间段的置信度,将置信度大于或者等于第一预设阈值的时间段作为目标时间段,用于终端设备进行目标服务的服务推荐算法的条件判断。
[0160]
应理解,上述第二历史时间段包含的天数比第一历史时间段的包含的天数多,和/或,上述第二历史时间段比第一历史时间段更接近当前时间。
[0161]
示例性地,假设上述至少一个时间段包括时间段1、时间段2以及时间段3,对应的置信度分别为12、13以及15,且第一预设阈值为14,第二预设阈值为50%,则该三个时间段中时间段1和时间段2的置信度小于第一预设阈值。上述该三个时间段中置信度小于第一预设阈值的时间段的比例为2/3,大于第二预设阈值。此时,数据处理设备可以重新采集第二历史时间段内目标用户使用目标服务的多条使用数据,并根据该多条使用数据得到新的至少一个时间段。例如,假设第一历史时间段为2021/04/06 08:00:00至2021/04/13 08:00:00,数据处理设备可以采集2021/04/06 08:00:00至2021/04/30 08:00:00对应的第二历史时间段内目标用户使用目标服务的多条使用数据,得到新的至少一个时间段。或者,假设第一历史时间段为2021/04/06 08:00:00至2021/04/30 08:00:00,该多条使用数据对于目标用户当前使用目标服务的时间的参考价值可能较小。因此,数据处理设备可以采集日期更近的第二历史时间段内目标用户使用目标服务的多条使用数据,例如,第二历史时间段可以为2021/08/06 08:00:00至2021/09/30 08:00:00,并根据该多条使用数据得到新的至少一个时间段。
[0162]
在一种可能的实施方式中,数据处理设备可以对上述基于至少一簇使用数据得到的至少一个时间段中的每个时间段再进行分段,基于分段后的时间段计算置信度。其中,至少一个时间段中的第二时间段的置信度通过以下公式确定:
[0163][0164]
其中,z为置信度,q为第一历史时间段对应的天数信息对应的天数值,yi为将天数信息划分为n段天数信息中的第i段天数信息对应的天数值,y1+y2+...+yn=q,xi为第i段天数信息在第二时间段内所包括的时间点的个数,i∈{1,2,
…
n},ωi为第i段天数信息在第二时间段内所包括的时间点的权重,ω1+ω2+
…
+ωn=1。
[0165]
应理解,第二时间段为至少一个时间段中的任意一个时间段。n和ωi为预设值。其中ωi可以根据xi的大小确定,xi越大,则代表第i段天数信息内在第二时间段的时间点的个数越多,则ωi可以越大。
[0166]
在一个具体的示例中,假设第一历史时间段为2021/04/06 08:00:00至2021/04/13 08:00:00,q为7。若n=3,即将第一历史时间段划分为3段,其中,第一段为2021/04/06 08:00:00至2021/04/08 08:00:00,第二段为2021/04/08 08:00:00至2021/04/10 08:00:00,第三段为2021/04/10 08:00:00至2021/04/13 08:00:00。则相应地,y1为2,y2为2,y3为3。假设第二时间段为12:00:00-13:00:00,x1为在2021/04/06 08:00:00至2021/04/8 08:00:00中,每天12:00:00-13:00:00内包含的时间点个数之和,x2为在2021/04/08 08:00:00至2021/04/10 08:00:00中,每天12:00:00-13:00:00内包含的时间点个数之和,x3为在2021/04/10 08:00:00至2021/04/13 08:00:00中,每天12:00:00-13:00:00内包含的时间点个数之和。假设x1为6,x2为10,x3为15,ω1为0.2,ω2为0.3,ω3为0.5。则第二时间段的置信度z=(6/2*0.2+10/2*0.3+15/3*0.5)*7=32.2。
[0167]
上述用于推荐服务的方法利用了第一历史时间段内使用数据中的时间信息(即时间点)进行聚类,在另一种可能的实现方式中,还可以利用第一历史时间段内使用数据中的时间信息(即时间点)和地理信息(例如地理坐标)进行聚类,下面对这一实现方式进行详细介绍。
[0168]
图5为本技术实施例提供的另一种用于推荐服务的方法500的流程示意图。该方法500所涉及的终端设备的硬件结构可以如图1所示,该终端设备的软件结构可以如图2所示。该方法500包括下列步骤:
[0169]
s501、采集第一历史时间段内目标用户对目标服务的多条使用数据,多条使用数据包括多个时间点和多个地理坐标。
[0170]
示例性地,地理坐标为二维坐标,目标用户使用目标服务时的地理位置坐标(x,y),其中x为经度,y为纬度。多条使用数据中的每条使用数据分别包括一个时间点和一个地理坐标。关于第一历史时间段和时间点的介绍可以参照上述与图3中的s301,此处不再赘述。
[0171]
s502、确定多个时间点中每两个时间点之间的差值。
[0172]
应理解,s502的具体实施方式与图3中的s302相同,在此不再赘述。
[0173]
s503、计算多个地理坐标中每两个地理坐标之间的距离。
[0174]
与s502类似,每两个地理坐标指多个地理坐标中的每个地理坐标与其余地理坐标的两两组合。假设地理坐标的个数为m,则每两个地理坐标组合的个数为m*(m-1)/2,那么上述距离的个数即为m*(m-1)/2。本技术实施例的距离可以理解为两个地理坐标之间的球面距离。示例性地,假设点a的地理坐标为(x1,y1),点b的地理坐标为(x2,y2),地球球心为点o,
地球半径为r,点c为与点a经度相同且纬度为0的点,点c的地理坐标为(x1,0),点d为与点b经度相同且纬度为0的点,点d的地理坐标为(x2,0),点a与点b之间的球面距离d=r*arccos(cos∠aoc*cos∠bod*cos∠doc+sin∠aoc*sin∠bod)。
[0175]
s504、根据上述距离和上述差值,确定多条使用数据中每两条使用数据之间的聚类度量值。
[0176]
聚类度量值为多条使用数据聚类过程中需要参考的数值,数据处理设备判断两个使用数据之间的聚类度量值是否小于或者等于聚类算法中预设的模型参数,例如图4中所示的预设的圆的半径。在本技术实施例中,每两个使用数据之间的聚类度量值分别是根据该两个使用数据的时间点之间的差值和地理坐标之间的距离计算得到的。例如,第一使用数据包括的时间点为2021/04/08 08:00:00,地理坐标为(80,90),第二使用数据包括的时间点为2021/04/08 08:01:00,地理坐标为(77,86),则第一使用数据对应的时间点和第二使用数据对应的时间点之间的差值为60,第一使用数据对应的地理坐标和第二使用数据对应的地理坐标之间的距离为5,根据60和5可以计算得到第一使用数据和第二使用数据之间的聚类度量值。
[0177]
s505、基于聚类度量值,对多条使用数据进行聚类,得到至少一簇使用数据,至少一簇使用数据中的每簇使用数据包括多个目标时间点和多个目标地理坐标。
[0178]
应理解,s505的具体实施方式与图3中的s303类似,由于每个使用数据包括一个时间点和一个地理坐标,因此每簇使用数据包括多个目标时间点和多个目标地理坐标。
[0179]
s506、基于至少一簇使用数据,确定至少一个目标时间段和至少一个地理区域,以便终端设备在至少一个目标时间段内和至少一个地理区域内进行目标服务的服务推荐算法的条件判断。
[0180]
应理解,s506的具体实施方式与图3中的s304类似,由于每簇使用数据包括多个目标时间点和多个目标地理坐标,终端设备可以根据每簇使用数据的多个目标时间点确定一个时间段,具体的实现方式与s304类似。数据处理设备还可以根据每簇使用数据包括的多个目标地理坐标确定一个地理区域,该地理区域也可以称为“地理围栏”。
[0181]
具体地,数据处理设备可以根据至少一簇使用数据中每簇使用数据包括的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度,确定至少一个地理区域。示例性地,数据处理设备可以根据每簇使用数据的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度确定一个地理区域。在另一种可能的实施方式中,数据处理设备还可以根据至少一簇使用数据中每簇使用数据包括的多个目标地理坐标结合行政区域,确定至少一个地理区域。行政区域可以为街道区域、商场区域等。数据处理设备先根据上述的多个目标地理坐标确定一个区域,然后结合该区域附近的行政区域确定一个更加准确的地理区域。
[0182]
至少一个目标时间段和至少一个地理区域用于终端设备进行目标服务的服务推荐算法的条件判断。当目标用户所处的地理位置属于至少一个地理区域,并且当前时间属于至少一个时间段时,说明此时目标用户可能具有使用目标服务的意图,终端设备可以调用目标服务的服务推荐算法,判断是否向目标用户推荐目标服务。当目标用户所处的地理位置不属于至少一个地理区域,或者当前时间不属于至少一个时间段时,说明此时目标用户不具有使用目标服务的意图,终端设备无需调用服务推荐算法。
[0183]
本技术实施例提供的用于推荐服务的方法,通过对目标用户使用目标服务的多条使用数据进行聚类,得到至少一个目标时间段和至少一个地理区域,终端设备可以基于该至少一个目标时间段和至少一个地理区域进行目标服务的服务推荐算法的条件判断。该方法将时间信息和地理信息结合,使得数据处理设备能够更准确的确定目标用户使用目标服务的意图,从而减少终端设备的无效判断次数,进一步减小了终端设备的功耗,提高了用户体验。
[0184]
作为一个可选的实施例,上述s504可以通过如下方式实现:获取每两个地理坐标之间的距离中的第一最大值和第一最小值;根据第一最大值、第一最小值以及每两个地理坐标之间的距离,确定每两个地理坐标之间的去量纲距离;获取每两个时间点之间的差值中的第二最大值和第二最小值;根据第二最大值、第二最小值以及每两个时间点之间的差值,确定每两个时间点之间的去量纲差值;根据每两个地理坐标之间的去量纲距离和每两个时间点之间的去量纲差值,确定每两条使用数据之间的聚类度量值。
[0185]
应理解,去量纲距离为将每两个地理坐标之间的距离通过去量纲化得到的没有单位的数值。去量纲差值为将每两个时间点之间的差值经过去量纲化得到的没有单位的数值。
[0186]
在一种可能的实施方式中,每两个地理坐标之间的去量纲距离通过以下公式确定:其中,gr为去量纲距离,gi为每两个地理坐标之间的距离,g
max
为第一最大值,g
min
为第一最小值。
[0187]
在一种可能的实施方式中,每两个时间点之间的去量纲差值通过以下公式确定:其中,tr为去量纲差值,ti为每两个时间点之间的差值,t
max
为第二最大值,t
min
为第二最小值。
[0188]
由于每两个时间点之间的差值的单位和每两个地理坐标之间的距离的单位不同,因此根据上述差值和距离计算得到聚类度量值时,需要先对上述差值和距离去量纲化。每两条使用数据之间的聚类度量值是根据该两条使用数据的时间点之间的差值和该两条使用数据的地理坐标之间的距离计算得到的。在本技术实施例中,聚类度量值可以通过以下公式计算得到:d=α*gr+β*tr,其中,d为聚类度量值,α为距离的权重,β为差值的权重,α+β=1。
[0189]
示例性地,假设多条使用数据分别为第一使用数据、第二使用数据、第三使用数据、第四使用数据。第一使用数据包括第一时间点和第一地理坐标;第二使用数据包括第二时间点和第二地理坐标;第三使用数据包括第三时间点和第三地理坐标;第四使用数据包括第四时间点和第四地理坐标。
[0190]
若第一时间点和第二时间点之间的差值为61;第一时间点和第三时间点之间的差值为70;第一时间点和第四时间点之间的差值为65;第二时间点和第三时间点之间的差值为62;第二时间点和第四时间点之间的差值为60;第三时间点和第四时间点之间的差值为63。上述差值的单位均为秒。第二最大值为70,第二最小值为60。第一时间点和第二时间点之间的差值对应的去量纲差值tr=(61-60)/(70-60)=0.1。
[0191]
若第一地理坐标和第二地理坐标之间的距离为6;第一地理坐标和第三地理坐标
之间的距离为5;第一地理坐标和第四地理坐标之间的距离为10;第二地理坐标和第三地理坐标之间的距离为12;第二地理坐标和第四地理坐标之间的距离为10;第三地理坐标和第四地理坐标之间的距离为13。上述距离的单位可以均为米、分米等。第一最大值为13,第一最小值为5。第一地理坐标和第二地理坐标之间的距离对应的去量纲距离gr=(6-5)/(13-5)=0.125。
[0192]
在上述示例中,第一使用数据和第二使用数据的聚类度量值,是根据第一时间点和第二时间点之间的去量纲差值以及第一地理坐标和第二地理坐标之间的去量纲距离计算得到的。具体地,在上述示例中,假设α为0.2,β为0.8,则第一使用数据和第二使用数据之间的聚类度量值d=0.2*0.125+0.8*0.1=0.105。
[0193]
下面,分别以两个示例,对本技术实施例的用于推荐服务的方法进行详细介绍。
[0194]
示例一,根据时间信息进行聚类
[0195]
数据处理设备采集目标用户在2022/04/06-2022/04/13历史时间段内使用支付服务的使用数据,使用数据的个数为10,且分别用点1至点10表示。每个使用数据包含一个时间点。该十个时间依次分别为:2022/04/06 08:00:03、2022/04/07 08:01:04、2022/04/08 08:02:03、2022/04/09 08:04:03、2022/04/10 08:05:03、2022/04/11 08:02:36、2022/04/10 12:00:00、2022/04/11 12:01:03、2022/04/12 12:02:03、2022/04/13 12:02:23。
[0196]
根据十个时间点中包含的小时、分钟以及秒的信息,将该十个时间点分别转换为秒级别数值。例如,对于点1对应的时间点2022/04/06 08:00:03中包含的小时、分钟以及秒的信息为08:00:03,一小时为3600秒,一分钟为60秒,该时间点对应的秒级别数值为28803。从点1至点10对应的秒级别数值依次为:28803、28864、28923、29043、29103、28956、43200、43263、43323、43343。
[0197]
确定聚类算法中的两个模型参数:预设支付事件最少个数n和预设时间距离最大差值m,然后将上述点1至点10对应的秒级别数值输入聚类算法进行聚类,得到至少一个时间段。假设n=3,m=100。n为预设的每个时间段中包括的时间点个数的最小值。m为预设的每个时间段中包括的时间点之间的时间距离的最大值。
[0198]
下面结合图6和图7对本技术实施例的聚类算法的具体实施过程进行描述。
[0199]
图6为本技术实施例提供的聚类算法的过程示意图一,如图6所示,上述10个使用数据的聚类过程如下所示:
[0200]
首先计算每两个秒级别数值之间的差值。例如,点1和点2对应的秒级别数值分别为28803和28864,则该两个秒级别数值之间的差值为61。类似地,点2和点3之间的时间距离为59。按照上述方法依次计算每两个点之间的差值,将得到45个差值。
[0201]
如图6(a)所示,选择上述十个点中任一时间点为圆心,例如以点2为圆心,且以m半径,得到第一圆图。确定第一圆图中覆盖的使用数据的个数是否大于或等于n。第一圆图中覆盖有点1、点2、点3以及点6,第一圆图中覆盖的使用数据的个数大于n,则将第一圆图作为目标圆图。
[0202]
如图6(b)所示,由于第一圆图为目标圆图,因此分别以第一圆图中除点2以外的其他点为圆心,m为半径做圆,得到新的圆图,然后确定新的圆图是否可以作为目标圆图。通过判断,以点1和点3为圆心得到的圆图覆盖的点的数量小于3,不能作为目标圆图,以点6为圆心得到的圆图覆盖的点的数量等于3,可以作为目标圆图。
[0203]
如图6(c)所示,由于以点6为圆心得到的圆图为目标圆图,且该目标圆图覆盖点2、点6以及点4,点2已经作为圆心得到第一圆图,因此,继续以点4为圆心做圆,得到的圆图覆盖有点6、点4以及点5,数量等于3,以点4为圆心得到的圆图可以作为目标圆图。继续以点5为圆心做圆,得到的圆图覆盖有点4和点5,数量小于3,则以点5为圆心得到的圆图不能作为目标圆图。此时,目标圆图中覆盖的所有点均已经作为圆心做圆。所有目标圆图覆盖的使用数据为一簇使用数据,该簇使用数据包括的时间点为多个目标时间点。根据多个目标时间点确定第一时间段。多个目标时间点包括点1至点6对应的使用数据包括的六个目标时间点,该六个目标时间点中的最大的时间点为点5对应的时间点,其对应的秒级别数值为29103,最小的时间点为点1对应的时间点,其对应的秒级别数值为28803,将该最大的秒级别数值和最小秒级别数值分别转换为包含小时、分钟以及秒信息的时间点,得到第一时间段。第一时间段为08:00:03至08:05:03。
[0204]
如图6(d)所示,在确定上述第一时间段过程中,点7、点8、点9、点10未作为圆心做圆,因此该4个秒级别数值为孤立使用数据。以孤立使用数据中的任意一个作为圆心,以m为半径,得到圆图,且重复上述目标圆图的获取过程。例如,以点8为圆心做圆,得到的圆图覆盖有点7、点8、点9以及点10,因此该圆图可以作为目标圆图。
[0205]
如图6(e)所示,分别以7、点9以及点10为圆心做圆,以点9和点10为圆心做圆得到的圆图均可以作为目标圆图,以点7为圆心得到的圆图不能作为目标圆图。根据点7、点8、点9以及点10该四个使用数据对应的秒级别数值中的最大值和最小值,得到第二时间段,第二时间段为12:00:00至12:02:23。
[0206]
图7为本技术实施例提供的聚类算法的过程示意图二。如图7所示,该过程包括以下步骤:
[0207]
如图7(a)所示,分别以点1至点10中的每个点为圆心,以m为半径做圆,得到十个圆图。
[0208]
如图7(b)所示,分别确定该十个圆图覆盖的使用数据的个数是否大于或等于n。若是,则将该圆图作为目标圆图。以点2、点6、点4、点8、点9以及点10为圆心得到的圆图为目标圆图。相交的目标圆图的集合作为密度可达圆图,例如,以点2、点6以及点4为圆心得到的圆图的总和为密度可达圆图,以点8、点9以及点10为圆心得到的圆图的总和为密度可达圆图。每个密度可达圆图覆盖的使用数据为一簇使用数据,该簇使用数据包括的时间点为多个目标时间点。分别根据该两簇使用数据中每簇使用数据包括的多个目标时间点,可以确定两个时间段。具体地,可以根据以点2、点6以及点4为圆心得到的密度可达圆图,得到第一时间段;根据以点8、点9以及点10为圆心得到的密度可达圆图,得到第二时间段。根据多个目标时间点得到时间段的过程与图6(c)所示的过程类似,在此不再赘述。
[0209]
终端设备可以在上述第一时间段和第二时间段内进行支付服务的服务推荐算法的条件判断,也可以计算第一时间段和第二时间段的置信度,进一步选择目标时间段进行支付服务的服务推荐算法的条件判断,此处不再赘述。
[0210]
示例二,根据时间信息和地理信息进行聚类
[0211]
当多条使用数据包括多个时间点和多个地理坐标时,数据处理设备可以采集目标用户在2022/04/06-2022/04/13历史时间段内使用支付服务的使用数据,使用数据的个数为10,且该十个使用数据分别用点1至点10表示。每个使用数据包含一个时间点和一个地理
坐标。示例性地,点1对应的使用数据包含的时间点可以为2022/04/06 08:00:03,包含的地理坐标可以为(100,90);点2对应的使用数据包含的时间点可以为2022/04/07 08:01:03,包含的地理坐标可以为(101,90),其他点类似,此处不再一一列举。
[0212]
根据十个时间点中包含的小时、分钟以及秒的信息,将该十个时间点分别转换为秒级别数值。时间点2022/04/06 08:00:03的秒级别数值为28803,时间点2022/04/07 08:01:03的秒级别数值为28863。具体的转换方式与过程700中的实现方式类似,在此不再赘述。
[0213]
确定聚类算法中的两个模型参数:预设支付事件最少个数n和预设目标距离最大差值(m),将该十个使用数据进行聚类,得到触发信息,得到至少一个时间段和至少一个地理区域。
[0214]
本技术实施例的聚类过程如下所示:
[0215]
计算每两个地理坐标之间的距离。例如,点1对应的使用数据和点2对应的使用数据之间包含的地理坐标之间的距离为坐标(101,90)与坐标(100,90)之间的距离,该距离为1。计算每两个秒级别数值之间的差值,该差值作为时间点之间的差值。第一使用数据和第二使用数据之间包含的时间点之间的差值为28863与28803之间的差值,该差值为60。距离和差值的个数均为45个,且两者之间一一对应,即每两个使用数据的时间点之间的差值和该两个使用数据的地理坐标之间的距离对应。例如,对于点1对应的使用数据和点2对应的使用数据之间包含的地理坐标之间的距离为1,包含的时间点之间的差值为60,则该距离1和该差值60对应。
[0216]
将每两个地理坐标之间的距离去量纲化,得到去量纲距离。去量纲距离通过公式计算得到。假设上述45个距离中最大值为9,最小值为0,点1对应的使用数据和点2对应的使用数据包括的地理坐标之间的距离为1,在去量纲化后得到的点1和点2之间的去量纲距离为1/9。将每两个时间点之间的差值去量纲化,得到去量纲差值。去量纲差值通过公式计算得到。假设上述45个差值中最大值为100,最小值为20,则点1对应的使用数据和点2对应的使用数据包括的时间点之间的差值为60,在去量纲化后得到的点1和点2之间的去量纲差值为0.5。
[0217]
计算每两个使用数据的之间的聚类度量值。聚类度量值可以通过以下公式计算得到:d=α*gr+β*tr。假设,α为0.2,β为0.8,则点1对应的使用数据和点2对应的使用数据之间的聚类度量值为0.42。每两个使用数据之间均得到一个聚类度量值。
[0218]
假设聚类算法中的模型参数n=3,m=0.6,对根据上述十个使用数据进行聚类。
[0219]
在一种可能的实现方式中,参照图6,选择十个点中任一点为圆心,以m为半径做圆,通过确定圆图覆盖的使用数据的个数是否大于或者等于n确定该圆图是否为目标圆图。接着,根据目标圆图覆盖的使用数据包含的目标时间点和目标地理坐标,确定至少一个时间段和至少一个地理区域。
[0220]
在另一种可能的实现方式中,参照图7,分别以十个时间点中的每个点为圆心,以m为半径做圆,得到十个圆图。再以相同的方法确定目标圆图和密度可达圆图。然后,分别根据每个密度可达圆图覆盖的使用数据包括的目标时间点和目标地理坐标,得到至少一个时
间段和至少一个地理区域。
[0221]
终端设备可以在上述至少一个时间段内和至少一个地理区域内进行支付服务的服务推荐算法的条件判断,也可以计算至少一个时间段中每个时间段的置信度,进一步选择至少一个目标时间段,在至少一个目标时间段内和至少一个地理区域内进行支付服务的服务推荐算法的条件判断,此处不再赘述。
[0222]
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0223]
上文结合图3至图7,详细描述了本技术实施例的用于推荐服务的方法,下面将结合图8和图9,详细描述本技术实施例的用于推荐服务的装置。
[0224]
图8为本技术实施例提供的用于推荐服务的装置800的结构示意图。如图8所示,该装置800包括:采集模块801和处理模块802。
[0225]
在一种可能的实现方式中,该装置800用于实现上述方法300中数据处理设备对应的步骤。
[0226]
采集模块801,用于采集第一历史时间段内目标用户对目标服务的多条使用数据,多条使用数据包括多个时间点;
[0227]
处理模块802,用于确定多个时间点中每两个时间点之间的差值;基于差值,对多条使用数据进行聚类,得到至少一簇使用数据,至少一簇使用数据中的每簇使用数据包括多个目标时间点;基于至少一簇使用数据,确定至少一个目标时间段,以便终端设备在至少一个目标时间段内进行目标服务的服务推荐算法的条件判断。
[0228]
可选地,处理模块802具体用于:分别基于每簇使用数据所包括的多个目标时间点,确定至少一个时间段;分别根据第一历史时间段对应的天数信息和至少一个时间段中每个时间段包括的目标时间点的个数,确定每个时间段的置信度;确定每个时间段的置信度是否大于或等于第一预设阈值;在至少一个时间段中存在第一时间段的置信度大于或等于第一预设阈值的情况下,将第一时间段确定为目标时间段。
[0229]
可选地,至少一个时间段中的第二时间段的置信度通过以下公式确定:
[0230][0231]
其中,z为置信度,q为天数信息对应的天数值,yi为将天数信息划分为n段天数信息中的第i段天数信息对应的天数值,y1+y2+...+yn=q,xi为第i段天数信息在第二时间段内所包括的时间点的个数,i∈{1,2,
…
n},ωi为第i段天数信息在第二时间段内所包括的时间点的权重,ω1+ω2+
…
+ωn=1。
[0232]
可选地,处理模块802具体用于:基于至少一簇使用数据中的每簇使用数据包括的多个目标时间点中的最大值和最小值,确定至少一个时间段。
[0233]
可选地,多条使用数据还包括多个地理坐标,每簇使用数据还包括多个目标地理坐标;处理模块802还用于:计算多个地理坐标中每两个地理坐标之间的距离;根据距离和差值,确定多条使用数据中每两条使用数据之间的聚类度量值;基于聚类度量值,对多条使用数据进行聚类,得到至少一簇使用数据;基于至少一簇使用数据,确定至少一个目标时间段和至少一个地理区域,以便终端设备在至少一个目标时间段内和至少一个地理区域内进行目标服务的服务推荐算法的条件判断。
[0234]
可选地,处理模块802具体用于:获取每两个地理坐标之间的距离中的第一最大值和第一最小值;根据第一最大值、第一最小值以及每两个地理坐标之间的距离,确定每两个地理坐标之间的去量纲距离;获取每两个时间点之间的差值中的第二最大值和第二最小值;根据第二最大值、第二最小值以及每两个时间点之间的差值,确定每两个时间点之间的去量纲差值;根据每两个地理坐标之间的去量纲距离和每两个时间点之间的去量纲差值,确定每两条使用数据之间的聚类度量值。
[0235]
可选地,每两个地理坐标之间的去量纲距离通过以下公式确定:其中,gr为去量纲距离,gi为每两个地理坐标之间的距离,g
max
为第一最大值,g
min
为第一最小值。
[0236]
可选地,每两个时间点之间的去量纲差值通过以下公式确定:其中,tr为去量纲差值,ti为每两个时间点之间的差值,t
max
为第二最大值,t
min
为第二最小值。
[0237]
可选地,处理模块802具体用于:根据至少一簇使用数据中每簇使用数据包括的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度,确定至少一个地理区域。
[0238]
可选地,处理模块802具体用于:根据多个时间点中包含的小时、分钟和秒的信息,将多个时间点中的每个时间点转换为秒级别数值;将每两个时间点对应的秒级别数值之间的差值,确定为每两个时间点之间的差值。
[0239]
应理解,这里的装置800以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选的例子中,本领域技术人员可以理解,装置800可以具体为上述实施例中的数据处理设备,装置800可以用于执行上述方法实施例中与数据处理设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
[0240]
上述装置800具有实现上述方法中数据处理设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述处理模块802可以包括确定模块和聚类模块,该确定模块可以用于实现上述处理模块对应的用于执行确定动作的各个步骤和/或流程,该聚类模块可以用于实现上述处理模块对应的用于执行聚类动作的各个步骤和/或流程。
[0241]
在本技术的实施例,图8中的装置800也可以是芯片,例如:soc。对应地,处理模块802可以是该芯片的收发电路,在此不做限定。
[0242]
图9示出了本技术实施例提供的另一种用于推荐服务的装置900的结构示意图。该装置900包括处理器901、收发器902和存储器903。其中,处理器901、收发器902和存储器903通过内部连接通路互相通信,该存储器903用于存储指令,该处理器901用于执行该存储器903存储的指令,以控制该收发器902发送信号和/或接收信号。
[0243]
应理解,装置900可以具体为上述实施例中的数据处理设备,并且可以用于执行上述方法实施例中与数据处理设备对应的各个步骤和/或流程。可选地,该存储器903可以包
括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器901可以用于执行存储器中存储的指令,并且当该处理器901执行存储器中存储的指令时,该处理器901用于执行上述方法实施例的各个步骤和/或流程。该收发器902可以包括发射器和接收器,该发射器可以用于实现上述收发器对应的用于执行发送动作的各个步骤和/或流程,该接收器可以用于实现上述收发器对应的用于执行接收动作的各个步骤和/或流程。
[0244]
应理解,在本技术实施例中,该处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0245]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0246]
本技术还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序用于实现上述方法实施例中所示的方法。
[0247]
本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述方法实施例所示的方法。
[0248]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0249]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0250]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0251]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0252]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0253]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0254]
以上所述,仅为本技术的具体实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种用于推荐服务的方法,其特征在于,包括:采集第一历史时间段内目标用户对目标服务的多条使用数据,所述多条使用数据包括多个时间点;确定所述多个时间点中每两个时间点之间的差值;基于所述差值,对所述多条使用数据进行聚类,得到至少一簇使用数据,所述至少一簇使用数据中的每簇使用数据包括多个目标时间点;基于所述至少一簇使用数据,确定至少一个目标时间段,以便终端设备在所述至少一个目标时间段内进行所述目标服务的服务推荐算法的条件判断。2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一簇使用数据,确定至少一个目标时间段,包括:分别基于所述每簇使用数据所包括的多个目标时间点,确定至少一个时间段;分别根据所述第一历史时间段对应的天数信息和所述至少一个时间段中每个时间段包括的目标时间点的个数,确定所述每个时间段的置信度;确定所述每个时间段的置信度是否大于或等于第一预设阈值;在所述至少一个时间段中存在第一时间段的置信度大于或等于所述第一预设阈值的情况下,将所述第一时间段确定为所述目标时间段。3.根据权利要求2所述的方法,其特征在于,所述至少一个时间段中的第二时间段的置信度通过以下公式确定:其中,z为所述置信度,q为所述天数信息对应的天数值,y
i
为将所述天数信息划分为n段天数信息中的第i段天数信息对应的天数值,y1+y2+
…
+y
n
=q,x
i
为所述第i段天数信息在所述第二时间段内所包括的时间点的个数,i∈{1,2,
…
n},ω
i
为所述第i段天数信息在所述第二时间段内所包括的时间点的权重,ω1+ω2+
…
+ω
n
=1。4.根据权利要求2或3所述的方法,其特征在于,所述分别基于所述每簇使用数据所包括的多个目标时间点,确定至少一个时间段,包括:基于所述至少一簇使用数据中的每簇使用数据包括的多个目标时间点中的最大值和最小值,确定所述至少一个时间段。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述多条使用数据还包括多个地理坐标,所述每簇使用数据还包括多个目标地理坐标;所述方法还包括:计算所述多个地理坐标中每两个地理坐标之间的距离;根据所述距离和所述差值,确定所述多条使用数据中每两条使用数据之间的聚类度量值;所述基于所述差值,对所述多条使用数据进行聚类,包括:基于所述聚类度量值,对所述多条使用数据进行聚类,得到所述至少一簇使用数据;所述基于所述至少一簇使用数据,确定至少一个目标时间段,包括:基于所述至少一簇使用数据,确定所述至少一个目标时间段和至少一个地理区域,以便终端设备在所述至少一个目标时间段内和所述至少一个地理区域内进行所述目标服务
的服务推荐算法的条件判断。6.根据权利要求5所述的方法,其特征在于,所述根据所述距离和所述差值,确定所述多条使用数据中每两条使用数据之间的聚类度量值,包括:获取所述每两个地理坐标之间的距离中的第一最大值和第一最小值;根据所述第一最大值、所述第一最小值以及所述每两个地理坐标之间的距离,确定所述每两个地理坐标之间的去量纲距离;获取所述每两个时间点之间的差值中的第二最大值和第二最小值;根据所述第二最大值、所述第二最小值以及所述每两个时间点之间的差值,确定所述每两个时间点之间的去量纲差值;根据所述每两个地理坐标之间的去量纲距离和所述每两个时间点之间的去量纲差值,确定所述每两条使用数据之间的聚类度量值。7.根据权利要求6所述的方法,其特征在于,所述每两个地理坐标之间的去量纲距离通过以下公式确定:其中,g
r
为所述去量纲距离,g
i
为所述每两个地理坐标之间的距离,g
max
为所述第一最大值,g
min
为所述第一最小值。8.根据权利要求6或7所述的方法,其特征在于,所述每两个时间点之间的去量纲差值通过以下公式确定:其中,t
r
为所述去量纲差值,t
i
为所述每两个时间点之间的差值,t
max
为所述第二最大值,t
min
为所述第二最小值。9.根据权利要求5-8中任一项所述的方法,其特征在于,所述基于所述至少一簇使用数据,确定所述至少一个地理区域,包括:根据所述至少一簇使用数据中每簇使用数据包括的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度,确定所述至少一个地理区域。10.根据权利要求1-9中任一项所述的方法,其特征在于,所述确定所述多个时间点中每两个时间点之间的差值,包括:根据所述多个时间点中包含的小时、分钟和秒的信息,将所述多个时间点中的每个时间点转换为秒级别数值;将所述每两个时间点对应的秒级别数值之间的差值,确定为所述每两个时间点之间的差值。11.一种用于推荐服务的装置,其特征在于,包括:采集模块,用于采集第一历史时间段内目标用户对目标服务的多条使用数据,所述多条使用数据包括多个时间点;处理模块,用于确定所述多个时间点中每两个时间点之间的差值;基于所述差值,对所述多条使用数据进行聚类,得到至少一簇使用数据,所述至少一簇使用数据中的每簇使用数据包括多个目标时间点;以及,基于所述至少一簇使用数据,确定至少一个目标时间段,
以便终端设备在所述至少一个目标时间段内进行所述目标服务的服务推荐算法的条件判断。12.根据权利要求11所述的装置,其特征在于,所述处理模块具体用于:分别基于所述每簇使用数据所包括的多个目标时间点,确定至少一个时间段;分别根据所述第一历史时间段对应的天数信息和所述至少一个时间段中每个时间段包括的目标时间点的个数,确定所述每个时间段的置信度;确定所述每个时间段的置信度是否大于或等于第一预设阈值;在所述至少一个时间段中存在第一时间段的置信度大于或等于所述第一预设阈值的情况下,将所述第一时间段确定为所述目标时间段。13.根据权利要求12所述的装置,其特征在于,所述至少一个时间段中的第二时间段的置信度通过以下公式确定:其中,z为所述置信度,q为所述天数信息对应的天数值,y
i
为将所述天数信息划分为n段天数信息中的第i段天数信息对应的天数值,y1+y2+
…
+y
n
=q,x
i
为所述第i段天数信息在所述第二时间段内所包括的时间点的个数,i∈{1,2,
…
n},ω
i
为所述第i段天数信息在所述第二时间段内所包括的时间点的权重,ω1+ω2+
…
+ω
n
=1。14.根据权利要求12或13所述的装置,其特征在于,所述处理模块具体用于:基于所述至少一簇使用数据中的每簇使用数据包括的多个目标时间点中的最大值和最小值,确定所述至少一个时间段。15.根据权利要求11-14中任一项所述的装置,其特征在于,所述多条使用数据还包括多个地理坐标,所述每簇使用数据还包括多个目标地理坐标;所述处理模块还用于:计算所述多个地理坐标中每两个地理坐标之间的距离;根据所述距离和所述差值,确定所述多条使用数据中每两条使用数据之间的聚类度量值;基于所述聚类度量值,对所述多条使用数据进行聚类,得到所述至少一簇使用数据;基于所述至少一簇使用数据,确定所述至少一个目标时间段和至少一个地理区域,以便终端设备在所述至少一个目标时间段内和所述至少一个地理区域内进行所述目标服务的服务推荐算法的条件判断。16.根据权利要求15所述的装置,其特征在于,所述处理模块具体用于:获取所述每两个地理坐标之间的距离中的第一最大值和第一最小值;根据所述第一最大值、所述第一最小值以及所述每两个地理坐标之间的距离,确定所述每两个地理坐标之间的去量纲距离;获取所述每两个时间点之间的差值中的第二最大值和第二最小值;根据所述第二最大值、所述第二最小值以及所述每两个时间点之间的差值,确定所述每两个时间点之间的去量纲差值;根据所述每两个地理坐标之间的去量纲距离和所述每两个时间点之间的去量纲差值,确定所述每两条使用数据之间的聚类度量值。
17.根据权利要求16所述的装置,其特征在于,所述每两个地理坐标之间的去量纲距离通过以下公式确定:其中,g
r
为所述去量纲距离,g
i
为所述每两个地理坐标之间的距离,g
max
为所述第一最大值,g
min
为所述第一最小值。18.根据权利要求16或17所述的装置,其特征在于,所述每两个时间点之间的去量纲差值通过以下公式确定:其中,t
r
为所述去量纲差值,t
i
为所述每两个时间点之间的差值,t
max
为所述第二最大值,t
min
为所述第二最小值。19.根据权利要求15-18中任一项所述的装置,其特征在于,所述处理模块具体用于:根据所述至少一簇使用数据中每簇使用数据包括的多个目标地理坐标中的最大经度、最大纬度、最小经度以及最小纬度,确定所述至少一个地理区域。20.根据权利要求11-19中任一项所述的装置,其特征在于,所述处理模块具体用于:根据所述多个时间点中包含的小时、分钟和秒的信息,将所述多个时间点中的每个时间点转换为秒级别数值;将所述每两个时间点对应的秒级别数值之间的差值,确定为所述每两个时间点之间的差值。21.一种用于推荐服务的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述终端设备执行如权利要求1至10中任一项所述的方法。22.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至10中任一项所述的方法的指令。23.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至10中任一项所述的方法。
技术总结
本申请提供了一种用于推荐服务的方法和装置,有利于降低终端设备的功耗,从而提高用户体验。该方法包括:采集第一历史时间段内目标用户对目标服务的多条使用数据,所述多条使用数据包括多个时间点;确定所述多个时间点中每两个时间点之间的差值;基于所述差值,对所述多条使用数据进行聚类,得到至少一簇使用数据,所述至少一簇使用数据中的每簇使用数据包括多个目标时间点;基于所述至少一簇使用数据,确定至少一个目标时间段,以便终端设备在所述至少一个目标时间段内进行所述目标服务的服务推荐算法的条件判断。的服务推荐算法的条件判断。的服务推荐算法的条件判断。
技术研发人员:赵杰 陈天辉
受保护的技术使用者:荣耀终端有限公司
技术研发日:2022.09.05
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:检测结果读取装置的制作方法 下一篇:触控笔及其控制方法与流程