2012-05-10 1 views
1

저는 nltk와 python에서 멍청한 놈입니다. 최근에 문제가 생겼습니다. 변수에 터미널에 text.similar()를 저장하고 싶습니다.하지만 실패했습니다. 여러 번. 내가 어떻게 구할 수 있니?변수를 사용하여 nltk Text.similar() 저장 방법

text = nltk.Text(word.lower() for word in nltk.corpus.brown.words()) 
save = [] 
for word in nltk.word_tokenize("i want to slove this problem"): 
    save.append(text.similar(word)) 

는 슬프게도, 나는 [] 저장에 아무것도. 그럼이 코드를 테스트 "단어 = text.similar ('여성')"이 찾을 수 없습니다 또한 "단어"에서 아무것도 발견했다. 나는 그것이 text.similar()를 저장할 수없는 솔기를 깨달았다. 저장하려면 어떻게해야합니까?

답변

7

nltk.Text의 인스턴스는 실제로 대화 형 탐색에만 사용됩니다. 콘솔에 많은 내용을 덤프하지만, 실제로 함수에서 생성 된 객체를 반환하지는 않습니다.

이 경우 원하는 것은 nltk.ContextIndex 클래스입니다. 이 클래스를 사용하면 ...

수행
import nltk 
import nltk.text 
import nltk.corpus 

idx = nltk.text.ContextIndex([word.lower() for word in nltk.corpus.brown.words()]) 
save = [ ] 
for word in nltk.word_tokenize("i want to solve this problem"): 
    save.append(idx.similar_words(word)) 

save는 등 "난", "원하는"의 맥락에서 가장 자주 단어, "을"의 둥지 목록

테이크 될 것입니다 online nltk.text.Text documentation, 특히 similar 방법을 참조하십시오. nltk.text.ContextIndex

관련 문제