2

比較級/最上級形容詞の肯定形を取得する方法はありますか? 例えば。良い -> 良い; 最大 -> 大きい。NLTK の最新バージョンを使用しています。

4

3 に答える 3

2

WordNet lemmatizer私は同じ問題に遭遇し、答えのないウェブを検索し、実際にin で実行できることを発見しましたnltk

WordNetにはこれらの簡略化された pos タグがあることを思い出してください。

n    NOUN 
v    VERB 
a    ADJECTIVE 
s    ADJECTIVE SATELLITE 
r    ADVERB 

その中で、形容詞タグ、aおよびs、正規化に使用できます。

>>> from nltk.stem.wordnet import WordNetLemmatizer
>>> wnl = WordNetLemmatizer()
>>> wnl.lemmatize('biggest', 'a')
u'big'
>>> wnl.lemmatize('better', 'a')
u'good'

ここでは、2 番目のパラメーターがマジック トリックを行います。空白のままにすると、デフォルトで'n'、またはwordnet.NOUNin になりlemmatize()ます。同様に、動詞と副詞を正規化するために、'v'または正規化するために、それぞれ明示的に配置する必要があります。'r'

于 2015-04-12T10:41:03.287 に答える
0

NLTK のワードネットのグロス/定義を次のように使用してみてください。

from ntlk.corpus import wordnet as wn

for ss in wn.all_synsets():
  if "(comparative of" in ss.definition:
    comp = ss.definition.split("`")[1].split("'")[0]
    for l in ss.lemma_names:
      print l, comp

ただし、定義で比較情報を使用してエンコードされたのは 13 の synset のみであることに注意してください ( の場合NLTK v.2.0.4)。また、比較語の階層を取得することもできません (例: best > better > good.

于 2013-07-09T12:39:07.980 に答える