2013-03-07 41 views
1

我在這裏使用的工具進行語義相似,語義相似的結果解釋

我得到下面的結果,但不能正確interprete他們:

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)); 

回答

1

NLTK Documentation:

江Conrath相似度返回一個分數,表示基於最低 Common Subsumer(最具體的祖先節點)的信息內容(IC)和兩個輸入Synsets的兩個 字詞感覺是多麼相似。該關係由公式1 /(IC(s1)+ IC(s2)-2 * IC(lcs))給出。

0的結果意味着這兩個概念完全不相關。 1附近的結果意味着非常密切的關係。

0

你能否把我寫的代碼源寫在JAVA中負責執行LeacockAndChodorow算法,因爲我確實有一些Url變量的問題?