
X·note·YouTube의 17년 치 데이터를 통합 및 감정 분석했더니, 내 창작의 원점이 부정적 감정이라는 사실이 밝혀진 이야기
요약
X, note, YouTube의 17년 치 데이터를 통합하여 개인의 창작 원점을 분석한 사례입니다. Gemma 4 26B A4B와 Claude를 활용해 텍스트 및 멀티모달 데이터를 추출하고, 이종 미디어 간 가중치 문제를 단순 통합 방식으로 해결하여 시각화했습니다.
핵심 포인트
- Gemma 4 26B A4B를 활용한 note 기사 토픽 분석
- Claude를 이용한 데이터 추출 스크립트 및 FFmpeg 기반 멀티모달 워크플로우 구축
- 이종 미디어 데이터 통합 시 가중치 보정 대신 1:1 동일 강도 채택
- Gephi를 활용한 데이터 노드 그래프 시각화
1. 서론: X의 데이터만으로는 재미가 없었다
지난번에는 X(구 Twitter)의 포스트 17년 치, 15,000건을 데이터베이스화하여 노드 그래프(Node Graph)로 시각화했습니다.
하지만 막상 표시해 보니 전혀 재미가 없었습니다. 솔직히 말하면 실망스러웠습니다. 아무래도 인간은 '이미 전부 알고 있는 자신의 정보'가 그대로 시각화되어도 그다지 흥미를 느끼지 못하는 모양입니다.
다만, 저의 아웃풋은 X뿐만이 아닙니다. 좀 더 복잡하고 제작에 시간을 들이는 미디어라면, 더 깊은 컨텍스트(Context)를 추출할 수 있지 않을까? 그렇게 생각하여 분석 대상을 넓혀 보기로 했습니다.
2. note 기사 추출: Gemma 4 26B A4B를 이용한 토픽 분석
먼저 note 데이터를 DB에 투입합니다. 아카이브를 다운로드했지만, note의 기사는 X만큼 단순하지 않습니다. 은유도 있고 풍자도 포함되어 있습니다.
그 대신 건수는 수십 건 정도로 적습니다. 이 정도라면 고성능 LLM(Large Language Model)을 사치스럽게 사용하는 편이 좋겠다고 판단하여, 분석 모델로는 Gemma 4 26B A4B를 선정했습니다.
Claude에게 데이터 추출 스크립트를 작성하게 하고, 프롬프트를 몇 차례 조정한 끝에 무사히 의도한 대로 토픽을 뽑아낼 수 있게 되었습니다. 여기까지는 X의 처리 과정과 거의 동일한 공정이라 순조롭게 진행되었습니다.
하지만 난제는 여기서부터였습니다.
이종 미디어 간의 '가중치(Weighting)' 문제
note에서 추출한 데이터를 X의 데이터와 통합해야 합니다.
하지만 1:1 강도로 단순 결합하면, 건수가 압도적으로 적은 note 데이터는 X의 거대한 데이터량에 묻혀버리고 맙니다.
X: 길어도 몇 분이면 포스트됨 -
note: 기사 1개를 작성하는 데 수 시간이 걸림
"이 제작 비용(관심의 강도)의 차이를 동일한 가중치로 다뤄도 되는가?"라는 점에 대해 상당히 고민했습니다.
최종적으로는, **"굳이 보정을 가하지 않고 1:1의 동일한 강도로 통합한다"**라는 접근 방식을 채택했습니다. 이 데이터베이스의 목적은 **"자신을 객관화하는 것(타자의 시점에서 자신을 바라보는 것)"**입니다. 타인이 보기에는 논문 표지가 된 일러스트는 아무렇지 않게 던져버리고, 조잡한 러프 이미지를 애지중지 품고 있는 '이상한 사람'으로 보일 것이기 때문입니다.

주관과 객관의 괴리 속에 새로운 발견이 있을 것이라는 가설 아래, 우선은 심플한 통합 수법을 택하기로 했습니다.
3. YouTube 영상 분석: FFmpeg + 멀티모달(Multimodal) 분석
note 다음은 YouTube(십수 개)입니다.
당초에는 음성을 텍스트로 변환(Whisper 등)하는 것만으로 충분하다고 생각했지만, Claude로부터 **"영상의 프레임(화면)도 분석에 포함합시다"**라는 제안을 받았습니다.
구체적인 워크플로우는 다음과 같습니다.
FFmpeg를 사용하여 영상의 장면 전환(화면이 바뀌는 순간)을 이미지로 자동 추출 - 추출한 이미지와 해당 타임코드의 음성을 세트로 묶어 멀티모달 분석
"그런 처리를 뚝딱 구성할 수 있는 건가"라며 놀라고 있는 사이 Claude가 스크립트를 다 작성해 버렸기 때문에, 저는 로컬 HDD에서 완성된 영상 파일을 추출하여 분석용 폴더에 배치하는 것만으로 준비를 마칠 수 있었습니다.
제작 비용으로 따지면 note는 X의 100배, YouTube는 그보다 수십 배의 시간이 걸립니다. 여기서도 '가중치' 문제로 고민했지만, 일관성을 유지하기 위해 **"X : note : YouTube = 1 : 1 : 1"**의 가중치로 통합 처리를 수행했습니다.
통합 및 조정을 거쳐, Gephi로 렌더링한 결과가 이것입니다.

