KR-20260060818-A - A system and method for providing a personalized search service based on Retrieval-Augmented Generation(RAG)
Abstract
본 발명은 개인화된 검색 서비스 제공 시스템 및 방법에 관한 것으로, 사용자로부터 검색 요청을 수신하고, 사용자의 현재 검색어 및 이전 검색기록을 확인하여, 현재 검색어 및 이전 검색 기록으로부터 파악된 미리 정해진 개수의 관련 검색어들에 기반한 검색 결과로서 해당 문서 및 AI 시스템에 의해 상기 문서로부터 생성된 매칭 요약 정보를 수신하여 사용자에게 제공할 수 있다. 본 발명에 따르면, 사용자 검색 기록에 기반하여 높은 연관성의 문서 및 해당 요약 정보를 목록으로 함께 제공하여, 사용자의 정보 탐색 시간을 단축시킬 수 있다.
Inventors
- 우민혁
- 이원희
- 임영민
Assignees
- 스페이스뱅크 주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241025
Claims (19)
- 검색 서비스 제공 시스템으로서, 현재 검색어 및 이전 검색 기록을 기초로 해당 문서 및 AI 시스템에 의해 상기 문서로부터 생성된 매칭 요약 정보를 검색하여 전달하는 검색 엔진 솔루션; 및 사용자로부터 검색 요청을 수신하여, 상기 검색 엔진 솔루션에 현재 검색어 및 이전 검색 기록에 기반하여 검색 결과를 요청하며, 상기 검색 엔진 솔루션으로부터 전달받은 검색 결과로서 해당 문서 및 매칭 요약 정보를 사용자에게 제공하는 서비스 플랫폼;을 포함하는, 시스템.
- 제1항에 있어서, 상기 서비스 플랫폼은, 사용자가 검색어를 입력하고 검색 결과를 수신하는 인터페이스를 제공하는 웹서버; 사용자의 검색 기록을 저장하는 웹서버 DB; 및 상기 웹서버로부터 사용자의 현재 검색어에 따른 검색 요청을 수신하고, 상기 웹서버 DB로부터 사용자의 검색 기록을 조회하고 미리 정해진 개수의 관련 검색어들을 확인하여, 상기 현재 검색어 및 상기 관련 검색어들 기반으로 검색 결과를 요청하는 애플리케이션 서버; 를 포함하는, 시스템.
- 제2항에 있어서, 상기 애플리케이션 서버는, 사용자 검색 요청을 수신하고, 상기 웹서버 DB로부터 사용자 검색 기록을 확인하여, 현재 검색어 및 현재 검색어와의 벡터간 유사도 측정을 통해 파악되는 관련 있는 미리 정해진 개수의 이전 검색어 기반으로 상기 검색 엔진 솔루션에 해당 문서 및 매칭 요약 정보 검색을 요청하는 검색 요청 모듈; 및 상기 검색 엔진 솔루션으로부터 해당되는 문서 및 매칭 요약 정보를 수신하고 사용자에게 제공하는 결과 처리 모듈;을 포함하는, 시스템.
- 제3항에 있어서, 상기 검색 요청 모듈은, 상기 검색 엔진 솔루션에 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 요약 정보를 요청하는, 시스템.
- 제4항에 있어서, 상기 검색 요청 모듈은, 현재 검색어 및 미리 정해진 개수의 관련 검색어에 기초한 문서 검색을 요청하여, 상기 결과 처리 모듈이 상기 검색 엔진 솔루션으로부터 현재 검색어 및 관련 검색어들이 포함된 정도에 기초한 평가 순위에 따르는 목록으로 검색 결과 문서를 제공받도록 하는, 시스템.
- 제4항 또는 제5항에 있어서, 상기 애플리케이션 서버는, 검색 결과에 해당하는 문서에 매칭되는 요약 정보 개수가 0인 경우, 상기 AI 시스템에 상기 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 요약 정보 생성을 요청하는 AI 요청 모듈;을 더 포함하여, 상기 결과 처리 모듈이 상기 AI 시스템으로부터 새롭게 생성된 요약 정보를 수신하고, 검색 결과 문서에 새롭게 생성된 요약정보를 조합하여 반환할 수 있게 하는, 시스템.
- 제6항에 있어서, 상기 AI 요청 모듈은, 상기 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 미리 정해진 프롬프트 템플릿을 적용하여, 상기 검색 결과 문서에 대한 정해진 분량의 요약 정보 생성을 요청하는, 시스템.
- 제7항에 있어서, 상기 애플리케이션 서버는, 문서 요약 정보에 대한 조회수를 관리하여, 상기 웹서버 DB에 검색 결과 문서에 매칭 요약 정보로 제공되는 요약 정보들에 대한 조회수 증가 기록을 실행하는 조회수 처리 모듈;을 더 포함하는, 시스템.
- 제8항에 있어서, 상기 결과 처리 모듈은, 상기 웹서버 DB에, 사용자 검색 기록 및 각 검색어에 대한 벡터 변환값을 저장하는, 시스템.
- 제8항에 있어서, 상기 검색 엔진 솔루션에 대해 새 문서에 대한 색인을 요청하고, 상기 AI 시스템에 대해 새 문서에 대한 요약 정보 생성을 요청하여, 상기 검색 엔진 솔루션에 생성된 요약 정보에 대한 색인을 요청하는 관리 서버;를 더 포함하는, 시스템.
- 제10항에 있어서, 상기 관리 서버는, 상기 웹서버 DB로부터 활용빈도가 기준 횟수 또는 기준 순위 이하인 요약정보를 확인하여, 상기 검색 엔진 솔루션에 해당 요약 정보에 대한 삭제 요청을 전송하는, 시스템.
- 제6항에 있어서, 상기 검색 엔진 솔루션은 API 서버를 포함하여, 상기 API 서버는, 전달받은 현재 검색어 및 미리 정해진 개수의 관련 검색어를 기초로, 문서 인덱스 및 요약 인덱스로부터 해당 문서 및 매칭 요약 정보를 검색하여 결과를 전달하고, 검색결과 해당 문서에 대해 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 요약 정보 개수가 0인 경우, 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하여 상기 AI 시스템에 의해 새롭게 생성된 요약 정보를 전달받아 요약 인덱스에 추가하는, 시스템.
- 시스템의 검색 서비스 제공 방법으로서, a)사용자로부터 검색 요청을 수신하는 단계; b)사용자의 현재 검색어 및 이전 검색기록을 확인하는 단계; 및 c)현재 검색어 및 이전 검색 기록으로부터 파악된 미리 정해진 개수의 관련 검색어들에 기반한 검색 결과로서 해당 문서 및 AI 시스템에 의해 상기 문서로부터 생성된 매칭 요약 정보를 수신하여 사용자에게 제공하는 단계;를 포함하는, 방법.
- 제13항에 있어서, 상기 c)단계는, c-1)현재 검색어 및 현재 검색어와의 벡터 유사도 측정을 통해 미리 정해진 개수의 관련 검색어들을 파악하는 단계; 및 c-2)상기 현재 검색어 및 미리 정해진 개수의 관련 검색어들을 기초로 검색 결과 해당 문서 및 매칭 요약 정보를 수신하여, 사용자에게 제공하는 단계;를 포함하는, 방법.
- 제14항에 있어서, 상기 c-2)단계는, 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 매칭 요약 정보를 요청하여 결과를 수신하는 단계;를 포함하는 방법.
- 제15항에 있어서, 상기 c-2) 단계는, 현재 검색어 및 미리 정해진 개수의 관련 검색어에 기초한 문서 검색을 요청하여, 현재 검색어 및 관련 검색어들이 포함된 정도에 기초한 평가 순위에 따르는 목록으로 검색 결과 문서를 수신하는 단계;를 더 포함하는, 방법.
- 제15항 또는 제16항에 있어서, 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 매칭 요약 정보 개수가 0인 경우, c-3) 상기 AI 시스템에 상기 현재 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 요약 정보 생성을 요청하는 단계; 및 c-4) 상기 AI 시스템으로부터 새롭게 생성된 요약 정보를 수신하고, 검색 결과 문서에 새롭게 생성된 요약 정보를 조합하여 사용자에게 제공하는 단계;를 더 포함하는, 방법.
- 제17항에 있어서, 상기 c-3)단계는, 상기 검색어 및 미리 정해진 개수의 관련 검색어를 모두 포함하는 미리 정해진 프롬프트 템플릿을 적용하여, 상기 검색 결과 문서에 대한 정해진 분량의 요약 정보 생성을 요청하는 단계인, 방법.
- 제18항에 있어서, d) 검색 결과 문서에 매칭 요약 정보로 제공되는 요약 정보들에 대한 조회수 증가 기록을 실행하는 단계;및 e) 상기 조회수를 기초로 활용빈도가 기준 횟수 또는 기준 순위 이하인 요약 정보에 대해 삭제 처리를 실행하는 단계;를 더 포함하는, 방법.
Description
RAG 기반 개인화된 검색 서비스 제공 시스템 및 방법{A system and method for providing a personalized search service based on Retrieval-Augmented Generation(RAG)} 본 발명은 RAG 기반 개인화된 검색 서비스 제공 시스템 및 방법에 관한 것으로, 사용자 개인의 검색 기록에 기반하여, 정확도와 효율성이 향상된 검색 서비스를 제공하는 기술에 관한 것이다. 전통적 검색 서비스는 인터넷에서 사용자가 원하는 정보를 검색할 수 있도록 하는 기술로서 일반적으로 웹서비스 형태로 제공되고 있으며, 사용자들의 검색어와 일치하는 문서나 웹페이지를 검색하고 검색 결과를 순위화하여 제공하고 있다. 현재 대부분의 검색 엔진은 빈도수 기반 알고리즘에 근거하여 검색 결과를 제시하는데, 이때 문서의 일부만을 발췌하여 인용하며 제시하기 때문에 문서 전체의 맥락과 내용을 충분히 전달할 수 없다. 따라서, 사용자는 적합한 문서나 웹페이지를 찾기 위한 정보 탐색에 많은 시간을 소비해야만 경우가 발생할 수 있다. 또, 현재의 검색 엔진은 사용자가 입력한 시점의 검색어의 특정 키워드에만 집중하여 문서나 웹페이지를 검색하므로, 사용자의 검색 목적과 검색어의 맥락에 일치하지 않는 검색 결과가 제공될 수 있다. 그리고 현재의 검색 엔진은 문서내 키워드 빈도, 외부 링크수, 웹페이지 인기순위 등에 근거하여 검색 결과를 제시하므로, 사용자 개인의 검색 목적과 맥락에 부합한 효율적 정보 제공이 어려웠다. 한편, 생성형 AI를 이용한 정보 검색의 경우, AI 할루시네이션이 발생할 수 있다. 할루시네이션은 잘못된 정보를 사실처럼 전달하는 현상으로 검색 결과의 정확성을 떨어뜨릴 수 있다. 최근에는 고품질 학습 데이터와 모델 개선, 프롬프트 프로그래밍을 통해 개선하고 있으나 잘못된 정보를 생성할 가능성은 여전히 존재한다. 또 생성형 AI의 경우, 사용자 질의에 대한 답변을 직접적으로 생성하여 제공하는데, 사용자는 AI가 생성한 최종 결과만을 확인할 수 있어서, 사용자가 직접 최종 결과에 대한 정확성 여부를 판단하고 자료를 취사선택하는데 있어서 한계가 있었다. 도 1은 본 발명의 일면에 따른 개인화된 검색 서비스 제공 시스템을 포함한 전체 구성도이다. 도 2는 본 발명의 일면에 따른 애플리케이션 서버의 상세 구성도이다. 도 3은 본 발명의 일면에 따른 관기 서버의 상세 구성도이다. 도 4는 본 발명의 일면에 따라 검색어 및 검색 기록 기반으로 검색 결과를 반환할 때, 해당 요약 데이터가 있는 경우 요약 정보와 함께 검색 결과 목록을 제공하는 전체 흐름도이다. 도 5는 본 발명의 일면에 따라 검색어 및 검색 기록 기반으로 검색 결과를 반환할 때, 해당 요약 데이터가 없는 경우 요약 데이터를 새롭게 생성하여 검색 결과 목록을 제공하는 전체 흐름도이다. 도 6은 및 도 7은 검색 결과 문서에 대한 요약 정보 생성시 프롬프트 엔지니어링을 적용하지 않은 경우와 적용한 경우를 예시적으로 각각 설명한다. 도 8은 관리자에 의해 새로운 문서 및 요약 인덱스를 생성하는 전체 흐름도이다. 도 9는 활용빈도가 기준 횟수 이하인 요약 정보에 대한 제거를 실행하는 전체 흐름도이다. 도 10은 예시적으로, 기존의 검색 포털에서 ‘디지털 플랫폼 정부’를 검색했을 때 검색 결과를 나타내는 화면이다. 도 11은 예시적으로, 기존의 생성형 AI를 통해 ‘디지털 플랫폼 정부의 기본 원칙’을 질의한 결과를 나타태는 화면이다. 도 12는 본 발명의 일면에 따른 ‘디지털 플랫폼 정부’에 대한 검색 결과 예시 화면이다. 아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다. 본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다. 본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다. 본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다. 우선, 도 1에 도시된 바와 같이, 개인화된 검색 서비스 제공 시스템(1)은, 서비스 플랫폼(10) 및 검색 엔진 솔루션(20)을 포함하고, 외부의 AI 시스템(30)을 활용하여, 사용자 검색 요청에 따라, 사용자 검색 기록에 기반하여 검색 목적 또는 의도에 부합하는 개인화된 검색 결과를 제공할 수 있다. 이 때 실시예에 따라서는, 개인화된 검색 서비스 제공 시스템(1)은 서비스 플랫폼(10), 검색 엔진 솔루션(20) 및 내부의 AI 시스템(30)을 포함할 수도 있다. 구체적으로, 서비스 플랫폼(10)은 웹서버(101), 애플리케이션 서버(103), 웹서버 DB(105) 및 관리서버(107)를 포함하여, 사용자 및 관리자에게 인터페이스를 제공하고, 검색 요청을 수신하고 요청에 따른 검색 결과를 반환할 수 있다. 보다 구체적으로, 웹서버(101)는 사용자가 시스템(1)에 접속하여 검색어를 입력하고 검색 결과를 수신하는 인터페이스를 제공할 수 있으며, 검색 결과를 웹페이지로 제공할 수 있다. 애플리케이션 서버(103)는 웹서버(101)로부터 사용자의 검색 요청을 수신하고, 사용자의 검색 기록을 확인하여, 검색어 및 검색기록 기반으로 검색 엔진 솔루션(20)에 대해 검색 결과를 요청할 수 있다. 애플리케이션 서버(103)는 검색 엔진 솔루션(20)으로부터 검색 결과에 해당하는 문서 및 요약 정보를 수신하고, 해당 요약 정보에 대한 조회수를 증가시킬 수 있다. 애플리케이션 서버(103)에 대한 구체적 내용은 이후 도 2를 참조하여 더욱 상세하게 설명한다. 웹서버 DB(105)는 서비스 DB(1051)를 포함하여, 사용자가 검색 서비스를 이용하면서 사용한 검색어들에 대한 기록을 저장할 수 있고, 사용자에게 제공된 문서 요약 정보에 대한 조회수를 기록할 수 있다. 또, 웹서버 DB(105)는 이전 검색어들에 대한 벡터 DB(1053)를 포함하여, 애플리케이션 서버(103)가 사용자의 검색 기록에서 현재 검색어와 과거 검색어들 간의 유사도 측정 시 벡터 유사도를 측정할 수 있게 한다. 관리 서버(107)는 서비스 플랫폼(10)에서 제공하는 검색 서비스 대상이 되는 새 문서 데이터를 업로드하고, 검색 엔진 솔루션(20)에 대해 문서 색인을 요청하며, AI 시스템(30)에 대해 문서 요약을 요청할 수 있다. 또, 관리 서버(107)는 문서 요약 정보들의 조회수를 확인하고, 기준 횟수 또는 소정 순위 이하로 사용되는 요약 정보들에 대해 삭제처리를 실행할 수 있다. 관리 서버(107)에 대한 구체적 내용도 이후 도 3을 참조하여 더욱 구체적으로 설명한다. 검색 엔진 솔루션(20)은 API 서버(201) 및 인덱스 DB(203)를 포함하여, 서비스 플랫폼(10)으로부터 전달받은 검색 요청 및 색인 요청을 처리할 수 있고, 인덱스 DB(203)로부터 관련 문서 및 요약 정보를 검색하여 반환할 수 있다. 우선 인덱스 DB(203)는 문서 인덱스(2031) 및 각 문서에 대한 요약 인덱스(2033)를 포함하여, 검색 대상 문서 정보 및 요약 정보를 포함할 수 있다. 문서 인덱스는 실제 검색 결과에 해당하는 문서들을 보관한 인덱스이며, 요약 인덱스는 각 문서에 대한 요약 정보를 보관한 인덱스로서, 문서와 요약 정보 간의 관계는 일대다 관계이며, 하나의 문서에 대해 여러 버전의 요약 정보가 존재할 수 있다. 다음, API 서버(201)는, 애플리케이션 서버(130)로부터 검색 요청을 수신할 수 있는데, 사용자가 입력한 검색어 및 검색 기록 기반의 검색 요청을 수신할 수 있다. 그리고, API 서버(201)는 인덱스 DB(203)로부터 매칭되는 문서 및 요약 정보를 찾아서 반환할 수 있다. 구체적으로, API 서버(201)는 애플리케이션 서버(130)로부터 사용자 입력 검색어 및 현재 검색어와 관련성이 있는 사용자의 이전 검색어들, 즉 관련 검색어를 최신순으로 N개 전달받을 수 있다. 우선, API 서버(201)는 현재 검색어