여행 검색 경험 향상을 위한 AI 활용

여행을 준비할 때 우리는 숙소, 투어, 액티비티, 입장권 등 다양한 상품을 한 곳에서 검색하고 싶어합니다. 마이리얼트립의 통합검색은 바로 이런 니즈를 반영해, 항공을 제외한 모든 여행 상품을 한 곳에서 검색할 수 있도록 설계된 기능입니다. 하지만…

Share
여행 검색 경험 향상을 위한 AI 활용

여행을 준비할 때 우리는 숙소, 투어, 액티비티, 입장권 등 다양한 상품을 한 곳에서 검색하고 싶어합니다. 마이리얼트립의 통합검색은 바로 이런 니즈를 반영해, 항공을 제외한 모든 여행 상품을 한 곳에서 검색할 수 있도록 설계된 기능입니다. 하지만 이렇게 다양한 상품을 한 번에 보여줄 때, “어떤 종류의 상품을 먼저 노출할 것인가?” 라는 중요한 문제가 발생합니다. 예를 들어, 사용자가 ‘제주 신화월드’ 를 검색했을때는 국내 숙소를, ‘홍콩 디즈니랜드’ 를 검색했을때는 티켓을 먼저 보여줘야 하는 거죠.

검색추천팀의 머신러닝 엔지니어인 이성진님은 이런 문제를 해결하기 위해 사용자가 입력한 키워드를 분석하여 어떤 종류의 여행 상품(예: 숙소, 티켓, 투어 등)을 가장 먼저 보여주는 것이 사용자의 의도에 부합하는지 판단할 수 있는 AI 기반 검색어 분류 시스템을 개발하기 시작했습니다.

검색 결과와 사용자 의도 사이의 간극

마이리얼트립의 통합검색을 통해 키워드 검색을 하면 가끔 사용자의 실제 의도와 검색 결과가 일치하지 않는 경우가 있습니다. 가령 ‘제주 신화월드’ 를 검색했을 때 투어/티켓 검색 결과가 상단에 나오는 경우를 들 수 있지요. 이렇게 여행 검색은 다양한 의도를 담고 있어 더욱 복잡합니다. 호텔을 찾는 것인지, 관광지 정보를 원하는 것인지, 아니면 티켓 예약을 원하는 것인지에 따라 적절한 결과가 달라져야 하지만, 현실은 그렇지 않은 경우가 많았습니다.

처음 시도했던 방식과 그 한계

“NER은 지나치게 복잡했고, 직접적인 의도 분류로 이어지기 어려웠습니다.”

가장 먼저 시도한 접근은 NER(Named Entity Recognition)을 활용한 방식이었습니다. Claude 기반으로 BIO 태깅(단어에 B(시작), I(내부), O(밖) 형태의 라벨을 붙여 엔터티 위치를 나타내는 방식)된 데이터를 생성하고, Llama 3.2B 및 Blossom 같은 Open 모델을 미세조정해 학습시켰습니다. 그러나 이 방식은 결과적으로 의도 분류라는 목적에 비해 구조가 지나치게 복잡했고, 실제 서비스 적용에 적합하지 않았습니다. 엔터티를 추출한 후 다시 해석해야 하는 이중 구조가 실효성을 떨어뜨렸기 때문입니다. NER 기반 접근은 여기서 중단하고, 보다 직접적인 분류 방식으로 전환했습니다.

Claude를 활용한 분류 시스템 구축

우리는 분류 모델을 통해 쿼리를 직접 투어, 티켓, 숙소, 렌터카, 쇼핑, 복합 등으로 나누기로 했습니다. 우선 3개월간의 통합검색 로그 30만여건 중 8회 이상 검색된 약 5만 개의 쿼리를 수집했고, 이 중 기존에 수작업 처리된 쿼리를 제외한 4.5만 개 정도에 대해 Claude를 이용해 분류를 진행했습니다.

“약 90%의 쿼리를 안정적으로 분류할 수 있었고, 그 중 24%는 기존의 노출 순서를 바꾸는 효과를 냈습니다.”

프롬프트는 총 12회 이상의 반복 실험을 통해 개선되었고, 각 클래스의 정의와 판단 기준을 명확히 규정하며, 확신이 없을 경우 default로 처리하도록 설계했습니다. 결과적으로 전체 쿼리의 약 90%에 대해 안정적으로 분류가 가능했고, 이 중 24%는 기존과 다른 순서로 노출하는 결과를 도출해냈습니다. 사용자의 검색 의도에 맞는 더 적절한 상품들을 노출할 수 있게 된거죠.

확장과 실험의 여지들

