[发明专利]一种基于WTP-WCD算法的API推荐方法在审
申请号: | 202011078740.9 | 申请日: | 2020-10-10 |
公开(公告)号: | CN112214511A | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 文万志;王仕强;陈志强;陆晓红;郑大顺;谢忠壤;张斌 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F16/245 | 分类号: | G06F16/245;G06F8/20;G06F40/216 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 徐思波 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 wtp wcd 算法 api 推荐 方法 | ||
1.一种基于WTP-WCD算法的API推荐方法,其特征在于,包括如下步骤:
步骤1)、收集API数据集;
步骤2)、对数据集预处理;
步骤3)、建立模型,将数据进行向量化处理;
步骤4)、对生成的词向量进行加权处理;
步骤5)、对需要查询的问题内容同样进行步骤二、三、四处理操作;
步骤6)、进行相似度计算。
2.根据权利要求1所述的基于WTP-WCD算法的API推荐方法,其特征在于,步骤1)的具体步骤如下:
(1-1)收集API数据集来构造数据库:爬虫调用requests库来获取API信息文档的url,然后通过BeautifulSoup库来解析url所在的网站,最后利用正则表达式来获取标签爬取API的对象、API函数方法以及API注释,然后将爬取的内容存储在数据库中;
(1-2)提取问答网站中Java项目的API推荐信息,提取的QA对中要包含Java标签,对提取后的问题进行筛选,首先问题的答案要包含API实体,保证数据的有效性,然后给问题本身的评分设定一个阈值,低于这个阈值的数据就剔除,并且它的答案的分数应为正,最后将提取的数据存储在数据库中。
3.根据权利要求1所述的基于WTP-WCD算法的API推荐方法,其特征在于,步骤2)的具体步骤如下:
(2-1)首先语句之间要进行分句,用标点符号进行分离,使用nltk包中的sent_tokenize方法进行分句;
(2-2)分词中删除标点符号时使用punctuation方法先找出所有的标点符号,然后使用replace方法用空格代替标点符号,并以空格切分字符串,形成单个单词,最后将所有的单词转化为小写;
(2-3)删除频率小于10的低频词和停用词;
(2-4)将缩写形式的单词改写成完整形式;
(2-5)对单词列表进行词性标记,使用nltk包中pos_tag()方法进行标记,并返回标记列表;
(2-6)最后使用snowballstemner()方法,还原在时态下和被动语态中出现的的‘ed’和‘ing’,恢复复数和第三人称单数的‘s’和‘es’,减少重复,并提取相似的词干。
4.根据权利要求1所述的基于WTP-WCD算法的API推荐方法,其特征在于,步骤3)中建立的模型模型结构分为三层:输入层、隐层和softmax层,其中,输入层输入的是onehot向量,在输入层和隐层之间有一个权重矩阵w,将隐层设置为300维特征,权重矩阵w和onehot向量进行相乘会得到一个300维特征向量,再通过wx+b函数,之后softmax,得到概率输出;
模型训练时设置参数如下:embedding_size:100,skip_window:5,num_skips:2,num_steps:100000,num_sampled:64,vocab_size:50000,learning_rate:0.0001,epoch:100,batch_size:100。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011078740.9/1.html,转载请声明来源钻瓜专利网。