【问题标题】:Wordnet ws4j confounding lesk value, iterating over all the synsetsWordnet ws4j 混淆 lesk 值,遍历所有同义词集
【发布时间】:2014-08-09 00:11:20
【问题描述】:

这可能是完全正常的,但我有用于 Java 的 ws4j,我似乎得到像“1.7345...”这样的数字,用于两个单词之间的 lesk 度量(当我使用演示代码时),但在演示网站上http://ws4jdemo.appspot.com/?mode=w&s1=&w1=solve&s2=&w2=determine

lesk 度量是一个整数,例如“57”。我似乎找不到这样做的原因,但总的来说我也是编程新手。

我想写一些东西,它接受一个 word1 并迭代其余的词,只返回 Lesk 测量值(与 word1 相比)高于某个值的词。这让我想到了一个相关的问题,在 Python 中,我可以使用

遍历所有同义词集
for x in wn.all_synsets():

但我不知道如何对 ws4j 做同样的事情?

【问题讨论】:

    标签: java wordnet ws4j


    【解决方案1】:

    为什么只需要 Lesk 值而需要遍历所有同义词集?试试这个 -

    private static ILexicalDatabase db = new NictWordNet();
    private static RelatednessCalculator[] rcs = { new Lesk(db) };
    
    private static double run(String word1, String word2) {
        WS4JConfiguration.getInstance().setMFS(true);
        double s = 0;
        for (RelatednessCalculator rc : rcs) {
            s = rc.calcRelatednessOfWords(word1, word2);
        }
        if (s > your_value)
        return s;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      相关资源
      最近更新 更多