“사용자 행동 데이터 기반으로 피드백 루프를 구성할 수 있다면, 분류 시스템의 정밀도는 더욱 높아질 것입니다.”

이 시스템은 아직 진화 중입니다. 향후에는 쿼리 변형과 웹 문맥을 활용한 확장 실험도 계획하고 있습니다. 예를 들어, 유사 쿼리를 클러스터링해 의도를 확장하거나, 웹에서 수집한 관련 정보로 분류 정확도를 높이는 방식입니다. 단, Claude의 토큰 한계로 인해 입력이 과도해질 경우 로컬 모델로의 전환도 고려하고 있습니다. 또한 사용자 행동 데이터(예: 클릭, 전환 등)를 반영해 의도를 정교하게 해석하거나, 복합 의도(예: “제주 호텔 오션뷰”)를 세분화하는 방향도 검토 중입니다.

AI를 현업에 녹여낸다는 것

“단순히 AI를 도입하는 것이 아니라, 실제 사용자 경험을 개선할 수 있어야 진짜 의미가 있습니다.”

이 프로젝트는 단순한 분류 모델 적용에 그치지 않습니다. 우리가 얻은 가장 큰 인사이트는 LLM을 실제 운영 환경에 녹여내기 위해선 단순 정확도 이상으로 “서비스 상의 효용성”과 “운영 가능성”이 중요하다는 점입니다. 어떤 프롬프트가 일관되게 동작하는지, 시스템에 부하 없이 배치 처리가 가능한지, 혹은 유저 경험에 실질적인 영향을 주는지까지 종합적으로 고려해야 했습니다. 실제로 Q&A 시간에는 로컬 모델의 속도 및 콜드스타트 대처 가능성, 사용자 행동 데이터를 반영한 피드백 루프 구성 방안 등이 논의되었고, 이는 시스템의 실용성과 지속가능성에 대해 고민하게 해준 중요한 화두였습니다.

검색 의도를 정확히 파악하고 이에 따라 상품을 더 잘 연결해주는 일. 그것은 단순히 기술의 문제가 아닌, 사용자 경험의 본질을 건드리는 일이었습니다. 우리는 이 방향을 계속 밀고 나가보려 합니다.

Read more

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

경기 시작 전 아직은 조용한 경기장. 관중석이 채워지기 전, 선수들이 그라운드로 나와 몸을 풉니다. 누군가는 그 모습을 관중석이 아니라 바로 앞에서 봤습니다. 선수들이 걸어 나오는 통로 앞, 숨소리가 들릴 만큼 가까운 자리였습니다. 몇 시간 뒤 함성으로 채워진 경기장 전광판에는 이들을 맞는 문구가 떴고, 경기가 끝난 뒤에는 선수에게 직접 사인을 받았습니다.

By 마이리얼트립
눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

마이리얼트립 앱 내 커뮤니티의 '동행매칭'은 같은 시기에 같은 도시로 떠나는 여행자를 서로 연결하는 서비스입니다. 지난 넉 달 동안 이 서비스를 커뮤니티의 중심으로 옮기고, 참여하는 방식을 다시 설계했습니다. 기존 커뮤니티에는 여러 주제의 게시판이 있었고, 작업은 무엇을 남길지 고르는 일에서 시작했습니다. 동행을 찾는 관심은 충분했습니다. 다만 글을 여러 개

By 마이리얼트립
한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

마이리얼트립에서 떠나는 여행의 대부분은 파트너의 손에서 시작됩니다. 현지에서 투어를 진행하고, 숙소를 운영하고, 여행자의 문의에 답하는 일을 파트너가 함께합니다. 마이리얼트립은 그 여행이 여행자에게 잘 닿게 하는 일을 맡습니다. 어느 한쪽만 잘해서는 좋은 여행이 되지 않습니다. 마이리얼트립이 파트너의 운영을 돕는 일에 오래 공을 들여 온 이유입니다. 파트너의 하루가 수월해지는 만큼 여행자의 여행도

By 마이리얼트립
여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

뷰티·웰니스. 여행 앱에서 이 단어를 마주하면 잠깐 갸웃하게 됩니다. 항공권과 숙소, 투어를 예약하던 곳에서 웬 마사지와 스파일까요. 그런데 따지고 보면 둘은 생각보다 가까운 사이입니다. 여행을 준비할 때 우리는 컨디션을 챙기고, 사진 속 나를 신경 쓰고, 다녀와서는 쌓인 피로를 풀고 싶어 합니다. 여행이 나를 위한 시간이라면, 나를 돌보는 관리 역시

By 마이리얼트립