基于组合语义学习的服务包推荐方法及系统技术方案

技术编号:25272770 阅读:16 留言:0更新日期:2020-08-14 23:05
本发明专利技术提供了一种基于组合语义学习的服务包推荐方法及系统,包括:步骤M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;步骤M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;步骤M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。本发明专利技术通过对Mashup应用自然语言功能描述的挖掘来发现服务的组合语义,并形成语义服务包库,围绕语义服务包库,为用户推荐一组互补的服务,以尽可能完整涵盖功能需求。

【技术实现步骤摘要】
基于组合语义学习的服务包推荐方法及系统
本专利技术涉及网络化服务检索
,具体地,涉及一种基于组合语义学习的服务包推荐方法及系统。
技术介绍
在服务经济时代,以用户需求为中心的个性化服务因能为不同需求的用户提供定制化的服务而受到大众的关注,组合服务技术为用户的需求提供个性化的解决方案。Mashup作为服务计算的一项重要技术已经成为组合服务实现中的流行方法。已有一些面向终端用户开发的组合服务开发工具,直观的帮助开发人员利用现有服务开发功能复杂的组合服务。开发人员在交互界面上简单的“拖放”操作即可快速构建Mashup。利用开发工具,非专业的开发人员一样能开发出功能复杂且形式多样的组合服务,降低了组合服务的开发周期和开发成本。利用已有Mashup开发工具为组合服务的构建提供了许多便利,然而,如何从海量服务中选择合适的服务仍然具有挑战性。理想的情况是开发人员给出所需设计的自然语言描述的Mashup的功能规范,系统返回满足功能需求的若干服务。近年来,互联网上提供了数量庞大的各种服务,如何从服务集中为开发人员推荐合适的服务是现今的研究热点。先前的研究往往为开发人员推荐一组功能与需求描述相似的服务,按照相似度对推荐的服务进行排序,开发人员仍然需要从中选择合适的服务来构建Mashup,同时,推荐的单个服务往往无法满足开发人员的复杂需求。亟需设计一个服务推荐引擎能够为开发人员推荐一组互补的服务,完整涵盖开发人员的需求。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于组合语义学习的服务包推荐方法及系统。根据本专利技术提供的一种基于组合语义学习的服务包推荐方法,包括:步骤M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;步骤M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;步骤M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。优选地,所述步骤M2包括:步骤M2.1:基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;步骤M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;步骤M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;步骤M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。优选地,所述步骤M3包括:步骤M3.1:输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;步骤M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包;即计算语句块与语义服务包库的语义相似度,当相似度超过阈值时,语句块与语义服务包库的语义相似,即语句块由服务包覆盖,完整涵盖Mashup应用的功能需求。优选地,所述步骤M2.1包括:利用概率判别框架CODRA将Mashup应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的Logistic回归分类器确定功能描述中的Mashup应用的自然语言功能描述中的每个单词是否为语句块的边界,从而将功能描述分割成语句块,基于斯坦福RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合;所述步骤M2.2包括:重复预设次数利用主题模型LDA获得Mashup应用中语句块以及Mashup应用中语句块所包含的原子服务所对应的主题模型LDA所建立的主题分布,当主题间的平均相似度最小时,主题模型最优,从而确定主题数量;利用最优主题模型LDA训练语句块,将每个语句块表示成主题向量;所述步骤M2.3包括:将被重用的服务包看作集合分割问题,提高包含服务个数在预设范围内的服务包的权重,通过分割后的服务包数量约束分割的粒度,利用Gurobi工具将Mashup应用分割成服务包的组合。优选地,所述步骤M2.4包括:当Mashup应用中的语句块与服务包中服务之间的语义相似度超过阈值,则Mashup应用中的语句块与服务包之间具有显式语义相似关系,服务包继承当前Mashup应用中的语句块的语义;当Mashup应用中的语句块与服务包中服务之间的语义相似度不超过阈值时,则Mashup应用中的语句块与服务包无关或Mashup应用中的语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集合语义,即组合语义;将Mashup应用中的语句块的语义分配给所有的服务包后,再通过聚类过程过滤不相关的服务包;根据Mashup应用中的语句块的语义之间的距离,将Mashup应用中的语句块的语义划分成K个类族,保持Mashup应用中的语句块的语义类族紧密连接,再使用k-means聚类来划分服务包的组合语义,构成语义服务包库。根据本专利技术提供的一种基于组合语义学习的服务包推荐系统,包括:模块M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;模块M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;模块M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。优选地,所述模块M2包括:模块M2.1:基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;模块M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;模块M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;模块M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。优选地,所述模块M3包括:模块M3.1:输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;模块M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包;即计算语句块与语义服务包库的语义相似度,当相似度超过阈值时,语句块与语义服务包库的语义相似,即语句块由服务包覆盖,完整涵盖Mashup应用的功能需求。优选地,所述模块M2.1包括:利用概率判别框架CODRA将Mashup应用的自然语言功能描述转换成话语树,揭本文档来自技高网...

