推荐数据资源服务应用程序接口的方法及装置转让专利

申请号 : CN202011638472.1

文献号 : CN114691152B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏巍王昊然樊利安谢云龙杨艳霞

申请人 : 中国联合网络通信集团有限公司联通大数据有限公司

摘要 :

本申请提出了一种推荐数据资源服务应用程序接口的方法。本申请提出的技术方案中,将数据资源服务中的应用程序接口细化为具体的数据维度,将客户端对每个数据维度的调用反馈信息转换为综合评价指标、结合调用意向信息、调用次数和调用成功率参考信息,获得客户端的最终评价指标,再通过将客户端的最终评价指标输入到神经网络模型,获得客户端对每个数据维度的打分值,根据客户端对每个数据维度的评分向客户端推荐更符合客户端的API,从而可以提升推荐的API的准确率。

权利要求 :

1.一种推荐数据资源服务应用程序接口的方法,其特征在于,所述数据资源应用程序接口包括一个或多个数据维度,所述一个或多个数据维度中的每个数据维度为n个数据维度中的数据维度,所述数据维度是指最小数据调用单元,n为大于1的整数,所述方法包括:获取m个客户端中每个客户端对所述n个数据维度中每个数据维度的调用反馈信息,所述调用反馈信息包括以下信息中一种或多种:可使用度、质量满意度、实时性、价格满意度和是否调用成功,所述m为大于1的整数;

获取所述每个客户端对所述每个数据维度的调用意向信息,所述调用意向信息用于指示所述每个客户端对所述每个数据维度是否进行过搜索和/或订阅;

获取所述每个客户端对所述每个数据维度的调用次数;

获取所述每个客户端对所述每个数据维度的调用成功率;

根据所述每个客户端对所述每个数据维度的调用反馈信息,确定所述每个客户端对所述每个数据维度的综合评价指标;

根据所述每个客户端对所述每个数据维度的综合评价指标、所述每个客户端对所述每个维度数据的调用次数、所述每个客户端对所述每个数据维度的调用成功率、所述每个客户端对所述每个数据维度的调用意向信息,确定所述每个客户端对所述每个数据维度的最终评价指标;

根据所述每个客户端对所述每个数据维度的最终评价指标对神经网络模型进行训练,所述神经网络模型用于基于所述每个客户端对所述n个数据维度的最终评价指标确定所述每个客户端调用所述n个数据维度中每个数据维度时对所述每个数据维度的评分。

2.根据权利要求1所述的方法,其特征在于,所述根据所述每个客户端对所述每个数据维度的调用反馈信息,确定所述每个客户端对所述每个数据维度的综合评价指标,包括:根据所述每个客户端对所述每个数据维度的调用反馈信息确定n个第一矩阵,每个所述第一矩阵为m行P列的矩阵,所述n个第一矩阵中第k个矩阵中的第i1行第j1列表示所述m个客户端中第i1个客户端对所述n个数据维度中第k个数据维度的第j1个评价值,所述P列至少包括以下一列或多列评价值:可使用度、质量满意度、实时性、价格满意度和是否调用成功,P为大于0的整数,k为小于n的整数,i1为小于m的整数,j1为小于P的整数;

为所述n个第一矩阵中每个第一矩阵分配对应的权重λ;

根据所述每个第一矩阵对应的权重和所述每个第一矩阵,确定所述每个数据维度对应的第二矩阵,所述第二矩阵为m行的列向量,所述第二矩阵中第i2行表示所述m个客户端中第i2个客户端对所述第二矩阵对应的数据维度的综合评价指标,i2为小于m的整数;

根据所述每个数据维度对应的第二矩阵,确定综合评价指标矩阵,所述综合评价指标矩阵为m行n列的矩阵,所述综合评价指标矩阵中的第i3行第j3列表示所述m个客户端中第i3个客户端对所述n维度中第j3个数据维度的综合评价指标,i3为小于m的整数,j3为小于n的整数。

3.根据权利要求2所述的方法,其特征在于,所述根据所述每个客户端对所述每个数据维度的综合评价指标、所述每个客户端对所述每个数据维度的调用次数、所述每个客户端对所述每个数据维度的调用成功率、所述每个客户端对所述每个数据维度的调用意向信息,确定所述每个客户端对所述每个数据维度的最终评价指标,包括:根据所述综合评价指标矩阵T、调用次数矩阵B、调用成功率矩阵C,调用意向信息矩阵S,确定最终评价指标矩阵R,其中R=α(S+B+C)+βT,B为m行n列的矩阵,B中第i4行第j4列表示所述m个客户端中第i4个客户端对所述n个数据维度中第j4个数据维度的调用次数,C中的第i5行第j5列表示所述m个客户端中第i5个客户端对所述n个数据维度中第j5个数据维度的调用成功率,S中的第i6行第j6列表示所述m个客户端中第i6个客户端对所述n个数据维度中第j6个数据维度的调用意向信息,所述α和β预设的权重,i4、i5和i6为小于m的整数,j4、j5和j6为小于n的整数。

4.根据权利要求3所述的方法,其特征在于,所述神经网络模型的参数满足如下关系式:h(r;θ)=f(W·g(Vr+μ)+b),

所述神经网络模型的优化函数如下:

