KR-20260060520-A - A SYSTEM FOR PROVIDING DOCUMENT-BASED CHATBOT SEVICE
Abstract
본 발명은 문서 기반 챗봇 서비스 시스템에 관한 것으로서, 문서의 입력만으로 챗봇을 생성하고, 챗봇 문서에 대해 테질의 입력시 상기 챗봇 문서와 텍스트 유사도를 비교하여 최상위 유사도의 청킹 텍스트를 프롬프트화시켜 생성형 AI모델로 전송하여 답변을 요청하고, 생성형 AI모델로부터 수신되는 답변을 구조화된 응답으로 생성하여 제공하도록 하는 챗봇 서비스 시스템을 제공한다.
Inventors
- 김양지
- 채문석
- 심진보
- 허정인
Assignees
- 인포뱅크 주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241024
Claims (17)
- 챗봇 서비스 시스템에 있어서, 문서를 입력받아 챗봇을 생성하는 챗봇 생성 모듈과; 생성된 챗봇의 관리 및 채팅 관리를 위한 챗봇 관리모듈과; 챗봇 사용자의 질의를 입력받아 상기 챗봇의 문서에서 텍스트 유사도를 검출하는 질의 처리 모듈과; 상기 질의 처리 모듈의 질의 및 유사도 검출에 의해 추출된 질의에 대응되는 텍스트 프롬프트를 입력받아 답변을 생성하는 생성형 AI모델과; 상기 생성형 AI모델로부터 답변을 입력받아 채팅 응답 포맷으로 생성하여 챗봇채팅의 응답으로 출력하는 응답 처리 모듈; 을 포함하는 챗봇 서비스 시스템.
- 제 1 항에 있어서, 상기 챗봇 생성 모듈은, 챗봇 응답의 기반이 되는 문서를 업로딩시켜 입력받는 문서 입력부; 상기 문서 입력부를 통해 문서를 입력받아 텍스트/이미지를 추출하고, 이미지 OCR 및 이미지 링크화 처리를 하는 전처리부; 상기 전처리부에서 추출된 텍스트에 대해 자연어 처리(NLP)에서 문장을 일정한 의미 단위로 나누는 텍스트 청킹(text chunking)을 처리하는 텍스트 청킹부; 상기 텍스트 청킹부에서 청킹된 단위로 텍스트 벡터 임베딩 처리를 수행하는 텍스트 벡터 임베딩부; 상기 텍스트 벡터 임베딩부에서 처리된 벡터 임베딩 데이터와, 원본 문서 데이터와, 텍스트 데이터와, 이미지 데이터 및 이미지 링크 데이터를 DB화 하여 챗봇 문서로 저장하는 챗봇 데이터 베이스; 및 상기 챗봇 데이터 베이스에 저장되는 챗봇 문서에 대해 챗봇 URL을 생성하는 챗봇 URL 생성부;를 포함하는 챗봇 서비스 시스템.
- 제 1 항에 있어서, 상기 챗봇 생성 모듈은, 챗봇 소스로서 '문서'를 선택하면 문서를 업로드시켜 상기 문서 입력부로 입력하고, 챗봇소스로서 '웹페이지'를 선택하면 웹링크를 입력받아 웹크롤링을 통해 웹문서를 추출하여 상기 문서 입력부로 입력하는 챗봇 소스 선택부를 더 포함하는 챗봇 서비스 시스템.
- 제 3 항에 있어서, 상기 챗봇 소스 선택부는, 챗봇소스로서 'FAQ'를 선택하면 Q&A 작성 모드를 제공하고, Q&A작성이 완료되면 상기 문서 입력부에 입력하여 FAQ 챗봇을 생성하게 하는 'FAQ소스 선택이 더 포함되는 챗봇서비스 시스템.
- 제 1 항에 있어서, 상기 챗봇 생성 모듈은, 복수의 챗봇 리스트중 적어도 둘 이상을 선택하여 멀티 소스 챗봇으로 병합하여 챗봇을 생성하는 것을 더 포함하는 챗봇서비스 시스템.
- 제 2 항에 있어서, 상기 챗봇 생성모듈은, 문서파일의 포맷별로 설정된 청킹 설정 정보에 의거하여 청킹 처리부의 청킹을 제어하는 청킹 설정부; 를 더 포함하는 챗봇서비스 시스템.
- 제 6 항에 있어서, 상기 청킹 설정부는, 청킹 영역을 수동으로 수정/편집하는 청킹 수동 설정기능을 더 포함하는 챗봇서비스 시스템.
- 제 1 항에 있어서, 상기 챗봇 관리모듈은, 상기 챗봇 데이터 베이스에 저장된 챗봇 문서의 수정/편집 인터페이스를 제공하고, 수정/편집된 챗봇 문서로 챗봇을 생성하여 버전업 처리하는 문서 수정/편집부를 더 포함하는 챗봇서비스 시스템.
- 제 1 항에 있어서, 상기 응답 처리모듈은, 생성형 AI모델에서 회신된 답변 내용을 대화형 응답의 형식의 응답으로 생성하여 제공하되, 상기 응답에는 해당 질의에 대응된 유사도에 따라 답변 출처로 참조된 원본 문서의 페이지 정보를 삽입하여 제공하는 챗봇서비스 시스템.
- 제 1 항에 있어서, 상기 챗봇 관리모듈은, 플로팅 챗봇 문구나 이미지를 포함하는 고객이 원하는 형태의 챗팅창 및 홈페이지에 적용 가능 하도록 플로팅 챗봇을 커스터 마이징하는 플로팅 챗봇 커스터마이징부; 를 더 포함하는 챗봇서비스 시스템.
- 제 1 항에 있어서, 상기 질의 처리모듈은, 사용자의 채팅창으로부터 질문을 입력받아 질문 텍스트 임베딩 처리를 하는 질문 텍스트 임베딩 처리부; 상기 질문의 텍스트 벡터 임베딩 데이터와 상기 챗봇 데이터 베이스의 해당 챗봇 문서의 텍스트 벡터 임베딩 데이터의 유사도를 비교하여 유사도가 높은 청킹 데이터를 추출하는 유사도 추출부; 및 상기 유사도에 따라 추출된 청킹 데이터를 프롬프트 문장으로 구조화하는 프롬프트화 처리부;를 포함하는 챗봇서비스 시스템.
- 제 11 항에 있어서, 상기 유사도 추출부는, 유사도가 미리 설정된 유사도 미만인 경우, 상기 응답 처리 모듈로 유사도 추출 실패 정보를 전송하고, 상기 응답 처리모듈은, 질의에 대한 응답불가 및 질의를 다시 요청하는 응답을 생성하여 출력하는 챗봇서비스 시스템.
- 제 11 항에 있어서, 상기 응답 처리 모듈은, 상기 프롬프트화 처리부에서 처리된 프롬프트와 질의를 함께 상기 생성형 AI모델로 전송하여 답변을 요청하고, 해당 생성형 AI 모델로부터 대응되는 답변을 회신받는 LLM질의부; 및 상기 LLM 질의부를 통하여 수신된 상기 생성형 AI모델의 답변을 사전에 설정해둔 질의 응답 형태로 구조화하여 응답을 생성하여 출력하는 응답 생성부;를 포함하는 챗봇 서비스 시스템.
- 제 13 항에 있어서, 상기 LLM 질의부는, 상기 생성형 AI모델로부터 1차 답변 수신 후, 답변을 재요청하여 2차 답변을 수신받아 상기 응답 생성부로 전송하고, 상기 응답 생성부는, 상기 LLM 질의부로부터 1차 답변과 2차 답변을 수신하는 경우, 1차 답변과 2차 답변을 사용자에게 응답으로 생성하여 복수의 응답을 출력하는 챗봇 서비스 시스템.
- 제 13 항에 있어서, 상기 응답 생성부는, 생성형 AI모델에서 회신된 답변 내용을 대화형 응답의 형식의 응답으로 생성하여 제공하되, 상기 응답에는 해당 질의에 대응된 유사도에 따라 답변 출처로 참조된 원본 문서의 페이지 정보를 삽입하여 제공하는 챗봇 서비스 시스템.
- 제 13 항에 있어서, 상기 응답 처리모듈은, 상기 생성형 AI모델의 답변을 메인 응답으로 생성하여 출력함과 아울러, 상기 유사도 추출부에서 추출된 차상위 복수개의 청킹데이터를 차상위 응답으로 생성하여 복수의 응답을 출력하는 챗봇 서비스 시스템.
- 제 13 항에 있어서, 상기 질의 처리모듈은, 챗봇 별로 사용자의 권한을 나눠서 회사 기밀의 접근 제어 및 관리가 가능하도록 레거시 연동을 통한 사용자 권한을 관리하는 권한 체크부;를 더 포함하는 챗봇 서비스 시스템.
Description
문서 기반 챗봇 서비스 시스템{A SYSTEM FOR PROVIDING DOCUMENT-BASED CHATBOT SEVICE} 본 발명은 문서 기반 챗봇 서비스 시스템에 관한 것으로서, 더욱 상세하게는 문서 입력만으로 문서 기반 챗봇을 생성하고 질의에 대해 생성형 AI 모델을 통해 답변을 생성하여 응답할 수 있도록 한 문서 기반 챗봇 서비스 시스템에 관한 것이다. 일반적으로 챗봇은 24시간 응답 가능, 다양한 메시지 앱과의 연계로 친숙한 UI(User Interface)를 채널로 이용한다는 특징으로 인해 많은 기업들이 도입하여 고객 상담 창구를 확장한 형태로 많이 사용되고 있으며, 단순 문의 응대를 넘어서 다양한 종류의 업무를 대신하는 형태로 발전하고 있다. 이러한 고객 응대 챗봇 시스템은, 챗봇이 고객의 질문에 효과적으로 응답하기 위해서 적절한 훈련 데이터가 필요하고, 과거의 대화 데이터, FAQ, 제품 정보 등을 수집하고 정제한다. 선택한 플랫폼에서 제공하는 NLP 모델을 사용하거나, 필요에 따라 직접 학습한 모델을 적용하여 고객의 의도를 이해하는 능력을 갖추어야 한다. 또한 고객과의 대화 흐름을 설계해야 하는데, 예를 들어, 사용자의 질문에 대한 기본적인 응답, 추가 정보 요청, 특정 작업 수행 등에 대한 흐름을 구상해야 한다. 사용자의 의도를 파악하기 위해 인텐트와 관련된 엔터티를 정의하고, 이를 통해 사용자의 의도에 맞게 적절한 응답을 생성할 수 있다. 이와 같이 종래의 고객 응대 챗봇 시스템을 구축하기 위해서는, 필요한 데이터를 수집하여 훈련 데이터를 만들어야하고, 고객과의 대화 흐름을 시나리오 기반으로 설계하여 테스트 및 피드백을 수집하여 챗봇의 성능을 지속적으로 향상시키도록 해야한다. 도 1은 본 발명의 일 실시예에 따라 문서 기반 챗봇 서비스 시스템의 개념도. 도 2는 본 발명의 일실시예에 따른 챗봇 생성 및 관리 모듈의 기능 블록도. 도 3은 본 발명의 실시예에 의한 챗봇 질의 응답 처리 모듈의 구성을 보인 도면. 도 4는 본 발명에 의한 챗봇 생성 및 채팅 서비스를 설명하기 위한 개요도. 도 5는 본 발명에 의한 챗봇 생성을 설명하기 위한 흐름도. 도 6은 본 발명에 의한 챗봇 채팅 서비스를 설명하기 위한 흐름도. 도 7은 본 발명에 의한 문서 기반 챗봇 시스템의 메인 화면 예시도. 도 8은 본 발명에 의한 문서 업로드에 의한 새로운 챗봇 생성을 설명하기 위한 도면. 도 9는 본 발명의 실시예에 의한 챗봇을 이용한 채팅 기능 설명도. 도 10은 본 발명의 일 실시예에 의거한 챗봇 관리 기능의 예시도. 도 11은 본 발명의 실시예에 의한 챗봇의 답변 출처를 포함하여 출처를 보여주는 예시도. 도 12는 본 발명의 실시예의 의한 챗봇을 이용한 채팅 주요기능 예시도. 아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다. 또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다. 또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다. 또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다. 또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다. 도 1은 본 발명의 일 실시예에 따라 문서 기반 챗봇 서비스 시스템의 개념도이다. 본 발명의 문서 기반 챗봇 서비스 시스템은, 챗봇 생성 및 질의 응답 처리를 수행하는 문서 기반 챗봇 서비스 서버(10)와, 상기 문서 기반 챗봇 서비스 서버(10)와 네트워크로 연결되어 챗봇 생성과, 챗봇관리 상담관리 및 Q&A 작성등을 처리하는 관리자 단말 또는 상담사 단말(20)과, 문서 기반 챗봇에 접속하여 질의 및 응답을 받는 챗봇사용자 단말(30) 및 상기 문서 기반 챗봇 서비스 서버(10)의 LLM질의를 입력받아 응답을 생성하여 제공하는 생성형 AI모델(600)을 포함하여 구성된다. 상기 문서 기반 챗봇 서버(10)는 문서를 입력받아 텍스트 벡터 임베딩 처리를 수행하여 챗봇 데이터 베이스(300)에 저장하고, 해당 문서의 챗봇 URL을 생성하고, 질의 응답을 위한 LLM모델로서 생성형 AI모델을 연동시킨 챗봇 API를 생성하여 챗봇을 배포하는 챗봇 생성 모듈(100)과; 상기 챗봇 생성모듈(100)에 의해 생성된 챗봇 리스트를 관리하고, 챗봇 문서의 편집/수정 기능을 제공하여 해당 챗봇의 버전업 관리를 수행함과 아울러 챗봇의 운영과 관리를 하는 챗봇 관리모듈(200)과; 상기 챗봇 생성모듈(100)에서 챗봇 원본 문서와 텍스트 링크화된 이미지 정보 및 벡터 데이터를 데이터 베이스화 하여 챗봇 정보와, 챗봇 관리정보 및 질의 응답 채팅정보와 사용자 관리 및 권한 체크 정보를 DB화하여 저장하고 관리하는 챗봇데이터 베이스(300)와; 사용자의 질의를 입력받아 텍스트 벡터 임베딩 처리를 수행하고, 질의에 대해 상기 챗봇 데이터 베이스(300)에 저장된 해당 챗봇 문서에서 유사도를 검출하고, 유사도에 의거하여 대응된 문서 내용을 프롬프트화 하는 질의 처리모듈(400)과; 방대한 양의 데이터를 사전 학습하여 자연어 처리 기술을 바탕으로 인간이 이해할 수 있는 텍스트를 생성할 수 있고, 텍스트를 기반으로 이미지를 생성하거나, 주어진 데이터를 바탕으로 새로운 비디오를 생성할 수 있도록 이루어져, 챗봇채팅에 따른 질의 및 질의에 대응된 프롬프트 데이터를 입력받아 답변 데이터를 출력시키는 생성형 AI모델(600)과; 상기 질의 처리모듈(400)에서 추출된 질의에 대응된 프롬프트와, 해당 질의를 상기 생성형 AI모델(600)로 입력하고, 해당 생성형 AI 모델(600)로부터 상기 질의에 대응된 프롬프트에 기반한 답변을 회신받고, 회신받은 답변을 사용자에게 제공하기 위한 응답 포맷으로 생성하여 사용자에게 질의에 대응된 응답을 제공하는 응답 처리모듈(500);을 포함한다. 도 2는 본 발명의 일실시예에 따른 챗봇 생성 및 관리 모듈의 기능 블록도이다. 상기 챗봇 생성모듈(100)은, 챗봇을 생성하기 위한 문서, 웹페이지, Q&A, 멀티 소스 챗봇중 적어도 어느 하나를 선택하는 챗봇 소스 선택부(110)와; 상기 챗봇 소스 선택부(110)의 소스 선택에 따라 문서 업로드, 웹페이지 링크 입력에 따른 웹페이지 추출, Q&A 작성에 의한 FAQ 파일작성을 실행하여 문서를 입력받는 문서 입력부(120)와; 상기 문서 입력부(120)를 통해 입력된 문서의 텍스트/이미지를 추출하고, 이미지 OCR 및 이미지 링크화를 처리하는 전처리부(130)와; 상기 전처리부(130)에서 추출된 텍스트에 대해 자연어 처리(NLP)에서 문장을 일정한 의미 단위로 나누는 텍스트 청킹(text chunking)을 처리하는 텍스트 청킹부(140)와; 상기 텍스트 청킹부(140)에서 청킹된 단위로 텍스트 벡터 임베딩 처리를 수행하여 챗봇 데이터 베이스(300)에 저장하는 텍스트 벡터 임베딩부(150)와; 상기 챗봇 데이터 베이스(300)에 저장되는 챗봇 문서에 대해 챗봇 URL을 생성하여 챗봇 데이터 베이스(300)에 저장하여 관리하는 챗봇 URL 생성부(160)와; 외부 애플리케이션이나 시스템에서 챗봇과 상호작용할 수 있도록 챗봇의 기능을 다양한 플랫폼이나 애플리케이션에 통합하여 사용자가 자연어로 대화하면서 요청을 처리할 수 있도록 챗봇 API를 생성하되, 질의 응답을 위한 LLM모델로서 생성형 AI모델을 연동시킨 챗봇 API를 생성하는 챗봇 API 생성부(170);를 포함한다. 상기 문서 입력부(120)는, 문서의 업로딩, 웹페이지의 웹크롤링, Q&A의 FAQ작성을 실행하여 문서와, 웹페이지와, FAQ파일을 챗봇을 만들기 위한 문서로서 입력받는다.(참조 도면 도 7) 챗봇소스 선택부(110)의 챗봇 소스 선택에 따라 '문서'를 선택하게되면, 문서를 드래그하여 입력하거나 문서 경로 탐색기능을 제공하여 문서를 업로드 할 수 있도록 하고, 업로드되는 문서를 뷰어창을 통해 출력하여 편집 또는 임시 저장 또는 챗봇 만들기 기능을 제공한다. 업로드된 문서를 뷰어창을 통해 체크하여 편집하거나 임시저장하여 챗봇을 만들기 위한 문서의 업로드를 완료한 후 챗봇 만들기를 선택하면 해당 문서 챗봇 만들기를 실행하게 된다. 또한, 챗봇 소스로서 '웹페이지'를 선택하면 웹페이지 링크 입력창을 제공하여 웹 크롤링을 실행하고, 웹크롤링에 의해 추출되는 웹페이지를 뷰어창에 출력하고, 웹페이지의 편집, 임시저장등을 거쳐 챗봇을 위한 웹페이지의 편집이 완료되면 챗봇 만들기를 실행하여 웹페이지 문서를 기반하는 챗봇 생성을 실행한다