textblob
이 PennTreeBank (ptb) 태그 세트를 사용하는 경우 POS 태그의 첫 번째 문자를 사용하여 WN pos 태그에 매핑하면됩니다.
WN POS 태그 세트에는 'a'= 형용사/부사식, 's'= 위성 형용사, 'n'= 명사 및 'v'= 동사가 포함됩니다.
시도 :
>>> from nltk import word_tokenize, pos_tag
>>> from nltk.corpus import wordnet as wn
>>> text = 'this is a pos tagset in some foo bar paradigm'
>>> pos_tag(word_tokenize(text))
[('this', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('pos', 'NN'), ('tagset', 'NN'), ('in', 'IN'), ('some', 'DT'), ('foo', 'NN'), ('bar', 'NN'), ('paradigm', 'NN')]
>>> for tok, pos in pos_tag(word_tokenize(text)):
... pos = pos[0].lower()
... if pos in ['a', 'n', 'v']:
... wn.synsets(tok, pos)
...
[Synset('be.v.01'), Synset('be.v.02'), Synset('be.v.03'), Synset('exist.v.01'), Synset('be.v.05'), Synset('equal.v.01'), Synset('constitute.v.01'), Synset('be.v.08'), Synset('embody.v.02'), Synset('be.v.10'), Synset('be.v.11'), Synset('be.v.12'), Synset('cost.v.01')]
[Synset('polonium.n.01'), Synset('petty_officer.n.01'), Synset('po.n.03'), Synset('united_states_post_office.n.01')]
[]
[]
[Synset('barroom.n.01'), Synset('bar.n.02'), Synset('bar.n.03'), Synset('measure.n.07'), Synset('bar.n.05'), Synset('prevention.n.01'), Synset('bar.n.07'), Synset('bar.n.08'), Synset('legal_profession.n.01'), Synset('stripe.n.05'), Synset('cake.n.01'), Synset('browning_automatic_rifle.n.01'), Synset('bar.n.13'), Synset('bar.n.14'), Synset('bar.n.15')]
[Synset('paradigm.n.01'), Synset('prototype.n.01'), Synset('substitution_class.n.01'), Synset('paradigm.n.04')]
당신이 ""호환 "아니다"에 대한 자세한 내용을 설명 할 수 있을까요? – Daniel
예를 들면 ... – Daniel
아래 답변은 훌륭합니다.이 게시물에 걸려 넘어지는 사람들이 문제가 무엇인지 느낄 수 있도록 몇 가지 예를 추가했습니다. –