김예빈Yebeen Kim

연구 · 산학과제

현대자동차 VCRM 데이터 분석을 통한 커넥티드 카 서비스 기획

내비게이션 로그 2억 2,899만 행에서 출발해, 차량 운전자 전용 개인화 POI 추천 모델과 웹 데모까지 만든 8개월

기간
2021.08 – 2022.03 (8개월)
역할
참여연구원 (연구 방법 모델 구현) — 박사과정 2인과 함께한 팀의 유일한 석사과정 연구원. 문헌 조사·모델 선정, 데이터 전처리, PyTorch 구현, 평가 설계, 유저 스터디, 웹 데모까지 실행 단계 담당
발표·산출
현대자동차 / 현대엔지비(Hyundai NGV) 산학협력과제 · 최종 보고 2022.03.31 · KCC 2022 논문 발표
날짜
2022.03
목차 23개 절
목차
  1. 연구 추진 배경과 목표
  2. 8개월 · 7단계 진행 순서
  3. 1단계 · 사례 조사 ① — 내비·지도 앱 12종 벤치마킹
  4. 1단계 · 사례 조사 ② — 주변 검색 단계별 벤치마킹과 적용 방안
  5. 1단계 · 주변 검색 기능 흐름도와 벤치마킹 출처
  6. 2단계 · 문헌 조사 ① — 10년치 연구 동향과 후보 10편
  7. 2단계 · 문헌 조사 ② — 심층 3편 비교와 SAE-NAD 선정
  8. 2단계 · 심층 3편의 입·출력 명세와 논문 내 예시
  9. 3단계 · 데이터 엔지니어링 — 2억 2,899만 행을 7,035만 레코드로
  10. 3단계 · 9가지 관점 EDA 결과
  11. 4단계 · 모델 설계 — 논문을 그대로 쓰지 않고 내비게이션 데이터에 맞게 고쳤다
  12. 4단계 · 모델 구조도를 예시로 따라가기 (POI A–E)
  13. 5단계 · 구현과 평가 — "어디서, 왜 올랐는지"를 보려 했다
  14. 5단계 · 평가 지표의 계산 예시와 비개인화 baseline의 정의
  15. 6단계 · 유저 스터디 ① — 운전자 행동 경향 분석과 테스트 케이스
  16. 6단계 · 유저 스터디 ② — 45명 온라인 블라인드 테스트
  17. 6단계 · 블라인드 테스트의 만족도 세부 분포와 설문 문항
  18. 7단계 · 웹 어플리케이션 (데모 서비스)
  19. 결과 — 분석에서 끝내지 않고 내비게이션을 어떻게 바꿀지까지 제안했다
  20. 정정 · 전처리에서 69%는 '복구'가 아니라 '삭제'였다
  21. 정정 · 최종 보고서 원문의 쇼핑 시나리오는 '함께 추천'이다
  22. 데이터 원본에서 읽은 두 가지
  23. 부록 · EDA 거리·시간대 분석의 원문 수치
요약
  • 현대자동차 내비게이션의 VCRM(Vehicle Customer Relation Management) 로그를 분석해, 차량 운전자만을 대상으로 한 개인화 POI 추천 모델을 만들고 검증한 현대엔지비 산학과제다. 2021년 8월부터 2022년 3월까지 8개월, 7단계로 진행했다.
  • 내비·지도 앱 12종을 같은 기준으로 벤치마킹한 결과 개인화 추천을 제공하는 곳은 3곳뿐이었고, 차량 내비게이션(벤츠·테슬라)에는 아예 없었다. 2011–2020년 POI 추천 논문 동향(지리 정보 218편, 시간 134편, 소셜 116편 / Factorization 141편, 확률 139편, 하이브리드 90편, 딥러닝 66편)을 훑어 후보 10편 → 심층 3편(SAE-NAD·TMCA·CatDM) → SAE-NAD를 최종 선정했다.
  • 검색·리뷰·운전자·POI 네 테이블의 원시 로그 228,992,654행을 정리해 70,355,265레코드의 분석 데이터셋으로 만들었다. 운전자 1,887,481명, POI 2,177,263개 규모이며, POI ID가 비어 있던 약 69%의 기록은 위·경도로 POI 테이블과 재매칭해 살렸다.
  • 검색 방법·정렬·카테고리·거리·성별·연령·시간대·지역·리뷰 9가지 관점으로 EDA를 직접 설계해 수행했다. 통합검색 66%, 주변검색 5km 이내 82%, 새벽 골프장 24.5% / 밤 아파트 19.5%, 20–30대와 40–70대의 뚜렷한 취향 차이 등이 이후 모델 설계의 근거가 되었다.
  • SAE-NAD를 직접 재구현하고, 취향이 드러나는 3개 카테고리에 대해 모델을 따로 학습했다. 시간순 8:2 분할과 미방문(non-visited) 테스트셋으로 평가해, 음식점/카페/술집에서 Recall@5가 비개인화 대비 +15.7%(그룹 인기도 결합 시 +25.0%), 미방문 테스트셋에서는 +32.3%였다.
  • 웹 데모로 45명 블라인드 테스트를 진행해 카테고리별 71–75%가 개인화 리스트를 골랐다. 최종 보고서 83쪽과 모델·웹·분석 산출물을 현대엔지비에 인계했고(2022.04), "숨은 명소를 못 맞힌다"는 한계가 이후 네거티브 샘플링 연구(ASK'23 우수논문, WWW'24, 특허 출원)로 이어졌다.
주요 수치
2억 2,899만 → 7,035만원시 로그 → 분석 데이터셋228,992,654행 → 70,355,265레코드 (네 테이블 통합·정제)
운전자 188만 · POI 218만데이터 규모운전자 1,887,481명 / POI 2,177,263개 (2021.05–08 수집)
69%POI ID 결측 복구POI ID가 비어 있던 기록을 위·경도로 재매칭
+25.0%Recall@5 향상 (음식점/카페/술집)비개인화(인기도) 대비 · 히스토리만 사용 시 +15.7%
+32.3%미방문 POI Recall@5 향상운전자가 한 번도 가본 적 없는 POI만 모은 테스트셋
71–75%블라인드 테스트 개인화 선택률웹 데모 이용자 45명 · 카테고리별
보고서 83쪽 + 코드최종 산출물딥러닝 모델·웹 앱·분석 코드 인계 (2022.04)

연구 추진 배경과 목표

차량 운전자만을 대상으로 한 개인화 POI 추천이 비어 있다는 관찰에서 출발했다

왜 이 과제가 필요했는가

  • Foursquare, Gowalla 같은 위치 기반 소셜 네트워크(LBSN) 서비스는 이미 사용자의 체크인 기록을 바탕으로 개인화 POI(Point of Interest) 추천을 제공하고 있었다.
  • 그러나 이 연구들은 LBSN 도메인의 특성상 도보·대중교통·자가용 등 다양한 이동 상황을 뭉뚱그려 가정했다. 즉 차량 운전자만을 대상으로 한 개인화 POI 추천 서비스와 연구는 미흡한 상황이었다.
  • 현대자동차 내비게이션의 '주변 검색' 기능도 카테고리 선택·정렬 기준·필터만 제공하고 있었고, 개인화 추천 요소는 없었다.

연구 목표 세 가지

  • ① VCRM 데이터 분석. EDA(Exploratory Data Analysis)로 운전자들의 POI 검색·방문 패턴을 도출하고, 내비게이션에 탑재된 주변 검색 관련 개선 필요 항목(기능)을 도출한다.
  • ② 개인화 POI 추천 기술 개발·검증. 차량 운전자 대상 개인화 POI 추천을 위한 딥러닝/머신러닝 모델을 선정하고 성능을 검증하며, 내비게이션 적용을 통한 주변 검색 기능 개선 시나리오를 기획한다.
  • ③ 데모 서비스. 개인화 POI 추천 리스트를 실제로 받아볼 수 있는 단순 데모 서비스를 개발한다.

기대 효과

  • 운전자 위치 기반 개인화 POI 추천에 필요한 VCRM 데이터를 선별 수집할 수 있어 데이터 가공 시간과 저장 공간을 절약한다.
  • 만족도 높은 UX 기반의 운전 경험을 제공하고, 개인화 인포테인먼트 시스템으로 브랜드 가치와 재구매율을 높인다.

참여 연구원

구분소속성명직위역할
과제책임자한양대학교 컴퓨터소프트웨어학과김상욱교수연구 총괄
실무책임자한양대학교 컴퓨터소프트웨어학과배홍균박사과정연구 문제 정의 및 방법 모델 디자인
참여연구원한양대학교 인공지능학과김예빈석사과정연구 방법 모델 구현
참여연구원한양대학교 컴퓨터소프트웨어학과안지원박사과정연구 방법 모델 구현

박사과정 두 명과 함께한 팀에서 유일한 석사과정 연구원이었다. 논문을 읽고 정리해 검토받으며 최종 모델을 선정하는 일, 데이터를 정리하는 일, 모델을 구현하고 평가하는 일, 그리고 결과를 직접 써볼 수 있는 웹 데모를 만드는 일까지 실제로 손을 움직이는 단계를 맡았다.

8개월 · 7단계 진행 순서

사례 조사 → 문헌 조사 → 데이터 → 모델 설계 → 구현·평가 → 유저 스터디 → 웹 데모

단계기간수행 내용
1 · 사례 조사2021.08–09타사·타분야 POI 추천 기술 조사. 내비·지도 앱 12종을 같은 기준으로 벤치마킹하고, 주변 검색을 네 단계로 분해해 단계별 적용 방안을 정리
2 · 문헌 조사2021.08–092011–2020년 POI 추천 연구 동향 정리, 후보 문헌 10편 선정 → 1차 5편 → 심층 3편(SAE-NAD·TMCA·CatDM) → SAE-NAD 최종 선정
3 · 데이터 정리·분석2021.09–11검색·리뷰·운전자·POI 네 테이블 통합과 전처리(228,992,654 → 70,355,265), 9가지 관점 EDA. 중간 발표 2021.11.22
4 · 모델 설계2021.11–2022.01추천 대상 카테고리 선별, 방문 횟수·피드백 가중치, 성별·연령 그룹 인기도 재랭킹, 추천 지역 범위 설계
5 · 구현·평가2021.11–2022.01SAE-NAD 재구현과 파라미터 조정, 시간순 8:2 분할, 미방문 테스트셋 구성, 비개인화 대비 Recall@N 비교
6 · 유저 스터디2022.01–02운전자 행동 경향 분석(가설 2개 검증), 테스트 케이스 분석, 45명 온라인 블라인드 테스트
7 · 웹 데모2022.02–03지도 기반 웹 데모 개발, 최종 발표 2022.03.31 라이브 시연, 산출물 인계(2022.04)

1단계 · 사례 조사 ① — 내비·지도 앱 12종 벤치마킹

12곳 중 개인화 추천을 제공하는 곳은 3곳, 차량 내비게이션은 정렬·필터조차 최소한이었다