(i)

其中,i表示R中的第i行,θ表示所述神经网络模型的参数,r 表示R中的第i行,f和g分别表示所述神经网络模型的输出层和隐藏层的激活函数,W、V、μ、b、γ为预设的参数。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:

获取目标客户端对所述每个数据维度的最终评价指标;

使用所述训练后的神经网络模型基于所述目标客户端对所述每个数据维度的最终评价指标,确定所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分;

基于所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分,为所述目标客户端推荐目标应用程序接口,所述目标应用程序接口包括所述n个数据维度中的数据维度。

6.根据权利要求5所述的方法,其特征在于,所述基于所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分,为所述目标客户端推荐目标应用程序接口,包括:根据l和关系式 计算所述目标客户端对每个数据维度的调用概率,f(u)表示所述n个数据维度中的第u个数据维度,l为1行n列的矩阵,l中的第t列表示所述目标客户端调用所述n个数据维度中第t个数据维度时对所述第t个数据维度的评分;

向所述目标客户端输出所述目标应用程序接口,所述目标应用程序接口包括所述计算得到的调用概率中大于第一阈值的调用概率对应的数据维度。

7.一种推荐数据资源服务应用程序接口的装置,其特征在于,所述数据资源应用程序接口包括一个或多个数据维度,所述一个或多个数据维度中的每个数据维度为n个数据维度中的数据维度,所述数据维度是指最小数据调用单元,n为大于1的整数,所述装置包括:获取模块,用于获取m个客户端中每个客户端对所述n个数据维度中每个数据维度的调用反馈信息,所述调用反馈信息包括以下信息中一种或多种:可使用度、质量满意度、实时性、价格满意度和是否调用成功,所述m为大于1的整数;

所述获取模块还用于获取所述每个客户端对所述每个数据维度的调用意向信息,所述调用意向信息用于指示所述每个客户端对所述每个数据维度是否进行过搜索和/或订阅;

所述获取模块还用于获取所述每个客户端对所述每个数据维度的调用次数;

所述获取模块还用于获取所述每个客户端对所述每个数据维度的调用成功率;

综合评价指标模块,用于根据所述每个客户端对所述每个数据维度的调用反馈信息,确定所述每个客户端对所述每个数据维度的综合评价指标;

最终评价指标模块,用于根据所述每个客户端对所述每个数据维度的综合评价指标、所述每个客户端对所述每个数据维度的调用次数、所述每个客户端对所述每个数据维度的调用成功率、所述每个客户端对所述每个数据维度的调用意向信息,确定所述每个客户端对所述每个数据维度的最终评价指标;

训练模块,用于根据所述每个客户端对所述多个数据维度的最终评价指标对神经网络模型进行训练,所述神经网络模型用于基于所述每个客户端对所述多个数据维度的最终评价指标确定所述每个客户端调用所述多个数据维度中每个数据维度时对所述每个数据维度的评分。

8.一种芯片,其特征在于,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述至少一个处理器用于运行计算机程序或指令,以执行如权利要求1至6中任一项所述的方法。

9.一种计算设备,其特征在于,包括:储器和处理器;

所述存储器用于存储程序指令;

所述处理器用于调用所述存储器中的程序指令执行如权利要求1至6中任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于计算机执行的程序代码,该程序代码包括用于执行如权利要求1至6任一项所述的方法的指令。

说明书 :

推荐数据资源服务应用程序接口的方法及装置

技术领域

[0001] 本申请涉及信息技术领域,尤其涉及一种推荐数据资源服务应用程序接口的方法及装置。

背景技术

[0002] 随着计算机技术和软件开发技术的不断发展,为了满足用户的各种需求,应用程序(application,APP)的功能越来越多样化,而为了提高APP的封装性和移植能力,通常会采用应用编程接口(application programming interface,API)的形式对外提供服务和功能访问。相应地,针对不同的功能、开发平台和编程语言,互联网上产生了大量的API,因此,如何从大量的数据资源中向用户推荐满足具体需求的API,一直是相关研究中的重点。
[0003] 现有的推荐数据资源中的API的方法大多是通过语义的相似度,即根据用户搜索推荐最相似的接口,作为一种示例,假设用户需要的信息为“基础信息”,则现有的接口推荐方法将会从数据资源服务中将与“基础信息”语义相似度高的API名称推荐给用户。
[0004] 但是现有的推荐数据资源中的API的方法准确率不高。

发明内容

