Passage Retrieval: 문서 검색

국부은하군·2024년 10월 14일
0

Passage Retrieval

목록 보기
1/4
post-thumbnail

Passage Retrieval

Passage Retrieval(패시지 검색)은 대량의 문서 데이터베이스에서 특정 질문에 대한 답을 포함하는 짧은 텍스트 조각, 즉 '패시지'를 찾아내는 과정이다. 이 기술은 정보 검색(IR)의 한 형태로, 특히 대화형 AI나 질의응답(QA) 시스템에서 중요한 역할을 한다. Passage Retrieval은 복잡한 질문에 대해 매우 정확한 답을 제공하기 위해 텍스트의 작은 부분을 추출하여 활용한다. 이러한 방식은 사용자가 원하는 정보를 더욱 빠르고 효과적으로 얻을 수 있도록 해준다.

전통적인 문서 검색 방식은 사용자가 입력한 쿼리에 대해 관련 있는 전체 문서를 반환하지만, Passage Retrieval은 해당 문서에서 질문에 답변할 수 있는 핵심 부분만을 선택하여 제공한다. 이를 통해 사용자는 필요한 정보를 더 효율적으로 얻을 수 있다. 특히, 검색된 문서가 길고 그 중 일부만 유의미한 경우, 패시지 검색을 통해 매우 간결하고 구체적인 정보만을 제공할 수 있다. 이는 사용자가 불필요한 정보를 탐색하는 시간을 줄여 주며, 필요한 정보에 보다 집중할 수 있도록 돕는다.

Overview of Passage Retrieval

Passage Retrieval의 핵심은 어떻게 효율적으로 문서 내의 특정 부분을 추출하는가이다. 이를 위해 다양한 방법들이 사용되는데, BM25와 같은 전통적인 단어 기반 통계 기법부터 BERT와 같은 딥러닝 모델을 이용한 컨텍스트 기반 검색 기법까지 발전해왔다. BM25는 단순히 단어의 빈도수를 기반으로 관련성을 평가하는 방식이지만, BERT 기반의 Passage Retrieval은 문맥을 이해하고 질문에 가장 잘 맞는 답변을 문서 내에서 찾아낼 수 있어 특히 많은 관심을 받고 있다. 이 과정에서는 종종 토크나이저(tokenizer)임베딩(embedding) 기법이 사용되어 텍스트를 숫자 형태로 변환하고, 유사도를 측정해 가장 관련성 높은 패시지를 찾는다. 이러한 딥러닝 모델을 활용한 접근 방식은 기존의 검색 방식보다 훨씬 더 정확하고 정교한 결과를 제공한다.

예를 들어, 사용자가 '피라미드는 언제 지어졌나요?'라고 질문한다면, 전통적인 검색에서는 피라미드에 관한 여러 문서를 반환할 것이다. 그러나 Passage Retrieval 시스템은 문서 내에서 피라미드의 건축 연도를 설명하는 정확한 구절을 찾아내어 사용자에게 보여준다. 이렇게 함으로써 사용자는 방대한 정보를 헤매지 않고도 바로 원하는 답을 얻을 수 있게 된다. 이러한 방식은 특히 시간에 민감한 상황이나 정확한 답변이 필요한 경우에 큰 장점을 제공한다. 사용자는 여러 문서를 일일이 읽을 필요 없이, 가장 관련 있는 정보를 빠르게 찾아낼 수 있다.

Passage Retrieval의 동작

Passage Retrieval은 Query와 Passage를 임베딩한 뒤 유사도로 랭킹을 매기고, 유사도가 가장 높은 Passage를 선택하는 방식으로 동작한다.

Tokenizer & Embedding

토크나이저(tokenizer)는 Passage Retrieval에서 텍스트를 처리하고 분석하기 위한 중요한 역할을 한다. 토크나이저는 텍스트를 작은 단위, 즉 토큰(token)으로 분할하여 딥러닝 모델이 처리할 수 있도록 한다. 토큰은 일반적으로 단어, 하위 단어, 또는 문자 수준으로 나뉠 수 있으며, 이를 통해 모델은 텍스트의 구조를 보다 잘 이해할 수 있게 된다. 토크나이저의 품질과 선택은 검색 성능에 큰 영향을 미친다. 예를 들어, 잘못된 토크나이저를 사용할 경우 의미 있는 단어들이 부적절하게 분할되어 문맥을 이해하는 데 어려움을 초래할 수 있다. 반면에, 문맥을 잘 유지하는 고품질의 토크나이저를 사용하면 질문과 관련 있는 패시지를 더 정확하게 찾을 수 있다.

예를 들어, '코로나19 백신'이라는 문구를 토크나이징할 때, 단어 수준의 토크나이저는 '코로나19'와 '백신'을 두 개의 개별 토큰으로 분할할 수 있다. 하지만 만약 '코로나'와 '19'를 따로 분할하면 의미가 왜곡될 가능성이 있다. 이러한 이유로 적절한 토크나이저의 선택이 Passage Retrieval의 성능에 큰 영향을 미친다.

