技术领域
本发明涉及到一种基于TWE-NMF模型的Web服务描述文档语义挖掘方法
背景技术
随着云计算的发展和服务计算“服务化”的思想驱动,越来越多的公司将数据、资源或者相关业务通过Web服务的形式发布到互联网上,以提高信息的利用率和自身竞争力。然而传统基于SOAP协议的Web服务,存在技术体系复杂、扩展性差等问题,难以适应现实生活中复杂多变的应用场景。为克服传统服务带来的问题,近年来,互联网上涌现出一种轻量级的信息服务组合模式——Mashup技术,可以混搭多种不同Web API,开发出多种全新的Web服务,以缓解传统服务难以适应复杂多变应用环境的问题。
随着Mashup服务快速增长,如何在众多Mashup服务中找到高质量的服务,已经成为一个大家关注的热点问题。目前现有的方法,主要采用潜在狄利克雷分配(LatentDirichlet Allocation,LDA)或者非负矩阵分解(Non-negative Matrix Factorization,NMF)等方法得到Mashup服务主题特征后,进一步进行随后的工作。
然而Mashup服务文档通常为短文本,LDA对短文本处理能力欠缺,NMF模型虽然对稀疏数据有较强的处理能力,但是现有研究利用NMF模型研究中,多数采用文档-词频信息或者词频-逆向文档频率(term frequency–inverse document frequency,TF-IDF)信息作为文档-单词矩阵信息求解主题特征,由于Mashup服务描述文档通常较短,关键单词在描述中很难再次出现,即多数关键性单词的出现的次数为1,对文档的区分作用非常小,因此传统的词频信息和TF-IDF信息容易导致NMF模型无法很好地对Mashup服务描述文档进行建模。
发明内容
为了克服Mashup服务描述文本简短,特征稀疏带来的建模困难的问题,本发明提出一种基于TWE-NMF(Non-negative Matrix Factorization Combining Tags and WordEmbedding)模型的Web服务描述文档语义挖掘方法,该方法在TF-IDF的基础上,结合服务标签信息和上下文单词信息,重新计算单词的权重,体高关键性单词的权重值,同时采用分解SPPMI矩阵求解词嵌入信息,相对于神经网络模型,在模型上能和NMF模型有机的统一,并且通过分解SPPMI矩阵引入的词嵌入信息能缓解Mashup服务特征信息稀疏的问题,从而有效地对Mashup服务进行建模。
本发明解决其技术问题所采用的技术方案是:
一种基于TWE-NMF模型的Web服务描述文档语义挖掘方法,包括以下步骤:
第一步:根据上下文信息和服务标签信息计算单词的语义权重信息从而得到文档-单词语义权重信息矩阵D,步骤如下:
1.1使用Python中的自然语言工具包(Natural language toolkit,NLTK),,对Mashup服务描述文档进行中的单词进行词性标注,NLTK是著名的自然语言处理库,可以用于处理与自然语言相关的东西;
1.2:统计单词词频信息,计算TF-IDF信息;
1.3:提取Mashup服务标签信息,并基于名词集Nset和TF-IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重;
第二步:统计单词共现信息,从而计算出SPPMI矩阵信息,步骤如下:
2.1统计词共现信息,由于Mashup服务描述文档较短,为了能更准确地获取上下文共现信息,将整个服务描述文档作为滑动窗口的长度,计算每个单词和其他单词在上下文中共同出现的次数;
2.2点互信息(Pointwise Mutual Information,PMI)计算,PMI被广泛用于计算单词间相似度的关系,当两个单词在文本中共现概率越大时,单词间的相关性就越强,PMI计算公式如下所示:
x和y表示两个单词,P(x,y)表示单词x和y共现的概率,P(x)表示单词x在上下文中出现概率,根据单词w
#(w
2.3计算偏移正点互信息值(Shifted Positive Pointwise MutualInformation,SPPMI)矩阵,SPPMI矩阵通过PMI值计算,SPPMI矩阵的计算方式为:
SPPMI(w
其中κ为负采样系数。通过上述公式得到单词的上下文SPPMI矩阵M;
第三步:基于第一步,第二步得到Mashup服务文档单词的文档-单词语义权重信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M可以得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息,步骤如下:
3.1通过由第一步给定全局文档-单词语义权重信息矩阵D,通过NMF将其分解为文档-主题矩阵θ和主题-单词矩阵Z乘积。分解矩阵D的函数表示为:
其中
3.2通过第二步计算得到单词的上下文SPPMI矩阵M,分解矩阵M引入词嵌入信息,分解M的公式如下所示:
S是一个额外的对称因子,用于M的近似求解,W为单词的词嵌入矩阵;
3.3利用Mashup服务文档和单词间的关系,可以发现主题信息,通过文档内单词上下文的共现信息,可以学习到词嵌入信息,但是这两个部分并不相互孤立,语义相关的单词属于相似的主题,在嵌入空间中也很接近,可知单词嵌入与它们的主题相关,关系公式如下所示:
3.4在步骤3.3中将主题-单词矩阵Z分解为主题嵌入矩阵A和词嵌入矩阵W的乘积,将词嵌入与主题信息相联系起来,进一步提高了主题建模的准确性;
结合步骤3.1,3.2和3.3,得到主题模型的目标函数:
求解该目标函数,使用矩阵迹运算将上述公式展开:
J(θ,Z,W,S,A)=λ
+λ
+λ
其中J(θ,Z,W,S,A)为J
J(θ,Z,W,S,A)=λ
+λ
+λ
Tr表示矩阵求迹,λ
其中α,β,γ,
令α⊙θ=0,β⊙Z=0,γ⊙W=0,
-(DZ)⊙θ+(θZ
-(λ
-2(λ
-(Z
进一步更新参数:
通过上述参数更新方式,求解出Mashup服务文档-主题矩阵θ和主题-单词矩阵Z,词嵌入矩阵W,主题嵌入矩阵A。
进一步,所述1.1的过程如下:
1.1.1遍历当前Mashup服务描述文档中的每一个单词,利用NLTK对单词进
行词性还原;
1.1.2利用NLTK提取单词词根,并判断单词是否是名词性单词,若是名词性单词加入名词集合Nset;
1.1.3重复步骤1.1.1-1.1.2直至处理完所有Mashup服务。
再进一步,所述1.2的过程如下:
1.2.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:
其中TF
1.2.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:
IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(c)表示包含单词x的Mashup文档数量;
1.2.3遍历所有Mashup文档中的单词,计算单词的TF-IDF值计算公式如下:
TF-IDF(x)=TF(x)*IDF(x)
TF-IDF(x)表示单词x的TF-IDF值,TF(x)表示单词x的TF值。
更进一步,所述1.3的过程如下:
1.3.1遍历当前Mashup服务文档中每一个单词w
其中sim(w
1.3.2计算单词的服务标签语义权重信息WeighaTag(w
其中Tag
1.3.3基于TF-IDF值,并结合1.3.1和1.3.2中的计算结果,重新计算单词的语义权重。
优选的,所述1.3.3的操作步骤如下:
1.3.3.1遍历当前Mashup服务描述文档中的每一个单词w
1.3.3.2赋值单词的语义权重为其TF-IDF值,计算公式如下:
SemWeight(w
1.3.3.3重复1.3.3.1-1.3.3.2直至处理完所有Mashup服务,得到文档-单词语义权重矩阵D。
所述2.1的过程如下:
2.1.1对于当前Mashup服务,计算该Mashup服务描述文档长度Len,设定滑动窗口长度为Len;
2.1.2统计Mashup服务描述文档中单词和其他单词的共现情况,若当前单词的其上下文单词,即该单词前后的单词,在滑动窗口Len的距离内,则该单词和其在滑动窗口内的上下文单词共现次数加1;
2.1.3重复2.1.2直至处理完Mashup中的所有单词;
2.1.4重复2.1.1-2.1.3直至处理完所有Mashup服务。
法有效对其建模,进而影响聚类,推荐等功能的精度,使得用户无法得到其期待的结果。为缓解由于Mashup服务中的稀疏性问题,无法良好对其建模的问题。本发明首先提出一种单词语义权重的方法构建文档-单词语义权重矩阵D,随后基于NMF,并且通过计算SPPMI矩阵,进而分解得到词嵌入信息,提出了一种基于TWE-NMF模型的Web服务描述文档语义挖掘方法,求解主题Mashup服务的主题特征。
本发明的有益效果主要表现在要:(1)使用NMF求解Mashup主题特征,能更好地处理简短的文本。(2)在使用NMF求解模型的同时,引入词嵌入信息,不仅有效能有效提高模型的精度,同时缓解Mashup服务描述简短带来的稀疏性问题。(3)使用分解SPPMI矩阵的方式求解词嵌入,能和NMF在模型上有机的统一。(4)相对于形容词、副词等其他形式的单词,对主题的影响更加突出,更容易成为关键性单词,因此可以相对调整名词性单词的语义权重,从而调整关键性单词权重,以更好挖掘主题信息。(5)服务标签信息和上下文信息作为先验信息能有效缓解数据的稀疏性问题,并对主题发现有良好的促进作用。
具体实施方式
下面对本发明作进一步描述。
一种基于TWE-NMF模型的Web服务描述文档语义挖掘方法,包括以下步骤:
第一步:根据上下文信息和服务标签信息计算单词的语义权重信息从而得到文档-单词语义权重信息矩阵D,步骤如下:
1.1使用Python中的自然语言工具包(Natural language toolkit,NLTK),,对Mashup服务描述文档进行中的单词进行词性标注,NLTK是著名的自然语言处理库,可以用于处理与自然语言相关的东西,过程如下:
1.1.1遍历当前Mashup服务描述文档中的每一个单词,利用NLTK对单词进
行词性还原;
1.1.2利用NLTK提取单词词根,并判断单词是否是名词性单词,若是名词性单词加入名词集合Nset;
1.1.3重复步骤1.1.1-1.1.2直至处理完所有Mashup服务;
1.2:统计单词词频信息,计算TF-IDF信息,过程如下:
1.2.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:
其中TF
1.2.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:
IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(x)表示包含单词x的Mashup文档数量;
1.2.3遍历所有Mashup文档中的单词,计算单词的TF-IDF值计算公式如下:
TF-IDF(x)=TF(x)*IDF(x)
TF-IDF(x)表示单词x的TF-IDF值,TF(x)表示单词x的TF值;
1.3:提取Mashup服务标签信息,并基于名词集Nset和TF-IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重,过程如下:
1.3.1遍历当前Mashup服务文档中每一个单词w
其中sim(w
1.3.2计算单词的服务标签语义权重信息WeighaTag(w
其中Tag
1.3.3基于TF-IDF值,并结合1.3.1和1.3.2中的计算结果,重新计算单词的语义权重,操作如下:
1.3.3.1遍历当前Mashup服务描述文档中的每一个单词w
1.3.3.2赋值单词的语义权重为其TF-IDF值,计算公式如下:
SemWeight(w
1.3.3.3重复1.3.3.1-1.3.3.2直至处理完所有Mashup服务,得到文档-单词语义权重矩阵D;
第二步:统计单词共现信息,从而计算出SPPMI矩阵信息,步骤如下:
2.1统计词共现信息,由于Mashup服务描述文档较短,为了能更准确地获取上下文共现信息,将整个服务描述文档作为滑动窗口的长度,计算每个单词和和其他单词在上下文中共同出现的次数,过程如下:
2.1.1对于当前Mashup服务,计算该Mashup服务描述文档长度Len,设定滑动窗口长度为Len;
2.1.2统计Mashup服务描述文档中单词和其他单词的共现情况,若当前单词的其上下文单词,即该单词前后的单词,在滑动窗口Len的距离内,则该单词和其在滑动窗口内的上下文单词共现次数加1;
2.1.3重复2.1.2直至处理完Mashup中的所有单词;
2.1.4重复2.1.1-2.1.3直至处理完所有Mashup服务;
2.2点互信息(Pointwise Mutual Information,PMI)计算,PMI被广泛用于计算单词间相似度的关系,当两个单词在文本中共现概率越大时,单词间的相关性就越强,PMI计算公式如下所示:
x和y表示两个单词,P(x,y)表示单词x和y共现的概率,P(x)表示单词x在上下文中出现概率。根据单词w
#(w
2.3计算偏移正点互信息值(Shifted Positive Pointwise MutualInformation,SPPMI)矩阵,SPPMI矩阵通过PMI值计算,SPPMI矩阵的计算方式为:
SPPMI(w
其中κ为负采样系数。通过上述公式得到单词的上下文SPPMI矩阵M;
第三步:基于第一步,第二步得到Mashup服务文档单词的文档-单词语义权重信息矩阵D,单词的上下文SPPMI矩阵M,通过分解M可以得到词嵌入信息矩阵,进一步将上述两种信息进行结合,计算服务的主题信息,步骤如下:
3.1通过由第一步给定全局文档-单词语义权重信息矩阵D,通过NMF将其分解为文档-主题矩阵θ和主题-单词矩阵Z乘积。分解矩阵D的函数表示为:
其中
3.2通过第二步计算得到单词的上下文SPPMI矩阵M,分解矩阵M引入词嵌入信息,分解M的公式如下所示:
S是一个额外的对称因子,用于M的近似求解,W为单词的词嵌入矩阵;
3.3利用Mashup服务文档和单词间的关系,可以发现主题信息,通过文档内单词上下文的共现信息,可以学习到词嵌入信息,但是这两个部分并不相互孤立,语义相关的单词属于相似的主题,在嵌入空间中也很接近,可知单词嵌入与它们的主题相关,关系公式如下所示:
3.4在步骤3.3中将主题-单词矩阵Z分解为主题嵌入矩阵A和词嵌入矩阵W的乘积,将词嵌入与主题信息相联系起来,进一步提高了主题建模的准确性;
结合步骤3.1,3.2和3.3,得到主题模型的目标函数:
求解该目标函数,使用矩阵迹运算将上述公式展开:
J(θ,Z,W,S,A)=λ
+λ
+λ
其中J(θ,Z,W,S,A)为J
J(θ,Z,W,S,A)=λ
+λ
+λ
Tr表示矩阵求迹,λ
其中α,β,γ,
令α⊙θ=0,β⊙Z=0,γ⊙W=0,
-(DZ)⊙θ+(θZ
-(λ
-2(λ
-(Z
进一步更新参数:
通过上述参数更新方式,求解出Mashup服务文档-主题矩阵θ和主题-单词矩阵Z,词嵌入矩阵W,主题嵌入矩阵A。
本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。
机译: 使用基于文档对象模型(DOM)的文档参考进行协作式Web导航
机译: 使用基于文档对象模型(DOM)的文档引用进行协作式Web导航
机译: 基于语义Web技术的元模型的时间范围翻译