[python] NLTK를 사용해 명사 추출을 수행하는 방법은 무엇인가요?
먼저, nltk를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.
pip install nltk
그리고 다음과 같이 필요한 모듈을 임포트합니다.
import nltk
from nltk.tokenize import word_tokenize
nltk.download('punkt') # 단어 토큰화를 위한 nltk 데이터를 다운로드합니다.
nltk.download('averaged_perceptron_tagger') # 품사 태깅을 위한 데이터를 다운로드합니다.
이제 텍스트에서 명사를 추출하는 함수를 작성할 수 있습니다.
def extract_nouns(text):
nouns = []
tokens = word_tokenize(text) # 텍스트를 단어로 토큰화합니다.
tagged_tokens = nltk.pos_tag(tokens) # 각 단어에 품사 태깅을 수행합니다.
for word, tag in tagged_tokens:
if tag in ['NN', 'NNS', 'NNP', 'NNPS']: # 명사 품사 태그인 경우에만 추가합니다.
nouns.append(word)
return nouns
위의 함수를 사용하여 텍스트에서 명사를 추출할 수 있습니다. 예를 들어,
text = "I love natural language processing"
nouns = extract_nouns(text)
print(nouns)
출력 결과는 다음과 같을 것입니다.
['I', 'language', 'processing']
따라서, 위와 같이 nltk를 사용하여 텍스트에서 명사를 추출할 수 있습니다.
더 자세한 정보를 얻으려면 nltk 공식 문서를 참조하세요.