1
문자열을 토큰화할 때 spacy의 토크 나이저가 특정 하위 문자열을 분할하지 못하게하려면 어떻게해야합니까?문자열을 토큰화할 때 spacy의 토크 나이저가 특정 하위 문자열을 분할하지 못하게하려면 어떻게해야합니까?
이 등록되면, 폴더 멀리 쉘에서 갔다 :
은보다 구체적으로, 나는이 문장이있다. 로 토큰 화됩니다
는 [번/등록 /, /은/폴더/간/거리 /에서//그녀/LL /.] scapy 1.6.0에 의해. 서브 문자열 shell
을 두 개의 서로 다른 토큰 she
및 ll
으로 잘라 내고 싶지 않습니다.
# To install spacy:
# sudo pip install spacy
# sudo python -m spacy.en.download parser # will take 0.5 GB
import spacy
nlp = spacy.load('en')
# https://spacy.io/docs/usage/processing-text
document = nlp(u'Once unregistered, the folder went away from the shell.')
for token in document:
print('token.i: {2}\ttoken.idx: {0}\ttoken.pos: {3:10}token.text: {1}'.
format(token.idx, token.text,token.i,token.pos_))
출력 :
token.i: 0 token.idx: 0 token.pos: ADV token.text: Once
token.i: 1 token.idx: 5 token.pos: ADJ token.text: unregistered
token.i: 2 token.idx: 17 token.pos: PUNCT token.text: ,
token.i: 3 token.idx: 19 token.pos: DET token.text: the
token.i: 4 token.idx: 23 token.pos: NOUN token.text: folder
token.i: 5 token.idx: 30 token.pos: VERB token.text: went
token.i: 6 token.idx: 35 token.pos: ADV token.text: away
token.i: 7 token.idx: 40 token.pos: ADP token.text: from
token.i: 8 token.idx: 45 token.pos: DET token.text: the
token.i: 9 token.idx: 49 token.pos: PRON token.text: she
token.i: 10 token.idx: 52 token.pos: VERB token.text: ll
token.i: 11 token.idx: 54 token.pos: PUNCT token.text: .
특별한 경우에 대한 추가 왜 어떤 생각 "[LOCATION]"문자열은 "[", "LOCATION", "]"의 3 개의 토큰이됩니다. 모든 문자열에 대해 작동하지 않아야합니까? – singleton
@singleton 두 개의 테스트되지 않은 아이디어 : 1.'add_special_case'는 구두점을 무시합니다. 2.'add_special_case'는 정규식을 인수로 취합니다. –
Spacy가 정상적으로 작동합니다. spacy 사이트에서 토큰 화 예제를 복사하여 붙여 넣는 동안 실수를 한 것으로 보입니다. 건배. – singleton