擅长:python、mysql、java
<p>wordnet中有一个关系将<code>adjectives</code>连接到<code>adverbs</code>,反之亦然。在</p>
<pre><code>>>> from itertools import chain
>>> from nltk.corpus import wordnet as wn
>>> from difflib import get_close_matches as gcm
>>> possible_adjectives = [k.name for k in chain(*[j.pertainyms() for j in chain(*[i.lemmas for i in wn.synsets('terribly')])])]
['terrible', 'atrocious', 'awful', 'rotten']
>>> gcm('terribly',possible_adjectives)
['terrible']
</code></pre>
<p>计算<code>possible_adjective</code>的一种更具可读性的方法如下:</p>
^{pr2}$
<p>编辑:在新版本的NLTK中:</p>
<pre><code>possible_adj = []
for ss in wn.synsets('terribly'):
for lemmas in ss.lemmas(): # all possible lemmas
for ps in lemmas.pertainyms(): # all possible pertainyms
possible_adj.append(ps.name())
</code></pre>