차량 내비게이션 2종과 모바일 지도·맛집 앱 10종, 총 12개 서비스의 주변 검색 기능을 직접 사용하면서 같은 기준으로 표를 채웠다. 기준은 다루는 카테고리, 정렬 기준, 반경·운영중 필터의 유무, 개인화 추천의 유무와 작동 방식이다.

분류서비스음식점·카페주차·주유생활편의놀거리정렬 기준반경 필터운영중 필터개인화 추천개인화 추천 작동 방식
차량 내비게이션벤츠관련순 (모든 카테고리)
차량 내비게이션테슬라● 충전소관련순 · 거리순
모바일 어플리케이션T맵인기순 · 거리순
모바일 어플리케이션카카오맵관련순 · 거리순
모바일 어플리케이션네이버 지도관련순 · 거리순 · 평점순
모바일 어플리케이션네이버 스마트어라운드추천순 · 시간/인기순 · 거리순 · 리뷰수순검색·전화·예약 기록, 블로그 글 기반의 사용자 그룹별 추천
모바일 어플리케이션포스퀘어추천순 · 거리순 · 평점순소셜 친구 정보, 좋아요 기록 등 사용
모바일 어플리케이션Yelp추천순 · 거리순 · 평점순 · 리뷰많은순사용자 프로필, 위치, 시간 등의 정보 이용
모바일 어플리케이션망고플레이트평점순 · 추천순 · 리뷰순 · 거리순
모바일 어플리케이션다이닝코드평점순
모바일 어플리케이션맛집지도거리순 · 리뷰많은순 · 상호명 · 최근/이전 방영순지역 선택
모바일 어플리케이션식신거리순 · 추천순 · 조회순 · 평점순 · 리뷰순

표에서 읽어낸 것

  • 개인화 추천을 제공하는 곳은 12곳 중 네이버 스마트어라운드, 포스퀘어, Yelp 세 곳뿐이었다.
  • 벤츠·테슬라 같은 차량 내비게이션은 정렬 기준도 관련순·거리순 정도로 최소한이었고, 반경·운영중 필터와 개인화는 전혀 없었다.
  • 개인화를 하는 세 곳의 재료는 모두 '사용자 기록 + 그룹/소셜 신호'였다. VCRM 데이터에도 검색 기록, 좋아요/싫어요 리뷰, 성별·연령이 있으므로 같은 재료가 이미 확보되어 있다는 뜻이었다. 이 표가 과제의 출발점이 되었다.

1단계 · 사례 조사 ② — 주변 검색 단계별 벤치마킹과 적용 방안

주변 검색을 네 단계로 쪼개, 단계마다 무엇을 가져올 수 있는지 정리했다

내비게이션의 주변 검색 흐름을 검색어 입력 → 정렬 기준·필터 → 추천 → 리스트 출력 → 목적지 설정으로 분해하고, 단계별로 벤치마킹 항목과 현대자동차 내비게이션 적용 방안을 매핑했다. ✓는 개인화 추천 관련 벤치마킹 선정 항목이다.

단계벤치마킹 내용현대자동차 내비게이션 적용 방안
① 검색어 입력검색창 아래 추천 검색어 제공 ✓ / 검색 결과 상단의 검색 반경 선택 인터페이스검색어 입력 화면 내 추천 검색어 제공 (개인화 적용 가능 ✓) / 검색 반경 설정 인터페이스 추가
② 정렬 기준 · 필터카테고리별 서로 다른 기본 정렬(현대차도 이미 제공 — 주유소 가격순 / 음식점 추천순 / 그 외 거리순) / 시간대별 인기순 정렬 ✓ / 다양한 필터: 영업중·평점 상위, 분위기·방문 목적·인기 메뉴, 키워드, 저장 장소('가봤어요'·'가보고 싶어요')현재 위치·시간대에 인기 있는 장소 우선 추천 (개인화 적용 가능 ✓) / 음식점·카페 선택 시 평점·음식 종류·키워드·저장 장소 필터 제공
③ 추천주변 인기 장소 한 곳 추천 ✓ — 테슬라 'Hungry / Lucky': 주변 인기 식당 또는 여행지 한 곳을 바로 안내(비개인화) / 사용자 그룹별 개인화 추천 ✓ — 네이버 AiRSPACE: 블로그 글·예약 및 검색 기록·연령/성별 사용현위치 또는 설정된 목적지 주변 장소 한 곳 추천에 개인화 적용 (개인화 적용 가능 ✓) / VCRM의 목적지 검색·리뷰 데이터, 운전자 연령·성별로 같은 재료 확보
④ 리스트 출력라벨 표시 ✓ — 사람들이 많이 방문한 인기 장소, 주차 가능 여부 / 추천 이유 표시 ✓ — 사용자 리뷰, TV 방영, 비슷한 연령대 선호, 업체를 검색한 주요 질의·업체 저장 추이·최근 인기도주차 가능 여부 표시 / "특정 요일 인기", "비슷한 연령대 선호" 같은 추천 이유 라벨 제공 (개인화 적용 가능 ✓)

설계에 가장 큰 영향을 준 사례 — 네이버 AiRSPACE의 사용자 그룹 전략

사용자 히스토리 크기에 따라 그룹을 나누고 그룹별로 다른 방법을 쓰는 프레임이었다. 이것이 뒤의 "개인 선호(오토인코더) × 성별·연령 그룹 인기도" 설계의 출발점이 되었다.

그룹기준추천 방법VCRM 적용
Light users기록이 거의 없음통계적 모델을 통한 group-based 추천 — 연령/성별, 방문 시간, POI 위치 고려 (예: 20대 남성 추천)검색·리뷰 기록이 거의 없는 운전자
Middle users기록 N개 이상최근 방문 POI와 유사한 POI 추천 — POI2Vec, Geo-Teaser 등 POI 임베딩검색·리뷰 기록이 최소 N개 이상인 운전자
Heavy users검색·리뷰 기록 많음이웃이 선호하는 POI 추천(협업 필터링) — MF, 오토인코더·DNN검색·리뷰(좋아요/싫어요) 기록이 많은 운전자

1단계 · 주변 검색 기능 흐름도와 벤치마킹 출처

목적지 검색은 여섯 단계이고 주변검색 옵션은 네 개다 — 흐름도를 그려 개입 지점을 찾았다

내비게이션 목적지 검색 흐름도 (보고서 슬라이드 10)

보고서는 벤치마킹 항목을 매핑하기 전에, 현대자동차 내비게이션의 검색 흐름을 먼저 도식화했다. 흐름은 다음과 같다.

  • 분기 ① — 주변 검색인가? 아니면 통합검색 → 검색어 입력, 맞으면 주변검색 → 카테고리 선택으로 갈라진다.
  • 주변검색 옵션 4종경로 주변 · 현위치 주변 · 목적지 주변 · 선택지 주변. (기존 본문은 현위치·경로 두 개만 언급했다. EDA ①의 "현위치 주변검색 → 경로 주변검색 순"은 이 네 옵션 중 상위 두 개라는 뜻이다.)
  • 분기 ② — 통합검색 경로에서 검색어 입력 후 'POI ID 존재?'를 판정한다. 있으면 리스트 출력으로, 없으면 현상태 유지로 빠진다. 즉 POI ID 결측은 전처리에서 처음 만난 문제가 아니라 검색 흐름 자체에 이미 존재하는 분기였다.
  • 공통 후단정렬기준 & 필터 → 추천 → 리스트 출력 → 목적지 설정 → 안내 시작.

기존 본문이 정리한 '주변 검색 4단계 벤치마킹'은 이 흐름도의 후단(검색어 입력 / 정렬기준·필터 / 추천 / 리스트 출력)에 해당한다. 부록(슬라이드 55–60)에서는 같은 내용을 다섯 항목으로 더 세분해 다루는데, 항목 번호가 본문과 다르다 — ① 검색어 입력 · ② 필터 · ③ 정렬기준 · ④ 리스트 출력 · ⑤ 추천 순이며, 정렬기준 항목 아래에는 "음식점·카페 등의 카테고리는 관련순, 은행·주유소 등의 카테고리는 거리순"이라는 타사 관찰이 함께 적혀 있다.

벤치마킹 출처

설계에 영향을 준 두 사례는 보고서에 출처가 명시되어 있다.

사례출처
테슬라 'Hungry / Lucky' — 주변 인기 식당 또는 여행지 한 곳을 바로 안내(비개인화)'Tesla Model 3 Tutorial | Navigation: I'm Feeling Lucky / Hungry', TeslaManuals, 2020.05.21 (YouTube)
네이버 AiRSPACE — 사용자 히스토리 크기에 따른 그룹별 추천 (Light / Middle / Heavy users)[네이버가 연구하는 기술] AI기반 장소 추천 시스템 AiRSPACE(에어스페이스), 네이버 서치 블로그

또한 리스트 출력 단계의 '추천 이유 표시' 항목에는 벤치마킹 대상의 문구가 그대로 인용되어 있다 — "업체를 검색한 주요 질의, 업체 저장 추이, 최근 인기도 등의 정보를 함께 제공".

2단계 · 문헌 조사 ① — 10년치 연구 동향과 후보 10편

방향을 "지리 정보를 쓰는 딥러닝 모델"로 잡고, 후보 10편을 두 기준으로 좁혔다

연구 동향 (2011–2020)

논문에 사용된 정보편수논문에 사용된 모델편수
지리적 정보218편Factorization141편
시간 정보134편확률 모델139편
소셜 정보116편하이브리드 방법90편
(그 외 텍스트·콘텐츠·순차 정보)딥러닝 모델66편

지리 정보가 가장 널리 쓰였고, 딥러닝은 최근 3년 사이 사용률이 빠르게 증가하는 추세였다. 그래서 방향을 "지리 정보를 쓰는 딥러닝 모델"로 잡았다.

선별 기준 두 단계

  • 1차 선정 — 연구 과제의 목적과 VCRM 데이터 적용 가능성을 기준으로 연관성 '상' 5편(POI2Vec, SAE-NAD, TMCA, GPR, CatDM)
  • 2차 선정 — 제안 모델의 복잡도와 성능을 기준으로 심층 분석 3편(SAE-NAD, TMCA, CatDM)

후보 문헌 10편

연구학회방법론(모델)연관성사용 데이터와 특징
POI2VecAAAI'17POI Embedding / MF체크인 시퀀스 + 지리 정보. 사용자의 취향과 최근 방문지를 함께 고려
Geo-TeaserWWW'17POI Embedding / MF체크인 시퀀스 + 요일(평일/주말)별 이동 경향 + POI 간 거리. 요일에 따른 개인화 추천
GeoIEIJCAI'18MFPOI 위·경도 + 체크인. 사용자 선호도와 지리적 특성을 함께 고려
CAPEIJCAI'18DNN리뷰 텍스트 + 체크인. 시퀀스 내 POI 연관성과 POI 특성 고려
STAICDM'18Graph analysis지역·시간 정보가 포함된 체크인. 특정 행정구역·시간에 따른 추천
CARASIGIR'18RNN중–하시간순 정렬된 체크인 시퀀스. 주어진 시간에 따른 추천
SAE-NADCIKM'18Auto-encoder상 · 심층체크인 + POI 간 거리. 사용자 선호도와 이전 방문 POI와의 거리를 고려
TMCAICDM'18LSTM상 · 심층체크인 시각(24시간·주말/평일), 이전 방문 POI와의 시간·거리 차이, 평가(좋아요/싫어요) 등 다양한 정보
GPRCIKM'20GNNPOI–POI 그래프, 사용자–POI 그래프. POI의 ingoing/outgoing 영향력과 선호도 고려
CatDMWWW'20LSTM상 · 심층체크인 시퀀스 + POI 카테고리 + 지리 정보 + 시간대. 카테고리·시간대별 선호와 장단기 선호 고려

