2017-09-07 1 views
0

문장을 토큰 화하기 위해 NLTK를 사용했지만, 이제 문장을 문자열로 재구성하려고합니다. 문서를 살펴 봤지만이를 수행 할 명백한 와트를 볼 수 없습니다. 이것이 가능합니까?토큰에서 NLTK 문장 재구성

tokens = [token.lower() for token in tokensCorrect] 

답변

1

nltk에는 이러한 기능이 없습니다. 공백은 토큰 화 중에 버려지므로 시작한 것을 정확히 되돌릴 방법이 없습니다. 공백에는 줄 바꿈과 여러 공백이 포함될 수 있으며이를 되돌릴 방법이 없습니다. 당신이 할 수있는 최선의 방법은 문장을 보통 문장처럼 보이는 문자열에 결합시키는 것입니다.

>>> print(" ".join(tokens)) 
'This is a sentence .' 

그래서 당신은 공간이 있어야 (`` 같은 몇 가지 선택에 대한 제외한 대부분의 구두점 전에 공백을 제거해야합니다 간단한 " ".join(tokens) 이전과 이상한 보이는 모든 문장 부호 뒤에 공백을 넣어 것입니다 이후에이 제거되었습니다. 아포 스트로피 '은 때로는 단어들 사이에서 때때로 사용되기도하고 때로는 이후에 때때로 사용되기도합니다. ("Nuthin' doin', y'all!") 행운을 빈다.

내 추천은 문장을 토큰 화 한 원래 문자열을 고수하고 그 문장으로 돌아가는 것입니다. 당신은 당신의 문장이 어디에서 오는지 나타내지 않으므로 실제로 말할 것이 없습니다.