[Embedding] 9. 고객 임베딩 생성을 위해 고객 행동을 텍스트로 표현하는 전략
로그를 문장으로 바꾸는 순간, 임베딩이 살아난다
들어가며
LLM 임베딩을 고객 행동 분석에 쓰려는 순간,
반드시 마주치는 질문이 있다.
“이 수많은 행동 로그를
어떤 텍스트로 만들어야 하지?”
이 단계는 단순한 전처리가 아니다.
임베딩 품질의 70% 이상이 여기서 결정된다.
한 문장 요약
행동 시퀀스를 텍스트로 만드는 일은
데이터를 ‘설명 가능한 맥락’으로 바꾸는 작업이다.
1.왜 굳이 ‘텍스트’여야 할까?
LLM은 본질적으로 다음에 특화되어 있다.
- 순서(sequence)
- 맥락(context)
- 서술(narrative)
- 원인–결과
행동 로그는 사실 이미 이야기다.
탐색 → 비교 → 망설임 → 구매→ 텍스트는 이 흐름을 LLM이 가장 잘 이해하는 포맷이다.
2.가장 단순한 시작: 행동 나열형 텍스트
기본 포맷
세탁기 검색 →
드럼세탁기 상세 조회 →
가격 비교 →
장바구니 담기 →
구매장점
- 구현이 쉽다
- 시간 순서 보존
- baseline으로 충분히 강력
한계
- 행동의 “강도”와 “이유”가 없다
3. 전략 1: 행동을 ‘의미 단위’로 추상화하라
LLM은 이벤트 ID보다 의미 표현을 더 잘 이해한다.
(X) 나쁜 예
EVT_10231 → EVT_40221 → EVT_88210(O) 좋은 예
가전 제품 정보 탐색 →
세탁기 제품 비교 →
구매 의사 형성행동 로그 → 의미 행동(action semantic)
4.전략 2: ‘행동 + 목적’을 함께 써라
같은 행동도 목적이 다르면 의미가 달라진다.
예시
세탁기 검색 (구매 목적)
세탁기 검색 (고장 원인 확인 목적)또는 문장형으로:
세탁기 구매를 고려하며 제품 정보를 탐색함→ 행동 + 의도(intent) 는
임베딩에서 가장 강력한 조합이다.
하지만 아쉽게도 대부분의 경우 이러한 의도 정보는 구하기 어렵다.
5.전략 3: 시간 정보를 자연어로 녹여라
숫자 타임스탬프는 LLM에게 무의미하다.
(X)
2025-01-03 09:12(O)
최근에
하루 뒤에
며칠 동안 반복적으로
오랜만에예시 문장:
최근 며칠 동안 세탁기 제품을 반복적으로 비교함→ 상대 시간 표현이 핵심
6. 전략 4: 빈도와 강도를 서술로 표현하라
LLM은 숫자보다 언어적 강도 표현에 강하다.
|
로그 |
텍스트 표현 |
|---|---|
|
1회 |
가끔 |
|
3~4회 |
여러 번 |
|
10회+ |
반복적으로 |
예:
세탁기 리뷰를 여러 번 확인함7.전략 5: 너무 많은 행동은 요약하라
LLM 임베딩은 핵심 흐름을 좋아한다.
방법 1. 윈도우 요약
- 최근 30일 → 자세히
- 이전 6개월 → 요약
방법 2. 단계 요약
[탐색 단계]
[비교 단계]
[구매 직전 단계]→ 중요한 변화만 남긴다
8.추천되는 텍스트 구조 템플릿
템플릿 A: 나열형 (Baseline)
세탁기 검색 →
제품 비교 →
구매템플릿 B: 문장형 (권장)
최근 세탁기 구매를 고려하며
여러 제품을 비교하고
가격과 리뷰를 확인한 뒤
구매로 이어짐템플릿 C: 요약 + 상세 혼합형 (실무 최적)
[최근 행동 요약]
세탁기 구매를 적극적으로 검토 중
[주요 행동]
- 프리미엄 드럼세탁기 상세 비교
- 가격 및 사용자 리뷰 반복 확인9. 이 전략이 임베딩에 주는 효과
- 행동 시퀀스 간 의미적 유사도 향상
- 구매 직전 / 탐색 단계 자연 분리
- 반대 행동도 같은 맥락으로 묶임
- 페르소나 벡터·의미 축 추출 용이
10. 흔한 실패 패턴
(X) 로그를 그대로 문자열로 연결
(X) 이벤트 ID 남발
(X) 시간·빈도 전부 숫자로 표현
(X) 모든 행동을 동일 가중치로 취급
→ 결과: “임베딩은 나오지만, 의미는 없다”
한 문장으로 정리하면
좋은 행동 텍스트란
‘무엇을 했는지’가 아니라
‘왜 그렇게 흘러왔는지’를 말해준다.
마치며
고객 행동 시퀀스를 텍스트로 만드는 순간,
로그는 더 이상 데이터가 아니다.
- 하나의 이야기
- 하나의 흐름
- 하나의 의도
이 텍스트 위에서
LLM 임베딩, 의미 축, 페르소나 벡터,
그리고 설명 가능한 추천까지
모두 자연스럽게 연결된다.