이 논문들은 직접 읽고 정리한 뒤 박사과정 선배들과 교수님께 검토받는 방식으로 진행했다.

2단계 · 문헌 조사 ② — 심층 3편 비교와 SAE-NAD 선정

세 모델을 "내비에 적용하면 무엇이 좋고, 무엇이 걸리는지"라는 같은 틀로 비교했다

기대 효과는 데이터 분석(EDA)에서 나온 숫자로 뒷받침하고, 고려 사항은 내비게이션 도메인에서만 보이는 제약으로 정리했다.

SAE-NAD — CIKM'18

Point-of-Interest Recommendation: Exploiting Self-Attentive Autoencoders with Neighbor-Aware Influence · C. Ma, Y. Zhang, Q. Wang, X. Liu (McGill University)

  • 동기·아이디어. 사용자 체크인 기록 중에도 선호도를 대표하는 상대적으로 더 중요한 POI가 존재하고, 사용자는 이전에 방문했던 POI와 지리적으로 가까운 POI를 선호한다. 오토인코더와 attention network로 선호 대표 POI를 학습하고, 그와 유사한 특징을 가지면서 가까운 미방문 POI를 추천한다. 구조는 self-attentive encoder와 neighbor-aware decoder로 나뉜다.
  • 내비 적용 시 기대 효과. 운전자가 특히 더 선호하는 POI를 구분해 선호도를 효과적으로 포착할 수 있다. 이전 방문지와 가까운 곳을 선호하는 경향은 EDA 결과(생활편의 카테고리 통합검색의 약 47%가 5km 이내)와 부합한다.
  • 고려 사항. 내비게이션에서는 목적지로 설정된 횟수와 운전자의 선호도가 반드시 비례하지 않을 수 있다(예: 아파트, 회사, 공장).
  • → 선택. 걸리는 점은 추천 대상 카테고리 선별로 보완하기로 했다.

TMCA — ICDM'18

Next Point-of-Interest Recommendation with Temporal and Multi-level Context Attention · R. Li, Y. Shen, Y. Zhu (Shanghai Jiao Tong University)

  • 동기·아이디어. 체크인 시퀀스와 지리 위치 외에 이전 체크인과의 시간 간격, 거리, 체크인 시각, 평점 등 다양한 컨텍스트를 쓰면 더 정확해진다. LSTM으로 POI 임베딩을 학습하고 다층 컨텍스트 attention으로 다음 POI를 예측한다.
  • 기대 효과. 시간(24시간·주말/평일), 이전 목적지와의 시간 간격·거리, POI 속성(위치한 도시, 대/중/소분류 카테고리, 좋아요/싫어요/닫기)을 모두 활용할 수 있다. 시간대별로 다른 추천도 가능하다 — EDA에서 새벽엔 여행/레저, 낮엔 생활편의 검색량이 증가하는 경향이 있었다.
  • 고려 사항. 내비게이션 데이터 특성상 운전자가 방문한 목적지 간 시간 간격의 차이가 커, 시퀀스 범위를 어디서 끊을지 기준을 세우기 어렵다.
  • → 보류. 순서 의존성이 내비게이션 데이터와 맞지 않았다.

CatDM — WWW'20

A Category-Aware Deep Model for Successive POI Recommendation on Sparse Check-in Data · F. Yu, L. Cui, W. Guo, X. Lu, Q. Li, H. Lu (Shandong University)

  • 동기·아이디어. 다음 24시간 내 방문할 POI를 예측하려면 장·단기 선호가 모두 필요하다. 사용자–POI, 사용자–POI 카테고리, POI–시간, POI에 대한 장단기 선호 네 가지 상관관계를 LSTM으로 학습한다.
  • 기대 효과. 시간대에 따라 달라지는 카테고리 선호와 장·단기 선호를 함께 고려할 수 있다. TMCA는 시간대별 POI 선호만 추론하지만 CatDM은 카테고리 선호까지 추론한다.
  • 고려 사항. 논문 실험은 10km 이상 떨어진 POI를 추천 후보에서 제외한 결과다. 여행/레저 관련 시설은 10–50km 떨어진 POI 검색량이 약 40%를 차지하므로(EDA) 그대로 쓰기 어려웠다.
  • → 보류. 광역 범위에서의 효과가 검증되지 않았다.

요약 비교