[0005] 本申请提供一种推荐数据资源服务应用程序接口的方法,可以提高推荐数据资源中的API的准确率。
[0006] 第一方面,本申请提供一种推荐数据资源服务应用程序接口的方法。
[0007] 所述数据资源应用程序接口包括一个或多个数据维度,所述一个或多个数据维度中的每个数据维度为n个数据维度中的数据维度,所述数据维度是指最小数据调用单元,n为大于1的整数。
[0008] 所述方法包括:获取m个客户端中每个客户端对所述n个数据维度中每个数据维度的调用反馈信息,所述调用反馈信息包括以下信息中一种或多种:可使用度、质量满意度、实时性、价格满意度和是否调用成功,所述m为大于1的整数;获取所述每个客户端对所述每个数据维度的调用意向信息,所述调用意向信息用于指示所述每个客户端对所述每个数据维度是否进行过搜索和/或订阅;获取所述每个客户端对所述每个数据维度的调用次数;获取所述每个客户端对所述每个数据维度的调用成功率;根据所述每个客户端对所述每个数据维度的调用反馈信息,确定所述每个客户端对所述每个数据维度的综合评价指标;根据所述每个客户端对所述每个数据维度的综合评价指标、所述每个客户端对所述每个维度数据的调用次数、所述每个客户端对所述每个数据维度的调用成功率、所述每个客户端对所述每个数据维度的调用意向信息,确定所述每个客户端对所述每个数据维度的最终评价指标;根据所述每个客户端对所述每个数据维度的最终评价指标对神经网络模型进行训练,所述神经网络模型用于基于所述每个客户端对所述n个数据维度的最终评价指标确定所述每个客户端调用所述n个数据维度中每个数据维度时对所述每个数据维度的评分。
[0009] 本申请提供的推荐数据资源服务应用程序接口的方法,将数据资源中的接口细化为具体的数据维度,通过将客户对每个维度的调用反馈信息转换为综合评价指标、再将调用意向信息、调用次数和调用成功率作为参考信息,获得最终的评价指标来训练神经网络模型,从而获得对每个维度的打分值。本申请技术方案中,由于是从综合评价指标、调用意向信息、调用次数和调用成功率4个方面对客户的数据进行分析,相比分析单个指标,能够更加全面的反映客户的数据,其次,通过将数据资源中的接口细化为具体的数据维度,可以将客户对API的需求进一步细化到对某个维度的需求,从而获得了客户对每个维度的打分值,进一步地,根据打分值来推荐数据资源中的API,可以提高推荐的API的准确率。
[0010] 结合第一方面,在第一种可能的实现方式中,根据每个客户端对每个数据维度的调用反馈信息,确定每个客户端对每个数据维度的综合评价指标,包括:根据每个客户端对每个数据维度的调用反馈信息确定n个第一矩阵,每个第一矩阵为m行P列的矩阵,所述n个第一矩阵中第k个矩阵中的第i1行第j1列表示所述m个客户端中第i1个客户端对所述n个数据维度中第k个数据维度的第j1个评价值,所述P列至少包括以下一列或多列评价值:可使用度、质量满意度、实时性、价格满意度和是否调用成功,P为大于0的整数,k为小于n的整数,i1为小于m的整数,j1为小于P的整数;为n个第一矩阵中每个第一矩阵分配对应的权重λ;根据每个第一矩阵对应的权重和每个第一矩阵,确定每个数据维度对应的第二矩阵,所述第二矩阵为m行的列向量,第二矩阵中第i2行表示m个客户端中第i2个客户端对第二矩阵对应的数据维度的综合评价指标,i2为小于m的整数;根据每个数据维度对应的第二矩阵,确定综合评价指标矩阵,所述综合评价指标矩阵为m行n列的矩阵,所述综合评价指标矩阵中的第i3行第j3列表示m个客户端中第i3个客户端对n维度中第j3个数据维度的综合评价指标,i3为小于m的整数,j3为小于n的整数。
[0011] 本申请提供的推荐数据资源服务应用程序接口的方法,通过对每个维度先进行多个方面的评价,再将多个方面的评价进行加权求和获得每个维度的综合评价,最后形成m个客户端对所有的维度的综合评价指标,从而获得了m个客户端在所有维度上的综合评价指标。
[0012] 结合第一方面,在第二种可能的实现方式中,根据每个客户端对每个维数据度的综合评价指标、每个客户端对所述每个数据维度的调用次数、每个客户端对每个数据维度的调用成功率、每个客户端对每个数据维度的调用意向信息,确定每个客户端对每个数据维度的最终评价指标,包括:根据综合评价指标矩阵T、调用次数矩阵B、调用成功率矩阵C,调用意向信息矩阵S,确定最终评价指标矩阵R,其中R=α(S+B+C)+βT,B为m行n列的矩阵,B中第i4行第j4列表示m个客户端中第i4个客户端对n个数据维度中第j4个数据维度的调用次数,C中的第i5行第j5列表示m个客户端中第i5个客户端对n个数据维度中第j5个数据维度的调用成功率,S中的第i6行第j6列表示m个客户端中第i6个客户端对n个数据维度中第j6个数据维度的调用意向信息,所述α和β预设的权重,i4、i5和i6为小于m的整数,j4、j5和j6为小于n的整数。
[0013] 结合第一方面,在第三种实现方式中,所述神经网络模型的参数满足如下关系式:
[0014] h(r;θ)=f(W·g(Vr+μ)+b),
[0015] 所述神经网络模型的优化函数如下:
[0016]
[0017] 其中,i表示R中的第i行,θ表示所述神经网络模型的参数,r(i)表示R中的第i行,f和g分别表示神经网络模型的输出层和隐藏层的激活函数,W、V、μ、b、γ为预设的参数。
[0018] 结合第一方面或上述任意一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括;获取目标客户端对所述每个数据维度的最终评价指标;使用所述训练后的神经网络模型基于所述目标客户端对所述每个数据维度的最终评价指标,确定所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分;基于所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分,为所述目标客户端推荐目标应用程序接口,所述目标应用程序接口包括所述n个数据维度中的数据维度。
[0019] 结合第四种实现方式,在第五种可能的实现方式中,所述基于所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分,为所述目标客户端推荐目标应用程序接口,包括:
[0020] 根据l和关系式 计算所述目标客户端对每个数据维度的调用概率,f(u)表示所述n个数据维度中的第u个数据维度,l为1行n列的矩阵,l中的第t列表示所述目标客户端调用所述n个数据维度中第t个数据维度时对所述第t个数据维度的评分;向所述目标客户端输出所述目标应用程序接口,所述目标应用程序接口包括所述计算得到的调用概率中大于第一阈值的调用概率对应的数据维度。
[0021] 本申请的本申请提供的推荐数据资源服务应用程序接口的方法,结合客户端对数据资源中的所有维度打分值,与数据资源中的API进行比较,从而推荐出更符合客户端的API,提升了推荐的准确率。
[0022] 第二方面,本申请提供一种推荐数据资源服务应用程序接口的装置,该装置包括用于实现第一方面或其中任意一种可能的实现方式中的推荐方法的各个功能模块。
[0023] 第三方面,本申请提供一种芯片,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述至少一个处理器用于运行计算机程序或指令,以执行如第一方面或其中任意一种可能的实现方式所述的推荐数据资源服务应用程序接口的方法。
[0024] 第四方面,本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面或其中任意一种可能的实现方式所述的推荐数据资源服务应用程序接口的方法。
[0025] 第五方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如第一方面或其中任意一种可能的实现方式所述的推荐数据资源服务应用程序接口的方法。

