당신이 단어를 가능한 synset을 얻을 그런 다음 관용적
>>> from nltk.tag import pos_tag
>>> sent = "dog is barking at tree"
>>> [i for i in pos_tag(sent.split()) if i[1] == "NN"]
[('dog', 'NN'), ('tree', 'NN')]
을 사용할 수 있습니다, 유사/동일 POS 태그가있는 단어를 알고하려면 수행
>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('dog')
[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]
대부분의 아마 찾고있는 솔루션은 다음과 같습니다.
>>> from nltk.corpus import wordnet as wn
>>> from nltk.tag import pos_tag
>>> sent = "dog is barking at tree"
>>> for i in [i[0] for i in pos_tag(sent.split()) if i[1].lower()[0] == 'n']:
... print wn.synsets(i); print
...
[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]
[Synset('tree.n.01'), Synset('tree.n.02'), Synset('tree.n.03'), Synset('corner.v.02'), Synset('tree.v.02'), Synset('tree.v.03'), Synset('tree.v.04')]
시도를 게시 하시겠습니까? – That1Guy
저는 "xyz # n # 01"형식 (예를 들어)과 같은 양식을 원하는 관련성 부분과 함께 작업하고 있습니다. 나는 감각의 수에 따라 특정 단어를 다차 표기로 표시하고 싶기 때문에 위의 질문을했으며 NLTK 책에서 많은 것을 시도하고 있습니다. – user3189037