CN114201669B - 一种基于词嵌入与协同过滤技术的api推荐方法 - Google Patents

一种基于词嵌入与协同过滤技术的api推荐方法 Download PDF

Info

Publication number
CN114201669B
CN114201669B CN202111391897.1A CN202111391897A CN114201669B CN 114201669 B CN114201669 B CN 114201669B CN 202111391897 A CN202111391897 A CN 202111391897A CN 114201669 B CN114201669 B CN 114201669B
Authority
CN
China
Prior art keywords
api
user
matrix
representing
similarity
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.)
Active
Application number
CN202111391897.1A
Other languages
English (en)
Other versions
CN114201669A (zh
Inventor
徐悦甡
吴寅琛
蒋志平
李�瑞
张韶远
张荷
王智莹
黑蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cdb Online Education Technology Co ltd
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202111391897.1A priority Critical patent/CN114201669B/zh
Publication of CN114201669A publication Critical patent/CN114201669A/zh
Application granted granted Critical
Publication of CN114201669B publication Critical patent/CN114201669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于词嵌入与协同过滤技术的API推荐方法,所述API推荐方法包括:S1:对API真实调用记录进行初始处理,得到API调用矩阵;S2:对所述API调用矩阵中所有用户调用API的API序列进行训练,得到API‑API相似度矩阵;S3:对所述API调用矩阵中所有API跟随用户的用户序列进行训练,得到用户‑用户相似度矩阵;S4:根据所述API调用矩阵、所述用户‑用户相似度矩阵和所述API‑API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;S6:根据所述最终预测模型,输出API推荐结果。

Description

一种基于词嵌入与协同过滤技术的API推荐方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于词嵌入与协同过滤技术的API推荐方法。
背景技术
应用程序接口(Application Programming Interface),简称API。智能物联网环境下的API推荐方法是一种收集智能物联网中程序开发人员在APP开发过程中的API使用记录,通过对程序开发人员历史行为记录进行分析来对程序开发人员进行API推荐。现有的推荐方法根据推荐所使用的数据大致可以分为三种类型:基于内容的推荐系统、基于协同过滤的推荐系统以及混合类型的推荐系统。基于内容的推荐系统是一种启发式方法,这种方法认为程序开发人员倾向于使用其经常使用的API高度相似的API。一般通过获得关于程序开发人员和API的内容文件,并计算对应相似度来进行推荐。该方法存在推荐内容单一化,局限化的问题,其只能用于对文字呈现的信息进行推荐,当面临多媒体信息内容时(如图片,影像,音频等),很难再去由它的内容计算其特征权重,此外,通过目前的内容分析方法,只能判定项目的内容相关程度,却无法得到内容到底是好还是坏。
协同过滤是一种非常经典的推荐模型。其侧重点在于通过用户与项目之间的交互行为来去进行推荐。也就是说利用系统中已存在的用户行为记录去推断用户的未来行为。纵观目前所有的协同过滤算法,大体上可以分为三类:第一类是基于用户的协同过滤;第二类是基于项目的协同过滤;第三类是基于模型的协同过滤。目前主流的协同过滤算法是基于模型的协同过滤,但是基于模型的协同过滤算法存在着冷启动和数据稀疏性的问题,当推荐系统中用户的现存数据量较少时很难取得较好的推荐效果。
现有的API推荐大多存在以下问题:
1、API根据所提供的接口所提供信息计算的相似度信息可解释性差,同时对于开放接口较少的API推荐效果较差;
2、很多API的信息中不存在Mashup的服务文档,同时对于单词共现的矩阵信息进行分解所得到的特征的信息损失较大。
发明内容
本发明的目的在于克服上述已有技术的不足,提出的模型的是一种基于矩阵分解和词嵌入的联合矩阵分解推荐方法,以提高智能物联环境中API推荐的准确度,加强了系统对于用户与API潜在特征的挖掘。
本发明解决上述技术问题的技术方案如下:
本发明提供一种基于词嵌入与协同过滤技术的API推荐方法,所述API推荐方法包括:
S1:对API真实调用记录进行初始处理,得到API调用矩阵;
S2:对所述API调用矩阵中所有用户调用API的API序列进行训练,得到API-API相似度矩阵;
S3:对所述API调用矩阵中所有API跟随用户的用户序列进行训练,得到用户-用户相似度矩阵;
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;
S6:根据所述最终预测模型,输出API推荐结果。
可选择地,所述步骤S2包括:
S21:获取所述API调用矩阵中所有用户对API调用的API序列;
S22:将所述所有用户对API调用的API序列输入至Woed2vec中进行训练,得到API的潜在特征向量;
S23:根据所述API的潜在特征向量,利用余弦相似度,得到不同API的相似度;
S24:利用所述不同API的相似度构建所述API-API相似度矩阵。
可选择地,所述步骤S23包括:
Figure GDA0003490991160000031
其中,sa,b表示APIa和APIb的相似度;wa,wb分别代表APIa和APIb的潜在特征向量,a和b分别表示APIa和APIb。
可选择地,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
可选择地,所述步骤S23包括:
Figure GDA0003490991160000032
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用户n的潜在特征向量。
可选择地,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
S44:根据所述第一损失函数,构建所述API侧调用预测模型;和/或根据所述第二损失函数,构建所述用户侧调用预测模型。
可选择地,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
Figure GDA0003490991160000041
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Ca表示第a个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
Figure GDA0003490991160000042
其中,表示API-API相似度矩阵,
Figure GDA0003490991160000043
表示第a个API的潜在特征向量,Qb表示第b个API的潜在特征向量。
可选择地,所述步骤S43中,所述第一损失函数为:
Figure GDA0003490991160000044
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure GDA0003490991160000045
表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;
Figure GDA0003490991160000046
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量。
所述步骤S43中,所述第二损失函数为:
Figure GDA0003490991160000051
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure GDA0003490991160000052
表示表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;
Figure GDA0003490991160000053
表示由调用矩阵分解以及相似矩阵分解的共同用户n的潜在特征向量,Vb表示APIb的潜在特征向量,λs为控制API相似矩阵分解在最终预测中占比的系数,sa,b表示API相似矩阵APIa和APIb的相似度,Qa由API相似度矩阵分解而来的APIa的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,Vb1表示推荐过程中所有的API特征向量,λq表示表示用来控制API特征向量正则化项的系数,Q表示推荐过程中由相似矩阵分解而来的API特征向量。
可选择地,所述步骤S44中,所述API侧调用预测模型为:
Figure GDA0003490991160000054
其中,
Figure GDA0003490991160000055
表示API侧调用预测模型,
Figure GDA0003490991160000056
表示API侧联合矩阵分解所得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的APIb的潜在特征向量,n表示用户n,b表示APIb。
所述步骤S44中,所述用户侧调用预测模型为:
Figure GDA0003490991160000061
其中,
Figure GDA0003490991160000062
表示用户侧调用预测模型,
Figure GDA0003490991160000063
表示API侧联合矩阵分解所得的用户m的潜在特征向量,Va表示联合矩阵分解所得的API a的潜在特征向量,m表示用户m,a表示APIa。
可选择地,其特征在于,所述步骤S5中,所述最终预测模型为:
Figure GDA0003490991160000064
其中,
Figure GDA0003490991160000065
表示最终预测模型,α为权重系数且α∈[0,1],
Figure GDA0003490991160000066
表示用户侧调用预测模型,
Figure GDA0003490991160000067
表示API侧调用预测模型,i表示用户i,j表示APIj。
本发明具有以下有益效果:
本发明与现有技术相比具有如下优点:
第一,本发明设计了一种能够对于智能物联环境中不同种类信息进行挖掘和融合的联合矩阵分解模型。建立了一个基于神经网络,相似度计算,矩阵分解的协同API推荐框架。
第二,本发明在构造用户特征向量与API特征向量时,使用了Word2Vec模型来计算不同用户之间与不同API之间的相似度,然后通过对相似矩阵分解来获取用户特征向量与API特征向量。通过神经网络获取到了用户和API的隐藏高阶特征。
第三,本发明在训练用户特征向量与API特征向量时,将用户-API调用矩阵以及相似度矩阵通过公共的特征向量进行联合矩阵分解,训练得到具有两个矩阵丰富信息的特征向量,从而提升了推荐的准确性。
第四,本发明分别在用户侧以及API侧进行了联合矩阵分解,然后将这两侧的预测结果进行线性结合,利用这种方法将用户的隐藏信息与API的隐藏信息进行结合,大大提高了最终的推荐准确性。
附图说明
图1为本发明实施例所提供的基于词嵌入与协同过滤技术的API推荐方法的流程图;
图2为图1中步骤S2的分步骤流程图;
图3为图1中步骤S3的分步骤流程图;
图4为图1中步骤S4的分步骤流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例
本发明提供一种基于词嵌入与协同过滤技术的API推荐方法,参考图1所示,所述API推荐方法包括:
S1:对API真实调用记录进行初始处理,得到API调用矩阵;
在本发明所提供的具体实施方式中,首先从真实环境下收集若干用户对API的调用记录,然后将其整理为用户-API调用矩阵,可以设置矩阵中1表示该用户调用过相关的API,0表示对应用户未调用过相应的API。
这样,将所有零散的用户-API调用记录整理成用户API调用矩阵,能够便于对用户-API的调用记录进行存储,从而便于对整体的行为数据记录进行统一的操作,以便于系统后面进行推荐。
S2:对所述API调用矩阵中所有用户调用API的API序列进行训练,得到API-API相似度矩阵;
可选择地,参考图2所示,所述步骤S2包括:
S21:获取所述API调用矩阵中所有用户对API调用的API序列;
将用户-API调用矩阵整理为用户对API调用的API序列,每个用户的调用API记录都可以视为一个API序列,把所有API序列整合为一个文档,得到Word2Vec的输入数据。
S22:将所述所有用户对API调用的API序列输入至Woed2vec中进行训练,得到API的潜在特征向量;
将用户调用API的API序列输入到Word2vec中进行训练,得到API的潜在特征向量。
这样可以通过将API序列整体化处理,通过神经网络挖掘API序列所隐藏的不同于整体调用记录中的高阶潜在特征信息,从而得到API具有API序列信息的潜在特征向量,将更多的API信息融入到推荐过程中去。
S23:根据所述API的潜在特征向量,利用余弦相似度,得到不同API的相似度;
通过对不同API之间进行相似度计算,能够去挖掘API相似矩阵中所隐藏的整体潜在特征信息,从而将基础用户-API调用矩阵分解所无法获得的API信息融入到推荐过程中,进而提高推荐效果。
可选择地,所述步骤S23包括:
Figure GDA0003490991160000081
其中,sa,b表示APIa和APIb的相似度;wa,wb分别代表APIa和APIb的潜在特征向量,a和b分别表示APIa和APIb。
S24:利用所述不同API的相似度构建所述API-API相似度矩阵。
S3:对所述API调用矩阵中所有API跟随用户的用户序列进行训练,得到用户-用户相似度矩阵;
可选择地,参考图3所示,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
将原始数据整理为每个API跟随用户的用户序列。每个API的跟随用户记录都可以视为一个用户序列,把所有的用户序列整合为一个文档,得到Word2Vec的输入数据。
这样可以通过将用户序列整体化处理,通过神经网络挖掘用户序列所隐藏的不同于整体调用记录中的用户潜在特征信息,从而得到用户具有用户序列信息的潜在特征向量,将更多的用户信息融入到推荐过程中去,从而提升最终的推荐效果。
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
通过对不同用户之间进行相似度计算,能够去挖掘用户相似矩阵中所隐藏的用户整体潜在特征信息,从而将基础用户-API调用矩阵分解所无法获得的用户信息融入到推荐过程中,来提高推荐效果。
可选择地,所述步骤S33包括:
Figure GDA0003490991160000091
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用户n的潜在特征向量。
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
可选择地,参考图4所示,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
对用户-API调用矩阵进行矩阵分解,将矩阵中的调用记录表征为用户潜在特征向量与API潜在特征向量的内积:
Figure GDA0003490991160000092
其中,R表示用户-API调用矩阵,U和V分别表示用户潜在特征与API潜在特征,Um和Va分别表示表示用户m对应的潜在特征向量和APIa对应的潜在特征向量。
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
可选择地,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
Figure GDA0003490991160000101
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Cn表示第n个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
Figure GDA0003490991160000102
其中,表示API-API相似度矩阵,
Figure GDA0003490991160000103
表示第a个API的潜在特征向量,Qb表示第b个API的潜在特征向量。
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
同时进行两个矩阵的分解,其中以用户特征向量/API特征向量作为共同特征,进行联合矩阵分解,来挖取特征信息更加丰富的特征向量。
联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息与用户相似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的用户潜在特征信息,从而在最后推荐时利用更多的用户信息进行推荐,得到更好的推荐效果。和/或联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息与API相似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的API潜在特征信息,从而在最后推荐时利用更多的API信息进行推荐,得到更好的推荐效果。
可选择地,所述步骤S43中,所述第一损失函数为:
Figure GDA0003490991160000111
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure GDA0003490991160000112
表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;
Figure GDA0003490991160000113
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量。
所述步骤S43中,所述第二损失函数为:
Figure GDA0003490991160000114
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure GDA0003490991160000115
表示表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;
Figure GDA0003490991160000116
表示由调用矩阵分解以及相似矩阵分解的共同用户n的潜在特征向量,Vb表示APIb的潜在特征向量,λs为控制API相似矩阵分解在最终预测中占比的系数,sa,b表示API相似矩阵APIa和APIb的相似度,Qa由API相似度矩阵分解而来的APIa的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,Vb1表示推荐过程中所有的API特征向量,λq表示表示用来控制API特征向量正则化项的系数,Q表示推荐过程中由相似矩阵分解而来的API特征向量。
S44:根据所述第一损失函数,构建所述API侧调用预测模型;和/或根据所述第二损失函数,构建所述用户侧调用预测模型。
可选择地,所述步骤S44中,所述API侧调用预测模型为:
Figure GDA0003490991160000121
其中,
Figure GDA0003490991160000122
表示API侧调用预测模型,
Figure GDA0003490991160000123
表示API侧联合矩阵分解所得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的APIb的潜在特征向量,n表示用户n,b表示APIb。
所述步骤S44中,所述用户侧调用预测模型为:
Figure GDA0003490991160000124
其中,
Figure GDA0003490991160000125
表示用户侧调用预测模型,
Figure GDA0003490991160000126
表示API侧联合矩阵分解所得的用户m的潜在特征向量,Va表示联合矩阵分解所得的API a的潜在特征向量,m表示用户m,a表示APIa。
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;
通过将两侧的结果综合起来考虑,规避了单侧联合矩阵分解只考虑用户序列潜在特征信息或API序列潜在特征信息的缺点,同时利用了用户侧与API侧的丰富信息来进行推荐,使得最终的推荐结果更加准确。
可选择地,所述步骤S5中,所述最终预测模型为:
Figure GDA0003490991160000127
其中,
Figure GDA0003490991160000128
表示最终预测模型,α为权重系数且α∈[0,1],
Figure GDA0003490991160000129
表示用户侧调用预测模型,
Figure GDA00034909911600001210
表示API侧调用预测模型,i表示用户i,j表示APIj。
S6:根据所述最终预测模型,输出API推荐结果。
综上,本发明首先收集待推荐环境中的用户与API的调用数据,将这些数据整理成用户-API调用矩阵,来标识对应用户是否调用过对应API。之后设计了基于Word2Vec的用户相似度计算方法与API相似度计算方法,将其分别整理为用户-用户相似矩阵,API-API相似矩阵,以用来挖掘用户与API的潜在特征信息。在得到相似矩阵之后,分别将用户相似矩阵、用户-API调用矩阵和API相似矩阵、用户-API调用矩阵进行联合矩阵分解,以预测用户调用指定API的概率,最后结合两侧的预测结果进行最终推荐。
本发明与现有技术相比具有如下优点:
第一,本发明设计了一种能够对于智能物联环境中不同种类信息进行挖掘和融合的联合矩阵分解模型。建立了一个基于神经网络,相似度计算,矩阵分解的协同API推荐框架。
第二,本发明在构造用户特征向量与API特征向量时,使用了Word2Vec模型来计算不同用户之间与不同API之间的相似度,然后通过对相似矩阵分解来获取用户特征向量与API特征向量。通过神经网络获取到了用户和API的隐藏高阶特征。
第三,本发明在训练用户特征向量与API特征向量时,将用户-API调用矩阵以及相似度矩阵通过公共的特征向量进行联合矩阵分解,训练得到具有两个矩阵丰富信息的特征向量,从而提升了推荐的准确性。
第四,本发明分别在用户侧以及API侧进行了联合矩阵分解,然后将这两侧的预测结果进行线性结合,利用这种方法将用户的隐藏信息与API的隐藏信息进行结合,大大提高了最终的推荐准确性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述API推荐方法包括:
S1:对API真实调用记录进行初始处理,得到API调用矩阵;
S2:对所述API调用矩阵中所有用户调用API的API序列进行训练,得到API-API相似度矩阵;
S3:对所述API调用矩阵中所有API跟随用户的用户序列进行训练,得到用户-用户相似度矩阵;
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;
S6:根据所述最终预测模型,输出API推荐结果;
所述步骤S2包括:
S21:获取所述API调用矩阵中所有用户对API调用的API序列;
S22:将所述所有用户对API调用的API序列输入至Woed2vec中进行训练,得到API的潜在特征向量;
S23:根据所述API的潜在特征向量,利用余弦相似度,得到不同API的相似度;
S24:利用所述不同API的相似度构建所述API-API相似度矩阵;
所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵;
所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
S44:根据所述第一损失函数,构建所述API侧调用预测模型;和/或根据所述第二损失函数,构建所述用户侧调用预测模型;
所述步骤S44中,所述API侧调用预测模型为:
Figure FDA0003949513210000021
其中,
Figure FDA0003949513210000022
表示API侧调用预测模型,
Figure FDA0003949513210000023
表示API侧联合矩阵分解所得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的APIb的潜在特征向量,n表示用户n,b表示APIb;
所述步骤S44中,所述用户侧调用预测模型为:
Figure FDA0003949513210000024
其中,
Figure FDA0003949513210000025
表示用户侧调用预测模型,
Figure FDA0003949513210000026
表示API侧联合矩阵分解所得的用户m的潜在特征向量,Va表示联合矩阵分解所得的API a的潜在特征向量,m表示用户m,a表示APIa;
所述步骤S5中,所述最终预测模型为:
Figure FDA0003949513210000027
其中,
Figure FDA0003949513210000028
表示最终预测模型,α为权重系数且α∈[0,1],
Figure FDA0003949513210000029
表示用户侧调用预测模型,
Figure FDA0003949513210000031
表示API侧调用预测模型,i表示用户i,j表示APIj。
2.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S23包括:
Figure FDA0003949513210000032
其中,sa,b表示APIa和APIb的相似度;wa,wb分别代表APIa和APIb的潜在特征向量,a和b分别表示APIa和APIb。
3.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S33包括:
Figure FDA0003949513210000033
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用户n的潜在特征向量。
4.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
Figure FDA0003949513210000034
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Cn表示第n个用户的潜在特征向量。
5.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
Figure FDA0003949513210000035
其中,S表示API-API相似度矩阵,
Figure FDA0003949513210000036
表示API跟随的第a个用户的潜在特征向量,Qb表示API跟随的第b个用户的潜在特征向量。
6.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第一损失函数为:
Figure FDA0003949513210000041
其中,Lu为第一损失函数,M表示系统中用户的总数量,A表示系统中API的总数量,
Figure FDA0003949513210000042
表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;
Figure FDA0003949513210000043
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量,λv表示控制API特征向量正则化项的系数。
7.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第二损失函数为:
Figure FDA0003949513210000044
其中,La为第二损失函数,M表示系统中用户的总数量,A表示系统中API的总数量,
Figure FDA0003949513210000045
表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rn,b表示调用矩阵R用户n对APIb的调用情况,为0或1;
Figure FDA0003949513210000046
表示由调用矩阵分解以及相似矩阵分解的共同用户n的潜在特征向量,Vb表示APIb的潜在特征向量,λs为控制API相似矩阵分解在最终预测中占比的系数,sa,b表示API相似矩阵APIa和APIb的相似度,Qa由API相似度矩阵分解而来的APIa的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,Vb1表示推荐过程中所有的API特征向量,λv表示控制API特征向量正则化项的系数,λq表示用来控制API特征向量正则化项的系数,Q表示推荐过程中由相似矩阵分解而来的API特征向量。
CN202111391897.1A 2021-11-19 2021-11-19 一种基于词嵌入与协同过滤技术的api推荐方法 Active CN114201669B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111391897.1A CN114201669B (zh) 2021-11-19 2021-11-19 一种基于词嵌入与协同过滤技术的api推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111391897.1A CN114201669B (zh) 2021-11-19 2021-11-19 一种基于词嵌入与协同过滤技术的api推荐方法

Publications (2)

Publication Number Publication Date
CN114201669A CN114201669A (zh) 2022-03-18
CN114201669B true CN114201669B (zh) 2023-02-03

Family

ID=80648378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111391897.1A Active CN114201669B (zh) 2021-11-19 2021-11-19 一种基于词嵌入与协同过滤技术的api推荐方法

Country Status (1)

Country Link
CN (1) CN114201669B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817745B (zh) * 2022-05-19 2023-04-18 大连海事大学 一种图嵌入增强的Web API推荐方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776844A (zh) * 2018-04-13 2018-11-09 中国科学院信息工程研究所 基于上下文感知张量分解的社交网络用户行为预测方法
CN109753275A (zh) * 2018-12-10 2019-05-14 东软集团股份有限公司 应用编程接口的推荐方法、装置、存储介质和电子设备
CN111061996A (zh) * 2019-12-09 2020-04-24 昆明理工大学 一种结合Word2vec词向量和LSH局部敏感哈希的推荐算法
CN112084416A (zh) * 2020-09-21 2020-12-15 哈尔滨理工大学 基于CNN和LSTM的Web服务推荐方法
CN112214511A (zh) * 2020-10-10 2021-01-12 南通大学 一种基于wtp-wcd算法的api推荐方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317900A (zh) * 2014-10-24 2015-01-28 重庆邮电大学 一种面向社交网络的多属性协同过滤推荐方法
US10536580B2 (en) * 2017-06-01 2020-01-14 Adobe Inc. Recommendations based on feature usage in applications
CN113343078B (zh) * 2021-05-11 2022-07-15 浙江工业大学 基于主题模型聚类的Web API推荐方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776844A (zh) * 2018-04-13 2018-11-09 中国科学院信息工程研究所 基于上下文感知张量分解的社交网络用户行为预测方法
CN109753275A (zh) * 2018-12-10 2019-05-14 东软集团股份有限公司 应用编程接口的推荐方法、装置、存储介质和电子设备
CN111061996A (zh) * 2019-12-09 2020-04-24 昆明理工大学 一种结合Word2vec词向量和LSH局部敏感哈希的推荐算法
CN112084416A (zh) * 2020-09-21 2020-12-15 哈尔滨理工大学 基于CNN和LSTM的Web服务推荐方法
CN112214511A (zh) * 2020-10-10 2021-01-12 南通大学 一种基于wtp-wcd算法的api推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"改进型协同过滤的API服务推荐方法研究";韩院彬等;《现代电子技术》;20191122(第21期);正文第86-89页 *

Also Published As

Publication number Publication date
CN114201669A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
CN109547814B (zh) 视频推荐方法、装置、服务器及存储介质
CN108648049B (zh) 一种基于用户行为区别建模的序列推荐方法
CN110377740B (zh) 情感极性分析方法、装置、电子设备及存储介质
CN110728541B (zh) 信息流媒体广告创意推荐方法及装置
CN111061962B (zh) 一种基于用户评分分析的推荐方法
CN110390052B (zh) 搜索推荐方法、ctr预估模型的训练方法、装置及设备
CN102262647B (zh) 信息处理装置、信息处理方法和程序
CN110019943B (zh) 视频推荐方法、装置、电子设备和存储介质
CN111177559B (zh) 文旅服务推荐方法、装置、电子设备及存储介质
CN109816438B (zh) 信息推送方法及装置
CN113590948B (zh) 信息推荐方法、装置、设备以及计算机存储介质
CN112836509A (zh) 一种专家系统知识库构建方法及系统
CN114359563B (zh) 模型训练方法、装置、计算机设备和存储介质
He et al. A general cross-domain recommendation framework via Bayesian neural network
US6542878B1 (en) Determining whether a variable is numeric or non-numeric
CN114201669B (zh) 一种基于词嵌入与协同过滤技术的api推荐方法
JP2009157442A (ja) データ検索装置および方法
CN113821296B (zh) 可视化界面生成方法、电子设备及存储介质
CN115203529A (zh) 一种基于多头自注意力机制的深度神经网络推荐模型及方法
CN115186085A (zh) 回复内容处理方法以及媒体内容互动内容的交互方法
Foote et al. A computational analysis of social media scholarship
CN115222112A (zh) 一种行为预测方法、行为预测模型的生成方法及电子设备
CN113010664B (zh) 一种数据处理方法、装置及计算机设备
CN115114462A (zh) 模型训练方法、装置、多媒体推荐方法、设备及存储介质
Lakshmi Chetana et al. CF-AMVRGO: Collaborative filtering based adaptive moment variance reduction gradient optimizer for movie recommendations

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240522

Address after: Room 808, 8th floor, No. 2 Weigongcun Road, Haidian District, Beijing, 100039

Patentee after: CDB Online Education Technology Co.,Ltd.

Country or region after: China

Address before: 710071 Taibai South Road, Yanta District, Xi'an, Shaanxi Province, No. 2

Patentee before: XIDIAN University

Country or region before: China