0

我正在使用 ws4j 库进行一些测试。特别是我想计算两个测试词“大学”和“教学”之间的相似度。当我应用词干提取时,它给了我 0 相似度...当我不应用词干提取时,结果高于 0。另一方面,当我检查“性别”和“性别”之间的相似性时,词干提取有反向影响:当我使用它时,它给出了积极的相似性。否则相似度等于0。

为什么会发生这种情况,哪种方法更通用,可以为两个示例提供相似的结果?

public class TestWs4j
{    
    private static ILexicalDatabase db = new NictWordNet();
    private static RelatednessCalculator[] rcs = {
            new WuPalmer(db), // new HirstStOnge(db), new LeacockChodorow(db), new Lesk(db),
            new JiangConrath(db), new Path(db) // new Resnik(db), new Lin(db),
    };

    private static void run( String word1, String word2 ) {
        WS4JConfiguration.getInstance().setMFS(true);
        for ( RelatednessCalculator rc : rcs ) {
            double s = rc.calcRelatednessOfWords(word1, word2);
            System.out.println( rc.getClass().getName()+"\t"+s );
        }
    }
    public static void main(String[] args) {
        long t0 = System.currentTimeMillis();
        PorterStemmer stemmer = new PorterStemmer();
//        String w1 = stemmer.stemWord("university");
//        String w2 = stemmer.stemWord("teaching");
//        run(w1,w2);
        run("university","teaching");
        long t1 = System.currentTimeMillis();
        System.out.println( "Done in "+(t1-t0)+" msec." );
    }
}
4

0 回答 0