我在这里使用一个工具执行语义相似度,
我得到了以下结果,但无法正确解释它们:
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));
发布于 2013-03-08 04:09:27
从NLTK Documentation:
基于最小公共归并节点(最具体的祖先节点)的信息内容(IC)和两个输入同义词集的信息内容(IC),江Conrath相似度返回一个分数,该分数指示两个词义的相似程度。公式1/ (IC(s1) + IC(s2) -2* IC(lcs))给出了该关系。
结果为0表示这两个概念根本不相关。接近1的结果将意味着非常密切的关系。
发布于 2013-04-01 03:18:03
你能让我用JAVA写的源码来负责LeacockAndChodorow算法的执行吗?因为我对Url变量有一些问题。
https://stackoverflow.com/questions/15280100
复制相似问题