CN109783127A - 一种服务化信息系统的需求配置问题求解方法及装置 - Google Patents
一种服务化信息系统的需求配置问题求解方法及装置 Download PDFInfo
- Publication number
- CN109783127A CN109783127A CN201811414632.7A CN201811414632A CN109783127A CN 109783127 A CN109783127 A CN 109783127A CN 201811414632 A CN201811414632 A CN 201811414632A CN 109783127 A CN109783127 A CN 109783127A
- Authority
- CN
- China
- Prior art keywords
- sreq
- service
- theme
- similarity
- nfp
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种服务化信息系统的需求配置问题求解方法及装置,所述方法包括:采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,选取概率值最大的q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;从功能需求和非功能需求两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。本发明能够准确地匹配服务,可同时满足用户功能和非功能需求,具有良好的实用性,本发明属于软件工程技术领域。
Description
技术领域
本发明属于软件工程技术领域,特别涉及一种服务化信息系统的需求配置问题求解方法及装置。
背景技术
近年来,互联网上的Web服务呈现出快速增长的趋势,越来越多的开发者开始构建以Web API为基础构造块的软件系统,以Web API为基础的微服务架构技术也在工业届得到了广泛应用。利用各种可用的Web服务可以在确保开发质量的前提下大幅缩短软件应用的交付时间和维护成本,拓展业务流程和促进数据共享,实现大粒度的软件重用,并能通过组合Web服务为用户提供增值服务。
在服务化信息系统软件开发中面临的一个关键任务是如何对服务需求配置问题进行求解,即如何基于需求模型进行服务匹配。具体而言,对于给定的用户需求,如何快速、准确地从候选服务集中找到能够满足用户需求的服务。用户的服务需求通常包含相关功能点的描述,如“联合作战计划生成”、“计划评估”等,以及一些非功能描述,如“可靠性高”、“响应时间在5秒以内”等。根据服务需求中每个功能点的描述,需要从候选服务集中发现能够满足该功能点的相似服务子集。进一步,如果某个需求功能点存在相应的非功能约束,在对该功能点进行服务发现时需要同时考虑服务的非功能特性与非功能需求约束之间的匹配度。尽管学术界和工业界已经提出了大量的Web服务发现方法用以根据用户需求进行服务发现,但目前的Web服务注册中心(如ProgrammableWeb)仍然主要采用基于关键字匹配的Web服务发现机制,往往准确率不高,且在非功能需求约束方面也未充分考虑。
发明内容
本发明提出一种服务化信息系统的需求配置问题求解方法及装置,用于解决现有技术中服务需求配置问题求解准确率不高、需求约束不全面的问题。
本发明提出一种服务化信息系统的需求配置问题求解方法,所述方法包括如下技术方案:
S1、采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
S2、对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
S3、从功能需求和非功能需求两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
在上述技术方案中,所述步骤S1具体包括:
S11、对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
S12、使用主题模型LDA(Latent Dirichlet Allocation)对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数;
S13、利用服务的主题概率分布,为每个主题构建一个服务类簇,预设一个k值,选取所述主题概率分布θs中概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。
在上述技术方案中,所述步骤S2的具体过程为:、采用步骤S11的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断:
为sreq中的每个词随机分配T个主题中的一个,重复对sreq进行吉布斯抽样,即为sreq的每个词wi按下式计算的概率重新分配主题:
其中,T是服务集S的LDA模型的主题数,W(S∪{sreq})代表S和sreq中包含的所有词;z-i代表除wi外其它所有词的主题分配组成的集合;为主题t中除wi外的总词数,为主题t中除wi外与wi相同的词数,代表sreq中除wi外分配给主题t的总词数;代表sreq中除wi外的总词数,α是主题的先验参数,β是单词的先验参数,N′是服务集S中词的总数;
S22、当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计,sreq在主题z∈{1,2,...,T}下的概率估计为:
其中,代表sreq中分配给z的词数;代表sreq包含的总词数;
S23、从θsreq中选出概率值最大的q个主题,进而将这q个主题所对应的服务类簇集作为sreq的服务搜索空间CanS(sreq)。
在上述技术方案中,所述步骤S3的具体过程为:S31、对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)
其中,v1和v2分别是两种相似度的权重系数;
S32、对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq):
假设sreq的非功能性需求表示为:
sreqnf={(nfp1,range1),(nfp2,range2),...,(nfpm,rangem)},其中,nfp1,nfp2,…,nfpm代表sreq的非功能属性,令i=1,2,…,m,rangei是nfpi对应的范围,rangei=[min,max],min代表rangei的最小值,max代表rangei的最大值;
假设服务s的非功能特性描述表示为:
snf={(nfp1,range1),(nfp2,range2),...,(nfpl,rangel)},其中,nfp1,nfp2,…,nfpl代表s的非功能属性,range1,range2,…,rangel是对应的范围;
则NFuncSim(s,sreq)的计算如下:
其中i=1,2,…,m,ηi代表用户赋给非功能属性nfpi的权值,默认采用等权值设置,即所有的m个非功能性需求的权值都为1/m;Sim(snf,(nfpi,rangei))代表sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度;
S33、将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重。根据综合相似度对CanS(sreq)中的所有服务进行降序排列,作为最终匹配的web服务列表。
在上述技术方案中,所述步骤S31中,所述主题相似度topic_FuncSim(s,sreq)的计算方式为:利用主题概率分布θs和每个主题的词概率分布φz计算由s生成sreq的概率得到,即:
其中,代表s在主题z上的概率,代表z在词wi上的概率,W(sreq)代表sreq中包含的所有词;
所述基于文本特征向量的相似度textvec_FuncSim(s,sreq)计算方式为:获取所述服务功能聚类时得到的每个服务s的向量及识别与sreq相似的服务类簇时得到的向量根据中的词频向量对向量进行转化,更新中词wi对应的维度值si;对转化后的和采用余弦相似度计算它们之间的相似度,即为:
其中,||s||为向量的模,||sreq||为向量的模。
在上述技术方案中,所述步骤S32中,所述sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度Sim(snf,(nfpi,rangei))的计算方式如下:
1)若snf中不存在非功能属性nfpi,则Sim(snf,(nfpi,rangei))=0;
2)若snf中存在非功能属性nfpi,则令对应的非功能属性为nfpj,然后可以根据非功能属性nfpi的特性以及rangei与rangej之间的包含关系计算Sim(snf,(nfpi,rangei))。
nfpj能够满足nfpi的程度计算如下:
其中,range.min和range.max分别代表对应的range的最小值和最大值;
本发明第二方面,还提供一种服务化信息系统的需求配置问题求解装置,所述装置包括:
聚类模块:采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
识别模块:对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
匹配模块:用于从功能和非功能两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
在上述装置中,所述聚类模块具体包括:
预处理单元:对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
建模单元:使用主题模型LDA对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数;
分配单元:利用服务的主题概率分布,为每个主题构建一个服务类簇,预设一个k值,选取所述主题概率分布θs中概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。
在上述装置中,所述识别模块具体包括:
推断单元:采用预处理单元的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断;
估计单元:当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计;
筛选单元:从θsreq中选出概率值最大的q个主题,进而将这q个主题所对应的服务类簇集作为sreq的服务搜索空间CanS(sreq)。
在上述装置中,所述匹配模块具体包括:
功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:,
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)
其中,v1和v2分别是两种相似度的权重系数;
非功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq);
加权单元:将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重。
排序单元:根据综合相似度对CanS(sreq)中的所有服务进行降序排列,作为最终匹配的web服务列表。
本发明的有益效果是:本发明提出的一种服务化信息系统的需求配置问题求解方法及装置,能够快速、准确地从候选服务集中找到能够满足用户需求的服务,与现有技术相比提高了服务发现的准确率,并且能同时满足用户的功能性需求和非功能性需求,提升用户体验,具有良好的实用性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明进行服务需求配置问题求解的方法流程示意图;
图2为本发明进行服务需求配置问题求解的总体框架示意图;
图3为本发明进行服务需求配置问题求解的装置流程示意图;
图4是PW中的Web服务“Google Fusion Tables”的描述信息。
具体实施方式
本发明提出的一种服务化信息系统的需求配置问题求解方法及装置,能够准确地匹配服务集,同时满足用户功能和非功能需求的服务,具有良好的实用性。
请参见图1,本发明提出的一种服务化信息系统的需求配置问题求解方法,图1为该方法的流程示意图,并结合图2,所述方法包括:
S1、采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
可选的,所述步骤S1具体包括:
S11、对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
具体的,首先进行分词,以得到服务功能描述信息中包含的单词列表。对于结构化的接口描述,从中提取能够体现服务功能的元素,如操作名、输入消息、输出消息等,并对由多个词构成的字符串(如bookHotel)进行拆分得到。对于短文本的业务功能描述,可借助现有的自然语言处理工具实现,如NLTK(Natural Language Toolkit,自然语言工具包)。
然后进行词形标准化,以便所有词还原成其基本原形。由于分词后得到的词集中会包含同一词的不同形态,如create、creates、created、creating等,利用词干化(stemming)这一词形标准化技术,可以提取一个词的词干,比如上面所有词的词干都是creat。此步骤需保留在一个服务描述文件中重复的词。
最后进行去停用词,以删除对表达服务功能无意义的词,包括介词、连词和代词,以及结构化接口描述中的固定标签,如operation、input、output、element、request、response等。
S12、使用主题模型LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数。服务s的主题概率分布θs中每一维的概率值即反映了s与该维所对应的主题的相关度,概率值越大,则相关度越高。
S13、利用服务的主题概率分布,为每个主题构建一个服务类簇,预设一个k值,选取所述主题概率分布θs中概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。具体的,该方法称为Topk方案,采用Topk方案的服务聚类的算法描述如下:
输入:采用LDA生成的所有候选服务的主题概率分布,k值;
输出:服务类簇集SC={C1,C2,…,CT};
1)初始化SC为空;
2)从每个服务s的主题概率分布θs中识别出概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);
3)将s分配给RelT(s)中每个主题对应的服务类簇。
S2、对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
可选的,所述步骤S2的具体过程为:
S21、采用步骤S11的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断:
为sreq中的每个词随机分配T个主题中的一个,重复对sreq进行吉布斯抽样,即为sreq的每个词wi按下式计算的概率重新分配主题:
其中,T是服务集S的LDA模型的主题数,W(S∪{sreq})代表S和sreq中包含的所有词;z-i代表除wi外其它所有词的主题分配组成的集合;为主题t中除wi外的总词数,主题t中除wi外与wi相同的词的数量,代表sreq中除wi外分配给主题t的总词数;代表sreq中除wi外的总词数,α是主题的先验参数,β是单词的先验参数,N′是服务集S中词的总数;在对sreq的吉布斯抽样过程中,S中所有词(即W(S))的主题分配保持不变。
S22、当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计,sreq在主题z∈{1,2,...,T}下的概率估计为:
其中,代表sreq中分配给z的词数;代表sreq包含的总词数;
S23、从θsreq中选出概率值最大的q个主题,进而将这q个主题所对应的服务类簇集作为sreq的服务搜索空间CanS(sreq)。
S3、从功能需求和非功能需求两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
可选的,所述步骤S3的具体过程为:S31、对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)
其中,v1和v2分别是两种相似度的权重系数;
可选的,所述步骤S31中,所述主题相似度topic_FuncSim(s,sreq)的计算方式为:利用主题概率分布θs和每个主题的词概率分布φz计算由s生成sreq的概率得到,即:
其中,代表s在主题z上的概率,代表z在词wi上的概率,W(sreq)代表sreq中包含的所有词。具体的,上式的涵义是:由s生成sreq的概率可以用s生成sreq中所有词的概率之积来衡量,而每个词wi的生成概率则是s在所有主题下生成wi的概率之和。
所述基于文本特征向量的相似度textvec_FuncSim(s,sreq)计算方式为:获取所述服务功能聚类时得到的每个服务s的向量及识别与sreq相似的服务类簇时得到的向量根据中的词频向量对向量进行转化,更新中词wi对应的维度值si;对转化后的和采用余弦相似度计算它们之间的相似度,即为:
其中,||s||为向量的模,||sreq||为向量的模。
具体的,在识别与sreq相似的服务类簇时,可以得到sreq的词频向量同时,由sreq的主题概率分布θsreq可以得到sreq的主题向量πt(t=1,2,...,T)代表sreq在主题t上的概率。此外,在服务聚类时也得到了每个服务s的两种向量,即词频向量和主题向量将s的向量和sreq的向量分别统一用和表示,基于文本特征向量的textvec_FuncSim(s,sreq)计算方式如下:
首先,对根据进行转化,仅保留中出现在sreq中的词所对应的维度。具体可按下式更新中词wi对应的维度值si,代表wi在sreq中出现的词频。注意,和的主题向量不需要进行转化。
S32、对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq):
假设sreq的非功能性需求表示为:
sreqnf={(nfp1,range1),(nfp2,range2),...,(nfpm,rangem)},其中,nfp1,nfp2,…,nfpm代表sreq的非功能属性,令i=1,2,…,m,rangei是nfpi对应的范围,rangei=[min,max],min代表rangei的最小值,max代表rangei的最大值;
假设服务s的非功能特性描述表示为:
snf={(nfp1,range1),(nfp2,range2),...,(nfpl,rangel)},其中,nfp1,nfp2,…,nfpl代表s的非功能属性,range1,range2,…,rangel是对应的范围;
则NFuncSim(s,sreq)的计算如下:
其中i=1,2,…,m,ηi代表用户赋给非功能属性nfpi的权值,默认采用等权值设置,即所有的m个非功能性需求的权值都为1/m;Sim(snf,(nfpi,rangei))代表sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度。
具体的,服务需求sreq中除了功能方面的需求外,还可能包含非功能方面的需求或期望,如响应时间不超过5秒、可靠性达到90%以上等。在服务发现时,一个服务除了要能够满足sreq的功能需求外,还需要满足sreq的非功能期望。绝大多数的非功能性需求以及服务的非功能特性都可采用一个范围range进行描述,如:响应时间不超过5秒→(响应时间,[0,5])。
由于sreq可能包含多个非功能属性的需求,且用户可以对不同的非功能属性进行赋权以反映其个性化偏好,因此可以用公式描述非功能需求,在snf和sreqnf中,同一个非功能属性必须使用相同的名称和计量单位,如响应时间表示为“response_time”并以“秒”为计量单位、吞吐量表示为“throughout”并以“处理事件数/秒”为计量单位等。
可选的,所述步骤S32中,所述sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度Sim(snf,(nfpi,rangei))的计算方式如下:
1)若snf中不存在非功能属性nfpi,则Sim(snf,(nfpi,rangei))=0;
2)若snf中存在非功能属性nfpi,则令对应的非功能属性为nfpj,然后可以根据非功能属性nfpi的特性以及rangei与rangej之间的包含关系计算Sim(snf,(nfpi,rangei))。
nfpj能够满足nfpi的程度计算如下:
其中,range.min和range.max分别代表对应的range的最小值和最大值;具体的,上式中三种情形下的相似度常量可根据实际情况调整。
S33、将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重。最后根据综合相似度对CanS(sreq)中的所有服务进行降序排列,得到最终匹配的web服务列表。
图2为本发明进行服务需求配置问题求解的总体框架示意图,也是图1所述方法的具体过程示意。Web服务集经过步骤S11的预处理,经过步骤S12的服务主题建模,以及步骤S13的基于主题模型的服务聚类,得到服务类簇;用户服务需求经过步骤S21的预处理以及步骤S22的主题概率分布推断,然后从所述服务类簇中识别出相似服务类簇(步骤S23);最后进行功能相似度计算S31、非功能相似度计算S32、综合相似度计算S33,得到匹配的Web服务列表,满足用户服务需求。
请参见图3,本发明提供的一种服务化信息系统的需求配置问题求解装置,所述装置包括:
聚类模块310:采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
识别模块320:对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
匹配模块330:从功能需求和非功能需求两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
可选的,所述聚类模块具体包括:
预处理单元:对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
建模单元:使用主题模型LDA对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数;
分配单元:利用服务的主题概率分布,为每个主题构建一个服务类簇,预设一个k值,选取所述主题概率分布θs中概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。
可选的,所述识别模块具体包括:
推断单元:采用所述预处理单元的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断;
估计单元:当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计;
筛选单元:从θsreq中选出概率值最大的q个主题,进而将这q个主题所对应的服务类簇集作为sreq的服务搜索空间CanS(sreq)。
可选的,所述匹配模块具体包括:
功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:,
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)其中,v1和v2分别是两种相似度的权重系数;
非功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq);
加权单元:将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重。
排序单元:根据综合相似度对CanS(sreq)中的所有服务进行降序排列,作为最终匹配的web服务列表。
以Web服务编程网站ProgrammableWeb(http://www.programmableweb.com/,简称PW)上的Web服务进行服务需求配置问题求解为实施例,进一步说明本发明的实施过程。请参见图4,图4是PW中的Web服务“Google Fusion Tables”的描述信息,图4中410为服务名称,410为所述领域,430为对应的业务功能描述信息。
截至2018年1月1日,在PW上已有超过18,000个Web服务,而且其中绝大多数的服务都具备自然语言短文本的业务功能描述信息。从PW中抓取了13,520个服务的信息,包括服务名称、领域标签、短文本的业务功能描述等。根据领域类别标签,将获取的服务集划分成了381个不同的领域,具体地,每个服务被分配到用于标注它的每个领域中。例如,图4的“Google Fusion Tables”服务被分配到了3个领域:Database、Tools和Mapping。从划分后的领域中,选择了9个领域作为实验数据集,如表1所示,“服务数量”列展示了每个领域所包含的服务数。由于PW上服务的领域类别标签是由服务提供者或PW管理者所标注的,具有较高的准确度,因此,可将服务的所属领域作为后续服务功能聚类的标准。
表1用于实验的9个服务领域及其数量统计
服务领域 | 服务数量 |
Blogging | 56 |
Education | 246 |
Food | 73 |
Games | 211 |
Music | 190 |
Sports | 156 |
Storage | 107 |
Travel | 225 |
Weather | 106 |
然后,对收集的Web服务进行预处理,具体包括:利用全文搜索引擎Apache Lucene(http://lucene.apache.org/)对其短文本的业务描述信息进行分词;然后,利用NLTK中的Porter Stemmer对每个词进行词干化处理;最后,利用NLTK内置的停用词表进行过滤。
接着,进行基于LDA的服务功能聚类,先使用主题模型LDA的吉布斯抽样实现版本JGibbsLDA(http://jgibblda.sourceforge.net/)对预处理后的整个服务集进行建模。由于实验数据集是9个领域,将隐式主题数T设置为9,并将吉布斯抽样的最大迭代次数设置为1000。建模后即得到两种概率分布:服务的主题概率分布和主题的词概率分布。然后,为每个主题构建了相应的服务类簇(共9个服务类簇),并根据每个服务的主题概率分布将其分配到与之最相关的主题所对应的服务类簇中。表2给出了聚类生成的9个服务类簇的规模。
表2基于LDA的服务功能聚类结果
表3展示了其中2个主题下的高相关词(即出现概率较高的词)、它们所对应的服务类簇中的若干服务以及服务短文本描述中的高频词。可以看到,每个主题下汇聚的服务在功能上都具有很好的相似性。
表3基于LDA的服务功能聚类方法的部分结果
在进行服务匹配之前,先构建了5个用于测试的用户服务需求,包括book hotel,find airport,get artist,search flight,share music。为了评估服务匹配的结果,对每个服务需求sreq,人工对9个实验领域中的每个服务与sreq的相关度按四个等级:1、2、3、4,进行了标注。其中,1代表强相关,2代表相关,3代表弱相关,4代表不相关。
然后,先确定与每个服务需求sreq最相似的服务类簇,通常可选用最相似的k个服务类簇,为简便起见,可取k=1,以缩减服务搜索空间,具体实施过程如下:对sreq进行分词、词干化和去停用词等预处理,再进行词频统计,得到sreq的词频向量;根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计,从θsreq中可得到与sreq最相关的k个主题,找到与sreq最相似的服务类簇,将其作为缩减后的服务搜索空间,即CanS(sreq)。
接下来,对CanS(sreq)中的每个服务s,计算由s生成sreq的概率,即为s与sreq的功能相似度。由于该实验数据集的服务缺乏非功能属性,这里利用功能相似度代替服务与需求的综合相似度,并对CanS(sreq)中的所有服务进行降序排列,即可得到候选服务列表。
对得到的候选服务列表,可采用准确率(Precision)进行评估。考虑到在实际中用户通常只会浏览返回结果的前若干项,这里只评估列表的前N个服务,即计算Precision@N。
其中,SLN(sreq)代表为服务需求sreq返回的服务发现列表的前N个服务;RelS(sreq)代表sreq的相关服务集,实验中将sreq的服务标注结果中标注为1、2或3的所有服务都作为sreq的相关服务集。
表4列出了针对候选服务列表中前N个服务的平均准确率TextVecSM,可以看到,多数情况下,的准确率在70%左右。
表4服务匹配方法的平均准确率
N=5 | N=10 | N=15 | N=20 | N=25 | N=30 | N=35 | N=40 | |
TextVecSM | 0.75 | 0.78 | 0.74 | 0.72 | 0.71 | 0.69 | 0.65 | 0.62 |
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种服务化信息系统的需求配置问题求解方法,其特征在于,所述方法包括:
S1、采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
S2、对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
S3、从功能需求和非功能需求两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
2.根据权利要求1所述一种服务化信息系统的需求配置问题求解方法,其特征在于,所述步骤S1具体包括:
S11、对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
S12、使用主题模型LDA对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数;
S13、利用服务的主题概率分布,为每个主题构建一个服务类簇,预设一个k值,选取所述主题概率分布θs中概率值最大的k个维度所对应的k个主题作为s的相关主题集RelT(s);然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。
3.根据权利要求2所述一种服务化信息系统的需求配置问题求解方法,其特征在于,所述步骤S2的具体过程为:
S21、采用步骤S11的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断:
为sreq中的每个词随机分配T个主题中的一个,重复对sreq进行吉布斯抽样,即为sreq的每个词wi按下式计算的概率重新分配主题:
其中,T是服务集S的LDA模型的主题数,W(S∪{sreq})代表S和sreq中包含的所有词;z-i代表除wi外其它所有词的主题分配组成的集合;为主题t中除wi外的总词数,为主题t中除wi外与wi相同的词的数量,代表sreq中除wi外分配给主题t的总词数;代表sreq中除wi外的总词数,α是主题的先验参数,β是单词的先验参数,N′是服务集S中词的总数;
S22、当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计,sreq在主题z∈{1,2,...,T}下的概率估计为:
其中,代表sreq中分配给z的词数;代表sreq包含的总词数;
S23、从θsreq中选出概率值最大的k个主题,进而将这k个主题所对应的服务类簇作为sreq的服务搜索空间CanS(sreq)。
4.根据权利要求3所述一种服务化信息系统的需求配置问题求解方法,其特征在于,所述步骤S3的具体过程为:
S31、对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)
其中,v1和v2分别是两种相似度的权重系数;
S32、对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq):
假设sreq的非功能性需求表示为:
sreqnf={(nfp1,range1),(nfp2,range2),...,(nfpm,rangem)},其中,nfp1,nfp2,…,nfpm代表sreq的非功能属性,令i=1,2,…,m,rangei是nfpi对应的范围,rangei=[min,max],min代表rangei的最小值,max代表rangei的最大值;
假设服务s的非功能特性描述表示为:
snf={(nfp1,range1),(nfp2,range2),...,(nfpl,rangel)},其中,nfp1,nfp2,…,nfpl代
表s的非功能属性,range1,range2,…,rangel是对应的范围;
则NFuncSim(s,sreq)的计算如下:
其中i=1,2,…,m,ηi代表用户赋给非功能属性nfpi的权值,默认采用等权值设置,即所有的m个非功能性需求的权值都为1/m;Sim(snf,(nfpi,rangei))代表sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度;
S33、将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重;根据综合相似度对CanS(sreq)中的所有服务进行降序排列,得到最终匹配的web服务列表。
5.根据权利要求根据权利要求4所述一种服务化信息系统的需求配置问题求解方法,其特征在于,所述步骤S31中,所述主题相似度topic_FuncSim(s,sreq)的计算方式为:利用主题概率分布θs和每个主题的词概率分布φz计算由s生成sreq的概率得到,即:
其中,代表s在主题z上的概率,代表z在词wi上的概率,W(sreq)代表sreq中包含的所有词;
所述基于文本特征向量的相似度textvec_FuncSim(s,sreq)计算方式为:获取所述服务功能聚类时得到的每个服务s的向量及识别与sreq相似的服务类簇时得到的向量根据中的词频向量对向量进行转化,更新中词wi对应的维度值si;对转化后的和采用余弦相似度计算它们之间的相似度,即为:
其中,||s||为向量的模,||sreq||为向量的模。
6.根据权利要求根据权利要求4所述一种服务化信息系统的需求配置问题求解方法,其特征在于,所述步骤S32中,所述sreqnf中的非功能性需求(nfpi,rangei)能够被snf满足的程度Sim(snf,(nfpi,rangei))的计算方式如下:
1)若snf中不存在非功能属性nfpi,则Sim(snf,(nfpi,rangei))=0;
2)若snf中存在非功能属性nfpi,则令对应的非功能属性为nfpj,然后可以根据非功能属性nfpi的特性以及rangei与rangej之间的包含关系计算Sim(snf,(nfpi,rangei));
nfpj能够满足nfpi的程度计算如下:
其中,range.min和range.max分别代表对应的range的最小值和最大值。
7.一种服务化信息系统的需求配置问题求解装置,其特征在于,所述装置包括:
聚类模块:采用基于主题模型的方法对Web服务集的描述文档进行服务功能聚类,所述服务功能聚类根据功能将候选服务集S划分成不同的服务类簇;
识别模块:对于一个给定的服务需求sreq,对sreq进行主题概率分布推断,从sreq的主题概率分布估计值中选取概率值最大的q个主题,以所述q个主题对应的服务类簇作为所述服务需求sreq的服务搜索空间;
匹配模块:用于从功能和非功能两个方面计算所述服务需求sreq与所述服务搜索空间中的每个服务s的相似度,将所述服务搜索空间中的各个服务根据所述相似度降序排列作为满足用户需求的候选服务列表。
8.根据权利要求7所述一种服务化信息系统的需求配置问题求解装置,其特征在于,所述聚类模块具体包括:
预处理单元:对服务集S中的每个服务s的功能描述信息进行分词、词形标准化、去停用词的预处理,所述功能描述信息包括结构化接口描述和短文本形式的业务功能描述;
建模单元:使用主题模型LDA对所述预处理后的服务集S进行建模,得到每个服务s的主题概率分布θs和每个主题z∈{1,2,...,T}的词概率分布φz,T代表主题数;
分配单元:利用服务的主题概率分布,为每个主题构建一个服务类簇,根据所述主题概率分布θs中的概率值得到与服务s相关的主题集RelT(s),然后将服务s分配到RelT(s)中每个主题所对应的服务类簇中。
9.根据权利要求7所述一种服务化信息系统的需求配置问题求解装置,其特征在于,所述识别模块具体包括:
推断单元:采用步骤S11的方式对所述服务需求sreq进行预处理,在服务集S的LDA模型基础上,基于吉布斯抽样技术对sreq进行主题概率分布推断;
估计单元:当为sreq重复执行吉布斯抽样达到预设次数之后,根据sreq中词的主题分配对sreq的主题概率分布θsreq进行估计;
筛选单元:从θsreq中选出概率值最大的k个主题,进而将这k个主题所对应的服务类簇集作为sreq的服务搜索空间CanS(sreq)。
10.根据权利要求7所述一种服务化信息系统的需求配置问题求解装置,其特征在于,所述匹配模块具体包括:
功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,采用非对称策略计算s与sreq在功能上的相似度FuncSim(s,sreq),所述功能上的相似度FuncSim(s,sreq)由主题相似度topic_FuncSim(s,sreq)和文本向量相似度textvec_FuncSim(s,sreq)加权综合计算得到:
FuncSim(s,sreq)=v1·topic_FuncSim(s,sreq)+v2·textvec_FuncSim(s,sreq)
其中,v1和v2分别是两种相似度的权重系数;
非功能相似度计算单元:对服务搜索空间CanS(sreq)中的每个服务s,计算s与sreq在非功能上的相似度NFuncSim(s,sreq);
加权单元:将FuncSim(s,sreq)和NFuncSim(s,sreq)这两种相似度加权得到s与sreq的综合相似度Sim(s,sreq):
Sim(s,sreq)=ξ1·FuncSim(s,sreq)+ξ2·NFuncSim(s,sreq)
其中,ξ1和ξ2分别代表用户对sreq中功能需求和非功能性需求的权重;
排序单元:根据综合相似度对CanS(sreq)中的所有服务进行降序排列,作为最终匹配的web服务列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811414632.7A CN109783127B (zh) | 2018-11-26 | 2018-11-26 | 一种服务化信息系统的需求配置问题求解方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811414632.7A CN109783127B (zh) | 2018-11-26 | 2018-11-26 | 一种服务化信息系统的需求配置问题求解方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783127A true CN109783127A (zh) | 2019-05-21 |
CN109783127B CN109783127B (zh) | 2022-05-24 |
Family
ID=66496407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811414632.7A Active CN109783127B (zh) | 2018-11-26 | 2018-11-26 | 一种服务化信息系统的需求配置问题求解方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783127B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621391A (zh) * | 2009-08-07 | 2010-01-06 | 北京百问百答网络技术有限公司 | 基于概率主题进行短文本分类的方法及系统 |
CN101662489A (zh) * | 2008-08-27 | 2010-03-03 | 华为技术有限公司 | 语义Web服务的发现方法、装置及系统 |
US20120271790A1 (en) * | 2011-04-19 | 2012-10-25 | Yahoo! Inc. | System and method for mining tags using social endorsement networks |
CN102855312A (zh) * | 2012-08-24 | 2013-01-02 | 武汉大学 | 一种面向领域主题的Web服务聚类方法 |
-
2018
- 2018-11-26 CN CN201811414632.7A patent/CN109783127B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662489A (zh) * | 2008-08-27 | 2010-03-03 | 华为技术有限公司 | 语义Web服务的发现方法、装置及系统 |
CN101621391A (zh) * | 2009-08-07 | 2010-01-06 | 北京百问百答网络技术有限公司 | 基于概率主题进行短文本分类的方法及系统 |
US20120271790A1 (en) * | 2011-04-19 | 2012-10-25 | Yahoo! Inc. | System and method for mining tags using social endorsement networks |
CN102855312A (zh) * | 2012-08-24 | 2013-01-02 | 武汉大学 | 一种面向领域主题的Web服务聚类方法 |
Non-Patent Citations (1)
Title |
---|
李征: "面向领域主题的按需服务发现方法研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109783127B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Billion-scale commodity embedding for e-commerce recommendation in alibaba | |
Nilashi et al. | A recommender system based on collaborative filtering using ontology and dimensionality reduction techniques | |
Sohail et al. | Classifications of recommender systems: A review. | |
US8719192B2 (en) | Transfer of learning for query classification | |
Yao et al. | Unified collaborative and content-based web service recommendation | |
Zheng et al. | Collaborative web service QoS prediction via neighborhood integrated matrix factorization | |
US11188830B2 (en) | Method and system for user profiling for content recommendation | |
Marinho et al. | Social tagging recommender systems | |
CN109033284A (zh) | 基于知识图谱的电力信息运维系统数据库构建方法 | |
CN104572797A (zh) | 基于主题模型的个性化服务推荐系统和方法 | |
CN104268292A (zh) | 画像系统的标签词库更新方法 | |
Yadav et al. | Dealing with Pure New User Cold‐Start Problem in Recommendation System Based on Linked Open Data and Social Network Features | |
Chakraborty et al. | Ferosa: A faceted recommendation system for scientific articles | |
Gao et al. | SeCo-LDA: Mining service co-occurrence topics for composition recommendation | |
US20230074771A1 (en) | Hierarchical clustering on graphs for taxonomy extraction and applications thereof | |
Wang et al. | Multifunctional product marketing using social media based on the variable-scale clustering | |
Frikha et al. | Toward a user interest ontology to improve social network-based recommender system | |
Markellou et al. | Personalized e-commerce recommendations | |
CN109783127A (zh) | 一种服务化信息系统的需求配置问题求解方法及装置 | |
Kumar et al. | Context-aware social popularity based recommender system | |
Yang | An active recommendation approach to improve book-acquisition process | |
An et al. | Research on an Agent-Based Intelligent Social Tagging Recommendation System | |
Wasilewski et al. | Clustering methods for adaptive e-commerce user interfaces | |
Ben Kharrat et al. | Empirical study of social collaborative filtering algorithm | |
Li et al. | The media-oriented cross domain recommendation method |
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 |