[python] NLTK를 사용해 텍스트의 특수 문자를 제거하는 방법은 무엇인가요?
NLTK는 텍스트 처리를 위한 다양한 도구를 제공합니다. 특수 문자를 제거하기 위해서는 NLTK의 정규 표현식(regular expression) 모듈인 re
를 사용할 수 있습니다.
아래는 NLTK를 사용해 텍스트의 특수 문자를 제거하는 예제 코드입니다:
import nltk
import re
def remove_special_characters(text):
# 정규 표현식을 사용해서 특수 문자를 제거합니다
text = re.sub(r'[^a-zA-Z0-9가-힣\s]', '', text)
return text
# 입력 텍스트
input_text = "Hello, @world! How are you? #ILovePython"
# 특수 문자 제거
clean_text = remove_special_characters(input_text)
print(clean_text)
이 코드는 remove_special_characters
라는 함수를 정의하고, 이 함수 안에서 입력 텍스트에 대해 정규 표현식을 사용하여 특수 문자를 제거합니다. [^a-zA-Z0-9가-힣\s]
는 알파벳, 숫자, 한글, 공백 문자를 제외한 모든 문자를 의미합니다. 따라서 이 정규 표현식과 re.sub
함수를 사용하면 특수 문자가 제거된 텍스트를 얻을 수 있습니다.
위 예제 코드를 실행하면 다음과 같은 결과가 출력됩니다:
Hello world How are you I LovePython
이제 NLTK를 사용해 텍스트의 특수 문자를 제거하는 방법을 알았습니다. 이를 응용하여 텍스트 전처리 등 다양한 작업에 활용할 수 있습니다.
참고 문서: