CN111539784A - 基于组合语义学习的服务包推荐方法及系统 - Google Patents

基于组合语义学习的服务包推荐方法及系统 Download PDF

Info

Publication number
CN111539784A
CN111539784A CN202010279074.9A CN202010279074A CN111539784A CN 111539784 A CN111539784 A CN 111539784A CN 202010279074 A CN202010279074 A CN 202010279074A CN 111539784 A CN111539784 A CN 111539784A
Authority
CN
China
Prior art keywords
service
statement
mashup application
semantic
mashup
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
CN202010279074.9A
Other languages
English (en)
Other versions
CN111539784B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010279074.9A priority Critical patent/CN111539784B/zh
Publication of CN111539784A publication Critical patent/CN111539784A/zh
Application granted granted Critical
Publication of CN111539784B publication Critical patent/CN111539784B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

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

Description

基于组合语义学习的服务包推荐方法及系统
技术领域
本发明涉及网络化服务检索技术领域,具体地,涉及一种基于组合语义学习的服务包推荐方法及系统。
背景技术
在服务经济时代,以用户需求为中心的个性化服务因能为不同需求的用户提供定制化的服务而受到大众的关注,
组合服务技术为用户的需求提供个性化的解决方案。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应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的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聚类来划分服务包的组合语义,构成语义服务包库。
与现有技术相比,本发明具有如下的有益效果:通过对Mashup自然语言功能描述的挖掘来发现服务的组合语义,并形成语义服务包库,围绕语义服务包库,为用户推荐一组互补的服务,以尽可能完整涵盖功能需求。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的推荐框架示意图;
图2为本发明的话语分析中话语树示意图;
图3为本发明的聚类和过滤过程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于组合语义学习的服务包推荐方法,包括:
步骤M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;
步骤M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;
具体地,所述步骤M2包括:
步骤M2.1:根据现有Mashup应用及其包含的服务构造语义服务包库,系统对Mashup及其包含的服务的自然语言功能描述进行话语分析,基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;
具体地,所述步骤M2.1包括:利用概率判别框架CODRA进行话语分析,将Mashup应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;
其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的Logistic回归分类器确定功能描述中的Mashup应用的自然语言功能描述中的每个单词是否为语句块的边界,从而将功能描述分割成语句块,基于斯坦福RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合;
步骤M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;
所述步骤M2.2包括:重复预设次数利用主题模型LDA获得Mashup应用中语句块以及Mashup应用中语句块所包含的原子服务所对应的主题模型LDA所建立的主题分布,当主题间的平均相似度最小时,主题模型最优,从而确定主题数量;利用最优主题模型LDA训练语句块,将每个语句块表示成主题向量;当主题模型中训练数据顺序打乱时会产生不同的主题,因此,重复多次运行LDA来获得稳定的结果。
步骤M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;
所述步骤M2.3包括:每个Mashup可以分为多个服务包的组合,对于Mashup来说,分割的结果并不唯一。Mashup的分割目标是寻找未来有较高概率被重用的服务包,因此,将其建模为一个优化问题。包含服务个数比较少的服务包往往出现的频率较大,因此通过提高包含服务个数较多的服务包的权重。将被重用的服务包看作集合分割问题,提高包含服务个数在预设范围内的服务包的权重,通过分割后的服务包数量约束分割的粒度,利用Gurobi工具将Mashup应用分割成服务包的组合;
步骤M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。
具体地,所述步骤M2.4包括:当Mashup应用中的语句块与服务包中服务之间的语义相似度超过阈值,则Mashup应用中的语句块与服务包之间具有显式语义相似关系,服务包继承当前Mashup应用中的语句块的语义;
当Mashup应用中的语句块与服务包中服务之间的语义相似度不超过阈值时,则Mashup应用中的语句块与服务包无关或Mashup应用中的语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集合语义,即组合语义;
将Mashup应用中的语句块的语义分配给所有的服务包后,再通过聚类过程过滤不相关的服务包;根据Mashup应用中的语句块的语义之间的距离,将Mashup应用中的语句块的语义划分成K个类族,保持Mashup应用中的语句块的语义类族紧密连接,而语义类簇之间的距离尽可能大,再使用k-means聚类来划分服务包的组合语义,构成语义服务包库。
步骤M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。
具体地,所述步骤M3包括:
步骤M3.1:为开发人员推荐一组满足其功能需求的服务包,开发人员输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;
步骤M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包推荐给开发人员,从而完整覆盖用户需求。即计算语句块与服务包的语义相似度,当相似度超过给定阈值时,语句块与服务包的语义相似,即语句块的语义可由服务包覆盖,完整涵盖Mashup应用的功能需求。
推荐的目标是找到服务包组合,其中服务包覆盖尽可能多的语义,同时,最小化服务包之间的语义重复。可将其建模为一个优化问题。这个优化问题是NP问题,由于推荐组合中服务包数量一般都较小,因此,应用全局搜索算法利用Gurobi工具包来解决。经过统计分析,Mashup包含的服务包数量较小,因此可以使用贪心近似算法来解决和实现此问题。
本发明针对服务功能和相互之间的关系,推荐一组适合创建Mashup的服务。通过对Mashup自然语言功能描述的挖掘来发现服务的组合语义,并形成语义服务包库,围绕语义服务包库,为用户推荐一组互补的服务,以尽可能完整涵盖功能需求。
根据本发明提供的一种基于组合语义学习的服务包推荐系统,包括:
模块M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;
模块M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;
具体地,所述模块M2包括:
模块M2.1:根据现有Mashup应用及其包含的服务构造语义服务包库,系统对Mashup及其包含的服务的自然语言功能描述进行话语分析,基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;
具体地,所述模块M2.1包括:利用概率判别框架CODRA进行话语分析,将Mashup应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;
其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的Logistic回归分类器确定功能描述中的Mashup应用的自然语言功能描述中的每个单词是否为语句块的边界,从而将功能描述分割成语句块,基于斯坦福RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合;
模块M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;
所述模块M2.2包括:重复预设次数利用主题模型LDA获得Mashup应用中语句块以及Mashup应用中语句块所包含的原子服务所对应的主题模型LDA所建立的主题分布,当主题间的平均相似度最小时,主题模型最优,从而确定主题数量;利用最优主题模型LDA训练语句块,将每个语句块表示成主题向量;当主题模型中训练数据顺序打乱时会产生不同的主题,因此,重复多次运行LDA来获得稳定的结果。
模块M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;
所述模块M2.3包括:每个Mashup可以分为多个服务包的组合,对于Mashup来说,分割的结果并不唯一。Mashup的分割目标是寻找未来有较高概率被重用的服务包,因此,将其建模为一个优化问题。包含服务个数比较少的服务包往往出现的频率较大,因此通过提高包含服务个数较多的服务包的权重。将被重用的服务包看作集合分割问题,提高包含服务个数在预设范围内的服务包的权重,通过分割后的服务包数量约束分割的粒度,利用Gurobi工具将Mashup应用分割成服务包的组合;
模块M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。
具体地,所述模块M2.4包括:当Mashup应用中的语句块与服务包中服务之间的语义相似度超过阈值,则Mashup应用中的语句块与服务包之间具有显式语义相似关系,服务包继承当前Mashup应用中的语句块的语义;
当Mashup应用中的语句块与服务包中服务之间的语义相似度不超过阈值时,则Mashup应用中的语句块与服务包无关或Mashup应用中的语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集合语义,即组合语义;
将Mashup应用中的语句块的语义分配给所有的服务包后,再通过聚类过程过滤不相关的服务包;根据Mashup应用中的语句块的语义之间的距离,将Mashup应用中的语句块的语义划分成K个类族,保持Mashup应用中的语句块的语义类族紧密连接,而语义类簇之间的距离尽可能大,再使用k-means聚类来划分服务包的组合语义,构成语义服务包库。
模块M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。
具体地,所述模块M3包括:
模块M3.1:为开发人员推荐一组满足其功能需求的服务包,开发人员输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;
模块M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包推荐给开发人员,从而完整覆盖用户需求。即计算语句块与服务包的语义相似度,当相似度超过给定阈值时,语句块与服务包的语义相似,即语句块的语义可由服务包覆盖,完整涵盖Mashup应用的功能需求。
推荐的目标是找到服务包组合,其中服务包覆盖尽可能多的语义,同时,最小化服务包之间的语义重复。可将其建模为一个优化问题。这个优化问题是NP问题,由于推荐组合中服务包数量一般都较小,因此,应用全局搜索算法利用Gurobi工具包来解决。经过统计分析,Mashup包含的服务包数量较小,因此可以使用贪心近似算法来解决和实现此问题。
本发明针对服务功能和相互之间的关系,推荐一组适合创建Mashup的服务。通过对Mashup自然语言功能描述的挖掘来发现服务的组合语义,并形成语义服务包库,围绕语义服务包库,为用户推荐一组互补的服务,以尽可能完整涵盖功能需求。
以下优选例对本发明作更为详细的说明:
以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
为了便于对本发明实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本发明实施例的限定。
本发明通过以下技术方案实现:
一种基于组合语义学习的服务包推荐方法,根据Mashup文本描述挖掘服务的组合语义,根据用户需求推荐一组互补的服务。基于组合语义学习的服务包推荐框架包含两个子系统:语义服务包获取系统和服务包推荐系统。见图1示意图,其中:
语义服务包获取系统:根据现有Mashup及其包含的服务构造语义服务包库。系统对Mashup及其包含的服务的自然语言功能描述进行话语分析,基于逻辑回归分类器将自然语言功能描述分解成语句块,利用主题模型训练语句块,将每个语句块表示成主题向量。将现有Mashup根据不同粒度划分成服务包,于是Mashup可以表示成服务包的组合。为服务包匹配Mashup中的语句块,形成围绕服务包的若干语义。利用聚类和过滤操作提取每个服务包的组合语义,构建语义服务包库。
服务包推荐系统:为开发人员推荐一组满足其功能需求的服务包。开发人员输入所需构造的Mashup的自然语言功能描述时,系统将需求分解成语句块及其对应的主题向量。从语义服务包库中选择一组服务包推荐给开发人员,其中,每个服务包不仅与需求描述中的语句块相匹配,相互之间功能互补,从而完整覆盖用户需求。
具体步骤为:
S1、基于主题模型的语义提取
利用一种概率判别框架CODRA进行话语分析,将Mashup的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系,其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识,见图2示意图。通过使用带有参数Θ的Logistic回归分类器确定描述中的单词是否为语句块的边界:
P(y|w,Θ)=Bernoulli(y|Sigmoid(ΘTx) (1)
其中,x表示自然语言功能描述中单词w的词法-句法特征向量。如果w是语句块的边界则y=1,,否则y=0。w表示单词,上标T表示转置,P()表示概率,Bernoulli()表示伯努利函数,Sigmoid()表示阀值函数,模型的L2损失函数为:
Figure BDA0002445871500000101
其中,n表示单词个数,
Figure BDA0002445871500000102
表示单词wi的预测值,α表示控制偏好小范数权重的程度,ΘTΘ是正则项,y(i)表示单词wi的标签。通过在斯坦福的RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合。
进一步利用LDA获得Mashup中语句块以及Mashup中包含的服务所对应的主题分布,模型在单词w上指定了以下分布:
Figure BDA0002445871500000103
其中,zj表示相关主题,T表示主题数量。当主题间的平均相似度avgSim最小时模型最优,根据这一定理来确定主题数量:
Figure BDA0002445871500000111
当主题模型中训练数据顺序打乱时会产生不同的主题,因此,通过重复运行LDA来提高结果的稳定性。
S2、可重用服务包的发现
每个Mashup可以分成多个服务包的组合。对于Mashup来说,分割的结果并不惟一。Mashup的分割目标是寻找未来有较高概率被重用的服务包。因此,可以将其建模为一个优化问题:
Figure BDA0002445871500000112
Figure BDA0002445871500000113
xj∈{0,1}(j=1,2,...,n)
其中,
Figure BDA0002445871500000114
表示取最大的y值,aij表示Mashup应用包含的服务集中第i个服务是否包含在服务包pj中,包含aij=1,否则aij=0,h表示由1组成的列向量,weightj表示服务包pj的权重,weightj=freq(pj)size(pj),freq(pj)表示服务包pj在已有的Mashup中出现的频率,size(pj)表示服务包pj中包含的服务的个数。包含服务个数比较少的服务包往往出现频率较大,因此通过size()提高包含服务个数较多的服务包的权重。分母
Figure BDA0002445871500000115
表示分割后的服务包数量,以此来约束分割的粒度。
本质上可重用服务包的发现是一个集合分割问题,利用Gurobi工具将Mashup分割成服务包的组合。
S3、组合语义的标注
如果语句块与服务包中服务之间的语义相似度超过给定阈值,则认为语句块与服务包之间具有显式语义相似关系,那么,服务包继承了该语句块的语义。否则,它们之间可能有有两种关系:(1)语句块与服务包无关;(2)语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集体语义,称之为组合语义。
为了标注组合语义,先将语句块的语义分配给所有服务包,再通过聚类过程过滤掉不相关的服务包。根据语义之间的距离,将语义划分成k个类簇,尽量保持语义类簇中的语义紧密连接,而语义类簇之间的距离尽可能大。可以使用k-means聚类来划分服务包的语义。
部分语义类簇是由服务包中的服务从与其具有显示语义相似关系的语句块中继承所得,其余类簇如果相对较大,则代表此服务包的组合语义,因为类似的组合语义经常出现在包含此服务包的Mashup中。因此,如果类簇的大小超过给定的阈值,则将其视为组合语义。余下的较小类簇表示的是一个个分散的语义,表示这些语义并不经常出现在Mashup中,可以过滤掉这些不相关的语义,见图3示意图。
S4、基于组合语义学习的服务包推荐算法
将开发人员输入的需求描述分割成语句块及其对应的主题向量,计算语句块与服务包的语义相似度,当相似度超过给定阈值时,语句块与服务包的语义相似,即语句块的语义可由服务包覆盖。推荐的目标是找到服务包组合,其中的服务包覆盖尽可能多的语义,同时,最小化服务包之间的语义重复。可将其建模为一个优化问题:
Figure BDA0002445871500000121
Figure BDA0002445871500000122
ri∈{0,1}(i=1,2,...,n)
其中,ri表示服务包pi是否包含在推荐组合中,n表示SSPA系统中语义服务包库中服务包的总数,Simi表示服务包pi与需求描述之间的语义相似度,dupij表示服务包pi与服务包pj之间的语义重叠度,d表示推荐组合中包含的服务包的数量。
这个优化问题是NP问题,由于推荐组合中服务包数量d一般都较小,因此,应用全局搜索算法利用Gurobi工具包来解决。经过统计分析,Mashup包含的服务包数量较小,因此使用贪心近似算法来解决和实现此问题。
本发明针对服务功能和相互之间的关系,推荐一组适合创建Mashup的服务。通过对Mashup自然语言功能描述的挖掘来发现服务的组合语义,并形成语义服务包库,围绕语义服务包库,为用户推荐一组互补的服务,以尽可能完整涵盖功能需求。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

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聚类来划分服务包的组合语义,构成语义服务包库。
6.一种基于组合语义学习的服务包推荐系统,其特征在于,包括:
模块M1:采集现有的Mashup应用及Mashup应用所包含的原子服务;
模块M2:基于Mashup应用中使用的服务之间的协作关系,学习原子服务组合在一起形成的组合语义,构建语义服务包库;
模块M3:围绕语义服务包库推荐一组互补的服务,完整涵盖Mashup应用的功能需求。
7.根据权利要求6所述的基于组合语义学习的服务包推荐系统,其特征在于,所述模块M2包括:
模块M2.1:基于逻辑回归分类器将Mashup应用及Mashup应用所包含的原子服务的自然语言功能描述分解成语句块;
模块M2.2:通过利用主题模型LDA训练语句块,将每个语句块表示成主题向量;
模块M2.3:将Mashup应用根据不同粒度划分成服务包,将Mashup应用表示成服务包的组合;
模块M2.4:为服务包匹配Mashup应用中的语句块,形成围绕服务包的预设数量的语义;利用聚类和过滤操作提取每个服务包的组合语义,构成语义服务包库。
8.根据权利要求6所述的基于组合语义学习的服务包推荐系统,其特征在于,所述模块M3包括:
模块M3.1:输入需要构造的Mashup应用的自然语言功能描述,通过话语分割将需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量;
模块M3.2:从语义服务包库中选择一组与需要构造的Mashup应用的自然语言功能描述分解成语句块及语句块对应的主题向量相匹配、相互之间功能互补的服务包;即计算语句块与语义服务包库的语义相似度,当相似度超过阈值时,语句块与语义服务包库的语义相似,即语句块由服务包覆盖,完整涵盖Mashup应用的功能需求。
9.根据权利要求7所述的基于组合语义学习的服务包推荐系统,其特征在于,所述模块M2.1包括:利用概率判别框架CODRA将Mashup应用的自然语言功能描述转换成话语树,揭示自然语言功能描述中语句块之间的关系;其中,话语树中的叶子结点对应于语句块,话语树中相邻语句块之间通过关系进行标识;通过使用带有参数Θ的Logistic回归分类器确定功能描述中的Mashup应用的自然语言功能描述中的每个单词是否为语句块的边界,从而将功能描述分割成语句块,基于斯坦福RST-DT语料库中利用L-BFGS学习参数Θ,使用5重交叉验证避免过拟合;
所述模块M2.2包括:重复预设次数利用主题模型LDA获得Mashup应用中语句块以及Mashup应用中语句块所包含的原子服务所对应的主题模型LDA所建立的主题分布,当主题间的平均相似度最小时,主题模型最优,从而确定主题数量;利用最优主题模型LDA训练语句块,将每个语句块表示成主题向量;
所述模块M2.3包括:将被重用的服务包看作集合分割问题,提高包含服务个数在预设范围内的服务包的权重,通过分割后的服务包数量约束分割的粒度,利用Gurobi工具将Mashup应用分割成服务包的组合。
10.根据权利要求7所述的基于组合语义学习的服务包推荐系统,其特征在于,所述模块M2.4包括:当Mashup应用中的语句块与服务包中服务之间的语义相似度超过阈值,则Mashup应用中的语句块与服务包之间具有显式语义相似关系,服务包继承当前Mashup应用中的语句块的语义;
当Mashup应用中的语句块与服务包中服务之间的语义相似度不超过阈值时,则Mashup应用中的语句块与服务包无关或Mashup应用中的语句块的语义并不对应服务包中单个服务的语义,而表示的是服务包中所有服务的集合语义,即组合语义;
将Mashup应用中的语句块的语义分配给所有的服务包后,再通过聚类过程过滤不相关的服务包;根据Mashup应用中的语句块的语义之间的距离,将Mashup应用中的语句块的语义划分成K个类族,保持Mashup应用中的语句块的语义类族紧密连接,再使用k-means聚类来划分服务包的组合语义,构成语义服务包库。
CN202010279074.9A 2020-04-10 2020-04-10 基于组合语义学习的服务包推荐方法及系统 Active CN111539784B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010279074.9A CN111539784B (zh) 2020-04-10 2020-04-10 基于组合语义学习的服务包推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010279074.9A CN111539784B (zh) 2020-04-10 2020-04-10 基于组合语义学习的服务包推荐方法及系统

Publications (2)

Publication Number Publication Date
CN111539784A true CN111539784A (zh) 2020-08-14
CN111539784B CN111539784B (zh) 2023-05-26

Family

ID=71974937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010279074.9A Active CN111539784B (zh) 2020-04-10 2020-04-10 基于组合语义学习的服务包推荐方法及系统

Country Status (1)

Country Link
CN (1) CN111539784B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836488A (zh) * 2021-01-25 2021-05-25 浙江工业大学 基于TWE-NMF模型的Web服务描述文档语义挖掘方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120330940A1 (en) * 2009-12-30 2012-12-27 Giovanni Caire Method and system for ranking affinity degree among functional blocks
CN106354844A (zh) * 2016-08-31 2017-01-25 上海交通大学 基于文本挖掘的服务组合包推荐系统及方法
CN106599086A (zh) * 2016-11-25 2017-04-26 山东科技大学 一种基于Gaussian LDA和词嵌入的语义稀疏Web服务发现方法
US20180278710A1 (en) * 2016-09-29 2018-09-27 Convida Wireless, Llc Enabling semantic mashup in internet of things
CN108629010A (zh) * 2018-05-07 2018-10-09 南京大学 一种基于主题和服务组合信息的web服务推荐方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120330940A1 (en) * 2009-12-30 2012-12-27 Giovanni Caire Method and system for ranking affinity degree among functional blocks
CN106354844A (zh) * 2016-08-31 2017-01-25 上海交通大学 基于文本挖掘的服务组合包推荐系统及方法
US20180278710A1 (en) * 2016-09-29 2018-09-27 Convida Wireless, Llc Enabling semantic mashup in internet of things
CN106599086A (zh) * 2016-11-25 2017-04-26 山东科技大学 一种基于Gaussian LDA和词嵌入的语义稀疏Web服务发现方法
CN108629010A (zh) * 2018-05-07 2018-10-09 南京大学 一种基于主题和服务组合信息的web服务推荐方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836488A (zh) * 2021-01-25 2021-05-25 浙江工业大学 基于TWE-NMF模型的Web服务描述文档语义挖掘方法
CN112836488B (zh) * 2021-01-25 2024-02-20 浙江工业大学 基于TWE-NMF模型的Web服务描述文档语义挖掘方法

Also Published As

Publication number Publication date
CN111539784B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
JP6549332B2 (ja) 機械学習に基づくネットワークモデル構築方法及び装置
US20210232762A1 (en) Architectures for natural language processing
CN108304468B (zh) 一种文本分类方法以及文本分类装置
CN112632385A (zh) 课程推荐方法、装置、计算机设备及介质
CN113590863A (zh) 图像聚类方法、装置及计算机可读存储介质
CN110619051A (zh) 问题语句分类方法、装置、电子设备及存储介质
CN109582963A (zh) 一种基于极限学习机的档案自动分类方法
CN113139599B (zh) 一种融合词向量扩充和主题模型的服务分布式聚类方法
CN114627282B (zh) 目标检测模型的建立方法、应用方法、设备、装置及介质
CN113849653A (zh) 一种文本分类方法及装置
Nghiep Tran et al. Multi-partition embedding interaction with block term format for knowledge graph completion
CN115858814A (zh) 基于全局指针解码方法的文本结构化信息抽取方法
CN118228694A (zh) 基于人工智能实现工业行业数智化的方法和系统
CN111539784B (zh) 基于组合语义学习的服务包推荐方法及系统
Zhai et al. Ensemble RBM-based classifier using fuzzy integral for big data classification
CN116741396A (zh) 文章归类方法和装置、电子设备和存储介质
CN115335819A (zh) 用于搜索和检索信息的方法和系统
Omar et al. Big data cloud-based recommendation system using NLP techniques with machine and deep learning
Naouar et al. Collaborative information retrieval model based on fuzzy clustering
Khalilipour et al. Machine learning-based model categorization using textual and structural features
CN116484085A (zh) 一种信息投放方法、装置、设备及存储介质、程序产品
CN112784046A (zh) 文本聚簇的方法、装置、设备及存储介质
CN111538898A (zh) 基于组合特征提取的Web服务包推荐方法及系统
CN115495541B (zh) 语料数据库、语料数据库的维护方法、装置、设备和介质
CN115269851B (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