【技术保护点】
1.一种基于组合语义学习的服务包推荐方法,其特征在于,包括:/n步骤M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;/n步骤M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;/n步骤M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。/n

【技术特征摘要】
1.一种基于组合语义学习的服务包推荐方法,其特征在于,包括:
步骤M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;
步骤M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;
步骤M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。


2.根据权利要求1所述的基于组合语义学习的服务包推荐方法,其特征在于,所述步骤M2包括:
步骤M2.1:基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;
步骤M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;
步骤M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;
步骤M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。


3.根据权利要求1所述的基于组合语义学习的服务包推荐方法,其特征在于,所述步骤M3包括:
步骤M3.1:输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;
步骤M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包;即计算语句块与语义服务包库的语义相似度,当相似度超过阈值时,语句块与语义服务包库的语义相似,即语句块由服务包覆盖,完整涵盖Mashup应用的功能需求。


4.根据权利要求2所述的基于组合语义学习的服务包推荐方法,其特征在于,所述步骤M2.1包括:利用概率判别框架CODRA将Mashup应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的Logistic回归分类器确定功能描述中的Mashup应用的自然语言功能描述中的每个单词是否为语句块的边界,从而将功能描述分割成语句块,基于斯坦福RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合;
所述步骤M2.2包括:重复预设次数利用主题模型LDA获得Mashup应用中语句块以及Mashup应用中语句块所包含的原子服务所对应的主题模型LDA所建立的主题分布,当主题间的平均相似度最小时,主题模型最优,从而确定主题数量;利用最优主题模型LDA训练语句块,将每个语句块表示成主题向量;
所述步骤M2.3包括:将被重用的服务包看作集合分割问题,提高包含服务个数在预设范围内的服务包的权重,通过分割后的服务包数量约束分割的粒度,利用Gurobi工具将Mashup应用分割成服务包的组合。


5.根据权利要求2所述的基于组合语义学习的服务包推荐方法,其特征在于,所述步骤M2.4包括:当Mashup应用中的语句块与服务包中服务之间的语义相似度超过阈值,则Mashup应用中的语句块与服务包之间具有显式语义相似关系,服务包继承当前Mashup应用中的语句块的语义;
当Mashup应用中的语句块与服务包中服务之间的语义相似度不超过阈值时,则Mashup应用中的语句块与服务包无关或Mashup应用中的语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集合语义,即组合语义;
将Mashup应用中的语句块的语义分配给所有的服务包后,再通过聚类过程过滤不相关的服务包;根据Mashup应用中的语句块的语义之间的距离,将Mashup应用中的语句块的语义划分成K个类族,保持Mashup应用中的语句块的语义类族紧密连接,再使用k-means聚类来划分服务包的组合语义,构成语义服务包库。

【专利技术属性】
技术研发人员:曹健
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1