CN114201669A - 一种基于词嵌入与协同过滤技术的api推荐方法 - Google Patents
一种基于词嵌入与协同过滤技术的api推荐方法 Download PDFInfo
- Publication number
- CN114201669A CN114201669A CN202111391897.1A CN202111391897A CN114201669A CN 114201669 A CN114201669 A CN 114201669A CN 202111391897 A CN202111391897 A CN 202111391897A CN 114201669 A CN114201669 A CN 114201669A
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000001914 filtration Methods 0.000 title claims abstract description 22
- 238000005516 engineering process Methods 0.000 title claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims abstract description 200
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 154
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 105
- 238000000354 decomposition reaction Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 20
- 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是否对API a有调用记录,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对应的潜在特征向量和API a对应的 潜在特征向量。
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是否对API a有调用记录,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 (10)
1.一种基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述API推荐方法包括:
S1:对API真实调用记录进行初始处理,得到API调用矩阵;
S2:对所述API调用矩阵中所有用户调用API的API序列进行训练,得到API-API相似度矩阵;
S3:对所述API调用矩阵中所有API跟随用户的用户序列进行训练,得到用户-用户相似度矩阵;
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到最终预测模型;
S6:根据所述最终预测模型,输出API推荐结果。
2.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S2包括:
S21:获取所述API调用矩阵中所有用户对API调用的API序列;
S22:将所述所有用户对API调用的API序列输入至Woed2vec中进行训练,得到API的潜在特征向量;
S23:根据所述API的潜在特征向量,利用余弦相似度,得到不同API的相似度;
S24:利用所述不同API的相似度构建所述API-API相似度矩阵。
4.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
6.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
S44:根据所述第一损失函数,构建所述API侧调用预测模型;和/或根据所述第二损失函数,构建所述用户侧调用预测模型。
8.根据权利要求6所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第一损失函数为:
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示API调用矩阵R用户m是否对API a有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对API a的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示API a的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量;
所述步骤S43中,所述第二损失函数为:
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,表示表示API调用矩阵R用户n是否对API b有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对API a的调用情况,为0或1;表示由调用矩阵分解以及相似矩阵分解的共同用户n的潜在特征向量,Vb表示API b的潜在特征向量,λs为控制API相似矩阵分解在最终预测中占比的系数,sa,b表示API相似矩阵API a和API b的相似度,Qa由API相似度矩阵分解而来的API a的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,Vb1表示推荐过程中所有的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 true CN114201669A (zh) | 2022-03-18 |
CN114201669B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817745A (zh) * | 2022-05-19 | 2022-07-29 | 大连海事大学 | 一种图嵌入增强的Web API推荐方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317900A (zh) * | 2014-10-24 | 2015-01-28 | 重庆邮电大学 | 一种面向社交网络的多属性协同过滤推荐方法 |
CN108776844A (zh) * | 2018-04-13 | 2018-11-09 | 中国科学院信息工程研究所 | 基于上下文感知张量分解的社交网络用户行为预测方法 |
US20180352091A1 (en) * | 2017-06-01 | 2018-12-06 | Adobe Systems Incorporated | Recommendations based on feature usage in applications |
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推荐方法 |
CN113343078A (zh) * | 2021-05-11 | 2021-09-03 | 浙江工业大学 | 基于主题模型聚类的Web API推荐方法 |
-
2021
- 2021-11-19 CN CN202111391897.1A patent/CN114201669B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317900A (zh) * | 2014-10-24 | 2015-01-28 | 重庆邮电大学 | 一种面向社交网络的多属性协同过滤推荐方法 |
US20180352091A1 (en) * | 2017-06-01 | 2018-12-06 | Adobe Systems Incorporated | Recommendations based on feature usage in applications |
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推荐方法 |
CN113343078A (zh) * | 2021-05-11 | 2021-09-03 | 浙江工业大学 | 基于主题模型聚类的Web API推荐方法 |
Non-Patent Citations (1)
Title |
---|
韩院彬等: ""改进型协同过滤的API服务推荐方法研究"", 《现代电子技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817745A (zh) * | 2022-05-19 | 2022-07-29 | 大连海事大学 | 一种图嵌入增强的Web API推荐方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114201669B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108648049B (zh) | 一种基于用户行为区别建模的序列推荐方法 | |
Karatzoglou et al. | Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering | |
CN110377740B (zh) | 情感极性分析方法、装置、电子设备及存储介质 | |
CN110390052B (zh) | 搜索推荐方法、ctr预估模型的训练方法、装置及设备 | |
CN111061962B (zh) | 一种基于用户评分分析的推荐方法 | |
CN110263243A (zh) | 媒体信息推荐方法、装置、存储介质和计算机设备 | |
CN110019943B (zh) | 视频推荐方法、装置、电子设备和存储介质 | |
CN111177473B (zh) | 人员关系分析方法、装置和可读存储介质 | |
CN109960761A (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
CN111400603A (zh) | 一种信息推送方法、装置、设备及计算机可读存储介质 | |
CN111177559B (zh) | 文旅服务推荐方法、装置、电子设备及存储介质 | |
CN112395500A (zh) | 内容数据推荐方法、装置、计算机设备及存储介质 | |
CN113590948B (zh) | 信息推荐方法、装置、设备以及计算机存储介质 | |
CN112836509A (zh) | 一种专家系统知识库构建方法及系统 | |
Do et al. | Coupled poisson factorization integrated with user/item metadata for modeling popular and sparse ratings in scalable recommendation | |
CN112579883A (zh) | 一种面向序列反馈的物品推荐方法、智能终端及存储介质 | |
US6542878B1 (en) | Determining whether a variable is numeric or non-numeric | |
CN114201669B (zh) | 一种基于词嵌入与协同过滤技术的api推荐方法 | |
JP2009157442A (ja) | データ検索装置および方法 | |
CN113821296B (zh) | 可视化界面生成方法、电子设备及存储介质 | |
CN115203529A (zh) | 一种基于多头自注意力机制的深度神经网络推荐模型及方法 | |
Sajeevan et al. | An enhanced approach for movie review analysis using deep learning techniques | |
Jeon et al. | Homogeneity detection for the high-dimensional generalized linear model | |
CN111897999B (zh) | 一种用于视频推荐且基于lda的深度学习模型构建方法 | |
CN117252665A (zh) | 业务推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 |