[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 공식 문서를 참조하세요.