grep

Engineering

검색운영에 반드시 필요한 검색 키워드 관리 이야기

Whale여기어때

2024년 12월 31일

원문에서 보기 ↗

안녕하세요 랭킹추천개발팀 웨일 입니다.

검색 시스템은 현재까지도 형태소 분석과 사전 기반의 전통적인 방식이 주류를 이루고 있으며, 이러한 구조 속에서 여기어때의 검색 시스템은 연동된 검색 관리자 페이지를 통해 여러 단어를 효율적으로 관리하고 있습니다.

기존 형태소 분석 및 키워드 분석에 대한 테스트의 어려움

검색 개발자, 운영자, 그리고 PO를 연결해주는 검색 Admin에서는 검색 시스템에 필요한 사전 관리를 위해 사전을 반영하고, 그 결과를 간단히 확인할 수 있는 페이지가 필요했습니다. 그러나 기존 화면은 키워드의 간단한 분석 결과만 제공할 뿐, 해당 키워드가 어떤 분석기를 거쳤고 어떤 사전을 참고했는지 명확히 알기 어려운 한계가 있었습니다.

기존 시스템에 있던 키워드 분석 테스트

검색 시스템 내 분석기 API 에서는 Position, Offset등등 세부적인 정보를 제공하지만, 지나치게 간소화 되어 있어 개발자도 PO도 키워드에 대한 분석이 전반적으로 어떻게 분석이 되었는지에 대한 흐름을 자세히 알기가 힘듭니다.

이 문제를 해결하기 위해 페이지 개선이 필요하다고 판단했으며, 추가적으로 분석기를 교체하거나 개선할 경우 두 분석기를 비교해볼 수 있는 기능이 있으면 좋겠다 싶어, 이를 바탕으로 1차 구상을 진행한 뒤 개발을 시작했습니다.

키워드 분석 페이지 개선 시작!

화면구성 스케치

화면을 구성 할 때 가장 큰 고민은 개발자, 운영자, PO가 사용하는 용어가 서로 다르다는 점이었습니다. 화면 설계를 누구에게 맞춰야 할지 고민했지만, 결국 검색 도메인의 특성과 전문성을 고려해 일반적인 용어를 풀어서 설명하기보다는 검색 용어를 그대로 사용하는 것이 더 적합하다는 판단 아래 개발을 진행했습니다.

개선된 키워드 분석 페이지( 전처리 미 포함)

기존 화면 대비 세부적으로 정보를 보여주고, 분석기에 따라 키워드를 어떻게 분석하는지 볼 수 있는 기능이 추가되었지만, 현재 여기어때 서비스에서 활용 중인 오타 교정 및 질의어 등등 여러 전처리 단계를 연계하기에는 여전히 운영에 어려움이 있었습니다. 실제로 운영팀에서도 관련 문의가 자주 발생했고, 내부적으로 트래킹 작업도 쉽지 않았습니다.

이런 문제를 해결하기 위해 분석 흐름을 도식화하여 보여주는 페이지가 필요하다고 판단했고, 다양한 오픈 소스를 찾아보던 중 GitHub에서 흥미로운 소스 (https://bramp.github.io/js-sequence-diagrams/ )를 발견하게 되었습니다.

복잡한 분석 결과에 그림을 그려보자

검색 API로 키워드가 유입되면 분석되는 순서를 위의 흐름도와 같이 보여주면 어떨까 싶어서 운영되고 있는 키워드 흐름에 맞게 흐름도를 그려 줄 수 있는 기능을 하나 추가 했고, 더하여 흐름도 이외 간단한 표로 흐름을 알 수 있도록 화면 구성을 하였습니다.

Step 추가

우선 화면 구성을 추가를 했고 아래와 같이 팝업 형태의 도식화 화면을 추가 하였습니다. 기존 시스템에서 확인하기 힘든 질의어 전처리 부분인 오타교정, 질의어분류 모듈에 대한 분석결과도 알 수 있었으며 검색 Admin에서 수정을 하면 즉각 확인할 수 있는 페이지로 개선 되었습니다.

도식화

분석 결과 페이지에서 흐름도 버튼을 누르면 팝업 형태로 위의 결과가 나오게 됩니다. 어떤 키워드가 오타 교정을 타는지, 질의어 분류를 타는지 등등 세부정보를 시각화 하여 검색 키워드 사전 관리 시 대상 키워드에 대한 추가나 삭제 등 운영관리의 편의성이 높아졌습니다.

개발자 , PO 활용

위의 페이지가 오픈되고 개발자와 PO간 키워드 분석 관련 논의를 할 때 유용하게 활용되고 있습니다. 기존 대비 형태소 분석, 질의어 분류 등 1차 문의가 많이 줄어들었고, 오 분석 및 사전 반영 방법에 대한 문의에 대해 해당 페이지를 참고하여 문의가 들어와 키워드에 대한 개발자의 확인 편의성이 많이 높아졌습니다.

실제 서비스 중인 환경에서도 이 키워드가 검색이 되어 나오는 이유에 대한 직관적인 페이지가 아닌가 싶습니다. 평소에 검색 키워드가 들어가면 어떻게 분석 되는지에 대한 시각적인 요소를 더하고 싶은 검색 개발자가 있다면 참고해서 개발해보는것도 좋지 않을까 합니다.