1

我在这里使用工具执行语义相似性,

我得到以下结果,但无法正确解释它们:

apple#n#1,banana#n#1    0.04809463683080774
apple#n#1,banana#n#2    0.13293629283742603
apple#n#2,banana#n#1    0.0
apple#n#2,banana#n#2    0.0

这是代码:

URL url = new URL ( "file" , null , "dictionary/3.0/dict" );
        IDictionary dict = new Dictionary ( url ) ;
        dict.open () ;

        // look up first sense of the word " dog "
        IIndexWord idxWord = dict . getIndexWord ( "dog" , POS.NOUN ) ;
        IWordID wordID = idxWord . getWordIDs () . get (0) ; // 1 st meaning
        List <IWordID> wordIDs = idxWord.getWordIDs();


        JWS ws= new JWS ("dictionary", "3.0");


        TreeMap <String,Double> scores1 = ws.getJiangAndConrath().jcn("apple", "banana", "n");
        for (String s:scores1.keySet())
            System.out.println(s+"\t"+scores1.get(s));
4

2 回答 2

1

来自NLTK 文档:

Jiang Conrath 相似性返回一个分数,表示两个词义的相似程度,基于最不常见的子类(最具体的祖先节点)的信息内容 (IC) 和两个输入同义词集的信息内容 (IC)。该关系由等式 1 / (IC(s1) + IC(s2) - 2 * IC(lcs)) 给出。

结果为 0 意味着这两个概念根本不相关。接近 1 的结果意味着非常密切的关系。

于 2013-03-07T20:09:27.273 回答
0

你能把用 JAVA 编写的代码源交给我,因为我确实对 Url 变量有一些问题,因此负责执行 LeacockAndChodorow 算法吗?

于 2013-03-31T19:18:03.400 回答