1.一种基于互联网服务单词语义权重的文本主题挖掘方法,其特征在于,所述方法包括以下步骤:第一步:使用Python中的自然语言工具包,对Mashup服务描述文档进行中的单词进行词性标注,步骤如下:
1.1遍历当前Mashup服务描述文档中的每一个单词,利用NLTK对单词进行词性还原;
1.2利用NLTK提取单词词根,并判断单词是否是名词性单词,若是名词性单词加入名词集合Nset;
1.3重复步骤1.1直至处理完所有Mashup服务;
第二步:统计单词词频信息,计算TF‑IDF信息,步骤如下:
2.1遍历Mashup服务描述文档中的每个单词,统计当前文档中每个单词的出现的次数,计算每个单词TF值,计算公式如下:其中,TFi,j表示第i个Mashup服务描述文档中第j个单词的词频信息,NUM(j)表示第j个单词出现的次数,LEN(i)表示第i个Mashup文本的长度;
2.2统计每个单词出现过的Mashup服务文档数量,计算IDF值,计算公式如下:IDF(x)表示单词x的IDF值,N表示Mashup文档的数量,doc(x)表示包含单词x的Mashup文档数量;
2.3遍历所有Mashup文档中的单词,计算单词的TF‑IDF值,计算公式如下:TF‑IDF(x)=TF(x)*IDF(x)TF‑IDF(x)表示单词x的TF‑IDF值,TF(x)表示单词x的TF值;
第三步:提取Mashup服务标签信息,并基于名词集Nset和TF‑IDF值,重新计算Mashup服务描述文档中的每一个单词的语义权重,步骤如下:
3.1遍历当前Mashup服务文档中每一个单词wx计算其上下文语义权重信息WeightContext(wx),计算公式如下:其中sim(wx,wy)表示单词wx和wy的相似度,通过WordNet工具计算,wy为wx的上下文单词,d表示当前Mashup服务描述文档,Nd表示当前Mashup服务描述文档的长度,WordNet是一种英语词典,通过网状结构来组织词汇,将含义相近的词汇划分到一个组中,通过返回词汇在网络之间的最短路径得到相似度;
3.2计算单词的服务标签语义权重信息WeightTag(wx),计算公式如下:其中Tagd表示当前Mashup服务文档的服务标签集合,t表示服务标签中的单词;
3.3基于TF‑IDF值,并结合3.1和3.2中的计算结果,重新计算单词的语义权重,得到文档‑单词语义权重矩阵D;过程如下:
3.3.1遍历当前Mashup服务描述文档中的每一个单词wx,判断是否在名词集NSet中,若wx在名词集中,通过以下公式重新计算单词语义权重,若wx不在名词集NSet中跳转到步骤
3.3.2中
3.3.2赋值单词的语义权重为其TF‑IDF值,计算公式如下:SemWeight(wx)=TF‑IDF(wx)
3.3.3重复3.3.1‑3.3.2直至处理完所有Mashup服务,得到文档‑单词语义权重矩阵D;
第四步:通过NMF模型求解Mashup主题特征,步骤如下:
4.1通过由3.3中给定的文档‑单词语义权重矩阵D,将其分解为文档‑主题矩阵θ和主题‑单词矩阵Z乘积,分解矩阵D的函数表示为:NxK VxK
subject to:θ≥0 and Z≥0,θ∈R ,Z∈R其中 代表L2范数,N表示Mashup文档数量,K表示文档的主题数量,V表示语料库单词的数量,R表示实数集,上标T表示矩阵转置,NMF是在矩阵中所有元素均为非负数约束条件之下,将一个非负矩阵表示为另外两个非负矩阵乘积方式的矩阵分解方法;
4.2将4.1中函数通过矩阵迹运算展开得到以下函数:T T T
J(θ,Z)=Tr((D‑θZ)(D‑θZ))进一步运算得到以下公式
T T T T
J(θ,Z)=Tr(DD‑2DZθ+θZZθ)Tr表示矩阵求迹,根据正则化约束得到以下目标函数:T T
L=J(θ,Z)+Tr(αθ)+Tr(βZ)其中α,β为正则化参数,避免过拟合;为使目标函数最小化,对上述目标函数求偏导得到以下公式:令α⊙θ=0,β⊙Z=0,⊙表示阿达马乘积,即矩阵对应位置的乘积,利用阿达马乘积,令上述公式偏导为0,进一步得到以下等式方程:T
‑2(DZ)⊙θ+2(θZZ)⊙θ+α⊙θ=0T T
‑2(Dθ)⊙Z+2(ZθZ)⊙Z+β⊙Z=0进一步更新参数:
通过上述参数更新方式,求解出Mashup服务文档‑主题矩阵θ和主题‑单词矩阵Z。