넷플릭스, AI 기반 자연어 검색으로 검색 경험 혁신

by DD
4개월 전
조회수 84

기존 구조화된 쿼리 언어(Structured Query Language) 기반 검색의 한계를 극복하기 위해 자연어 검색(Natural Language Search) 도입

LLM(Large Language Model)을 활용하여 사용자 질의를 Graph Search Filter DSL로 변환하는 Text-to-Query 시스템 구축

RAG(Retrieval Augmented Generation) 패턴을 적용하여 LLM에 필요한 컨텍스트 엔지니어링(Context Engineering) 수행

구문 및 의미론적 검증(Syntactic and Semantic Correctness)을 통해 LLM의 AI 환각(Hallucination) 문제 해결

사용자 질의의 의도를 정확하게 파악하기 위해 UI 기반 시각화(UI-based Visualization)명시적 엔티티 선택(Explicit Entity Selection) 기능 제공

자연어 검색(Natural Language Search) 도입 배경

넷플릭스(Netflix)는 기존 Graph Search Filter DSL 기반 검색의 복잡성을 해결하기 위해 자연어 검색(Natural Language Search)을 도입했다. 기존 시스템은 사용자가 DSL(Domain Specific Language)을 직접 학습해야 하는 불편함이 있었고, UI(User Interface)별로 상이한 사용성을 제공했다. 또한, 수백 개의 필드를 가진 인덱스(Index)에서 원하는 정보를 찾기 위해 복잡한 UI 양식을 채워야 하는 어려움이 있었다. 사용자 경험(User Experience) 개선을 위해 자연어 검색을 통해 사용자가 원하는 정보를 직관적으로 검색할 수 있도록 시스템을 설계했다.

Text-to-Query 시스템 아키텍처

본문에서는 사용자 질의를 Graph Search Filter DSL로 변환하기 위해 LLM(Large Language Model)을 활용하는 Text-to-Query 시스템 아키텍처를 소개한다. 시스템은 크게 컨텍스트 엔지니어링(Context Engineering), 필터 생성, 검증 단계로 구성된다. 컨텍스트 엔지니어링 단계에서는 RAG(Retrieval Augmented Generation) 패턴을 사용하여 LLM에 필요한 정보를 제공한다. 필터 생성 단계에서는 LLM이 사용자 질의를 기반으로 DSL 필터를 생성하고, 검증 단계에서는 생성된 필터의 구문 및 의미론적 정확성(Syntactic and Semantic Correctness)을 검증한다. 이러한 과정을 통해 사용자의 의도를 정확하게 파악하고, AI 환각(Hallucination) 문제를 해결한다.

RAG(Retrieval Augmented Generation) 기반 컨텍스트 엔지니어링

넷플릭스는 LLM(Large Language Model)에 적절한 컨텍스트를 제공하기 위해 RAG(Retrieval Augmented Generation) 패턴을 활용한다. 필드 RAG(Field RAG)를 통해 인덱스 필드와 메타데이터(Metadata)를 임베딩(Embedding)하고, 사용자 질의와 관련된 필드를 선택한다. 또한, Controlled Vocabularies RAG를 통해 특정 필드 값과 관련된 정보를 제공하여 LLM이 정확한 필터를 생성하도록 돕는다. 이러한 RAG 기반 컨텍스트 엔지니어링은 LLM의 정확성(Accuracy)을 높이고, AI 환각(Hallucination)을 줄이는 데 기여한다.

필터 생성 및 검증 과정

LLM(Large Language Model)은 컨텍스트 정보를 바탕으로 Graph Search Filter DSL 필터를 생성한다. 생성된 필터는 구문적 정확성(Syntactic Correctness)을 위해 AST(Abstract Syntax Tree) 파서를 통해 검증되며, 의미론적 정확성(Semantic Correctness)을 위해 인덱스 메타데이터와 비교하여 필드 및 값의 유효성을 검사한다. 넷플릭스는 이러한 검증 과정을 통해 LLM이 생성한 필터의 품질을 보장하고, 사용자에게 정확한 검색 결과를 제공한다. 검증 실패 시 재시도 또는 사용자 피드백(User Feedback)을 통해 시스템의 정확성을 지속적으로 개선한다.

사용자 경험(User Experience) 개선 전략

넷플릭스는 사용자 질의의 의도를 정확하게 파악하고, 검색 결과에 대한 신뢰도를 높이기 위해 다양한 사용자 경험(User Experience) 개선 전략을 사용한다. UI 기반 시각화(UI-based Visualization)를 통해 생성된 필터를 시각적으로 보여주고, 사용자가 필터의 내용을 쉽게 이해하고 수정할 수 있도록 돕는다. 또한, 명시적 엔티티 선택(Explicit Entity Selection) 기능을 제공하여 사용자가 특정 엔티티를 선택하도록 유도함으로써 질의의 모호성을 줄이고, 검색 결과의 정확성을 높인다. 이러한 전략은 사용자가 시스템을 더 쉽게 이해하고, 원하는 정보를 정확하게 얻을 수 있도록 돕는다.

The AI Evolution of Graph Search at Netflix