SpaCy를 이용한 자연어 이해(Natural Language Understanding) 작업

자연어 이해는 컴퓨터가 인간의 언어를 이해하고 처리하는 과정을 말합니다. 이는 자연어 처리(Natural Language Processing) 분야에서 매우 중요한 작업입니다. SpaCy는 파이썬에서 사용할 수 있는 강력한 자연어 처리 라이브러리로, 다양한 자연어 이해 작업을 수행할 수 있습니다.

토큰화(Tokenization)

토큰화는 자연어 문장을 단어나 구절로 분리하는 과정입니다. SpaCy는 미리 학습된 모델을 사용하여 문장을 토큰으로 분리할 수 있습니다.

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("SpaCy is an open-source library for natural language processing.")

for token in doc:
    print(token.text)

결과:

SpaCy
is
an
open
-
source
library
for
natural
language
processing
.

품사 태깅(Part-of-Speech Tagging)

품사 태깅은 단어의 품사를 태깅하는 작업입니다. SpaCy는 미리 학습된 모델을 사용하여 품사 태깅을 수행할 수 있습니다.

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("I like to eat pizza.")

for token in doc:
    print(token.text, token.pos_)

결과:

I PRON
like VERB
to PART
eat VERB
pizza NOUN
. PUNCT

구문 분석(Syntactic Parsing)

구문 분석은 문장의 구조를 분석하는 작업입니다. SpaCy는 미리 학습된 모델을 사용하여 구문 분석을 수행할 수 있습니다.

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("The cat chased the mouse.")

for token in doc:
    print(token.text, token.dep_)

결과:

The det
cat nsubj
chased ROOT
the det
mouse dobj
. punct

감정 분석(Sentiment Analysis)

감정 분석은 문장의 감정을 분석하는 작업입니다. SpaCy는 미리 학습된 모델을 사용하여 감정 분석을 수행할 수 있습니다.

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("I love this movie. It's so amazing!")

sentiment_score = doc.sentiment
print(sentiment_score)

if sentiment_score >= 0.5:
    print("Positive sentiment")
else:
    print("Negative sentiment")

결과:

0.9
Positive sentiment

SpaCy를 사용하여 자연어 이해 작업을 수행하면 텍스트 데이터를 보다 효과적으로 처리할 수 있습니다. SpaCy의 다양한 기능을 활용하여 자연어 이해 작업을 진행해보세요!

#NLProc #자연어처리