실습 설명
주어진 단어의 감성 지수를 구하는 함수 get_sentiment_score()를 작성해 주세요.
- 함수의 파라미터로는 단어(word)와 품사(pos)가 전달됩니다.
- 반환하는 값은 감성 지수(sentiment_score)입니다.
- 감성 지수는 긍정 감성 지수에서 부정 감성 지수를 뺀 값을 사용합니다.
해당 함수를 아래 단계에 따라 만들어 주세요.
- 단어와 품사 태그를 기반으로 Synsets 구하기
- Synsets의 첫 번째 요소의 이름으로 단일 SentiSynset 구하기
- SentiSynset의 긍정 지수, 부정 지수 구하기
- 긍정 지수 - 부정 지수로 감성 지수 값 계산해 반환하기
main.py
import nltk
from nltk.corpus import wordnet as wn
from nltk.corpus import sentiwordnet as swn
nltk.download('wordnet')
nltk.download('sentiwordnet')
nltk.download('omw-1.4')
def get_sentiment_score(word, pos):
# 단어와 품사 태그를 기반으로 Synsets 구하기
synsets = wn.synsets(word, pos)
# Synsets의 첫 번째 요소의 이름으로 단일 SentiSynset 구하기
synset = synsets[0]
senti_synset = swn.senti_synset(synset.name())
# SentiSynset의 긍정 지수, 부정 지수 구하기
pos_score = senti_synset.pos_score()
neg_score = senti_synset.neg_score()
# 긍정 지수 - 부정 지수로 감성 지수 값 계산해 반환하기
sentiment_score = pos_score - neg_score
return sentiment_score
get_sentiment_score('love', wn.VERB)
실행결과
'Data Analysis > Natural Language Processing(NLP)' 카테고리의 다른 글
감성 분석 결과 확인 (0) | 2023.07.05 |
---|---|
감성 분석 적용 (0) | 2023.07.05 |
SentiWordNet (0) | 2023.07.04 |
WordNet (0) | 2023.07.04 |
감성 분석이란? (0) | 2023.06.18 |