附图说明

[0026] 图1为本申请一个实施例提供的数据资源服务API系统的示意图;
[0027] 图2为本申请一个实施例提供的推荐数据资源服务应用程序接口的方法的示意性流程图;
[0028] 图3为本申请另一个实施例提供的确定每个客户端对每个数据维度的综合评价指标示意性流程图;
[0029] 图4为本申请一个实施例提供的推荐数据资源服务应用程序接口的装置的结构示意图;
[0030] 图5为本申请另一个实施例提供的推荐数据资源服务应用程序接口的装置的结构示意图。

具体实施方式

[0031] 为于理解,首先对本申请所涉及到的相关术语进行说明。
[0032] 1、应用编程接口
[0033] 应用编程接口(application programming interface,API)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码或理解内部工作机制的细节。
[0034] 近年来,互联网和云计算等技术的迅猛发展导致全球网络数据爆炸性的增长。一方面推动了数据的共享和利用,另一方面也造成了“信息过载”的问题。在数据资源服务领域,目前一些数据资源服务系统管理着许多提供各种数据维度的接口,一些是标准API,维度较单一,还有一些是为实现客户端的个性化需求而提供的API。
[0035] 2、个性化推荐系统
[0036] 个性化推荐系统是互联网大数据和海量数据处理技术相结合的应用最广泛的领域之一,它是建立在海量数据挖掘基础上的一种高级商务智能平台,向顾客提供个性化的信息服务和决策支持。近年来已经出现了许多非常成功的大型推荐系统实例,与此同时,个性化推荐系统也逐渐成为学术界的研究热点之一。随着推荐技术的研究和发展,其应用领域也越来越多。例如,新闻推荐、商务推荐、娱乐推荐、学习推荐、生活推荐、决策支持等。
[0037] 图1为本申请一个实施例提供的数据资源服务API系统的示意图。如图1所示,本申请的API系统包括客户端110、推荐装置120和数据资源服务平台130。客户端110可以是需要调用数据资源服务平台130中API的用户,数据资源服务平台130包括能够为用户提供数据的多种API。作为一种示例,客户端110可以是银行或者是金融贷款机构,当他们需要分析大量用户的信用指标时候,就需要采集用户各种各样的指标,此时便可以调用数据资源服务平台130中的一些API,该API中包括各种各样的信息。
[0038] 对于图1所示的API系统,当客户端110需要使用数据资源服务平台130中的一些API时,推荐装置120会根据其包括的推荐算法,从数据资源服务平台130中推荐出一些API,以满足用户的需求。
[0039] 现有的API推荐方法大多是通过语义的相似度,即根据用户搜索推荐最相似的接口,作为一种示例,假设用户需要的信息为“基础信息”,则现有的接口推荐方法将会从数据资源服务中将与“基础信息”语义相似度高的API名称推荐给用户。
[0040] 但是现有的API推荐装置不能从API的维度方面去进行推荐,导致推荐准确率不高。例如,用户需要信息是一些包括年龄、性别和上网时长的基础信息,然后在数据资源服务中搜索基础信息,那么在推荐给用户的API中,有些API中可能只包括了年龄和性别两个信息,不能满足用户对上网时长的需求,而有些API中除了包括该三个基础信息外,有可能还包括家庭地址、个人信用等维度的信息,而这些信息对用户来说其实是不必要的,导致了资源的浪费。
[0041] 鉴于此,本申请提供一种对数据资源服务中的API的推荐方法,将数据资源中的接口细化为具体的数据维度,通过将客户端对每个维度的调用反馈信息转换为综合评价指标、再将调用意向信息、调用次数和调用成功率作为参考信息,获得最终的评价指标来训练神经网络模型,进一步获得对每个维度的打分值,用来表示客户端对每个维度的倾向,从而推荐出更符合客户端的API,进一步提升推荐的准确率。
[0042] 图2为本申请一个实施例提供的推荐数据资源服务应用程序接口的方法的示意性流程图。本实施例中,所述数据资源包括n个数据维度,所述n个数据维度中每个数据维度为数据资源中最小数据调用单元,n为大于1的整数。如图2所示,本实施例的方法可以包括:S201、S202、S203、S204、S205、S206和S207。该推荐方法可以由图1所示的推荐装置120来执行。
[0043] S201、获取m个客户端中每个客户端对n个数据维度中每个数据维度的调用反馈信息,所述调用反馈信息包括以下信息中一种或多种:可使用度、质量满意度、实时性、价格满意度和是否调用成功。
[0044] 本实施例中,n个数据维度用于表示数据资源中的不同信息,例如可以由姓名维度、性别维度等。
[0045] 本实施例中,从可使用度、质量满意度、实时性、价格满意度和是否调用成功来反映客户端对每一个维度的评价。
[0046] 应理解,通过客户端对每个数据维度的调用反馈信息,可以获知每个客户端对某一个数据维度的偏好与倾向。
[0047] 作为一种示例,假设认为0.5以下的数值表示对维度不满意,在某个客户端的反馈信息中,使用度是0.6,质量满意度是0.6、实时性是0.9、价格满意度是0.9、调用成功率是0.9,则认为某个客户端对该维度的评价都很高,也就是较倾向于该维度。
[0048] 在一种可实施方式中,可以通过调查问卷的形式,收集m个客户端对n个数据维度中每个数据维度的反馈信息,本申请实施例对此不做限定。
[0049] 作为一种示例,假设反馈信息是一个P列的向量,每一列都代表了一个评价值,其中,该P列的向量至少包括以下一列或多列评价值:可使用度、质量满意度、实时性、价格满意度和是否调用成功,那么,对于m个客户端,对于一个维度的调用反馈信息将会是一个m行P列的矩阵,由于总共有n个数据维度,也就是说总共有n个m行P列的矩阵。
[0050] S202、获取每个客户端对数据资源中每个数据维度的调用意向信息,所述调用意向信息用于指示每个客户端对所述每个数据维度是否进行过搜索和/或订阅。
[0051] 本实施例中,获取的调用意向信息是细化到数据资源中每个数据维度的调用意向信息,例如,数据资源中包括姓名、年龄、性别和上网年龄4个维度,则在获取调用意向信息时,对该4个维度都进行调用意向信息获取。
[0052] 应理解,对某一个维度的调用意向信息可以用于指示每个客户端对每个数据维度的搜索和/或订阅,例如某个客户端对某一个数据维度的搜索次数很高,或者订阅次数很多,则说明该客户端对该维度的意向比较高,也就是较倾向于该维度。
[0053] 在一种可实施方式中,可以通过调查问卷、数据资源系统后台所采集的客户端收缩和订阅数据来构建m个客户端对数据资源中每个数据维度的调用意向信息。
[0054] S203、获取每个客户端对数据资源中每个数据维度的调用次数。
[0055] 应理解,获取客户端对每个数据维度的调用次数,可以获知客户端对该维度的使用频率,也就是说如果调用次数越多,证明客户端较倾向于该维度。
[0056] 例如,数据资源中总共包括10个维度,某个客户端对该10个维度中有的维度信息是不需要的,也就是说不需要进行调用的,即调用次数为0,此时如果将该维度的信息推荐给客户端,会导致该资源的浪费。
[0057] 应理解,调用次数可以是0到1区间内的一个值,越接近于1表示调用次数越高,也可以是根据实际的调用次数来确定,例如对某个客户端对其中一个维度调用了5次,那么该调用次数就是5。
[0058] 在此说明的是,调用次数的表示可以根据不同情况来确定,本申请实施例对此不做限定。
[0059] S204、获取每个客户端对数据资源中每个数据维度的调用成功率。
[0060] 应理解,客户端对数据资源中每个数据维度的调用成功率可能会直接影响到客户端的体验,因此本申请实施例对调用成功率也进行获取,从而获得更加全面的客户端对每个维度的评价。
[0061] 在此说明的是,步骤S201到S204的执行不分先后顺序。
[0062] S205、根据每个客户端对每个数据维度的调用反馈信息,确定每个客户端对每个数据维度的综合评价指标。
[0063] 由S201可知,对于一个维度,获取的客户端的调用反馈信息包括:可使用度、质量满意度、实时性、价格满意度和是否调用成功,即对于一个维度获了多个评价值,本实施例中,在步骤S201基础之上,对多个评价值进行综合,获得对每个数据维度的综合评价指标。
[0064] 在一种可实施方式中,可以对可使用度、质量满意度、实时性、价格满意度和是否调用成功进行加权求和,来获得每一个维度的综合评价指标。
[0065] S206、根据每个客户端对每个数据维度的综合评价指标、每个客户端对每个数据维度的调用次数、每个客户端对每个数据维度的调用成功率、每个客户端对每个数据维度的调用意向信息,确定每个客户端对每个数据维度的最终评价指标。
[0066] 应理解,每个数据维度的综合评价指标、每个数据维度的调用次数、每个数据维度的调用成功率、每个数据维度的调用意向信息分别表示了对于一个维度的多项指标,也就是说,对于每一个维度,都从这四个指标去进行评价,因此,为了更加全面的分析用户对于维度的倾向程度,可以通过该四个指标,进一步获得每个客户端对每个数据维度的最终评价指标。
[0067] 应理解,对于n个数据维度,就会有n个最终评价指标。
[0068] 还应理解,对于m个客户端,其对对n个数据维度的最终评价矩阵可以是一个m行n列矩阵。
[0069] 在一种可实现方式中,可以对上述四个评价指标进行加权求和,得到对每一个数据维度的最终评价指标。
[0070] S207、根据每个客户端对多个数据维度的最终评价指标对神经网络模型进行训练,所述神经网络模型用于基于每个客户端对多个数据维度的最终评价指标确定每个客户端调用多个数据维度中每个数据维度时对每个数据维度的评分。
[0071] 本实施例中,使用神经网络模型作为对每个数据维度进行评分的模型,从而根据对每个维度的评分,来获知客户端对每个维度的倾向度,进一步地,可以根据对每个维度的评分,来推荐出更符合客户端的API。
[0072] 作为一种示例,在获得了m个客户端对每个数据维度的最终评价指标后,就可以将每个客户端对n个数据维度的最终评价指标作为神经网络模型的输入,来训练神经网络模型,从而获得可以对最终评价指标进行打分的模型。
[0073] 在一种可实施方式中,所述神经网络模型的参数满足如下关系式:
[0074] h(r;θ)=f(W·g(Vr+μ)+b),
[0075] 所述神经网络模型的优化函数如下:
[0076]
[0077] 其中,i表示R中的第i行,θ表示所述神经网络模型的参数,r(i)表示R中的第i行,f和g分别表示所述神经网络模型的输出层和隐藏层的激活函数,W、V、μ、b、γ为预设的参数。
[0078] 在此说明的是,对神经网络模型的训练可以参考相关技术,此处不再赘述。
[0079] 本申请提供的推荐数据资源服务应用程序接口的方法,由于是从综合评价指标、调用意向信息、调用次数和调用成功率4个方面对客户端的数据进行分析,相比分析单个指标,能够更加全面的反映客户端的数据,其次,由于将数据资源中的接口细化为具体的数据维度,可以将客户端对API的需求进一步细化到对某个维度的需求,从而在获得神经网络模型对客户端对每个维度的打分值之后,可以推断出客户端对每个具体维度的倾向,从而可以进一步提高推荐数据资源中的API的准确率。
[0080] 作为一个可选的实施例,根据每个客户端对每个数据维度的调用反馈信息,确定每个客户端对每个数据维度的综合评价指标,即S205的一种实现方式可以包括如下步骤一至步骤四。
[0081] 步骤一、根据每个客户端对每个数据维度的调用反馈信息确定n个第一矩阵,每个所述第一矩阵为m行P列的矩阵。所述n个第一矩阵中第k个矩阵中的第i1行第j1列表示m个客户端中第i1个客户端对n个数据维度中第k个数据维度的第j1个评价值,P列至少包括以下一列或多列评价值:可使用度、质量满意度、实时性、价格满意度和是否调用成功,P为大于0的整数,k为小于n的整数,i1为小于m的整数,j1为小于P的整数。
[0082] 本实施例中,通过矩阵的方式来表示每个客户端对每个数据维度的调用反馈信息。
[0083] 对于一个客户端,其对每个维度的评价至少包括对可使用度、质量满意度、实时性、价格满意度和是否调用成功的评价值,假设每个维度的评价是一个P维的向量,则m个用户对同一个维度的评价可以认为是一个m行P列的矩阵,即第一矩阵。
[0084] 由于数据资源服务中包括n个数据维度,因此对于n个数据维度来说,总共包括n个m行P列的第一矩阵。
[0085] 应理解,n个第一矩阵中第k个矩阵中的第i1行第j1列表示m个客户端中第i1个客户端对第k个数据维度的第j1个评价值。
[0086] 作为一种示例,有10个维度,对于每一个维度的评价值包括可使用度、质量满意度、实时性、价格满意度和是否调用成功的评价值5个方面,现在假设有20个客户端,那么对于这10个维度中的每一个维度的第一矩阵是一个1行5列的向量,对于20个客户端来说,对每一个维度都有着5个方面的评价值,也就是说对于每一个维度都是一样20行5列的第一矩阵,又由于总共包括10个维度,因此总共有10个20行5列的第一矩阵。
[0087] 步骤二、为n个第一矩阵中每个第一矩阵分配对应的权重λ。
[0088] 应理解,由于第一矩阵中包括的是m个客户端中的每一个客户端对同一个维度在多个方面的评价值,为了能够更加全面的分析该维度,可以对第一矩阵中同一个维度的多个方面的评价值赋予不同的权重值,从而获得对该维度的进一步分析。
[0089] 在一种可实施方式中,假设每个维度的评价是一个P维的向量,则可以对该P维的向量中的每一个值分配一定的权重。
[0090] 作为一种示例,在可使用度、质量满意度、实时性、价格满意度和是否调用成功5个评价值中,如果认为可使用度和是否调用成功对于分析客户端数据的更加重要,则可以将可使用度和是否调用成功的权重设置的大一些。
[0091] 步骤三、根据每个第一矩阵对应的权重和每个第一矩阵,确定每个数据维度对应的第二矩阵,所述第二矩阵为m行的列向量。所述第二矩阵中第i2行表示m个客户端中第i2个客户端对第二矩阵对应的数据维度的综合评价指标,i2为小于m的整数;
[0092] 应理解,在为每个第一矩阵分配对应的权重λ后,将第一矩阵中的每一项与权重λ中的每一项加权求和,第一矩阵就变成了m行1列的向量,即第二矩阵,也就是说,在第二矩阵中,对于一个维度的评价变成了由第一矩阵中的多个评价值形成的综合评价指标,也就是用一个数值来表达。
[0093] 步骤四、根据每个数据维度对应的第二矩阵,确定综合评价指标矩阵,所述综合评价指标矩阵为m行n列的矩阵。所述综合评价指标矩阵中的第i3行第j3列表示m个客户端中第i3个客户端对n维度中第j3个数据维度的综合评价指标,i3为小于m的整数,j3为小于n的整数。
[0094] 由于数据资源中包括n个数据维度,因此包括n个第二矩阵,通过对该n个数据维度的第二矩阵进行分析,就可以确定m个客户端的每个客户端对所有维度的综合评价指标。
[0095] 应理解,m个客户端对所有维度的综合评价指标可以表示成综合评价矩阵,由于一个客户端对所有维度的综合评价指标是一个1行n列的矩阵,因此,m个客户端对所有维度的综合评价指标可以表示成一个m行n列的矩阵。
[0096] 本申请提供的推荐数据资源服务应用程序接口的方法,通过对每个维度先进行多个方面的评价,再将多个方面的评价进行加权求和获得每个维度的综合评价,最后形成m个客户端对所有的维度的综合评价指标,从而获得了m个客户端在所有维度上的综合评价指标。
[0097] 作为一个可选的实施例,S206的一种可实现方式为:根据综合评价指标矩阵T、调用次数矩阵B、调用成功率矩阵C,调用意向信息矩阵S,确定最终评价指标矩阵R,其中R=α(S+B+C)+βT,B为m行n列的矩阵,B中第i4行第j4列表示m个客户端中第i4个客户端对n个数据维度中第j4个数据维度的调用次数,C中的第i5行第j5列表示所述m个客户端中第i5个客户端对n个数据维度中第j5个数据维度的调用成功率,S中的第i6行第j6列表示m个客户端中第i6个客户端对n个数据维度中第j6个数据维度的调用意向信息,α和β预设的权重,i4、i5和i6为小于m的整数,j4、j5和j6为小于n的整数。
[0098] 本实施例中,将综合评价指标矩阵用T表示、调用次数矩阵用B表示、调用成功率矩阵用C表示、调用意向信息矩阵用S表示,其均是m行n列的矩阵,其中,综合评价指标矩阵T具体的实现方式可以参考图3所示实施例,调用次数矩阵B、调用成功率矩阵C和调用意向信息矩阵S的具体实现方式可参考图2所述实施例,此处不再赘述。
[0099] 应理解,为了进一步对客户端的数据进行全方面分析,可以在获得综合评价指标矩阵T之后,还可以将调用次数矩阵B、调用成功率矩阵C、调用意向信息矩阵S作为参考矩阵,获得最终评价指标矩阵R。
[0100] 在一种可实现方式中,可以对客户端的综合评价指标矩阵、调用次数矩阵B、调用成功率矩阵C和调用意向信息矩阵S分配一定的权重,获得最终的评价指标矩阵R。例如,R=α(S+B+C)+βT,所述α和β预设的权重。
[0101] 作为一种示例,如果认为调用次数矩阵B和调用意向信息矩阵S对评价客户端对维度的倾向方面更加重要,则可以将调用次数矩阵B和调用意向信息矩阵S的权重占比设置的高一点。
[0102] 本申请提供的推荐数据资源服务应用程序接口的方法,进一步获得了更全面的评价指标。
[0103] 本申请提出的技术方案中,对神经网络模型进行训练之后,如图3所示,本申请提出的推荐API的方法中可以包括S301、S302和S303。
[0104] S301,获取目标客户端对所述每个数据维度的最终评价指标。
[0105] 该步骤的实现方式可以参考图2所示的实施例中获取m个客户端中每个客户端对每个数据维度的最终评级指标的实现方式,此处不再赘述。
[0106] S302,使用训练后的神经网络模型基于所述目标客户端对所述每个数据维度的最终评价指标,确定所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分。
[0107] 具体地,使用图2实施例中训练得到的神经网络模型基于所述目标客户端对所述每个数据维度的最终评价指标,确定所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分。
[0108] S303,基于所述目标客户端调用所述每个数据维度时对所述每个数据维度的评分,为所述目标客户端推荐目标应用程序接口,所述目标应用程序接口包括所述n个数据维度中的数据维度。
[0109] 作为一个可选的实施例,可以将目标客户端对n个数据维度中每个数据维度的评分l输入关系式 计算得到目标客户端对每个接口的调用概率,f(u)表示数据资源中的第u个数据维度,所述f(u)为1行n列的矩阵,l为1行n列的矩阵,l中的第t列表示所述目标客户端调用所述n个数据维度中第t个数据维度时对所述第t个数据维度的评分;并向目标客户端输出计算得到的调用概率中大于第一阈值的调用概率对应的数据维度构成的API。
[0110] 本申请实施例中,当将目标客户端的最终评价指标输入到训练好的神经网络模型之后,该神经网络模型会对数据资源服务中的每个维度进行打分,获得n个数据维度评分l,表示目标客户端对每个维度的倾向,然后便可以根据每个维度的打分值进行API的推荐。
[0111] 应理解,如果评分l中的某个维度为0,证明目标客户端对该维度几乎没有倾向;如果评分l中的某个维度不为0,证明目标客户端对该维度可能会有倾向,因此可以将评分l与数据资源中已有的API进行比较,推荐出认为最符合目标客户端的API。
[0112] 作为一种示例,假设总共包括年龄、性别、地址、上网时长和电话5个数据维度的资源平台,最终的评分l为[0,0.6,0,0.5,0.6],说明目标客户端对性别、上网时长和电话可能有倾向,此时便可以将该三个指标与目标资源中的API进行比较,获得最符合目标客户端的API。
[0113] 本实施例中,数据资源服务中的API用f(u)表示,u表示该数据资源服务中的第u个接口。其中,对于f(u),可以是一个1行m列的矩阵。
[0114] 在获得评分l后,可以对数据资源服务中包括的API构建其表达式。如果评分l中包括的维度不为0,也就是说目标客户端对该维度可能有倾向,此时,如果API中包括该不为0的维度,则将其表示为1,如果不包括不为0的维度,则将其表示为0。
[0115] 作为一种示例,对于上述最终的评分l为[0,0.6,0,0.5,0.6],如果数据资源平台中有个API,其包括了该最终评分里面不为0的维度,即性别、上网时长和电话,则将其对应的位置标记为1,如果其不包括不为0的维度,则将其标记为0。
[0116] 在一种可实施方式中,将评分l与数据资源中已有的API进行比较,推荐出认为最符合目标客户端的API,可以通过将目标客户端对n个数据维度中的数据的评分l输入关系式 获得目标客户端对每个接口的调用概率,当获得了对每个接口的调用概率后,就可以向目标客户端输出大于第一阈值的调用概率对应的接口,例如定义的第一阈值是0.5,就可以将调用概率大于0.5的接口推荐给目标客户端。
[0117] 本申请提供的推荐数据资源服务应用程序接口的方法,结合客户端对数据资源中的所有维度打分值,与数据资源中的API进行比较,从而推荐出更符合客户端的API,提升了推荐的准确率。
[0118] 图4为本申请一个实施例提供的推荐数据资源服务应用程序接口的装置的结构示意图。图4所示的推荐可以用于执行前述任意一个实施例所述的推荐数据资源服务应用程序接口的方法。
[0119] 如图4所示,本实施例的推荐装置400包括:获取模块401、综合评价指标模块402、最终评价指标模块403和训练模块404。可选地,装置400还可以包括评分模块和推荐模块。
[0120] 作为一种示例,获取模块401可以用于执行S201至S204,综合评价指标模块402可以用于执行S205,最终评价指标模块403可以用于执行S206,训练模块404可以用于执行S207。
[0121] 可选地,获取模块401还可以用于执行S301,评分模块可以用于执行S302,推荐模块可以用于执行S303。
[0122] 图5为本申请另一个实施例提供的推荐数据资源服务应用程序接口的装置的结构示意图。图5所示的装置可以用于执行前述任意一个实施例所述的方法。
[0123] 如图5所示,本实施例的装置500包括:存储器501、处理器502、通信接口503以及总线504。其中,存储器501、处理器502、通信接口503通过总线504实现彼此之间的通信连接。
[0124] 存储器501可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器501可以存储程序,当存储器501中存储的程序被处理器502执行时,处理器502用于执行图2或图3所示的方法的各个步骤。
[0125] 处理器502可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请各个实施例中的方法。
[0126] 处理器502还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请各个实施例的方法的各个步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。
[0127] 上述处理器502还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0128] 结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器501,处理器502读取存储器501中的信息,结合其硬件完成本申请的装置包括的单元所需执行的功能,例如,可以执行图2或图3任意图所示实施例的各个步骤/功能。
[0129] 通信接口503可以使用但不限于收发器一类的收发装置,来实现装置500与其他设备或通信网络之间的通信。
[0130] 总线504可以包括在装置500各个部件(例如,存储器501、处理器502、通信接口503)之间传送信息的通路。
[0131] 应理解,本申请实施例所示的装置500可以是电子设备,或者,也可以是配置于电子设备中的芯片。
[0132] 应理解,本申请实施例中的处理器可以为中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0133] 还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read‑only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
[0134] 上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
[0135] 应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0136] 本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a‑b,a‑c,b‑c,或a‑b‑c,其中a,b,c可以是单个,也可以是多个。
[0137] 应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0138] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0139] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0140] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0141] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0142] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0143] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0144] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。