“많을수록 좋다”는 말은 절반만 맞다
들어가며
행동 기반 임베딩을 만들다 보면 이런 질문이 생긴다.
“고객 행동이 많을수록
임베딩이 더 정확해지나요?”
직관적으로는 그렇다.
데이터가 많으면 정보도 많으니까.
하지만 실제로는 조금 더 복잡하다.
한 문장 요약
행동 횟수는 임베딩 품질에 영향을 준다.
그러나 ‘많음’이 아니라 ‘의미 있는 다양성과 구조’가 핵심이다.
1.행동 횟수가 적으면 생기는 문제
문제 1. 상태 표현의 불안정성
행동이 1~2개뿐이라면:
[상품 조회]이 고객이:
- 구매 직전인지
- 단순 호기심인지
- 비교 시작 단계인지
구분하기 어렵다.
→ 임베딩은 노이즈에 민감해진다.
문제 2. BFM에서 전이 학습이 어려움
BFM은 본질적으로:
P(a_t | a_1 ... a_{t-1})을 학습한다.
행동 길이가 짧으면:
- 전이 패턴 학습 불가
- 상태 추정 불안정
→ 전이 중심 임베딩은 특히 데이터 길이에 민감하다.
2. 그럼 행동수가 많으면 무조건 좋을까?
아니다.
행동이 너무 많아도 문제가 생긴다.
문제 1. 오래된 행동의 과도한 영향
2년 전 구매
1년 전 탐색
최근 행동 없음이 경우:
- 과거 데이터가 현재 상태를 왜곡할 수 있다.
→ 최근성(recentness)을 반영하지 않으면 임베딩이 “과거 평균”이 된다.
문제 2. 의미 희석 (LLM 임베딩에서 특히)
행동을 텍스트화하여 LLM 임베딩으로 만들 경우:
검색 → 비교 → 리뷰 → 검색 → 비교 → ...반복이 많아지면:
- 핵심 전환 신호가 묻힘
- mean pooling 시 의미 평균화
→ 정보가 늘어나는 게 아니라
신호 대 잡음비(SNR) 가 낮아질 수 있다.
3.행동 횟수가 임베딩 품질에 미치는 영향 구조
임베딩 품질은 보통 이런 곡선을 따른다.
행동 수 ↑
→ 정보량 ↑
→ (어느 지점 이후)
→ 노이즈 ↑
→ 품질 정체 또는 하락즉, 적정 길이(optimal window) 가 존재한다.
4.LLM 임베딩 vs BFM에서의 차이
|
항목 |
LLM 임베딩 |
BFM |
|---|---|---|
|
짧은 시퀀스 영향 |
의미 추정 불안정 |
전이 예측 불안정 |
|
긴 시퀀스 영향 |
의미 평균화 |
상태 희석 가능 |
|
최근 행동 중요도 |
높음 |
매우 높음 |
|
최적 전략 |
요약/추상화 |
window 관리 |
5. 실무에서 가장 좋은 전략
전략 1. 윈도우 기반 구성
- 최근 30일 상세
- 이전 6개월 요약
- 그 이전은 제거
→ 시간 가중치 필수
전략 2. 단계 요약 후 임베딩
원시 행동을 모두 쓰지 말고:
탐색 단계
비교 단계
구매 직전 단계처럼 구조화.
→ 행동 “횟수”보다 행동 “흐름”이 중요
전략 3. 가중 pooling
BFM 또는 LLM 임베딩에서:
embedding = Σ w_t * h_t- 최근 행동 weight ↑
- 오래된 행동 weight ↓
6. 행동 수가 적을 때의 대안
도메인 priors 활용
- 평균 고객 패턴 보정
유사 고객 기반 보강
- collaborative embedding
LLM 기반 의미 보완
- 행동을 문장화하여 의미 추론
7.핵심 통찰
임베딩 품질을 결정하는 건:
- 행동 수 (X)
- 행동의 “정보 밀도” (O)
예시 비교
A 고객
- 100번 반복 조회
- 동일 행동 반복
B 고객
- 7단계 구매 여정 완결
→ B 고객이 더 적은 행동 수지만
임베딩 품질은 더 높다.
8. 그래서 최종 결론은?
행동 횟수는 중요하다.
하지만 “많음”이 아니라
“구조와 전환을 담고 있는가”가 핵심이다.
임베딩은 평균이 아니라
상태 표현이다.
한 문장으로 정리하면
행동 횟수는 임베딩 품질에 영향을 준다.
그러나 최적 길이는 존재하며,
구조 없는 반복은 품질을 오히려 떨어뜨릴 수 있다.
마치며
좋은 행동 임베딩은 많은 로그에서 나오지 않는다.
- 전환이 보이고
- 최근성이 반영되고
- 맥락이 살아있는
그 시퀀스에서 나온다.
행동이 많다고 좋은 게 아니라,
의미 있는 변화가 있을 때 좋은 임베딩이 만들어진다.