연구이용 가능한 정보특징고려 사항
SAE-NAD (CIKM'18)이전에 목적지로 설정했던 POI들과의 거리선호도 대표 POI를 구분해 선호도를 효과적으로 포착 / 이전 방문지와 가까운 곳 선호 경향 반영운전자의 선호도 대표 POI 구분이 어려울 수 있음
TMCA (ICDM'18)시간 정보(24시간·주말/평일), 이전 목적지와의 시간 간격·거리, POI 속성(도시·대중소 카테고리·좋아요/싫어요)내비게이션 데이터의 다양한 정보 활용 가능 / 시간대별로 다른 추천 결과 제공 가능시퀀스 범위 설정 기준에 대한 고려 필요
CatDM (WWW'20)POI 선호도, 카테고리 선호도, 시간대별 POI 선호도, 장단기 선호도시간대에 따라 달라지는 카테고리 선호 고려 가능 / 장단기 선호 고려 가능10km 이상 떨어진 장소에도 효과적인 추천이 가능한지 확인 필요

2단계 · 심층 3편의 입·출력 명세와 논문 내 예시

세 모델이 무엇을 넣고 무엇을 내놓는지, 그리고 EDA 수치를 어떻게 근거로 끌어왔는지

부록(슬라이드 74–83)은 심층 분석 3편을 각각 두 장씩 다루며, 기존 본문에 없는 입·출력 명세와 논문 내 예시를 담고 있다. 또한 기대 효과·고려 사항마다 보고서 내부의 EDA 페이지를 상호참조(p. 32 ✓, p. 39 ✓)해 두었다는 점이 특징이다.

SAE-NAD (CIKM'18)

  • 입력 — 사용자의 체크인 기록, 각 POI의 지리적 위치. 출력 — 미방문 POI들에 대한 사용자의 예측 선호도.
  • 논문 그림 예시 — 사용자의 체크인 횟수가 버거A 2회, 카페A 15회, 버거B·카페B는 미방문이고, 이전 방문 POI들과의 거리가 버거B 10km, 카페B 1km인 상황. 이때 "중요한 POI인 카페A와 유사하고, 이전 방문했던 POI들과의 거리가 가까운 카페B를 추천"한다. attention이 고르는 '중요한 POI'가 무엇인지를 15회 vs 2회라는 수치로 보여주는 예다.
  • 2단계 구성 — [1] 사용자 임베딩과 POI 임베딩 학습 → [2] 예측.
  • 근거 상호참조 — 생활편의 카테고리 5km 이내 검색량 약 47% (보고서 p. 32 ✓).

TMCA (ICDM'18)

  • 입력 8종 — 사용자의 POI 방문 시퀀스, 체크인 시간, 요일, 이전 체크인과의 시간 간격, 거리, POI 지역, POI 카테고리, 평균평점. 출력 — 이후 방문할 POI들의 예측 선호도. (기존 본문은 '평점'만 언급했고 '평균평점'과 'POI 지역'이 입력에 포함된다는 점은 빠져 있었다.)
  • 논문 그림 예시 — 맥도날드(평일·점심·명동·햄버거집) → 카페A(평일·점심·명동·카페) → BBQ치킨(평일·저녁·명동·치킨집) 시퀀스를 학습하고, 마지막 방문지가 버거킹(평일·점심·명동·햄버거집)일 때 다음 방문지로 카페A를 추천하는 흐름.
  • 근거 상호참조 — 새벽엔 여행/레저, 낮엔 생활편의 검색량이 증가 (보고서 p. 39 ✓).
  • 내비 적용 시 쓸 수 있는 POI 속성 — 위치한 도시, 카테고리(대/중/소), 평가(좋아요/싫어요/닫기). 세 값 모두를 쓸 수 있다는 점이 명시되어 있다.

CatDM (WWW'20)

  • 입력 — 사용자의 POI 방문 시퀀스. 출력다음 24시간 내에 사용자가 방문할 POI들. LSTM으로 사용자 임베딩·POI 임베딩·시간 임베딩을 학습한다.
  • 고려하는 네 가지 상관관계 — 사용자–POI / 사용자–POI 카테고리 / POI–시간 / POI에 대한 사용자의 장단기 선호도.
  • 논문 그림 예시 — 장기적 선호는 "커피를 항상 즐겨먹음", 단기적 선호는 "술집 방문 후 방문 확률 높음"으로 표현된다. 후보 세 곳 중 골프장A는 비선호 카테고리, 수원버거는 10km 밖에 위치, 카페A는 선호 카테고리이고 가깝고 점심시간 인기여서 카페A가 선택된다. 이 예시가 곧 "10km 밖 POI를 후보에서 제외한 실험"이라는 한계 지적의 근거다.
  • 근거 상호참조 — 여행/레저 시설은 10–50km 떨어진 POI 검색량이 약 40% (보고서 p. 32 ✓).

문헌 선정 기준의 원문 표현

보고서 슬라이드 22의 선정 기준 문장은 다음과 같다 — "연구 과제의 목적, VCRM 데이터 적용 가능성 등을 고려하여 1차적으로 5개 문헌 선정 (우선 순위: 상)", "제안된 모델의 복잡도, 성능 등을 고려하여 최종적으로 2–3개 문헌 심층 분석". 즉 심층 분석 편수는 애초에 2–3편으로 열어 두고 시작해 3편으로 확정된 것이다. 연구 동향 그래프도 두 장(연도별 논문에 사용된 정보 동향 / 연도별 논문에 사용된 방법 동향)이며, 사용 정보 축은 지리적 정보 · 텍스트 정보 · 소셜 정보 · 콘텐츠 · 시간 정보 · 순차 정보 6종으로 분류되어 있다.

3단계 · 데이터 엔지니어링 — 2억 2,899만 행을 7,035만 레코드로

POI ID가 비어 있던 69%를 살리고, 메모리에 올라가지 않는 네 테이블을 월 단위로 통합했다

데이터 구성

테이블포함 정보
검색 테이블hashvin(차대번호 해시), 검색 시각, POI ID, POI 좌표(위·경도), POI 명칭, POI와의 거리, 검색 방법, 데이터 수집 시점, 정렬 기준, 주변검색 카테고리, 운전자 좌표
리뷰 테이블hashvin, POI ID, 리뷰 시점, POI 좌표, POI 명칭, 운전자 리뷰(좋아요/싫어요)
운전자 정보 테이블hashvin, 성별, 나이
POI 정보 테이블POI ID, POI 명칭, 대분류/중분류/소분류 카테고리 (각 8 / 43 / 498종)
항목
데이터 설명내비게이션 목적지로 설정된 POI에 대한 운전자들의 검색 및 리뷰 데이터
데이터 수집 기간2021년 5–8월 (모델 학습용 데이터셋은 2021년 5–10월, 총 6개월)
운전자 수1,887,481명
POI 수2,177,263개
전처리 전 데이터 수228,992,654개
전처리 후 데이터 수70,355,265개

첫 번째 문제 — 기록의 69%에 POI ID가 없었다

검색 기록 대부분이 장소 이름과 좌표만 남아 있고, 어느 장소인지 알려주는 식별자가 비어 있었다. 그대로 두면 데이터의 3분의 2를 버려야 했다. 그래서 위도·경도를 기준으로 POI 정보 테이블과 다시 맞춰보는 코드를 짜서 살릴 수 있는 기록을 복구했다. 끝내 맞지 않는 기록은 왜 제외했는지 근거를 남기며 정리했고, 수집 기간에 해당하지 않는 데이터(약 1%)도 함께 제거했다.

두 번째 문제 — 2.3억 행을 한 번에 합칠 수 없었다

검색·리뷰·운전자·POI 네 개 테이블을 하나로 합쳐야 했지만 단순히 이어붙이면 메모리가 버티지 못했다. 월 단위로 잘라 처리하고, 분석에 필요한 집계 테이블을 먼저 만들어 뒤 단계에서 반복해 쓸 수 있게 했다. 그 결과 228,992,654건이 70,355,265건의 깨끗한 데이터셋이 되었다.

세 번째 문제 — 무엇을 봐야 할지 정해진 게 없었다

과제 목표는 "주변 검색 기능의 개선점을 찾아라"였다. 정답이 없는 탐색이어서 분석의 방향을 스스로 세워야 했다. 그래서 검색 방법 · 정렬 기준 · 카테고리 · 목적지와의 거리 · 성별 · 연령대 · 시간대 · 지역 · 리뷰(리뷰 장소) 9가지 관점을 정해 하나씩 분석했고, 결과마다 "그래서 내비게이션을 어떻게 바꿔야 하는가"를 한 줄로 붙여 2021년 11월 22일 중간 발표로 정리했다.

3단계 · 9가지 관점 EDA 결과

통합검색 66%, 주변검색 5km 이내 82%, 새벽 골프장 24.5% — 이 숫자들이 모델 설계의 근거가 되었다

① 검색 방법

  • 전체 검색의 약 66%가 통합검색을 통해 이뤄졌다. 기타는 '지도스크롤 지점선택', '주소검색', '길이름검색' 등이다.
  • 주변검색 메뉴 이용률은 아직 높지 않았다. 즉 주변검색 개선을 통한 이용률 향상 자체가 도전할 만한 목표였다.
  • 주변검색 옵션 중에서는 현위치 주변검색 → 경로 주변검색 순으로 많이 사용되었다.

② 정렬 기준

  • 통합검색: 추천순 → 거리순 순 (default: 추천순).
  • 주변검색: 거리순 → 가격순 순 (default: 주유소 – 가격순 / 음식점 – 추천순 / 그 외 – 거리순).

③ 카테고리 (대분류 8 · 중분류 43 · 소분류 498)

검색 방법대분류중분류소분류
통합검색생활편의 → 교통편의 → 여행/레저 순음식점(생활편의) → 쇼핑(생활편의) 순한식(음식점) → 주차장(자동차시설) 순
주변검색교통편의 → 생활편의 순 (통합검색과 반대)자동차시설(교통편의) → 쇼핑 → 음식점 순주유소 → 충전소(자동차시설) 순
  • 통합검색에서는 모든 카테고리의 default가 추천순임을 감안할 때, 생활편의·교통편의·금융편의는 거리순 이용 비율이 다른 카테고리보다 상대적으로 높았다 → 생활편의 카테고리의 개인화 추천에서는 운전자와의 거리가 중요한 고려 요인이 될 수 있다.
  • 주변검색에서는 음식점 검색 결과는 주로 추천순으로, 카페·마트 등은 주로 거리순으로 정렬되었다.
  • 주변검색에서 음식점·카페·쇼핑 등은 현위치 주변 옵션이 많이 사용되었다.

④ 목적지와의 거리

구분통합검색 5km 이내주변검색 5km 이내분석 내용
전체약 37%약 82%1–5km 이내 POI 방문 비율이 가장 높고, 주변검색 메뉴로는 주로 가까운 POI를 검색
생활편의 (쇼핑·음식점·종교·카페·술집 등)47%83.8%1–5km 이내 검색 비율이 다른 카테고리 대비 가장 높음 → 5km 이내 추천 결과 제공이 중요
교통편의 (주차장·지하철역·주유소·휴게소 등)32.3%90.3%10km 이내 POI 추천 결과 제공이 중요
여행/레저 (관광명소·숙박 등)26.5%70.1%50km 이상 POI 검색 비율이 상대적으로 높음 (10–50km 검색량이 약 40%)

⑤ 성별

구분남성여성
전체 운전자76.1%23.9%
통합검색 이용73.0%27.0%
주변검색 이용75.7%24.3%

대부분의 운전자가 남성이었고, 성별에 따른 통합검색·주변검색 카테고리 이용 비율의 차이는 거의 없었다.

⑥ 연령대

  • 통합검색 이용자는 50대 → 40대 → 30대 → 60대 → 20대 → 70대 이상 순으로, 50대 운전자가 가장 많았다.
  • 주변검색에서는 통합검색에 비해 50–70대 운전자의 이용률이 감소했다 → 주변검색 메뉴의 간소화(예: 진입 단계 축소)가 필요할 수 있다.
  • 연령대와 무관하게 생활편의(음식점·쇼핑 등)를 가장 많이 검색했지만, 20–30대가 서로 유사한 경향, 40–70대가 서로 유사한 경향을 보였다. 20–30대는 생활편의 검색 비율이 상대적으로 높고, 40–70대는 여행/레저 검색 비율이 상대적으로 높았다. (이 관찰이 뒤에서 연령대를 20–30 / 40–50 / 60대 이상으로 묶은 근거가 되었다.)
  • 주변검색에서는 모든 연령대에서 주유소·LPG 충전소가 가장 많이 사용되었고, 20–30대는 카페·편의점 검색량이, 40–70대 이상은 음식점과 기타(은행·숙박·병원 등) 검색량이 상대적으로 높았다.

⑦ 시간대

  • 주로 낮 시간대에 검색이 많이 일어났고, 특히 13시경이 가장 많았다(8.94%).
  • 요일별로는 대부분 12.2–13.8%에 몰려 있었으나 두 요일만 19.5%·16.8%로 뚜렷하게 높았다(토·일요일). 즉 주말에 검색 빈도가 크게 증가했다.
  • 시간대별 대분류 검색 비율의 변화가 뚜렷했다.
시간대증가하는 대분류대표 소분류
새벽 (4–6시)여행/레저 비율 증가골프장 24.5%
아침 (6–8시)기업/단체 비율 증가공장 9.5%
점심 (11–13시) · 저녁 (17–19시)생활편의 비율 증가음식점 20.1%
밤 (21–24시)기타 비율 급증아파트 19.5%

⑧ 지역

  • 검색량은 경기 → 서울 → 경상도 순이었다. 관광지가 많은 제주·강원은 인구에 비해 상대적으로 높은 검색량을 보였다 → 음식점·숙박·레저 시설에 대한 개인화 추천이 효과적일 수 있다.
  • 제주 등 관광지역은 여행/레저·생활편의 비율이 높고, 서울은 기타(아파트)·교통편의 비율이 상대적으로 높았다.
  • 주변검색에서는 관광지역이 편의점·마트 검색 비율이 높고, 서울은 주차장 검색 비율이 높았다.
  • 정렬 기준으로는 제주가 거리순 이용 비율이, 서울이 추천순 이용 비율이 상대적으로 높았다.

⑨ 리뷰 / 리뷰 장소

  • 운전자 리뷰는 좋아요/싫어요/닫기 중 '닫기'를 가장 많이 선택했다. 닫기를 제외하면 좋아요 90.5%, 싫어요 9.5%였다.
  • 리뷰를 받은 장소 상위 10곳은 대부분 제주·여수 등의 유명 관광지였다.
순위상호명위치비율 (%)
1아르떼뮤지엄제주 제주시0.308
29.81파크제주 제주시0.152
3윈드1947제주 서귀포시0.129
4비자림제주 제주시0.129
5빛의벙커제주 서귀포시0.103
6모이핀전남 여수시0.099
7여수해상케이블카 돌산탑승장전남 여수시0.099
8아쿠아플라넷여수전남 여수시0.095
9해동용궁사부산광역시0.094
10원앤온리제주 서귀포시0.091

정리하면

운전자의 66%는 통합검색을 쓰고, 주변검색은 82%가 5km 안에서 이뤄진다. 새벽엔 골프장, 밤엔 아파트처럼 시간대마다 찾는 장소가 다르고, 20–30대와 40–70대의 취향도 뚜렷하게 갈린다. 이 발견이 뒤에서 "성별·연령 그룹"과 "거리"를 모델에 반드시 넣어야 한다는 근거가 되었다.

4단계 · 모델 설계 — 논문을 그대로 쓰지 않고 내비게이션 데이터에 맞게 고쳤다

카테고리 선별, 피드백 가중, 그룹 인기도 재랭킹, 지역 범위 — 네 가지 결정

문제 정의와 입출력

  • 문제 정의. 카테고리별 운전자들의 목적지 검색 히스토리를 바탕으로 카테고리별 개인화 POI 추천 모델을 학습하고, 운전자의 현재 위치 기준으로 카테고리별 top-N POI를 추천한다.
  • 입력. ① 운전자 정보 — 성별(남/여), 연령대(20–30대 / 40–50대 / 60대 이상) ② POI 정보 — 위치, 카테고리 ③ 방문 정보(히스토리) — 방문 횟수, 방문 후 남긴 리뷰(Like / Dislike / Close)
  • 출력. 운전자가 현재 위치한 지역 내 POI에 대한 방문 예측 확률 — 시/군/구 단위 또는 광역시/도 단위
  • 베이스 모델. SAE-NAD (Ma et al., CIKM'18). 방문 히스토리를 잘 '복원'하도록 학습하는 오토인코더로, 순서에 의존하지 않고 방문 횟수·거리·리뷰를 한 구조에 담을 수 있어 선택했다.

결정 ① 추천 대상 카테고리 선별

고민. 내비게이션에서 자주 목적지로 삼은 곳이 꼭 좋아하는 곳은 아니다. 아파트·회사·공장은 매일 가지만 "취향"은 아니다.

결정. 운전자 개인 취향이 반영되기 쉬운 중분류 카테고리만 골라, 상호 연관성이 높은 것끼리 병합해 3개 카테고리로 구성하고 카테고리별로 모델을 따로 세 개 만들었다. 대중성이 선택의 더 중요한 척도가 되는 '관광'은 제외했다(비개인화 추천이 더 효과적).

병합 후 카테고리포함 중분류소분류 예시
음식점 / 카페 / 술집음식점, 카페, 술집한식·분식·중식·양식·뷔페·일식 / 테마카페·일반카페·이색카페·다방 / 호프·바·와인바·칵테일 전문점
문화생활시설 / 레저·스포츠문화생활시설, 레저/스포츠도서관·전시장·과학관·박물관·극장 / 당구장·골프연습장·볼링장·각종 경기장
쇼핑쇼핑전문매장/상가·시장·아울렛·백화점

결정 ② 방문 횟수·피드백을 학습 가중치로

고민. 원 논문에는 없는 정보, 즉 좋아요/싫어요 리뷰와 운전자의 성별·연령을 어떻게 살릴 수 있을까.

결정. 입력으로 들어온 타겟 운전자의 POI 방문 횟수와 방문 후 남긴 피드백을 학습 과정의 가중치로 이용했다. 방문 횟수가 많고 긍정 피드백을 받은 POI는 선호할 가능성이 더 높도록 높은 가중치와 함께 학습되고, 방문 횟수가 적고 부정 피드백을 받은 POI는 선호 가능성이 더 낮도록 낮은 가중치와 함께 학습된다. 이렇게 해서 방문한 적 있는 POI들 사이에도 차등을 두어 개인 취향이 더 잘 추론되게 만들었다. 디코더는 SAE-NAD와 같이 운전자가 방문한 적 있던 POI들과 가까운 거리에 위치한 POI일수록 방문 예측 확률이 높아지도록 계산한다.

결정 ③ 성별·연령 그룹 인기도 재랭킹

개인화 모델이 뽑은 상위 K개 POI에 대해, 타겟 운전자와 동일한 성별/연령대를 갖는 운전자들 중 해당 POI를 방문한 적 있는 운전자 수를 확인한다. 성별(남/여) × 연령대(20–30 / 40–50 / 60대 이상)로 총 6개 그룹을 구성하고, 그룹 내 방문 운전자 수를 min-max 정규화로 0–1 사이 값으로 맞춘 뒤 모델이 예측한 방문 확률과 곱한다. 그 곱 연산 결과 기준 상위 N개를 최종 추천 결과로 제공한다. 벤치마킹의 그룹 기반 추천과 EDA에서 본 연령대 차이를 모델로 연결한 것이다.

결정 ④ 추천 지역 범위

고민. 전국 217만 개 POI를 모두 후보로 두면 학습도 추론도 너무 무겁고, 추천 결과도 흐려진다.

결정. 현재 위치 기준 시/군/구 또는 광역시/도 두 단계로 범위를 정하고, 너무 먼 POI에는 거리 가중치를 주지 않도록 했다. 어느 범위로 볼지는 웹 데모에서 사용자가 직접 고를 수 있게 했다.

4단계 · 모델 구조도를 예시로 따라가기 (POI A–E)

방문 횟수 7·3·0·0·7, 리뷰 Like·Dislike·Close, 예측 확률 0.9~0.2 — 보고서는 다섯 개 POI로 전 과정을 보여준다

보고서 슬라이드 29–30은 모델 구조도를 다섯 개의 가상 POI(A–E)로 끝까지 따라가며 설명한다. 기존 본문의 '결정 ② 방문 횟수·피드백을 학습 가중치로'와 '결정 ③ 그룹 인기도 재랭킹'이 실제로 어떤 수치로 작동하는지 보여주는 부분이다.

① 타겟 운전자의 입력 — 방문 횟수와 리뷰

POIABCDE
방문 횟수73007
리뷰LikeDislikeClose
  • A — 운전자가 여러 차례 방문했고 방문 후 좋은 평가를 남긴 POI. 운전자가 선호하는 POI일 가능성이 매우 높게 반영되도록 모델이 학습된다.
  • B — 운전자가 방문 후 좋지 못한 평가를 남긴 POI. 선호 가능성이 매우 낮게 반영되도록 학습된다.
  • E — 방문 횟수는 A와 같은 7회지만 리뷰가 '닫기(Close)'다. 즉 좋아요/싫어요/닫기 세 값 중 닫기는 '피드백 없음'에 가깝게 다뤄져, 같은 7회 방문이라도 A와 다르게 취급된다. (EDA ⑨에서 '닫기'가 가장 많이 선택된 값이었다는 점과 이어진다.)
  • C, D — 방문 기록이 없는 POI(non-visited). 추천 후보가 된다.

② 디코더의 거리 반영 — 이미 방문한 POI와의 실제 거리

디코더는 운전자가 방문한 적 있던 POI들과 가까운 거리에 위치한 POI일수록 방문 확률이 높아지도록 계산한다. 보고서는 그 거리 행렬을 직접 제시한다.

기준 POIA와의 거리B와의 거리C와의 거리D와의 거리E와의 거리
A 기준1.60.70.12.3
B 기준1.60.52.93.2
E 기준2.3km3.2km1.7km0.6km

③ 출력 — POI별 방문 예측 확률

POIABCDE
예측 방문 확률 (선호도)0.90.20.60.50.6

Like를 받은 A는 0.9로 가장 높고, Dislike를 받은 B는 0.2로 크게 눌린다. 방문 기록이 없는 C·D는 각각 0.6·0.5로, A와 가까운 위치(A 기준 C 0.7 / D 0.1)라는 지리 정보가 반영된 결과다. 이후 ③ 미방문(non-visited) POI만 남기고 → 타겟 운전자와 동일 성별·연령대 운전자들의 방문 수를 세어 → 곱한 결과 기준 상위 N개가 최종 추천 리스트가 된다. 보고서 슬라이드 27의 개념도에서는 이 흐름을 "방문한 적 있는 POI(1, 1) → Encoding → Decoding → 미방문 POI 예측 확률(0.8, 0.6, 0.2, 0.9, 0.4)"로 표현한다.

학습에 반영되는 카테고리 층위

슬라이드 32의 발표자 노트는 "소분류 카테고리 정보까지 학습 과정에 반영된다"고 명시한다. 즉 카테고리별로 모델을 세 개 나눈 것은 중분류 단위의 병합 결과지만, 학습 자체에는 소분류(498종) 정보까지 들어간다. 뒤의 유저 스터디 분석 2(미방문 테스트셋에서 '새로운 소분류 카테고리' 비율 측정)와 테스트 케이스에서 소분류가 표기되는 것도 이 때문이다.

5단계 · 구현과 평가 — "어디서, 왜 올랐는지"를 보려 했다

시간순 8:2 분할, 미방문 테스트셋, 기여 분리 — 정직하게 재는 데 신경 썼다

구현과 튜닝

SAE-NAD를 직접 다시 구현했다. 카테고리별 데이터 밀도가 0.022–0.040% 수준으로 매우 희소했기 때문에 파라미터는 여러 번 실험을 돌려가며 맞췄다.

카테고리별 데이터셋 통계 (2021.05–2021.10)

전처리 시 음식점/카페/술집은 8명 미만의 운전자가 방문한 POI와 방문 POI가 8개 미만인 운전자를 제거했고, 문화생활시설/레저스포츠·쇼핑은 3명·3개 미만 기준으로 제거했다.

카테고리#(운전자)#(POI)#(체크인)Density
음식점 / 카페 / 술집141,16465,4922,414,5200.026%
문화생활시설 / 레저스포츠100,78219,125771,3690.040%
쇼핑222,12740,2522,004,1330.022%

평가 설계 — 네 가지 원칙

  • ① 시간 순서대로 8:2 분할. 무작위로 나누지 않고 운전자의 카테고리별 방문 히스토리를 시간 순 기준 8:2로 나눠, "과거를 보고 미래 방문을 예측한다"는 실제 상황과 평가를 똑같이 맞췄다.
  • ② 미방문(Non-visited) 테스트셋을 따로. 이미 갔던 곳을 다시 맞히는 것만으로 점수가 오르는 걸 막기 위해, 운전자가 이전에 방문한 적 없던 POI만으로 구성한 테스트셋을 추가로 만들었다.
  • ③ 공정한 후보군. 운전자의 현위치 기준 동일 광역시/도 내에서 top-N POI(N = 5, 10)를 추천하게 했고, 비교 대상인 비개인화(인기도 기반 단순 랭킹) 추천도 같은 지역 범위·같은 후보군에서 돌렸다.
  • ④ 기여 분리. 방문 히스토리만 쓴 모델과 그룹 인기도까지 더한 모델을 나눠 무엇이 기여했는지 확인했다. 지표는 Recall(R@N)이다.

추천 정확도 비교 — 비개인화(인기도) vs 개인화(SAE-NAD 기반)

테스트셋카테고리메트릭비개인화 (인기도 기반)개인화 · 방문 POI 히스토리 이용Gain개인화 · 히스토리 + 그룹 인기도Gain
Total음식점/카페/술집R@50.0320.038+15.7%0.040+25.0%
Total음식점/카페/술집R@100.0540.061+12.9%0.064+18.5%
Total문화/레저R@50.0990.102+3.0%0.103+4.0%
Total문화/레저R@100.1520.154+1.3%0.162+6.6%
Total쇼핑R@50.1850.193+4.3%0.205+10.8%
Total쇼핑R@100.2770.2770%0.302+9.0%
Non-visited음식점/카페/술집R@50.0310.038+22.5%0.041+32.3%
Non-visited음식점/카페/술집R@100.0510.061+19.6%0.066+29.4%
Non-visited문화/레저R@50.0980.104+6.1%0.092−6.1%
Non-visited문화/레저R@100.1560.1560%0.151−3.2%
Non-visited쇼핑R@50.1740.164−5.7%0.170−2.2%
Non-visited쇼핑R@100.2640.251−4.9%0.259−1.8%

그룹 인기도는 타겟 운전자와 동일 성별/연령대의 다른 운전자들 중 해당 POI를 방문한 운전자 수를 뜻한다. Non-visited는 운전자가 이전에 방문한 적 없는 POI만으로 구성한 테스트셋이다.

오르지 않은 숫자

  • Total 테스트셋에서는 세 카테고리 모두 그룹 인기도를 더했을 때 성능이 더 올랐다 — 음식점/카페/술집 최대 +25.0%, 문화/레저 최대 약 +6.6%, 쇼핑 최대 약 +10.8%.
  • 그러나 Non-visited 테스트셋에서는 쇼핑과 문화/레저의 성능이 오르지 않았고, 그룹 인기도를 더하면 오히려 내려갔다. 그룹 인기도가 사람들이 이미 가던 곳을 더 밀어주기 때문이다.
  • 이 숫자를 숨기지 않고 그대로 보고했고, "운전자는 이 카테고리에서는 가던 곳을 다시 간다"는 가설을 세워 다음 단계인 유저 스터디에서 데이터로 확인했다.

5단계 · 평가 지표의 계산 예시와 비개인화 baseline의 정의

Recall@5 = 2/4라는 그림 하나로 평가 방식을 못박았다

보고서 슬라이드 33은 평가 방식을 네 줄로 정의하고, 그 아래에 지표 계산 예시를 그림으로 붙였다.

  • 운전자의 (카테고리 별) POI 방문 히스토리를 시간 순 기준 8:2로 구분 (training : test)
  • 전체 total 테스트셋 또는 운전자가 이전에 방문한 적 없던 POI들만으로 구성된 non-visited 테스트셋 이용
  • 운전자의 현위치 기준, 동일 광역시/도 내에서 top-N POI 추천 (N = 5, 10)
  • 비개인화(인기도 기반) 추천 방법과의 추천 정확도를 비교 — 비개인화 baseline의 정의는 "VCRM 데이터 기반, POI를 방문한 운전자들의 수를 고려한 단순 랭킹 방법"이다. 즉 평점이나 리뷰 수가 아니라 방문 운전자 수를 세는 랭킹이다.

계산 예시는 정답 POI 4개 중 top-5 안에 2개가 들어와 Recall@5 = 2/4가 되는 그림으로 제시된다. 분모가 top-N이 아니라 '테스트셋의 정답 POI 수'라는 점을 그림으로 못박은 것이다.

카테고리별 결과 해석 원문 (슬라이드 35)

카테고리보고서에 적힌 해석
음식점/카페/술집Total 테스트셋에서 비개인화 대비 최대 25% 높은 정확도, Non-visited 테스트셋에서 최대 32% 높은 정확도 관찰
문화/레저스포츠Total 테스트셋에서 최대 약 6% 높은 정확도. Non-visited 결과로부터 운전자는 이전에 방문한 적 있던(visited) 문화/레저스포츠 시설들을 주로 방문하는 경향이 있을 것으로 추정
쇼핑Total 테스트셋에서 최대 약 11% 높은 정확도. Non-visited 결과로부터 운전자는 이전에 방문한 적 있던(visited) 쇼핑 시설들을 주로 방문하는 경향이 있을 것으로 추정

슬라이드 34의 결론 문장은 두 줄이다 — "운전자가 간 적 있거나, 가본 적 없는(새로운) POI들을 취향에 맞게 효과적으로 추천 가능(특히 음식점/카페/술집)", "운전자의 성별/연령대 정보를 이용한 그룹화 전략은 개인화 추천에 효과적". 그리고 발표자 노트에는 "Total test set 결과로부터, 카테고리 내 여러 POI들에 대한 운전자의 취향·선호도를 효과적으로 학습하고 있음을 확인 가능"이라고 적혀 있다.

6단계 · 유저 스터디 ① — 운전자 행동 경향 분석과 테스트 케이스

왜 카테고리마다 결과가 달랐는지, 운전자의 행동 데이터로 확인했다

가설 두 가지

  • 가설 1. 운전자가 음식점/카페/술집을 찾는 경우, 새로운 장소를 방문하는 경향이 문화/레저·쇼핑보다 상대적으로 더 크게 나타날 것이다. 새 맛집·카페 탐방은 흔하지만, 골프장·스키장은 회원권을 구매한 곳만 방문하는 경우가 많다.
  • 가설 2. 새로운 음식점/카페/술집을 방문하는 경우에도, 평소 자주 이용하는 메뉴(소분류 카테고리) 내에서 방문할 장소를 주로 찾을 것이다.

분석과 결과

분석방법음식점/카페/술집문화생활시설/레저스포츠쇼핑해석
분석 1한 운전자의 Total 테스트셋에서 그 운전자가 방문한 적 없었던 POI의 비율을 구해, 전체 운전자 평균0.850.570.61음식점/카페/술집에서 새로운 장소를 찾는 경우가 더 많음 — 가설 1 지지
분석 2한 운전자의 Non-visited 테스트셋에서 그 운전자가 방문한 적 없었던 소분류 카테고리의 비율을 구해, 전체 운전자 평균0.3370.5060.499음식점/카페/술집이 오히려 더 낮음 — 새로운 곳을 가도 익숙한 메뉴 안에서 간다는 뜻, 가설 2 지지

두 가설이 모두 지지되면서, 쇼핑·문화/레저에서 개인화가 힘을 못 쓴 것은 모델의 실패가 아니라 운전자가 그 카테고리에서는 가던 곳을 다시 가기 때문이라고 설명할 수 있게 되었다. 이것이 카테고리별로 다른 추천 시나리오를 제안하는 근거가 되었다.

테스트 케이스 ① — 40–50대 남성 · 서울 · 음식점/카페/술집 (실제 방문지: 진주회관)

방문 히스토리 12곳: 해주가든(전문음식점), 이성당(제과점), 소학장수촌(한식), 성북동면옥집(한식), 착한낙지(전문음식점), 태성반점(중식), 진갈비(한식), 상수동블루스(세계의 요리), 노란상소갈비(한식), 평양집(한식), 헤비로테이트(기타), 툇마루(커피전문점) — 한식 위주.

랭킹비개인화 추천 결과개인화 추천 결과
1스타벅스 연희DT점 (커피전문점)우래옥 본점 (한식)
2스타벅스 영등포신길DT점 (커피전문점)토속촌삼계탕 (한식)
3스타벅스 송파나루역DT점 (커피전문점)산모퉁이 (일반카페)
4우래옥 본점 (한식)스타벅스 연희DT점 (커피전문점)
5스타벅스 공릉DT점 (커피전문점)또순이네 (한식)
6스타벅스 구의DT점 (커피전문점)북한산제빵소 (기타)
7스타벅스 방화DT점 (커피전문점)진주회관 (한식) — 실제 방문지 적중
8카페노티드 청담점 (일반카페)패션5 한남점 (일반카페)
9스타벅스 종암DT점 (커피전문점)필동면옥 (한식)
10맥도날드 청담DT점 (패스트푸드)마복림떡볶이 (분식)

비개인화 추천은 커피전문점 8곳을 줄줄이 내놓았지만, 개인화 추천은 운전자의 '한식' 위주 히스토리에 맞춰 한식 위주 리스트를 제공하며 실제 방문지를 7위에서 맞혔다.

테스트 케이스 ② — 40–50대 여성 · 울산 · 음식점/카페/술집 (실제 방문지: 간절곶해빵)

방문 히스토리 6곳: 삼고정문(한식), 지재근 베이커리(제과점), 미가연(한식), 다키닥팜(한식), 감자네(한식), 황태회관(한식) — 한식 5곳 + 제과점 1곳.

랭킹비개인화 추천 결과개인화 추천 결과
1라메르판지 (기타)언양기와집불고기 (한식)
2농도 (일반카페)스타벅스 울산간절곶점 (커피전문점)
3언양기와집불고기 (한식)떡바우횟집 (전문음식점)
4스타벅스 울산정자비치DT점 (커피전문점)태양칼국수 (한식)
5스타벅스 울산성안점 (커피전문점)스타벅스 울산국가정원점 (커피전문점)
6호피폴라 (일반카페)가천린포크 (한식)
7시선310 간절곶점 (일반카페)간절곶해빵 (제과점) — 실제 방문지 적중
8스타벅스 울산중리사거리DT점 (커피전문점)동남횟집 (전문음식점)
9스타벅스 울산북구청DT점 (커피전문점)해마지 (한식)
10스타벅스 울산국가정원점 (커피전문점)한가위 (한식)

개인화 추천은 단 한 번뿐이던 제과점 기록까지 반영해 실제 방문지를 맞혔지만, 비개인화 추천은 '제과점'에 해당하는 장소를 전혀 추천하지 못했다.

6단계 · 유저 스터디 ② — 45명 온라인 블라인드 테스트

어느 쪽이 개인화인지 숨기고 물었더니 카테고리별 71–75%가 개인화를 골랐다

참가자 구성

  • 총 45명 — 남 29명(65%) / 여 16명(35%)
  • 연령대 — 20대 17명(37%), 30대 23명(52%), 40대 5명(11%)
  • 평소 내비게이션 이용 시 주로 검색하는 장소 — 음식점/카페/술집, 아파트/주택/집

절차

  • ① 웹 데모에서 현재 지역과 카테고리(음식점/카페/술집 · 문화/레저스포츠 · 쇼핑)를 선택한다.
  • ② 방문한 적 있는 장소를 검색해 히스토리로 입력하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다.
  • ③ 비개인화·개인화 결과를 리스트 A / B로 순서를 숨겨 제시하고, 취향에 더 가까운 쪽을 선택하게 한다.
  • ④ 선택한 리스트의 만족도를 5점 만점으로, 과거 방문지 포함 / 미포함 각각 평가한다.

결과

카테고리응답자개인화 선택비개인화 선택만족도 (과거 방문지 포함 / 미포함)세부 만족도 순
음식점/카페/술집45명32명 (71%)13명 (29%)3.7 / 3.6음식점 › 카페 › 술집
문화/레저스포츠17명12명 (71%)5명 (29%)3.6 / 3.7문화 › 레저스포츠
쇼핑20명15명 (75%)5명 (25%)4.1 / 3.9

이용자 주요 의견

추천 만족도 측면

  • "(시군구 단위로 추천 범위를 설정할 경우) 두 추천 결과 A, B가 서로 비슷하게 나옴."
  • "프랜차이즈 음식점이나 카페에 대한 추천은 하지 않아도 될 것 같음."
  • "음식점/카페 추천 결과는 만족스러웠으나, 문화/레저, 쇼핑 추천은 효용성이 크게 느껴지지 않았음."
  • "추천 순위에 크게 공감이 가지 않았음."
  • "실제로 괜찮은 음식점들이 많이 추천되었으나, 색다른 장소를 발견하지 못한 건 조금 아쉬웠음."
  • "상용화 된다면 여가 생활을 즐기는 데 도움이 될 것 같음."
  • "가게들에 대한 더 폭넓은 데이터가 쌓이면 더 좋은 추천이 가능할 것으로 보임."

인터페이스 측면

  • "추천 장소에 대한 간략한 정보 및 추천된 이유를 함께 보여주면 더 좋을 것 같음."
  • "'가격', '거리' 등 추천 결과에 대한 다양한 정렬 기준들이 제공되면 좋을 것 같음."
  • "'좋아요', '싫어요' 외 남길 수 있는 리뷰의 종류가 더 다양하면 좋을 것 같음."
  • "'과거 방문지 포함 추천' 옵션은 없어도 될 것 같음."

읽어낸 것

현재 모델은 어느 정도 인지도를 갖춘 음식점·카페에 대해서는 개인 취향이 잘 반영된 준수한 추천 결과를 제공한다. 하지만 아직 많이 알려지지 않은 숨은 명소를 추천받길 원하는 수요가 크게 존재하고, 여기에는 약하다. 이들에 대한 정확도 높은 추천이 향후 연구 주제로서 중요한 가치를 지닐 수 있다고 보고 기록해 두었다.

온라인 블라인드 테스트 설문 문항. 어느 쪽이 개인화인지 밝히지 않고 리스트 A·B 중 취향에 더 가까운 결과를 고르게 했고, 차이가 크지 않을 경우 추천 지역 단위를 '광역시/도 단위'로 바꿔 다시 확인해 달라고 안내했다.
온라인 블라인드 테스트 설문 문항. 어느 쪽이 개인화인지 밝히지 않고 리스트 A·B 중 취향에 더 가까운 결과를 고르게 했고, 차이가 크지 않을 경우 추천 지역 단위를 '광역시/도 단위'로 바꿔 다시 확인해 달라고 안내했다.

6단계 · 블라인드 테스트의 만족도 세부 분포와 설문 문항

선택 비율 옆에 라벨 없는 두 개의 파이차트가 더 있다

보고서 슬라이드 44–46은 카테고리별로 파이차트 세 개를 함께 싣는다. 첫 번째는 기존 본문에 반영된 개인화/비개인화 선택 비율이고, 나머지 두 개는 만족도 관련 분포로 보이지만 슬라이드에 항목 라벨이 없어 수치만 남아 있다. 원자료에 있는 숫자이므로 그대로 옮긴다.

카테고리① 리스트 선택 (개인화 / 비개인화)② 2분할 분포③ 3분할 분포
음식점/카페/술집 (45명)32명 71.1% / 13명 28.9%21명 (65.6%) / 11명 (34.4%)18명 (56.3%) / 12명 (37.5%) / 2명 (6.2%)
문화/레저스포츠 (17명)12명 70.6% / 5명 29.4%9명 (75%) / 3명 (25%)6명 (50%) / 4명 (33.3%) / 2명 (16.7%)
쇼핑 (20명)15명 75% / 5명 25%8명 (53.3%) / 7명 (46.7%)9명 (60%) / 5명 (33.3%) / 1명 (6.7%)

②·③의 분모가 개인화를 선택한 인원(32 / 12 / 15명)과 일치하므로, 개인화 리스트를 고른 응답자에게만 물은 후속 문항의 분포로 읽힌다. 다만 항목 이름이 슬라이드에 없어 확정할 수는 없다.

참가자 배경 문항

참가자 배경 문항에는 성별·연령대 외에 "평소 내비게이션 이용 시 주로 검색하는 장소"와 그 검색 빈도가 포함되어 있었다. 응답 상위는 음식점/카페/술집과 아파트/주택/집이었다 — 모델이 추천 대상에서 제외한 '아파트'가 실제 검색 상위였다는 점이 카테고리 선별 결정의 타당성을 뒤에서 다시 뒷받침한다.

"숨은 명소" 한계에 대한 발표자 해석

이용자 의견을 종합한 슬라이드 47의 발표자 노트에는 기존 본문에 없는 한 문장이 더 있다 — "이미 너무 알려진 곳들은 차를 끌고 가는 입장에서 조금 부담이 될 수 있는 요인들이 있음(예: 주차)". 유명 POI 추천이 왜 운전자에게 덜 유용한지를 도메인 조건(주차)으로 설명한 부분이며, 이후 네거티브 샘플링 후속 연구의 동기와 직접 연결된다.

7단계 · 웹 어플리케이션 (데모 서비스)

모델 결과를 사람이 직접 만져볼 수 있게 만들어 최종 발표에서 시연했다

모델의 결과를 표로만 보여주면 실제로 쓸 만한지 알 수 없어서, 누구나 써볼 수 있는 웹 데모를 만들었다. 흐름은 네 화면이다.

화면 구성과 제공 기능

  • ① 주변 검색 시작. 랜딩 화면에서 데모로 진입한다.
  • ② 카테고리 선택. 문화시설/레저스포츠 · 음식점/카페/술집 · 쇼핑 중 추천받을 카테고리를 고른다. 모델을 카테고리별로 따로 학습했으므로 이 선택이 곧 어느 모델을 쓸지의 선택이 된다.
  • ③ 방문 POI 입력. 상호명·주소·카테고리로 검색해 방문했던 장소를 추가하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다. 이 입력이 그대로 학습 가중치(방문 횟수 × 피드백)가 된다.
  • ④ 추천 결과. 필터(카테고리 · 과거 방문지 포함 여부 · 추천 지역 단위 시군구/광역시도)를 고르고 검색하면, 지도 위에 현위치 / 개인 맞춤 추천 결과(SAE-NAD) / 랭킹 기반 추천 결과(인기도) / 두 결과의 중복 장소가 서로 다른 색의 마커로 표시된다. 오른쪽에는 입력한 체크인 기록(상호명·카테고리·방문 횟수)이 함께 보인다.

즉 이 데모는 개인화 결과와 비개인화 결과를 같은 지도 위에 나란히 놓아, 두 리스트를 눈으로 비교할 수 있게 하는 장치였다. 2022년 3월 31일 최종 발표에서 라이브로 시연했고, 45명 블라인드 테스트도 이 데모로 진행했다. 산출물은 현대엔지비에 인계했다.

① 랜딩 화면 — '주변 검색 / VCRM 데이터 분석을 통한 커넥티드 카 서비스 기획'. 상단 내비게이션에 SAENAD 모델 정보와 '방문했던 POI' 진입 버튼을 두었다.
① 랜딩 화면 — '주변 검색 / VCRM 데이터 분석을 통한 커넥티드 카 서비스 기획'. 상단 내비게이션에 SAENAD 모델 정보와 '방문했던 POI' 진입 버튼을 두었다.
② 카테고리 선택 화면 — 문화시설/레저/스포츠, 음식점/카페/술집, 쇼핑 세 카테고리 중 추천받을 카테고리를 고른다. 모델을 카테고리별로 세 개 따로 학습했기 때문에 이 선택이 곧 사용할 모델의 선택이 된다.
② 카테고리 선택 화면 — 문화시설/레저/스포츠, 음식점/카페/술집, 쇼핑 세 카테고리 중 추천받을 카테고리를 고른다. 모델을 카테고리별로 세 개 따로 학습했기 때문에 이 선택이 곧 사용할 모델의 선택이 된다.
③ 방문 POI 입력 화면 — 상호명·카테고리·주소로 검색한 장소를 방문 기록으로 추가하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다. 이 입력이 모델의 학습 가중치(방문 횟수 × 피드백)로 그대로 들어간다.
③ 방문 POI 입력 화면 — 상호명·카테고리·주소로 검색한 장소를 방문 기록으로 추가하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다. 이 입력이 모델의 학습 가중치(방문 횟수 × 피드백)로 그대로 들어간다.
④ 추천 결과 화면 — 필터(카테고리 · 과거 방문지 포함 추천 · 추천 지역 단위 시군구/광역시도)를 고르면 지도 위에 현위치, 개인 맞춤 추천 결과(SAE-NAD), 랭킹 기반 추천 결과(인기도), 두 결과의 중복 장소가 각기 다른 색 마커로 표시된다. 오른쪽에는 입력한 체크인 기록이 함께 보인다.
④ 추천 결과 화면 — 필터(카테고리 · 과거 방문지 포함 추천 · 추천 지역 단위 시군구/광역시도)를 고르면 지도 위에 현위치, 개인 맞춤 추천 결과(SAE-NAD), 랭킹 기반 추천 결과(인기도), 두 결과의 중복 장소가 각기 다른 색 마커로 표시된다. 오른쪽에는 입력한 체크인 기록이 함께 보인다.
① 랜딩 화면 — '주변 검색 / VCRM 데이터 분석을 통한 커넥티드 카 서비스 기획'. 상단 내비게이션에 SAENAD 모델 정보와 '방문했던 POI' 진입 버튼을 두었다.
① 랜딩 화면 — '주변 검색 / VCRM 데이터 분석을 통한 커넥티드 카 서비스 기획'. 상단 내비게이션에 SAENAD 모델 정보와 '방문했던 POI' 진입 버튼을 두었다.
② 카테고리 선택 화면 — 문화시설/레저/스포츠, 음식점/카페/술집, 쇼핑 세 카테고리 중 추천받을 카테고리를 고른다. 모델을 카테고리별로 세 개 따로 학습했기 때문에 이 선택이 곧 사용할 모델의 선택이 된다.
② 카테고리 선택 화면 — 문화시설/레저/스포츠, 음식점/카페/술집, 쇼핑 세 카테고리 중 추천받을 카테고리를 고른다. 모델을 카테고리별로 세 개 따로 학습했기 때문에 이 선택이 곧 사용할 모델의 선택이 된다.
③ 방문 POI 입력 화면 — 상호명·카테고리·주소로 검색한 장소를 방문 기록으로 추가하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다. 이 입력이 모델의 학습 가중치(방문 횟수 × 피드백)로 그대로 들어간다.
③ 방문 POI 입력 화면 — 상호명·카테고리·주소로 검색한 장소를 방문 기록으로 추가하고, 방문 횟수를 조절하고 좋아요/싫어요를 남긴다. 이 입력이 모델의 학습 가중치(방문 횟수 × 피드백)로 그대로 들어간다.
④ 추천 결과 화면 — 필터(카테고리 · 과거 방문지 포함 추천 · 추천 지역 단위 시군구/광역시도)를 고르면 지도 위에 현위치, 개인 맞춤 추천 결과(SAE-NAD), 랭킹 기반 추천 결과(인기도), 두 결과의 중복 장소가 각기 다른 색 마커로 표시된다. 오른쪽에는 입력한 체크인 기록이 함께 보인다.
④ 추천 결과 화면 — 필터(카테고리 · 과거 방문지 포함 추천 · 추천 지역 단위 시군구/광역시도)를 고르면 지도 위에 현위치, 개인 맞춤 추천 결과(SAE-NAD), 랭킹 기반 추천 결과(인기도), 두 결과의 중복 장소가 각기 다른 색 마커로 표시된다. 오른쪽에는 입력한 체크인 기록이 함께 보인다.

결과 — 분석에서 끝내지 않고 내비게이션을 어떻게 바꿀지까지 제안했다

카테고리마다 운전자의 행동이 다르다는 것을 데이터로 확인했기 때문에, 추천 방식도 카테고리별로 다르게 제안했다

카테고리별 추천 시나리오 제안

카테고리제안한 추천 방식
음식점 / 카페 / 술집성별·연령대를 고려한 그룹화를 바탕으로, 운전자가 자주 방문하는 세부(소분류) 카테고리 내의 새로운 POI를 추천
문화 / 레저스포츠성별·연령대 그룹화를 바탕으로, 운전자가 방문한 적 있는 POI를 새로운 POI와 함께 추천
쇼핑성별·연령대 그룹화를 바탕으로, 방문한 적 있는 POI를 다시 추천하는 데 초점
관광개인화 추천보다는 해당 지역의 인기도·랭킹 기반 대중성을 고려한 POI 추천이 적합

산출물과 성과

  • 최종 보고서 83쪽 — 연구 개요, 진행 및 결과, 주요 연구내용 6장(사례 조사 / VCRM EDA / 문헌 조사 / 개인화 POI 추천 / 유저 스터디 / 웹 어플리케이션), 정리 및 부록. 2022년 3월 31일 최종 보고.
  • KCC 2022 논문 발표 — 「차량 운전자의 내비게이션 사용 이력 데이터셋을 활용한 개인화 POI 추천 시스템 (A Personalized POI Recommender System Using Drivers' Navigation History)」.
  • 산출물 인계 (2022.04) — 개인화 추천 모델, 웹 데모, 데이터 분석 실험 결과를 정리해 현대엔지비에 전달.
  • 후속 연구로 연결 — "숨은 명소를 못 맞힌다"는 한계가 이후 next-POI 추천의 네거티브 샘플링 연구(ASK'23 우수논문, WWW'24, 국내·국제 특허 출원)로 이어졌다.

정정 · 전처리에서 69%는 '복구'가 아니라 '삭제'였다

최종 보고서 원문은 위·경도 재매칭 단계에서 약 69%의 데이터가 삭제되었다고 적고 있다

이 절은 기존 본문의 사실관계를 정정하기 위한 것이다. 최종 보고서(2022.03.31) 슬라이드 12 '데이터 통합 및 전처리' 항목의 원문은 다음과 같다.

데이터 통합 — 검색 테이블, 리뷰 테이블, 고객 정보 테이블, POI 정보 테이블 통합

데이터 전처리 — (POI ID가 명시되지 않은 POI의 경우) 위, 경도 정보를 통해 POI ID 매칭 (약 69%의 데이터 삭제) / 수집 기간에 해당하지 않는 데이터 삭제 (약 1%의 데이터 삭제)

항목비율
전처리 전 데이터 수228,992,654개100%
전처리 후 데이터 수70,355,265개30.7%
제거된 데이터 수158,637,389개69.3%

즉 69%는 위·경도 재매칭으로 살려낸 양이 아니라 끝내 매칭되지 않아 삭제한 양이며, 전처리 전후 수치(228,992,654 → 70,355,265 = 69.3% 제거)와도 정확히 맞물린다. 실제로 한 일은 "POI ID가 비어 있는 기록을 위·경도로 POI 정보 테이블과 재매칭해 살릴 수 있는 것만 살리고, 끝내 맞지 않는 약 69%는 근거를 남기며 제외한 것"이다. 여기에 수집 기간을 벗어난 데이터 약 1%가 추가로 제거되었다.

따라서 기존 본문의 "POI ID가 비어 있던 약 69%의 기록은 위·경도로 POI 테이블과 재매칭해 살렸다"와 대표 수치 카드의 "POI ID 결측 복구 69%"는 방향이 뒤집힌 서술이다. 대표 수치는 "전처리로 제거한 데이터 69.3% (POI ID 미매칭 약 69% + 수집 기간 외 약 1%)" 또는 "잔존율 30.7%"로 바꾸는 것이 원문에 맞다.

정정 · 최종 보고서 원문의 쇼핑 시나리오는 '함께 추천'이다

보고서 슬라이드 53은 쇼핑을 문화/레저와 같은 방식으로 제안한다

기존 본문의 '카테고리별 추천 시나리오' 표에서 쇼핑 항목은 "방문한 적 있는 POI를 다시 추천하는 데 초점"으로 적혀 있으나, 이는 포트폴리오 요약본의 압축 표현이다. 최종 보고서(슬라이드 53) '결과 정리 및 결론'의 원문은 다음과 같다.

카테고리최종 보고서 원문
음식점/카페/술집성별/연령대를 고려한 그룹화 기반의, 운전자가 자주 방문하는 세부 카테고리 내의 새로운 POI 추천이 적합
문화/레저성별/연령대를 고려한 그룹화 기반의, 운전자가 방문한 적 있는 POI를 새로운 POI와 함께 추천하는 것이 적합
쇼핑쇼핑 카테고리 또한, 성별/연령대를 고려한 그룹화 기반의, 운전자가 방문한 적 있는 POI를 새로운 POI와 함께 추천하는 것이 적합
관광개인화 추천보다는 해당 지역의 인기도/랭킹 기반의 대중성을 고려한 POI 추천이 적합

즉 원문은 쇼핑과 문화/레저를 같은 방식으로 제안한다. "다시 추천하는 데 초점"이라는 표현은 원문에 없으므로, 원문 문구로 교체하거나 병기하는 것이 정확하다.

결론 절의 나머지 요약 문장

  • 추천 정확도 — "모든 카테고리에서, 비개인화(인기도 기반) 방법보다 운전자 개인 취향에 맞는 POI들을 더 효과적으로 추천", "특히 음식점/카페/술집에서, 운전자가 아직 방문한 적 없는 새로운 POI들을 매우 높은 정확도로 추천 가능함을 확인".
  • 유저 스터디 — "모든 카테고리에서, 개인화 추천 결과 리스트가 비개인화 결과 리스트보다 더 많은 수의 선택을 받음", "개인화 추천 결과에 대한 과거 방문지 포함/미포함 리스트 모두 높은 만족도 점수를 받음".

데이터 원본에서 읽은 두 가지

검색 기록에는 '수집 시점'이 따로 남고, 나이는 연 단위 정수로 들어온다

보고서에는 네 테이블의 예시 레코드가 한 줄씩 실려 있다. 컬럼 목록(본문 3단계 절)에 더해 이 예시에서 읽을 수 있는 사실은 두 가지다.

첫째, 검색 테이블에는 '데이터 수집시점' 항목이 따로 있고 값이 '경로 탐색 완료'처럼 들어온다. 같은 검색 행위 안에서도 어느 시점에 남은 기록인지를 구분할 수 있다는 뜻이다.

둘째, 운전자 정보의 '나이'는 원본에 연 단위 정수(예: 23)로 들어와 있다. 따라서 모델 입력의 연령대(20–30대 / 40–50대 / 60대 이상)는 이 값을 직접 구간화한 결과다.

부록 · EDA 거리·시간대 분석의 원문 수치

거리 분석은 세 장짜리이고, 요일별 비율은 일곱 개 값이 그래프에 그대로 붙어 있다

④ 목적지와의 거리 — 보고서의 세 장짜리 구성

거리 분석은 (1/3) 전체 → (2/3) 통합검색 카테고리별 → (3/3) 주변검색 카테고리별로 나뉘어 있고, (2/3)의 결론 문장이 기존 본문에서 빠져 있다.

  • (1/3) — "1~5km 이내 POI 방문 비율이 가장 높고, 주변 검색 메뉴를 통해 가까운 위치의 POI 검색". 통합검색 5km 이내 약 37%, 주변검색 약 82%.
  • (2/3) — "생활편의는 1~5km 이내, 교통편의는 10km 이내, 여행/레저는 1~5km와 50km 이상의 통합검색 비율이 높음". 즉 여행/레저는 근거리와 초장거리 양쪽에 봉우리가 있는 이중 분포다.
  • (3/3) — "주변검색을 이용하여 5km 이내 POI를 검색하는 비율이 대부분임".
  • 그래프 계열 라벨은 평균 / 생활편의 / 금융편의 / 여행레저로, 본문 표에 없는 금융편의 계열이 별도로 그려져 있다. (EDA ③의 "생활편의·교통편의·금융편의는 거리순 이용 비율이 상대적으로 높다"는 관찰과 짝을 이룬다.)

⑦ 시간대 — 요일별 검색 비율 7개 값

슬라이드 68의 요일 그래프에는 라벨 없이 일곱 개 값이 순서대로 붙어 있다.

순서1234567
검색 비율12.6%12.6%12.6%12.2%13.8%19.5%16.8%

보고서 본문 서술은 "토요일과 일요일에 검색 빈도 크게 증가"이며, 검색 시각은 "주로 낮 시간대에 많은 검색이 이루어짐(특히 13시 경 가장 많이 발생, 8.94%)"이다. 시간대별 대분류 그래프의 계열은 공공편의 · 교통편의 · 금융편의 · 기업/단체 · 기타 · 생활편의 · 여행/레저 · 의료편의 8종으로, 이것이 대분류 8종의 실제 이름이다(기존 본문은 대분류 8종이라는 개수만 밝혔다).

슬라이드 69의 결론 문장은 "시간대에 따라 카테고리별 검색비율이 변화하여 시간대별 개인화 추천 고려 가능"이다 — 시간 정보를 쓰는 TMCA를 보류한 뒤에도, 시간대별 추천을 향후 개입 지점으로 남겨두었음을 보여주는 문장이다.

① 검색 방법 — 발표자 노트의 목표 설정

슬라이드 14 발표자 노트에는 분석 인사이트가 한 줄로 명시되어 있다 — "[전체] 주변검색 이용 비율을 늘리는 방안을 고려해보아야 함", 그리고 "주변검색 메뉴 개선을 통한 주변검색 이용률 개선은 도전할 만한 중요한 목표가 될 수 있는 상황으로 보여집니다". 9가지 관점 각각에 "그래서 내비게이션을 어떻게 바꿔야 하는가"를 한 줄로 붙였다는 서술의 실제 사례다.

여기서 배운 것

  1. 데이터를 믿기 전에 먼저 의심한다. POI ID가 빠진 69%를 그냥 버렸다면 전혀 다른 결론이 나왔을 것이다. 전처리에서 무언가를 버릴 때마다 "무엇을 잃는가"를 적어두는 습관이 이 과제에서 생겼다.
  2. 논문은 출발점이고, 설계는 도메인이 결정한다. "아파트·회사·공장은 취향이 아니다"처럼 내비게이션에서만 보이는 사실이 추천 대상 카테고리 선별, 성별·연령 그룹 인기도, 추천 지역 범위라는 구체적 설계로 이어졌다.
  3. 오르지 않은 숫자가 다음 질문을 만든다. Non-visited 테스트셋에서 쇼핑·문화/레저 성능이 떨어진 것을 숨기지 않고 파고든 것이 행동 가설 두 개와 유저 스터디, 카테고리별 시나리오 제안, 그리고 이후 석사 연구 주제(네거티브 샘플링)까지 이어졌다.
  4. "정확도가 올랐다"보다 "어디서, 왜 올랐는지"를 보여주는 평가 설계가 더 중요하다. 시간순 8:2 분할, 미방문 테스트셋 분리, 동일 후보군 baseline, 히스토리 단독 vs 그룹 인기도 결합의 기여 분리가 그 장치였다.
  5. 숫자·사례·사람의 세 층으로 검증했다. Recall@N(숫자) → 실제 운전자 기록을 따라간 테스트 케이스(사례) → 45명 블라인드 테스트(사람). 세 층이 모두 같은 방향을 가리켰을 때 비로소 서비스 시나리오를 제안할 수 있었다.
  6. 모델 결과를 사람이 만져볼 수 있는 형태(웹 데모)로 내놓으면 표에서는 보이지 않던 요구가 드러난다. "추천 이유를 보여달라", "프랜차이즈는 빼달라", "색다른 장소를 원한다" 같은 의견은 데모 없이는 얻을 수 없었다.