검색증강생성과 대형언어모델 GPT-4 를 이용한 여행사 챗봇 개발
Developing a Travel Agent Chatbot using Retrieval-Augmented Generation and the Large Language Model GPT-4
- 주제어 (키워드) 검색증강생성 , 챗봇 , 대화형시스템 , 챗지피티 , 지피티4; RAG , Retrieval , Retrieval Augmented Generation , GPT4 , Chatbot , ChatGPT
- 발행기관 서강대학교 정보통신대학원
- 지도교수 구명완
- 발행년도 2024
- 학위수여년월 2024. 2
- 학위명 석사
- 학과 및 전공 정보통신대학원 데이터사이언스 · 인공지능
- 실제URI http://www.dcollection.net/handler/sogang/000000077137
- UCI I804:11029-000000077137
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권 보호를 받습니다.
초록
인공지능 기술 중 일상 가까이에 제공되는 기술 중 하나가 채팅 로봇, 챗봇이다. 챗봇이란 채팅창에 문자나 음성을 입력해서 대화를 통해 원하는 정보를 얻는 컴퓨터 프로그램을 말한다. 머신러닝 기술 중 지도학습 방식인 사전에 학습된 데이터를 기반으로 사용자 질의를 분류(Classification)해서 해당 질문에 정의된 답변을 내보는 원리이다. 이 같은 챗봇은 사용자에게 익숙하다. 고객센터 상담사 역할을 맡는 CS(Customer Service) 목적의 챗봇은 각 기업의 고객센터 역할을 하고 있다. 자주 묻는 질문과 답변에 대해 대부분 기업들이 챗봇 형태로 제공하기도 한다. OPEN AI에서 2022년 11월에 발표한 ChatGPT는 채팅 형태를 이용하지만, 대화 외에도 번역, 보고서 쓰기, 이야기 짓기 등 어떤 요청이나 대화에도 유려한 답변을 선보여 많은 사람들에게 놀라움을 주었다. ChatGPT의 파운데이션 모델인 GPT-4라는 거대 언어 모델 (LLM, Large language Model)은 자연언어처리 기술의 발전을 상용화한 사례이다. GPT-4를 활용하여 대화형 시스템을 제작하는 방식이 이전에 비해 더욱 쉬워졌다. 그 이유는 2018년 트랜스포머 모델[5] 등장으로 자연어처리 성능이 빠르게 발전하였고, 이를 기반으로 GPT-4의 자연어 처리 성능이 GPT 이전 모델과 비교해 월등히 향상되었다. GPT-4 이전 지도학습 챗봇 제작 방식은 사람이 서로 겹치지 않는 질문 의도를 분류한 인텐트(Intent)를 만들어 학습데이터에 라벨링을 하면서 출력 목푯값을 답변하도록 챗봇 모델을 트레이닝 시켰다. 트레이닝 결과 정답, 오답을 일괄 평가하기도 하지만 정확한 결과 산출을 하기 위해선 휴먼 평가도 필요했다. 새로운 질문과 답변을 추가하려면 먼저 트레이닝 시킨 내용과 겹치지 않게 신규 질문을 기획하고, 학습데이터를 제작하여 추가로 트레이닝 시키는 작업도 별도로 필요하였다. 이 방식과 다르게 대형언어모델인 GPT-4를 챗봇 모델로 활용하는 방법으로 Retrieval-Augmented Generation(RAG, 검색증생성)이 있다. 원하는 데이터를 언어모델에 컨텍스트로 제공하여 LLM 프롬프트에 보내서 최종 답변을 생성하는 방식이다. 이 논문에서는 RAG를 이용해 보유하고 있는 여행사 질문, 답변 데이터를 GPT-4 모델을 기반으로 답변을 하도록 설계하였다. 이 방식을 활용하면 GPT-4에 답변으로 출력되길 원하는 데이터를 전이학습(Fine- tuning)하지 않아도 된다. 별도의 트레이닝을 하지 않고 GPT-4를 학습시킨 듯한 답변을 얻을 수 있다. RAG 영역에서 답변 성능을 높이는 요인을 컨텍스트 수라는 가설을 바탕으로 실험을 진행하였고, GPT-4 영역에서 답변 성능을 높이는 요인을 프롬프트 엔지니어링 요인으로 가설을 세워, 서로 다른 프롬프트 명령어로 답변 성능을 실험하였다. 이와 같이 답변 성능을 높이는 가설 실험을 통해 지도학습보다 간소화된 RAG와 GPT-4로 제작한 챗봇 성능을 검증하였다.
more초록
One of the more familiar AI technologies is the chat robot, or chatbot. A chatbot is a computer program that gets the information it wants through a conversation by entering text or voice into a chat window. The principle is that it classifies user queries based on pre-trained data, which is a supervised learning method among machine learning technologies, and provides defined answers to those questions. Chatbots like this are familiar to users. These chatbots are familiar to users. Chatbots for CS (Customer Service) purposes, which act as customer service agents, serve as a customer center for companies. Many companies provide answers to frequently asked questions in the form of chatbots. ChatGPT, announced by OPEN AI in November 2022, uses a chat format, but it has surprised many people by providing fluent answers to any request or conversation, including translation, report writing, and storytelling. ChatGPT's foundation model, a large language model (LLM) called GPT-4, is a commercialization of advances in natural language processing technology. Utilizing GPT-4 makes it easier than ever to create conversational systems. This is because natural language processing performance has developed rapidly with the advent of the Transformer model, and based on this, GPT- 4's natural language processing performance has improved significantly compared to GPT's predecessor. Prior to GPT-4, supervised learning chatbots were built by individuals who created intents that classified non-overlapping question intentions, labeled the training data, and trained the chatbot model to answer the output goals. The training results were evaluated in batches for correct and incorrect answers, but human evaluation was also needed to ensure accurate results. To add new questions and answers, it was necessary to first plan new questions without overlapping with the trained ones, and then create training data and train them separately. Unlike this method, Retrieval-Augmented Generation (RAG) is a method that utilizes GPT-4, a large language model, as a chatbot model. It is a method that provides the desired data as a context to the language model and sends it to LLM prompts to generate the final answer. In this paper, I use RAG to answer travel agency question and answer data based on the GPT-4 model. By utilizing this method, I do not need to fine-tune the data that I want to output as answers to GPT-4. You can get answers that look like they were trained on GPT-4 without any additional training. I conducted experiments based on the hypothesis that the number of contexts is a factor that improves answer performance in the RAG domain, and I hypothesized that the prompt engineering factor is a factor that improves answer performance in the GPT-4 domain, and I tested answer performance with different prompt commands. Through these hypothesis tests, I verified the performance of chatbots built with RAG and GPT-4, which are simpler than supervised learning.
more목차
제 1 장 서론 1
제 2 장 관련 연구 3
제 1 절 지도학습 방식의 챗봇 3
제 2 절 Retrieval-Augmented Generation(RAG) 방식의 챗봇 4
제 3 절 GPT-4 프롬프트를 활용한 챗봇 6
제 4 절 GPT-4 프롬프트 엔지니어링(Prompt Engineering) 8
제 3 장 RAG와 대형언어모델 GPT-4를 이용한 여행사 챗봇 개발 방안 10
제 1 절 검색기법 중 RAG 구현 10
제 2 절 GPT-4 프롬프트 구현 12
제 3 절 여행사 챗봇 구현 14
제 4 장 실험 및 분석 17
제 1 절 데이터 구축 17
제 2 절 여행사 챗봇 구축 18
제 3 절 실험 결과와 분석 21
제 5 장 결론 및 향후 연구 28
참고문헌 30