Deview 2021, 서치 관련 세션을 보고

Document.H
h_document
Published in
6 min readDec 5, 2021

Deview 2021 중 ‘검색’ 관련 영상들을 보고 정리했습니다.

우리나라를 대표하는 포털사이트인 네이버에서는 ‘서치’ 관련해서 어떤 고민들을 했고, 또 어떻게 개선시켜 나갔는지 궁금했습니다. ‘서치’세션과 ‘추천’세션 중 아래 2가지 세션을 들었습니다.

  1. 검색 개선을 위한 검색 사용자 이해하기
  2. 검색 결과도 더 똑똑해 보일 수 있을까
  • 네이버에서는 어떤 관점에서 서비스를 개선시켰는지를 알기 위한 목적이므로, 모델링에 대한 자세한 설명들은 생략합니다.
  • 사용된 이미지는 deview세션에서 활용된 이미지를 캡쳐한것입니다.

검색 개선을 위한 사용자 이해하기

유저의 검색 과정은 ‘쿼리를 전달하여 검색 수행 →검색 결과를 검토하여 유저에게 결과를 보여준다.→유저는 원하는 문서를 파악→스크롤하여 추가적인 결과 확인→클릭하여 유저가 원하는 문서인지 검토’ 다음과 같이 이루어집니다.

사용자 행동 모델링은 크게 2가지 모델(Primitive Feature, Click Model)이 있습니다. 사용자 로그를 데이터셋으로 사용한다는 공통점이 있지만, Primitive Feature 의 모델링 대상은 문서의 노출 빈도, 클릭 빈도등이며 모델링 기법은 간단한 수식을 통한 연산입니다. Click model은 사용자 행동 자체를 모델링 한 것으로 PGM 기반 확률 모델, Neural Net 모델로 Primitvie feature 보다 복잡하다는 특징을 가지고 있습니다.

어떤 feature가 좋을지에 대한 평가지표

DCG

  • 문서와 쿼리의 연관도(CG)를 랭킹 위치에 따라 패널티를 부여한 값
  • 한마디로, 랭킹의 퀼리티를 나내는 점수

NDCG

  • 모델이 예측한 DCG를 정답셋의 DCG로 정규화 한 값
  • 정답셋에 대한 랭킹의 퀼리티를 나타낸 점수

NDCG를 중요한 평가지표로 활용하고 있습니다.

Click model

PGM(Probabilistic Graphical Model)

  • 여러 변수간의 의존성을 그래프로 표현한 확률 모델
  • 확률이론, 베이지안 통계분석 및 ML에 폭넓게 활용
  • 클릭정보가 부족한 문서의 경우 모델의 학습/예측에 활용되지 못함
  • 블로그/카페/웹 등 혼재된 통합검색의 특징을 잘 담아내지 못함 → 탭구조에서 잘 담아내지 못함
  • 사용자의 행동에 포함된 노이즈값의 고려 필요

PBM (Position based model)

  • 사용자가 문서를 확인하고 그 문서가 매력적일 때, 사용자는 해당 문서를 클릭 한다는 가정에서 출발
  • 사용자가 문서를 확인하는 행동은 해당 문서의 위치(랭킹)에 영향을 받는다는 정의 포함
  • 위의 가정을 PGM문제로 정의, 해결하는 모델
  • 문서를 클릭할 확률 = 문서를 확인할 확률 * 문서가 매력적일 확률

UBM (User Browing Model)

  • PBM과 가장 큰 차이점은 유저의 연속된 행동을 고려하는 모델
  • 기본적인 정의는 PBM과 동일함
  • 다만 사용자가 문서를 확인하는 행동이 해당 문서 이전에 클릭한 위치(랭킹)에도 영향을 받는다는 정의 포함

DBN (Dynamic Bayesian Network Model)

  • 다른 모델과 동일하게 사용자가 문서를 확인하고 그 문서가 매력적일 때 해당 문서를 클릭한다는 가정에서 출발
  • 다만 사용자가 해당 문서를 얼마나 만족했는지에 따라 지속적으로 검색을 수행/중단할지 여부 결정 (직전 검색결과 만족 : 검색을 중단함, 직전 검색결과 불만족 : 검색을 중단 혹은 지속함)

사용자 의도와 취향을 이해하는 네이버 통합검색

질의 의도에 따라 검색결과를 최적화하게 됩니다. 검색어에 따라 보여지는 화면이 다른것을 알 수 있습니다. 결과 페이지까지 보여지기까지 네이버 검색은 2단계 랭킹 구조를 가지고 있습니다. 1차 ranker — vertical search ranking, 2차 ranker — integrated search ranking 으로 어떤 vertical을 제공할지 고려하게됩니다.

검색 결과도 더 똑똑해 보일 수 있을까?

Query Processing : 질의를 분석하고 검색의도를 파악하는 목적

  • Query Normalization : subject, property 분리 → 질의의 의도 파악이 목적이 됩니다. 키워드 ‘네이버 플러스 맴버십 가격’ → ‘네이버 플러스 맴버십’ subejct / ‘가격’ property
  • Answer type detection :Property에 해당하는 Answer Type 부착
  • 사전에 정의된 property 사전을 사용. ‘가격’ property → ‘money’ answer type

Query Extension : Subject와 Property의 유의어 확장, property가 생략된 질의의 property추정

  • subject 유의어, property 유의어로 확장하게 됩니다. 가격은 money answer type의 유의어인 ‘요금’, ‘금액, ‘가격’등으로 확장해서 질의합니다.
  • property estimation : property가 없으면 answer type을 알 수 없습니다. 따라서 ‘질의 + property’ 형태로 확장하여 property를 추정합니다.
  • 문서 제목, 형태가 유사한 질의를 통해 추정하게 됩니다.

Document Processing : 문서를 parsing하여 본문 영역을 파악하는 것

Snippet Extraction : 질의에 적합한 스니펫을 추출하는 것

총 3가지 extension이 있습니다.

  • Query Driven Snippet Extraction
  • Document-Driven Snippet Extratction
  • Image Matching : 문서에 나타나는 이미지 중 가장 적절한 이미지 선정, vision transformer를 이용한 vision language model 사용

마무리하며

‘검색’ 하나의 feature에 여러가지 로직이 있고, 그 로직을 위해 여러 팀이 협업하는 것을 간접적으로 알 수 있었습니다. 검색 결과가 보여지는 방법에 대해서도 생각 확장을 할 수 있는 계기였으며, 서치에 관한 지표도 제공하는 기능과 보여짐에 따라 측정할 수 있는것이 다르다는 것을 다시 알 수 있었습니다. ‘매력도’ 지표를 측정할 때는 ‘유저의 피드백’을 통해서 측정할 수 있지 않을까 했는데, 그 관점의 폭이 ‘유저가 피드백을 주지 않아도 측정 가능한 지표’로 범위가 넓어져서 유익했습니다.

--

--

Document.H
h_document

좋은 질문을 던지고 싶은 데이터분석가