I 수있는 NTLK 영장 라이브러리에 표시 같은 프린스턴 WN 감각 오프셋 의미 얻을 :센스 오프셋 주어진 프린스턴 WN 감지 ID를 얻는 방법? 파이썬 NLTK
[in]:'dog.n.01'
>>> from nltk.corpus import wordnet as wn
>>> ss = wn.synset('dog.n.01')
>>> offset = str(ss.offset).zfill(8)+"-"+ss.pos
>>> print offset
[out]:'02084071-n'
내가 할 수있는 방법 http://casta-net.jp/~kuribayashi/cgi-bin/wn-multi.cgi?synset=02084071-n&lang=eng
에 사용되는 규칙과 유사 오프셋 (offset) 단어 네트워크 전체를 반복하지 않고 역방향? 여기서
[in]: '02084071-n'
[out]: 'dog.n.01' or Synset('dog.n.01')
나는이 작업을 수행 할 수 있지만 중복주기 단지 방법이 너무 길고 너무 많은입니다 : 같은 당신은 (적어도 한 번 코퍼스 반복하지 않고 조회를 취소 할 수 없습니다, 불행하게도
[in]: '02084071-n'
in_offset, in_pos = "02084071-n".split("-")
from nltk.corpus import wordnet as wn
nltk_ss = [i for i in wn.all_synsets() if i.offset == int(in_offset) and i.pos == in_pos][0]
print nltk_ss
[out]: Synset('dog.n.01')
는이 질문에 이미 대답했다 [여기] (http://stackoverflow.com/questions/8077641/wordnet-synset-offset/12378481#12378481). –
감사합니다. 유일한 방법은 열려있는 WN에서 읽거나 synset 전체 집합을 살펴 보는 것입니다. – alvas