Message from discussion
wordnet semantic similarity: how to refer to elements of a pair in a list? can we sort dictionary according to the value?
Received: by 10.66.86.102 with SMTP id o6mr4317250paz.41.1349752392764;
Mon, 08 Oct 2012 20:13:12 -0700 (PDT)
Received: by 10.68.223.229 with SMTP id qx5mr531477pbc.15.1349752392748; Mon,
08 Oct 2012 20:13:12 -0700 (PDT)
Path: t10ni23613332pbh.0!nntp.google.com!kt20no15707895pbb.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: comp.lang.python
Date: Mon, 8 Oct 2012 20:13:12 -0700 (PDT)
In-Reply-To: <mailman.1928.1349632173.27098.python-list@python.org>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=202.40.157.7; posting-account=mbqf2AoAAAAgAZURfwG566lEnhttS2f1
NNTP-Posting-Host: 202.40.157.7
References: <2d6d84d4-0f70-4280-96e2-f9fe17d5be8b@googlegroups.com> <mailman.1928.1349632173.27098.python-list@python.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <62e7500b-0d7d-4d5e-8c10-197d1988f364@googlegroups.com>
Subject: Re: wordnet semantic similarity: how to refer to elements of a pair
in a list? can we sort dictionary according to the value?
From: Token Type <typeto...@gmail.com>
Cc: python-l...@python.org
Injection-Date: Tue, 09 Oct 2012 03:13:12 +0000
Content-Type: text/plain; charset=ISO-8859-1
yes, thanks all your tips. I did try sorted with itemgetter. However, the sorted results are same as follows whether I set reverse=True or reverse= False. Isn't it strange? Thanks.
>>> import nltk
>>> from nltk.corpus import wordnet as wn
>>> pairs = {'car':'automobile', 'gem':'jewel', 'journey':'voyage'}
>>> for key in pairs:
list_simi=[]
from operator import itemgetter
word1 = wn.synset(str(key) + '.n.01')
word2 = wn.synset(str(pairs[key])+'.n.01')
similarity = word1.path_similarity(word2)
list_simi.append((key+'-'+pairs[key],similarity))
sorted(list_simi, key=itemgetter(1), reverse=True)
[('car-automobile', 1.0)]
[('journey-voyage', 0.25)]
[('gem-jewel', 0.125)]
>>> for key in pairs:
list_simi=[]
from operator import itemgetter
word1 = wn.synset(str(key) + '.n.01')
word2 = wn.synset(str(pairs[key])+'.n.01')
similarity = word1.path_similarity(word2)
list_simi.append((key+'-'+pairs[key],similarity))
sorted(list_simi, key=itemgetter(1), reverse=False)
[('car-automobile', 1.0)]
[('journey-voyage', 0.25)]
[('gem-jewel', 0.125)]