【问题标题】:Wordnet Similarity 4 Java (WS4J)Wordnet 相似性 4 Java (WS4J)
【发布时间】:2018-02-09 12:43:44
【问题描述】:

我正在做一个项目,其中一个要求是计算单词之间的相似度。我正在使用 WuP 度量来计算应该返回 [0,1] 之间值的单词之间的相似度。问题是 jar 文件似乎有错误,它不返回此范围内的值。 web page demo 完美地工作,对于相同的单词,它返回最大值 1 但 jar 文件不返回相同的值。 run( "java","java" ); 的结果是:

run:
edu.cmu.lti.ws4j.impl.HirstStOnge   1.7976931348623157E308
edu.cmu.lti.ws4j.impl.LeacockChodorow   1.7976931348623157E308
edu.cmu.lti.ws4j.impl.Lesk  1.7976931348623157E308
edu.cmu.lti.ws4j.impl.WuPalmer  1.7976931348623157E308
edu.cmu.lti.ws4j.impl.Resnik    1.7976931348623157E308
edu.cmu.lti.ws4j.impl.JiangConrath  1.7976931348623157E308
edu.cmu.lti.ws4j.impl.Lin   1.7976931348623157E308
edu.cmu.lti.ws4j.impl.Path  1.7976931348623157E308
Done in 8 msec.
BUILD SUCCESSFUL (total time: 0 seconds)

问题不仅在于相同的单词,即使对于不同的单词,它也会给出超出范围的 wup 值:

网页演示:

wup( avocado#n#1 , fruit#n#1 ) = 0.9091
jcn( avocado#n#1 , fruit#n#1 ) = 0.5974
lch( avocado#n#1 , fruit#n#1 ) = 2.5903
lin( avocado#n#1 , fruit#n#1 ) = 0.8982
res( avocado#n#1 , fruit#n#1 ) = 7.3837
path( avocado#n#1 , fruit#n#1 ) = 0.3333
lesk( avocado#n#1 , fruit#n#1 ) = 203
hso( avocado#n#1 , fruit#n#1 ) = 6

Jar 文件值:

run:
edu.cmu.lti.ws4j.impl.HirstStOnge   6.0
edu.cmu.lti.ws4j.impl.LeacockChodorow   2.5902671654458267
edu.cmu.lti.ws4j.impl.Lesk  6.0
edu.cmu.lti.ws4j.impl.WuPalmer  1.0526315789473684
edu.cmu.lti.ws4j.impl.Resnik    7.383733213970693
edu.cmu.lti.ws4j.impl.JiangConrath  0.5973799749775183
edu.cmu.lti.ws4j.impl.Lin   0.8981855517382724
edu.cmu.lti.ws4j.impl.Path  0.3333333333333333
Done in 1673 msec.
BUILD SUCCESSFUL (total time: 1 second)

谁能帮忙解决这个问题

【问题讨论】:

    标签: java similarity wordnet ws4j


    【解决方案1】:

    1.7976931348623157E308 是最大双精度数。 好像它代表无限,因为这两个词是相同的。

    尝试“hi”和“hello”,它会返回 1.0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-24
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2013-12-03
      • 1970-01-01
      • 2016-11-09
      相关资源
      最近更新 更多