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

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

Info

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
Application number
CN202111391897.1A
Other languages
English (en)
Other versions
CN114201669B (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 BDA0003364439990000031
其中,sa,b表示APIa和APIb的相似度;wa,wb分别代表APIa和APIb的 潜在特征向量,a和b分别表示APIa和APIb。
可选择地,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练, 得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户 的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
可选择地,所述步骤S23包括:
Figure BDA0003364439990000032
其中,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=UTC,
Figure BDA0003364439990000041
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量, Ca表示第a个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二 分解结果为:
S=VTQ,
Figure BDA0003364439990000042
其中,表示API-API相似度矩阵,
Figure BDA0003364439990000043
表示第a个API的潜在特征向量, Qb表示第b个API的潜在特征向量。
可选择地,所述步骤S43中,所述第一损失函数为:
Figure BDA0003364439990000044
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中 API的总数量,
Figure BDA0003364439990000045
表示API调用矩阵R用户m是否对API a有调用记录,R表 示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0 或1;
Figure BDA0003364439990000046
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向 量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预 测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由 相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正 则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的 符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向 量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向 量。
所述步骤S43中,所述第二损失函数为:
Figure BDA0003364439990000051
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中 API的总数量,
Figure BDA0003364439990000052
表示表示API调用矩阵R用户n是否对APIb有调用记录, R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为 0或1;
Figure BDA0003364439990000053
表示由调用矩阵分解以及相似矩阵分解的共同用户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 BDA0003364439990000054
其中,
Figure BDA0003364439990000055
表示API侧调用预测模型,
Figure BDA0003364439990000056
表示API侧联合矩阵分解所 得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的APIb的潜在 特征向量,n表示用户n,b表示APIb。
所述步骤S44中,所述用户侧调用预测模型为:
Figure BDA0003364439990000061
其中,
Figure BDA0003364439990000062
表示用户侧调用预测模型,
Figure BDA0003364439990000063
表示API侧联合矩阵分解所 得的用户m的潜在特征向量,Va表示联合矩阵分解所得的API a的潜在特征 向量,m表示用户m,a表示API a。
可选择地,其特征在于,所述步骤S5中,所述最终预测模型为:
Figure BDA0003364439990000064
其中,
Figure BDA0003364439990000065
表示最终预测模型,α为权重系数且α∈[0,1],
Figure BDA0003364439990000066
表示用户侧 调用预测模型,
Figure BDA0003364439990000067
表示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 BDA0003364439990000081
其中,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 BDA0003364439990000091
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用 户n的潜在特征向量。
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
S4:根据所述API调用矩阵、所述用户-用户相似度矩阵和所述API-API 相似度矩阵,分别得到API侧调用预测模型和用户侧调用预测模型;
可选择地,参考图4所示,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜 在特征;
对用户-API调用矩阵进行矩阵分解,将矩阵中的调用记录表征为用户潜 在特征向量与API潜在特征向量的内积:
R=UTV,
Figure BDA0003364439990000092
其中,R表示用户-API调用矩阵,U和V分别表示用户潜在特征与API 潜在特征,Um和Va分别表示表示用户m对应的潜在特征向量和API a对应的 潜在特征向量。
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果; 和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
可选择地,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分 解,得到第一分解结果为:
Z=UTC,
Figure BDA0003364439990000101
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量, Cn表示第n个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二 分解结果为:
S=VTQ,
Figure BDA0003364439990000102
其中,表示API-API相似度矩阵,
Figure BDA0003364439990000103
表示第a个API的潜在特征向量, Qb表示第b个API的潜在特征向量。
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一 分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API 相似度矩阵以及所述第二分解结果,得到第二损失函数;
同时进行两个矩阵的分解,其中以用户特征向量/API特征向量作为共同 特征,进行联合矩阵分解,来挖取特征信息更加丰富的特征向量。
联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息与用户相 似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的用户潜在 特征信息,从而在最后推荐时利用更多的用户信息进行推荐,得到更好的推 荐效果。和/或联合矩阵分解能够同时挖掘与获取用户-API调用矩阵的信息 与API相似度矩阵的信息,使得训练所得到的潜在特征向量具有更加丰富的 API潜在特征信息,从而在最后推荐时利用更多的API信息进行推荐,得到 更好的推荐效果。
可选择地,所述步骤S43中,所述第一损失函数为:
Figure BDA0003364439990000104
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中 API的总数量,
Figure BDA0003364439990000111
表示API调用矩阵R用户m是否对API a有调用记录,R表 示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为0 或1;
Figure BDA0003364439990000112
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向 量,Va表示APIa的潜在特征向量,λz表示控制用户相似矩阵分解在最终预 测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由 相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正 则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的 符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向 量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向 量。
所述步骤S43中,所述第二损失函数为:
Figure BDA0003364439990000113
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中 API的总数量,
Figure BDA0003364439990000114
表示表示API调用矩阵R用户n是否对APIb有调用记录, R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对APIa的调用情况,为 0或1;
Figure BDA0003364439990000115
表示由调用矩阵分解以及相似矩阵分解的共同用户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 BDA0003364439990000121
其中,
Figure BDA0003364439990000122
表示API侧调用预测模型,
Figure BDA0003364439990000123
表示API侧联合矩阵分解所 得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的APIb的潜在 特征向量,n表示用户n,b表示APIb。
所述步骤S44中,所述用户侧调用预测模型为:
Figure BDA0003364439990000124
其中,
Figure BDA0003364439990000125
表示用户侧调用预测模型,
Figure BDA0003364439990000126
表示API侧联合矩阵分解所 得的用户m的潜在特征向量,Va表示联合矩阵分解所得的APIa的潜在特征 向量,m表示用户m,a表示APIa。
S5:根据所述API侧调用预测模型以及所述用户侧调用预测模型,得到 最终预测模型;
通过将两侧的结果综合起来考虑,规避了单侧联合矩阵分解只考虑用户 序列潜在特征信息或API序列潜在特征信息的缺点,同时利用了用户侧与 API侧的丰富信息来进行推荐,使得最终的推荐结果更加准确。
可选择地,所述步骤S5中,所述最终预测模型为:
Figure BDA0003364439990000127
其中,
Figure BDA0003364439990000128
表示最终预测模型,α为权重系数且α∈[0,1],
Figure BDA0003364439990000129
表示用户侧 调用预测模型,
Figure BDA00033644399900001210
表示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 (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相似度矩阵。
3.根据权利要求2所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S23包括:
Figure FDA0003364439980000011
其中,sa,b表示API a和API b的相似度;wa,wb分别代表API a和API b的潜在特征向量,a和b分别表示API a和API b。
4.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S3包括:
S31:获取所述API调用矩阵整理中所有API跟随用户的用户序列;
S32:将所述所有API跟随用户的用户序列输入至Woed2vec中进行训练,得到用户的潜在特征向量;
S33:根据所述用户的潜在特征向量,利用余弦相似度,得到不同用户的相似度;
S34:利用所述不同用户的相似度构建所述用户-用户相似度矩阵。
5.根据权利要求4所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S23包括:
Figure FDA0003364439980000021
其中,zm,n表示用户m和用户n的相似度;w'm和w'n分别代表用户m和用户n的潜在特征向量。
6.根据权利要求1所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S4包括:
S41:对所述API调用矩阵进行矩阵分解,得到用户潜在特征和API潜在特征;
S42:对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果;和/或对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果;
S43:根据所述API调用矩阵、所述用户-用户相似度矩阵以及所述第一分解结果,得到第一损失函数;和/或根据所述API调用矩阵、所述API-API相似度矩阵以及所述第二分解结果,得到第二损失函数;
S44:根据所述第一损失函数,构建所述API侧调用预测模型;和/或根据所述第二损失函数,构建所述用户侧调用预测模型。
7.根据权利要求6所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S42中,对所述用户-用户相似度矩阵进行矩阵分解,得到第一分解结果为:
Z=UTC,
Figure FDA0003364439980000031
其中,Z表示用户-用户相似度矩阵,Um表示第m用户的潜在特征向量,Cn表示第n个用户的潜在特征向量;
所述步骤S42中,对所述API-API相似度矩阵进行矩阵分解,得到第二分解结果为:
S=VTQ,
Figure FDA0003364439980000036
其中,表示API-API相似度矩阵,
Figure FDA0003364439980000032
表示API跟随的第a个用户的潜在特征向量,Qb表示API跟随的第b个用户的潜在特征向量。
8.根据权利要求6所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S43中,所述第一损失函数为:
Figure FDA0003364439980000033
其中,Lu为第一损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure FDA0003364439980000034
表示API调用矩阵R用户m是否对API a有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对API a的调用情况,为0或1;
Figure FDA0003364439980000035
表示由调用矩阵分解以及相似矩阵分解的共同用户m的潜在特征向量,Va表示API a的潜在特征向量,λz表示控制用户相似矩阵分解在最终预测中占比的系数,zm,n表示用户相似矩阵中用户m与n的相似度,Cn表示由相似矩阵分解而来的用户n的潜在特征向量,λu是用来控制用户特征向量正则化项的系数,U表示推荐过程中所有的用户特征向量,F是正则化表达的符号,V表示推荐过程中所有的API特征向量,λc表示用来控制用户特征向量正则化项的系数,C表示推荐过程中由相似矩阵分解而来的用户特征向量;
所述步骤S43中,所述第二损失函数为:
Figure FDA0003364439980000041
其中,La为第二损失函数,M表示系统中用户的总数量,N表示系统中API的总数量,
Figure FDA0003364439980000042
表示表示API调用矩阵R用户n是否对API b有调用记录,R表示用户-API调用矩阵,rm,a表示调用矩阵R用户m对API a的调用情况,为0或1;
Figure FDA0003364439980000043
表示由调用矩阵分解以及相似矩阵分解的共同用户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特征向量。
9.根据权利要求5所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S44中,所述API侧调用预测模型为:
Figure FDA0003364439980000044
其中,
Figure FDA0003364439980000045
表示API侧调用预测模型,
Figure FDA0003364439980000046
表示API侧联合矩阵分解所得的用户n的潜在特征向量,Vb表示API侧联合矩阵分解所得的API b的潜在特征向量,n表示用户n,b表示APIb。
所述步骤S44中,所述用户侧调用预测模型为:
Figure FDA0003364439980000051
其中,
Figure FDA0003364439980000052
表示用户侧调用预测模型,
Figure FDA0003364439980000053
表示API侧联合矩阵分解所得的用户m的潜在特征向量,Va表示联合矩阵分解所得的API a的潜在特征向量,m表示用户m,a表示API a。
10.根据权利要求1-9中任意一项所述的基于词嵌入与协同过滤技术的API推荐方法,其特征在于,所述步骤S5中,所述最终预测模型为:
Figure FDA0003364439980000054
其中,
Figure FDA0003364439980000055
表示最终预测模型,α为权重系数且α∈[0,1],
Figure FDA0003364439980000056
表示用户侧调用预测模型,
Figure FDA0003364439980000057
表示API侧调用预测模型,i表示用户i,j表示API j。
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 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)

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

Citations (8)

* Cited by examiner, † Cited by third party
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推荐方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
韩院彬等: ""改进型协同过滤的API服务推荐方法研究"", 《现代电子技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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