发明名称 面向领域的Web服务文档质量评价方法
摘要 本发明涉及Web服务技术领域,为提供一种对不同领域的Web服务的文档质量的评价方法,能够实现对于新的Web服务,预测其所属领域、包含的语义及其文档质量,从而减少专家评价Web服务文档质量的负担,提高服务发现效率,本发明采取的技术方案是,面向领域的Web服务文档质量评价方法,包括如下步骤:1)解析语义Web服务;2)将Web服务的数据随机分为10等分;3)建立决策树1、2、3;4)计算出性能度量;5)得到标注该服务的本体名称、标注该服务参数的本体概念;6)利返回该领域的性能度量值作为该Web服务文档质量的评价。本发明主要应用于Web服务技术。
申请公布号 CN103279461B 申请公布日期 2016.04.06
申请号 CN201310240129.5 申请日期 2013.06.17
申请人 天津大学 发明人 张祯;冯志勇;陈世展
分类号 G06F17/27(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F17/27(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 刘国威
主权项 一种面向领域的Web服务文档质量评价方法,其特征是,包括如下步骤:1)解析语义Web服务,获取Web服务语义属性:服务名称、服务接口名称、服务参数名称、服务参数类型、服务所属领域、标注该服务的本体名称、标注该服务的本体概念,所有Web服务的语义属性作为输入数据集;2)将Web服务的数据随机分为10等分,选择其中的9份作为训练数据,1份作为测试数据,进入步骤3);3)对于训练数据,选定目标属性为Web服务所属领域,利用服务名称、服务接口名称、服务参数名称、服务参数类型、标注该服务的本体名称、标注该服务的本体概念6个Web服务的语义属性建立决策树1;4)对于训练数据,选定目标属性为标注该服务的本体名称,利用服务名称、服务接口名称、服务参数名称、服务参数类型、服务所属领域、标注该服务的本体概念6个Web服务的语义属性建立决策树2;5)对于训练数据,选定目标属性为标注该服务的本体概念,利用服务名称、服务接口名称、服务参数名称、服务参数类型、服务所属领域、标注该服务的本体名称6个Web服务的语义属性建立决策树3;6)利用建立的决策树1对测试数据预测其服务所属领域,并根据数据已有的领域信息,对不同领域的服务分别计算出如下性能度量:命中率tp‑rate,错误正例率fp‑rate,查准率precision,召回率recall,F测量F‑measure,接受者操作特征曲线面积ROC Area;7)选择另一份数据作为测试数据,重复步骤3)至步骤6)十次,直到每份数据轮流被测试,计算上述性能度量的平均值;8)对于一个新的不在数据集中的Web服务,解析并获取Web服务各个属性的集合,如果该服务是语义Web服务,则进入步骤10);若不是语义Web服务,则进入步骤9);9)将该Web服务的属性集合作为输入,分别利用决策树2和决策树3对该Web服务进行预测,从而得到标注该服务的本体名称、标注该服务参数的本体概念,进入步骤11);10)将Web服务的语义属性集合作为输入,进行步骤4)和步骤5)的处理之后,进入步骤11);11)利用决策树1预测该Web服务的所属领域,并返回该领域的性能度量值作为该Web服务文档质量的评价,从而达到预测该服务文档质量的目的;步骤3)具体过程如下:3.1创建根节点N;3.2若当前训练数据集S属于同一个领域D<sub>i</sub>,则返回N为叶节点,标记为所属领域D<sub>i</sub>;3.3若候选属性集合T为空,或者S中所剩的样本数少于给定值Y,则返回N为叶节点,标记N为S中出现最多的领域;3.4对于每个集合T中的属性,计算信息增益率;3.5选定N的测试属性等于T中具有最高信息增益率的属性;3.6对于每一个节点N添加一个新的叶子节点,执行步骤3.7;3.7若给叶子节点对应的训练数据集S′为空,则分裂此叶子节点生成新叶节点,将其标记为S中出现最多的服务领域,进入步骤3.8;否则,选择当前训练数据集为S′,该叶子节点为N,转至步骤3.2,继续对其进行分裂;3.8计算每个节点的分类错误,进行剪枝;步骤3.4需要计算每个属性的信息增益比,对于某个属性X<sub>i</sub>,其信息增益率是通过如下公式进行计算:首先计算对于一个给定的Web服务集合所需的期望信息,由公式(1)给出:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>I</mi><mrow><mo>(</mo><msub><mi>n</mi><mn>1</mn></msub><mo>,</mo><mo>...</mo><mo>...</mo><mo>,</mo><msub><mi>n</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>p</mi><mi>i</mi></msub><msub><mi>log</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000817530520000021.GIF" wi="950" he="70" /></maths>其中,n<sub>i</sub>是服务数据属于领域D<sub>i</sub>的个数,p<sub>i</sub>是任意的服务数据属于领域D<sub>i</sub>的概率,取<img file="FDA0000817530520000022.GIF" wi="54" he="94" />的值,S是s个测试服务的数据集合,服务所属领域D具有m个不同的值;接下来计算属性X<sub>i</sub>划分成子集的熵,由公式(2)给出:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>v</mi></msubsup><mfrac><msub><mi>s</mi><mrow><mi>i</mi><mi>j</mi><mo>+</mo><mo>...</mo><mo>+</mo><msub><mi>s</mi><mrow><mi>m</mi><mi>j</mi></mrow></msub></mrow></msub><mi>s</mi></mfrac><mi>I</mi><mrow><mo>(</mo><msub><mi>s</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>,</mo><mo>...</mo><mo>...</mo><mo>,</mo><msub><mi>s</mi><mrow><mi>m</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000817530520000023.GIF" wi="862" he="110" /></maths>其中,设v是X<sub>i</sub>的属性个数,则X<sub>i</sub>对应的数据集分为v个子集s<sub>1</sub>,……,s<sub>v</sub>,s<sub>i</sub>是在S中属性X<sub>i</sub>具有值a<sub>i</sub>时的数据集合,若X<sub>i</sub>选作测试属性,则这些子集对应于由包含集合S的结点生成出来的分支,s<sub>ij</sub>是s<sub>i</sub>中属于领域D<sub>i</sub>的服务数据个数,熵值越小,子集划分的纯度越高;由此,计算出X<sub>i</sub>在分支获得的信息增益,有公式(3)给出:Gain(X<sub>i</sub>)=I(s<sub>1</sub>,……,s<sub>m</sub>)–E(X<sub>i</sub>)           (3)分裂信息的计算公式见公式(4):<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>S</mi><mi>p</mi><mi>l</mi><mi>i</mi><mi>t</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mrow><mo>(</mo><mi>S</mi><mo>,</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>-</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>c</mi></msubsup><mfrac><mrow><mo>|</mo><msub><mi>S</mi><mi>i</mi></msub><mo>|</mo></mrow><mrow><mo>|</mo><mi>S</mi><mo>|</mo></mrow></mfrac><msub><mi>Log</mi><mn>2</mn></msub><mfrac><msub><mi>S</mi><mi>i</mi></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000817530520000024.GIF" wi="1086" he="159" /></maths>其中,S<sub>1</sub>到S<sub>c</sub>是c个不同值的属性X<sub>i</sub>分割S而形成的c个样本子集;这样,在属性X<sub>i</sub>上所得到的信息增益比为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>G</mi><mi>a</mi><mi>i</mi><mi>n</mi><mi>R</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mrow><mo>(</mo><mi>S</mi><mo>,</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>G</mi><mi>a</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>S</mi><mo>,</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>S</mi><mi>p</mi><mi>l</mi><mi>i</mi><mi>t</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mrow><mo>(</mo><mi>S</mi><mo>,</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000817530520000025.GIF" wi="861" he="109" /></maths>由上述过程也可以得到步骤4)和步骤5)的具体过程。
地址 300072 天津市南开区卫津路92号