比較級/最上級形容詞の肯定形を取得する方法はありますか? 例えば。良い -> 良い; 最大 -> 大きい。NLTK の最新バージョンを使用しています。
質問する
2556 次
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.NOUN
in になり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 に答える