AI 감정분석 일기 – 코드로 감정을 읽는 하루

🧠 AI 감정분석 일기 – 코드로 감정을 읽는 하루

(몽블 바이브코딩 실험 #1)


💡 오늘의 실험 주제

AI는 인간의 감정을 이해할 수 있을까?
그리고 그 감정을 코드로 표현할 수 있을까?

이 질문에서 시작된 작은 실험.
오늘의 목표는 “한 문장으로 하루의 감정을 기록하고,
그 감정을 AI가 분석해 시각화하는 도구를 만드는 것.”


🧰 사용한 도구

도구역할설명
🧠 transformers감정 분석 모델 불러오기Hugging Face에서 사전 학습된 감정분석 모델을 호출. 별도 학습 없이 한글/영문 감정 분류 가능.
📊 matplotlib데이터 시각화감정 점수를 그래프로 표시. 텍스트 데이터에 ‘시각적 감정 표현’을 부여.
💻 VS Code개발 환경가장 보편적 파이썬 에디터. Ctrl + ~로 내장 터미널 실행, venv 가상환경 설정 가능.

🧩 1️⃣ 환경 세팅

VS Code에서 새 폴더를 만들고, 터미널을 열어 아래 명령을 입력합니다.

python -m venv venv
venv\Scripts\activate  # 윈도우 기준
pip install transformers matplotlib

설치가 끝나면, 프로젝트 구조는 이렇게 됩니다.

emotion_diary/
 ├─ venv/
 ├─ app.py
 └─ requirements.txt

🧠 2️⃣ AI에게 감정을 맡기다

이제 app.py를 열고 아래 코드를 입력해봅니다.

from transformers import pipeline
import matplotlib.pyplot as plt

# 1. 감정분석 모델 불러오기
analyzer = pipeline("sentiment-analysis")

# 2. 사용자 입력
text = input("오늘 하루를 한 문장으로 표현해보세요: ")

# 3. 감정 분석 실행
result = analyzer(text)[0]
label = result['label']
score = result['score']

print(f"감정 결과: {label} ({score:.2f})")

# 4. 감정 점수 시각화
plt.bar(label, score, color="skyblue")
plt.title("오늘의 감정 스코어")
plt.ylim(0, 1)
plt.show()

⚙️ 3️⃣ 실행 결과

터미널에서 실행합니다.

python app.py

입력:

오늘은 이상하게 마음이 차분했어요.

출력:

감정 결과: POSITIVE (0.89)

화면에는 이렇게 막대그래프가 나타납니다 👇

POSITIVE |■■■■■■■■■■■ 0.89

🔍 4️⃣ 코드 해설

단계설명핵심 포인트
① 감정 분석 모델 호출pipeline("sentiment-analysis")자동으로 사전학습 모델(distilbert-base-uncased-finetuned-sst-2-english) 다운로드
② 사용자 입력input()콘솔에서 직접 감정 입력
③ 분석 결과result['label'], result['score']감정 라벨(POSITIVE/NEGATIVE)과 확률값 출력
④ 시각화plt.bar()감정 점수를 막대그래프로 표현

💬 Tip:
영어 문장은 정확히 분석되지만, 한국어는 기본 모델이 다소 제한적이에요.
한국어 지원 모델(nlptown/bert-base-multilingual-uncased-sentiment)로 교체하면 정확도가 높아집니다.


🧠 5️⃣ 모델 교체 (한국어 감정 모델)

analyzer = pipeline("sentiment-analysis",
                    model="nlptown/bert-base-multilingual-uncased-sentiment")

result = analyzer("오늘은 조금 피곤하지만 보람 있는 하루였다.")[0]
print(result)

출력 예시:
{'label': '4 stars', 'score': 0.67}
→ 1~5단계 점수로 감정 강도를 반환합니다.
4~5는 긍정, 1~2는 부정, 3은 중립으로 볼 수 있습니다.


🎨 6️⃣ 감정 일기 확장 실험

이제 하루치 감정을 DB에 쌓거나,
matplotlib으로 일주일간 감정 패턴을 시각화할 수도 있습니다.

import matplotlib.pyplot as plt

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
scores = [0.85, 0.60, 0.45, 0.70, 0.90, 0.55, 0.65]

plt.plot(days, scores, marker='o')
plt.title("한 주의 감정 곡선")
plt.xlabel("요일")
plt.ylabel("긍정도(Score)")
plt.ylim(0, 1)
plt.grid(True)
plt.show()

이렇게 ‘감정 그래프’를 매일 자동 저장하면
**“AI 감정 다이어리”**가 완성됩니다.
기술이 감정을 대신 쓰는 게 아니라,
감정을 데이터로 기록하는 도구가 되는 거죠.


💬 7️⃣ 오늘의 실험을 마치며

AI는 내 하루의 감정을 숫자로 보여줬다.
하지만 그 숫자 뒤에는 여전히 사람이 느낀 온기가 있었다.

AI가 감정을 이해하는 게 아니라,
내가 감정을 다르게 바라보게 된 것.

이게 바로 ‘바이브코딩’의 본질이다.
기술을 이용해 감정을 정리하고,
데이터를 통해 마음의 흐름을 시각화하는 일.

이 블로그는 그런 실험이 이어지는 공간이 될 것이다.


🪄 다음 실험 예고

“AI로 감정 색상 팔레트를 만든다면?”
감정 → 색상 HEX 코드로 바꾸는 실험,
**〈바이브코딩 #2: Mood Colors〉**에서 이어집니다.


🔖 해시태그

#몽블 #바이브코딩 #AI감정일기 #파이썬실험 #transformers #matplotlib #감정시각화 #AI창작

댓글 남기기