CN110727842B - 基于辅助性知识的Web服务开发者按需推荐方法及系统 - Google Patents
基于辅助性知识的Web服务开发者按需推荐方法及系统 Download PDFInfo
- Publication number
- CN110727842B CN110727842B CN201910796047.6A CN201910796047A CN110727842B CN 110727842 B CN110727842 B CN 110727842B CN 201910796047 A CN201910796047 A CN 201910796047A CN 110727842 B CN110727842 B CN 110727842B
- Authority
- CN
- China
- Prior art keywords
- web service
- service
- developer
- web
- description
- 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
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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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/9532—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于辅助性知识的Web服务开发者按需推荐方法,包括:收集Web服务描述信息及Web服务辅助性知识并进行预处理;基于Word2vec对Web服务描述进行向量化并进行K‑means聚类;将用户需求解析成需求服务描述及需求服务辅助性知识,对需求服务描述进行向量化,通过需求服务描述向量与各类簇聚类中心的距离确定用户需求所属Web服务类簇;分别计算用户需求与所属类簇内每个Web服务间的标签相似度和描述相似度,并将两种相似度加权求和之后排序,选取top‑p个Web服务;构建Web服务开发者能力度量模型,对top‑p个Web服务的开发者进行度量,选取top‑q个Web服务开发者进行推荐;本发明还公开一种基于辅助性知识的Web服务开发者按需推荐系统。本发明可有效度量Web服务开发者能力。
Description
技术领域
本发明属于Web服务开发者推荐技术领域,特别涉及一种基于辅助性知识的Web服务开发者按需推荐方法及系统。
背景技术
大数据和云计算进一步加速了软件的服务化(Liangjie Zhang.Editorial:BigServices Era:Global Trends of Cloud Computing and Big Data.IEEE Transactionson Services Computing,5(4):467-468,2012.),面向服务的软件开发逐步成为互联网上软件开发的主流趋势之一。在这种趋势下,传统的软件业面临着向软件服务业转型的重大机遇。
随着软件业向软件服务业的转型,网络上的Web服务资源呈现出两大趋势:(1)Web服务资源的规模呈现出快速增长趋势。相关研究对互联网上的Web服务进行了大规模调研,进行统计分析的Web服务多达825132个(Wei Jiang,Dongwon Lee,Songlin Hu.Large-scale Longitudinal Analysis of SOAP-based and RESTful Web Services.Proc.ofIEEE International Conference on Web Services,pp.218-225,2012.),我们周期性的记录了2011年6月至2017年6月Programmable Web(PW)上的Web服务数,统计数据显示:PW上的Web服务一直在持续增长,目前Web服务数量已超过18000个。(2)Web服务资源呈现出明显的多样化趋势,具体表现在:Web服务的架构风格、Web服务遵循的协议、Web服务的请求响应格式、Web服务的描述方式等。
在这种情况下,研究人员提出了多种Web服务发现、Web服务推荐方法帮助用户发现其所需要的服务。但是,这些方法并不能保证发现的Web服务是高质量的。如上所述,网络上Web服务规模比较大,并且遵循的协议和服务描述方式也多样化,在这种情况下,Web服务发现、推荐方法返回的服务功能可以满足用户需求,但是返回的服务遵循的可能是SOAP协议,而用户真正需要的是遵循REST协议的服务。此外,云计算环境下,众多Web服务开发者可能来自不同的国家,具有不同文化与专业知识背景,擅长的领域及其拥有的Web服务开发技能也不同。因此,为不同领域、个性化的Web服务开发需求推荐合适的开发者,不仅能够保证Web服务质量,而且可以提高Web服务开发的效率。
目前,针对Web服务开发者推荐的研究相对匮乏,已有的方法仍存在以下问题:(1)计算用户需求和Web服务相似度时,大多数方法只考虑到Web服务的功能相似性,忽略了Web服务的辅助性知识(非功能)对相似度的影响;(2)众多服务开发者可能来自不同的国家,具有不同文化与专业知识背景等,缺少一种有效方法来度量Web服务开发者的能力;(3)相关研究主要是针对网络上开源社区推荐潜在同行或开源项目,而针对Web服务开发者的推荐研究相对稀少。
综上所述,云计算环境下,面对大量Web服务资源遵循协议及Web服务描述方式的多样化,面对大量知识背景和专业技能不同的Web服务开发者,如何为用户推荐满足其个性化开发需求的Web服务开发者仍然是一个挑战性难题。
发明内容
本发明针对现有的Web服务开发者推荐方法中计算用户需求和Web服务相似度时忽略了Web服务的辅助性知识(非功能)对相似度的影响、且缺少一种有效方法来度量不同Web服务开发者的能力,从而导致Web服务开发者推荐无法满足用户个性化开发需求的问题,提出一种面向用户Web服务开发需求的、为用户推荐Web服务开发者的基于辅助性知识的Web服务开发者按需推荐方法及系统。
为了实现上述目的,本发明采用以下技术方案:
一种基于辅助性知识的Web服务开发者按需推荐方法,包括:
步骤1:收集Web服务描述信息及Web服务辅助性知识并进行预处理,得到Web服务描述关键词、Web服务标签信息及Web服务开发者辅助性知识;
步骤2:利用TF-IDF提取Web服务描述关键词中的特征词,基于Word2vec对所述特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及各类簇的聚类中心;
步骤3:将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息,对用户需求服务描述进行向量化,得出用户需求服务描述向量,计算用户需求服务描述向量与各类簇的聚类中心的距离,确定用户需求所属Web服务类簇;
步骤4:分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签、用户需求服务描述与用户需求所属Web服务类簇中包含的Web服务描述间相似度,并将两个相似度加权求和,选取前top-p个综合相似度高的Web服务;
步骤5:基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据构建的模型对前top-p个综合相似度高的Web服务的开发者进行能力度量,选取前top-q个能力度量值高的Web服务开发者进行推荐。
进一步地,所述步骤1包括:
步骤1.1:利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;
步骤1.2:对Web服务描述信息以及Web服务辅助性知识进行解析,抽取Web服务描述信息中的所有单词以及Web服务标签信息、Web服务开发者辅助性知识;
步骤1.3:将Web服务描述信息中不属于动词和名词的单词进行过滤,根据对服务功能表征能力对过滤后单词进一步处理,得到描述每个Web服务的关键词;
步骤1.4:去除关键词的前缀和后缀以得到其词根。
进一步地,所述步骤2包括:
步骤2.1:将预处理后的每个Web服务描述信息作为一个文档,计算Web服务描述文档中每个关键词的TF-IDF值,将TF-IDF值由高到低前m个关键词作为Web服务描述的特征词;
步骤2.2:利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的特征词进行加权求和,权重是特征词的TF-IDF值,得到每个Web服务描述向量;
步骤2.3:将收集的每个Web服务描述向量化,得到Web服务描述向量集;
步骤2.4:利用K-means算法对Web服务描述向量集进行Web服务聚类,得到K个Web服务类簇及各类簇的聚类中心。
进一步地,所述步骤3包括:
步骤3.1:将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
步骤3.2:将用户需求服务描述和用户需求服务标签信息进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
步骤3.3:计算用户需求服务描述向量与K个Web服务类簇的聚类中心的欧氏距离,将所述距离最小的类簇作为用户需求所属的Web服务类簇。
进一步地,所述步骤4包括:
步骤4.1:利用Jaccard系数计算用户需求服务标签与用户需求所属Web服务类簇中每个Web服务对应的各Web服务标签间的相似度;
步骤4.2:利用余弦相似性计算用户需求服务描述与用户需求所属Web服务类簇中每个Web服务描述间的相似度;
步骤4.3:将步骤4.1与步骤4.2中相似度进行加权求和,得到综合相似度;
步骤4.4:对综合相似度进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务。
进一步地,所述步骤5包括:
步骤5.1:对Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源,利用步骤4.4中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝;所述Web服务资源包括API服务和Mashup服务;
步骤5.2:将Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型:
其中,DCapi表示Web服务开发者开发的API,DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝,表示Web服务开发者利用步骤4.4中得出的API开发的Mashup;
步骤5.3:通过Web服务开发者能力度量模型对前top-p个综合相似度高的Web服务的开发者进行能力度量:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的资产数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用步骤4.4中得出的API服务开发的Mashup数;
步骤5.4:对Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
一种基于辅助性知识的Web服务开发者按需推荐系统,包括:
数据收集预处理模块,用于收集Web服务描述信息及Web服务辅助性知识并进行预处理,得到Web服务描述关键词、Web服务标签信息及Web服务开发者辅助性知识;
聚类模块,用于利用TF-IDF提取Web服务描述关键词中的特征词,基于Word2vec对所述特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及各类簇的聚类中心;
用户需求匹配模块,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息,对用户需求服务描述进行向量化,得出用户需求服务描述向量,计算用户需求服务描述向量与各类簇的聚类中心的距离,确定用户需求所属Web服务类簇;
Web服务选取模块,用于分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签、用户需求服务描述与用户需求所属Web服务类簇中包含的Web服务描述间相似度,并将两个相似度加权求和,选取前top-p个综合相似度高的Web服务;
Web服务开发者推荐模块,用于基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据构建的模型对前top-p个综合相似度高的Web服务的开发者进行能力度量,选取前top-q个能力度量值高的Web服务开发者进行推荐。
进一步地,所述数据收集预处理模块包括:
数据收集子模块,用于利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;
第一解析子模块,用于对Web服务描述信息以及Web服务辅助性知识进行解析,抽取Web服务描述信息中的所有单词以及Web服务标签信息、Web服务开发者辅助性知识;
第一处理子模块,用于将Web服务描述信息中不属于动词和名词的单词进行过滤,根据对服务功能表征能力对过滤后单词进一步处理,得到描述每个Web服务的关键词;
第二处理子模块,用于去除关键词的前缀和后缀以得到其词根。
进一步地,所述聚类模块包括:
第一计算子模块,用于将预处理后的每个Web服务描述信息作为一个文档,计算Web服务描述文档中每个关键词的TF-IDF值,将TF-IDF值由高到低前m个关键词作为Web服务描述的特征词;
第二计算子模块,用于利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的特征词进行加权求和,权重是特征词的TF-IDF值,得到每个Web服务描述向量;
第一向量化子模块,用于将收集的每个Web服务描述向量化,得到Web服务描述向量集;
聚类子模块,用于利用K-means算法对Web服务描述向量集进行Web服务聚类,得到K个Web服务类簇及各类簇的聚类中心。
进一步地,所述用户需求匹配模块包括:
第二解析子模块,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
第二向量化子模块,用于将用户需求服务描述和用户需求服务标签信息进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
第三计算子模块,用于计算用户需求服务描述向量与K个Web服务类簇的聚类中心的欧氏距离,将所述距离最小的类簇作为用户需求所属的Web服务类簇。
进一步地,所述Web服务选取模块包括:
第四计算子模块,用于利用Jaccard系数计算用户需求服务标签与用户需求所属Web服务类簇中每个Web服务对应的各Web服务标签间的相似度;
第五计算子模块,用于利用余弦相似性计算用户需求服务描述与用户需求所属Web服务类簇中每个Web服务描述间的相似度;
第六计算子模块,用于将第四计算子模块与第五计算子模块中相似度进行加权求和,得到综合相似度;
Web服务选取子模块,用于对综合相似度进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务。
进一步地,所述Web服务开发者推荐模块包括:
第三解析子模块,用于对Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源,利用Web服务选取子模块中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝;所述Web服务资源包括API服务和Mashup服务;
度量模型构建子模块,用于将Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型:
其中,DCapi表示Web服务开发者开发的API,DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝,表示Web服务开发者利用Web服务选取子模块中得出的API开发的Mashup;
能力度量子模块,用于通过Web服务开发者能力度量模型对前top-p个综合相似度高的Web服务的开发者进行能力度量:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的资产数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用Web服务选取子模块中得出的API服务开发的Mashup数;
Web服务开发者推荐子模块,用于对Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
与现有技术相比,本发明具有的有益效果:
本发明从用户Web服务开发需求角度基于Web服务辅助性知识进行Web服务开发者推荐研究,从Web服务描述(功能性需求)与Web服务辅助性知识(非功能性需求)两个方面进行相似度计算,能够更好刻画用户开发需求和Web服务特征;本发明基于Web服务开发者辅助性知识构建的Web服务开发者能力度量模型,可有效度量Web服务开发者能力。
附图说明
图1是本发明实施例一种基于辅助性知识的Web服务开发者按需推荐方法的流程示意图;
图2是Programmable Web网站上Twitter API的相关信息示意图;
图3是Programmable Web网站上的开发者AndrewCLA主页上的相关信息示意图;
图4是以Programmable Web网站上的Twitter API为用户开发需求的需求描述示意图;
图5是本发明实施例一种基于辅助性知识的Web服务开发者按需推荐系统的结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例一:
如图1所示,一种基于辅助性知识的Web服务开发者按需推荐方法,包括:
步骤S101:收集Web服务描述信息及Web服务辅助性知识,对收集的数据进行预处理,得到用户所需要的Web服务描述中的关键词及Web服务标签信息和Web服务开发者辅助性知识,所述Web服务描述信息及Web服务辅助性知识来源于能够被访问的Web服务注册中心或Web服务门户网站;
步骤S102:利用TF-IDF(Term Frequency-Inverse Document frequency,词频-逆文档频率)提取Web服务描述关键词中的特征词,然后基于Word2vec对Web服务特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及每个类簇的聚类中心;
步骤S103:将用户(Web服务开发)需求解析成用户需求服务描述及用户需求服务辅助性知识两部分,通过用户需求服务辅助性知识得出用户需求服务标签信息,利用步骤S102所述的Web服务向量化方法,对用户需求服务描述进行向量化操作,进一步计算用户需求服务描述向量与步骤S102产生的Web服务类簇中心的距离,确定用户需求所属的Web服务类簇;
步骤S104,分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签间的相似度,以及用户需求服务描述与步骤S103产生的用户需求所属Web服务类簇中的Web服务描述间相似度,并将得到的两种相似度进行加权求和,选取前top-p个综合相似度高的Web服务;
步骤S105,基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据度量模型对步骤S104得到的前top-p个综合相似度高的Web服务的开发者进行能力度量,根据度量结果进行Web服务开发者排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
具体地,步骤S101包括:
步骤S101.1:利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;
步骤S101.2:对Web服务描述信息以及Web服务辅助性知识进行解析,从中抽取Web服务描述信息中的所有单词、Web服务标签信息和Web服务开发者辅助性知识;
步骤S101.3:针对步骤S101.2的结果,根据单词的词性,将Web服务描述信息中不属于动词和名词的单词过滤掉;同时,对于得到的动词和名词,进一步将对服务功能表征能力不强的词进行去除,如英文的“can”,“information”等,得到描述每个Web服务的关键词;
步骤S101.4:对步骤S101.3的结果进行关键词原形处理,即去除关键词的前缀和后缀以得到这些词的词根,比如将动词的不同时态恢复原形,名词的复数变成单数。
具体地,步骤S102包括:
步骤S102.1:将步骤S101.4产生的预处理后每个Web服务描述看作一个文档,将所有Web服务描述文档集作为语料库,统计Web服务描述文档中每个关键词在该文档中的出现次数(TF),并计算逆文档频率(IDF),然后计算每个关键词的TF-IDF值,并将每个Web服务描述中TF-IDF值由高到低排序的前m个词作为Web服务描述的特征词;
步骤S102.2:利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的词向量进行加权求和,权重是单词的TF-IDF值,得到每个Web服务描述(相应的特征词)向量;
Word2vec是谷歌公司发布的一款词向量工具,通过CBOW和Skip-gram词向量模型,将文本数据转化成向量。本发明使用Word2vec中的Skip-gram模型得到Web服务描述中每个特征词的词向量。
步骤S102.3:重复步骤S102.1和S102.2,将收集的每个Web服务描述向量化,得到向量化的Web服务描述特征词向量集;
步骤S102.4:针对步骤S102.3产生的每个Web服务描述的特征词向量,利用K-means算法进行Web服务聚类,得到K个Web服务类簇以及每个类簇的聚类中心。
具体地,步骤S103包括:
步骤S103.1:将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
步骤S103.2:将用户需求服务描述和用户需求服务标签利用步骤S101.2、S101.3、S101.4以及步骤S102.1、S102.2中所述方法进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
步骤S103.3:计算用户需求服务描述向量与步骤S102.4产生的K个Web服务类簇中心的欧氏距离,并将得到的距离进行排序,选择距离最小的类簇作为用户需求服务描述所属的Web服务类簇;
利用如下公式计算用户需求服务描述向量与每个Web服务类簇中心的距离:
其中,dist(Rdi,Cj)表示用户需求服务描述Rdi到Web服务类簇中心Cj的距离,n表示向量维度大小,和分别表示用户需求服务描述Rdi与类簇中心Cj向量化维度上的权值。如果用户需求服务描述与某个Web服务类簇中心的距离越小,则用户需求属于该Web服务类簇的可能性就越大。因此,用户需求服务描述Rdi属于dist(Rdi,Cj)值最小的Web服务类簇。
具体地,步骤S104包括:
步骤S104.1:计算用户需求服务标签与步骤S103.3产生的用户需求所属Web服务类簇中各Web服务对应的Web服务标签间的相似度;
对步骤S101.2产生的Web服务标签信息进行标签化处理,得到每个Web服务的标签集;类似的,对步骤S103.1产生的用户需求服务标签进行标签化处理,得到用户需求服务标签集,然后使用Jaccard系数计算用户需求服务标签集与Web服务的标签集间的相似度:
其中,Simtag(Rit,Sjt)∈[0,1]表示用户需求服务标签集Rit与Web服务标签集Sjt间的相似度,Rit表示用户需求服务标签集合,Sjt表示Web服务标签集合;Simtag(Rit,Sjt)越大,表示相似度越高,反之,表示相似度越低。
步骤S104.2:计算用户需求服务描述与步骤S103.3产生的用户需求所属Web服务类簇中每个Web服务描述间的相似度;
根据步骤S102.3产生的每个Web服务描述的特征词向量以及步骤S103.2产生的用户需求服务描述向量,使用余弦(Cosine)相似性公式度量每个Web服务描述的特征词向量与用户需求服务描述向量间的相似度:
其中,Simdes(Rdi,Sdj)表示用户需求服务描述向量Rdi与Web服务描述的特征词向量Sdj间的相似度,n表示向量维度大小,和分别表示用户需求服务描述Rdi与Web服务描述Sdj向量化维度上的权值;Simdes(Rdi,Sdj)越大,表示相似度越高,反之,表示相似度越低。
步骤S104.3:重复步骤S104.1与步骤S104.2,得到用户需求与用户需求所属Web服务类簇中每个Web服务间的标签相似度与描述相似度;
步骤S104.4:将步骤S104.3得到的用户需求与用户需求所属Web服务类簇中每个Web服务间的标签相似度与描述相似度进行加权求和,得到用户需求与用户需求所属Web服务类簇中每个Web服务间的综合相似度;
使用如下公式计算用户需求与用户需求所属Web服务类簇中每个Web服务间的综合相似度:
Sim(Ri,Sj)=α·Simdes(Rdi,Sdj)+β·Simtag(Rit,Sjt)
其中,Sim(Ri,Sj)表示用户需求Ri与用户需求所属Web服务类簇中的Web服务Sj间的综合相似度,Simdes(Rdi,Sdj)表示用户需求服务描述与Web服务描述间相似度,α为描述相似度的权重,Simtag(Rit,Sjt)表示用户需求服务标签与Web服务标签间相似度,β为标签相似度的权重,其中α+β=1;Sim(Ri,Sj)越大,表示综合相似度越高,反之,表示综合相似度越低。
步骤S104.5:对步骤S104.4产生的综合相似度计算结果进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务。
具体地,步骤S105包括:
步骤S105.1:对步骤S101.2产生的Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源(包括API服务和Mashup服务),利用步骤S104.5中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝等;
步骤S105.2:将步骤S105.1解析产生的Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型;
解析Web服务开发者辅助性知识,通过如下公式构建Web服务开发者能力度量模型,对Web服务开发者的能力DC(Developer Capabilities)从不同角度多个维度进行度量:
其中,DCapi表示Web服务开发者开发的API(本发明中的API即Web服务),DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝(Followers),表示Web服务开发者利用步骤S104.5中得出的API开发的Mashup。
步骤S105.3:对步骤S104.4产生的top-p个综合相似度较高的Web服务的开发者,通过步骤S105.2构建的Web服务开发者能力度量模型进行能力度量;
使用如下公式计算Web服务开发者能力度量模型的度量值:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的ASSETS(资产)数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用步骤S104.5中得出的API服务开发的Mashup数。
为了方便计算,使用如下公式对计算得到的Web服务开发者能力度量值进行归一化操作:
其中,DSnorm表示归一化后的Web服务开发者的能力度量值,DSmin表示Web服务开发者的能力度量值最小值,DSmax表示Web服务开发者的能力度量值最大值;
步骤S105.4:对步骤S105.3产生的Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
下面是应用本发明的方法进行Web服务开发者推荐的具体实施例:
以Programmable Web(http://www.programmableweb.com/)服务注册网站上真实Web服务数据进行基于辅助性知识的Web服务开发者推荐为例,详细描述本发明的实施过程。
Programmable Web网站是一个著名的开放性API服务和Mashup应用服务注册网站,该网站提供了大量的API服务、Mashup应用以及服务开发者等信息。截止2018年5月,API服务数量已经超过18000个,Mashup应用服务6000多个。发布在Programmable Web网站的API服务一般包括API名称、API描述、API类别标签等描述性信息以及Summary(概述,具体包括API服务的规格,服务架构风格,遵循协议等信息)、SDKs(开发工具)、Developers(开发者,具体包括服务开发者姓名以及开发者利用该API开发的Mashup应用名等)、Followers(粉丝)等API服务的辅助性知识,如图2所示。每个API服务开发者都有自己的主页,如图3所示,主页中包括了用户名(AndrewCLA)、用户简介(ABOUT)、用户WATCHLIST(ANDREWCLA’SWATCHLIST)(具体包括该开发者发布的API以及开发的Mashups,粉丝数Followers等相关信息)。
首先,使用爬虫从Programmable Web网站收集Tools、Financial、eCommerce、Social、Messaging 5个领域的API服务的相关信息,具体包括API名称、API描述、API类别标签等描述性信息以及Summary、Developers等辅助性知识;同时从这些领域的API开发者的主页收集了开发者发布的API和Mashup(API数和Mashup数的总和是资产(ASSETS)数)以及开发者的Followers(粉丝)等信息。
然后,使用python NLTK(Natural Language Toolkit)库对收集的API服务描述信息进行预处理,具体包括:从收集的每个API服务描述信息中抽取该API服务包括的所有词汇,结合WordNet将不属于动词和名词的词过滤掉;对于得到的动词和名词,根据停用词词典进一步去除那些对API服务功能表征能力不强的词,得到描述每个API服务的关键词,进一步对这些关键词进行单词词干提取操作,得到关键词的词根;采用类似方法对收集的API服务辅助性知识及开发者信息进行解析,得到API服务标签信息和API服务开发者辅助性知识;
接着,首先计算API服务描述中每个关键词的TF-IDF值,将API服务描述中TF-IDF值由高到低排序的前8个词作为API服务描述的特征词。通过python语言Gensim库中的Word2vec类得到每个API服务描述(相应的特征词)向量,将所有向量化后的API服务描述(特征词)向量集进行K-means聚类,聚类个数为5,聚类终止条件设置为质心变化阈值小于0.01。表1所示为5个领域的API服务聚类结果。
表1 5个领域的API服务聚类结果
然后,将Programmable Web网站中Social领域的Twitter API作为用户需求API,如图4所示。首先将用户需求解析成用户需求服务描述及用户需求服务辅助性知识两部分,通过用户需求服务辅助性知识得出用户需求服务标签信息,用python NLTK库对各个部分进行预处理并向量化,得到用户需求服务描述向量和用户需求服务标签集;计算用户需求服务描述向量与5个API服务类簇中心的欧氏距离,表2所示为计算得到的结果。根据表2,用户需求服务描述与Cluster4类簇中心的距离最小,因此用户需求服务描述属于类簇Cluster4。
表2 用户需求服务描述向量与5个服务类簇中心的距离
接着,使用Jaccard系数计算用户需求服务标签集与类簇Cluster4中每个API对应的服务标签集间的标签相似度,使用Cosine相似性计算用户需求服务描述向量与类簇Cluster4中每个API服务描述的特征词向量间的描述相似度,然后将计算综合相似度公式中的权重因子α设置为0.7,β设置为0.3,计算用户需求与类簇Cluster4中每个API服务间的综合相似度,将得到的综合相似度进行排序。表3所示为top-3与用户需求综合相似度较高的Web服务及得到的相应相似度。
表3 与用户需求综合相似度较高的Web服务
最后,通过Web服务开发者能力度量模型对top-3个综合相似度较高的API服务的开发者进行能力度量,将开发者能力度量公式中的权重因子λ1设置为0.6,λ2设置为0.33,λ3设置为0.07,计算开发者的能力度量值,并将度量值进行排序。表4所示为用户推荐的前top-3个能力度量值高的开发者。
表4 为用户推荐的前top-3能力度量值高的开发者
本发明从用户Web服务开发需求角度基于Web服务辅助性知识进行Web服务开发者推荐研究,从Web服务描述(功能性需求)与Web服务辅助性知识(非功能性需求)两个方面进行相似度计算,能够更好刻画用户开发需求和Web服务特征;本发明基于Web服务开发者辅助性知识构建的Web服务开发者能力度量模型,可有效度量Web服务开发者能力。
实施例二:
如图5所示,一种基于辅助性知识的Web服务开发者按需推荐系统,包括:
数据收集预处理模块201,用于收集Web服务描述信息及Web服务辅助性知识并进行预处理,得到Web服务描述关键词、Web服务标签信息及Web服务开发者辅助性知识;
聚类模块202,用于利用TF-IDF提取Web服务描述关键词中的特征词,基于Word2vec对所述特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及各类簇的聚类中心;
用户需求匹配模块203,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息,对用户需求服务描述进行向量化,得出用户需求服务描述向量,计算用户需求服务描述向量与各类簇的聚类中心的距离,确定用户需求所属Web服务类簇;
Web服务选取模块204,用于分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签、用户需求服务描述与用户需求所属Web服务类簇中包含的Web服务描述间相似度,并将两个相似度加权求和,选取前top-p个综合相似度高的Web服务;
Web服务开发者推荐模块205,用于基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据构建的模型对前top-p个综合相似度高的Web服务的开发者进行能力度量,选取前top-q个能力度量值高的Web服务开发者进行推荐。
具体地,所述数据收集预处理模块201包括:
数据收集子模块2011,用于利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;
第一解析子模块2012,用于对Web服务描述信息以及Web服务辅助性知识进行解析,抽取Web服务描述信息中的所有单词以及Web服务标签信息、Web服务开发者辅助性知识;
第一处理子模块2013,用于将Web服务描述信息中不属于动词和名词的单词进行过滤,根据对服务功能表征能力对过滤后单词进一步处理,得到描述每个Web服务的关键词;
第二处理子模块2014,用于去除关键词的前缀和后缀以得到其词根。
具体地,所述聚类模块202包括:
第一计算子模块2021,用于将预处理后的每个Web服务描述信息作为一个文档,计算Web服务描述文档中每个关键词的TF-IDF值,将TF-IDF值由高到低前m个关键词作为Web服务描述的特征词;
第二计算子模块2022,用于利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的特征词进行加权求和,权重是特征词的TF-IDF值,得到每个Web服务描述向量;
第一向量化子模块2023,用于将收集的每个Web服务描述向量化,得到Web服务描述向量集;
聚类子模块2024,用于利用K-means算法对Web服务描述向量集进行Web服务聚类,得到K个Web服务类簇及各类簇的聚类中心。
具体地,所述用户需求匹配模块203包括:
第二解析子模块2031,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
第二向量化子模块2032,用于将用户需求服务描述和用户需求服务标签信息进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
第三计算子模块2033,用于计算用户需求服务描述向量与K个Web服务类簇的聚类中心的欧氏距离,将所述距离最小的类簇作为用户需求所属的Web服务类簇。
具体地,所述Web服务选取模块204包括:
第四计算子模块2041,用于利用Jaccard系数计算用户需求服务标签与用户需求所属Web服务类簇中每个Web服务对应的各Web服务标签间的相似度;
第五计算子模块2042,用于利用余弦相似性计算用户需求服务描述与用户需求所属Web服务类簇中每个Web服务描述间的相似度;
第六计算子模块2043,用于将第四计算子模块2041与第五计算子模块2042中相似度进行加权求和,得到综合相似度;
Web服务选取子模块2044,用于对综合相似度进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务。
具体地,所述Web服务开发者推荐模块205包括:
第三解析子模块2051,用于对Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源,利用Web服务选取子模块2044中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝;所述Web服务资源包括API服务和Mashup服务;
度量模型构建子模块2052,用于将Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型:
其中,DCapi表示Web服务开发者开发的API,DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝,表示Web服务开发者利用Web服务选取子模块2044中得出的API开发的Mashup;
能力度量子模块2053,用于通过Web服务开发者能力度量模型对前top-p个综合相似度高的Web服务的开发者进行能力度量:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的资产数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用Web服务选取子模块2044中得出的API服务开发的Mashup数;
Web服务开发者推荐子模块2054,用于对Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于辅助性知识的Web服务开发者按需推荐方法,其特征在于,包括:
步骤1:收集Web服务描述信息及Web服务辅助性知识并进行预处理,得到Web服务描述关键词、Web服务标签信息及Web服务开发者辅助性知识;所述步骤1包括:
步骤1.1:利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;
步骤1.2:对Web服务描述信息以及Web服务辅助性知识进行解析,抽取Web服务描述信息中的所有单词以及Web服务标签信息、Web服务开发者辅助性知识;
步骤1.3:将Web服务描述信息中不属于动词和名词的单词进行过滤,根据对服务功能表征能力对过滤后单词进一步处理,得到描述每个Web服务的关键词;
步骤1.4:去除关键词的前缀和后缀以得到其词根;
步骤2:利用TF-IDF提取Web服务描述关键词中的特征词,基于Word2vec对所述特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及各类簇的聚类中心;
步骤3:将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息,对用户需求服务描述进行向量化,得出用户需求服务描述向量,计算用户需求服务描述向量与各类簇的聚类中心的距离,确定用户需求所属Web服务类簇;
步骤4:分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签、用户需求服务描述与用户需求所属Web服务类簇中包含的Web服务描述间相似度,并将两个相似度加权求和,选取前top-p个综合相似度高的Web服务;所述步骤4包括:
步骤4.1:利用Jaccard系数计算用户需求服务标签与用户需求所属Web服务类簇中每个Web服务对应的各Web服务标签间的相似度;
步骤4.2:利用余弦相似性计算用户需求服务描述与用户需求所属Web服务类簇中每个Web服务描述间的相似度;
步骤4.3:将步骤4.1与步骤4.2中相似度进行加权求和,得到综合相似度;
步骤4.4:对综合相似度进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务;
步骤5:基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据构建的模型对前top-p个综合相似度高的Web服务的开发者进行能力度量,选取前top-q个能力度量值高的Web服务开发者进行推荐;所述步骤5包括:
步骤5.1:对Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源,利用步骤4.4中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝;所述Web服务资源包括API服务和Mashup服务;
步骤5.2:将Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型:
其中,DCapi表示Web服务开发者开发的API,DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝,表示Web服务开发者利用步骤4.4中得出的API开发的Mashup;
步骤5.3:通过Web服务开发者能力度量模型对前top-p个综合相似度高的Web服务的开发者进行能力度量:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的资产数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用步骤4.4中得出的API服务开发的Mashup数;
步骤5.4:对Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
2.根据权利要求1所述的基于辅助性知识的Web服务开发者按需推荐方法,其特征在于,所述步骤2包括:
步骤2.1:将预处理后的每个Web服务描述信息作为一个文档,计算Web服务描述文档中每个关键词的TF-IDF值,将TF-IDF值由高到低前m个关键词作为Web服务描述的特征词;
步骤2.2:利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的特征词进行加权求和,权重是特征词的TF-IDF值,得到每个Web服务描述向量;
步骤2.3:将收集的每个Web服务描述向量化,得到Web服务描述向量集;
步骤2.4:利用K-means算法对Web服务描述向量集进行Web服务聚类,得到K个Web服务类簇及各类簇的聚类中心。
3.根据权利要求1所述的基于辅助性知识的Web服务开发者按需推荐方法,其特征在于,所述步骤3包括:
步骤3.1:将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
步骤3.2:将用户需求服务描述和用户需求服务标签信息进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
步骤3.3:计算用户需求服务描述向量与K个Web服务类簇的聚类中心的欧氏距离,将所述距离最小的类簇作为用户需求所属的Web服务类簇。
4.一种基于辅助性知识的Web服务开发者按需推荐系统,其特征在于,包括:
数据收集预处理模块,用于收集Web服务描述信息及Web服务辅助性知识并进行预处理,得到Web服务描述关键词、Web服务标签信息及Web服务开发者辅助性知识;所述数据收集预处理模块包括:数据收集子模块,用于利用爬虫收集Web服务描述信息以及Web服务辅助性知识,其中Web服务辅助性知识包括Web服务标签信息及Web服务开发者辅助性知识,所述Web服务开发者辅助性知识包括Web服务开发者在服务注册网站上发布的Web服务资源及粉丝数;所述Web服务资源包括API服务和Mashup服务,所述Mashup服务通过1个或1个以上API服务开发;第一解析子模块,用于对Web服务描述信息以及Web服务辅助性知识进行解析,抽取Web服务描述信息中的所有单词以及Web服务标签信息、Web服务开发者辅助性知识;第一处理子模块,用于将Web服务描述信息中不属于动词和名词的单词进行过滤,根据对服务功能表征能力对过滤后单词进一步处理,得到描述每个Web服务的关键词;第二处理子模块,用于去除关键词的前缀和后缀以得到其词根;
聚类模块,用于利用TF-IDF提取Web服务描述关键词中的特征词,基于Word2vec对所述特征词进行向量化操作,得出Web服务描述向量,并将所有Web服务描述向量进行K-means聚类,得到K个Web服务类簇以及各类簇的聚类中心;
用户需求匹配模块,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息,对用户需求服务描述进行向量化,得出用户需求服务描述向量,计算用户需求服务描述向量与各类簇的聚类中心的距离,确定用户需求所属Web服务类簇;
Web服务选取模块,用于分别计算用户需求服务标签与用户需求所属Web服务类簇中各Web服务对应的Web服务标签、用户需求服务描述与用户需求所属Web服务类簇中包含的Web服务描述间相似度,并将两个相似度加权求和,选取前top-p个综合相似度高的Web服务;所述Web服务选取模块包括:第四计算子模块,用于利用Jaccard系数计算用户需求服务标签与用户需求所属Web服务类簇中每个Web服务对应的各Web服务标签间的相似度;第五计算子模块,用于利用余弦相似性计算用户需求服务描述与用户需求所属Web服务类簇中每个Web服务描述间的相似度;第六计算子模块,用于将第四计算子模块与第五计算子模块中相似度进行加权求和,得到综合相似度;Web服务选取子模块,用于对综合相似度进行排序,选取前top-p个综合相似度高的Web服务,所述Web服务为API服务;
Web服务开发者推荐模块,用于基于Web服务开发者辅助性知识构建Web服务开发者能力度量模型,根据构建的模型对前top-p个综合相似度高的Web服务的开发者进行能力度量,选取前top-q个能力度量值高的Web服务开发者进行推荐;所述Web服务开发者推荐模块包括:
第三解析子模块,用于对Web服务开发者辅助性知识进行解析,得到Web服务开发者在服务注册网站上发布的Web服务资源,利用Web服务选取子模块中得出的API服务开发的Mashup服务以及Web服务开发者的粉丝;所述Web服务资源包括API服务和Mashup服务;
度量模型构建子模块,用于将Web服务开发者辅助性知识进行维度建模,在此基础上构建Web服务开发者能力度量模型:
其中,DCapi表示Web服务开发者开发的API,DCmsh表示Web服务开发者开发的Mashup,DCf表示Web服务开发者的粉丝,表示Web服务开发者利用Web服务选取子模块中得出的API开发的Mashup;
能力度量子模块,用于通过Web服务开发者能力度量模型对前top-p个综合相似度高的Web服务的开发者进行能力度量:
DS=λ1·Na+λ2·Nf+λ3·Nm
其中,DS表示Web服务开发者的能力度量值;λ1、λ2、λ3∈[0,1]为权重因子,且满足条件λ1+λ2+λ3=1;Na表示Web服务开发者的资产数,是DCapi和DCmsh的数量之和;Nf表示Web服务开发者的粉丝数;Nm表示Web服务开发者利用Web服务选取子模块中得出的API服务开发的Mashup数;
Web服务开发者推荐子模块,用于对Web服务开发者能力度量结果进行排序,选取前top-q个能力度量值高的Web服务开发者进行推荐。
5.根据权利要求4所述的基于辅助性知识的Web服务开发者按需推荐系统,其特征在于,所述聚类模块包括:
第一计算子模块,用于将预处理后的每个Web服务描述信息作为一个文档,计算Web服务描述文档中每个关键词的TF-IDF值,将TF-IDF值由高到低前m个关键词作为Web服务描述的特征词;
第二计算子模块,用于利用Word2vec向量化每个从Web服务描述中提取的特征词,然后对向量化的特征词进行加权求和,权重是特征词的TF-IDF值,得到每个Web服务描述向量;
第一向量化子模块,用于将收集的每个Web服务描述向量化,得到Web服务描述向量集;
聚类子模块,用于利用K-means算法对Web服务描述向量集进行Web服务聚类,得到K个Web服务类簇及各类簇的聚类中心。
6.根据权利要求4所述的基于辅助性知识的Web服务开发者按需推荐系统,其特征在于,所述用户需求匹配模块包括:
第二解析子模块,用于将用户需求解析成用户需求服务描述及用户需求服务辅助性知识,通过用户需求服务辅助性知识得出用户需求服务标签信息;
第二向量化子模块,用于将用户需求服务描述和用户需求服务标签信息进行预处理和向量化,得到用户需求服务描述向量和用户需求服务标签集;
第三计算子模块,用于计算用户需求服务描述向量与K个Web服务类簇的聚类中心的欧氏距离,将所述距离最小的类簇作为用户需求所属的Web服务类簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910796047.6A CN110727842B (zh) | 2019-08-27 | 2019-08-27 | 基于辅助性知识的Web服务开发者按需推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910796047.6A CN110727842B (zh) | 2019-08-27 | 2019-08-27 | 基于辅助性知识的Web服务开发者按需推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727842A CN110727842A (zh) | 2020-01-24 |
CN110727842B true CN110727842B (zh) | 2022-10-04 |
Family
ID=69217181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910796047.6A Active CN110727842B (zh) | 2019-08-27 | 2019-08-27 | 基于辅助性知识的Web服务开发者按需推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727842B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860626B (zh) * | 2021-02-04 | 2023-07-28 | 北京百度网讯科技有限公司 | 一种文档排序方法、装置及电子设备 |
CN113836395B (zh) * | 2021-08-30 | 2023-05-16 | 河南大学 | 一种基于异构信息网络的服务开发者按需推荐方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491299A (zh) * | 2017-07-04 | 2017-12-19 | 扬州大学 | 面向多源软件开发数据融合的开发者画像建模方法 |
CN107767058A (zh) * | 2017-10-26 | 2018-03-06 | 北京航空航天大学 | 一种众包软件开发者推荐方法 |
CN109299473A (zh) * | 2018-11-15 | 2019-02-01 | 扬州大学 | 一种基于开发者画像的软件工程任务推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621376B2 (en) * | 2009-10-28 | 2013-12-31 | Yahoo! Inc. | Developer interface and associated methods for system for querying and consuming web-based data |
-
2019
- 2019-08-27 CN CN201910796047.6A patent/CN110727842B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491299A (zh) * | 2017-07-04 | 2017-12-19 | 扬州大学 | 面向多源软件开发数据融合的开发者画像建模方法 |
CN107767058A (zh) * | 2017-10-26 | 2018-03-06 | 北京航空航天大学 | 一种众包软件开发者推荐方法 |
CN109299473A (zh) * | 2018-11-15 | 2019-02-01 | 扬州大学 | 一种基于开发者画像的软件工程任务推荐方法 |
Non-Patent Citations (2)
Title |
---|
Developer recommendation for software security bugs;Sun Xiao-Bing et al.;《Journal of Software》;20180831;第2294-2305页 * |
一种多特征融合的软件开发者推荐;谢新强等;《软件学报》;20180313(第08期);第2306-2321页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110727842A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bucur | Using opinion mining techniques in tourism | |
WO2019214245A1 (zh) | 一种信息推送方法、装置、终端设备及存储介质 | |
Hoffart et al. | Robust disambiguation of named entities in text | |
He et al. | Comment-based multi-view clustering of web 2.0 items | |
US20100241647A1 (en) | Context-Aware Query Recommendations | |
CN112148889A (zh) | 一种推荐列表的生成方法及设备 | |
CN110968684A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
JP5057474B2 (ja) | オブジェクト間の競合指標計算方法およびシステム | |
CN102123172A (zh) | 一种基于神经网络聚类优化的Web服务发现的实现方法 | |
CN110727842B (zh) | 基于辅助性知识的Web服务开发者按需推荐方法及系统 | |
CN111259220A (zh) | 一种基于大数据的数据采集方法和系统 | |
Gong et al. | Phrase-based hashtag recommendation for microblog posts. | |
Lin et al. | NL2API: A framework for bootstrapping service recommendation using natural language queries | |
CN114201598B (zh) | 文本推荐方法及文本推荐装置 | |
Ma et al. | Stream-based live public opinion monitoring approach with adaptive probabilistic topic model | |
Eldin et al. | An enhanced opinion retrieval approach via implicit feature identification | |
Hsu et al. | A hybrid Latent Dirichlet Allocation approach for topic classification | |
Corbellini et al. | Mining social web service repositories for social relationships to aid service discovery | |
Haak et al. | Auditing search query suggestion bias through recursive algorithm interrogation | |
Zhang et al. | Document keyword extraction based on semantic hierarchical graph model | |
CN116932730B (zh) | 基于多叉树和大规模语言模型的文档问答方法及相关设备 | |
Li et al. | Topic extraction from extremely short texts with variational manifold regularization | |
CN117149804A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114445043B (zh) | 基于开放生态化云erp异质图用户需求精准发现方法及系统 | |
CN113836395B (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 |