X 단독일 때와는 확연히 다른 복잡한 구조가 떠올랐습니다.
4. 감정(Sentiment) 시각화와 노드의 클러스터링(Clustering)
여기서 각 아웃풋으로부터 토픽을 추출할 때, **"그 토픽에 대한 자신의 감정"**도 동시에 출력하도록 했던 점이 떠올랐습니다.
LLM은 문맥으로부터 인간의 감정을 읽어내는 능력이 뛰어나며, 짧은 문장에서도 감정을 정확하게 판정할 수 있습니다. 관심에는 '긍정적인 관심'과 '부정적인 관심'이 존재합니다. 인간은 신기하게도 자신과 직접적인 관계가 없는 사회 뉴스에 분노를 느끼고, 굳이 참견하여 댓글을 달고 싶어지기도 합니다.
이 감정 데이터를 노드의 컬러링(Coloring)에 반영해 보았습니다.
파랑: 부정적(Negative) -
주황: 긍정적(Positive) -
회색: 중립적(Neutral) / 양쪽 모두

그래프를 통해 읽어낸 흥미로운 발견
노드를 상세히 추적해 나가니 흥미로운 경향이 보이기 시작했습니다.
note 유래 클러스터 (상단)
몇몇 노드들이 연쇄적인 형태로 덩어리를 형성하고 있습니다. 하나의 기사 안에서 일상이나 사회 문제를 횡단하면서, 최종적으로는 부정적인 감정(Negative)으로 결론을 내리는 구조가 그래프에 짙게 나타나 있었습니다.
YouTube + X 클러스터
YouTube 노드는 X의 노드와 세밀하게 상호작용하며 밀접하게 융합되어 있습니다. YouTube에서는 자신이 좋아하는 토픽을 깊이 있게 파고들어 이야기하는 경우가 많기 때문에, X의 긍정적인(Positive) 클러스터와 강하게 끌어당기는 듯합니다.
전체적인 감정 비율을 집계하면, 부정적(Negative) 4할 / 긍정적(Positive) 3할 / 중립적(Neutral) 2할이었습니다.
대략적으로 말하자면, 저는 "싫은 일을 끈질기게 생각하고, 좋아하는 것은 아낌없이 사랑하는" 경향이 있는 것 같습니다. 저의 창작 의욕의 원천(원동력)은 사실 부정적인 감정에 있을지도 모릅니다.
5. 향후 전망: 관심사 예측 및 자동 업데이트 파이프라인 구축
드디어 데이터로서 재미가 붙었기에, 이 시도를 조금 더 확장해 보기로 했습니다.
각 노드에는 타임스탬프(Timestamp)가 유지되고 있습니다. Claude에 따르면 "특정 토픽의 경시 변화(시계열 추이)도 추적할 수 있다"고 합니다.
Palantir(팔란티어)의 데이터 분석 시스템처럼, 베이즈 추정(Bayesian inference) 등을 이용하여 "타겟(자신)의 다음 관심사를 예측하는" 접근 방식도 기술적으로는 가능합니다.
다만, 여기에는 약간의 위험성(메타인지의 부작용)도 느끼고 있습니다. 내가 앞으로 다루려고 하는 토픽을 AI가 앞질러 예측하고 제안(Suggest)하면, 갑자기 흥이 깨져 관심을 잃어버릴 가능성이 있기 때문입니다(숙제를 하려고 하는 순간 부모님이 "숙제 다 했어!?"라고 소리치셔서 의욕을 잃는, 바로 그 현상입니다).
그럼에도 불구하고 시도해 볼 가치는 충분하므로 DB 운영은 계속하기로 결정했습니다.
그렇게 되면 다음 과제는 **"데이터 업데이트의 자동화(파이프라인 구축)"**입니다. 매번 수동으로 아카이브를 다운로드하는 운영 방식은 분명히 파탄에 이를 것입니다. 그런 이유로, 각종 SNS를 정기적으로 모니터링하고 새로운 아웃풋을 자동으로 가져와 DB를 업데이트하는 자동화 스크립트 개발이 시작되었습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기