CN114201669B - 一种基于词嵌入与协同过滤技术的api推荐方法 - Google Patents
一种基于词嵌入与协同过滤技术的api推荐方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001914 filtration Methods 0.000 title claims abstract description 20
- 238000005516 engineering process Methods 0.000 title claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims abstract description 201
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 132
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 104
- 238000000354 decomposition reaction Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 19
- 239000002023 wood Substances 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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推荐方法。
背景技术
应用程序接口(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包括:
其中,sa,b表示APIa和APIb的相似度;wa,wb分别代表APIa和APIb的潜在特征向量,a和b分别表示APIa和APIb。
可选择地,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
可选择地,所述步骤S23包括:
其中,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中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Ca表示第a个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
可选择地,所述步骤S43中,所述第一损失函数为:
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量。
所述步骤S43中,所述第二损失函数为:
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户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中,所述用户侧调用预测模型为:
可选择地,其特征在于,所述步骤S5中,所述最终预测模型为:
本发明具有以下有益效果:
本发明与现有技术相比具有如下优点:
第一,本发明设计了一种能够对于智能物联环境中不同种类信息进行挖掘和融合的联合矩阵分解模型。建立了一个基于神经网络,相似度计算,矩阵分解的协同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包括:
其中,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包括:
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用户n的潜在特征向量。
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
可选择地,参考图4所示,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
对用户-API调用矩阵进行矩阵分解,将矩阵中的调用记录表征为用户潜在特征向量与API潜在特征向量的内积:
其中,R表示用户-API调用矩阵,U和V分别表示用户潜在特征与API潜在特征,Um和Va分别表示表示用户m对应的潜在特征向量和APIa对应的潜在特征向量。
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
可选择地,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Cn表示第n个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
同时进行两个矩阵的分解,其中以用户特征向量/API特征向量作为共同特征,进行联合矩阵分解,来挖取特征信息更加丰富的特征向量。
联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息与用户相似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的用户潜在特征信息,从而在最后推荐时利用更多的用户信息进行推荐,得到更好的推荐效果。和/或联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息与API相似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的API潜在特征信息,从而在最后推荐时利用更多的API信息进行推荐,得到更好的推荐效果。
可选择地,所述步骤S43中,所述第一损失函数为:
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量。
所述步骤S43中,所述第二损失函数为:
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户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侧调用预测模型为:
所述步骤S44中,所述用户侧调用预测模型为:
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;
通过将两侧的结果综合起来考虑,规避了单侧联合矩阵分解只考虑用户序列潜在特征信息或API序列潜在特征信息的缺点,同时利用了用户侧与API侧的丰富信息来进行推荐,使得最终的推荐结果更加准确。
可选择地,所述步骤S5中,所述最终预测模型为:
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侧调用预测模型为:
所述步骤S44中,所述用户侧调用预测模型为:
所述步骤S5中,所述最终预测模型为:
6.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第一损失函数为:
其中,Lu为第一损失函数,M表示系统中用户的总数量,A表示系统中API的总数量,表示API调用矩阵R用户m是否对APIa有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量,λv表示控制API特征向量正则化项的系数。
7.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第二损失函数为:
其中,La为第二损失函数,M表示系统中用户的总数量,A表示系统中API的总数量,表示API调用矩阵R用户n是否对APIb有调用记录,R表示用户-API调用矩阵,rn,b表示调用矩阵R用户n对APIb的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户n的潜在特征向量,Vb表示APIb的潜在特征向量,λs为控制API相似矩阵分解在最终预测中占比的系数,sa,b表示API相似矩阵APIa和APIb的相似度,Qa由API相似度矩阵分解而来的APIa的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,Vb1表示推荐过程中所有的API特征向量,λv表示控制API特征向量正则化项的系数,λq表示用来控制API特征向量正则化项的系数,Q表示推荐过程中由相似矩阵分解而来的API特征向量。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817745B (zh) * | 2022-05-19 | 2023-04-18 | 大连海事大学 | 一种图嵌入增强的Web API推荐方法和系统 |
Citations (5)
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)
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推荐方法 |
-
2021
- 2021-11-19 CN CN202111391897.1A patent/CN114201669B/zh active Active
Patent Citations (5)
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)
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 |