spacy로 정지 단어를 추가/제거하는 가장 좋은 방법은 무엇입니까? token.is_stop
기능을 사용 중이고 설정 변경에 대한 커스텀 변경을 원합니다. 나는 doccumentation를보고 있었지만 멈추는 단어에 관해서는 아무것도 찾을 수 없었다. 감사!spacy로 정지 단어 추가/제거
답변
당신은 (this post 참조) 같은 텍스트를 처리하기 전에 편집 할 수 있습니다 :
>>> import spacy
>>> nlp = spacy.load("en")
>>> nlp.vocab["the"].is_stop = False
>>> nlp.vocab["definitelynotastopword"].is_stop = True
>>> sentence = nlp("the word is definitelynotastopword")
>>> sentence[0].is_stop
False
>>> sentence[3].is_stop
True
참고 :이 < = V1.8을 작동하는 것 같다. 최신 버전은 다른 답변을 참조하십시오.
from spacy.lang.en.stop_words import STOP_WORDS
print(STOP_WORDS) # <- set of Spacy's default stop words
STOP_WORDS.add("your_additional_stop_word_here")
for word in STOP_WORDS:
lexeme = nlp.vocab[word]
lexeme.is_stop = True
이이 세트로 모두 중지 단어를로드 :
아 멋지 네요. 고맙습니다! –
이 솔루션은 1.9.0 버전에서 더 이상 작동하지 않는 것 같습니다. 'TypeError : 정수가 필요합니다 .'가 나타납니다. –
@ E.K. 같은 문제가있었습니다. 아래 내 대답을 참조하십시오. – petezurich
버전 2.0 나는 이것을 사용했다.
정지 단어를 STOP_WORDS
으로 수정하거나 처음부터 고유 한 목록을 사용할 수 있습니다.
). 버전 2.0에서 "ImportError : No module named en.stop_words"... suggestions가 있습니까? – user1025852
@ user1025852 내 대답을 업데이트 한 경우. – petezurich
'spacy.lang.en.stop_words'는 오류도줍니다. – jxn
전체 목록 :'from spacy.en.word_sets import STOP_WORDS' – Xeoncross