2017-09-08 2 views
-1

J'essaie de comprendre le score de similarité de chemin donné par wordNet entre 2 SynsetsScore de similarité de chemin entre ** bon ** vs ** mauvais ** et ** bon ** vs ** meilleur ** dans wordNet

 

    good = wn.synset('good.n.01') 
    bad = wn.synset('bad.n.01') 
    better = wn.synset('better.n.01') 
    print good.path_similarity(better) 
    print good.path_similarity(good) 
    print good.path_similarity(bad) 

sorties sont

 

    0.166666666667 
    1.0 
    0.2 

marquer ici entre le bien et mieux, est 0,16666 et le score en bon et mauvais est de 0,2 et le score est de 1,0 pour ofcorse bon et bon. Mais comment le score entre le bien et le mal est plus grand que le bien et le mieux car ils ont tous les deux la même signification sémantique

Donc, est-ce que je manque quelque chose ici, n'est-ce pas la façon dont la similarité de chemin fonctionne, quelqu'un peut-il m'expliquer cela?

+0

Remarque: 'Word! = Synset' – alvas

Répondre

0

Vous avez choisi un mauvais synset pour "bien":

good = nltk.wordnet.wordnet.synset('good.n.03') 
good.path_similarity(better) 
#0.5 
good.path_similarity(bad) 
#0.33333333333333 
+0

Comment saurais-je quel est le synset correct pour un mot particulier? –

+0

Regardez c'est hypersets(). – DyZ

0

Probablement vous n'utilisez pas le synset approprié:

http://labs.fc.ul.pt/dishin/

bon nom-3 vs bad-nom-1

Measure MICA/DiShIn (Ex/In)trinsic Similarity 
Resnik MICA intrinsic 3.49406003202 
Lin MICA intrinsic 0.459704995741 
Jiang&Conrath MICA intrinsic 0.121755310731 

bon nom-3 vs mieux-nom-3

Measure MICA/DiShIn (Ex/In)trinsic Similarity 
Resnik MICA intrinsic 7.78451947317 
Lin MICA intrinsic 0.876326016756 
Jiang&Conrath MICA intrinsic 0.455119613313