動詞の原型を取得 [Python]
なぜかimportの仕方によって、出力結果が異なる
以下のimportだと、sinteringはsinterに変換されるが、heatingはheatにならない。
from nltk.corpus import wordnet as wn nltk.download('wordnet') # wordnetを取得していないときはこのコマンドでダウンロード print(wn.morphy('copied')) >>> copy print(wn.morphy('sintering')) >>> sinter print(wn.morphy('dried')) >>> dry print(wn.morphy('heating')) >>> heating
一方、以下のimportだとheatingがheatに正しく変換される。
from nltk.stem import WordNetLemmatizer lemmatizer = WordNetLemmatizer() lemmatizer.lemmatize("copied", pos="v") >>> copy lemmatizer.lemmatize("sintering", pos="v") >>> sinter lemmatizer.lemmatize("dried", pos="v") >>> dry lemmatizer.lemmatize("heating", pos="v") >>> heat
なぜこのようなことが起こるのだろうか? 同じWordNetを使っているようにみえるが、lemmatizerとwn.morphyでは変換の方法が異なるのか? この件については後日調査し、なぜか分かり次第追記する。
ディスカッション
コメント一覧
まだ、コメントがありません