바보 같지만 NLTK의 스템 기능에 액세스 할 수 없습니다.NLTK 스템 사용 방법
나는
import nltk
nltk.stem.porter.step1ab()
를 호출하지만이 오브젝트가 step1ab 속성이 없다고 말했다 얻을. 나는 어떻게 든 그것을 정확하게 부르지 않는다고 생각하지만 실제로 그것에 도달하는 방법을 확신 할 수는 없다.
바보 같지만 NLTK의 스템 기능에 액세스 할 수 없습니다.NLTK 스템 사용 방법
나는
import nltk
nltk.stem.porter.step1ab()
를 호출하지만이 오브젝트가 step1ab 속성이 없다고 말했다 얻을. 나는 어떻게 든 그것을 정확하게 부르지 않는다고 생각하지만 실제로 그것에 도달하는 방법을 확신 할 수는 없다.
step1ab()
은 nltk.stem.porter 모듈 내의 클래스 PorterStemmer
의 메소드입니다. 따라서 다음과 같이 호출 할 수 있습니다.
myPorterStemmer = nltk.stem.porter.PorterStemmer()
...
myPorterStemmer.step1ab()
그러나 실제로는 직접 호출하도록 설계되지 않았습니다. 하나는 일반적으로 myPorterStemmer.stem(word)
으로 전화를 걸고 step1ab()
에 위임하여 작업의 일부를 수행합니다. 당신이 정말로 생각 분리의 step1ab
를 사용하려면
, 당신은 변수의 무리를 설정해야하고이 같은 얻을 것 :
>>> word = "countries"
>>> myStemmer = nltk.stem.porter.PorterStemmer()
>>> myStemmer.b = word
>>> myStemmer.k = len(word) - 1
>>> myStemmer.k0 = 0
>>> myStemmer.step1ab()
>>> myStemmer.b[myStemmer.k0:myStemmer.k+1]
'countri'
감사합니다. 한 번 더 해답을 알고 있다면,'myPorterStemmer.step1ab()'을 호출하려고하면 TypeError가 발생합니다 : TypeError : step1ab()은 정확히 1 개의 인수 (주어진 2 개)를 취합니다. 그래서 그것은 [이] (http://stackoverflow.com/questions/4909585/interesting-takes-exactly-1-argument-2-given-python-error)와 유사하지만 실제로 어떻게 작동하게 하는지를 생각할 수는 없습니다. . 미안 해요 - 아직도 파이썬 n00b! – penguin
@penguin : 'step1ab'호출 방법에 대한 답변을 업데이트했습니다. 그러나 실제로는 myStemmer.stem (word)를 대신 호출하는 것이 좋을 것입니다. 훨씬 쉽고 모든 단계가 한 번에 끝납니다. – Junuxx
@ Junuxx- 완벽한 - 도와 주셔서 감사합니다! – penguin
오와 'nltk.stem 수입 포터 에서을 porter.steb1ab()' 같은 결과가 나타납니다 – penguin