토크나이징이 끝난 후에는 임베딩(embedding) 과정이 이어진다. 임베딩은 텍스트 데이터를 벡터 형태로 변환하여 기계 학습 모델이 이해할 수 있도록 하는 과정이다. 이 임베딩 과정은 기계 학습 모델이 텍스트의 의미와 구조를 수학적으로 표현된 벡터 형태로 이해할 수 있게 해준다. 이렇게 변환된 벡터들은 텍스트 간의 유사도를 계산하거나, 문맥을 파악하는 데 유용하게 사용된다.

임베딩에는 크게 Sparse 임베딩Dense 임베딩 방식이 있다. Sparse 임베딩은 전통적으로 TF-IDFBM25와 같이 단어의 빈도를 기반으로 하여 고차원 희소 벡터로 표현하는 방식이다. 이러한 방식은 단어의 출현 여부를 중점적으로 다루지만 문맥을 충분히 반영하지는 못한다. 반면에, Dense 임베딩은 딥러닝 기반의 임베딩 기법으로, BERT와 같은 모델을 통해 단어의 문맥적 의미를 저차원 밀집 벡터로 표현한다. Dense 임베딩은 단어 간의 유사도를 더 잘 반영하고 문맥을 이해할 수 있어, 특히 복잡한 질문에 대한 답변을 찾는 데 효과적이다.

  1. Sparse Embedding - TF-IDF(Term Frequency-Inverse Document Frequency), BM25와 같은 단어 빈도를 기반으로 한 통계적 임베딩 방식이다. 이 방식은 단어의 출현 빈도를 중심으로 텍스트를 고차원 희소 벡터로 표현하며, 단어 간의 문맥적인 연관성보다는 단순히 출현 빈도에 기반해 관련성을 평가하는 데 주로 사용된다.
  2. Dense Embedding - BERT, USE (Universal Sentence Encoder)와 같은 딥러닝 모델을 활용하여 문맥을 이해하고 밀집 벡터로 표현하는 방식이다.

최근에는 Passage Retrieval이 QA 시스템, 특히 오픈 도메인 QA에서 핵심적인 역할을 하고 있다. 이는 대규모 데이터세트에서 관련 정보를 신속하게 좁혀서 찾을 수 있기 때문이다. 이 시스템들은 질문에 답하기 위해 인터넷의 수많은 문서에서 정보를 찾아야 하는데, 패시지 검색을 통해 방대한 데이터 속에서 필요한 정보를 신속하고 정확하게 찾을 수 있다. 오픈 도메인 QA에서는 다양한 주제에 대한 질문이 들어오며, 이를 위해서는 매우 광범위한 데이터베이스에서 효율적으로 패시지를 추출하는 것이 중요하다. Passage Retrieval은 이러한 상황에서 질문의 맥락을 파악하고, 가장 관련성 높은 정보를 제공함으로써 사용자 경험을 크게 개선시킨다.

Passage Retrieval with MRC

Open-domain Question Answering에서는 대규모 문서 중에서 질문에 대한 답을 찾기 위해 Passage Retrieval과 MRC(Machine Reading Comprehension)를 결합한 2-Stage 접근법을 사용한다. 먼저 Passage Retrieval을 통해 관련 있는 패시지를 찾아내고, 그 후 MRC를 사용하여 해당 패시지에서 질문에 대한 구체적인 답변을 추출한다. 최근에는 RAG(Retrieval-Augmented Generation) 기법을 통해 이를 더욱 발전시켰다. RAG는 검색된 정보를 바탕으로 생성 모델이 자연스러운 답변을 만들어내도록 하여 더욱 효과적인 결과를 도출한다.

RAG는 Passage Retrieval과 생성 모델을 결합한 기법으로, 검색된 패시지를 바탕으로 답변을 생성하는 방식이다. 이 기법은 질문에 대한 맥락을 이해하고, 검색된 패시지에서 추출된 정보를 바탕으로 자연스러운 답변을 생성하는 데 매우 유용하다. RAG는 먼저 Passage Retrieval을 통해 관련 패시지를 찾고, 이후 생성 모델(GPT-3나 BERT와 같은)을 사용하여 답변을 만들어낸다. 이러한 접근 방식은 특히 정확한 정보가 필요할 때, 검색된 패시지를 바탕으로 구체적이고 신뢰할 수 있는 답변을 생성할 수 있다는 점에서 강력하다.

이러한 기술은 검색 엔진뿐만 아니라 고객 서비스, 교육, 의료 분야에서도 적용 가능하며, 사람들에게 필요한 정보를 더욱 빠르고 정확하게 전달할 수 있도록 돕는다.

profile
생각, 기술, 회고 등 다양한 분야를 기록합니다.

0개의 댓글